diff --git a/BUILD.gn b/BUILD.gn
index 4e74a1d6..f73c0c6 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -952,6 +952,8 @@
         "//components/chromeos_camera:jpeg_encode_accelerator_unittest",
         "//media/gpu:video_decode_accelerator_perf_tests",
         "//media/gpu:video_decode_accelerator_tests",
+        "//media/gpu:video_encode_accelerator_perf_tests",
+        "//media/gpu:video_encode_accelerator_tests",
         "//media/gpu:video_encode_accelerator_unittest",
       ]
       if (use_vaapi) {
diff --git a/DEPS b/DEPS
index 213d0fb..d7ca7cfd 100644
--- a/DEPS
+++ b/DEPS
@@ -199,7 +199,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'v8_revision': 'a64aed2333abf49e494d2a5ce24bbd14fff19f60',
+  'v8_revision': 'f8fa384f4ea80f85f55f36d1bc70c14e1688266d',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling swarming_client
   # and whatever else without interference from each other.
@@ -207,15 +207,15 @@
   # 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': 'c060d8d65786a4cfee3e43b70476354f05987c7d',
+  'angle_revision': 'a2c33e3fa098a99044d80c3a2ed23674f7937ab4',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
-  'swiftshader_revision': 'cbfd396756c6530ee31268d88e5e742ba761fc57',
+  'swiftshader_revision': '44e1791f100c18aa8cbfc4fef18727f32f6b9eba',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
-  'pdfium_revision': 'bbb2038a3f147c4ed00f77cb148523562b1c8c9f',
+  'pdfium_revision': 'bb85de36d277a449690e167f63a4ee988877f78d',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling BoringSSL
   # and whatever else without interference from each other.
@@ -258,7 +258,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': '7f343135480a3bc68b4bf4fc291e25e6efbf8bfc',
+  'catapult_revision': '7a2e3f83964ffcd0404971aebb06aac30416daca',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -266,7 +266,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': 'b36c2d9991f17c060047c1f1a668b37f94117126',
+  'devtools_frontend_revision': 'd7508751f4e15a7c2cd479bafbc16f467ff0af54',
   # 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.
@@ -302,7 +302,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.
-  'spv_tools_revision': 'a711c594b8cc36a808ac5358b868db568be1aaaa',
+  'spv_tools_revision': 'b79773a35d52736c60f425eb6e7792120f103cac',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -318,7 +318,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'dawn_revision': '7f265d1d4074c874cec2c0d86803528ea4baeae9',
+  'dawn_revision': 'e8dc820fbc1e28eba80b8e8c49bb3e566874f4e7',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -357,7 +357,7 @@
   'ukey2_revision': '0275885d8e6038c39b8a8ca55e75d1d4d1727f47',
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'tint_revision': '5e7ef27ca7b1ddedd9a9553bc873e4034cd0c735',
+  'tint_revision': 'b08e25388629f5a8f467b726ace18df529bba3ef',
 
   # TODO(crbug.com/941824): The values below need to be kept in sync
   # between //DEPS and //buildtools/DEPS, so if you're updating one,
@@ -545,7 +545,7 @@
   },
 
   'src/ios/third_party/material_components_ios/src': {
-      'url': Var('chromium_git') + '/external/github.com/material-components/material-components-ios.git' + '@' + '25710e0b923c3f02c26f935becd68a59a8f1f6f5',
+      'url': Var('chromium_git') + '/external/github.com/material-components/material-components-ios.git' + '@' + '915bc063fbbf52eef3a5c9f106d571378cce12db',
       'condition': 'checkout_ios',
   },
 
@@ -875,7 +875,7 @@
 
   # Build tools for Chrome OS.
   'src/third_party/chromite': {
-      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '08a42d0acc754a696b5406a41ce18bf786ee212f',
+      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '7161209ef6f17080fc1f74e3ae7637a7816c3e8a',
       'condition': 'checkout_chromeos',
   },
 
@@ -895,7 +895,7 @@
   },
 
   'src/third_party/depot_tools':
-    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '81f4ba7e7dbf7e1f8cdb37f7863ec4d7b19eb5fb',
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'bfb423d26610b8256826aa01fd6f915d963fc7ff',
 
   'src/third_party/devtools-frontend/src':
     Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'),
@@ -1248,7 +1248,7 @@
   },
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' + '56d9df4fa53f1dff5d128d2e689532ec910ff38a',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' + '9869f187b5ea50e442a0c865c950bf9dd61a0e21',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3',
@@ -1384,7 +1384,7 @@
     Var('chromium_git') + '/external/github.com/google/snappy.git' + '@' + 'f16eda3466633b88d0a55199deb00aa5429c6219',
 
   'src/third_party/sqlite/src':
-    Var('chromium_git') + '/chromium/deps/sqlite.git' + '@' + '5e8c30a1e0e03172fa46305d0ec0cdd13df4780e',
+    Var('chromium_git') + '/chromium/deps/sqlite.git' + '@' + '0324bd3ef1af08b478c9e9f82722d7e1e565d6bc',
 
   'src/third_party/sqlite4java': {
       'packages': [
@@ -1470,7 +1470,7 @@
   },
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '93a9d19d4eb53b3f4fb4d22e6c54f2e2824437eb',
+    Var('webrtc_git') + '/src.git' + '@' + 'ea7fbfb9665bfa5e01ea375df94cc4421c8655ef',
 
   'src/third_party/libgifcodec':
      Var('skia_git') + '/libgifcodec' + '@'+  Var('libgifcodec_revision'),
@@ -1542,7 +1542,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@5be2204fa998fabdfc7a44ef0bae26a2fa2db7b5',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@c153394161f0938ed9e9af0a2121e5ad6bda0480',
     'condition': 'checkout_src_internal',
   },
 
@@ -1550,7 +1550,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/help_app/app',
-        'version': '2mC2HAs3wr9lkv-fO7paccSOBACAv2EXtzFGg-sY7ukC',
+        'version': 'ATO87Kt3GVbWvrrrePqcpzq_uVeSNAO_zG5viw3VGvUC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
@@ -1561,7 +1561,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/media_app/app',
-        'version': 'JQTAos4h3Oa75AxNtHuNkrsTQWBJNw6CYEf6hBaQVWkC',
+        'version': 'dn-tZC1K2hB8pa-D8uCBdQh4U9xdeiQvV7QEmNoyTZQC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
diff --git a/WATCHLISTS b/WATCHLISTS
index 92a95be..76e7db6 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -188,13 +188,6 @@
         '|content/browser/renderer_host/delegated' \
         '|content/common/gpu/client/' \
     },
-    'auralinux_accessibility': {
-      'filepath':
-        'ui/accessibility/platform/.*auralinux.*' \
-        '|ui/views/accessibility/.*auralinux.*' \
-        '|chrome/browser/ui/views/accessibility/.*auralinux.*' \
-        '|content/browser/accessibility/.*auralinux.*' \
-    },
     'autoclick': {
       'filepath': 'ash/autoclick/',
     },
@@ -2132,7 +2125,6 @@
     'aura_compositor': ['danakj+watch@chromium.org',
                         'jbauman+watch@chromium.org',
                         'kalyan.kondapally@intel.com'],
-    'auralinux_accessibility': ['mrobinson@igalia.com'],
     'autoclick': ['katie+watch@chromium.org'],
     'autofill': ['anthonyvd+autofillwatch@chromium.org',
                  'ftirelo+autofillwatch@chromium.org',
diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
index c81d5d57..a06c44f 100644
--- a/android_webview/BUILD.gn
+++ b/android_webview/BUILD.gn
@@ -422,7 +422,6 @@
     "java/src/org/chromium/android_webview/AwWebContentsDelegate.java",
     "java/src/org/chromium/android_webview/AwWebResourceInterceptResponse.java",
     "java/src/org/chromium/android_webview/AwWebResourceResponse.java",
-    "java/src/org/chromium/android_webview/InputStreamUtil.java",
     "java/src/org/chromium/android_webview/JsReplyProxy.java",
     "java/src/org/chromium/android_webview/PopupTouchHandleDrawable.java",
     "java/src/org/chromium/android_webview/VariationsSeedLoader.java",
@@ -503,7 +502,6 @@
     "java/src/org/chromium/android_webview/FindAddress.java",
     "java/src/org/chromium/android_webview/FullScreenView.java",
     "java/src/org/chromium/android_webview/HttpAuthDatabase.java",
-    "java/src/org/chromium/android_webview/InputStreamUtil.java",
     "java/src/org/chromium/android_webview/JsPromptResultReceiver.java",
     "java/src/org/chromium/android_webview/JsReplyProxy.java",
     "java/src/org/chromium/android_webview/JsResultHandler.java",
diff --git a/android_webview/browser/BUILD.gn b/android_webview/browser/BUILD.gn
index c5fbd75..d6ce7c3 100644
--- a/android_webview/browser/BUILD.gn
+++ b/android_webview/browser/BUILD.gn
@@ -106,14 +106,10 @@
     "find_helper.h",
     "icon_helper.cc",
     "icon_helper.h",
-    "input_stream.cc",
-    "input_stream.h",
     "js_java_interaction/aw_web_message_host_factory.cc",
     "js_java_interaction/aw_web_message_host_factory.h",
     "js_java_interaction/js_reply_proxy.cc",
     "js_java_interaction/js_reply_proxy.h",
-    "network_service/android_stream_reader_url_loader.cc",
-    "network_service/android_stream_reader_url_loader.h",
     "network_service/aw_network_change_notifier.cc",
     "network_service/aw_network_change_notifier.h",
     "network_service/aw_network_change_notifier_factory.cc",
@@ -132,8 +128,6 @@
     "network_service/aw_web_resource_request.h",
     "network_service/aw_web_resource_response.cc",
     "network_service/aw_web_resource_response.h",
-    "network_service/input_stream_reader.cc",
-    "network_service/input_stream_reader.h",
     "network_service/net_helpers.cc",
     "network_service/net_helpers.h",
     "page_load_metrics/aw_page_load_metrics_provider.cc",
@@ -198,6 +192,7 @@
     "//components/cdm/browser",
     "//components/content_capture/android",
     "//components/content_capture/browser",
+    "//components/embedder_support/android:util",
     "//components/favicon_base:favicon_base",
     "//components/flags_ui",
 
diff --git a/android_webview/browser/DEPS b/android_webview/browser/DEPS
index d457403..3991e84 100644
--- a/android_webview/browser/DEPS
+++ b/android_webview/browser/DEPS
@@ -103,8 +103,6 @@
   # QuotaStatusCode required by AwQuotaManagerBridge.
   "+third_party/blink/public/mojom/quota",
   "+third_party/blink/public/mojom/mediastream/media_stream.mojom-shared.h",
-  # Interface required for in-process input event handling.
-  "+third_party/blink/public/web/WebCompositorInputHandler.h",
   # For favicon url
   "+third_party/blink/public/mojom/favicon",
   # For find-in-page
diff --git a/android_webview/browser/android_protocol_handler.cc b/android_webview/browser/android_protocol_handler.cc
index 7325d75e..4b10202 100644
--- a/android_webview/browser/android_protocol_handler.cc
+++ b/android_webview/browser/android_protocol_handler.cc
@@ -7,12 +7,12 @@
 #include <memory>
 #include <utility>
 
-#include "android_webview/browser/input_stream.h"
 #include "android_webview/browser_jni_headers/AndroidProtocolHandler_jni.h"
 #include "android_webview/common/url_constants.h"
 #include "base/android/jni_android.h"
 #include "base/android/jni_string.h"
 #include "base/android/jni_weak_ref.h"
+#include "components/embedder_support/android/util/input_stream.h"
 #include "content/public/common/url_constants.h"
 #include "net/base/io_buffer.h"
 #include "net/base/mime_util.h"
@@ -22,14 +22,13 @@
 #include "url/gurl.h"
 #include "url/url_constants.h"
 
-using android_webview::InputStream;
-using android_webview::InputStream;
 using base::android::AttachCurrentThread;
 using base::android::ClearException;
 using base::android::ConvertUTF8ToJavaString;
 using base::android::JavaParamRef;
 using base::android::ScopedJavaGlobalRef;
 using base::android::ScopedJavaLocalRef;
+using embedder_support::InputStream;
 
 namespace android_webview {
 
@@ -52,7 +51,7 @@
 
 bool GetInputStreamMimeType(JNIEnv* env,
                             const GURL& url,
-                            InputStream* stream,
+                            embedder_support::InputStream* stream,
                             std::string* mime_type) {
   // Query the mime type from the Java side. It is possible for the query to
   // fail, as the mime type cannot be determined for all supported schemes.
diff --git a/android_webview/browser/android_protocol_handler.h b/android_webview/browser/android_protocol_handler.h
index 70dd222c..0e728bea 100644
--- a/android_webview/browser/android_protocol_handler.h
+++ b/android_webview/browser/android_protocol_handler.h
@@ -10,14 +10,19 @@
 
 class GURL;
 
-namespace android_webview {
+namespace embedder_support {
 class InputStream;
+}
 
-std::unique_ptr<InputStream> CreateInputStream(JNIEnv* env, const GURL& url);
+namespace android_webview {
+
+std::unique_ptr<embedder_support::InputStream> CreateInputStream(
+    JNIEnv* env,
+    const GURL& url);
 
 bool GetInputStreamMimeType(JNIEnv* env,
                             const GURL& url,
-                            InputStream* stream,
+                            embedder_support::InputStream* stream,
                             std::string* mime_type);
 
 }  // namespace android_webview
diff --git a/android_webview/browser/aw_contents_io_thread_client.cc b/android_webview/browser/aw_contents_io_thread_client.cc
index 2701e71..6551515e 100644
--- a/android_webview/browser/aw_contents_io_thread_client.cc
+++ b/android_webview/browser/aw_contents_io_thread_client.cc
@@ -8,7 +8,6 @@
 #include <memory>
 #include <utility>
 
-#include "android_webview/browser/input_stream.h"
 #include "android_webview/browser/network_service/aw_web_resource_intercept_response.h"
 #include "android_webview/browser/network_service/aw_web_resource_request.h"
 #include "android_webview/browser/network_service/aw_web_resource_response.h"
@@ -25,6 +24,7 @@
 #include "base/metrics/histogram_macros.h"
 #include "base/synchronization/lock.h"
 #include "base/threading/scoped_blocking_call.h"
+#include "components/embedder_support/android/util/input_stream.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/render_process_host.h"
diff --git a/android_webview/browser/aw_feature_list.cc b/android_webview/browser/aw_feature_list.cc
index 48cf93d..780aae008 100644
--- a/android_webview/browser/aw_feature_list.cc
+++ b/android_webview/browser/aw_feature_list.cc
@@ -25,6 +25,7 @@
 // in other locations in the code base (e.g. content/, components/, etc).
 const base::Feature* kFeaturesExposedToJava[] = {
     &features::kWebViewConnectionlessSafeBrowsing,
+    &features::kWebViewDisplayCutout,
     &features::kWebViewTestFeature,
 };
 
diff --git a/android_webview/browser/network_service/aw_proxying_url_loader_factory.cc b/android_webview/browser/network_service/aw_proxying_url_loader_factory.cc
index ead6bd4..dc92fc3 100644
--- a/android_webview/browser/network_service/aw_proxying_url_loader_factory.cc
+++ b/android_webview/browser/network_service/aw_proxying_url_loader_factory.cc
@@ -13,18 +13,19 @@
 #include "android_webview/browser/aw_contents_client_bridge.h"
 #include "android_webview/browser/aw_contents_io_thread_client.h"
 #include "android_webview/browser/aw_cookie_access_policy.h"
-#include "android_webview/browser/input_stream.h"
-#include "android_webview/browser/network_service/android_stream_reader_url_loader.h"
 #include "android_webview/browser/network_service/aw_web_resource_intercept_response.h"
 #include "android_webview/browser/network_service/aw_web_resource_response.h"
 #include "android_webview/browser/network_service/net_helpers.h"
 #include "android_webview/browser/renderer_host/auto_login_parser.h"
+#include "android_webview/common/aw_features.h"
 #include "android_webview/common/url_constants.h"
 #include "base/android/build_info.h"
 #include "base/bind.h"
+#include "base/feature_list.h"
 #include "base/optional.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
+#include "components/embedder_support/android/util/input_stream.h"
 #include "components/safe_browsing/core/common/safebrowsing_constants.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
@@ -165,14 +166,14 @@
 
 // A ResponseDelegate for responses returned by shouldInterceptRequest.
 class InterceptResponseDelegate
-    : public AndroidStreamReaderURLLoader::ResponseDelegate {
+    : public embedder_support::AndroidStreamReaderURLLoader::ResponseDelegate {
  public:
   explicit InterceptResponseDelegate(
       std::unique_ptr<AwWebResourceResponse> response,
       base::WeakPtr<InterceptedRequest> request)
       : response_(std::move(response)), request_(request) {}
 
-  std::unique_ptr<android_webview::InputStream> OpenInputStream(
+  std::unique_ptr<embedder_support::InputStream> OpenInputStream(
       JNIEnv* env) override {
     return response_->GetInputStream(env);
   }
@@ -186,14 +187,14 @@
 
   bool GetMimeType(JNIEnv* env,
                    const GURL& url,
-                   android_webview::InputStream* stream,
+                   embedder_support::InputStream* stream,
                    std::string* mime_type) override {
     return response_->GetMimeType(env, mime_type);
   }
 
   bool GetCharset(JNIEnv* env,
                   const GURL& url,
-                  android_webview::InputStream* stream,
+                  embedder_support::InputStream* stream,
                   std::string* charset) override {
     return response_->GetCharset(env, charset);
   }
@@ -221,13 +222,13 @@
 // protocols, such as content://, file:///android_asset, and file:///android_res
 // URLs.
 class ProtocolResponseDelegate
-    : public AndroidStreamReaderURLLoader::ResponseDelegate {
+    : public embedder_support::AndroidStreamReaderURLLoader::ResponseDelegate {
  public:
   ProtocolResponseDelegate(const GURL& url,
                            base::WeakPtr<InterceptedRequest> request)
       : url_(url), request_(request) {}
 
-  std::unique_ptr<android_webview::InputStream> OpenInputStream(
+  std::unique_ptr<embedder_support::InputStream> OpenInputStream(
       JNIEnv* env) override {
     return CreateInputStream(env, url_);
   }
@@ -241,14 +242,14 @@
 
   bool GetMimeType(JNIEnv* env,
                    const GURL& url,
-                   android_webview::InputStream* stream,
+                   embedder_support::InputStream* stream,
                    std::string* mime_type) override {
     return GetInputStreamMimeType(env, url, stream, mime_type);
   }
 
   bool GetCharset(JNIEnv* env,
                   const GURL& url,
-                  android_webview::InputStream* stream,
+                  embedder_support::InputStream* stream,
                   std::string* charset) override {
     // TODO: We should probably be getting this from the managed side.
     return false;
@@ -423,12 +424,13 @@
   if (!input_stream_previously_failed_ &&
       (request_.url.SchemeIs(url::kContentScheme) ||
        android_webview::IsAndroidSpecialFileUrl(request_.url))) {
-    AndroidStreamReaderURLLoader* loader = new AndroidStreamReaderURLLoader(
-        request_, proxied_client_receiver_.BindNewPipeAndPassRemote(),
-        traffic_annotation_,
-        std::make_unique<ProtocolResponseDelegate>(request_.url,
-                                                   weak_factory_.GetWeakPtr()),
-        security_options_);
+    embedder_support::AndroidStreamReaderURLLoader* loader =
+        new embedder_support::AndroidStreamReaderURLLoader(
+            request_, proxied_client_receiver_.BindNewPipeAndPassRemote(),
+            traffic_annotation_,
+            std::make_unique<ProtocolResponseDelegate>(
+                request_.url, weak_factory_.GetWeakPtr()),
+            security_options_);
     loader->Start();
     return;
   }
@@ -443,12 +445,13 @@
 
 void InterceptedRequest::ContinueAfterInterceptWithOverride(
     std::unique_ptr<AwWebResourceResponse> response) {
-  AndroidStreamReaderURLLoader* loader = new AndroidStreamReaderURLLoader(
-      request_, proxied_client_receiver_.BindNewPipeAndPassRemote(),
-      traffic_annotation_,
-      std::make_unique<InterceptResponseDelegate>(std::move(response),
-                                                  weak_factory_.GetWeakPtr()),
-      base::nullopt);
+  embedder_support::AndroidStreamReaderURLLoader* loader =
+      new embedder_support::AndroidStreamReaderURLLoader(
+          request_, proxied_client_receiver_.BindNewPipeAndPassRemote(),
+          traffic_annotation_,
+          std::make_unique<InterceptResponseDelegate>(
+              std::move(response), weak_factory_.GetWeakPtr()),
+          base::nullopt);
   loader->Start();
 }
 
diff --git a/android_webview/browser/network_service/aw_proxying_url_loader_factory.h b/android_webview/browser/network_service/aw_proxying_url_loader_factory.h
index fb90579e..739b28ff 100644
--- a/android_webview/browser/network_service/aw_proxying_url_loader_factory.h
+++ b/android_webview/browser/network_service/aw_proxying_url_loader_factory.h
@@ -5,10 +5,10 @@
 #ifndef ANDROID_WEBVIEW_BROWSER_NETWORK_SERVICE_AW_PROXYING_URL_LOADER_FACTORY_H_
 #define ANDROID_WEBVIEW_BROWSER_NETWORK_SERVICE_AW_PROXYING_URL_LOADER_FACTORY_H_
 
-#include "android_webview/browser/network_service/android_stream_reader_url_loader.h"
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
 #include "base/optional.h"
+#include "components/embedder_support/android/util/android_stream_reader_url_loader.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"
@@ -55,7 +55,8 @@
 //
 class AwProxyingURLLoaderFactory : public network::mojom::URLLoaderFactory {
  public:
-  using SecurityOptions = AndroidStreamReaderURLLoader::SecurityOptions;
+  using SecurityOptions =
+      embedder_support::AndroidStreamReaderURLLoader::SecurityOptions;
 
   // Create a factory that will create specialized URLLoaders for Android
   // WebView. If |intercept_only| parameter is true the loader created by
diff --git a/android_webview/browser/network_service/aw_web_resource_response.cc b/android_webview/browser/network_service/aw_web_resource_response.cc
index 144832a5..3c2b223 100644
--- a/android_webview/browser/network_service/aw_web_resource_response.cc
+++ b/android_webview/browser/network_service/aw_web_resource_response.cc
@@ -8,11 +8,11 @@
 #include <string>
 #include <vector>
 
-#include "android_webview/browser/input_stream.h"
 #include "android_webview/browser_jni_headers/AwWebResourceResponse_jni.h"
 #include "base/android/jni_android.h"
 #include "base/android/jni_array.h"
 #include "base/android/jni_string.h"
+#include "components/embedder_support/android/util/input_stream.h"
 #include "net/http/http_response_headers.h"
 #include "net/url_request/url_request.h"
 #include "net/url_request/url_request_job.h"
@@ -34,8 +34,8 @@
   return !!jstream;
 }
 
-std::unique_ptr<InputStream> AwWebResourceResponse::GetInputStream(
-    JNIEnv* env) {
+std::unique_ptr<embedder_support::InputStream>
+AwWebResourceResponse::GetInputStream(JNIEnv* env) {
   // Only allow to call GetInputStream once per object, because this method
   // transfers ownership of the stream and once the unique_ptr<InputStream>
   // is deleted it also closes the original java input stream. This
@@ -51,7 +51,7 @@
       Java_AwWebResourceResponse_getData(env, java_object_);
   if (!jstream)
     return nullptr;
-  return std::make_unique<InputStream>(jstream);
+  return std::make_unique<embedder_support::InputStream>(jstream);
 }
 
 bool AwWebResourceResponse::GetMimeType(JNIEnv* env,
diff --git a/android_webview/browser/network_service/aw_web_resource_response.h b/android_webview/browser/network_service/aw_web_resource_response.h
index 101c445..3488f4b4 100644
--- a/android_webview/browser/network_service/aw_web_resource_response.h
+++ b/android_webview/browser/network_service/aw_web_resource_response.h
@@ -15,9 +15,11 @@
 class HttpResponseHeaders;
 }
 
-namespace android_webview {
-
+namespace embedder_support {
 class InputStream;
+}
+
+namespace android_webview {
 
 // This class represents the Java-side data that is to be used to complete a
 // particular URLRequest.
@@ -29,7 +31,7 @@
   ~AwWebResourceResponse();
 
   bool HasInputStream(JNIEnv* env) const;
-  std::unique_ptr<InputStream> GetInputStream(JNIEnv* env);
+  std::unique_ptr<embedder_support::InputStream> GetInputStream(JNIEnv* env);
   bool GetMimeType(JNIEnv* env, std::string* mime_type) const;
   bool GetCharset(JNIEnv* env, std::string* charset) const;
   bool GetStatusInfo(JNIEnv* env,
diff --git a/android_webview/common/aw_features.cc b/android_webview/common/aw_features.cc
index 921309f..6d5d79d 100644
--- a/android_webview/common/aw_features.cc
+++ b/android_webview/common/aw_features.cc
@@ -18,6 +18,10 @@
 const base::Feature kWebViewConnectionlessSafeBrowsing{
     "WebViewConnectionlessSafeBrowsing", base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Enable display cutout support for Android P and above.
+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,
@@ -31,23 +35,6 @@
 const base::Feature kWebViewExtraHeadersSameOriginOnly{
     "WebViewExtraHeadersSameOriginOnly", base::FEATURE_DISABLED_BY_DEFAULT};
 
-// Activate compatible origin checks for AndroidStreamReaderURLLoader.
-const base::Feature kWebViewOriginCheckForStreamReader{
-    "WebViewOriginCheckForStreamReader", base::FEATURE_DISABLED_BY_DEFAULT};
-
-// Sniff the content stream to guess the MIME type when the application doesn't
-// tell us the MIME type explicitly.
-//
-// This only applies:
-// * when NetworkService is enabled (if disabled, the legacy net path sniffs
-//   content anyway, as an implementation detail).
-// * to app-provided content (shouldInterceptRequest,
-//   file:///android_{asset,res} URLs, content:// URLs), rather than content
-//   from the net stack (we may sniff content from the net stack anyway,
-//   depending on headers, but that's a NetworkService implementation detail).
-const base::Feature kWebViewSniffMimeType{"WebViewSniffMimeType",
-                                          base::FEATURE_ENABLED_BY_DEFAULT};
-
 // A Feature used for WebView variations tests. Not used in production.
 const base::Feature kWebViewTestFeature{"WebViewTestFeature",
                                         base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/android_webview/common/aw_features.h b/android_webview/common/aw_features.h
index ad02829..bc91ce9c 100644
--- a/android_webview/common/aw_features.h
+++ b/android_webview/common/aw_features.h
@@ -16,10 +16,9 @@
 // Alphabetical:
 extern const base::Feature kWebViewBrotliSupport;
 extern const base::Feature kWebViewConnectionlessSafeBrowsing;
+extern const base::Feature kWebViewDisplayCutout;
 extern const base::Feature kWebViewExtraHeadersSameDomainOnly;
 extern const base::Feature kWebViewExtraHeadersSameOriginOnly;
-extern const base::Feature kWebViewOriginCheckForStreamReader;
-extern const base::Feature kWebViewSniffMimeType;
 extern const base::Feature kWebViewTestFeature;
 extern const base::Feature kWebViewWideColorGamutSupport;
 
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
index 95fc5bd8..c3b99ba4 100644
--- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
+++ b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
@@ -6,12 +6,12 @@
     tools:ignore="MissingLeanbackLauncher"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
-  <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30"/>
-  <uses-permission android:name="android.permission.INTERNET"/>
-  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
-  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
-  <uses-feature android:name="android.software.leanback" android:required="false"/>
   <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
+  <uses-feature android:name="android.software.leanback" android:required="false"/>
+  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
+  <uses-permission android:name="android.permission.INTERNET"/>
+  <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30"/>
   <application
       android:extractNativeLibs="True"
       android:icon="@$PACKAGE:drawable/icon_webview"
@@ -60,6 +60,12 @@
     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
     <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES" android:value="0"/>
     <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES" android:value="40"/>
+    <provider  # DIFF-ANCHOR: a5e78e63
+        android:authorities="$PACKAGE.LicenseContentProvider"
+        android:exported="true"
+        android:name="org.chromium.android_webview.nonembedded.LicenseContentProvider"
+        android:process=":webview_apk">
+    </provider>  # DIFF-ANCHOR: a5e78e63
     <provider  # DIFF-ANCHOR: bfe37944
         android:authorities="$PACKAGE.DeveloperModeContentProvider"
         android:exported="true"
@@ -67,34 +73,28 @@
         android:process=":webview_service"
         android:visibleToInstantApps="true">
     </provider>  # DIFF-ANCHOR: bfe37944
-    <provider  # DIFF-ANCHOR: a5e78e63
-        android:authorities="$PACKAGE.LicenseContentProvider"
-        android:exported="true"
-        android:name="org.chromium.android_webview.nonembedded.LicenseContentProvider"
-        android:process=":webview_apk">
-    </provider>  # DIFF-ANCHOR: a5e78e63
-    <service  # DIFF-ANCHOR: 65cddb26
-        android:exported="false"
-        android:name="org.chromium.android_webview.services.AwVariationsSeedFetcher"
-        android:permission="android.permission.BIND_JOB_SERVICE"
-        android:process=":webview_service">
-    </service>  # DIFF-ANCHOR: 65cddb26
-    <service  # DIFF-ANCHOR: adce9ea1
-        android:exported="false"
-        android:name="org.chromium.android_webview.services.DeveloperUiService"
-        android:process=":webview_service">
-    </service>  # DIFF-ANCHOR: adce9ea1
     <service  # DIFF-ANCHOR: 3cd6d713
         android:exported="true"
         android:name="org.chromium.android_webview.services.AwMinidumpUploadJobService"
         android:permission="android.permission.BIND_JOB_SERVICE"
         android:process=":webview_service">
     </service>  # DIFF-ANCHOR: 3cd6d713
+    <service  # DIFF-ANCHOR: 65cddb26
+        android:exported="false"
+        android:name="org.chromium.android_webview.services.AwVariationsSeedFetcher"
+        android:permission="android.permission.BIND_JOB_SERVICE"
+        android:process=":webview_service">
+    </service>  # DIFF-ANCHOR: 65cddb26
     <service  # DIFF-ANCHOR: 5cda9608
         android:exported="true"
         android:name="org.chromium.android_webview.services.CrashReceiverService"
         android:process=":webview_service">
     </service>  # DIFF-ANCHOR: 5cda9608
+    <service  # DIFF-ANCHOR: adce9ea1
+        android:exported="false"
+        android:name="org.chromium.android_webview.services.DeveloperUiService"
+        android:process=":webview_service">
+    </service>  # DIFF-ANCHOR: adce9ea1
     <service  # DIFF-ANCHOR: eecf2fee
         android:exported="true"
         android:name="org.chromium.android_webview.services.MetricsBridgeService"
diff --git a/android_webview/expectations/trichrome_webview_bundle.AndroidManifest.expected b/android_webview/expectations/trichrome_webview_bundle.AndroidManifest.expected
index cb90773a..12ea0d0 100644
--- a/android_webview/expectations/trichrome_webview_bundle.AndroidManifest.expected
+++ b/android_webview/expectations/trichrome_webview_bundle.AndroidManifest.expected
@@ -6,12 +6,12 @@
     tools:ignore="MissingLeanbackLauncher"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
-  <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="30"/>
-  <uses-permission android:name="android.permission.INTERNET"/>
-  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
-  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
-  <uses-feature android:name="android.software.leanback" android:required="false"/>
   <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
+  <uses-feature android:name="android.software.leanback" android:required="false"/>
+  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
+  <uses-permission android:name="android.permission.INTERNET"/>
+  <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="30"/>
   <application
       android:extractNativeLibs="False"
       android:icon="@$PACKAGE:drawable/icon_webview"
@@ -60,6 +60,12 @@
     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
     <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES" android:value="0"/>
     <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES" android:value="40"/>
+    <provider  # DIFF-ANCHOR: a5e78e63
+        android:authorities="$PACKAGE.LicenseContentProvider"
+        android:exported="true"
+        android:name="org.chromium.android_webview.nonembedded.LicenseContentProvider"
+        android:process=":webview_apk">
+    </provider>  # DIFF-ANCHOR: a5e78e63
     <provider  # DIFF-ANCHOR: bfe37944
         android:authorities="$PACKAGE.DeveloperModeContentProvider"
         android:exported="true"
@@ -67,34 +73,28 @@
         android:process=":webview_service"
         android:visibleToInstantApps="true">
     </provider>  # DIFF-ANCHOR: bfe37944
-    <provider  # DIFF-ANCHOR: a5e78e63
-        android:authorities="$PACKAGE.LicenseContentProvider"
-        android:exported="true"
-        android:name="org.chromium.android_webview.nonembedded.LicenseContentProvider"
-        android:process=":webview_apk">
-    </provider>  # DIFF-ANCHOR: a5e78e63
-    <service  # DIFF-ANCHOR: 65cddb26
-        android:exported="false"
-        android:name="org.chromium.android_webview.services.AwVariationsSeedFetcher"
-        android:permission="android.permission.BIND_JOB_SERVICE"
-        android:process=":webview_service">
-    </service>  # DIFF-ANCHOR: 65cddb26
-    <service  # DIFF-ANCHOR: adce9ea1
-        android:exported="false"
-        android:name="org.chromium.android_webview.services.DeveloperUiService"
-        android:process=":webview_service">
-    </service>  # DIFF-ANCHOR: adce9ea1
     <service  # DIFF-ANCHOR: 3cd6d713
         android:exported="true"
         android:name="org.chromium.android_webview.services.AwMinidumpUploadJobService"
         android:permission="android.permission.BIND_JOB_SERVICE"
         android:process=":webview_service">
     </service>  # DIFF-ANCHOR: 3cd6d713
+    <service  # DIFF-ANCHOR: 65cddb26
+        android:exported="false"
+        android:name="org.chromium.android_webview.services.AwVariationsSeedFetcher"
+        android:permission="android.permission.BIND_JOB_SERVICE"
+        android:process=":webview_service">
+    </service>  # DIFF-ANCHOR: 65cddb26
     <service  # DIFF-ANCHOR: 5cda9608
         android:exported="true"
         android:name="org.chromium.android_webview.services.CrashReceiverService"
         android:process=":webview_service">
     </service>  # DIFF-ANCHOR: 5cda9608
+    <service  # DIFF-ANCHOR: adce9ea1
+        android:exported="false"
+        android:name="org.chromium.android_webview.services.DeveloperUiService"
+        android:process=":webview_service">
+    </service>  # DIFF-ANCHOR: adce9ea1
     <service  # DIFF-ANCHOR: eecf2fee
         android:exported="true"
         android:name="org.chromium.android_webview.services.MetricsBridgeService"
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContentsClientCallbackHelper.java b/android_webview/java/src/org/chromium/android_webview/AwContentsClientCallbackHelper.java
index 36544242..c4cee2e 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContentsClientCallbackHelper.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContentsClientCallbackHelper.java
@@ -10,8 +10,6 @@
 import android.os.Message;
 import android.os.SystemClock;
 
-import androidx.annotation.VisibleForTesting;
-
 import org.chromium.android_webview.safe_browsing.AwSafeBrowsingResponse;
 import org.chromium.base.Callback;
 
@@ -23,7 +21,6 @@
  * Most callbacks do no go through here, but get forwarded to AwContentsClient directly. The
  * messages processed here may originate from the IO or UI thread.
  */
-@VisibleForTesting
 public class AwContentsClientCallbackHelper {
     /**
      * Interface to tell CallbackHelper to cancel posted callbacks.
diff --git a/android_webview/java/src/org/chromium/android_webview/AwScrollOffsetManager.java b/android_webview/java/src/org/chromium/android_webview/AwScrollOffsetManager.java
index 587d6316..29392a8 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwScrollOffsetManager.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwScrollOffsetManager.java
@@ -6,15 +6,12 @@
 
 import android.graphics.Rect;
 
-import androidx.annotation.VisibleForTesting;
-
 /**
  * Takes care of syncing the scroll offset between the Android View system and the
  * InProcessViewRenderer.
  *
  * Unless otherwise values (sizes, scroll offsets) are in physical pixels.
  */
-@VisibleForTesting
 public class AwScrollOffsetManager {
     // Values taken from WebViewClassic.
 
diff --git a/android_webview/java/src/org/chromium/android_webview/common/AwFeatures.java b/android_webview/java/src/org/chromium/android_webview/common/AwFeatures.java
index 1d18e27..113e081 100644
--- a/android_webview/java/src/org/chromium/android_webview/common/AwFeatures.java
+++ b/android_webview/java/src/org/chromium/android_webview/common/AwFeatures.java
@@ -14,6 +14,8 @@
     public static final String WEBVIEW_CONNECTIONLESS_SAFE_BROWSING =
             "WebViewConnectionlessSafeBrowsing";
 
+    public static final String WEBVIEW_DISPLAY_CUTOUT = "WebViewDisplayCutout";
+
     public static final String WEBVIEW_EXTRA_HEADERS_SAME_DOMAIN_ONLY =
             "WebViewExtraHeadersSameDomainOnly";
 
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 64591625..03a5140 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
@@ -83,5 +83,7 @@
             Flag.baseFeature("WebComponentsV0",
                     "Re-enables the deprecated Web Components v0 features (Shadow DOM v0, Custom "
                             + "Elements v0, and HTML Imports)."),
+            Flag.baseFeature(AwFeatures.WEBVIEW_DISPLAY_CUTOUT,
+                    "Enables display cutout (notch) support in WebView for Android P and above."),
     };
 }
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
index e917620..6679fd6 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
@@ -72,8 +72,7 @@
  * application
  */
 @RunWith(AwJUnit4ClassRunner.class)
-@CommandLineFlags.Add({ContentSwitches.HOST_RESOLVER_RULES + "=MAP * 127.0.0.1",
-        "enable-features=WebViewOriginCheckForStreamReader"})
+@CommandLineFlags.Add({ContentSwitches.HOST_RESOLVER_RULES + "=MAP * 127.0.0.1"})
 @Batch(Batch.PER_CLASS)
 public class AwSettingsTest {
     @Rule
diff --git a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
index 4462fb3..e0287e6 100644
--- a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
+++ b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
@@ -44,7 +44,7 @@
                     Features.SAFE_BROWSING_ENABLE,
                     Features.DISABLED_ACTION_MODE_MENU_ITEMS,
                     Features.START_SAFE_BROWSING,
-                    Features.SAFE_BROWSING_ALLOWLIST + Features.DEV_SUFFIX,
+                    Features.SAFE_BROWSING_ALLOWLIST,
                     Features.SAFE_BROWSING_WHITELIST,
                     Features.SAFE_BROWSING_PRIVACY_POLICY_URL,
                     Features.SERVICE_WORKER_BASIC_USAGE,
diff --git a/android_webview/test/BUILD.gn b/android_webview/test/BUILD.gn
index beb09b0..dbf4668 100644
--- a/android_webview/test/BUILD.gn
+++ b/android_webview/test/BUILD.gn
@@ -426,6 +426,7 @@
     "//android_webview/common",
     "//base/test:test_support",
     "//components/autofill/core/browser",
+    "//components/embedder_support/android:util",
     "//components/metrics",
     "//components/prefs:prefs",
     "//components/prefs:test_support",
@@ -455,12 +456,9 @@
     "../browser/gfx/test/fake_window.h",
     "../browser/gfx/test/rendering_test.cc",
     "../browser/gfx/test/rendering_test.h",
-    "../browser/input_stream_unittest.cc",
     "../browser/lifecycle/aw_contents_lifecycle_notifier_unittest.cc",
     "../browser/metrics/aw_stability_metrics_provider_unittest.cc",
     "../browser/metrics/visibility_metrics_logger_unittest.cc",
-    "../browser/network_service/android_stream_reader_url_loader_unittest.cc",
-    "../browser/network_service/input_stream_reader_unittest.cc",
     "../browser/permission/media_access_permission_request_unittest.cc",
     "../browser/permission/permission_request_handler_unittest.cc",
     "../browser/renderer_host/auto_login_parser_unittest.cc",
@@ -484,18 +482,12 @@
     "//base:base_java",
     "//content/public/test/android:content_java_test_support",
   ]
-  sources = [
-    "../unittestjava/src/org/chromium/android_webview/unittest/InputStreamUnittest.java",
-    "../unittestjava/src/org/chromium/android_webview/unittest/MockAwContentsClientBridge.java",
-  ]
+  sources = [ "../unittestjava/src/org/chromium/android_webview/unittest/MockAwContentsClientBridge.java" ]
 }
 
 generate_jni("android_webview_unittests_jni") {
   testonly = true
-  sources = [
-    "../unittestjava/src/org/chromium/android_webview/unittest/InputStreamUnittest.java",
-    "../unittestjava/src/org/chromium/android_webview/unittest/MockAwContentsClientBridge.java",
-  ]
+  sources = [ "../unittestjava/src/org/chromium/android_webview/unittest/MockAwContentsClientBridge.java" ]
 }
 
 # robolectric tests
diff --git a/ash/BUILD.gn b/ash/BUILD.gn
index fa08c4c..0d4bc1e 100644
--- a/ash/BUILD.gn
+++ b/ash/BUILD.gn
@@ -276,10 +276,12 @@
     "clipboard/clipboard_history.h",
     "clipboard/clipboard_history_controller.cc",
     "clipboard/clipboard_history_controller.h",
-    "clipboard/clipboard_history_helper.cc",
-    "clipboard/clipboard_history_helper.h",
+    "clipboard/clipboard_history_item.cc",
+    "clipboard/clipboard_history_item.h",
     "clipboard/clipboard_history_menu_model_adapter.cc",
     "clipboard/clipboard_history_menu_model_adapter.h",
+    "clipboard/clipboard_history_resource_manager.cc",
+    "clipboard/clipboard_history_resource_manager.h",
     "dbus/ash_dbus_services.cc",
     "dbus/ash_dbus_services.h",
     "dbus/display_service_provider.cc",
@@ -379,16 +381,14 @@
     "drag_drop/drag_image_view.h",
     "drag_drop/tab_drag_drop_delegate.cc",
     "drag_drop/tab_drag_drop_delegate.h",
+    "events/accessibility_event_rewriter.cc",
+    "events/accessibility_event_rewriter.h",
     "events/event_rewriter_controller_impl.cc",
     "events/event_rewriter_controller_impl.h",
     "events/keyboard_driven_event_rewriter.cc",
     "events/keyboard_driven_event_rewriter.h",
     "events/select_to_speak_event_handler.cc",
     "events/select_to_speak_event_handler.h",
-    "events/spoken_feedback_event_rewriter.cc",
-    "events/spoken_feedback_event_rewriter.h",
-    "events/switch_access_event_handler.cc",
-    "events/switch_access_event_handler.h",
     "fast_ink/cursor/cursor_view.cc",
     "fast_ink/cursor/cursor_view.h",
     "fast_ink/fast_ink_host.cc",
@@ -1818,7 +1818,7 @@
     "autoclick/autoclick_drag_event_rewriter_unittest.cc",
     "autoclick/autoclick_unittest.cc",
     "capture_mode/capture_mode_unittests.cc",
-    "clipboard/clipboard_history_helper_unittest.cc",
+    "clipboard/clipboard_history_resource_manager_unittest.cc",
     "clipboard/clipboard_history_unittest.cc",
     "dbus/gesture_properties_service_provider_unittest.cc",
     "dbus/url_handler_service_provider_unittest.cc",
@@ -1857,10 +1857,9 @@
     "drag_drop/drag_drop_unittest.cc",
     "drag_drop/drag_image_view_unittest.cc",
     "drag_drop/tab_drag_drop_delegate_unittest.cc",
+    "events/accessibility_event_rewriter_unittest.cc",
     "events/keyboard_driven_event_rewriter_unittest.cc",
     "events/select_to_speak_event_handler_unittest.cc",
-    "events/spoken_feedback_event_rewriter_unittest.cc",
-    "events/switch_access_event_handler_unittest.cc",
     "extended_desktop_unittest.cc",
     "fast_ink/fast_ink_points_unittest.cc",
     "fast_ink/laser/laser_pointer_controller_unittest.cc",
diff --git a/ash/accessibility/accessibility_controller_impl.cc b/ash/accessibility/accessibility_controller_impl.cc
index 38147aa9..1a45218 100644
--- a/ash/accessibility/accessibility_controller_impl.cc
+++ b/ash/accessibility/accessibility_controller_impl.cc
@@ -15,8 +15,8 @@
 #include "ash/accessibility/accessibility_panel_layout_manager.h"
 #include "ash/accessibility/point_scan_controller.h"
 #include "ash/autoclick/autoclick_controller.h"
+#include "ash/events/accessibility_event_rewriter.h"
 #include "ash/events/select_to_speak_event_handler.h"
-#include "ash/events/switch_access_event_handler.h"
 #include "ash/high_contrast/high_contrast_controller.h"
 #include "ash/keyboard/keyboard_controller_impl.h"
 #include "ash/keyboard/ui/keyboard_util.h"
@@ -1154,9 +1154,11 @@
   return switch_access().IsEnterpriseIconVisible();
 }
 
-void AccessibilityControllerImpl::
-    SetSwitchAccessIgnoreVirtualKeyEventForTesting(bool should_ignore) {
-  switch_access_event_handler_->set_ignore_virtual_key_events(should_ignore);
+void AccessibilityControllerImpl::SetAccessibilityEventRewriter(
+    AccessibilityEventRewriter* accessibility_event_rewriter) {
+  accessibility_event_rewriter_ = accessibility_event_rewriter;
+  if (accessibility_event_rewriter_)
+    UpdateKeyCodesAfterSwitchAccessEnabled();
 }
 
 void AccessibilityControllerImpl::HideSwitchAccessBackButton() {
@@ -1189,11 +1191,6 @@
   Shell::Get()->policy_recommendation_restorer()->DisableForTesting();
 }
 
-void AccessibilityControllerImpl::ForwardKeyEventsToSwitchAccess(
-    bool should_forward) {
-  switch_access_event_handler_->set_forward_key_events(should_forward);
-}
-
 void AccessibilityControllerImpl::StartPointScanning() {
   if (!point_scan_controller_)
     point_scan_controller_.reset(new PointScanController());
@@ -1201,12 +1198,6 @@
   point_scan_controller_->Start();
 }
 
-void AccessibilityControllerImpl::SetSwitchAccessEventHandlerDelegate(
-    SwitchAccessEventHandlerDelegate* delegate) {
-  switch_access_event_handler_delegate_ = delegate;
-  MaybeCreateSwitchAccessEventHandler();
-}
-
 void AccessibilityControllerImpl::SetStickyKeysEnabled(bool enabled) {
   sticky_keys().SetEnabled(enabled);
 }
@@ -1418,11 +1409,9 @@
   ObservePrefs(prefs);
 }
 
-SwitchAccessEventHandler*
-AccessibilityControllerImpl::GetSwitchAccessEventHandlerForTest() {
-  if (switch_access_event_handler_)
-    return switch_access_event_handler_.get();
-  return nullptr;
+AccessibilityEventRewriter*
+AccessibilityControllerImpl::GetAccessibilityEventRewriterForTest() {
+  return accessibility_event_rewriter_;
 }
 
 void AccessibilityControllerImpl::
@@ -1780,6 +1769,11 @@
 
 void AccessibilityControllerImpl::UpdateSwitchAccessKeyCodesFromPref(
     SwitchAccessCommand command) {
+  if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
+          switches::kEnableExperimentalAccessibilitySwitchAccess)) {
+    return;
+  }
+
   DCHECK(active_user_prefs_);
 
   SyncSwitchAccessPrefsToSignInProfile();
@@ -1802,10 +1796,9 @@
     base::UmaHistogramEnumeration(uma_name, uma_value);
   }
 
-  if (!switch_access_event_handler_)
-    return;
-
-  switch_access_event_handler_->SetKeyCodesForCommand(key_codes, command);
+  if (accessibility_event_rewriter_)
+    accessibility_event_rewriter_->SetKeyCodesForSwitchAccessCommand(key_codes,
+                                                                     command);
 }
 
 void AccessibilityControllerImpl::UpdateSwitchAccessAutoScanEnabledFromPref() {
@@ -1858,25 +1851,7 @@
   }
 }
 
-void AccessibilityControllerImpl::MaybeCreateSwitchAccessEventHandler() {
-  // Construct the handler as needed when Switch Access is enabled and the
-  // delegate is set. Otherwise, destroy the handler when Switch Access is
-  // disabled or the delegate has been destroyed.
-  if (!switch_access().enabled() || !switch_access_event_handler_delegate_) {
-    switch_access_event_handler_.reset();
-    return;
-  }
-
-  if (switch_access_event_handler_)
-    return;
-
-  switch_access_event_handler_ = std::make_unique<SwitchAccessEventHandler>(
-      switch_access_event_handler_delegate_);
-
-  if (!active_user_prefs_)
-    return;
-
-  // Update the key codes for each command once the handler is initialized.
+void AccessibilityControllerImpl::UpdateKeyCodesAfterSwitchAccessEnabled() {
   UpdateSwitchAccessKeyCodesFromPref(SwitchAccessCommand::kSelect);
   UpdateSwitchAccessKeyCodesFromPref(SwitchAccessCommand::kNext);
   UpdateSwitchAccessKeyCodesFromPref(SwitchAccessCommand::kPrevious);
@@ -1885,7 +1860,7 @@
 void AccessibilityControllerImpl::ActivateSwitchAccess() {
   switch_access_bubble_controller_ =
       std::make_unique<SwitchAccessMenuBubbleController>();
-  MaybeCreateSwitchAccessEventHandler();
+  UpdateKeyCodesAfterSwitchAccessEnabled();
   if (::switches::IsSwitchAccessPointScanningEnabled())
     StartPointScanning();
   if (skip_switch_access_notification_) {
@@ -1900,7 +1875,6 @@
   if (client_)
     client_->OnSwitchAccessDisabled();
   switch_access_bubble_controller_.reset();
-  switch_access_event_handler_.reset();
 }
 
 void AccessibilityControllerImpl::SyncSwitchAccessPrefsToSignInProfile() {
diff --git a/ash/accessibility/accessibility_controller_impl.h b/ash/accessibility/accessibility_controller_impl.h
index eec441a..18ca4b81 100644
--- a/ash/accessibility/accessibility_controller_impl.h
+++ b/ash/accessibility/accessibility_controller_impl.h
@@ -36,6 +36,7 @@
 
 namespace ash {
 
+class AccessibilityEventRewriter;
 class AccessibilityHighlightController;
 class AccessibilityObserver;
 class FloatingAccessibilityController;
@@ -43,7 +44,6 @@
 class ScopedBacklightsForcedOff;
 class SelectToSpeakEventHandler;
 class SwitchAccessMenuBubbleController;
-class SwitchAccessEventHandler;
 
 enum AccessibilityNotificationVisibility {
   A11Y_NOTIFICATION_NONE,
@@ -291,6 +291,8 @@
   bool IsSwitchAccessRunning() const;
   bool IsSwitchAccessSettingVisibleInTray();
   bool IsEnterpriseIconVisibleForSwitchAccess();
+  void SetAccessibilityEventRewriter(
+      AccessibilityEventRewriter* accessibility_event_rewriter);
 
   void SetVirtualKeyboardEnabled(bool enabled);
   bool virtual_keyboard_enabled() const { return virtual_keyboard().enabled(); }
@@ -387,8 +389,6 @@
   void SetSelectToSpeakState(SelectToSpeakState state) override;
   void SetSelectToSpeakEventHandlerDelegate(
       SelectToSpeakEventHandlerDelegate* delegate) override;
-  void SetSwitchAccessEventHandlerDelegate(
-      SwitchAccessEventHandlerDelegate* delegate) override;
   void HideSwitchAccessBackButton() override;
   void HideSwitchAccessMenu() override;
   void ShowSwitchAccessBackButton(const gfx::Rect& anchor) override;
@@ -397,14 +397,11 @@
   void SetDictationActive(bool is_active) override;
   void ToggleDictationFromSource(DictationToggleSource source) override;
   void OnAutoclickScrollableBoundsFound(gfx::Rect& bounds_in_screen) override;
-  void ForwardKeyEventsToSwitchAccess(bool should_forward) override;
   base::string16 GetBatteryDescription() const override;
   void SetVirtualKeyboardVisible(bool is_visible) override;
   void NotifyAccessibilityStatusChanged() override;
   bool IsAccessibilityFeatureVisibleInTrayMenu(
       const std::string& path) override;
-  void SetSwitchAccessIgnoreVirtualKeyEventForTesting(
-      bool should_ignore) override;
   void DisablePolicyRecommendationRestorerForTesting() override;
 
   // SessionObserver:
@@ -412,7 +409,7 @@
   void OnActiveUserPrefServiceChanged(PrefService* prefs) override;
 
   // Test helpers:
-  SwitchAccessEventHandler* GetSwitchAccessEventHandlerForTest();
+  AccessibilityEventRewriter* GetAccessibilityEventRewriterForTest();
   SwitchAccessMenuBubbleController* GetSwitchAccessBubbleControllerForTest() {
     return switch_access_bubble_controller_.get();
   }
@@ -455,10 +452,10 @@
 
   void SwitchAccessDisableDialogClosed(bool disable_dialog_accepted);
   void MaybeCreateSelectToSpeakEventHandler();
-  void MaybeCreateSwitchAccessEventHandler();
   void ActivateSwitchAccess();
   void DeactivateSwitchAccess();
   void SyncSwitchAccessPrefsToSignInProfile();
+  void UpdateKeyCodesAfterSwitchAccessEnabled();
 
   // Client interface in chrome browser.
   AccessibilityControllerClient* client_ = nullptr;
@@ -482,9 +479,7 @@
   std::vector<int> switch_access_keys_to_capture_;
   std::unique_ptr<SwitchAccessMenuBubbleController>
       switch_access_bubble_controller_;
-  std::unique_ptr<SwitchAccessEventHandler> switch_access_event_handler_;
-  SwitchAccessEventHandlerDelegate* switch_access_event_handler_delegate_ =
-      nullptr;
+  AccessibilityEventRewriter* accessibility_event_rewriter_ = nullptr;
   bool no_switch_access_disable_confirmation_dialog_for_testing_ = false;
   bool switch_access_disable_dialog_showing_ = false;
   bool skip_switch_access_notification_ = false;
diff --git a/ash/ambient/ambient_access_token_controller.cc b/ash/ambient/ambient_access_token_controller.cc
index 357180f..665c26f6 100644
--- a/ash/ambient/ambient_access_token_controller.cc
+++ b/ash/ambient/ambient_access_token_controller.cc
@@ -110,7 +110,6 @@
 }
 
 void AmbientAccessTokenController::RunCallback(AccessTokenCallback callback) {
-  LOG(ERROR) << " DW run calback " << access_token_;
   std::move(callback).Run(gaia_id_, access_token_);
 }
 
diff --git a/ash/app_list/app_list_controller_impl.cc b/ash/app_list/app_list_controller_impl.cc
index 967d7412..eee530c 100644
--- a/ash/app_list/app_list_controller_impl.cc
+++ b/ash/app_list/app_list_controller_impl.cc
@@ -1132,10 +1132,12 @@
     // Special-case chip results, because the display type of app results
     // doesn't account for whether it's being displayed in the suggestion chips
     // or app tiles.
+    AppListNotifier::Result notifier_result(result->id(),
+                                            result->metrics_type());
     if (launched_from == AppListLaunchedFrom::kLaunchedFromSuggestionChip) {
-      notifier->NotifyLaunched(SearchResultDisplayType::kChip, result->id());
+      notifier->NotifyLaunched(SearchResultDisplayType::kChip, notifier_result);
     } else {
-      notifier->NotifyLaunched(result->display_type(), result->id());
+      notifier->NotifyLaunched(result->display_type(), notifier_result);
     }
   }
 
diff --git a/ash/app_list/model/search/search_result.h b/ash/app_list/model/search/search_result.h
index dc57d0e..f3a98ee0 100644
--- a/ash/app_list/model/search/search_result.h
+++ b/ash/app_list/model/search/search_result.h
@@ -33,6 +33,7 @@
  public:
   using ResultType = ash::AppListSearchResultType;
   using DisplayType = ash::SearchResultDisplayType;
+  using MetricsType = ash::SearchResultType;
   using Tag = ash::SearchResultTag;
   using Tags = ash::SearchResultTags;
   using Action = ash::SearchResultAction;
@@ -107,6 +108,11 @@
     metadata_->result_type = result_type;
   }
 
+  MetricsType metrics_type() const { return metadata_->metrics_type; }
+  void set_metrics_type(MetricsType metrics_type) {
+    metadata_->metrics_type = metrics_type;
+  }
+
   DisplayIndex display_index() const { return metadata_->display_index; }
   void set_display_index(DisplayIndex display_index) {
     metadata_->display_index = display_index;
diff --git a/ash/app_list/views/search_result_list_view.cc b/ash/app_list/views/search_result_list_view.cc
index 0d4ce14..d8c6e59 100644
--- a/ash/app_list/views/search_result_list_view.cc
+++ b/ash/app_list/views/search_result_list_view.cc
@@ -210,7 +210,6 @@
   // AppListNotifier and done in chrome.
   bool found_zero_state_file = false;
   bool found_drive_quick_access = false;
-  std::vector<std::string> display_ids;
 
   for (size_t i = 0; i < results_container_->children().size(); ++i) {
     SearchResultView* result_view = GetResultViewAt(i);
@@ -239,7 +238,6 @@
             display_results[i]->title()));
       }
 
-      display_ids.push_back(display_results[i]->id());
       result_view->SetResult(display_results[i]);
       result_view->SetVisible(true);
     } else {
@@ -250,7 +248,11 @@
 
   auto* notifier = view_delegate_->GetNotifier();
   if (notifier) {
-    notifier->NotifyResultsUpdated(SearchResultDisplayType::kList, display_ids);
+    std::vector<AppListNotifier::Result> notifier_results;
+    for (const auto* result : display_results)
+      notifier_results.emplace_back(result->id(), result->metrics_type());
+    notifier->NotifyResultsUpdated(SearchResultDisplayType::kList,
+                                   notifier_results);
   }
 
   // Logic for logging impression of items that were shown to user.
diff --git a/ash/app_list/views/search_result_tile_item_list_view.cc b/ash/app_list/views/search_result_tile_item_list_view.cc
index c1182d1..52547c1 100644
--- a/ash/app_list/views/search_result_tile_item_list_view.cc
+++ b/ash/app_list/views/search_result_tile_item_list_view.cc
@@ -134,7 +134,6 @@
 
   std::vector<SearchResult*> display_results = GetDisplayResults();
 
-  std::vector<std::string> display_ids;
   std::set<std::string> result_id_removed, result_id_added;
   bool is_result_an_installable_app = false;
   bool is_previous_result_installable_app = false;
@@ -179,7 +178,6 @@
     GetResultViewAt(i)->SetResult(item);
     GetResultViewAt(i)->set_group_index_in_container_view(app_group_index);
     result_id_added.insert(item->id());
-    display_ids.push_back(item->id());
     is_result_an_installable_app = IsResultAnInstallableApp(item);
 
     if (is_play_store_app_search_enabled_ ||
@@ -200,7 +198,11 @@
 
   auto* notifier = view_delegate()->GetNotifier();
   if (notifier) {
-    notifier->NotifyResultsUpdated(SearchResultDisplayType::kTile, display_ids);
+    std::vector<AppListNotifier::Result> notifier_results;
+    for (const auto* result : display_results)
+      notifier_results.emplace_back(result->id(), result->metrics_type());
+    notifier->NotifyResultsUpdated(SearchResultDisplayType::kTile,
+                                   notifier_results);
   }
 
   // Track play store results and start the timer for recording their impression
diff --git a/ash/app_list/views/suggestion_chip_container_view.cc b/ash/app_list/views/suggestion_chip_container_view.cc
index a3c99cdd..26e0e282 100644
--- a/ash/app_list/views/suggestion_chip_container_view.cc
+++ b/ash/app_list/views/suggestion_chip_container_view.cc
@@ -148,8 +148,6 @@
     }
   }
 
-  std::vector<std::string> display_ids;
-
   // Update search results here, but wait until layout to add them as child
   // views when we know this view's bounds.
   for (size_t i = 0; i < static_cast<size_t>(
@@ -157,14 +155,15 @@
        ++i) {
     suggestion_chip_views_[i]->SetResult(
         i < display_results.size() ? display_results[i] : nullptr);
-    if (i < display_results.size()) {
-      display_ids.push_back(display_results[i]->id());
-    }
   }
 
   auto* notifier = view_delegate()->GetNotifier();
   if (notifier) {
-    notifier->NotifyResultsUpdated(SearchResultDisplayType::kChip, display_ids);
+    std::vector<AppListNotifier::Result> notifier_results;
+    for (const auto* result : display_results)
+      notifier_results.emplace_back(result->id(), result->metrics_type());
+    notifier->NotifyResultsUpdated(SearchResultDisplayType::kChip,
+                                   notifier_results);
   }
 
   Layout();
diff --git a/ash/clipboard/clipboard_history.cc b/ash/clipboard/clipboard_history.cc
index f4a50cf..fa0eb30 100644
--- a/ash/clipboard/clipboard_history.cc
+++ b/ash/clipboard/clipboard_history.cc
@@ -4,7 +4,6 @@
 
 #include "ash/clipboard/clipboard_history.h"
 
-#include "ash/clipboard/clipboard_history_controller.h"
 #include "base/stl_util.h"
 #include "base/threading/sequenced_task_runner_handle.h"
 #include "ui/base/clipboard/clipboard_monitor.h"
@@ -35,12 +34,22 @@
   ui::ClipboardMonitor::GetInstance()->RemoveObserver(this);
 }
 
-const std::list<ui::ClipboardData>& ClipboardHistory::GetItems() const {
+void ClipboardHistory::AddObserver(Observer* observer) const {
+  observers_.AddObserver(observer);
+}
+
+void ClipboardHistory::RemoveObserver(Observer* observer) const {
+  observers_.RemoveObserver(observer);
+}
+
+const std::list<ClipboardHistoryItem>& ClipboardHistory::GetItems() const {
   return history_list_;
 }
 
 void ClipboardHistory::Clear() {
-  history_list_ = std::list<ui::ClipboardData>();
+  history_list_ = std::list<ClipboardHistoryItem>();
+  for (auto& observer : observers_)
+    observer.OnClipboardHistoryCleared();
 }
 
 bool ClipboardHistory::IsEmpty() const {
@@ -75,9 +84,16 @@
 }
 
 void ClipboardHistory::CommitData(ui::ClipboardData data) {
-  history_list_.push_front(std::move(data));
-  if (history_list_.size() > kMaxClipboardItemsShared)
+  history_list_.emplace_front(std::move(data));
+  for (auto& observer : observers_)
+    observer.OnClipboardHistoryItemAdded(history_list_.front());
+
+  if (history_list_.size() > kMaxClipboardItemsShared) {
+    auto removed = std::move(history_list_.back());
     history_list_.pop_back();
+    for (auto& observer : observers_)
+      observer.OnClipboardHistoryItemRemoved(removed);
+  }
 }
 
 void ClipboardHistory::Pause() {
diff --git a/ash/clipboard/clipboard_history.h b/ash/clipboard/clipboard_history.h
index bc4d2a19..3d7e441 100644
--- a/ash/clipboard/clipboard_history.h
+++ b/ash/clipboard/clipboard_history.h
@@ -9,20 +9,30 @@
 #include <map>
 
 #include "ash/ash_export.h"
+#include "ash/clipboard/clipboard_history_item.h"
 #include "base/component_export.h"
 #include "base/memory/weak_ptr.h"
+#include "base/observer_list.h"
 #include "ui/base/clipboard/clipboard_data.h"
 #include "ui/base/clipboard/clipboard_observer.h"
 
-namespace ui {
-class ClipboardData;
-}  // namespace ui
-
 namespace ash {
 
 // Keeps track of the last few things saved in the clipboard.
 class ASH_EXPORT ClipboardHistory : public ui::ClipboardObserver {
  public:
+  class ASH_EXPORT Observer : public base::CheckedObserver {
+   public:
+    // Called when a ClipboardHistoryItem has been added.
+    virtual void OnClipboardHistoryItemAdded(const ClipboardHistoryItem& item) {
+    }
+    // Called when a ClipboardHistoryItem has been removed.
+    virtual void OnClipboardHistoryItemRemoved(
+        const ClipboardHistoryItem& item) {}
+    // Called when ClipboardHistory is Clear()-ed.
+    virtual void OnClipboardHistoryCleared() {}
+  };
+
   // Prevents clipboard history from being recorded within its scope. If
   // anything is copied within its scope, history will not be recorded.
   class ASH_EXPORT ScopedPause {
@@ -41,9 +51,12 @@
   ClipboardHistory& operator=(const ClipboardHistory&) = delete;
   ~ClipboardHistory() override;
 
+  void AddObserver(Observer* observer) const;
+  void RemoveObserver(Observer* observer) const;
+
   // Returns the list of most recent items. The returned list is sorted by
   // recency.
-  const std::list<ui::ClipboardData>& GetItems() const;
+  const std::list<ClipboardHistoryItem>& GetItems() const;
 
   // Deletes clipboard history. Does not modify content stored in the clipboard.
   void Clear();
@@ -66,7 +79,11 @@
 
   // The history of data copied to the Clipboard. Items of the list are sorted
   // by recency.
-  std::list<ui::ClipboardData> history_list_;
+  std::list<ClipboardHistoryItem> history_list_;
+
+  // Mutable to allow adding/removing from |observers_| through a const
+  // ClipboardHistory.
+  mutable base::ObserverList<Observer> observers_;
 
   // Factory to create WeakPtrs used to debounce calls to CommitData().
   base::WeakPtrFactory<ClipboardHistory> commit_data_weak_factory_{this};
diff --git a/ash/clipboard/clipboard_history_controller.cc b/ash/clipboard/clipboard_history_controller.cc
index a16b651..fd31ae4 100644
--- a/ash/clipboard/clipboard_history_controller.cc
+++ b/ash/clipboard/clipboard_history_controller.cc
@@ -6,8 +6,8 @@
 
 #include "ash/accelerators/accelerator_controller_impl.h"
 #include "ash/clipboard/clipboard_history.h"
-#include "ash/clipboard/clipboard_history_helper.h"
 #include "ash/clipboard/clipboard_history_menu_model_adapter.h"
+#include "ash/clipboard/clipboard_history_resource_manager.h"
 #include "ash/public/cpp/window_tree_host_lookup.h"
 #include "ash/resources/vector_icons/vector_icons.h"
 #include "ash/shell.h"
@@ -37,32 +37,6 @@
 
 namespace {
 
-// TODO(dmblack): Move to clipboard_history_helper.
-ui::ImageModel GetImageModelForClipboardData(const ui::ClipboardData& item) {
-  if (item.format() & static_cast<int>(ui::ClipboardInternalFormat::kBitmap)) {
-    // TODO(newcomer): Show a smaller version of the bitmap.
-    return ui::ImageModel();
-  }
-  if (item.format() & static_cast<int>(ui::ClipboardInternalFormat::kWeb))
-    return ui::ImageModel::FromVectorIcon(ash::kWebSmartPasteIcon);
-  if (item.format() &
-      static_cast<int>(ui::ClipboardInternalFormat::kBookmark)) {
-    return ui::ImageModel::FromVectorIcon(ash::kWebBookmarkIcon);
-  }
-  if (item.format() & static_cast<int>(ui::ClipboardInternalFormat::kHtml))
-    return ui::ImageModel::FromVectorIcon(ash::kHtmlIcon);
-  if (item.format() & static_cast<int>(ui::ClipboardInternalFormat::kRtf))
-    return ui::ImageModel::FromVectorIcon(ash::kRtfIcon);
-  if (item.format() & static_cast<int>(ui::ClipboardInternalFormat::kText))
-    return ui::ImageModel::FromVectorIcon(ash::kTextIcon);
-  if (item.format() & static_cast<int>(ui::ClipboardInternalFormat::kCustom)) {
-    // TODO(crbug/1108901): Handle file manager case.
-    // TODO(crbug/1108902): Handle fallback case.
-    return ui::ImageModel();
-  }
-  return ui::ImageModel();
-}
-
 ui::ClipboardNonBacked* GetClipboard() {
   auto* clipboard = ui::ClipboardNonBacked::GetForCurrentThread();
   DCHECK(clipboard);
@@ -133,6 +107,8 @@
 
 ClipboardHistoryController::ClipboardHistoryController()
     : clipboard_history_(std::make_unique<ClipboardHistory>()),
+      resource_manager_(std::make_unique<ClipboardHistoryResourceManager>(
+          clipboard_history_.get())),
       accelerator_target_(std::make_unique<AcceleratorTarget>(this)),
       menu_delegate_(std::make_unique<MenuDelegate>(this)) {}
 
@@ -171,8 +147,8 @@
     return;
 
   clipboard_items_ =
-      std::vector<ui::ClipboardData>(clipboard_history_->GetItems().begin(),
-                                     clipboard_history_->GetItems().end());
+      std::vector<ClipboardHistoryItem>(clipboard_history_->GetItems().begin(),
+                                        clipboard_history_->GetItems().end());
 
   std::unique_ptr<ui::SimpleMenuModel> menu_model =
       std::make_unique<ui::SimpleMenuModel>(menu_delegate_.get());
@@ -181,8 +157,8 @@
           IDS_CLIPBOARD_MENU_CLIPBOARD));
   int index = 0;
   for (const auto& item : clipboard_items_) {
-    menu_model->AddItemWithIcon(index++, clipboard::helper::GetLabel(item),
-                                GetImageModelForClipboardData(item));
+    menu_model->AddItemWithIcon(index++, resource_manager_->GetLabel(item),
+                                resource_manager_->GetImageModel(item));
   }
   menu_model->AddSeparator(ui::MenuSeparatorType::NORMAL_SEPARATOR);
   menu_model->AddItemWithIcon(
@@ -213,14 +189,14 @@
   // If necessary, replace the clipboard's |original_data| temporarily so that
   // we can paste the selected history item.
   const bool shift_key_pressed = event_flags & ui::EF_SHIFT_DOWN;
-  if (shift_key_pressed || *it != *clipboard->GetClipboardData()) {
+  if (shift_key_pressed || it->data() != *clipboard->GetClipboardData()) {
     std::unique_ptr<ui::ClipboardData> temp_data;
     if (shift_key_pressed) {
       // When the shift key is pressed, we only paste plain text.
       temp_data = std::make_unique<ui::ClipboardData>();
-      temp_data->set_text(it->text());
+      temp_data->set_text(it->data().text());
     } else {
-      temp_data = std::make_unique<ui::ClipboardData>(*it);
+      temp_data = std::make_unique<ui::ClipboardData>(it->data());
     }
     // Pause clipboard history when manipulating the clipboard for a paste.
     ClipboardHistory::ScopedPause scoped_pause(clipboard_history_.get());
diff --git a/ash/clipboard/clipboard_history_controller.h b/ash/clipboard/clipboard_history_controller.h
index ee32f276..753a604 100644
--- a/ash/clipboard/clipboard_history_controller.h
+++ b/ash/clipboard/clipboard_history_controller.h
@@ -9,20 +9,18 @@
 #include <vector>
 
 #include "ash/ash_export.h"
+#include "ash/clipboard/clipboard_history_item.h"
 #include "base/memory/weak_ptr.h"
 
 namespace gfx {
 class Rect;
 }  // namespace gfx
 
-namespace ui {
-class ClipboardData;
-}  // namespace ui
-
 namespace ash {
 
 class ClipboardHistory;
 class ClipboardHistoryMenuModelAdapter;
+class ClipboardHistoryResourceManager;
 
 // Shows a menu with the last few things saved in the clipboard when the
 // keyboard shortcut is pressed.
@@ -45,6 +43,12 @@
   // Returns the history which tracks what is being copied to the clipboard.
   const ClipboardHistory* history() const { return clipboard_history_.get(); }
 
+  // Returns the resource manager which gets labels and images for items copied
+  // to the clipboard.
+  const ClipboardHistoryResourceManager* resource_manager() const {
+    return resource_manager_.get();
+  }
+
  private:
   class AcceleratorTarget;
   class MenuDelegate;
@@ -60,12 +64,14 @@
   std::unique_ptr<ClipboardHistoryMenuModelAdapter> context_menu_;
   // Used to keep track of what is being copied to the clipboard.
   std::unique_ptr<ClipboardHistory> clipboard_history_;
+  // Manages resources for clipboard history.
+  std::unique_ptr<ClipboardHistoryResourceManager> resource_manager_;
   // Detects the search+v key combo.
   std::unique_ptr<AcceleratorTarget> accelerator_target_;
   // Handles events on the contextual menu.
   std::unique_ptr<MenuDelegate> menu_delegate_;
   // The items we show in the contextual menu. Saved so we can paste them later.
-  std::vector<ui::ClipboardData> clipboard_items_;
+  std::vector<ClipboardHistoryItem> clipboard_items_;
 
   base::WeakPtrFactory<ClipboardHistoryController> weak_ptr_factory_{this};
 };
diff --git a/ash/clipboard/clipboard_history_helper.cc b/ash/clipboard/clipboard_history_helper.cc
deleted file mode 100644
index 99e4031..0000000
--- a/ash/clipboard/clipboard_history_helper.cc
+++ /dev/null
@@ -1,97 +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 "ash/clipboard/clipboard_history_helper.h"
-
-#include <string>
-#include <vector>
-
-#include "base/notreached.h"
-#include "base/strings/escape.h"
-#include "base/strings/string_split.h"
-#include "base/strings/string_util.h"
-#include "base/strings/utf_string_conversions.h"
-#include "ui/base/clipboard/clipboard_data.h"
-#include "ui/base/clipboard/custom_data_helper.h"
-#include "ui/base/resource/resource_bundle.h"
-#include "ui/strings/grit/ui_strings.h"
-
-namespace ash {
-namespace clipboard {
-namespace helper {
-
-namespace {
-
-constexpr char kFileSystemSourcesType[] = "fs/sources";
-
-// Private ---------------------------------------------------------------------
-
-// Returns true if |data| contains the specified |format|.
-bool ContainsFormat(const ui::ClipboardData& data,
-                    ui::ClipboardInternalFormat format) {
-  return data.format() & static_cast<int>(format);
-}
-
-// Returns the localized string for the specified |resource_id|.
-base::string16 GetLocalizedString(int resource_id) {
-  return ui::ResourceBundle::GetSharedInstance().GetLocalizedString(
-      resource_id);
-}
-
-// TODO(crbug/1108902): Handle fallback case.
-// Returns the label to display for the custom data contained within |data|.
-base::string16 GetLabelForCustomData(const ui::ClipboardData& data) {
-  DCHECK(ContainsFormat(data, ui::ClipboardInternalFormat::kCustom));
-
-  // Attempt to read file system sources in the custom data.
-  base::string16 sources;
-  ui::ReadCustomDataForType(
-      data.custom_data_data().c_str(), data.custom_data_data().size(),
-      base::UTF8ToUTF16(kFileSystemSourcesType), &sources);
-
-  if (sources.empty())
-    return base::UTF8ToUTF16("<Custom Data>");
-
-  // Split sources into a list.
-  std::vector<base::StringPiece16> source_list =
-      base::SplitStringPiece(sources, base::UTF8ToUTF16("\n"),
-                             base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
-
-  // Strip path information, so all that's left are file names.
-  for (auto it = source_list.begin(); it != source_list.end(); ++it)
-    *it = it->substr(it->find_last_of(base::UTF8ToUTF16("/")) + 1);
-
-  // Join file names, unescaping encoded character sequences for display. This
-  // ensures that "My%20File.txt" will display as "My File.txt".
-  return base::UTF8ToUTF16(base::UnescapeURLComponent(
-      base::UTF16ToUTF8(base::JoinString(source_list, base::UTF8ToUTF16(", "))),
-      base::UnescapeRule::SPACES));
-}
-
-}  // namespace
-
-// Public ----------------------------------------------------------------------
-
-base::string16 GetLabel(const ui::ClipboardData& data) {
-  if (ContainsFormat(data, ui::ClipboardInternalFormat::kBitmap))
-    return GetLocalizedString(IDS_CLIPBOARD_MENU_IMAGE);
-  if (ContainsFormat(data, ui::ClipboardInternalFormat::kText))
-    return base::UTF8ToUTF16(data.text());
-  if (ContainsFormat(data, ui::ClipboardInternalFormat::kHtml))
-    return base::UTF8ToUTF16(data.markup_data());
-  if (ContainsFormat(data, ui::ClipboardInternalFormat::kRtf))
-    return GetLocalizedString(IDS_CLIPBOARD_MENU_RTF_CONTENT);
-  if (ContainsFormat(data, ui::ClipboardInternalFormat::kBookmark))
-    return base::UTF8ToUTF16(data.bookmark_title());
-  if (ContainsFormat(data, ui::ClipboardInternalFormat::kWeb))
-    return GetLocalizedString(IDS_CLIPBOARD_MENU_WEB_SMART_PASTE);
-  if (ContainsFormat(data, ui::ClipboardInternalFormat::kCustom))
-    return GetLabelForCustomData(data);
-  NOTREACHED();
-  return base::string16();
-}
-
-}  // namespace helper
-}  // namespace clipboard
-}  // namespace ash
diff --git a/ash/clipboard/clipboard_history_helper.h b/ash/clipboard/clipboard_history_helper.h
deleted file mode 100644
index 0954973..0000000
--- a/ash/clipboard/clipboard_history_helper.h
+++ /dev/null
@@ -1,26 +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 ASH_CLIPBOARD_CLIPBOARD_HISTORY_HELPER_H_
-#define ASH_CLIPBOARD_CLIPBOARD_HISTORY_HELPER_H_
-
-#include "ash/ash_export.h"
-#include "base/strings/string16.h"
-
-namespace ui {
-class ClipboardData;
-}  // namespace ui
-
-namespace ash {
-namespace clipboard {
-namespace helper {
-
-// Returns the label to display for the specified clipboard |data|.
-ASH_EXPORT base::string16 GetLabel(const ui::ClipboardData& data);
-
-}  // namespace helper
-}  // namespace clipboard
-}  // namespace ash
-
-#endif  // ASH_CLIPBOARD_CLIPBOARD_HISTORY_HELPER_H_
diff --git a/ash/clipboard/clipboard_history_helper_unittest.cc b/ash/clipboard/clipboard_history_helper_unittest.cc
deleted file mode 100644
index f91e760..0000000
--- a/ash/clipboard/clipboard_history_helper_unittest.cc
+++ /dev/null
@@ -1,220 +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 "ash/clipboard/clipboard_history_helper.h"
-
-#include <string>
-#include <unordered_map>
-
-#include "base/optional.h"
-#include "base/pickle.h"
-#include "base/strings/string_util.h"
-#include "base/strings/utf_string_conversions.h"
-#include "base/test/icu_test_util.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/skia/include/core/SkBitmap.h"
-#include "ui/base/clipboard/clipboard_data.h"
-#include "ui/base/clipboard/clipboard_format_type.h"
-#include "ui/base/clipboard/custom_data_helper.h"
-#include "ui/gfx/image/image_unittest_util.h"
-
-namespace ash {
-namespace clipboard {
-namespace helper {
-
-namespace {
-
-// ClipboardDataBuilder --------------------------------------------------------
-
-class ClipboardDataBuilder {
- public:
-  ClipboardDataBuilder() = default;
-  ClipboardDataBuilder(const ClipboardDataBuilder&) = delete;
-  ClipboardDataBuilder& operator=(const ClipboardDataBuilder&) = delete;
-  ~ClipboardDataBuilder() = default;
-
-  ui::ClipboardData Build() const {
-    ui::ClipboardData data;
-    if (text_.has_value())
-      data.set_text(text_.value());
-    if (markup_.has_value())
-      data.set_markup_data(markup_.value());
-    if (rtf_.has_value())
-      data.SetRTFData(rtf_.value());
-    if (bookmark_title_.has_value())
-      data.set_bookmark_title(bookmark_title_.value());
-    if (bitmap_.has_value())
-      data.SetBitmapData(bitmap_.value());
-    if (custom_format_.has_value() && custom_data_.has_value())
-      data.SetCustomData(custom_format_.value(), custom_data_.value());
-    if (web_smart_paste_.has_value())
-      data.set_web_smart_paste(web_smart_paste_.value());
-    return data;
-  }
-
-  ClipboardDataBuilder& SetText(const std::string& text) {
-    text_ = text;
-    return *this;
-  }
-
-  ClipboardDataBuilder& ClearText() {
-    text_ = base::nullopt;
-    return *this;
-  }
-
-  ClipboardDataBuilder& SetMarkup(const std::string& markup) {
-    markup_ = markup;
-    return *this;
-  }
-
-  ClipboardDataBuilder& ClearMarkup() {
-    markup_ = base::nullopt;
-    return *this;
-  }
-
-  ClipboardDataBuilder& SetRtf(const std::string& rtf) {
-    rtf_ = rtf;
-    return *this;
-  }
-
-  ClipboardDataBuilder& ClearRtf() {
-    rtf_ = base::nullopt;
-    return *this;
-  }
-
-  ClipboardDataBuilder& SetBookmarkTitle(const std::string& bookmark_title) {
-    bookmark_title_ = bookmark_title;
-    return *this;
-  }
-
-  ClipboardDataBuilder& ClearBookmarkTitle() {
-    bookmark_title_ = base::nullopt;
-    return *this;
-  }
-
-  ClipboardDataBuilder& SetBitmap(const SkBitmap& bitmap) {
-    bitmap_ = bitmap;
-    return *this;
-  }
-
-  ClipboardDataBuilder& ClearBitmap() {
-    bitmap_ = base::nullopt;
-    return *this;
-  }
-
-  ClipboardDataBuilder& SetCustomData(const std::string& custom_format,
-                                      const std::string& custom_data) {
-    custom_format_ = custom_format;
-    custom_data_ = custom_data;
-    return *this;
-  }
-
-  ClipboardDataBuilder& ClearCustomData() {
-    custom_format_ = base::nullopt;
-    custom_data_ = base::nullopt;
-    return *this;
-  }
-
-  ClipboardDataBuilder& SetFileSystemData(
-      std::initializer_list<std::string>&& source_list) {
-    constexpr char kFileSystemSourcesType[] = "fs/sources";
-
-    base::Pickle custom_data;
-    ui::WriteCustomDataToPickle(
-        std::unordered_map<base::string16, base::string16>(
-            {{base::UTF8ToUTF16(kFileSystemSourcesType),
-              base::UTF8ToUTF16(base::JoinString(source_list, "\n"))}}),
-        &custom_data);
-
-    return SetCustomData(
-        ui::ClipboardFormatType::GetWebCustomDataType().GetName(),
-        std::string(static_cast<const char*>(custom_data.data()),
-                    custom_data.size()));
-  }
-
-  ClipboardDataBuilder& SetWebSmartPaste(bool web_smart_paste) {
-    web_smart_paste_ = web_smart_paste;
-    return *this;
-  }
-
-  ClipboardDataBuilder& ClearWebSmartPaste() {
-    web_smart_paste_ = base::nullopt;
-    return *this;
-  }
-
- private:
-  base::Optional<std::string> text_;
-  base::Optional<std::string> markup_;
-  base::Optional<std::string> rtf_;
-  base::Optional<std::string> bookmark_title_;
-  base::Optional<SkBitmap> bitmap_;
-  base::Optional<std::string> custom_format_;
-  base::Optional<std::string> custom_data_;
-  base::Optional<bool> web_smart_paste_;
-};
-
-}  // namespace
-
-// Tests -----------------------------------------------------------------------
-
-using ClipboardHistoryHelperTest = testing::Test;
-
-TEST_F(ClipboardHistoryHelperTest, GetLabel) {
-  base::test::ScopedRestoreICUDefaultLocale locale("en_US");
-
-  // Populate a builder with all the data formats that we expect to handle.
-  ClipboardDataBuilder builder;
-  builder.SetText("Text")
-      .SetMarkup("Markup")
-      .SetRtf("Rtf")
-      .SetBookmarkTitle("Bookmark Title")
-      .SetBitmap(gfx::test::CreateBitmap(10, 10))
-      .SetCustomData("Custom Format", "Custom Data")
-      .SetWebSmartPaste(true);
-
-  // Bitmap data always take precedence.
-  EXPECT_EQ(GetLabel(builder.Build()), base::UTF8ToUTF16("Image"));
-
-  builder.ClearBitmap();
-
-  // In the absence of bitmap data, text data takes precedence.
-  EXPECT_EQ(GetLabel(builder.Build()), base::UTF8ToUTF16("Text"));
-
-  builder.ClearText();
-
-  // In the absence of text data, HTML data takes precedence.
-  EXPECT_EQ(GetLabel(builder.Build()), base::UTF8ToUTF16("Markup"));
-
-  builder.ClearMarkup();
-
-  // In the absence of HTML data, RTF data takes precedence.
-  EXPECT_EQ(GetLabel(builder.Build()), base::UTF8ToUTF16("RTF Content"));
-
-  builder.ClearRtf();
-
-  // In the absence of RTF data, bookmark data takes precedence.
-  EXPECT_EQ(GetLabel(builder.Build()), base::UTF8ToUTF16("Bookmark Title"));
-
-  builder.ClearBookmarkTitle();
-
-  // In the absence of bookmark data, web smart paste data takes precedence.
-  EXPECT_EQ(GetLabel(builder.Build()),
-            base::UTF8ToUTF16("Web Smart Paste Content"));
-
-  builder.ClearWebSmartPaste();
-
-  // In the absence of web smart paste data, custom data takes precedence.
-  EXPECT_EQ(GetLabel(builder.Build()), base::UTF8ToUTF16("<Custom Data>"));
-
-  builder.SetFileSystemData(
-      {"/path/to/My%20File.txt", "/path/to/My%20Other%20File.txt"});
-
-  // We specially treat custom file system data to show a list of file names.
-  EXPECT_EQ(GetLabel(builder.Build()),
-            base::UTF8ToUTF16("My File.txt, My Other File.txt"));
-}
-
-}  // namespace helper
-}  // namespace clipboard
-}  // namespace ash
diff --git a/ash/clipboard/clipboard_history_item.cc b/ash/clipboard/clipboard_history_item.cc
new file mode 100644
index 0000000..11fb9c0
--- /dev/null
+++ b/ash/clipboard/clipboard_history_item.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 "ash/clipboard/clipboard_history_item.h"
+
+namespace ash {
+
+ClipboardHistoryItem::ClipboardHistoryItem(ui::ClipboardData data)
+    : id_(base::UnguessableToken::Create()), data_(std::move(data)) {}
+
+ClipboardHistoryItem::ClipboardHistoryItem(const ClipboardHistoryItem&) =
+    default;
+
+ClipboardHistoryItem::ClipboardHistoryItem(ClipboardHistoryItem&&) = default;
+
+ClipboardHistoryItem::~ClipboardHistoryItem() = default;
+
+}  // namespace ash
diff --git a/ash/clipboard/clipboard_history_item.h b/ash/clipboard/clipboard_history_item.h
new file mode 100644
index 0000000..cfb66b6
--- /dev/null
+++ b/ash/clipboard/clipboard_history_item.h
@@ -0,0 +1,39 @@
+// 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 ASH_CLIPBOARD_CLIPBOARD_HISTORY_ITEM_H_
+#define ASH_CLIPBOARD_CLIPBOARD_HISTORY_ITEM_H_
+
+#include "ash/ash_export.h"
+#include "base/unguessable_token.h"
+#include "ui/base/clipboard/clipboard_data.h"
+
+namespace ash {
+
+// Wraps ClipboardData with a unique identifier.
+class ASH_EXPORT ClipboardHistoryItem {
+ public:
+  explicit ClipboardHistoryItem(ui::ClipboardData data);
+  ClipboardHistoryItem(const ClipboardHistoryItem&);
+  ClipboardHistoryItem(ClipboardHistoryItem&&);
+
+  // Copy/move assignment operators are deleted to be consistent with
+  // ui::ClipboardData and ui::ClipboardDataEndpoint.
+  ClipboardHistoryItem& operator=(const ClipboardHistoryItem&) = delete;
+  ClipboardHistoryItem& operator=(ClipboardHistoryItem&&) = delete;
+
+  ~ClipboardHistoryItem();
+
+  const base::UnguessableToken& id() const { return id_; }
+  const ui::ClipboardData& data() const { return data_; }
+
+ private:
+  // Unique identifier.
+  base::UnguessableToken id_;
+  ui::ClipboardData data_;
+};
+
+}  // namespace ash
+
+#endif  // ASH_CLIPBOARD_CLIPBOARD_HISTORY_ITEM_H_
diff --git a/ash/clipboard/clipboard_history_resource_manager.cc b/ash/clipboard/clipboard_history_resource_manager.cc
new file mode 100644
index 0000000..000acdf
--- /dev/null
+++ b/ash/clipboard/clipboard_history_resource_manager.cc
@@ -0,0 +1,257 @@
+// 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 "ash/clipboard/clipboard_history_resource_manager.h"
+
+#include <string>
+
+#include "ash/public/cpp/clipboard_image_model_factory.h"
+#include "ash/resources/vector_icons/vector_icons.h"
+#include "base/bind.h"
+#include "base/notreached.h"
+#include "base/stl_util.h"
+#include "base/strings/escape.h"
+#include "base/strings/string_split.h"
+#include "base/strings/string_util.h"
+#include "base/strings/utf_string_conversions.h"
+#include "ui/base/clipboard/clipboard_data.h"
+#include "ui/base/clipboard/custom_data_helper.h"
+#include "ui/base/resource/resource_bundle.h"
+#include "ui/strings/grit/ui_strings.h"
+
+namespace ash {
+
+namespace {
+
+constexpr char kFileSystemSourcesType[] = "fs/sources";
+
+// Helpers ---------------------------------------------------------------------
+
+// Returns true if |data| contains the specified |format|.
+bool ContainsFormat(const ui::ClipboardData& data,
+                    ui::ClipboardInternalFormat format) {
+  return data.format() & static_cast<int>(format);
+}
+
+// Returns the localized string for the specified |resource_id|.
+base::string16 GetLocalizedString(int resource_id) {
+  return ui::ResourceBundle::GetSharedInstance().GetLocalizedString(
+      resource_id);
+}
+
+// TODO(crbug/1108902): Handle fallback case.
+// Returns the label to display for the custom data contained within |data|.
+base::string16 GetLabelForCustomData(const ui::ClipboardData& data) {
+  DCHECK(ContainsFormat(data, ui::ClipboardInternalFormat::kCustom));
+
+  // Attempt to read file system sources in the custom data.
+  base::string16 sources;
+  ui::ReadCustomDataForType(
+      data.custom_data_data().c_str(), data.custom_data_data().size(),
+      base::UTF8ToUTF16(kFileSystemSourcesType), &sources);
+
+  if (sources.empty()) {
+    // TODO(https://crbug.com/1119931): Move this to a grd file to make sure it
+    // is internationalized.
+    return base::UTF8ToUTF16("<Custom Data>");
+  }
+
+  // Split sources into a list.
+  std::vector<base::StringPiece16> source_list =
+      base::SplitStringPiece(sources, base::UTF8ToUTF16("\n"),
+                             base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
+
+  // Strip path information, so all that's left are file names.
+  for (auto it = source_list.begin(); it != source_list.end(); ++it)
+    *it = it->substr(it->find_last_of(base::UTF8ToUTF16("/")) + 1);
+
+  // Join file names, unescaping encoded character sequences for display. This
+  // ensures that "My%20File.txt" will display as "My File.txt".
+  return base::UTF8ToUTF16(base::UnescapeURLComponent(
+      base::UTF16ToUTF8(base::JoinString(source_list, base::UTF8ToUTF16(", "))),
+      base::UnescapeRule::SPACES));
+}
+
+}  // namespace
+
+// ClipboardHistoryResourceManager ---------------------------------------------
+
+ClipboardHistoryResourceManager::ClipboardHistoryResourceManager(
+    const ClipboardHistory* clipboard_history)
+    : clipboard_history_(clipboard_history) {
+  clipboard_history_->AddObserver(this);
+}
+
+ClipboardHistoryResourceManager::~ClipboardHistoryResourceManager() {
+  clipboard_history_->RemoveObserver(this);
+
+  CancelUnfinishedRequests();
+}
+
+ui::ImageModel ClipboardHistoryResourceManager::GetImageModel(
+    const ClipboardHistoryItem& item) const {
+  // Use a cached image model when possible.
+  auto cached_image_model = FindCachedImageModelForItem(item);
+  if (cached_image_model != cached_image_models_.end())
+    return cached_image_model->image_model;
+
+  // TODO(newcomer): Show a smaller version of the bitmap.
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kBitmap))
+    return ui::ImageModel();
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kWeb))
+    return ui::ImageModel::FromVectorIcon(ash::kWebSmartPasteIcon);
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kBookmark))
+    return ui::ImageModel::FromVectorIcon(ash::kWebBookmarkIcon);
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kHtml))
+    return ui::ImageModel::FromVectorIcon(ash::kHtmlIcon);
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kRtf))
+    return ui::ImageModel::FromVectorIcon(ash::kRtfIcon);
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kText))
+    return ui::ImageModel::FromVectorIcon(ash::kTextIcon);
+  // TODO(crbug/1108901): Handle file manager case.
+  // TODO(crbug/1108902): Handle fallback case.
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kCustom))
+    return ui::ImageModel();
+  NOTREACHED();
+  return ui::ImageModel();
+}
+
+base::string16 ClipboardHistoryResourceManager::GetLabel(
+    const ClipboardHistoryItem& item) const {
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kBitmap))
+    return GetLocalizedString(IDS_CLIPBOARD_MENU_IMAGE);
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kText))
+    return base::UTF8ToUTF16(item.data().text());
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kHtml))
+    return base::UTF8ToUTF16(item.data().markup_data());
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kRtf))
+    return GetLocalizedString(IDS_CLIPBOARD_MENU_RTF_CONTENT);
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kBookmark))
+    return base::UTF8ToUTF16(item.data().bookmark_title());
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kWeb))
+    return GetLocalizedString(IDS_CLIPBOARD_MENU_WEB_SMART_PASTE);
+  if (ContainsFormat(item.data(), ui::ClipboardInternalFormat::kCustom))
+    return GetLabelForCustomData(item.data());
+  NOTREACHED();
+  return base::string16();
+}
+
+ClipboardHistoryResourceManager::CachedImageModel::CachedImageModel() {}
+
+ClipboardHistoryResourceManager::CachedImageModel::CachedImageModel(
+    const CachedImageModel& other) = default;
+
+ClipboardHistoryResourceManager::CachedImageModel&
+ClipboardHistoryResourceManager::CachedImageModel::operator=(
+    const CachedImageModel&) = default;
+
+ClipboardHistoryResourceManager::CachedImageModel::~CachedImageModel() =
+    default;
+
+void ClipboardHistoryResourceManager::CacheImageModel(
+    const base::UnguessableToken& id,
+    ui::ImageModel image_model) {
+  auto cached_image_model = base::ConstCastIterator(
+      cached_image_models_, FindCachedImageModelForId(id));
+  if (cached_image_model != cached_image_models_.end())
+    cached_image_model->image_model = std::move(image_model);
+}
+
+std::vector<ClipboardHistoryResourceManager::CachedImageModel>::const_iterator
+ClipboardHistoryResourceManager::FindCachedImageModelForId(
+    const base::UnguessableToken& id) const {
+  return std::find_if(cached_image_models_.cbegin(),
+                      cached_image_models_.cend(),
+                      [&](const auto& cached_image_model) {
+                        return cached_image_model.id == id;
+                      });
+}
+
+std::vector<ClipboardHistoryResourceManager::CachedImageModel>::const_iterator
+ClipboardHistoryResourceManager::FindCachedImageModelForItem(
+    const ClipboardHistoryItem& item) const {
+  return std::find_if(
+      cached_image_models_.cbegin(), cached_image_models_.cend(),
+      [&](const auto& cached_image_model) {
+        return base::Contains(cached_image_model.clipboard_history_item_ids,
+                              item.id());
+      });
+}
+
+void ClipboardHistoryResourceManager::CancelUnfinishedRequests() {
+  for (const auto& cached_image_model : cached_image_models_) {
+    if (cached_image_model.image_model.IsEmpty())
+      ClipboardImageModelFactory::Get()->CancelRequest(cached_image_model.id);
+  }
+}
+
+void ClipboardHistoryResourceManager::OnClipboardHistoryItemAdded(
+    const ClipboardHistoryItem& item) {
+  // For items that will be represented by their rendered HTML, we need to do
+  // some prep work to pre-render and cache an image model.
+  if (!item.data().bitmap().isNull() || item.data().markup_data().empty())
+    return;
+
+  const auto& items = clipboard_history_->GetItems();
+
+  // See if we have an |existing| item that will render the same as |item|.
+  auto it = std::find_if(items.begin(), items.end(), [&](const auto& existing) {
+    return &existing != &item && existing.data().bitmap().isNull() &&
+           existing.data().markup_data() == item.data().markup_data();
+  });
+
+  // If we don't have an existing image model in the cache, create one and
+  // instruct ClipboardImageModelFactory to render it. Note that the factory may
+  // or may not start rendering immediately depending on its activation status.
+  if (it == items.end()) {
+    base::UnguessableToken id = base::UnguessableToken::Create();
+    CachedImageModel cached_image_model;
+    cached_image_model.id = id;
+    cached_image_model.clipboard_history_item_ids.push_back(item.id());
+    cached_image_models_.push_back(std::move(cached_image_model));
+
+    ClipboardImageModelFactory::Get()->Render(
+        id, item.data().markup_data(),
+        base::BindOnce(&ClipboardHistoryResourceManager::CacheImageModel,
+                       weak_factory_.GetWeakPtr(), id));
+    return;
+  }
+  // If we do have an existing model, we need only to update its usages.
+  auto cached_image_model = base::ConstCastIterator(
+      cached_image_models_, FindCachedImageModelForItem(*it));
+  DCHECK(cached_image_model != cached_image_models_.end());
+  cached_image_model->clipboard_history_item_ids.push_back(item.id());
+}
+
+void ClipboardHistoryResourceManager::OnClipboardHistoryItemRemoved(
+    const ClipboardHistoryItem& item) {
+  // For items that will not be represented by their rendered HTML, do nothing.
+  if (!item.data().bitmap().isNull() || item.data().markup_data().empty())
+    return;
+
+  // We should have an image model in the cache.
+  auto cached_image_model = base::ConstCastIterator(
+      cached_image_models_, FindCachedImageModelForItem(item));
+
+  DCHECK(cached_image_model != cached_image_models_.end());
+
+  // Update usages.
+  base::Erase(cached_image_model->clipboard_history_item_ids, item.id());
+  if (!cached_image_model->clipboard_history_item_ids.empty())
+    return;
+
+  // If the ImageModel was never rendered, cancel the request.
+  if (cached_image_model->image_model.IsEmpty())
+    ClipboardImageModelFactory::Get()->CancelRequest(cached_image_model->id);
+
+  // If the cached image model is no longer in use, it can be erased.
+  cached_image_models_.erase(cached_image_model);
+}
+
+void ClipboardHistoryResourceManager::OnClipboardHistoryCleared() {
+  CancelUnfinishedRequests();
+  cached_image_models_ = std::vector<CachedImageModel>();
+}
+
+}  // namespace ash
diff --git a/ash/clipboard/clipboard_history_resource_manager.h b/ash/clipboard/clipboard_history_resource_manager.h
new file mode 100644
index 0000000..a39fd6db
--- /dev/null
+++ b/ash/clipboard/clipboard_history_resource_manager.h
@@ -0,0 +1,80 @@
+// 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 ASH_CLIPBOARD_CLIPBOARD_HISTORY_RESOURCE_MANAGER_H_
+#define ASH_CLIPBOARD_CLIPBOARD_HISTORY_RESOURCE_MANAGER_H_
+
+#include <vector>
+
+#include "ash/ash_export.h"
+#include "ash/clipboard/clipboard_history.h"
+#include "ash/clipboard/clipboard_history_item.h"
+#include "base/strings/string16.h"
+#include "base/unguessable_token.h"
+#include "ui/base/models/image_model.h"
+
+namespace ash {
+
+class ASH_EXPORT ClipboardHistoryResourceManager
+    : public ClipboardHistory::Observer {
+ public:
+  explicit ClipboardHistoryResourceManager(
+      const ClipboardHistory* clipboard_history);
+  ClipboardHistoryResourceManager(const ClipboardHistoryResourceManager&) =
+      delete;
+  ClipboardHistoryResourceManager& operator=(
+      const ClipboardHistoryResourceManager&) = delete;
+  ~ClipboardHistoryResourceManager() override;
+
+  // Returns the image to display for the specified clipboard history |item|.
+  ui::ImageModel GetImageModel(const ClipboardHistoryItem& item) const;
+
+  // Returns the label to display for the specified clipboard history |item|.
+  base::string16 GetLabel(const ClipboardHistoryItem& item) const;
+
+ private:
+  struct CachedImageModel {
+    CachedImageModel();
+    CachedImageModel(const CachedImageModel&);
+    CachedImageModel& operator=(const CachedImageModel&);
+    ~CachedImageModel();
+    // Unique identifier.
+    base::UnguessableToken id;
+    // ImageModel that was created by ClipboardImageModelFactory.
+    ui::ImageModel image_model;
+    // ClipboardHistoryItem id's which utilize this CachedImageModel.
+    std::vector<base::UnguessableToken> clipboard_history_item_ids;
+  };
+
+  // Caches the specified |image_model| with the specified |id|.
+  void CacheImageModel(const base::UnguessableToken& id,
+                       ui::ImageModel image_model);
+
+  // Finds the cached image model associated with the specified |id|.
+  std::vector<ClipboardHistoryResourceManager::CachedImageModel>::const_iterator
+  FindCachedImageModelForId(const base::UnguessableToken& id) const;
+
+  // Finds the cached image model associated with the specified |item|.
+  std::vector<ClipboardHistoryResourceManager::CachedImageModel>::const_iterator
+  FindCachedImageModelForItem(const ClipboardHistoryItem& item) const;
+
+  // Cancels all unfinished requests.
+  void CancelUnfinishedRequests();
+
+  // ClipboardHistory::Observer:
+  void OnClipboardHistoryItemAdded(const ClipboardHistoryItem& item) override;
+  void OnClipboardHistoryItemRemoved(const ClipboardHistoryItem& item) override;
+  void OnClipboardHistoryCleared() override;
+
+  // Owned by ClipboardHistoryController.
+  const ClipboardHistory* const clipboard_history_;
+
+  std::vector<CachedImageModel> cached_image_models_;
+
+  base::WeakPtrFactory<ClipboardHistoryResourceManager> weak_factory_{this};
+};
+
+}  // namespace ash
+
+#endif  // ASH_CLIPBOARD_CLIPBOARD_HISTORY_RESOURCE_MANAGER_H_
diff --git a/ash/clipboard/clipboard_history_resource_manager_unittest.cc b/ash/clipboard/clipboard_history_resource_manager_unittest.cc
new file mode 100644
index 0000000..0c23312
--- /dev/null
+++ b/ash/clipboard/clipboard_history_resource_manager_unittest.cc
@@ -0,0 +1,449 @@
+// 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 "ash/clipboard/clipboard_history_resource_manager.h"
+
+#include <string>
+#include <unordered_map>
+
+#include "ash/clipboard/clipboard_history.h"
+#include "ash/clipboard/clipboard_history_controller.h"
+#include "ash/clipboard/clipboard_history_item.h"
+#include "ash/public/cpp/clipboard_image_model_factory.h"
+#include "ash/shell.h"
+#include "ash/test/ash_test_base.h"
+#include "base/callback.h"
+#include "base/optional.h"
+#include "base/pickle.h"
+#include "base/strings/string_util.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/test/icu_test_util.h"
+#include "base/test/scoped_feature_list.h"
+#include "chromeos/constants/chromeos_features.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/base/clipboard/clipboard_data.h"
+#include "ui/base/clipboard/clipboard_format_type.h"
+#include "ui/base/clipboard/custom_data_helper.h"
+#include "ui/base/clipboard/scoped_clipboard_writer.h"
+#include "ui/gfx/image/image_skia.h"
+#include "ui/gfx/image/image_unittest_util.h"
+
+namespace ash {
+
+namespace {
+
+void FlushMessageLoop() {
+  base::RunLoop run_loop;
+  base::SequencedTaskRunnerHandle::Get()->PostTask(FROM_HERE,
+                                                   run_loop.QuitClosure());
+  run_loop.Run();
+}
+
+SkBitmap GetRandomBitmap() {
+  SkColor color = rand() % 0xFFFFFF + 1;
+
+  SkBitmap bitmap;
+  bitmap.allocN32Pixels(24, 24);
+  bitmap.eraseARGB(255, SkColorGetR(color), SkColorGetG(color),
+                   SkColorGetB(color));
+  return bitmap;
+}
+
+ui::ImageModel GetRandomImageModel() {
+  return ui::ImageModel::FromImageSkia(
+      gfx::ImageSkia::CreateFrom1xBitmap(GetRandomBitmap()));
+}
+
+// ClipboardHistoryItemBuilder ------------------------------------------------
+
+class ClipboardHistoryItemBuilder {
+ public:
+  ClipboardHistoryItemBuilder() = default;
+  ClipboardHistoryItemBuilder(const ClipboardHistoryItemBuilder&) = delete;
+  ClipboardHistoryItemBuilder& operator=(const ClipboardHistoryItemBuilder&) =
+      delete;
+  ~ClipboardHistoryItemBuilder() = default;
+
+  ClipboardHistoryItem Build() const {
+    ui::ClipboardData data;
+    if (text_.has_value())
+      data.set_text(text_.value());
+    if (markup_.has_value())
+      data.set_markup_data(markup_.value());
+    if (rtf_.has_value())
+      data.SetRTFData(rtf_.value());
+    if (bookmark_title_.has_value())
+      data.set_bookmark_title(bookmark_title_.value());
+    if (bitmap_.has_value())
+      data.SetBitmapData(bitmap_.value());
+    if (custom_format_.has_value() && custom_data_.has_value())
+      data.SetCustomData(custom_format_.value(), custom_data_.value());
+    if (web_smart_paste_.has_value())
+      data.set_web_smart_paste(web_smart_paste_.value());
+    return ClipboardHistoryItem(std::move(data));
+  }
+
+  ClipboardHistoryItemBuilder& SetText(const std::string& text) {
+    text_ = text;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& ClearText() {
+    text_ = base::nullopt;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& SetMarkup(const std::string& markup) {
+    markup_ = markup;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& ClearMarkup() {
+    markup_ = base::nullopt;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& SetRtf(const std::string& rtf) {
+    rtf_ = rtf;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& ClearRtf() {
+    rtf_ = base::nullopt;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& SetBookmarkTitle(
+      const std::string& bookmark_title) {
+    bookmark_title_ = bookmark_title;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& ClearBookmarkTitle() {
+    bookmark_title_ = base::nullopt;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& SetBitmap(const SkBitmap& bitmap) {
+    bitmap_ = bitmap;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& ClearBitmap() {
+    bitmap_ = base::nullopt;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& SetCustomData(const std::string& custom_format,
+                                             const std::string& custom_data) {
+    custom_format_ = custom_format;
+    custom_data_ = custom_data;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& ClearCustomData() {
+    custom_format_ = base::nullopt;
+    custom_data_ = base::nullopt;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& SetFileSystemData(
+      std::initializer_list<std::string>&& source_list) {
+    constexpr char kFileSystemSourcesType[] = "fs/sources";
+
+    base::Pickle custom_data;
+    ui::WriteCustomDataToPickle(
+        std::unordered_map<base::string16, base::string16>(
+            {{base::UTF8ToUTF16(kFileSystemSourcesType),
+              base::UTF8ToUTF16(base::JoinString(source_list, "\n"))}}),
+        &custom_data);
+
+    return SetCustomData(
+        ui::ClipboardFormatType::GetWebCustomDataType().GetName(),
+        std::string(static_cast<const char*>(custom_data.data()),
+                    custom_data.size()));
+  }
+
+  ClipboardHistoryItemBuilder& SetWebSmartPaste(bool web_smart_paste) {
+    web_smart_paste_ = web_smart_paste;
+    return *this;
+  }
+
+  ClipboardHistoryItemBuilder& ClearWebSmartPaste() {
+    web_smart_paste_ = base::nullopt;
+    return *this;
+  }
+
+ private:
+  base::Optional<std::string> text_;
+  base::Optional<std::string> markup_;
+  base::Optional<std::string> rtf_;
+  base::Optional<std::string> bookmark_title_;
+  base::Optional<SkBitmap> bitmap_;
+  base::Optional<std::string> custom_format_;
+  base::Optional<std::string> custom_data_;
+  base::Optional<bool> web_smart_paste_;
+};
+
+}  // namespace
+
+// Tests -----------------------------------------------------------------------
+
+class MockClipboardImageModelFactory : public ClipboardImageModelFactory {
+ public:
+  MockClipboardImageModelFactory() = default;
+  MockClipboardImageModelFactory(const MockClipboardImageModelFactory&) =
+      delete;
+  MockClipboardImageModelFactory& operator=(
+      const MockClipboardImageModelFactory&) = delete;
+  ~MockClipboardImageModelFactory() override = default;
+
+  MOCK_METHOD(void,
+              Render,
+              (const base::UnguessableToken&,
+               const std::string&,
+               ImageModelCallback),
+              (override));
+  MOCK_METHOD(void, CancelRequest, (const base::UnguessableToken&), (override));
+  MOCK_METHOD(void, Activate, (), (override));
+  MOCK_METHOD(void, Deactivate, (), (override));
+};
+
+class ClipboardHistoryResourceManagerTest : public AshTestBase {
+ public:
+  ClipboardHistoryResourceManagerTest() = default;
+  ClipboardHistoryResourceManagerTest(
+      const ClipboardHistoryResourceManagerTest&) = delete;
+  ClipboardHistoryResourceManagerTest& operator=(
+      const ClipboardHistoryResourceManagerTest&) = delete;
+  ~ClipboardHistoryResourceManagerTest() override = default;
+
+  void SetUp() override {
+    scoped_feature_list_.InitAndEnableFeature(
+        chromeos::features::kClipboardHistory);
+    AshTestBase::SetUp();
+    clipboard_history_ =
+        Shell::Get()->clipboard_history_controller()->history();
+    resource_manager_ =
+        Shell::Get()->clipboard_history_controller()->resource_manager();
+    mock_image_factory_ =
+        std::make_unique<testing::StrictMock<MockClipboardImageModelFactory>>();
+  }
+
+  const ClipboardHistory* clipboard_history() const {
+    return clipboard_history_;
+  }
+
+  const ClipboardHistoryResourceManager* resource_manager() {
+    return resource_manager_;
+  }
+
+  MockClipboardImageModelFactory* mock_image_factory() {
+    return mock_image_factory_.get();
+  }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
+  const ClipboardHistory* clipboard_history_;
+  const ClipboardHistoryResourceManager* resource_manager_;
+  std::unique_ptr<MockClipboardImageModelFactory> mock_image_factory_;
+};
+
+TEST_F(ClipboardHistoryResourceManagerTest, GetLabel) {
+  base::test::ScopedRestoreICUDefaultLocale locale("en_US");
+
+  // Populate a builder with all the data formats that we expect to handle.
+  ClipboardHistoryItemBuilder builder;
+  builder.SetText("Text")
+      .SetMarkup("Markup")
+      .SetRtf("Rtf")
+      .SetBookmarkTitle("Bookmark Title")
+      .SetBitmap(gfx::test::CreateBitmap(10, 10))
+      .SetCustomData("Custom Format", "Custom Data")
+      .SetWebSmartPaste(true);
+
+  // Bitmap data always take precedence.
+  EXPECT_EQ(resource_manager()->GetLabel(builder.Build()),
+            base::UTF8ToUTF16("Image"));
+
+  builder.ClearBitmap();
+
+  // In the absence of bitmap data, text data takes precedence.
+  EXPECT_EQ(resource_manager()->GetLabel(builder.Build()),
+            base::UTF8ToUTF16("Text"));
+
+  builder.ClearText();
+
+  // In the absence of text data, HTML data takes precedence.
+  EXPECT_EQ(resource_manager()->GetLabel(builder.Build()),
+            base::UTF8ToUTF16("Markup"));
+
+  builder.ClearMarkup();
+
+  // In the absence of HTML data, RTF data takes precedence.
+  EXPECT_EQ(resource_manager()->GetLabel(builder.Build()),
+            base::UTF8ToUTF16("RTF Content"));
+
+  builder.ClearRtf();
+
+  // In the absence of RTF data, bookmark data takes precedence.
+  EXPECT_EQ(resource_manager()->GetLabel(builder.Build()),
+            base::UTF8ToUTF16("Bookmark Title"));
+
+  builder.ClearBookmarkTitle();
+
+  // In the absence of bookmark data, web smart paste data takes precedence.
+  EXPECT_EQ(resource_manager()->GetLabel(builder.Build()),
+            base::UTF8ToUTF16("Web Smart Paste Content"));
+
+  builder.ClearWebSmartPaste();
+
+  // In the absence of web smart paste data, custom data takes precedence.
+  EXPECT_EQ(resource_manager()->GetLabel(builder.Build()),
+            base::UTF8ToUTF16("<Custom Data>"));
+
+  builder.SetFileSystemData(
+      {"/path/to/My%20File.txt", "/path/to/My%20Other%20File.txt"});
+
+  // We specially treat custom file system data to show a list of file names.
+  EXPECT_EQ(resource_manager()->GetLabel(builder.Build()),
+            base::UTF8ToUTF16("My File.txt, My Other File.txt"));
+}
+
+// Tests that Render is called once when an eligible item is added
+// to ClipboardHistory.
+TEST_F(ClipboardHistoryResourceManagerTest, BasicCachedImageModel) {
+  ui::ImageModel expected_image_model = GetRandomImageModel();
+  ON_CALL(*mock_image_factory(), Render)
+      .WillByDefault(testing::WithArg<2>(
+          [&](ClipboardImageModelFactory::ImageModelCallback callback) {
+            std::move(callback).Run(expected_image_model);
+          }));
+  EXPECT_CALL(*mock_image_factory(), CancelRequest).Times(0);
+  EXPECT_CALL(*mock_image_factory(), Render).Times(1);
+
+  // Write a basic ClipboardData which is eligible to render HTML.
+  {
+    ui::ScopedClipboardWriter scw(ui::ClipboardBuffer::kCopyPaste);
+    scw.WriteHTML(base::UTF8ToUTF16("test"), "source_url");
+  }
+
+  FlushMessageLoop();
+
+  EXPECT_EQ(expected_image_model, resource_manager()->GetImageModel(
+                                      clipboard_history()->GetItems().front()));
+}
+
+// Tests that copying duplicate HTML to the buffer results in only one render
+// request, and that that request is canceled once when the item is forgotten.
+TEST_F(ClipboardHistoryResourceManagerTest, DuplicateHTML) {
+  // Write two duplicate ClipboardDatas. Two things should be in clipboard
+  // history, but they should share a CachedImageModel.
+  ui::ImageModel expected_image_model = GetRandomImageModel();
+  ON_CALL(*mock_image_factory(), Render)
+      .WillByDefault(testing::WithArg<2>(
+          [&](ClipboardImageModelFactory::ImageModelCallback callback) {
+            std::move(callback).Run(expected_image_model);
+          }));
+  EXPECT_CALL(*mock_image_factory(), CancelRequest).Times(0);
+  EXPECT_CALL(*mock_image_factory(), Render).Times(1);
+
+  for (int i = 0; i < 2; ++i) {
+    {
+      ui::ScopedClipboardWriter scw(ui::ClipboardBuffer::kCopyPaste);
+      scw.WriteHTML(base::UTF8ToUTF16("test"), "source_url");
+    }
+    FlushMessageLoop();
+  }
+  auto items = clipboard_history()->GetItems();
+  EXPECT_EQ(2u, items.size());
+  for (const auto& item : items)
+    EXPECT_EQ(expected_image_model, resource_manager()->GetImageModel(item));
+}
+
+// Tests that two different eligible ClipboardData copied results in two calls
+// to Render and Cancel.
+TEST_F(ClipboardHistoryResourceManagerTest, DifferentHTML) {
+  // Write two ClipboardData with different HTML.
+  ui::ImageModel first_expected_image_model = GetRandomImageModel();
+  ui::ImageModel second_expected_image_model = GetRandomImageModel();
+  std::deque<ui::ImageModel> expected_image_models{first_expected_image_model,
+                                                   second_expected_image_model};
+  ON_CALL(*mock_image_factory(), Render)
+      .WillByDefault(testing::WithArg<2>(
+          [&](ClipboardImageModelFactory::ImageModelCallback callback) {
+            std::move(callback).Run(expected_image_models.front());
+            expected_image_models.pop_front();
+          }));
+  EXPECT_CALL(*mock_image_factory(), Render).Times(2);
+  EXPECT_CALL(*mock_image_factory(), CancelRequest).Times(0);
+  {
+    ui::ScopedClipboardWriter scw(ui::ClipboardBuffer::kCopyPaste);
+    scw.WriteHTML(base::UTF8ToUTF16("test"), "source_url");
+  }
+  FlushMessageLoop();
+  {
+    ui::ScopedClipboardWriter scw(ui::ClipboardBuffer::kCopyPaste);
+    scw.WriteHTML(base::UTF8ToUTF16("different"), "source_url");
+  }
+  FlushMessageLoop();
+
+  std::list<ClipboardHistoryItem> items = clipboard_history()->GetItems();
+  EXPECT_EQ(2u, items.size());
+  EXPECT_EQ(second_expected_image_model,
+            resource_manager()->GetImageModel(items.front()));
+  items.pop_front();
+  EXPECT_EQ(first_expected_image_model,
+            resource_manager()->GetImageModel(items.front()));
+}
+
+// Tests that items that are ineligible for CachedImageModels (items with image
+// representations, or no markup) do not request Render.
+TEST_F(ClipboardHistoryResourceManagerTest, IneligibleItem) {
+  // Write a ClipboardData with an image, no CachedImageModel should be created.
+  EXPECT_CALL(*mock_image_factory(), Render).Times(0);
+  EXPECT_CALL(*mock_image_factory(), CancelRequest).Times(0);
+  {
+    ui::ScopedClipboardWriter scw(ui::ClipboardBuffer::kCopyPaste);
+    scw.WriteHTML(base::UTF8ToUTF16("test"), "source_url");
+    scw.WriteImage(GetRandomBitmap());
+  }
+  FlushMessageLoop();
+
+  EXPECT_EQ(1u, clipboard_history()->GetItems().size());
+
+  // Write a ClipboardData with no markup and no image. No CachedImageModel
+  // should be created.
+  {
+    ui::ScopedClipboardWriter scw(ui::ClipboardBuffer::kCopyPaste);
+
+    scw.WriteText(base::UTF8ToUTF16("test"));
+
+    scw.WriteRTF("rtf");
+
+    scw.WriteBookmark(base::UTF8ToUTF16("bookmark_title"), "test_url");
+  }
+  FlushMessageLoop();
+
+  EXPECT_EQ(2u, clipboard_history()->GetItems().size());
+}
+
+// Tests that incomplete requests are canceled when the item corresponding with
+// the request is forgotten by ClipboardHistory.
+TEST_F(ClipboardHistoryResourceManagerTest, IncompleteRequestCanceled) {
+  EXPECT_CALL(*mock_image_factory(), Render).Times(1);
+  EXPECT_CALL(*mock_image_factory(), CancelRequest).Times(1);
+  // Because we do not provide an ON_CALL for MockClipboardImageModelFactory,
+  // Render will do nothing. This simulates an incomplete request from the
+  // perspective of ClipboardHistoryResourceManager.
+  {
+    ui::ScopedClipboardWriter scw(ui::ClipboardBuffer::kCopyPaste);
+    scw.WriteHTML(base::UTF8ToUTF16("test"), "source_url");
+  }
+  FlushMessageLoop();
+}
+
+}  // namespace ash
diff --git a/ash/clipboard/clipboard_history_unittest.cc b/ash/clipboard/clipboard_history_unittest.cc
index 581f1c90..a888bc2 100644
--- a/ash/clipboard/clipboard_history_unittest.cc
+++ b/ash/clipboard/clipboard_history_unittest.cc
@@ -8,6 +8,7 @@
 #include <unordered_map>
 
 #include "ash/clipboard/clipboard_history_controller.h"
+#include "ash/clipboard/clipboard_history_item.h"
 #include "ash/shell.h"
 #include "ash/test/ash_test_base.h"
 #include "base/strings/utf_string_conversions.h"
@@ -37,7 +38,7 @@
         Shell::Get()->clipboard_history_controller()->history());
   }
 
-  const std::list<ui::ClipboardData>& GetClipboardHistoryData() {
+  const std::list<ClipboardHistoryItem>& GetClipboardHistoryItems() {
     return clipboard_history_->GetItems();
   }
 
@@ -62,13 +63,13 @@
   }
 
   void EnsureTextHistory(const std::vector<base::string16>& expected_strings) {
-    const std::list<ui::ClipboardData>& datas = GetClipboardHistoryData();
-    EXPECT_EQ(expected_strings.size(), datas.size());
+    const std::list<ClipboardHistoryItem>& items = GetClipboardHistoryItems();
+    EXPECT_EQ(expected_strings.size(), items.size());
 
     int expected_strings_index = 0;
-    for (auto& data : datas) {
+    for (const auto& item : items) {
       EXPECT_EQ(expected_strings[expected_strings_index++],
-                base::UTF8ToUTF16(data.text()));
+                base::UTF8ToUTF16(item.data().text()));
     }
   }
 
@@ -84,13 +85,13 @@
       }
       base::RunLoop().RunUntilIdle();
     }
-    const std::list<ui::ClipboardData>& datas = GetClipboardHistoryData();
-    EXPECT_EQ(expected_bitmaps.size(), datas.size());
+    const std::list<ClipboardHistoryItem>& items = GetClipboardHistoryItems();
+    EXPECT_EQ(expected_bitmaps.size(), items.size());
 
     int expected_bitmaps_index = 0;
-    for (auto& data : datas) {
+    for (const auto& item : items) {
       EXPECT_TRUE(gfx::BitmapsAreEqual(
-          expected_bitmaps[expected_bitmaps_index++], data.bitmap()));
+          expected_bitmaps[expected_bitmaps_index++], item.data().bitmap()));
     }
   }
 
@@ -110,12 +111,12 @@
     }
     base::RunLoop().RunUntilIdle();
 
-    const std::list<ui::ClipboardData> datas = GetClipboardHistoryData();
-    EXPECT_EQ(1u, datas.size());
+    const std::list<ClipboardHistoryItem> items = GetClipboardHistoryItems();
+    EXPECT_EQ(1u, items.size());
 
     std::unordered_map<base::string16, base::string16> actual_data;
-    ui::ReadCustomDataIntoMap(datas.front().custom_data_data().c_str(),
-                              datas.front().custom_data_data().size(),
+    ui::ReadCustomDataIntoMap(items.front().data().custom_data_data().c_str(),
+                              items.front().data().custom_data_data().size(),
                               &actual_data);
 
     EXPECT_EQ(expected_data, actual_data);
diff --git a/ash/events/accessibility_event_rewriter.cc b/ash/events/accessibility_event_rewriter.cc
new file mode 100644
index 0000000..7d634cf0
--- /dev/null
+++ b/ash/events/accessibility_event_rewriter.cc
@@ -0,0 +1,194 @@
+// 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 "ash/events/accessibility_event_rewriter.h"
+
+#include "ash/accessibility/accessibility_controller_impl.h"
+#include "ash/public/cpp/accessibility_event_rewriter_delegate.h"
+#include "ash/shell.h"
+#include "ui/chromeos/events/event_rewriter_chromeos.h"
+#include "ui/events/event.h"
+#include "ui/events/event_utils.h"
+#include "ui/events/types/event_type.h"
+
+namespace ash {
+
+AccessibilityEventRewriter::AccessibilityEventRewriter(
+    ui::EventRewriterChromeOS* event_rewriter_chromeos,
+    AccessibilityEventRewriterDelegate* delegate)
+    : delegate_(delegate), event_rewriter_chromeos_(event_rewriter_chromeos) {
+  Shell::Get()->accessibility_controller()->SetAccessibilityEventRewriter(this);
+}
+
+AccessibilityEventRewriter::~AccessibilityEventRewriter() {
+  Shell::Get()->accessibility_controller()->SetAccessibilityEventRewriter(
+      nullptr);
+}
+
+void AccessibilityEventRewriter::OnUnhandledSpokenFeedbackEvent(
+    std::unique_ptr<ui::Event> event) const {
+  DCHECK(event->IsKeyEvent()) << "Unexpected unhandled event type";
+  // Send the event to the continuation for the most recent event rewritten by
+  // ChromeVox, (that is, through its EventSource). Under the assumption that a
+  // single AccessibilityEventRewriter is not registered to multiple
+  // EventSources, this will be the same as this event's original source.
+  const char* failure_reason = nullptr;
+  if (chromevox_continuation_) {
+    ui::EventDispatchDetails details =
+        SendEvent(chromevox_continuation_, event.get());
+    if (details.dispatcher_destroyed)
+      failure_reason = "destroyed dispatcher";
+    else if (details.target_destroyed)
+      failure_reason = "destroyed target";
+  } else if (chromevox_continuation_.WasInvalidated()) {
+    failure_reason = "destroyed source";
+  } else {
+    failure_reason = "no prior rewrite";
+  }
+  if (failure_reason) {
+    VLOG(0) << "Undispatched key " << event->AsKeyEvent()->key_code()
+            << " due to " << failure_reason << ".";
+  }
+}
+
+ui::EventDispatchDetails AccessibilityEventRewriter::RewriteEvent(
+    const ui::Event& event,
+    const Continuation continuation) {
+  bool captured = false;
+  if (!delegate_)
+    return SendEvent(continuation, &event);
+
+  if (Shell::Get()->accessibility_controller()->IsSwitchAccessRunning()) {
+    captured = RewriteEventForSwitchAccess(event, continuation);
+  }
+
+  if (!captured) {
+    captured = RewriteEventForChromeVox(event, continuation);
+  }
+
+  return captured ? DiscardEvent(continuation)
+                  : SendEvent(continuation, &event);
+}
+
+bool AccessibilityEventRewriter::RewriteEventForChromeVox(
+    const ui::Event& event,
+    const Continuation continuation) {
+  // Save continuation for |OnUnhandledSpokenFeedbackEvent()|.
+  chromevox_continuation_ = continuation;
+
+  if (!Shell::Get()->accessibility_controller()->spoken_feedback_enabled()) {
+    return false;
+  }
+
+  if (event.IsKeyEvent()) {
+    const ui::KeyEvent* key_event = event.AsKeyEvent();
+    ui::EventRewriterChromeOS::MutableKeyState state(key_event);
+    event_rewriter_chromeos_->RewriteModifierKeys(*key_event, &state);
+
+    // Remove the Search modifier before asking for function keys to be
+    // rewritten, then restore the flags. This allows ChromeVox to receive keys
+    // mappings for raw f1-f12 as e.g. back, but also Search+f1-f12 as
+    // Search+back (rather than just f1-f12).
+    int original_flags = state.flags;
+    state.flags = original_flags & ~ui::EF_COMMAND_DOWN;
+    event_rewriter_chromeos_->RewriteFunctionKeys(*key_event, &state);
+    state.flags = original_flags;
+
+    std::unique_ptr<ui::Event> rewritten_event;
+    ui::EventRewriterChromeOS::BuildRewrittenKeyEvent(*key_event, state,
+                                                      &rewritten_event);
+    const ui::KeyEvent* rewritten_key_event =
+        rewritten_event.get()->AsKeyEvent();
+
+    bool capture = chromevox_capture_all_keys_;
+
+    // Always capture the Search key.
+    capture |= rewritten_key_event->IsCommandDown() ||
+               rewritten_key_event->key_code() == ui::VKEY_LWIN;
+
+    // Don't capture tab as it gets consumed by Blink so never comes back
+    // unhandled. In third_party/WebKit/Source/core/input/EventHandler.cpp, a
+    // default tab handler consumes tab even when no focusable nodes are found;
+    // it sets focus to Chrome and eats the event.
+    if (rewritten_key_event->GetDomKey() == ui::DomKey::TAB)
+      capture = false;
+
+    delegate_->DispatchKeyEventToChromeVox(
+        ui::Event::Clone(*rewritten_key_event), capture);
+    return capture;
+  }
+
+  if (chromevox_send_mouse_events_ && event.IsMouseEvent())
+    delegate_->DispatchMouseEventToChromeVox(ui::Event::Clone(event));
+
+  return false;
+}
+
+bool AccessibilityEventRewriter::RewriteEventForSwitchAccess(
+    const ui::Event& event,
+    const Continuation continuation) {
+  if (!event.IsKeyEvent())
+    return false;
+
+  const ui::KeyEvent* key_event = event.AsKeyEvent();
+  bool capture =
+      switch_access_key_codes_to_capture_.count(key_event->key_code()) > 0;
+
+  if (capture && key_event->type() == ui::ET_KEY_PRESSED) {
+    SwitchAccessCommand command =
+        key_code_to_switch_access_command_[key_event->key_code()];
+    delegate_->SendSwitchAccessCommand(command);
+  }
+  return capture;
+}
+
+bool AccessibilityEventRewriter::SetKeyCodesForSwitchAccessCommand(
+    std::set<int> new_key_codes,
+    SwitchAccessCommand command) {
+  bool has_changed = false;
+  std::set<int> to_clear;
+
+  // Clear old values that conflict with the new assignment.
+  // TODO(anastasi): convert to use iterators directly and remove has_changed as
+  // an extra step.
+  for (const auto& val : key_code_to_switch_access_command_) {
+    int old_key_code = val.first;
+    SwitchAccessCommand old_command = val.second;
+
+    if (new_key_codes.count(old_key_code) > 0) {
+      if (old_command != command) {
+        has_changed = true;
+        // Modifying the map while iterating through it causes reference
+        // failures.
+        to_clear.insert(old_key_code);
+      } else {
+        new_key_codes.erase(old_key_code);
+      }
+      continue;
+    }
+
+    // This value was previously mapped to the command, but is no longer.
+    if (old_command == command) {
+      has_changed = true;
+      to_clear.insert(old_key_code);
+      switch_access_key_codes_to_capture_.erase(old_key_code);
+    }
+  }
+  for (int key_code : to_clear) {
+    key_code_to_switch_access_command_.erase(key_code);
+  }
+
+  if (new_key_codes.size() == 0)
+    return has_changed;
+
+  // Add any new key codes to the map.
+  for (int key_code : new_key_codes) {
+    switch_access_key_codes_to_capture_.insert(key_code);
+    key_code_to_switch_access_command_[key_code] = command;
+  }
+
+  return true;
+}
+
+}  // namespace ash
diff --git a/ash/events/accessibility_event_rewriter.h b/ash/events/accessibility_event_rewriter.h
new file mode 100644
index 0000000..e086029f
--- /dev/null
+++ b/ash/events/accessibility_event_rewriter.h
@@ -0,0 +1,92 @@
+// 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 ASH_EVENTS_ACCESSIBILITY_EVENT_REWRITER_H_
+#define ASH_EVENTS_ACCESSIBILITY_EVENT_REWRITER_H_
+
+#include <map>
+#include <memory>
+#include <set>
+
+#include "ash/ash_export.h"
+#include "ui/events/event_rewriter.h"
+
+namespace ui {
+class EventRewriterChromeOS;
+}
+
+namespace ash {
+
+class AccessibilityEventRewriterDelegate;
+enum class SwitchAccessCommand;
+
+// AccessibilityEventRewriter sends key events to Accessibility extensions (such
+// as ChromeVox and Switch Access) via the delegate when the corresponding
+// extension is enabled. Continues dispatch of unhandled key events.
+class ASH_EXPORT AccessibilityEventRewriter : public ui::EventRewriter {
+ public:
+  AccessibilityEventRewriter(ui::EventRewriterChromeOS* event_rewriter_chromeos,
+                             AccessibilityEventRewriterDelegate* delegate);
+  AccessibilityEventRewriter(const AccessibilityEventRewriter&) = delete;
+  AccessibilityEventRewriter& operator=(const AccessibilityEventRewriter&) =
+      delete;
+  ~AccessibilityEventRewriter() override;
+
+  // Continue dispatch of events that were unhandled by the ChromeVox extension.
+  // NOTE: These events may be delivered out-of-order from non-ChromeVox events.
+  void OnUnhandledSpokenFeedbackEvent(std::unique_ptr<ui::Event> event) const;
+
+  // Sets what key_codes are captured for a given Switch Access command.
+  bool SetKeyCodesForSwitchAccessCommand(std::set<int> key_codes,
+                                         SwitchAccessCommand command);
+
+  void set_chromevox_capture_all_keys(bool value) {
+    chromevox_capture_all_keys_ = value;
+  }
+  void set_chromevox_send_mouse_events(bool value) {
+    chromevox_send_mouse_events_ = value;
+  }
+
+  // For testing use only.
+  std::set<int> switch_access_key_codes_to_capture_for_test() {
+    return switch_access_key_codes_to_capture_;
+  }
+  std::map<int, SwitchAccessCommand>
+  key_code_to_switch_access_command_map_for_test() {
+    return key_code_to_switch_access_command_;
+  }
+
+ private:
+  bool RewriteEventForChromeVox(const ui::Event& event,
+                                const Continuation continuation);
+  bool RewriteEventForSwitchAccess(const ui::Event& event,
+                                   const Continuation continuation);
+
+  // ui::EventRewriter:
+  ui::EventDispatchDetails RewriteEvent(
+      const ui::Event& event,
+      const Continuation continuation) override;
+
+  // Continuation saved for OnUnhandledSpokenFeedbackEvent().
+  Continuation chromevox_continuation_;
+
+  // The delegate used to send events to the ChromeVox and Switch Access
+  // extensions.
+  AccessibilityEventRewriterDelegate* delegate_ = nullptr;
+
+  // Whether to send mouse events to the ChromeVox extension.
+  bool chromevox_send_mouse_events_ = false;
+
+  // Whether to capture all keys.
+  bool chromevox_capture_all_keys_ = false;
+
+  std::set<int> switch_access_key_codes_to_capture_;
+  std::map<int, SwitchAccessCommand> key_code_to_switch_access_command_;
+
+  ui::EventRewriterChromeOS* const event_rewriter_chromeos_;
+};
+
+}  // namespace ash
+
+#endif  // ASH_EVENTS_ACCESSIBILITY_EVENT_REWRITER_H_
diff --git a/ash/events/accessibility_event_rewriter_unittest.cc b/ash/events/accessibility_event_rewriter_unittest.cc
new file mode 100644
index 0000000..97368ba
--- /dev/null
+++ b/ash/events/accessibility_event_rewriter_unittest.cc
@@ -0,0 +1,650 @@
+// 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 "ash/events/accessibility_event_rewriter.h"
+
+#include <memory>
+#include <vector>
+
+#include "ash/accessibility/accessibility_controller_impl.h"
+#include "ash/public/cpp/accessibility_event_rewriter_delegate.h"
+#include "ash/shell.h"
+#include "ash/test/ash_test_base.h"
+#include "base/command_line.h"
+#include "base/macros.h"
+#include "ui/accessibility/accessibility_switches.h"
+#include "ui/aura/env.h"
+#include "ui/aura/window.h"
+#include "ui/aura/window_tree_host.h"
+#include "ui/chromeos/events/event_rewriter_chromeos.h"
+#include "ui/chromeos/events/modifier_key.h"
+#include "ui/chromeos/events/pref_names.h"
+#include "ui/events/event.h"
+#include "ui/events/event_constants.h"
+#include "ui/events/event_handler.h"
+#include "ui/events/event_rewriter.h"
+#include "ui/events/keycodes/keyboard_codes.h"
+#include "ui/events/test/event_generator.h"
+#include "ui/events/test/test_event_rewriter.h"
+#include "ui/events/types/event_type.h"
+
+namespace ash {
+namespace {
+
+// A test implementation of the spoken feedback delegate interface.
+// TODO(crbug/1116205): Merge ChromeVox and Switch Access test infrastructure
+// below.
+class ChromeVoxTestDelegate : public AccessibilityEventRewriterDelegate {
+ public:
+  ChromeVoxTestDelegate() = default;
+  ChromeVoxTestDelegate(const ChromeVoxTestDelegate&) = delete;
+  ChromeVoxTestDelegate& operator=(const ChromeVoxTestDelegate&) = delete;
+  ~ChromeVoxTestDelegate() override = default;
+
+  // Count of events sent to the delegate.
+  size_t chromevox_recorded_event_count_ = 0;
+
+  // Count of captured events sent to the delegate.
+  size_t chromevox_captured_event_count_ = 0;
+
+ private:
+  // AccessibilityEventRewriterDelegate:
+  void DispatchKeyEventToChromeVox(std::unique_ptr<ui::Event> event,
+                                   bool capture) override {
+    chromevox_recorded_event_count_++;
+    if (capture)
+      chromevox_captured_event_count_++;
+  }
+  void DispatchMouseEventToChromeVox(
+      std::unique_ptr<ui::Event> event) override {
+    chromevox_recorded_event_count_++;
+  }
+  void SendSwitchAccessCommand(SwitchAccessCommand command) override {}
+};
+
+class ChromeVoxAccessibilityEventRewriterTest
+    : public ash::AshTestBase,
+      public ui::EventRewriterChromeOS::Delegate {
+ public:
+  ChromeVoxAccessibilityEventRewriterTest() {
+    event_rewriter_chromeos_ =
+        std::make_unique<ui::EventRewriterChromeOS>(this, nullptr, false);
+  }
+  ChromeVoxAccessibilityEventRewriterTest(
+      const ChromeVoxAccessibilityEventRewriterTest&) = delete;
+  ChromeVoxAccessibilityEventRewriterTest& operator=(
+      const ChromeVoxAccessibilityEventRewriterTest&) = delete;
+
+  void SetUp() override {
+    ash::AshTestBase::SetUp();
+    generator_ = AshTestBase::GetEventGenerator();
+    accessibility_event_rewriter_ =
+        std::make_unique<AccessibilityEventRewriter>(
+            event_rewriter_chromeos_.get(), &delegate_);
+    GetContext()->GetHost()->GetEventSource()->AddEventRewriter(
+        accessibility_event_rewriter_.get());
+    GetContext()->GetHost()->GetEventSource()->AddEventRewriter(
+        &event_recorder_);
+  }
+
+  void TearDown() override {
+    GetContext()->GetHost()->GetEventSource()->RemoveEventRewriter(
+        &event_recorder_);
+    GetContext()->GetHost()->GetEventSource()->RemoveEventRewriter(
+        accessibility_event_rewriter_.get());
+    accessibility_event_rewriter_.reset();
+    generator_ = nullptr;
+    ash::AshTestBase::TearDown();
+  }
+
+  size_t delegate_chromevox_recorded_event_count() {
+    return delegate_.chromevox_recorded_event_count_;
+  }
+
+  size_t delegate_chromevox_captured_event_count() {
+    return delegate_.chromevox_captured_event_count_;
+  }
+
+  void SetDelegateChromeVoxCaptureAllKeys(bool value) {
+    accessibility_event_rewriter_->set_chromevox_capture_all_keys(value);
+  }
+
+  void ExpectCounts(size_t expected_recorded_count,
+                    size_t expected_delegate_count,
+                    size_t expected_captured_count) {
+    EXPECT_EQ(expected_recorded_count,
+              static_cast<size_t>(event_recorder_.events_seen()));
+    EXPECT_EQ(expected_delegate_count,
+              delegate_chromevox_recorded_event_count());
+    EXPECT_EQ(expected_captured_count,
+              delegate_chromevox_captured_event_count());
+  }
+
+  void SetModifierRemapping(const std::string& pref_name,
+                            ui::chromeos::ModifierKey value) {
+    modifier_remapping_[pref_name] = static_cast<int>(value);
+  }
+
+  std::set<int> GetSwitchAccessKeyCodesToCapture() {
+    return accessibility_event_rewriter_
+        ->switch_access_key_codes_to_capture_for_test();
+  }
+
+  std::map<int, SwitchAccessCommand> GetSwitchAccessCommandForKeyCodeMap() {
+    return accessibility_event_rewriter_
+        ->key_code_to_switch_access_command_map_for_test();
+  }
+
+ protected:
+  // A test accessibility event delegate; simulates ChromeVox and Switch Access.
+  ChromeVoxTestDelegate delegate_;
+  // Generates ui::Events from simulated user input.
+  ui::test::EventGenerator* generator_ = nullptr;
+  // Records events delivered to the next event rewriter after spoken feedback.
+  ui::test::TestEventRewriter event_recorder_;
+
+  std::unique_ptr<AccessibilityEventRewriter> accessibility_event_rewriter_;
+
+  std::unique_ptr<ui::EventRewriterChromeOS> event_rewriter_chromeos_;
+
+ private:
+  // ui::EventRewriterChromeOS::Delegate:
+  bool RewriteModifierKeys() override { return true; }
+
+  bool GetKeyboardRemappedPrefValue(const std::string& pref_name,
+                                    int* value) const override {
+    auto it = modifier_remapping_.find(pref_name);
+    if (it == modifier_remapping_.end())
+      return false;
+
+    *value = it->second;
+    return true;
+  }
+
+  bool TopRowKeysAreFunctionKeys() const override { return false; }
+
+  bool IsExtensionCommandRegistered(ui::KeyboardCode key_code,
+                                    int flags) const override {
+    return false;
+  }
+
+  bool IsSearchKeyAcceleratorReserved() const override { return false; }
+
+  std::map<std::string, int> modifier_remapping_;
+};
+
+// The delegate should not intercept events when spoken feedback is disabled.
+TEST_F(ChromeVoxAccessibilityEventRewriterTest, EventsNotConsumedWhenDisabled) {
+  AccessibilityControllerImpl* controller =
+      Shell::Get()->accessibility_controller();
+  EXPECT_FALSE(controller->spoken_feedback_enabled());
+
+  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
+  EXPECT_EQ(1, event_recorder_.events_seen());
+  EXPECT_EQ(0U, delegate_chromevox_recorded_event_count());
+  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
+  EXPECT_EQ(2, event_recorder_.events_seen());
+  EXPECT_EQ(0U, delegate_chromevox_recorded_event_count());
+
+  generator_->ClickLeftButton();
+  EXPECT_EQ(4, event_recorder_.events_seen());
+  EXPECT_EQ(0U, delegate_chromevox_recorded_event_count());
+
+  generator_->GestureTapAt(gfx::Point());
+  EXPECT_EQ(6, event_recorder_.events_seen());
+  EXPECT_EQ(0U, delegate_chromevox_recorded_event_count());
+}
+
+// The delegate should intercept key events when spoken feedback is enabled.
+TEST_F(ChromeVoxAccessibilityEventRewriterTest, KeyEventsConsumedWhenEnabled) {
+  AccessibilityControllerImpl* controller =
+      Shell::Get()->accessibility_controller();
+  controller->SetSpokenFeedbackEnabled(true, A11Y_NOTIFICATION_NONE);
+  EXPECT_TRUE(controller->spoken_feedback_enabled());
+
+  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
+  EXPECT_EQ(1, event_recorder_.events_seen());
+  EXPECT_EQ(1U, delegate_chromevox_recorded_event_count());
+  EXPECT_EQ(0U, delegate_chromevox_captured_event_count());
+  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
+  EXPECT_EQ(2, event_recorder_.events_seen());
+  EXPECT_EQ(2U, delegate_chromevox_recorded_event_count());
+  EXPECT_EQ(0U, delegate_chromevox_captured_event_count());
+
+  generator_->ClickLeftButton();
+  EXPECT_EQ(4, event_recorder_.events_seen());
+  EXPECT_EQ(2U, delegate_chromevox_recorded_event_count());
+  EXPECT_EQ(0U, delegate_chromevox_captured_event_count());
+
+  generator_->GestureTapAt(gfx::Point());
+  EXPECT_EQ(6, event_recorder_.events_seen());
+  EXPECT_EQ(2U, delegate_chromevox_recorded_event_count());
+  EXPECT_EQ(0U, delegate_chromevox_captured_event_count());
+}
+
+// Asynchronously unhandled events should be sent to subsequent rewriters.
+TEST_F(ChromeVoxAccessibilityEventRewriterTest,
+       UnhandledEventsSentToOtherRewriters) {
+  // Before it can forward unhandled events, AccessibilityEventRewriter
+  // must have seen at least one event in the first place.
+  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
+  EXPECT_EQ(1, event_recorder_.events_seen());
+  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
+  EXPECT_EQ(2, event_recorder_.events_seen());
+
+  accessibility_event_rewriter_->OnUnhandledSpokenFeedbackEvent(
+      std::make_unique<ui::KeyEvent>(ui::ET_KEY_PRESSED, ui::VKEY_A,
+                                     ui::EF_NONE));
+  EXPECT_EQ(3, event_recorder_.events_seen());
+  accessibility_event_rewriter_->OnUnhandledSpokenFeedbackEvent(
+      std::make_unique<ui::KeyEvent>(ui::ET_KEY_RELEASED, ui::VKEY_A,
+                                     ui::EF_NONE));
+  EXPECT_EQ(4, event_recorder_.events_seen());
+}
+
+TEST_F(ChromeVoxAccessibilityEventRewriterTest,
+       KeysNotEatenWithChromeVoxDisabled) {
+  AccessibilityControllerImpl* controller =
+      Shell::Get()->accessibility_controller();
+  EXPECT_FALSE(controller->spoken_feedback_enabled());
+
+  // Send Search+Shift+Right.
+  generator_->PressKey(ui::VKEY_LWIN, ui::EF_COMMAND_DOWN);
+  EXPECT_EQ(1, event_recorder_.events_seen());
+  generator_->PressKey(ui::VKEY_SHIFT, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
+  EXPECT_EQ(2, event_recorder_.events_seen());
+
+  // Mock successful commands lookup and dispatch; shouldn't matter either way.
+  generator_->PressKey(ui::VKEY_RIGHT, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
+  EXPECT_EQ(3, event_recorder_.events_seen());
+
+  // Released keys shouldn't get eaten.
+  generator_->ReleaseKey(ui::VKEY_RIGHT,
+                         ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
+  generator_->ReleaseKey(ui::VKEY_SHIFT, ui::EF_COMMAND_DOWN);
+  generator_->ReleaseKey(ui::VKEY_LWIN, 0);
+  EXPECT_EQ(6, event_recorder_.events_seen());
+
+  // Try releasing more keys.
+  generator_->ReleaseKey(ui::VKEY_RIGHT, 0);
+  generator_->ReleaseKey(ui::VKEY_SHIFT, 0);
+  generator_->ReleaseKey(ui::VKEY_LWIN, 0);
+  EXPECT_EQ(9, event_recorder_.events_seen());
+
+  EXPECT_EQ(0U, delegate_chromevox_recorded_event_count());
+}
+
+TEST_F(ChromeVoxAccessibilityEventRewriterTest, KeyEventsCaptured) {
+  AccessibilityControllerImpl* controller =
+      Shell::Get()->accessibility_controller();
+  controller->SetSpokenFeedbackEnabled(true, A11Y_NOTIFICATION_NONE);
+  EXPECT_TRUE(controller->spoken_feedback_enabled());
+
+  // Initialize expected counts as variables for easier maintaiblity.
+  size_t recorded_count = 0;
+  size_t delegate_count = 0;
+  size_t captured_count = 0;
+
+  // Anything with Search gets captured.
+  generator_->PressKey(ui::VKEY_LWIN, ui::EF_COMMAND_DOWN);
+  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
+  generator_->ReleaseKey(ui::VKEY_LWIN, ui::EF_COMMAND_DOWN);
+  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
+
+  // Tab never gets captured.
+  generator_->PressKey(ui::VKEY_TAB, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+  generator_->ReleaseKey(ui::VKEY_TAB, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+
+  // A client requested capture of all keys.
+  SetDelegateChromeVoxCaptureAllKeys(true);
+  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
+  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
+  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
+  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
+
+  // Tab never gets captured even with explicit client request for all keys.
+  generator_->PressKey(ui::VKEY_TAB, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+  generator_->ReleaseKey(ui::VKEY_TAB, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+
+  // A client requested to not capture all keys.
+  SetDelegateChromeVoxCaptureAllKeys(false);
+  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+}
+
+TEST_F(ChromeVoxAccessibilityEventRewriterTest,
+       KeyEventsCapturedWithModifierRemapping) {
+  AccessibilityControllerImpl* controller =
+      Shell::Get()->accessibility_controller();
+  controller->SetSpokenFeedbackEnabled(true, A11Y_NOTIFICATION_NONE);
+  EXPECT_TRUE(controller->spoken_feedback_enabled());
+
+  // Initialize expected counts as variables for easier maintaiblity.
+  size_t recorded_count = 0;
+  size_t delegate_count = 0;
+  size_t captured_count = 0;
+
+  // Map Control key to Search.
+  SetModifierRemapping(prefs::kLanguageRemapControlKeyTo,
+                       ui::chromeos::ModifierKey::kSearchKey);
+
+  // Anything with Search gets captured.
+  generator_->PressKey(ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN);
+  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
+  // EventRewriterChromeOS actually omits the modifier flag.
+  generator_->ReleaseKey(ui::VKEY_CONTROL, 0);
+  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
+
+  // Search itself should also work.
+  generator_->PressKey(ui::VKEY_LWIN, ui::EF_COMMAND_DOWN);
+  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
+  generator_->ReleaseKey(ui::VKEY_LWIN, 0);
+  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
+
+  // Remapping should have no effect on all other expectations.
+
+  // Tab never gets captured.
+  generator_->PressKey(ui::VKEY_TAB, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+  generator_->ReleaseKey(ui::VKEY_TAB, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+
+  // A client requested capture of all keys.
+  SetDelegateChromeVoxCaptureAllKeys(true);
+  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
+  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
+  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
+  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
+
+  // Tab never gets captured even with explicit client request for all keys.
+  generator_->PressKey(ui::VKEY_TAB, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+  generator_->ReleaseKey(ui::VKEY_TAB, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+
+  // A client requested to not capture all keys.
+  SetDelegateChromeVoxCaptureAllKeys(false);
+  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
+  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
+}
+
+// Records all key events for testing.
+class EventCapturer : public ui::EventHandler {
+ public:
+  EventCapturer() = default;
+  ~EventCapturer() override = default;
+
+  void Reset() { last_key_event_.reset(); }
+
+  ui::KeyEvent* last_key_event() { return last_key_event_.get(); }
+
+ private:
+  void OnKeyEvent(ui::KeyEvent* event) override {
+    last_key_event_ = std::make_unique<ui::KeyEvent>(*event);
+  }
+
+  std::unique_ptr<ui::KeyEvent> last_key_event_;
+
+  DISALLOW_COPY_AND_ASSIGN(EventCapturer);
+};
+
+class SwitchAccessTestDelegate : public AccessibilityEventRewriterDelegate {
+ public:
+  SwitchAccessTestDelegate() = default;
+  ~SwitchAccessTestDelegate() override = default;
+
+  SwitchAccessCommand last_command() { return commands_.back(); }
+  int command_count() { return commands_.size(); }
+
+  // AccessibilityEventRewriterDelegate:
+  void SendSwitchAccessCommand(SwitchAccessCommand command) override {
+    commands_.push_back(command);
+  }
+  void DispatchKeyEventToChromeVox(std::unique_ptr<ui::Event>, bool) override {}
+  void DispatchMouseEventToChromeVox(std::unique_ptr<ui::Event>) override {}
+
+ private:
+  std::vector<SwitchAccessCommand> commands_;
+
+  DISALLOW_COPY_AND_ASSIGN(SwitchAccessTestDelegate);
+};
+
+class SwitchAccessAccessibilityEventRewriterTest : public AshTestBase {
+ public:
+  SwitchAccessAccessibilityEventRewriterTest() {
+    event_rewriter_chromeos_ =
+        std::make_unique<ui::EventRewriterChromeOS>(nullptr, nullptr, false);
+  }
+  ~SwitchAccessAccessibilityEventRewriterTest() override = default;
+
+  void SetUp() override {
+    AshTestBase::SetUp();
+
+    // This test triggers a resize of WindowTreeHost, which will end up
+    // throttling events. set_throttle_input_on_resize_for_testing() disables
+    // this.
+    aura::Env::GetInstance()->set_throttle_input_on_resize_for_testing(false);
+
+    delegate_ = std::make_unique<SwitchAccessTestDelegate>();
+    accessibility_event_rewriter_ =
+        std::make_unique<AccessibilityEventRewriter>(
+            event_rewriter_chromeos_.get(), delegate_.get());
+    generator_ = AshTestBase::GetEventGenerator();
+    GetContext()->AddPreTargetHandler(&event_capturer_);
+
+    GetContext()->GetHost()->GetEventSource()->AddEventRewriter(
+        accessibility_event_rewriter_.get());
+
+    controller_ = Shell::Get()->accessibility_controller();
+    base::CommandLine::ForCurrentProcess()->AppendSwitch(
+        switches::kEnableExperimentalAccessibilitySwitchAccess);
+    controller_->SetAccessibilityEventRewriter(
+        accessibility_event_rewriter_.get());
+    controller_->SetSwitchAccessEnabled(true);
+  }
+
+  void TearDown() override {
+    GetContext()->RemovePreTargetHandler(&event_capturer_);
+    generator_ = nullptr;
+    controller_ = nullptr;
+    accessibility_event_rewriter_.reset();
+    AshTestBase::TearDown();
+  }
+
+  void SetKeyCodesForSwitchAccessCommand(std::set<int> key_codes,
+                                         SwitchAccessCommand command) {
+    AccessibilityEventRewriter* rewriter =
+        controller_->GetAccessibilityEventRewriterForTest();
+    rewriter->SetKeyCodesForSwitchAccessCommand(key_codes, command);
+  }
+
+  const std::set<int> GetKeyCodesToCapture() {
+    AccessibilityEventRewriter* rewriter =
+        controller_->GetAccessibilityEventRewriterForTest();
+    if (rewriter)
+      return rewriter->switch_access_key_codes_to_capture_for_test();
+    return std::set<int>();
+  }
+
+  const std::map<int, SwitchAccessCommand> GetCommandForKeyCodeMap() {
+    AccessibilityEventRewriter* rewriter =
+        controller_->GetAccessibilityEventRewriterForTest();
+    if (rewriter)
+      return rewriter->key_code_to_switch_access_command_map_for_test();
+    return std::map<int, SwitchAccessCommand>();
+  }
+
+ protected:
+  ui::test::EventGenerator* generator_ = nullptr;
+  EventCapturer event_capturer_;
+  AccessibilityControllerImpl* controller_ = nullptr;
+  std::unique_ptr<SwitchAccessTestDelegate> delegate_;
+  std::unique_ptr<AccessibilityEventRewriter> accessibility_event_rewriter_;
+  std::unique_ptr<ui::EventRewriterChromeOS> event_rewriter_chromeos_;
+};
+
+TEST_F(SwitchAccessAccessibilityEventRewriterTest, CaptureSpecifiedKeys) {
+  // Set keys for Switch Access to capture.
+  SetKeyCodesForSwitchAccessCommand({ui::VKEY_1, ui::VKEY_2},
+                                    SwitchAccessCommand::kSelect);
+
+  EXPECT_FALSE(event_capturer_.last_key_event());
+
+  generator_->PressKey(ui::VKEY_1, ui::EF_NONE);
+  generator_->ReleaseKey(ui::VKEY_1, ui::EF_NONE);
+
+  // The event was captured by AccessibilityEventRewriter.
+  EXPECT_FALSE(event_capturer_.last_key_event());
+  EXPECT_EQ(SwitchAccessCommand::kSelect, delegate_->last_command());
+
+  // Press the "2" key.
+  generator_->PressKey(ui::VKEY_2, ui::EF_NONE);
+  generator_->ReleaseKey(ui::VKEY_2, ui::EF_NONE);
+
+  // We received a new event.
+
+  // The event was captured by AccessibilityEventRewriter.
+  EXPECT_FALSE(event_capturer_.last_key_event());
+
+  // Press the "3" key.
+  generator_->PressKey(ui::VKEY_3, ui::EF_NONE);
+  generator_->ReleaseKey(ui::VKEY_3, ui::EF_NONE);
+
+  // The event was captured by AccessibilityEventRewriter.
+  EXPECT_TRUE(event_capturer_.last_key_event());
+}
+
+TEST_F(SwitchAccessAccessibilityEventRewriterTest,
+       KeysNoLongerCaptureAfterUpdate) {
+  // Set Switch Access to capture the keys {1, 2, 3}.
+  SetKeyCodesForSwitchAccessCommand({ui::VKEY_1, ui::VKEY_2, ui::VKEY_3},
+                                    SwitchAccessCommand::kSelect);
+
+  EXPECT_FALSE(event_capturer_.last_key_event());
+
+  // Press the "1" key.
+  generator_->PressKey(ui::VKEY_1, ui::EF_NONE);
+  generator_->ReleaseKey(ui::VKEY_1, ui::EF_NONE);
+
+  // The event was captured by AccessibilityEventRewriter.
+  EXPECT_FALSE(event_capturer_.last_key_event());
+  EXPECT_EQ(SwitchAccessCommand::kSelect, delegate_->last_command());
+
+  // Update the Switch Access keys to capture {2, 3, 4}.
+  SetKeyCodesForSwitchAccessCommand({ui::VKEY_2, ui::VKEY_3, ui::VKEY_4},
+                                    SwitchAccessCommand::kSelect);
+
+  // Press the "1" key.
+  generator_->PressKey(ui::VKEY_1, ui::EF_NONE);
+  generator_->ReleaseKey(ui::VKEY_1, ui::EF_NONE);
+
+  // We received a new event.
+
+  // The event was NOT captured by AccessibilityEventRewriter.
+  EXPECT_TRUE(event_capturer_.last_key_event());
+  EXPECT_FALSE(event_capturer_.last_key_event()->handled());
+
+  // Press the "4" key.
+  generator_->PressKey(ui::VKEY_4, ui::EF_NONE);
+  generator_->ReleaseKey(ui::VKEY_4, ui::EF_NONE);
+
+  // The event was captured by AccessibilityEventRewriter.
+}
+
+TEST_F(SwitchAccessAccessibilityEventRewriterTest,
+       SetKeyCodesForSwitchAccessCommand) {
+  AccessibilityEventRewriter* rewriter =
+      controller_->GetAccessibilityEventRewriterForTest();
+  EXPECT_NE(nullptr, rewriter);
+
+  // Both the key codes to capture and the command map should be empty.
+  EXPECT_EQ(0u, GetKeyCodesToCapture().size());
+  EXPECT_EQ(0u, GetCommandForKeyCodeMap().size());
+
+  // Set key codes for Select command.
+  std::set<int> new_key_codes;
+  new_key_codes.insert(48 /* '0' */);
+  new_key_codes.insert(83 /* 's' */);
+  rewriter->SetKeyCodesForSwitchAccessCommand(new_key_codes,
+                                              SwitchAccessCommand::kSelect);
+
+  // Check that values are added to both data structures.
+  std::set<int> kc_to_capture = GetKeyCodesToCapture();
+  EXPECT_EQ(2u, kc_to_capture.size());
+  EXPECT_EQ(1u, kc_to_capture.count(48));
+  EXPECT_EQ(1u, kc_to_capture.count(83));
+
+  std::map<int, SwitchAccessCommand> command_map = GetCommandForKeyCodeMap();
+  EXPECT_EQ(2u, command_map.size());
+  EXPECT_EQ(SwitchAccessCommand::kSelect, command_map.at(48));
+  EXPECT_EQ(SwitchAccessCommand::kSelect, command_map.at(83));
+
+  // Set key codes for the Next command.
+  new_key_codes.clear();
+  new_key_codes.insert(49 /* '1' */);
+  new_key_codes.insert(78 /* 'n' */);
+  rewriter->SetKeyCodesForSwitchAccessCommand(new_key_codes,
+                                              SwitchAccessCommand::kNext);
+
+  // Check that the new values are added and old values are not changed.
+  kc_to_capture = GetKeyCodesToCapture();
+  EXPECT_EQ(4u, kc_to_capture.size());
+  EXPECT_EQ(1u, kc_to_capture.count(49));
+  EXPECT_EQ(1u, kc_to_capture.count(78));
+
+  command_map = GetCommandForKeyCodeMap();
+  EXPECT_EQ(4u, command_map.size());
+  EXPECT_EQ(SwitchAccessCommand::kNext, command_map.at(49));
+  EXPECT_EQ(SwitchAccessCommand::kNext, command_map.at(78));
+
+  // Set key codes for the Previous command. Re-use a key code from above.
+  new_key_codes.clear();
+  new_key_codes.insert(49 /* '1' */);
+  new_key_codes.insert(80 /* 'p' */);
+  rewriter->SetKeyCodesForSwitchAccessCommand(new_key_codes,
+                                              SwitchAccessCommand::kPrevious);
+
+  // Check that '1' has been remapped to Previous.
+  kc_to_capture = GetKeyCodesToCapture();
+  EXPECT_EQ(5u, kc_to_capture.size());
+  EXPECT_EQ(1u, kc_to_capture.count(49));
+  EXPECT_EQ(1u, kc_to_capture.count(80));
+
+  command_map = GetCommandForKeyCodeMap();
+  EXPECT_EQ(5u, command_map.size());
+  EXPECT_EQ(SwitchAccessCommand::kPrevious, command_map.at(49));
+  EXPECT_EQ(SwitchAccessCommand::kPrevious, command_map.at(80));
+  EXPECT_EQ(SwitchAccessCommand::kNext, command_map.at(78));
+
+  // Set a new key code for the Select command.
+  new_key_codes.clear();
+  new_key_codes.insert(51 /* '3' */);
+  new_key_codes.insert(83 /* 's' */);
+  rewriter->SetKeyCodesForSwitchAccessCommand(new_key_codes,
+                                              SwitchAccessCommand::kSelect);
+
+  // Check that the previously set values for Select have been cleared.
+  kc_to_capture = GetKeyCodesToCapture();
+  EXPECT_EQ(5u, kc_to_capture.size());
+  EXPECT_EQ(0u, kc_to_capture.count(48));
+  EXPECT_EQ(1u, kc_to_capture.count(51));
+  EXPECT_EQ(1u, kc_to_capture.count(83));
+
+  command_map = GetCommandForKeyCodeMap();
+  EXPECT_EQ(5u, command_map.size());
+  EXPECT_EQ(SwitchAccessCommand::kSelect, command_map.at(51));
+  EXPECT_EQ(SwitchAccessCommand::kSelect, command_map.at(83));
+  EXPECT_EQ(command_map.end(), command_map.find(48));
+}
+
+}  // namespace
+}  // namespace ash
diff --git a/ash/events/event_rewriter_controller_impl.cc b/ash/events/event_rewriter_controller_impl.cc
index b9b0225..243bf369 100644
--- a/ash/events/event_rewriter_controller_impl.cc
+++ b/ash/events/event_rewriter_controller_impl.cc
@@ -9,11 +9,13 @@
 #include "ash/display/mirror_window_controller.h"
 #include "ash/display/privacy_screen_controller.h"
 #include "ash/display/window_tree_host_manager.h"
+#include "ash/events/accessibility_event_rewriter.h"
 #include "ash/events/keyboard_driven_event_rewriter.h"
-#include "ash/events/spoken_feedback_event_rewriter.h"
-#include "ash/public/cpp/spoken_feedback_event_rewriter_delegate.h"
+#include "ash/public/cpp/accessibility_event_rewriter_delegate.h"
 #include "ash/shell.h"
 #include "ash/sticky_keys/sticky_keys_controller.h"
+#include "base/command_line.h"
+#include "ui/accessibility/accessibility_switches.h"
 #include "ui/aura/env.h"
 #include "ui/aura/window_tree_host.h"
 #include "ui/events/event_sink.h"
@@ -44,8 +46,7 @@
 
 void EventRewriterControllerImpl::Initialize(
     ui::EventRewriterChromeOS::Delegate* event_rewriter_delegate,
-    SpokenFeedbackEventRewriterDelegate*
-        spoken_feedback_event_rewriter_delegate) {
+    AccessibilityEventRewriterDelegate* accessibility_event_rewriter_delegate) {
   std::unique_ptr<KeyboardDrivenEventRewriter> keyboard_driven_event_rewriter =
       std::make_unique<KeyboardDrivenEventRewriter>();
   keyboard_driven_event_rewriter_ = keyboard_driven_event_rewriter.get();
@@ -60,15 +61,13 @@
           event_rewriter_delegate, Shell::Get()->sticky_keys_controller(),
           privacy_screen_supported);
 
-  std::unique_ptr<SpokenFeedbackEventRewriter> spoken_feedback_event_rewriter =
-      std::make_unique<SpokenFeedbackEventRewriter>(
-          event_rewriter_chromeos.get());
-  spoken_feedback_event_rewriter_ = spoken_feedback_event_rewriter.get();
-  spoken_feedback_event_rewriter_->set_delegate(
-      spoken_feedback_event_rewriter_delegate);
+  std::unique_ptr<AccessibilityEventRewriter> accessibility_event_rewriter =
+      std::make_unique<AccessibilityEventRewriter>(
+          event_rewriter_chromeos.get(), accessibility_event_rewriter_delegate);
+  accessibility_event_rewriter_ = accessibility_event_rewriter.get();
 
   // EventRewriters are notified in the order they are added.
-  AddEventRewriter(std::move(spoken_feedback_event_rewriter));
+  AddEventRewriter(std::move(accessibility_event_rewriter));
   AddEventRewriter(std::move(keyboard_driven_event_rewriter));
   AddEventRewriter(std::move(event_rewriter_chromeos));
 }
@@ -100,17 +99,17 @@
 
 void EventRewriterControllerImpl::OnUnhandledSpokenFeedbackEvent(
     std::unique_ptr<ui::Event> event) {
-  spoken_feedback_event_rewriter_->OnUnhandledSpokenFeedbackEvent(
+  accessibility_event_rewriter_->OnUnhandledSpokenFeedbackEvent(
       std::move(event));
 }
 
 void EventRewriterControllerImpl::CaptureAllKeysForSpokenFeedback(
     bool capture) {
-  spoken_feedback_event_rewriter_->set_capture_all_keys(capture);
+  accessibility_event_rewriter_->set_chromevox_capture_all_keys(capture);
 }
 
 void EventRewriterControllerImpl::SetSendMouseEventsToDelegate(bool value) {
-  spoken_feedback_event_rewriter_->set_send_mouse_events(value);
+  accessibility_event_rewriter_->set_chromevox_send_mouse_events(value);
 }
 
 void EventRewriterControllerImpl::OnHostInitialized(
diff --git a/ash/events/event_rewriter_controller_impl.h b/ash/events/event_rewriter_controller_impl.h
index 6c614b0..717538a 100644
--- a/ash/events/event_rewriter_controller_impl.h
+++ b/ash/events/event_rewriter_controller_impl.h
@@ -19,8 +19,8 @@
 
 namespace ash {
 
+class AccessibilityEventRewriter;
 class KeyboardDrivenEventRewriter;
-class SpokenFeedbackEventRewriter;
 
 // Owns ui::EventRewriters and ensures that they are added to each root window
 // EventSource, current and future, in the order that they are added to this.
@@ -32,8 +32,8 @@
 
   // EventRewriterController:
   void Initialize(ui::EventRewriterChromeOS::Delegate* event_rewriter_delegate,
-                  SpokenFeedbackEventRewriterDelegate*
-                      spoken_feedback_event_rewriter_delegate) override;
+                  AccessibilityEventRewriterDelegate*
+                      accessibility_event_rewriter_delegate) override;
   void AddEventRewriter(std::unique_ptr<ui::EventRewriter> rewriter) override;
   void SetKeyboardDrivenEventRewriterEnabled(bool enabled) override;
   void SetArrowToTabRewritingEnabled(bool enabled) override;
@@ -49,12 +49,10 @@
   // The |EventRewriter|s managed by this controller.
   std::vector<std::unique_ptr<ui::EventRewriter>> rewriters_;
 
-  // A weak pointer to the KeyboardDrivenEventRewriter owned in |rewriters_|.
+  // Owned by |rewriters_|.
+  AccessibilityEventRewriter* accessibility_event_rewriter_ = nullptr;
   KeyboardDrivenEventRewriter* keyboard_driven_event_rewriter_ = nullptr;
 
-  // A weak pointer to the SpokenFeedbackEventRewriter owned in |rewriters_|.
-  SpokenFeedbackEventRewriter* spoken_feedback_event_rewriter_ = nullptr;
-
   DISALLOW_COPY_AND_ASSIGN(EventRewriterControllerImpl);
 };
 
diff --git a/ash/events/spoken_feedback_event_rewriter.cc b/ash/events/spoken_feedback_event_rewriter.cc
deleted file mode 100644
index 09134d11..0000000
--- a/ash/events/spoken_feedback_event_rewriter.cc
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ash/events/spoken_feedback_event_rewriter.h"
-
-#include <string>
-#include <utility>
-
-#include "ash/accessibility/accessibility_controller_impl.h"
-#include "ash/public/cpp/spoken_feedback_event_rewriter_delegate.h"
-#include "ash/shell.h"
-#include "ui/aura/window_tree_host.h"
-#include "ui/chromeos/events/event_rewriter_chromeos.h"
-#include "ui/events/event.h"
-#include "ui/events/event_sink.h"
-
-namespace ash {
-
-SpokenFeedbackEventRewriter::SpokenFeedbackEventRewriter(
-    ui::EventRewriterChromeOS* event_rewriter_chromeos)
-    : event_rewriter_chromeos_(event_rewriter_chromeos) {}
-
-SpokenFeedbackEventRewriter::~SpokenFeedbackEventRewriter() = default;
-
-void SpokenFeedbackEventRewriter::OnUnhandledSpokenFeedbackEvent(
-    std::unique_ptr<ui::Event> event) const {
-  DCHECK(event->IsKeyEvent()) << "Unexpected unhandled event type";
-  // Send the event to the most recently rewritten event's continuation,
-  // (that is, through its EventSource). Under the assumption that a single
-  // SpokenFeedbackEventRewriter is not registered to multiple EventSources,
-  // this will be the same as this event's original source.
-  const char* failure_reason = nullptr;
-  if (continuation_) {
-    ui::EventDispatchDetails details = SendEvent(continuation_, event.get());
-    if (details.dispatcher_destroyed)
-      failure_reason = "destroyed dispatcher";
-    else if (details.target_destroyed)
-      failure_reason = "destroyed target";
-  } else if (continuation_.WasInvalidated()) {
-    failure_reason = "destroyed source";
-  } else {
-    failure_reason = "no prior rewrite";
-  }
-  if (failure_reason) {
-    VLOG(0) << "Undispatched key " << event->AsKeyEvent()->key_code()
-            << " due to " << failure_reason << ".";
-  }
-}
-
-ui::EventDispatchDetails SpokenFeedbackEventRewriter::RewriteEvent(
-    const ui::Event& event,
-    const Continuation continuation) {
-  // Save continuation for |OnUnhandledSpokenFeedbackEvent()|.
-  continuation_ = continuation;
-
-  if (!delegate_ ||
-      !Shell::Get()->accessibility_controller()->spoken_feedback_enabled())
-    return SendEvent(continuation, &event);
-
-  if (event.IsKeyEvent()) {
-    const ui::KeyEvent* key_event = event.AsKeyEvent();
-    ui::EventRewriterChromeOS::MutableKeyState state(key_event);
-    event_rewriter_chromeos_->RewriteModifierKeys(*key_event, &state);
-
-    // Remove the Search modifier before asking for function keys to be
-    // rewritten, then restore the flags. This allows ChromeVox to receive keys
-    // mappings for raw f1-f12 as e.g. back, but also Search+f1-f12 as
-    // Search+back (rather than just f1-f12).
-    int original_flags = state.flags;
-    state.flags = original_flags & ~ui::EF_COMMAND_DOWN;
-    event_rewriter_chromeos_->RewriteFunctionKeys(*key_event, &state);
-    state.flags = original_flags;
-
-    std::unique_ptr<ui::Event> rewritten_event;
-    ui::EventRewriterChromeOS::BuildRewrittenKeyEvent(*key_event, state,
-                                                      &rewritten_event);
-    const ui::KeyEvent* rewritten_key_event =
-        rewritten_event.get()->AsKeyEvent();
-
-    bool capture = capture_all_keys_;
-
-    // Always capture the Search key.
-    capture |= rewritten_key_event->IsCommandDown() ||
-               rewritten_key_event->key_code() == ui::VKEY_LWIN;
-
-    // Don't capture tab as it gets consumed by Blink so never comes back
-    // unhandled. In third_party/WebKit/Source/core/input/EventHandler.cpp, a
-    // default tab handler consumes tab even when no focusable nodes are found;
-    // it sets focus to Chrome and eats the event.
-    if (rewritten_key_event->GetDomKey() == ui::DomKey::TAB)
-      capture = false;
-
-    delegate_->DispatchKeyEventToChromeVox(
-        ui::Event::Clone(*rewritten_key_event), capture);
-    return capture ? DiscardEvent(continuation)
-                   : SendEvent(continuation, &event);
-  }
-
-  if (send_mouse_events_ && event.IsMouseEvent())
-    delegate_->DispatchMouseEventToChromeVox(ui::Event::Clone(event));
-
-  return SendEvent(continuation, &event);
-}
-
-}  // namespace ash
diff --git a/ash/events/spoken_feedback_event_rewriter.h b/ash/events/spoken_feedback_event_rewriter.h
deleted file mode 100644
index 7313e5e..0000000
--- a/ash/events/spoken_feedback_event_rewriter.h
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2015 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 ASH_EVENTS_SPOKEN_FEEDBACK_EVENT_REWRITER_H_
-#define ASH_EVENTS_SPOKEN_FEEDBACK_EVENT_REWRITER_H_
-
-#include <memory>
-
-#include "ash/ash_export.h"
-#include "base/macros.h"
-#include "ui/events/event_rewriter.h"
-
-namespace ui {
-class EventRewriterChromeOS;
-}
-
-namespace ash {
-
-class SpokenFeedbackEventRewriterDelegate;
-
-// SpokenFeedbackEventRewriter sends key events to ChromeVox (via the delegate)
-// when spoken feedback is enabled. Continues dispatch of unhandled key events.
-// TODO(http://crbug.com/839541): Avoid reposting unhandled events.
-class ASH_EXPORT SpokenFeedbackEventRewriter : public ui::EventRewriter {
- public:
-  explicit SpokenFeedbackEventRewriter(
-      ui::EventRewriterChromeOS* event_rewriter_chromeos);
-  ~SpokenFeedbackEventRewriter() override;
-
-  // Set the delegate used to send key events to the ChromeVox extension.
-  void set_delegate(SpokenFeedbackEventRewriterDelegate* delegate) {
-    delegate_ = delegate;
-  }
-
-  // Continue dispatch of events that were unhandled by the ChromeVox extension.
-  // NOTE: These events may be delivered out-of-order from non-ChromeVox events.
-  void OnUnhandledSpokenFeedbackEvent(std::unique_ptr<ui::Event> event) const;
-
-  void set_capture_all_keys(bool value) { capture_all_keys_ = value; }
-  void set_send_mouse_events(bool value) { send_mouse_events_ = value; }
-
- private:
-  // ui::EventRewriter:
-  ui::EventDispatchDetails RewriteEvent(
-      const ui::Event& event,
-      const Continuation continuation) override;
-
-  // Continuation saved for OnUnhandledSpokenFeedbackEvent().
-  Continuation continuation_;
-
-  // The delegate used to send key events to the ChromeVox extension.
-  SpokenFeedbackEventRewriterDelegate* delegate_ = nullptr;
-
-  // Whether to send mouse events to the ChromeVox extension.
-  bool send_mouse_events_ = false;
-
-  // Whether to capture all keys.
-  bool capture_all_keys_ = false;
-
-  // Weak.
-  ui::EventRewriterChromeOS* event_rewriter_chromeos_;
-
-  DISALLOW_COPY_AND_ASSIGN(SpokenFeedbackEventRewriter);
-};
-
-}  // namespace ash
-
-#endif  // ASH_EVENTS_SPOKEN_FEEDBACK_EVENT_REWRITER_H_
diff --git a/ash/events/spoken_feedback_event_rewriter_unittest.cc b/ash/events/spoken_feedback_event_rewriter_unittest.cc
deleted file mode 100644
index 89a2e24..0000000
--- a/ash/events/spoken_feedback_event_rewriter_unittest.cc
+++ /dev/null
@@ -1,359 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ash/events/spoken_feedback_event_rewriter.h"
-
-#include <memory>
-#include <vector>
-
-#include "ash/accessibility/accessibility_controller_impl.h"
-#include "ash/public/cpp/spoken_feedback_event_rewriter_delegate.h"
-#include "ash/shell.h"
-#include "ash/test/ash_test_base.h"
-#include "base/macros.h"
-#include "ui/aura/window.h"
-#include "ui/aura/window_tree_host.h"
-#include "ui/chromeos/events/event_rewriter_chromeos.h"
-#include "ui/chromeos/events/modifier_key.h"
-#include "ui/chromeos/events/pref_names.h"
-#include "ui/events/event.h"
-#include "ui/events/event_constants.h"
-#include "ui/events/event_rewriter.h"
-#include "ui/events/keycodes/keyboard_codes.h"
-#include "ui/events/test/event_generator.h"
-#include "ui/events/test/test_event_rewriter.h"
-#include "ui/events/types/event_type.h"
-
-namespace ash {
-namespace {
-
-// A test implementation of the spoken feedback delegate interface.
-class TestDelegate : public SpokenFeedbackEventRewriterDelegate {
- public:
-  TestDelegate() = default;
-  ~TestDelegate() override = default;
-
-  // Count of events sent to the delegate.
-  size_t recorded_event_count_ = 0;
-
-  // Count of captured events sent to the delegate.
-  size_t captured_event_count_ = 0;
-
- private:
-  // SpokenFeedbackEventRewriterDelegate:
-  void DispatchKeyEventToChromeVox(std::unique_ptr<ui::Event> event,
-                                   bool capture) override {
-    recorded_event_count_++;
-    if (capture)
-      captured_event_count_++;
-  }
-  void DispatchMouseEventToChromeVox(
-      std::unique_ptr<ui::Event> event) override {
-    recorded_event_count_++;
-  }
-
-  DISALLOW_COPY_AND_ASSIGN(TestDelegate);
-};
-
-class SpokenFeedbackEventRewriterTest
-    : public ash::AshTestBase,
-      public ui::EventRewriterChromeOS::Delegate {
- public:
-  SpokenFeedbackEventRewriterTest() {
-    event_rewriter_chromeos_ =
-        std::make_unique<ui::EventRewriterChromeOS>(this, nullptr, false);
-    spoken_feedback_event_rewriter_ =
-        std::make_unique<SpokenFeedbackEventRewriter>(
-            event_rewriter_chromeos_.get());
-  }
-
-  void SetUp() override {
-    ash::AshTestBase::SetUp();
-    generator_ = AshTestBase::GetEventGenerator();
-    spoken_feedback_event_rewriter_->set_delegate(&delegate_);
-    GetContext()->GetHost()->GetEventSource()->AddEventRewriter(
-        spoken_feedback_event_rewriter_.get());
-    GetContext()->GetHost()->GetEventSource()->AddEventRewriter(
-        &event_recorder_);
-  }
-
-  void TearDown() override {
-    GetContext()->GetHost()->GetEventSource()->RemoveEventRewriter(
-        &event_recorder_);
-    GetContext()->GetHost()->GetEventSource()->RemoveEventRewriter(
-        spoken_feedback_event_rewriter_.get());
-    spoken_feedback_event_rewriter_->set_delegate(nullptr);
-    generator_ = nullptr;
-    ash::AshTestBase::TearDown();
-  }
-
-  size_t delegate_recorded_event_count() {
-    return delegate_.recorded_event_count_;
-  }
-
-  size_t delegate_captured_event_count() {
-    return delegate_.captured_event_count_;
-  }
-
-  void SetDelegateCaptureAllKeys(bool value) {
-    spoken_feedback_event_rewriter_->set_capture_all_keys(value);
-  }
-
-  void ExpectCounts(size_t expected_recorded_count,
-                    size_t expected_delegate_count,
-                    size_t expected_captured_count) {
-    EXPECT_EQ(expected_recorded_count,
-              static_cast<size_t>(event_recorder_.events_seen()));
-    EXPECT_EQ(expected_delegate_count, delegate_recorded_event_count());
-    EXPECT_EQ(expected_captured_count, delegate_captured_event_count());
-  }
-
-  void SetModifierRemapping(const std::string& pref_name,
-                            ui::chromeos::ModifierKey value) {
-    modifier_remapping_[pref_name] = static_cast<int>(value);
-  }
-
- protected:
-  // A test spoken feedback delegate; simulates ChromeVox.
-  TestDelegate delegate_;
-  // Generates ui::Events from simulated user input.
-  ui::test::EventGenerator* generator_ = nullptr;
-  // Records events delivered to the next event rewriter after spoken feedback.
-  ui::test::TestEventRewriter event_recorder_;
-
-  std::unique_ptr<SpokenFeedbackEventRewriter> spoken_feedback_event_rewriter_;
-
-  std::unique_ptr<ui::EventRewriterChromeOS> event_rewriter_chromeos_;
-
- private:
-  // ui::EventRewriterChromeOS::Delegate:
-  bool RewriteModifierKeys() override { return true; }
-
-  bool GetKeyboardRemappedPrefValue(const std::string& pref_name,
-                                    int* value) const override {
-    auto it = modifier_remapping_.find(pref_name);
-    if (it == modifier_remapping_.end())
-      return false;
-
-    *value = it->second;
-    return true;
-  }
-
-  bool TopRowKeysAreFunctionKeys() const override { return false; }
-
-  bool IsExtensionCommandRegistered(ui::KeyboardCode key_code,
-                                    int flags) const override {
-    return false;
-  }
-
-  bool IsSearchKeyAcceleratorReserved() const override { return false; }
-
-  std::map<std::string, int> modifier_remapping_;
-
-  DISALLOW_COPY_AND_ASSIGN(SpokenFeedbackEventRewriterTest);
-};
-
-// The delegate should not intercept events when spoken feedback is disabled.
-TEST_F(SpokenFeedbackEventRewriterTest, EventsNotConsumedWhenDisabled) {
-  AccessibilityControllerImpl* controller =
-      Shell::Get()->accessibility_controller();
-  EXPECT_FALSE(controller->spoken_feedback_enabled());
-
-  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
-  EXPECT_EQ(1, event_recorder_.events_seen());
-  EXPECT_EQ(0U, delegate_recorded_event_count());
-  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
-  EXPECT_EQ(2, event_recorder_.events_seen());
-  EXPECT_EQ(0U, delegate_recorded_event_count());
-
-  generator_->ClickLeftButton();
-  EXPECT_EQ(4, event_recorder_.events_seen());
-  EXPECT_EQ(0U, delegate_recorded_event_count());
-
-  generator_->GestureTapAt(gfx::Point());
-  EXPECT_EQ(6, event_recorder_.events_seen());
-  EXPECT_EQ(0U, delegate_recorded_event_count());
-}
-
-// The delegate should intercept key events when spoken feedback is enabled.
-TEST_F(SpokenFeedbackEventRewriterTest, KeyEventsConsumedWhenEnabled) {
-  AccessibilityControllerImpl* controller =
-      Shell::Get()->accessibility_controller();
-  controller->SetSpokenFeedbackEnabled(true, A11Y_NOTIFICATION_NONE);
-  EXPECT_TRUE(controller->spoken_feedback_enabled());
-
-  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
-  EXPECT_EQ(1, event_recorder_.events_seen());
-  EXPECT_EQ(1U, delegate_recorded_event_count());
-  EXPECT_EQ(0U, delegate_captured_event_count());
-  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
-  EXPECT_EQ(2, event_recorder_.events_seen());
-  EXPECT_EQ(2U, delegate_recorded_event_count());
-  EXPECT_EQ(0U, delegate_captured_event_count());
-
-  generator_->ClickLeftButton();
-  EXPECT_EQ(4, event_recorder_.events_seen());
-  EXPECT_EQ(2U, delegate_recorded_event_count());
-  EXPECT_EQ(0U, delegate_captured_event_count());
-
-  generator_->GestureTapAt(gfx::Point());
-  EXPECT_EQ(6, event_recorder_.events_seen());
-  EXPECT_EQ(2U, delegate_recorded_event_count());
-  EXPECT_EQ(0U, delegate_captured_event_count());
-}
-
-// Asynchronously unhandled events should be sent to subsequent rewriters.
-TEST_F(SpokenFeedbackEventRewriterTest, UnhandledEventsSentToOtherRewriters) {
-  // Before it can forward unhandled events, SpokenFeedbackEventRewriter
-  // must have seen at least one event in the first place.
-  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
-  EXPECT_EQ(1, event_recorder_.events_seen());
-  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
-  EXPECT_EQ(2, event_recorder_.events_seen());
-
-  spoken_feedback_event_rewriter_->OnUnhandledSpokenFeedbackEvent(
-      std::make_unique<ui::KeyEvent>(ui::ET_KEY_PRESSED, ui::VKEY_A,
-                                     ui::EF_NONE));
-  EXPECT_EQ(3, event_recorder_.events_seen());
-  spoken_feedback_event_rewriter_->OnUnhandledSpokenFeedbackEvent(
-      std::make_unique<ui::KeyEvent>(ui::ET_KEY_RELEASED, ui::VKEY_A,
-                                     ui::EF_NONE));
-  EXPECT_EQ(4, event_recorder_.events_seen());
-}
-
-TEST_F(SpokenFeedbackEventRewriterTest, KeysNotEatenWithChromeVoxDisabled) {
-  AccessibilityControllerImpl* controller =
-      Shell::Get()->accessibility_controller();
-  EXPECT_FALSE(controller->spoken_feedback_enabled());
-
-  // Send Search+Shift+Right.
-  generator_->PressKey(ui::VKEY_LWIN, ui::EF_COMMAND_DOWN);
-  EXPECT_EQ(1, event_recorder_.events_seen());
-  generator_->PressKey(ui::VKEY_SHIFT, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
-  EXPECT_EQ(2, event_recorder_.events_seen());
-
-  // Mock successful commands lookup and dispatch; shouldn't matter either way.
-  generator_->PressKey(ui::VKEY_RIGHT, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
-  EXPECT_EQ(3, event_recorder_.events_seen());
-
-  // Released keys shouldn't get eaten.
-  generator_->ReleaseKey(ui::VKEY_RIGHT,
-                         ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
-  generator_->ReleaseKey(ui::VKEY_SHIFT, ui::EF_COMMAND_DOWN);
-  generator_->ReleaseKey(ui::VKEY_LWIN, 0);
-  EXPECT_EQ(6, event_recorder_.events_seen());
-
-  // Try releasing more keys.
-  generator_->ReleaseKey(ui::VKEY_RIGHT, 0);
-  generator_->ReleaseKey(ui::VKEY_SHIFT, 0);
-  generator_->ReleaseKey(ui::VKEY_LWIN, 0);
-  EXPECT_EQ(9, event_recorder_.events_seen());
-
-  EXPECT_EQ(0U, delegate_recorded_event_count());
-}
-
-TEST_F(SpokenFeedbackEventRewriterTest, KeyEventsCaptured) {
-  AccessibilityControllerImpl* controller =
-      Shell::Get()->accessibility_controller();
-  controller->SetSpokenFeedbackEnabled(true, A11Y_NOTIFICATION_NONE);
-  EXPECT_TRUE(controller->spoken_feedback_enabled());
-
-  // Initialize expected counts as variables for easier maintaiblity.
-  size_t recorded_count = 0;
-  size_t delegate_count = 0;
-  size_t captured_count = 0;
-
-  // Anything with Search gets captured.
-  generator_->PressKey(ui::VKEY_LWIN, ui::EF_COMMAND_DOWN);
-  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
-  generator_->ReleaseKey(ui::VKEY_LWIN, ui::EF_COMMAND_DOWN);
-  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
-
-  // Tab never gets captured.
-  generator_->PressKey(ui::VKEY_TAB, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-  generator_->ReleaseKey(ui::VKEY_TAB, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-
-  // A client requested capture of all keys.
-  SetDelegateCaptureAllKeys(true);
-  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
-  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
-  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
-  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
-
-  // Tab never gets captured even with explicit client request for all keys.
-  generator_->PressKey(ui::VKEY_TAB, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-  generator_->ReleaseKey(ui::VKEY_TAB, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-
-  // A client requested to not capture all keys.
-  SetDelegateCaptureAllKeys(false);
-  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-}
-
-TEST_F(SpokenFeedbackEventRewriterTest,
-       KeyEventsCapturedWithModifierRemapping) {
-  AccessibilityControllerImpl* controller =
-      Shell::Get()->accessibility_controller();
-  controller->SetSpokenFeedbackEnabled(true, A11Y_NOTIFICATION_NONE);
-  EXPECT_TRUE(controller->spoken_feedback_enabled());
-
-  // Initialize expected counts as variables for easier maintaiblity.
-  size_t recorded_count = 0;
-  size_t delegate_count = 0;
-  size_t captured_count = 0;
-
-  // Map Control key to Search.
-  SetModifierRemapping(prefs::kLanguageRemapControlKeyTo,
-                       ui::chromeos::ModifierKey::kSearchKey);
-
-  // Anything with Search gets captured.
-  generator_->PressKey(ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN);
-  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
-  // EventRewriterChromeOS actually omits the modifier flag.
-  generator_->ReleaseKey(ui::VKEY_CONTROL, 0);
-  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
-
-  // Search itself should also work.
-  generator_->PressKey(ui::VKEY_LWIN, ui::EF_COMMAND_DOWN);
-  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
-  generator_->ReleaseKey(ui::VKEY_LWIN, 0);
-  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
-
-  // Remapping should have no effect on all other expectations.
-
-  // Tab never gets captured.
-  generator_->PressKey(ui::VKEY_TAB, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-  generator_->ReleaseKey(ui::VKEY_TAB, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-
-  // A client requested capture of all keys.
-  SetDelegateCaptureAllKeys(true);
-  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
-  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
-  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
-  ExpectCounts(recorded_count, ++delegate_count, ++captured_count);
-
-  // Tab never gets captured even with explicit client request for all keys.
-  generator_->PressKey(ui::VKEY_TAB, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-  generator_->ReleaseKey(ui::VKEY_TAB, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-
-  // A client requested to not capture all keys.
-  SetDelegateCaptureAllKeys(false);
-  generator_->PressKey(ui::VKEY_A, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-  generator_->ReleaseKey(ui::VKEY_A, ui::EF_NONE);
-  ExpectCounts(++recorded_count, ++delegate_count, captured_count);
-}
-
-}  // namespace
-}  // namespace ash
diff --git a/ash/events/switch_access_event_handler.cc b/ash/events/switch_access_event_handler.cc
deleted file mode 100644
index 9b6135b2..0000000
--- a/ash/events/switch_access_event_handler.cc
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ash/events/switch_access_event_handler.h"
-
-#include "ash/accessibility/accessibility_controller_impl.h"
-#include "ash/public/cpp/switch_access_event_handler_delegate.h"
-#include "ash/shell.h"
-#include "ui/events/event.h"
-#include "ui/events/event_constants.h"
-#include "ui/events/event_utils.h"
-#include "ui/events/types/event_type.h"
-
-namespace ash {
-
-namespace {
-
-bool IsSwitchAccessRunning() {
-  return Shell::Get()->accessibility_controller()->IsSwitchAccessRunning();
-}
-
-void CancelEvent(ui::Event* event) {
-  DCHECK(event);
-  if (event->cancelable()) {
-    event->SetHandled();
-    event->StopPropagation();
-  }
-}
-
-}  // namespace
-
-SwitchAccessEventHandler::SwitchAccessEventHandler(
-    SwitchAccessEventHandlerDelegate* delegate)
-    : delegate_(delegate) {
-  DCHECK(delegate_);
-  Shell::Get()->AddPreTargetHandler(this,
-                                    ui::EventTarget::Priority::kAccessibility);
-}
-
-SwitchAccessEventHandler::~SwitchAccessEventHandler() {
-  Shell::Get()->RemovePreTargetHandler(this);
-}
-
-bool SwitchAccessEventHandler::SetKeyCodesForCommand(
-    std::set<int> new_key_codes,
-    SwitchAccessCommand command) {
-  bool has_changed = false;
-  std::set<int> to_clear;
-
-  // Clear old values that conflict with the new assignment.
-  for (const auto& val : command_for_key_code_) {
-    int old_key_code = val.first;
-    SwitchAccessCommand old_command = val.second;
-
-    if (new_key_codes.count(old_key_code) > 0) {
-      if (old_command != command) {
-        has_changed = true;
-        // Modifying the map while iterating through it causes reference
-        // failures.
-        to_clear.insert(old_key_code);
-      } else {
-        new_key_codes.erase(old_key_code);
-      }
-      continue;
-    }
-
-    // This value was previously mapped to the command, but is no longer.
-    if (old_command == command) {
-      has_changed = true;
-      to_clear.insert(old_key_code);
-      key_codes_to_capture_.erase(old_key_code);
-    }
-  }
-  for (int key_code : to_clear) {
-    command_for_key_code_.erase(key_code);
-  }
-
-  if (new_key_codes.size() == 0)
-    return has_changed;
-
-  // Add any new key codes to the map.
-  for (int key_code : new_key_codes) {
-    key_codes_to_capture_.insert(key_code);
-    command_for_key_code_[key_code] = command;
-  }
-
-  return true;
-}
-
-void SwitchAccessEventHandler::OnKeyEvent(ui::KeyEvent* event) {
-  DCHECK(IsSwitchAccessRunning());
-  DCHECK(event);
-
-  if (ShouldCancelEvent(*event)) {
-    CancelEvent(event);
-    if (ShouldForwardEvent(*event)) {
-      SwitchAccessCommand command = command_for_key_code_[event->key_code()];
-      delegate_->SendSwitchAccessCommand(command);
-    }
-  }
-}
-
-bool SwitchAccessEventHandler::ShouldCancelEvent(
-    const ui::KeyEvent& event) const {
-  // Ignore virtual key events so users can type with the onscreen keyboard.
-  if (ignore_virtual_key_events_ &&
-      event.source_device_id() == ui::ED_UNKNOWN_DEVICE) {
-    // When running Chrome OS on Linux, the source_device_id property is never
-    // populated.
-    auto* properties = event.properties();
-    bool is_linux_xevent =
-        properties &&
-        properties->find(ui::kPropertyKeyboardHwKeyCode) != properties->end();
-    if (!is_linux_xevent)
-      return false;
-  }
-
-  if (forward_key_events_)
-    return true;
-
-  return key_codes_to_capture_.count(event.key_code()) > 0;
-}
-
-// Returns whether to forward an event, assuming that ShouldCancelEvent(event)
-// returns true.
-bool SwitchAccessEventHandler::ShouldForwardEvent(
-    const ui::KeyEvent& event) const {
-  return event.type() == ui::ET_KEY_PRESSED;
-}
-
-}  // namespace ash
diff --git a/ash/events/switch_access_event_handler.h b/ash/events/switch_access_event_handler.h
deleted file mode 100644
index bfc8c8c..0000000
--- a/ash/events/switch_access_event_handler.h
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef ASH_EVENTS_SWITCH_ACCESS_EVENT_HANDLER_H_
-#define ASH_EVENTS_SWITCH_ACCESS_EVENT_HANDLER_H_
-
-#include <map>
-#include <set>
-
-#include "ash/ash_export.h"
-#include "base/macros.h"
-#include "ui/events/event_handler.h"
-
-namespace ash {
-
-enum class SwitchAccessCommand;
-class SwitchAccessEventHandlerDelegate;
-
-// SwitchAccessEventHandler sends events to the Switch Access extension
-// (via the delegate) when it is enabled.
-class ASH_EXPORT SwitchAccessEventHandler : public ui::EventHandler {
- public:
-  explicit SwitchAccessEventHandler(SwitchAccessEventHandlerDelegate* delegate);
-  ~SwitchAccessEventHandler() override;
-
-  // Sets what key_codes are captured for a given command.
-  bool SetKeyCodesForCommand(std::set<int> key_codes,
-                             SwitchAccessCommand command);
-
-  // Sets whether virtual key events should be ignored.
-  void set_ignore_virtual_key_events(bool should_ignore) {
-    ignore_virtual_key_events_ = should_ignore;
-  }
-
-  // Tells the handler whether to forward all incoming key events to the Switch
-  // Access extension.
-  void set_forward_key_events(bool should_forward) {
-    forward_key_events_ = should_forward;
-  }
-
-  // For testing usage only.
-  const std::set<int> key_codes_to_capture_for_test() {
-    return key_codes_to_capture_;
-  }
-  const std::map<int, SwitchAccessCommand> command_for_key_code_map_for_test() {
-    return command_for_key_code_;
-  }
-
- private:
-  bool ShouldCancelEvent(const ui::KeyEvent& event) const;
-  bool ShouldForwardEvent(const ui::KeyEvent& event) const;
-
-  // ui::EventHandler:
-  void OnKeyEvent(ui::KeyEvent* event) override;
-
-  // The delegate used to send key events to the Switch Access extension.
-  SwitchAccessEventHandlerDelegate* delegate_;
-
-  std::set<int> key_codes_to_capture_;
-  std::map<int, SwitchAccessCommand> command_for_key_code_;
-  bool forward_key_events_ = false;
-  bool ignore_virtual_key_events_ = true;
-
-  DISALLOW_COPY_AND_ASSIGN(SwitchAccessEventHandler);
-};
-
-}  // namespace ash
-
-#endif  // ASH_EVENTS_SWITCH_ACCESS_EVENT_HANDLER_H_
diff --git a/ash/events/switch_access_event_handler_unittest.cc b/ash/events/switch_access_event_handler_unittest.cc
deleted file mode 100644
index ca6cfe7c..0000000
--- a/ash/events/switch_access_event_handler_unittest.cc
+++ /dev/null
@@ -1,317 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ash/events/switch_access_event_handler.h"
-
-#include "ash/accessibility/accessibility_controller_impl.h"
-#include "ash/public/cpp/switch_access_event_handler_delegate.h"
-#include "ash/shell.h"
-#include "ash/test/ash_test_base.h"
-#include "base/command_line.h"
-#include "base/macros.h"
-#include "ui/accessibility/accessibility_switches.h"
-#include "ui/aura/env.h"
-#include "ui/events/event.h"
-#include "ui/events/event_handler.h"
-#include "ui/events/test/event_generator.h"
-
-namespace ash {
-
-namespace {
-
-// Records all key events for testing.
-class EventCapturer : public ui::EventHandler {
- public:
-  EventCapturer() = default;
-  ~EventCapturer() override = default;
-
-  void Reset() { last_key_event_.reset(); }
-
-  ui::KeyEvent* last_key_event() { return last_key_event_.get(); }
-
- private:
-  void OnKeyEvent(ui::KeyEvent* event) override {
-    last_key_event_ = std::make_unique<ui::KeyEvent>(*event);
-  }
-
-  std::unique_ptr<ui::KeyEvent> last_key_event_;
-
-  DISALLOW_COPY_AND_ASSIGN(EventCapturer);
-};
-
-class TestDelegate : public SwitchAccessEventHandlerDelegate {
- public:
-  TestDelegate() = default;
-  virtual ~TestDelegate() = default;
-
-  SwitchAccessCommand last_command() { return commands_.back(); }
-  int command_count() { return commands_.size(); }
-
- private:
-  // SwitchAccessEventHandlerDelegate:
-  void SendSwitchAccessCommand(SwitchAccessCommand command) override {
-    commands_.push_back(command);
-  }
-
-  std::vector<std::unique_ptr<ui::KeyEvent>> key_events_;
-  std::vector<SwitchAccessCommand> commands_;
-
-  DISALLOW_COPY_AND_ASSIGN(TestDelegate);
-};
-
-class SwitchAccessEventHandlerTest : public AshTestBase {
- public:
-  SwitchAccessEventHandlerTest() = default;
-  ~SwitchAccessEventHandlerTest() override = default;
-
-  void SetUp() override {
-    AshTestBase::SetUp();
-
-    // This test triggers a resize of WindowTreeHost, which will end up
-    // throttling events. set_throttle_input_on_resize_for_testing() disables
-    // this.
-    aura::Env::GetInstance()->set_throttle_input_on_resize_for_testing(false);
-    delegate_ = std::make_unique<TestDelegate>();
-
-    generator_ = AshTestBase::GetEventGenerator();
-    GetContext()->AddPreTargetHandler(&event_capturer_);
-
-    controller_ = Shell::Get()->accessibility_controller();
-    base::CommandLine::ForCurrentProcess()->AppendSwitch(
-        switches::kEnableExperimentalAccessibilitySwitchAccess);
-    controller_->SetSwitchAccessEnabled(true);
-    controller_->SetSwitchAccessEventHandlerDelegate(delegate_.get());
-    controller_->SetSwitchAccessIgnoreVirtualKeyEventForTesting(false);
-  }
-
-  void TearDown() override {
-    GetContext()->RemovePreTargetHandler(&event_capturer_);
-    generator_ = nullptr;
-    controller_ = nullptr;
-    AshTestBase::TearDown();
-  }
-
-  void SetKeyCodesForCommand(std::set<int> key_codes,
-                             SwitchAccessCommand command) {
-    SwitchAccessEventHandler* handler =
-        controller_->GetSwitchAccessEventHandlerForTest();
-    handler->SetKeyCodesForCommand(key_codes, command);
-  }
-
-  const std::set<int> GetKeyCodesToCapture() {
-    SwitchAccessEventHandler* handler =
-        controller_->GetSwitchAccessEventHandlerForTest();
-    if (handler)
-      return handler->key_codes_to_capture_for_test();
-    return std::set<int>();
-  }
-
-  const std::map<int, SwitchAccessCommand> GetCommandForKeyCodeMap() {
-    SwitchAccessEventHandler* handler =
-        controller_->GetSwitchAccessEventHandlerForTest();
-    if (handler)
-      return handler->command_for_key_code_map_for_test();
-    return std::map<int, SwitchAccessCommand>();
-  }
-
- protected:
-  ui::test::EventGenerator* generator_ = nullptr;
-  EventCapturer event_capturer_;
-  AccessibilityControllerImpl* controller_ = nullptr;
-  std::unique_ptr<TestDelegate> delegate_;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(SwitchAccessEventHandlerTest);
-};
-
-TEST_F(SwitchAccessEventHandlerTest, CaptureSpecifiedKeys) {
-  // Set keys for Switch Access to capture.
-  SetKeyCodesForCommand({ui::VKEY_1, ui::VKEY_2}, SwitchAccessCommand::kSelect);
-
-  EXPECT_FALSE(event_capturer_.last_key_event());
-
-  generator_->PressKey(ui::VKEY_1, ui::EF_NONE);
-  generator_->ReleaseKey(ui::VKEY_1, ui::EF_NONE);
-
-  // The event was handled by SwitchAccessEventHandler.
-  EXPECT_FALSE(event_capturer_.last_key_event());
-  EXPECT_EQ(SwitchAccessCommand::kSelect, delegate_->last_command());
-
-  // Press the "2" key.
-  generator_->PressKey(ui::VKEY_2, ui::EF_NONE);
-  generator_->ReleaseKey(ui::VKEY_2, ui::EF_NONE);
-
-  // We received a new event.
-
-  // The event was handled by SwitchAccessEventHandler.
-  EXPECT_FALSE(event_capturer_.last_key_event());
-
-  // Press the "3" key.
-  generator_->PressKey(ui::VKEY_3, ui::EF_NONE);
-  generator_->ReleaseKey(ui::VKEY_3, ui::EF_NONE);
-
-  // The event was handled by SwitchAccessEventHandler.
-  EXPECT_TRUE(event_capturer_.last_key_event());
-}
-
-TEST_F(SwitchAccessEventHandlerTest, KeysNoLongerCaptureAfterUpdate) {
-  // Set Switch Access to capture the keys {1, 2, 3}.
-  SetKeyCodesForCommand({ui::VKEY_1, ui::VKEY_2, ui::VKEY_3},
-                        SwitchAccessCommand::kSelect);
-
-  EXPECT_FALSE(event_capturer_.last_key_event());
-
-  // Press the "1" key.
-  generator_->PressKey(ui::VKEY_1, ui::EF_NONE);
-  generator_->ReleaseKey(ui::VKEY_1, ui::EF_NONE);
-
-  // The event was handled by SwitchAccessEventHandler.
-  EXPECT_FALSE(event_capturer_.last_key_event());
-  EXPECT_EQ(SwitchAccessCommand::kSelect, delegate_->last_command());
-
-  // Update the Switch Access keys to capture {2, 3, 4}.
-  SetKeyCodesForCommand({ui::VKEY_2, ui::VKEY_3, ui::VKEY_4},
-                        SwitchAccessCommand::kSelect);
-
-  // Press the "1" key.
-  generator_->PressKey(ui::VKEY_1, ui::EF_NONE);
-  generator_->ReleaseKey(ui::VKEY_1, ui::EF_NONE);
-
-  // We received a new event.
-
-  // The event was NOT handled by SwitchAccessEventHandler.
-  EXPECT_TRUE(event_capturer_.last_key_event());
-  EXPECT_FALSE(event_capturer_.last_key_event()->handled());
-
-  // Press the "4" key.
-  generator_->PressKey(ui::VKEY_4, ui::EF_NONE);
-  generator_->ReleaseKey(ui::VKEY_4, ui::EF_NONE);
-
-  // The event was handled by SwitchAccessEventHandler.
-}
-
-TEST_F(SwitchAccessEventHandlerTest, ForwardKeyEvents) {
-  SetKeyCodesForCommand({ui::VKEY_1, ui::VKEY_2, ui::VKEY_3},
-                        SwitchAccessCommand::kSelect);
-
-  EXPECT_FALSE(event_capturer_.last_key_event());
-
-  // Tell the Switch Access Event Handler to forward key events.
-  Shell::Get()->accessibility_controller()->ForwardKeyEventsToSwitchAccess(
-      true);
-
-  // Press the "T" key.
-  generator_->PressKey(ui::VKEY_T, ui::EF_NONE);
-
-  // The event should be handled by SwitchAccessEventHandler.
-  EXPECT_FALSE(event_capturer_.last_key_event());
-
-  // Release the "T" key.
-  generator_->ReleaseKey(ui::VKEY_T, ui::EF_NONE);
-
-  // The event should be handled by SwitchAccessEventHandler.
-  EXPECT_FALSE(event_capturer_.last_key_event());
-
-  // Tell the Switch Access Event Handler to stop forwarding key events.
-  Shell::Get()->accessibility_controller()->ForwardKeyEventsToSwitchAccess(
-      false);
-
-  // Press the "T" key.
-  generator_->PressKey(ui::VKEY_T, ui::EF_NONE);
-
-  // The event is not handled by SwitchAccessEventHandler.
-  EXPECT_TRUE(event_capturer_.last_key_event());
-  EXPECT_FALSE(event_capturer_.last_key_event()->handled());
-
-  // Release the "T" key.
-  generator_->ReleaseKey(ui::VKEY_T, ui::EF_NONE);
-
-  // The event is not handled by SwitchAccessEventHandler.
-  EXPECT_TRUE(event_capturer_.last_key_event());
-  EXPECT_FALSE(event_capturer_.last_key_event()->handled());
-}
-
-TEST_F(SwitchAccessEventHandlerTest, SetKeyCodesForCommand) {
-  SwitchAccessEventHandler* handler =
-      controller_->GetSwitchAccessEventHandlerForTest();
-  EXPECT_NE(nullptr, handler);
-
-  // Both the key codes to capture and the command map should be empty.
-  EXPECT_EQ(0ul /* unsigned long */, GetKeyCodesToCapture().size());
-  EXPECT_EQ(0ul /* unsigned long */, GetCommandForKeyCodeMap().size());
-
-  // Set key codes for Select command.
-  std::set<int> new_key_codes;
-  new_key_codes.insert(48 /* '0' */);
-  new_key_codes.insert(83 /* 's' */);
-  handler->SetKeyCodesForCommand(new_key_codes, SwitchAccessCommand::kSelect);
-
-  // Check that values are added to both data structures.
-  std::set<int> kc_to_capture = GetKeyCodesToCapture();
-  EXPECT_EQ(2ul /* unsigned long */, kc_to_capture.size());
-  EXPECT_EQ(1ul /* unsigned long */, kc_to_capture.count(48));
-  EXPECT_EQ(1ul /* unsigned long */, kc_to_capture.count(83));
-
-  std::map<int, SwitchAccessCommand> command_map = GetCommandForKeyCodeMap();
-  EXPECT_EQ(2ul /* unsigned long */, command_map.size());
-  EXPECT_EQ(SwitchAccessCommand::kSelect, command_map.at(48));
-  EXPECT_EQ(SwitchAccessCommand::kSelect, command_map.at(83));
-
-  // Set key codes for the Next command.
-  new_key_codes.clear();
-  new_key_codes.insert(49 /* '1' */);
-  new_key_codes.insert(78 /* 'n' */);
-  handler->SetKeyCodesForCommand(new_key_codes, SwitchAccessCommand::kNext);
-
-  // Check that the new values are added and old values are not changed.
-  kc_to_capture = GetKeyCodesToCapture();
-  EXPECT_EQ(4ul /* unsigned long */, kc_to_capture.size());
-  EXPECT_EQ(1ul /* unsigned long */, kc_to_capture.count(49));
-  EXPECT_EQ(1ul /* unsigned long */, kc_to_capture.count(78));
-
-  command_map = GetCommandForKeyCodeMap();
-  EXPECT_EQ(4ul /* unsigned long */, command_map.size());
-  EXPECT_EQ(SwitchAccessCommand::kNext, command_map.at(49));
-  EXPECT_EQ(SwitchAccessCommand::kNext, command_map.at(78));
-
-  // Set key codes for the Previous command. Re-use a key code from above.
-  new_key_codes.clear();
-  new_key_codes.insert(49 /* '1' */);
-  new_key_codes.insert(80 /* 'p' */);
-  handler->SetKeyCodesForCommand(new_key_codes, SwitchAccessCommand::kPrevious);
-
-  // Check that '1' has been remapped to Previous.
-  kc_to_capture = GetKeyCodesToCapture();
-  EXPECT_EQ(5ul /* unsigned long */, kc_to_capture.size());
-  EXPECT_EQ(1ul /* unsigned long */, kc_to_capture.count(49));
-  EXPECT_EQ(1ul /* unsigned long */, kc_to_capture.count(80));
-
-  command_map = GetCommandForKeyCodeMap();
-  EXPECT_EQ(5ul /* unsigned long */, command_map.size());
-  EXPECT_EQ(SwitchAccessCommand::kPrevious, command_map.at(49));
-  EXPECT_EQ(SwitchAccessCommand::kPrevious, command_map.at(80));
-  EXPECT_EQ(SwitchAccessCommand::kNext, command_map.at(78));
-
-  // Set a new key code for the Select command.
-  new_key_codes.clear();
-  new_key_codes.insert(51 /* '3' */);
-  new_key_codes.insert(83 /* 's' */);
-  handler->SetKeyCodesForCommand(new_key_codes, SwitchAccessCommand::kSelect);
-
-  // Check that the previously set values for Select have been cleared.
-  kc_to_capture = GetKeyCodesToCapture();
-  EXPECT_EQ(5ul /* unsigned long */, kc_to_capture.size());
-  EXPECT_EQ(0ul /* unsigned long */, kc_to_capture.count(48));
-  EXPECT_EQ(1ul /* unsigned long */, kc_to_capture.count(51));
-  EXPECT_EQ(1ul /* unsigned long */, kc_to_capture.count(83));
-
-  command_map = GetCommandForKeyCodeMap();
-  EXPECT_EQ(5ul /* unsigned long */, command_map.size());
-  EXPECT_EQ(SwitchAccessCommand::kSelect, command_map.at(51));
-  EXPECT_EQ(SwitchAccessCommand::kSelect, command_map.at(83));
-  EXPECT_EQ(command_map.end(), command_map.find(48));
-}
-
-}  // namespace
-}  // namespace ash
diff --git a/ash/login/login_screen_controller.cc b/ash/login/login_screen_controller.cc
index de31c60..7c0ea91b 100644
--- a/ash/login/login_screen_controller.cc
+++ b/ash/login/login_screen_controller.cc
@@ -290,7 +290,7 @@
   Shelf* shelf = Shelf::ForWindow(Shell::Get()->GetPrimaryRootWindow());
   // Tell the focus direction to the status area or the shelf so they can focus
   // the correct child view.
-  if (reverse) {
+  if (reverse || !shelf->shelf_widget()->login_shelf_view()->IsFocusable()) {
     if (!Shell::GetPrimaryRootWindowController()->IsSystemTrayVisible())
       return;
     shelf->GetStatusAreaWidget()
@@ -478,10 +478,4 @@
   client_->OnFocusLeavingSystemTray(reverse);
 }
 
-void LoginScreenController::NotifyLoginScreenShown() {
-  if (!client_)
-    return;
-  client_->OnLoginScreenShown();
-}
-
 }  // namespace ash
diff --git a/ash/login/login_screen_controller.h b/ash/login/login_screen_controller.h
index ede05c4..87101bf8 100644
--- a/ash/login/login_screen_controller.h
+++ b/ash/login/login_screen_controller.h
@@ -144,8 +144,6 @@
 
   LoginDataDispatcher* data_dispatcher() { return &login_data_dispatcher_; }
 
-  void NotifyLoginScreenShown();
-
  private:
   void OnAuthenticateComplete(OnAuthenticateCallback callback, bool success);
 
diff --git a/ash/login/mock_login_screen_client.h b/ash/login/mock_login_screen_client.h
index 3ee14ef..7caaa6d 100644
--- a/ash/login/mock_login_screen_client.h
+++ b/ash/login/mock_login_screen_client.h
@@ -106,7 +106,6 @@
   MOCK_METHOD(void, FocusOobeDialog, (), (override));
   MOCK_METHOD(void, OnFocusLeavingSystemTray, (bool reverse), (override));
   MOCK_METHOD(void, OnUserActivity, (), (override));
-  MOCK_METHOD(void, OnLoginScreenShown, (), (override));
 
  private:
   bool authenticate_user_callback_result_ = true;
diff --git a/ash/login/ui/lock_screen.cc b/ash/login/ui/lock_screen.cc
index c0df9f15..738c611 100644
--- a/ash/login/ui/lock_screen.cc
+++ b/ash/login/ui/lock_screen.cc
@@ -191,8 +191,6 @@
   swap(instance_->on_shown_callbacks_, on_shown_callbacks);
   for (auto& callback : on_shown_callbacks)
     std::move(callback).Run();
-
-  Shell::Get()->login_screen_controller()->NotifyLoginScreenShown();
 }
 
 }  // namespace ash
diff --git a/ash/login/ui/login_password_view.cc b/ash/login/ui/login_password_view.cc
index e311788..66fd5e2 100644
--- a/ash/login/ui/login_password_view.cc
+++ b/ash/login/ui/login_password_view.cc
@@ -752,7 +752,6 @@
   // The feature could be enabled on the device but disabled for this user by policy.
   if (display_password_button_->GetVisible())
     clear_password_timer_->Reset();
-  display_password_button_->SetEnabled(!new_contents.empty());
 }
 
 // Implements swapping active user with arrow keys
@@ -783,7 +782,17 @@
 }
 
 void LoginPasswordView::UpdateUiState() {
-  submit_button_->SetEnabled(IsPasswordSubmittable());
+  bool enable_buttons = IsPasswordSubmittable();
+  // Disabling the submit button will make it lose focus. The previous focusable
+  // view will be the password textfield, which is more expected than the user
+  // drop down button.
+  if (!enable_buttons && submit_button_->HasFocus())
+    textfield_->RequestFocus();
+  submit_button_->SetEnabled(enable_buttons);
+
+  if (!is_display_password_feature_enabled_)
+    return;
+  display_password_button_->SetEnabled(enable_buttons);
 }
 
 void LoginPasswordView::OnCapsLockChanged(bool enabled) {
diff --git a/ash/public/cpp/BUILD.gn b/ash/public/cpp/BUILD.gn
index 5fcfe08..1e6f43a 100644
--- a/ash/public/cpp/BUILD.gn
+++ b/ash/public/cpp/BUILD.gn
@@ -13,6 +13,7 @@
     "accessibility_controller.h",
     "accessibility_controller_client.h",
     "accessibility_controller_enums.h",
+    "accessibility_event_rewriter_delegate.h",
     "accessibility_focus_ring_controller.cc",
     "accessibility_focus_ring_controller.h",
     "accessibility_focus_ring_info.cc",
@@ -111,6 +112,8 @@
     "caption_buttons/snap_controller.h",
     "cast_config_controller.cc",
     "cast_config_controller.h",
+    "clipboard_image_model_factory.cc",
+    "clipboard_image_model_factory.h",
     "default_frame_header.cc",
     "default_frame_header.h",
     "default_scale_factor_retriever.cc",
@@ -259,10 +262,8 @@
     "shell_window_ids.h",
     "shutdown_controller.cc",
     "shutdown_controller.h",
-    "spoken_feedback_event_rewriter_delegate.h",
     "stylus_utils.cc",
     "stylus_utils.h",
-    "switch_access_event_handler_delegate.h",
     "system_tray.cc",
     "system_tray.h",
     "system_tray_client.h",
diff --git a/ash/public/cpp/accessibility_controller.h b/ash/public/cpp/accessibility_controller.h
index d17f20f..b1876b37 100644
--- a/ash/public/cpp/accessibility_controller.h
+++ b/ash/public/cpp/accessibility_controller.h
@@ -22,7 +22,6 @@
 enum class DictationToggleSource;
 class SelectToSpeakEventHandlerDelegate;
 enum class SelectToSpeakState;
-class SwitchAccessEventHandlerDelegate;
 
 // Interface for ash client (e.g. Chrome) to control and query accessibility
 // features.
@@ -66,10 +65,6 @@
   virtual void SetSelectToSpeakEventHandlerDelegate(
       SelectToSpeakEventHandlerDelegate* delegate) = 0;
 
-  // Set the delegate used by the Switch Access event handler.
-  virtual void SetSwitchAccessEventHandlerDelegate(
-      SwitchAccessEventHandlerDelegate* delegate) = 0;
-
   // Hides the Switch Access back button.
   virtual void HideSwitchAccessBackButton() = 0;
 
@@ -94,10 +89,6 @@
   virtual void OnAutoclickScrollableBoundsFound(
       gfx::Rect& bounds_in_screen) = 0;
 
-  // Tells the Switch Access Event Handler whether to forward all key events to
-  // the Switch Access extension.
-  virtual void ForwardKeyEventsToSwitchAccess(bool should_forward) = 0;
-
   // Retrieves a string description of the current battery status.
   virtual base::string16 GetBatteryDescription() const = 0;
 
@@ -115,10 +106,6 @@
   virtual bool IsAccessibilityFeatureVisibleInTrayMenu(
       const std::string& path) = 0;
 
-  // Sets whether Switch Access ignores virtual key events.
-  virtual void SetSwitchAccessIgnoreVirtualKeyEventForTesting(
-      bool should_ignore) = 0;
-
   // Disables restoring of recommended policy values.
   virtual void DisablePolicyRecommendationRestorerForTesting() {}
 
diff --git a/ash/public/cpp/accessibility_event_rewriter_delegate.h b/ash/public/cpp/accessibility_event_rewriter_delegate.h
new file mode 100644
index 0000000..733b603
--- /dev/null
+++ b/ash/public/cpp/accessibility_event_rewriter_delegate.h
@@ -0,0 +1,43 @@
+// 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 ASH_PUBLIC_CPP_ACCESSIBILITY_EVENT_REWRITER_DELEGATE_H_
+#define ASH_PUBLIC_CPP_ACCESSIBILITY_EVENT_REWRITER_DELEGATE_H_
+
+#include <memory>
+
+#include "ash/public/cpp/ash_public_export.h"
+
+namespace ui {
+class Event;
+}
+
+namespace ash {
+
+enum class SwitchAccessCommand;
+
+// Allows a client to implement event processing for accessibility features;
+// used for ChromeVox and Switch Access.
+class ASH_PUBLIC_EXPORT AccessibilityEventRewriterDelegate {
+ public:
+  // Used to send key events to the ChromeVox extension. |capture| is true if
+  // the rewriter discarded the event, false if the rewriter continues event
+  // propagation.
+  virtual void DispatchKeyEventToChromeVox(std::unique_ptr<ui::Event> event,
+                                           bool capture) = 0;
+
+  // Used to send mouse events to the ChromeVox extension.
+  virtual void DispatchMouseEventToChromeVox(
+      std::unique_ptr<ui::Event> event) = 0;
+
+  // Sends a command to Switch Access.
+  virtual void SendSwitchAccessCommand(SwitchAccessCommand command) = 0;
+
+ protected:
+  virtual ~AccessibilityEventRewriterDelegate() {}
+};
+
+}  // namespace ash
+
+#endif  // ASH_PUBLIC_CPP_ACCESSIBILITY_EVENT_REWRITER_DELEGATE_H_
diff --git a/ash/public/cpp/app_list/app_list_notifier.h b/ash/public/cpp/app_list/app_list_notifier.h
index ea07e19..ad2abd6 100644
--- a/ash/public/cpp/app_list/app_list_notifier.h
+++ b/ash/public/cpp/app_list/app_list_notifier.h
@@ -30,33 +30,41 @@
  public:
   using Location = ash::SearchResultDisplayType;
 
+  struct Result {
+    Result(const std::string& id, ash::SearchResultType type)
+        : id(id), type(type) {}
+
+    std::string id;
+    ash::SearchResultType type = ash::SEARCH_RESULT_TYPE_BOUNDARY;
+  };
+
   class Observer : public base::CheckedObserver {
    public:
     // Called when |results| have been displayed for the length of the
     // impression timer.
     virtual void OnImpression(Location location,
-                              const std::vector<std::string>& results,
+                              const std::vector<Result>& results,
                               const base::string16& query) {}
 
     // Called when an impression occurred for |results|, and the user then moved
     // to a different UI view. For example, by closing the launcher or
     // changing the search query.
     virtual void OnAbandon(Location location,
-                           const std::vector<std::string>& results,
+                           const std::vector<Result>& results,
                            const base::string16& query) {}
 
     // Called when the |location| UI view displayed |results|, but the user
     // launched a result in a different UI view. This can only happen when
     // |location| is kList or kTile.
     virtual void OnIgnore(Location location,
-                          const std::vector<std::string>& results,
+                          const std::vector<Result>& results,
                           const base::string16& query) {}
 
     // Called when the |launched| result is launched, and provides all |shown|
     // results at |location| (including |launched|).
     virtual void OnLaunch(Location location,
-                          const std::string& launched,
-                          const std::vector<std::string>& shown,
+                          const Result& launched,
+                          const std::vector<Result>& shown,
                           const base::string16& query) {}
   };
 
@@ -67,13 +75,12 @@
 
   // Called to indicate a search |result| has been launched at the UI surface
   // |location|.
-  virtual void NotifyLaunched(Location location, const std::string& result) = 0;
+  virtual void NotifyLaunched(Location location, const Result& result) = 0;
 
   // Called to indicate the results displayed in the |location| UI surface have
   // changed. |results| should contain a complete list of what is now shown.
-  virtual void NotifyResultsUpdated(
-      Location location,
-      const std::vector<std::string>& results) = 0;
+  virtual void NotifyResultsUpdated(Location location,
+                                    const std::vector<Result>& results) = 0;
 
   // Called to indicate the user has updated the search query to |query|.
   virtual void NotifySearchQueryChanged(const base::string16& query) = 0;
diff --git a/ash/public/cpp/ash_features.cc b/ash/public/cpp/ash_features.cc
index ad3befd3..5a7df01e 100644
--- a/ash/public/cpp/ash_features.cc
+++ b/ash/public/cpp/ash_features.cc
@@ -75,6 +75,9 @@
 const base::Feature kHideArcMediaNotifications{
     "HideArcMediaNotifications", base::FEATURE_ENABLED_BY_DEFAULT};
 
+const base::Feature kInteractiveWindowCycleList{"InteractiveWindowCycleList",
+                                                base::FEATURE_DISABLED_BY_DEFAULT};
+
 const base::Feature kManagedDeviceUIRedesign{"ManagedDeviceUIRedesign",
                                              base::FEATURE_ENABLED_BY_DEFAULT};
 
@@ -189,6 +192,10 @@
       kLockScreenHideSensitiveNotificationsSupport);
 }
 
+bool IsInteractiveWindowCycleListEnabled() {
+  return base::FeatureList::IsEnabled(kInteractiveWindowCycleList);
+}
+
 bool IsManagedDeviceUIRedesignEnabled() {
   return base::FeatureList::IsEnabled(kManagedDeviceUIRedesign);
 }
diff --git a/ash/public/cpp/ash_features.h b/ash/public/cpp/ash_features.h
index 7122f33e..1c099ed 100644
--- a/ash/public/cpp/ash_features.h
+++ b/ash/public/cpp/ash_features.h
@@ -69,6 +69,11 @@
 // TODO(beccahughes): Remove after launch. (https://crbug.com/897836)
 ASH_PUBLIC_EXPORT extern const base::Feature kHideArcMediaNotifications;
 
+// Enables more ways to interact with the window cycle list, i.e. mouse, touch,
+// gestures, and alternate keys.
+// TODO(chinsenj): Remove this when the feature is fully launched.
+ASH_PUBLIC_EXPORT extern const base::Feature kInteractiveWindowCycleList;
+
 // Enables the redesigned managed device info UI in the system tray.
 ASH_PUBLIC_EXPORT extern const base::Feature kManagedDeviceUIRedesign;
 
@@ -182,6 +187,8 @@
 
 ASH_PUBLIC_EXPORT bool IsLockScreenNotificationsEnabled();
 
+ASH_PUBLIC_EXPORT bool IsInteractiveWindowCycleListEnabled();
+
 ASH_PUBLIC_EXPORT bool IsManagedDeviceUIRedesignEnabled();
 
 ASH_PUBLIC_EXPORT bool IsLockScreenInlineReplyEnabled();
diff --git a/ash/public/cpp/clipboard_image_model_factory.cc b/ash/public/cpp/clipboard_image_model_factory.cc
new file mode 100644
index 0000000..efc8dea7
--- /dev/null
+++ b/ash/public/cpp/clipboard_image_model_factory.cc
@@ -0,0 +1,30 @@
+// 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 "ash/public/cpp/clipboard_image_model_factory.h"
+
+namespace ash {
+
+namespace {
+
+ClipboardImageModelFactory* g_instance = nullptr;
+
+}  // namespace
+
+ClipboardImageModelFactory::ClipboardImageModelFactory() {
+  DCHECK_EQ(nullptr, g_instance);
+  g_instance = this;
+}
+
+ClipboardImageModelFactory::~ClipboardImageModelFactory() {
+  DCHECK_EQ(g_instance, this);
+  g_instance = nullptr;
+}
+
+// static
+ClipboardImageModelFactory* ClipboardImageModelFactory::Get() {
+  return g_instance;
+}
+
+}  // namespace ash
\ No newline at end of file
diff --git a/ash/public/cpp/clipboard_image_model_factory.h b/ash/public/cpp/clipboard_image_model_factory.h
new file mode 100644
index 0000000..bac6d4c
--- /dev/null
+++ b/ash/public/cpp/clipboard_image_model_factory.h
@@ -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.
+
+#ifndef ASH_PUBLIC_CPP_CLIPBOARD_IMAGE_MODEL_FACTORY_H_
+#define ASH_PUBLIC_CPP_CLIPBOARD_IMAGE_MODEL_FACTORY_H_
+
+#include <string>
+
+#include "ash/public/cpp/ash_public_export.h"
+#include "base/callback.h"
+#include "base/unguessable_token.h"
+#include "ui/base/models/image_model.h"
+
+namespace ui {
+class ImageModel;
+}  // namespace ui
+
+namespace ash {
+
+// A factory implemented in the Browser with the primary profile which is
+// responsible for creating ui::ImageModels out of html strings from
+// ClipboardHistory to work around dependency restrictions in ash. This will not
+// create ImageModels until it is activated.
+class ASH_PUBLIC_EXPORT ClipboardImageModelFactory {
+ public:
+  // Returns the singleton factory instance.
+  static ClipboardImageModelFactory* Get();
+
+  using ImageModelCallback = base::OnceCallback<void(ui::ImageModel)>;
+
+  // Asynchronously renders |html_markup|, identified by |id|. Later the
+  // rendered html will be returned via |callback|, which is called as long as
+  // the request is not canceled via CancelRequest. If the request times out, an
+  // empty ImageModel will be passed through |callback|.
+  virtual void Render(const base::UnguessableToken& id,
+                      const std::string& html_markup,
+                      ImageModelCallback callback) = 0;
+
+  // Called to stop rendering which was requested with |id|.
+  virtual void CancelRequest(const base::UnguessableToken& id) = 0;
+
+  // Until Activate() is called, ClipboardImageModelFactory is in an inactive
+  // state and all rendering requests will be queued until activated.
+  virtual void Activate() = 0;
+
+  // Called after Activate() to pause rendering requests.
+  virtual void Deactivate() = 0;
+
+ protected:
+  ClipboardImageModelFactory();
+  virtual ~ClipboardImageModelFactory();
+};
+
+}  // namespace ash
+
+#endif  // ASH_PUBLIC_CPP_CLIPBOARD_IMAGE_MODEL_FACTORY_H_
diff --git a/ash/public/cpp/event_rewriter_controller.h b/ash/public/cpp/event_rewriter_controller.h
index 41be3da..aa2acfdc 100644
--- a/ash/public/cpp/event_rewriter_controller.h
+++ b/ash/public/cpp/event_rewriter_controller.h
@@ -17,7 +17,7 @@
 
 namespace ash {
 
-class SpokenFeedbackEventRewriterDelegate;
+class AccessibilityEventRewriterDelegate;
 
 // Allows clients to toggle some event rewriting behavior.
 class ASH_EXPORT EventRewriterController {
@@ -28,8 +28,8 @@
   // Initializes this controller after ash::Shell finishes initialization.
   virtual void Initialize(
       ui::EventRewriterChromeOS::Delegate* event_rewriter_delegate,
-      SpokenFeedbackEventRewriterDelegate*
-          spoken_feedback_event_rewriter_delegate) = 0;
+      AccessibilityEventRewriterDelegate*
+          accessibility_event_rewriter_delegate) = 0;
 
   // Takes ownership of |rewriter| and adds it to the current event sources.
   virtual void AddEventRewriter(
diff --git a/ash/public/cpp/login_screen_client.h b/ash/public/cpp/login_screen_client.h
index 47e44cd..086ae57 100644
--- a/ash/public/cpp/login_screen_client.h
+++ b/ash/public/cpp/login_screen_client.h
@@ -150,9 +150,6 @@
   // reversed direction.
   virtual void OnFocusLeavingSystemTray(bool reverse) = 0;
 
-  // Called when the lock screen is shown.
-  virtual void OnLoginScreenShown() = 0;
-
   // Used by Ash to signal that user activity occurred on the login screen.
   virtual void OnUserActivity() = 0;
 
diff --git a/ash/public/cpp/spoken_feedback_event_rewriter_delegate.h b/ash/public/cpp/spoken_feedback_event_rewriter_delegate.h
deleted file mode 100644
index b3aa831..0000000
--- a/ash/public/cpp/spoken_feedback_event_rewriter_delegate.h
+++ /dev/null
@@ -1,37 +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 ASH_PUBLIC_CPP_SPOKEN_FEEDBACK_EVENT_REWRITER_DELEGATE_H_
-#define ASH_PUBLIC_CPP_SPOKEN_FEEDBACK_EVENT_REWRITER_DELEGATE_H_
-
-#include <memory>
-
-#include "ash/public/cpp/ash_public_export.h"
-
-namespace ui {
-class Event;
-}
-
-namespace ash {
-
-// Allows a client to implement spoken feedback features; used for ChromeVox.
-class ASH_PUBLIC_EXPORT SpokenFeedbackEventRewriterDelegate {
- public:
-  // Used to send key events to the ChromeVox extension. |capture| is true if
-  // the rewriter discarded the event, false if the rewriter continues event
-  // propagation.
-  virtual void DispatchKeyEventToChromeVox(std::unique_ptr<ui::Event> event,
-                                           bool capture) = 0;
-
-  // Used to send mouse events to the ChromeVox extension.
-  virtual void DispatchMouseEventToChromeVox(
-      std::unique_ptr<ui::Event> event) = 0;
-
- protected:
-  virtual ~SpokenFeedbackEventRewriterDelegate() {}
-};
-
-}  // namespace ash
-
-#endif  // ASH_PUBLIC_CPP_SPOKEN_FEEDBACK_EVENT_REWRITER_DELEGATE_H_
diff --git a/ash/public/cpp/switch_access_event_handler_delegate.h b/ash/public/cpp/switch_access_event_handler_delegate.h
deleted file mode 100644
index e9387494..0000000
--- a/ash/public/cpp/switch_access_event_handler_delegate.h
+++ /dev/null
@@ -1,26 +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 ASH_PUBLIC_CPP_SWITCH_ACCESS_EVENT_HANDLER_DELEGATE_H_
-#define ASH_PUBLIC_CPP_SWITCH_ACCESS_EVENT_HANDLER_DELEGATE_H_
-
-#include <memory>
-
-#include "ash/public/cpp/ash_public_export.h"
-
-namespace ash {
-
-enum class SwitchAccessCommand;
-
-// Allows a client to implement Switch Access.
-class ASH_PUBLIC_EXPORT SwitchAccessEventHandlerDelegate {
- public:
-  // Sends a command to Switch Access, based on what key was pressed and the
-  // user's settings.
-  virtual void SendSwitchAccessCommand(SwitchAccessCommand command) = 0;
-};
-
-}  // namespace ash
-
-#endif  // ASH_PUBLIC_CPP_SWITCH_ACCESS_EVENT_HANDLER_DELEGATE_H_
diff --git a/ash/shelf/login_shelf_view.cc b/ash/shelf/login_shelf_view.cc
index 90fcde59..7873dd8 100644
--- a/ash/shelf/login_shelf_view.cc
+++ b/ash/shelf/login_shelf_view.cc
@@ -780,7 +780,18 @@
   // 2. There are Kiosk apps available.
   kiosk_apps_button_->SetVisible(kiosk_apps_button_->HasApps() &&
                                  (is_login_primary || is_oobe));
-
+  // If there is no visible (and thus focusable) buttons, we shouldn't focus
+  // LoginShelfView. We update it here, so we don't need to check visibility
+  // every time we move focus to system tray.
+  bool is_anything_focusable = false;
+  for (auto* child : children()) {
+    if (child->IsFocusable()) {
+      is_anything_focusable = true;
+      break;
+    }
+  }
+  SetFocusBehavior(is_anything_focusable ? views::View::FocusBehavior::ALWAYS
+                                         : views::View::FocusBehavior::NEVER);
   UpdateButtonColors(is_oobe);
   Layout();
 }
diff --git a/ash/strings/ash_strings_af.xtb b/ash/strings/ash_strings_af.xtb
index 0a2b164..8f3e136f 100644
--- a/ash/strings/ash_strings_af.xtb
+++ b/ash/strings/ash_strings_af.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Ek is verveeld</translation>
 <translation id="1104084341931202936">Wys toeganklikheidsinstellings</translation>
 <translation id="1104621072296271835">Jou toestelle werk selfs nog beter saam</translation>
+<translation id="1119348796022671382">Die temakleurmodus gebruik kleure wat van jou muurpapier onttrek word om die koppelvlak ligweg 'n kleur te gee.</translation>
 <translation id="112308213915226829">Outoversteek rak</translation>
 <translation id="1153356358378277386">Saamgebinde toestelle</translation>
 <translation id="1175572348579024023">Rollees</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Aan</translation>
 <translation id="1419738280318246476">Ontsluit toestel om die kennisgewinghandeling uit te voer</translation>
 <translation id="1420408895951708260">Wissel Aandbeligting. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Skermkiekie is geneem en na knipbord gestoor</translation>
 <translation id="1426410128494586442">Ja</translation>
 <translation id="1455242230282523554">Wys taalinstellings</translation>
 <translation id="1460620680449458626">Volume is gedemp.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Skakelaartoegang kan in Instellings &gt; Toeganklikheid gedeaktiveer word.</translation>
 <translation id="1654477262762802994">Begin 'n stemnavraag</translation>
 <translation id="1665244008632896072">Wissel donkermodus. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Die neutrale kleurmodus gebruik nie kleure wat van die muurpapier onttrek is nie, maar vervang dit met 'n stel ligte of donker skakerings van neutrale kleure.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> oor</translation>
 <translation id="1698080062160024910"><ph name="TOTAL_TIME" />-afteller · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6-adres: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Mono-oudio</translation>
 <translation id="3009178788565917040">Uitvoer</translation>
 <translation id="3033545621352269033">Aan</translation>
+<translation id="3038571455154067151">Voer jou Family Link-ouertoegangskode in om aan te meld</translation>
 <translation id="3051128274746680507">Jou gebruikerprofiel onder toesig sal binnekort verwyder word. Meld aan om meer te wete te kom.</translation>
 <translation id="3055162170959710888">Jy het hierdie toestel vandag <ph name="USED_TIME" /> lank gebruik</translation>
 <translation id="3076778413190775903">Statuslaai, tyd <ph name="TIME" />,
@@ -278,6 +282,7 @@
 <translation id="397105322502079400">Bereken tans …</translation>
 <translation id="3977512764614765090">Battery op <ph name="PERCENTAGE" />% en laai tans.</translation>
 <translation id="3995138139523574647">USB C-toestel (agterste poort aan regterkant)</translation>
+<translation id="40062176907008878">Handskrif</translation>
 <translation id="4017989525502048489">Laserwyser</translation>
 <translation id="4021716437419160885">Rollees af</translation>
 <translation id="4028481283645788203">Wagwoord word vereis vir meer sekuriteit</translation>
@@ -289,12 +294,14 @@
 <translation id="4129129681837227511">Om kennisgewings op jou sluitskerm te sien, ontsluit om die instelling te verander</translation>
 <translation id="4146833061457621061">Speel musiek</translation>
 <translation id="4149156641122542261"><ph name="DEVICE_TYPE" /> bestuur deur <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Donkertema-instellings</translation>
 <translation id="4181841719683918333">Tale</translation>
 <translation id="4195877955194704651">Outomatiese Klikke-knoppie</translation>
 <translation id="4197790712631116042">Af</translation>
 <translation id="4212472694152630271">Skakel oor na PIN</translation>
 <translation id="4215497585250573029">VPN-instellings</translation>
 <translation id="4217571870635786043">Diktee</translation>
+<translation id="4229328187280698237">Wissel na tabletmodus</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Wys kennisgewinginstellings. Kennisgewings is af</translation>
 <translation id="4269883910223712419">Hierdie toestel se administrateur kan</translation>
@@ -369,6 +376,7 @@
 <translation id="5035389544768382859">Bevestig vertoonskermopstelling</translation>
 <translation id="5083553833479578423">Ontsluit meer Assistent-kenmerke.</translation>
 <translation id="5114495209940374989">Skermkiekies</translation>
+<translation id="5123162024343028706">Dryf bo-op</translation>
 <translation id="5136175204352732067">Ander sleutelbord is gekoppel</translation>
 <translation id="5168181903108465623">Uitsaaitoestelle is beskikbaar</translation>
 <translation id="5170568018924773124">Wys in vouer</translation>
@@ -382,6 +390,7 @@
 <translation id="5297704307811127955">Af</translation>
 <translation id="5302048478445481009">Taal</translation>
 <translation id="5313326810920013265">Bluetooth-instellings</translation>
+<translation id="5314219114274263156">Skermopname is geneem</translation>
 <translation id="5331975486040154427">USB C-toestel (agterste poort aan linkerkant)</translation>
 <translation id="5379115545237091094">Te veel pogings</translation>
 <translation id="5397578532367286026">Gebruiker se gebruik en geskiedenis kan op chrome.com deur die bestuurder (<ph name="MANAGER_EMAIL" />) nagegaan word.</translation>
@@ -422,6 +431,7 @@
 <translation id="5820394555380036790">Chromium-bedryfstelsel</translation>
 <translation id="5837036133683224804">Stop <ph name="ROUTE_TITLE" /> op <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Af</translation>
+<translation id="5876666360658629066">Voer ouerkode in</translation>
 <translation id="5887866489674258948">Donkermodus</translation>
 <translation id="5895138241574237353">Herbegin</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -482,6 +492,7 @@
 <translation id="652139407789908527">Jou skerm sal langer as gewoonlik (tot 'n minuut lank) donker raak gedurende hierdie opdatering. Moet asseblief nie die aan/af-skakelaar druk terwyl die opdatering aan die gang is nie.</translation>
 <translation id="6527303717912515753">Deel</translation>
 <translation id="6528179044667508675">Moenie Steur Nie</translation>
+<translation id="65320610082834431">Emosiekone</translation>
 <translation id="6537270692134705506">Vang skerm vas</translation>
 <translation id="6537924328260219877">Seinsterkte <ph name="SIGNAL_STRENGTH" />, foonbattery <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Saai tans uit na <ph name="RECEIVER_NAME" /></translation>
@@ -568,8 +579,10 @@
 <translation id="7568637526529101738">Met 'n regsklik of langdruk wys Assistent inligting soos die definisie of eenheidomskakeling van jou keuse.</translation>
 <translation id="7569509451529460200">Braille en ChromeVox is geaktiveer</translation>
 <translation id="7579778809502851308">Skermskoot</translation>
+<translation id="7590883480672980941">Invoerinstellings</translation>
 <translation id="7593891976182323525">Search of Shift</translation>
 <translation id="7600875258240007829">Sien alle kennisgewings</translation>
+<translation id="7618774594543487847">Neutraal</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Maak instellings oop vir <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (eienaar)</translation>
@@ -666,12 +679,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, seinsterkte <ph name="SIGNAL_STRENGTH" />, deur jou administrateur bestuur</translation>
 <translation id="8639760480004882931"><ph name="PERCENTAGE" /> oor</translation>
 <translation id="8646417893960517480"><ph name="TOTAL_TIME" />-afteller</translation>
+<translation id="8647931990447795414">Voer jou Family Link-ouertoegangskode in om 'n persoon by te voeg</translation>
 <translation id="8649101189709089199">Hardoplees</translation>
 <translation id="8652175077544655965">Maak instellings toe</translation>
 <translation id="8653151467777939995">Wys kennisgewinginstellings. Kennisgewings is aan</translation>
 <translation id="8660331759611631213">Vierkantswortel van 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, seinsterkte <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Wys netwerklys. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Kleurmodus</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Laekraglaaier gekoppel</translation>
 <translation id="8683506306463609433">Werkverrigtingnasporing is aktief</translation>
@@ -695,6 +710,8 @@
 <translation id="8878886163241303700">Brei skerm uit</translation>
 <translation id="890616557918890486">Verander bron</translation>
 <translation id="8909138438987180327">Battery op <ph name="PERCENTAGE" /> persent.</translation>
+<translation id="8913384980486163186">Met tema (verstek)</translation>
+<translation id="8918251165865262378">Wissel na skootrekenaarmodus</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Die Google Assistent praat nie hierdie taal nie.</translation>
 <translation id="8936501819958976551">gedeaktiveer</translation>
diff --git a/ash/strings/ash_strings_bs.xtb b/ash/strings/ash_strings_bs.xtb
index 1b009d9a..ed7b54ce 100644
--- a/ash/strings/ash_strings_bs.xtb
+++ b/ash/strings/ash_strings_bs.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Dosadno mi je</translation>
 <translation id="1104084341931202936">Prikaži postavke pristupačnosti</translation>
 <translation id="1104621072296271835">Uređaji još bolje rade zajedno</translation>
+<translation id="1119348796022671382">Način boje teme upotrebljava boje izdvojene iz vaše pozadine kako bi blago obojio sučelje.</translation>
 <translation id="112308213915226829">Automatski sakrij policu</translation>
 <translation id="1153356358378277386">Upareni uređaji</translation>
 <translation id="1175572348579024023">Klizanje</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Uključeno</translation>
 <translation id="1419738280318246476">Otključajte uređaj da izvršite radnju obavještenja</translation>
 <translation id="1420408895951708260">Uključite ili isključite Noćno svjetlo. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Napravljena je snimka zaslona i spremljena je u međuspremnik</translation>
 <translation id="1426410128494586442">Da</translation>
 <translation id="1455242230282523554">Prikaži postavke za jezik</translation>
 <translation id="1460620680449458626">Zvuk je isključen.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Prekidač za pristup se može onemogućiti u meniju Postavke &gt; Pristupačnost.</translation>
 <translation id="1654477262762802994">Započni glasovni upit</translation>
 <translation id="1665244008632896072">Uključivanje/isključivanje tamnog načina rada. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Način neutralne boje ne upotrebljava boje izdvojene iz pozadine, već ih zamjenjuje skupom neutralnih svijetlih ili tamnih nijansi.</translation>
 <translation id="1677472565718498478">Još <ph name="TIME" /></translation>
 <translation id="1698080062160024910">Tajmer od <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6 adresa: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Mono zvuk</translation>
 <translation id="3009178788565917040">Izlaz</translation>
 <translation id="3033545621352269033">Uključeno</translation>
+<translation id="3038571455154067151">Da biste se prijavili, unesite kôd za roditeljski pristup za Family Link</translation>
 <translation id="3051128274746680507">Vaš profil korisnika pod nadzorom će uskoro biti uklonjen. Prijavite se da saznate više.</translation>
 <translation id="3055162170959710888">Danas je uređaj korišten <ph name="USED_TIME" /></translation>
 <translation id="3076778413190775903">Statusna traka, vrijeme <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Računanje…</translation>
 <translation id="3977512764614765090">Baterija je na <ph name="PERCENTAGE" />% i puni se.</translation>
 <translation id="3995138139523574647">USB-C uređaj (stražnji desni priključak)</translation>
+<translation id="40062176907008878">Rukopis</translation>
 <translation id="4017989525502048489">Laserski pokazivač</translation>
 <translation id="4021716437419160885">Klizni prema dolje</translation>
 <translation id="4028481283645788203">Potrebna je lozinka za dodatnu sigurnost</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Za prikaz obavještenja na zaključanom ekranu, otključajte ga da izmijenite postavke</translation>
 <translation id="4146833061457621061">Pokreni muziku</translation>
 <translation id="4149156641122542261">Uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Postavke Tamne teme</translation>
 <translation id="4181841719683918333">Jezici</translation>
 <translation id="4195877955194704651">Automatski klikovi na dugme</translation>
 <translation id="4197790712631116042">Isključeno</translation>
 <translation id="4212472694152630271">Prebaci na PIN</translation>
 <translation id="4215497585250573029">Postavke za VPN</translation>
 <translation id="4217571870635786043">Diktiranje</translation>
+<translation id="4229328187280698237">Prelazak na način tableta</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Prikaz postavki obavještenja. Obavještenja su isključena</translation>
 <translation id="4269883910223712419">Administrator ovog uređaja može:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Potvrdite konfiguraciju ekrana</translation>
 <translation id="5083553833479578423">Otključajte više funkcija Asistenta.</translation>
 <translation id="5114495209940374989">Snimci ekrana</translation>
+<translation id="5123162024343028706">Pluta na vrhu</translation>
 <translation id="5136175204352732067">Povezana je drugačija tastatura</translation>
 <translation id="5168181903108465623">Dostupni su "cast" uređaji</translation>
 <translation id="5170568018924773124">Pokaži u mapi</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Isključeno</translation>
 <translation id="5302048478445481009">Jezik</translation>
 <translation id="5313326810920013265">Bluetooth postavke</translation>
+<translation id="5314219114274263156">Napravljena je snimka zaslona</translation>
 <translation id="5331975486040154427">USB-C uređaj (lijevi priključak na zadnjem dijelu)</translation>
 <translation id="5379115545237091094">Previše pokušaja</translation>
 <translation id="5397578532367286026">Upravitelj (<ph name="MANAGER_EMAIL" />) može pregledavati upotrebu i povijest tog korisnika na web-lokaciji chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">Zaustavi <ph name="ROUTE_TITLE" /> na primaocu <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Isklj.</translation>
+<translation id="5876666360658629066">Unos koda za roditeljski pristup</translation>
 <translation id="5887866489674258948">Tamni način</translation>
 <translation id="5895138241574237353">Ponovo pokreni</translation>
 <translation id="5901316534475909376">Shift + Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">Vaš ekran će se tokom ovog ažuriranja isključiti na duži period (do jedne minute). Nemojte pritisnuti dugme za uključivanje tokom ažuriranja.</translation>
 <translation id="6527303717912515753">Dijeli</translation>
 <translation id="6528179044667508675">Ne ometaj</translation>
+<translation id="65320610082834431">Emojiji</translation>
 <translation id="6537270692134705506">Snimi ekran</translation>
 <translation id="6537924328260219877">Jačina signala <ph name="SIGNAL_STRENGTH" />, baterija telefona <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Emitiranje na uređaj <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">Desnim klikom ili dugim pritiskom, Asistent vam prikazuje informacije kao što su definicija ili pretvaranje mjerne jedinice za vaš odabir.</translation>
 <translation id="7569509451529460200">Braillevo pismo i ChromeVox su omogućeni</translation>
 <translation id="7579778809502851308">Snimanje ekrana</translation>
+<translation id="7590883480672980941">Postavke unosa</translation>
 <translation id="7593891976182323525">Tipka za pretraživanje ili Shift</translation>
 <translation id="7600875258240007829">Prikaži sva obavještenja</translation>
+<translation id="7618774594543487847">Neutralno</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Otvaranje postavki mreže <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (vlasnik)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, jačina signala <ph name="SIGNAL_STRENGTH" />, upravlja vaš administrator</translation>
 <translation id="8639760480004882931">Preostalo <ph name="PERCENTAGE" /></translation>
 <translation id="8646417893960517480">Tajmer od <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">Da biste dodali osobu, unesite kôd za roditeljski pristup za Family Link</translation>
 <translation id="8649101189709089199">Odaberite za govor</translation>
 <translation id="8652175077544655965">Zatvori postavke</translation>
 <translation id="8653151467777939995">Prikaz postavki obavještenja. Obavještenja su uključena</translation>
 <translation id="8660331759611631213">Kvadratni korijen od 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, jačina signala <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Prikaz popisa mreža. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Način boje</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Priključen je punjač male snage</translation>
 <translation id="8683506306463609433">Praćenje performansi je aktivno</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">Prošireni ekran</translation>
 <translation id="890616557918890486">Promijeni izvor</translation>
 <translation id="8909138438987180327">Baterija je na <ph name="PERCENTAGE" /> posto.</translation>
+<translation id="8913384980486163186">Tema (zadano)</translation>
+<translation id="8918251165865262378">Prelazak na način prijenosnog računala</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Google asistent ne govori taj jezik.</translation>
 <translation id="8936501819958976551">deaktivirano</translation>
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb
index d5f572b9..9ca0f09 100644
--- a/ash/strings/ash_strings_ca.xtb
+++ b/ash/strings/ash_strings_ca.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">M'avorreixo</translation>
 <translation id="1104084341931202936">Mostra la configuració d'accessibilitat</translation>
 <translation id="1104621072296271835">Els teus dispositius funcionen encara millor junts</translation>
+<translation id="1119348796022671382">El mode de color temàtic utilitza colors extrets del fons de pantalla per acolorir lleugerament la interfície.</translation>
 <translation id="112308213915226829">Amaga el prestatge automàticament</translation>
 <translation id="1153356358378277386">Dispositius vinculats</translation>
 <translation id="1175572348579024023">Desplaça</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Activada</translation>
 <translation id="1419738280318246476">Desbloqueja el dispositiu per dur a terme l'acció que indica la notificació</translation>
 <translation id="1420408895951708260">Activa o desactiva la funció Llum nocturna. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">La captura de pantalla s'ha fet i s'ha desat al porta-retalls</translation>
 <translation id="1426410128494586442">Sí</translation>
 <translation id="1455242230282523554">Mostra la configuració d'idioma</translation>
 <translation id="1460620680449458626">El volum està silenciat.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">L'accés amb interruptors es pot desactivar a Configuració &gt; Accessibilitat.</translation>
 <translation id="1654477262762802994">Inicia una consulta per veu</translation>
 <translation id="1665244008632896072">Commuta el mode fosc. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">El mode de color neutre no utilitza colors extrets del fons de pantalla, sinó que els substitueix per un conjunt de tons neutres clars o foscos.</translation>
 <translation id="1677472565718498478">Temps restant: <ph name="TIME" /></translation>
 <translation id="1698080062160024910">Temporitzador de: <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">Adreça IPv6: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Àudio mono</translation>
 <translation id="3009178788565917040">Sortida</translation>
 <translation id="3033545621352269033">Activada</translation>
+<translation id="3038571455154067151">Per iniciar la sessió, introdueix el codi d'accés parental de Family Link</translation>
 <translation id="3051128274746680507">El perfil del teu usuari supervisat se suprimirà aviat. Inicia la sessió per obtenir més informació.</translation>
 <translation id="3055162170959710888">Avui has fet servir aquest dispositiu durant <ph name="USED_TIME" /></translation>
 <translation id="3076778413190775903">Safata d'estat, hora <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">S’està calculant...</translation>
 <translation id="3977512764614765090">La bateria s'està carregant i està a un <ph name="PERCENTAGE" />%.</translation>
 <translation id="3995138139523574647">Dispositiu USB-C (port posterior dret)</translation>
+<translation id="40062176907008878">Escriptura a mà</translation>
 <translation id="4017989525502048489">Punter làser</translation>
 <translation id="4021716437419160885">Desplaça't cap avall</translation>
 <translation id="4028481283645788203">Cal introduir la contrasenya per disposar de més seguretat</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Per veure notificacions a la pantalla de bloqueig, desbloqueja el dispositiu per canviar aquesta opció</translation>
 <translation id="4146833061457621061">Reprodueix música</translation>
 <translation id="4149156641122542261"><ph name="DEVICE_TYPE" /> gestionat per <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Configuració del tema fosc</translation>
 <translation id="4181841719683918333">Idiomes</translation>
 <translation id="4195877955194704651">Botó Clics automàtics</translation>
 <translation id="4197790712631116042">Desactivat</translation>
 <translation id="4212472694152630271">Canvia a PIN</translation>
 <translation id="4215497585250573029">Configuració de VPN</translation>
 <translation id="4217571870635786043">Dictat</translation>
+<translation id="4229328187280698237">Canvia a mode de tauleta</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Mostra la configuració de notificacions. Les notificacions estan desactivades.</translation>
 <translation id="4269883910223712419">L'administrador d'aquest dispositiu pot dur a terme les accions següents:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Confirma la configuració de la pantalla</translation>
 <translation id="5083553833479578423">Desbloqueja més funcions de l'Assistent.</translation>
 <translation id="5114495209940374989">Captures de pantalla</translation>
+<translation id="5123162024343028706">Flota al damunt</translation>
 <translation id="5136175204352732067">S'ha connectat un altre teclat</translation>
 <translation id="5168181903108465623">Dispositius d'emissió disponibles</translation>
 <translation id="5170568018924773124">Mostra a la carpeta</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Desactivada</translation>
 <translation id="5302048478445481009">Idioma</translation>
 <translation id="5313326810920013265">Configuració del Bluetooth</translation>
+<translation id="5314219114274263156">S'ha fet una gravació de pantalla</translation>
 <translation id="5331975486040154427">Dispositiu USB-C (port posterior esquerre)</translation>
 <translation id="5379115545237091094">Massa intents</translation>
 <translation id="5397578532367286026">El gestor (<ph name="MANAGER_EMAIL" />) pot revisar l'ús i l'historial d'aquest usuari a chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">Atura <ph name="ROUTE_TITLE" /> a <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Desactivat</translation>
+<translation id="5876666360658629066">Introdueix el codi parental</translation>
 <translation id="5887866489674258948">Mode fosc</translation>
 <translation id="5895138241574237353">Reinicia</translation>
 <translation id="5901316534475909376">Maj + Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">Durant l'actualització, la pantalla es quedarà en blanc més temps del que és habitual (fins a un minut). No premis el botó d'engegada fins que no acabi.</translation>
 <translation id="6527303717912515753">Comparteix</translation>
 <translation id="6528179044667508675">No molestis</translation>
+<translation id="65320610082834431">Emojis</translation>
 <translation id="6537270692134705506">Captura la pantalla</translation>
 <translation id="6537924328260219877"><ph name="SIGNAL_STRENGTH" /> d'intensitat del senyal, <ph name="BATTERY_STATUS" /> de bateria al telèfon</translation>
 <translation id="6542521951477560771">S'està emetent a <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">Si mantens el botó premut o fas clic amb el botó dret en un element, l'Assistent et mostrarà informació com ara la definició o la conversió d'unitats.</translation>
 <translation id="7569509451529460200">S'ha activat el braille i ChromeVox</translation>
 <translation id="7579778809502851308">Captura de pantalla</translation>
+<translation id="7590883480672980941">Configuració de l'entrada</translation>
 <translation id="7593891976182323525">Cerca o Maj</translation>
 <translation id="7600875258240007829">Mostra totes les notificacions</translation>
+<translation id="7618774594543487847">Neutre</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" /> °F</translation>
 <translation id="7642647758716480637">Obre la configuració de la xarxa <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (propietari)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, <ph name="SIGNAL_STRENGTH" /> d'intensitat del senyal, xarxa gestionada per l'administrador</translation>
 <translation id="8639760480004882931">Queda un <ph name="PERCENTAGE" /></translation>
 <translation id="8646417893960517480">Temporitzador de: <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">Per afegir una persona, introdueix el codi d'accés parental de Family Link</translation>
 <translation id="8649101189709089199">Escolta la selecció</translation>
 <translation id="8652175077544655965">Tanca la configuració</translation>
 <translation id="8653151467777939995">Mostra la configuració de notificacions. Les notificacions estan activades.</translation>
 <translation id="8660331759611631213">Arrel quadrada de 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, <ph name="SIGNAL_STRENGTH" /> d'intensitat del senyal</translation>
 <translation id="8664753092453405566">Mostra la llista de xarxes. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Mode de color</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">S'ha connectat un carregador de baix consum</translation>
 <translation id="8683506306463609433">Traça del rendiment activa</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">Ampliació de la pantalla</translation>
 <translation id="890616557918890486">Canvia la font</translation>
 <translation id="8909138438987180327">La bateria està a un <ph name="PERCENTAGE" />%.</translation>
+<translation id="8913384980486163186">Amb temàtica (opció predeterminada)</translation>
+<translation id="8918251165865262378">Canvia a mode de portàtil</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">L'Assistent de Google no parla aquest idioma.</translation>
 <translation id="8936501819958976551">desactivada</translation>
diff --git a/ash/strings/ash_strings_da.xtb b/ash/strings/ash_strings_da.xtb
index b0b2f849..9332af4 100644
--- a/ash/strings/ash_strings_da.xtb
+++ b/ash/strings/ash_strings_da.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Jeg keder mig</translation>
 <translation id="1104084341931202936">Vis indstillinger for hjælpefunktioner</translation>
 <translation id="1104621072296271835">Dine enheder fungerer endnu bedre sammen</translation>
+<translation id="1119348796022671382">Tilstanden med temafarve anvender farver fra din baggrund til at give grænsefladen en svag farve.</translation>
 <translation id="112308213915226829">Skjul hylde automatisk</translation>
 <translation id="1153356358378277386">Parrede enheder</translation>
 <translation id="1175572348579024023">Rul</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Til</translation>
 <translation id="1419738280318246476">Lås enheden op for at udføre notifikationshandlingen</translation>
 <translation id="1420408895951708260">Slå Nattelys til/fra. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Screenshottet blev taget og gemt i udklipsholderen</translation>
 <translation id="1426410128494586442">Ja</translation>
 <translation id="1455242230282523554">Vis sprogindstillinger</translation>
 <translation id="1460620680449458626">Lyden er slået fra.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Kontaktadgang kan deaktiveres under Indstillinger &gt; Hjælpefunktioner.</translation>
 <translation id="1654477262762802994">Start en stemmeforespørgsel</translation>
 <translation id="1665244008632896072">Slå mørk tilstand til/fra. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Tilstanden med neutral farve anvender ikke farver fra baggrunden, men erstatter dem med et sæt lyse og mørke nuancer i neutrale farver.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> tilbage</translation>
 <translation id="1698080062160024910">Timer på <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6-adresse: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Monolyd</translation>
 <translation id="3009178788565917040">Output</translation>
 <translation id="3033545621352269033">Til</translation>
+<translation id="3038571455154067151">Angiv forældreadgangskoden til Family Link for at logge ind</translation>
 <translation id="3051128274746680507">Din administrerede brugerprofil fjernes snart. Log ind for at få flere oplysninger.</translation>
 <translation id="3055162170959710888">Du har brugt denne enhed i <ph name="USED_TIME" /> i dag</translation>
 <translation id="3076778413190775903">Statusbakke, tid <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Beregner...</translation>
 <translation id="3977512764614765090">Batteriet er på <ph name="PERCENTAGE" /> % og oplader.</translation>
 <translation id="3995138139523574647">USB-C-enhed (porten bagpå i højre side)</translation>
+<translation id="40062176907008878">Håndskrift</translation>
 <translation id="4017989525502048489">Laserpegepind</translation>
 <translation id="4021716437419160885">Rul ned</translation>
 <translation id="4028481283645788203">Der kræves en adgangskode som ekstra sikkerhed</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Du kan se notifikationer på din låseskærm ved at låse skærmen op og ændre indstillingen</translation>
 <translation id="4146833061457621061">Spil musik</translation>
 <translation id="4149156641122542261"><ph name="DEVICE_TYPE" /> administreres af <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Indstillinger for Mørkt tema</translation>
 <translation id="4181841719683918333">Sprog</translation>
 <translation id="4195877955194704651">Knap til automatisk klik</translation>
 <translation id="4197790712631116042">Fra</translation>
 <translation id="4212472694152630271">Skift til pinkode</translation>
 <translation id="4215497585250573029">VPN-indstillinger</translation>
 <translation id="4217571870635786043">Diktering</translation>
+<translation id="4229328187280698237">Skift til tablettilstand</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Vis indstillinger for notifikationer. Notifikationer er slået fra</translation>
 <translation id="4269883910223712419">Administratoren af denne enhed kan gøre følgende:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Bekræft skærmkonfiguration</translation>
 <translation id="5083553833479578423">Få adgang til endnu flere Assistent-funktioner.</translation>
 <translation id="5114495209940374989">Screenshots</translation>
+<translation id="5123162024343028706">Vis som svævende</translation>
 <translation id="5136175204352732067">Du har tilsluttet et andet tastatur</translation>
 <translation id="5168181903108465623">Tilgængelige Cast-enheder</translation>
 <translation id="5170568018924773124">Vis i mappe</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Fra</translation>
 <translation id="5302048478445481009">Sprog</translation>
 <translation id="5313326810920013265">Indstillinger for Bluetooth</translation>
+<translation id="5314219114274263156">Skærmoptagelse blev foretaget</translation>
 <translation id="5331975486040154427">USB-C-enhed (porten bagpå i venstre side)</translation>
 <translation id="5379115545237091094">For mange forsøg</translation>
 <translation id="5397578532367286026">Denne brugers forbrug og historik kan ses af administratoren (<ph name="MANAGER_EMAIL" />) på chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">Stop <ph name="ROUTE_TITLE" /> på <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Fra</translation>
+<translation id="5876666360658629066">Angiv forældrekode</translation>
 <translation id="5887866489674258948">Mørk tilstand</translation>
 <translation id="5895138241574237353">Genstart</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -482,6 +492,7 @@
 <translation id="652139407789908527">Din skærm vil være tom i længere tid end normalt (i op til et minut) under denne opdatering. Undlad at trykke på afbryderknappen, mens opdateringen er i gang.</translation>
 <translation id="6527303717912515753">Del</translation>
 <translation id="6528179044667508675">Forstyr ikke</translation>
+<translation id="65320610082834431">Emojis</translation>
 <translation id="6537270692134705506">Tag screenshot</translation>
 <translation id="6537924328260219877">Signalstyrke <ph name="SIGNAL_STRENGTH" />, telefonbatteri <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Caster til <ph name="RECEIVER_NAME" /></translation>
@@ -568,8 +579,10 @@
 <translation id="7568637526529101738">Når du højreklikker eller bruger langt tryk, viser Google Assistent dig oplysninger som f.eks. definitionen eller enhedskonverteringen for dit valg.</translation>
 <translation id="7569509451529460200">Braille og ChromeVox er aktiveret</translation>
 <translation id="7579778809502851308">Screenshot</translation>
+<translation id="7590883480672980941">Indstillinger for indtastning</translation>
 <translation id="7593891976182323525">Søg eller Shift</translation>
 <translation id="7600875258240007829">Se alle notifikationer</translation>
+<translation id="7618774594543487847">Neutral</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Åbn indstillingerne for <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (ejer)</translation>
@@ -666,12 +679,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, signalstyrke <ph name="SIGNAL_STRENGTH" />, administreret af din administrator</translation>
 <translation id="8639760480004882931"><ph name="PERCENTAGE" /> tilbage</translation>
 <translation id="8646417893960517480">Timer på <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">Angiv forældreadgangskoden til Family Link for at tilføje en person</translation>
 <translation id="8649101189709089199">Tekstoplæsning</translation>
 <translation id="8652175077544655965">Luk indstillinger</translation>
 <translation id="8653151467777939995">Vis indstillinger for notifikationer. Notifikationer er slået til</translation>
 <translation id="8660331759611631213">Kvadratroden af 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, signalstyrke <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Vis netværksliste. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Farvetilstand</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Oplader med lav kraft er tilsluttet</translation>
 <translation id="8683506306463609433">Sporing af effektivitet er aktiv</translation>
@@ -695,6 +710,8 @@
 <translation id="8878886163241303700">Udvider skærm</translation>
 <translation id="890616557918890486">Skift kilde</translation>
 <translation id="8909138438987180327">Batteriet er på <ph name="PERCENTAGE" /> procent.</translation>
+<translation id="8913384980486163186">Med tema (standard)</translation>
+<translation id="8918251165865262378">Skift til computertilstand</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Google-assistenten taler ikke dette sprog.</translation>
 <translation id="8936501819958976551">deaktiverede</translation>
diff --git a/ash/strings/ash_strings_el.xtb b/ash/strings/ash_strings_el.xtb
index 03470ce..2081d3e 100644
--- a/ash/strings/ash_strings_el.xtb
+++ b/ash/strings/ash_strings_el.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Βαριέμαι</translation>
 <translation id="1104084341931202936">Εμφάνιση ρυθμίσεων προσβασιμότητας</translation>
 <translation id="1104621072296271835">Οι συσκευές σας λειτουργούν ακόμα καλύτερα συνδυαστικά</translation>
+<translation id="1119348796022671382">Η λειτουργία χρώματος με θέμα χρησιμοποιεί χρώματα που έχουν εξαχθεί από την ταπετσαρία για να χρωματίσει ελαφρώς τη διεπαφή.</translation>
 <translation id="112308213915226829">Αυτόματη απόκρυψη ραφιού</translation>
 <translation id="1153356358378277386">Συσκευές σε σύζευξη</translation>
 <translation id="1175572348579024023">Κύλιση</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Ενεργό</translation>
 <translation id="1419738280318246476">Ξεκλειδώστε τη συσκευή για εκτέλεση της ενέργειας ειδοποίησης</translation>
 <translation id="1420408895951708260">Εναλλαγή νυχτερινού φωτισμού. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Λήψη στιγμιότυπου οθόνης και αποθήκευσή του στο πρόχειρο</translation>
 <translation id="1426410128494586442">Ναι</translation>
 <translation id="1455242230282523554">Εμφάνιση ρυθμίσεων γλώσσας</translation>
 <translation id="1460620680449458626">Η ένταση ήχου είναι σε σίγαση.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Η πρόσβαση με διακόπτη μπορεί να απενεργοποιηθεί από τις Ρυθμίσεις &gt; Προσβασιμότητα.</translation>
 <translation id="1654477262762802994">Έναρξη φωνητικού ερωτήματος</translation>
 <translation id="1665244008632896072">Εναλλαγή κατάστασης λειτουργίας χαμηλού φωτισμού. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Η λειτουργία ουδέτερου χρώματος δεν χρησιμοποιεί χρώματα που έχουν εξαχθεί από την ταπετσαρία, αλλά τα αντικαθιστά με ένα σύνολο ουδέτερων σκούρων ή φωτεινών αποχρώσεων.</translation>
 <translation id="1677472565718498478">Απομένουν <ph name="TIME" /></translation>
 <translation id="1698080062160024910">Χρονόμετρο <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">Διεύθυνση IPv6: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Μονοφωνικός ήχος</translation>
 <translation id="3009178788565917040">Έξοδος</translation>
 <translation id="3033545621352269033">Eνεργό</translation>
+<translation id="3038571455154067151">Για να συνδεθείτε, εισαγάγετε τον κωδικό πρόσβασης γονέα Family Link</translation>
 <translation id="3051128274746680507">Το προφίλ εποπτευόμενου χρήστη θα καταργηθεί σύντομα. Συνδεθείτε για να μάθετε περισσότερα.</translation>
 <translation id="3055162170959710888">Χρησιμοποιήσατε αυτήν τη συσκευή για <ph name="USED_TIME" /> σήμερα</translation>
 <translation id="3076778413190775903">Δίσκος κατάστασης, ώρα <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Υπολογισμός…</translation>
 <translation id="3977512764614765090">Η μπαταρία είναι στο <ph name="PERCENTAGE" />% και φορτίζει.</translation>
 <translation id="3995138139523574647">Συσκευή USB-C (πίσω δεξιά θύρα)</translation>
+<translation id="40062176907008878">Γραφή</translation>
 <translation id="4017989525502048489">Δείκτης λέιζερ</translation>
 <translation id="4021716437419160885">Κύλιση προς τα κάτω</translation>
 <translation id="4028481283645788203">Απαιτείται κωδικός πρόσβασης για περισσότερη ασφάλεια.</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Για να βλέπετε ειδοποιήσεις στην οθόνη κλειδώματος, ξεκλειδώστε τη συσκευή για να αλλάξετε τη ρύθμιση</translation>
 <translation id="4146833061457621061">Αναπαραγωγή μουσικής</translation>
 <translation id="4149156641122542261">Η διαχείριση της συσκευής <ph name="DEVICE_TYPE" /> γίνεται από τον τομέα <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Ρυθμίσεις σκούρου θέματος</translation>
 <translation id="4181841719683918333">Γλώσσες</translation>
 <translation id="4195877955194704651">Κουμπί αυτόματων κλικ</translation>
 <translation id="4197790712631116042">Ανενεργό</translation>
 <translation id="4212472694152630271">Αλλαγή σε PIN</translation>
 <translation id="4215497585250573029">Ρυθμίσεις VPN</translation>
 <translation id="4217571870635786043">Υπαγόρευση</translation>
+<translation id="4229328187280698237">Εναλλαγή σε λειτουργία tablet</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Εμφάνιση ρυθμίσεων ειδοποιήσεων. Οι ειδοποιήσεις είναι απενεργοποιημένες.</translation>
 <translation id="4269883910223712419">Ο διαχειριστής αυτής της συσκευής μπορεί να εκτελεί τις ακόλουθες ενέργειες:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Επιβεβαίωση διαμόρφωσης οθόνης</translation>
 <translation id="5083553833479578423">Ξεκλειδώστε περισσότερες λειτουργίες του Βοηθού.</translation>
 <translation id="5114495209940374989">Στιγμιότυπα οθόνης</translation>
+<translation id="5123162024343028706">Εμφάνιση από πάνω</translation>
 <translation id="5136175204352732067">Συνδέθηκε διαφορετικό πληκτρολόγιο</translation>
 <translation id="5168181903108465623">Διαθέσιμες συσκευές μετάδοσης</translation>
 <translation id="5170568018924773124">Εμφάνιση στο φάκελο</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Ανενεργό</translation>
 <translation id="5302048478445481009">Γλώσσα</translation>
 <translation id="5313326810920013265">Ρυθμίσεις Bluetooth</translation>
+<translation id="5314219114274263156">Λήψη εγγραφής οθόνης</translation>
 <translation id="5331975486040154427">Συσκευή USB-C (πίσω αριστερή θύρα)</translation>
 <translation id="5379115545237091094">Πάρα πολλές προσπάθειες</translation>
 <translation id="5397578532367286026">Ο διαχειριστής (<ph name="MANAGER_EMAIL" />) μπορεί να ελέγξει τη χρήση και το ιστορικό αυτού του χρήστη στη διεύθυνση chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">Διακοπή <ph name="ROUTE_TITLE" /> σε <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Απενεργοποιημένη</translation>
+<translation id="5876666360658629066">Εισαγάγετε κωδικό γονέα</translation>
 <translation id="5887866489674258948">Χαμηλός φωτισμός</translation>
 <translation id="5895138241574237353">Επανεκκίνηση</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">Κατά τη διάρκεια αυτής της ενημέρωσης η οθόνη σας θα σβήσει για περισσότερο απ' ότι συνήθως (έως και για ένα λεπτό). Μην πατήσετε το κουμπί λειτουργίας ενώ η ενημέρωση βρίσκεται σε εξέλιξη.</translation>
 <translation id="6527303717912515753">Κοινοποίηση</translation>
 <translation id="6528179044667508675">Μην ενοχλείτε</translation>
+<translation id="65320610082834431">Emoji</translation>
 <translation id="6537270692134705506">Λήψη στιγμιότυπου οθόνης</translation>
 <translation id="6537924328260219877">Ισχύς σήματος <ph name="SIGNAL_STRENGTH" />, Μπαταρία τηλεφώνου <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Μετάδοση στη συσκευή <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">Με δεξί κλικ ή παρατεταμένο πάτημα, ο Βοηθός σάς εμφανίζει πληροφορίες όπως τον ορισμό ή μια μετατροπή μονάδων για την επιλογή σας.</translation>
 <translation id="7569509451529460200">Το Braille και το ChromeVox ενεργοποιήθηκαν</translation>
 <translation id="7579778809502851308">Λήψη οθόνης</translation>
+<translation id="7590883480672980941">Ρυθμίσεις εισαγωγής</translation>
 <translation id="7593891976182323525">Search ή Shift</translation>
 <translation id="7600875258240007829">Δείτε όλες τις ειδοποιήσεις</translation>
+<translation id="7618774594543487847">Ουδέτερο</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Άνοιγμα ρυθμίσεων για το δίκτυο <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (κάτοχος)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, Ισχύς σήματος <ph name="SIGNAL_STRENGTH" />, Διαχειριζόμενο από τον διαχειριστή σας</translation>
 <translation id="8639760480004882931">Απομένει <ph name="PERCENTAGE" /></translation>
 <translation id="8646417893960517480">Χρονόμετρο <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">Για να προσθέσετε ένα άτομο, εισαγάγετε τον κωδικό πρόσβασης γονέα Family Link</translation>
 <translation id="8649101189709089199">Επιλέξτε για αυτόματη ανάγνωση</translation>
 <translation id="8652175077544655965">Κλείσιμο ρυθμίσεων</translation>
 <translation id="8653151467777939995">Εμφάνιση ρυθμίσεων ειδοποιήσεων. Οι ειδοποιήσεις είναι ενεργοποιημένες.</translation>
 <translation id="8660331759611631213">Τετραγωνική ρίζα του 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, ισχύς σήματος <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Εμφάνιση λίστας δικτύων. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Λειτουργία χρώματος</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Ο συνδεδεμένος φορτιστής παρέχει χαμηλή ισχύ</translation>
 <translation id="8683506306463609433">Ενεργή παρακολούθηση απόδοσης</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">Επέκταση οθόνης</translation>
 <translation id="890616557918890486">Αλλαγή πηγής</translation>
 <translation id="8909138438987180327">Η μπαταρία βρίσκεται στο <ph name="PERCENTAGE" /> τοις εκατό.</translation>
+<translation id="8913384980486163186">Με θέμα (προεπιλογή)</translation>
+<translation id="8918251165865262378">Εναλλαγή σε λειτουργία φορητού υπολογιστή.</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Ο Βοηθός Google δεν είναι διαθέσιμος σε αυτήν τη γλώσσα.</translation>
 <translation id="8936501819958976551">απενεργοποιημένο</translation>
diff --git a/ash/strings/ash_strings_en-GB.xtb b/ash/strings/ash_strings_en-GB.xtb
index 983c751..3c1296f0 100644
--- a/ash/strings/ash_strings_en-GB.xtb
+++ b/ash/strings/ash_strings_en-GB.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">I'm bored</translation>
 <translation id="1104084341931202936">Show accessibility settings</translation>
 <translation id="1104621072296271835">Your devices work even better together</translation>
+<translation id="1119348796022671382">The themed colour mode uses colours extracted from your wallpaper to lightly colourise the interface.</translation>
 <translation id="112308213915226829">Autohide shelf</translation>
 <translation id="1153356358378277386">Paired devices</translation>
 <translation id="1175572348579024023">Scroll</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">On</translation>
 <translation id="1419738280318246476">Unlock device to perform the notification action</translation>
 <translation id="1420408895951708260">Toggle Night Light. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Screenshot taken and saved to clipboard</translation>
 <translation id="1426410128494586442">Yes</translation>
 <translation id="1455242230282523554">Show language settings</translation>
 <translation id="1460620680449458626">Volume is muted.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Switch access can be disabled in Settings &gt; Accessibility.</translation>
 <translation id="1654477262762802994">Start a voice query</translation>
 <translation id="1665244008632896072">Toggle dark mode. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">The neutral colour mode does not use wallpaper extracted colours, replacing them by a set of neutrally toned light or dark hues.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> left</translation>
 <translation id="1698080062160024910"><ph name="TOTAL_TIME" /> timer · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6 address: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Mono audio</translation>
 <translation id="3009178788565917040">Output</translation>
 <translation id="3033545621352269033">On</translation>
+<translation id="3038571455154067151">To sign in, enter your Family Link parental access code</translation>
 <translation id="3051128274746680507">Your supervised user profile will be removed soon. Sign in to find out more.</translation>
 <translation id="3055162170959710888">You used this device for <ph name="USED_TIME" /> today</translation>
 <translation id="3076778413190775903">Status tray, time <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Calculating...</translation>
 <translation id="3977512764614765090">Battery at <ph name="PERCENTAGE" />% and charging.</translation>
 <translation id="3995138139523574647">USB-C device (right-hand-side back port)</translation>
+<translation id="40062176907008878">Handwriting</translation>
 <translation id="4017989525502048489">Laser pointer</translation>
 <translation id="4021716437419160885">Scroll down</translation>
 <translation id="4028481283645788203">Password required for more security</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">To see notifications on your lock screen, unlock to change the setting</translation>
 <translation id="4146833061457621061">Play music</translation>
 <translation id="4149156641122542261"><ph name="DEVICE_TYPE" /> managed by <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Dark theme settings</translation>
 <translation id="4181841719683918333">Languages</translation>
 <translation id="4195877955194704651">Automatic clicks button</translation>
 <translation id="4197790712631116042">Off</translation>
 <translation id="4212472694152630271">Switch to PIN</translation>
 <translation id="4215497585250573029">VPN settings</translation>
 <translation id="4217571870635786043">Dictation</translation>
+<translation id="4229328187280698237">Switch to tablet mode</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Show notification settings. Notifications are off</translation>
 <translation id="4269883910223712419">The admin of this device has the ability to:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Confirm display configuration</translation>
 <translation id="5083553833479578423">Unlock more Assistant features.</translation>
 <translation id="5114495209940374989">Screenshots</translation>
+<translation id="5123162024343028706">Float on top</translation>
 <translation id="5136175204352732067">Different keyboard connected</translation>
 <translation id="5168181903108465623">Cast devices available</translation>
 <translation id="5170568018924773124">Show in folder</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Off</translation>
 <translation id="5302048478445481009">Language</translation>
 <translation id="5313326810920013265">Bluetooth settings</translation>
+<translation id="5314219114274263156">Screen recording taken</translation>
 <translation id="5331975486040154427">USB-C device (left side back port)</translation>
 <translation id="5379115545237091094">Too many attempts</translation>
 <translation id="5397578532367286026">Usage and history of this user can be reviewed by the manager (<ph name="MANAGER_EMAIL" />) on chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">Stop <ph name="ROUTE_TITLE" /> on <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Off</translation>
+<translation id="5876666360658629066">Enter parental code</translation>
 <translation id="5887866489674258948">Dark mode</translation>
 <translation id="5895138241574237353">Restart</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">Your screen will go blank for longer than usual (up to a minute) during this update. Please don't press the power button while the update is in progress.</translation>
 <translation id="6527303717912515753">Share</translation>
 <translation id="6528179044667508675">Do not disturb</translation>
+<translation id="65320610082834431">Emojis</translation>
 <translation id="6537270692134705506">Capture screen</translation>
 <translation id="6537924328260219877">Signal strength <ph name="SIGNAL_STRENGTH" />, phone battery <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Casting to <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">With a right-click or a long press, Assistant shows info such as the definition or unit conversion for your selection.</translation>
 <translation id="7569509451529460200">Braille and ChromeVox are enabled</translation>
 <translation id="7579778809502851308">Screen capture</translation>
+<translation id="7590883480672980941">Input settings</translation>
 <translation id="7593891976182323525">Search or Shift</translation>
 <translation id="7600875258240007829">See all notifications</translation>
+<translation id="7618774594543487847">Neutral</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Open settings for <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (owner)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, signal strength <ph name="SIGNAL_STRENGTH" />, managed by your administrator</translation>
 <translation id="8639760480004882931"><ph name="PERCENTAGE" /> remaining</translation>
 <translation id="8646417893960517480"><ph name="TOTAL_TIME" /> timer</translation>
+<translation id="8647931990447795414">To add a person, enter your Family Link parental access code</translation>
 <translation id="8649101189709089199">Select to Speak</translation>
 <translation id="8652175077544655965">Close settings</translation>
 <translation id="8653151467777939995">Show notification settings. Notifications are on</translation>
 <translation id="8660331759611631213">Square root of 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, signal strength <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Show network list. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Colour mode</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Low-power charger connected</translation>
 <translation id="8683506306463609433">Performance tracing active</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">Extending screen</translation>
 <translation id="890616557918890486">Change source</translation>
 <translation id="8909138438987180327">Battery at <ph name="PERCENTAGE" /> per cent.</translation>
+<translation id="8913384980486163186">Themed (default)</translation>
+<translation id="8918251165865262378">Switch to laptop mode</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">The Google Assistant doesn’t speak this language.</translation>
 <translation id="8936501819958976551">deactivated</translation>
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb
index d77de84..9c8ba6e 100644
--- a/ash/strings/ash_strings_et.xtb
+++ b/ash/strings/ash_strings_et.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Mul on igav</translation>
 <translation id="1104084341931202936">Kuvab juurdepääsetavuse seaded</translation>
 <translation id="1104621072296271835">Teie seadmed töötavad koos veelgi paremini</translation>
+<translation id="1119348796022671382">Temaatiline värvirežiim kasutab taustapildist tuletatud värve, et liidest kergelt toonida.</translation>
 <translation id="112308213915226829">Riiuli automaatne peitmine</translation>
 <translation id="1153356358378277386">Seotud seadmed</translation>
 <translation id="1175572348579024023">Keri</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Sees</translation>
 <translation id="1419738280318246476">Märguandetoimingu tegemiseks avage seade</translation>
 <translation id="1420408895951708260">Öövalguse lülitamine. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Ekraanipilt jäädvustati ja salvestati lõikelauale</translation>
 <translation id="1426410128494586442">Jah</translation>
 <translation id="1455242230282523554">Kuva keeleseaded</translation>
 <translation id="1460620680449458626">Helitugevus on vaigistatud.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Lülitiga juurdepääsu saab keelata menüüs Seaded &gt; Juurdepääsetavus.</translation>
 <translation id="1654477262762802994">Häälpäringu alustamine</translation>
 <translation id="1665244008632896072">Vahetage tumeda režiimi olekut. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Neutraalne värvirežiim ei kasuta taustapildist tuletatud värve, asendades need neutraalsete heledate või tumedate toonidega.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> tühjenemiseni</translation>
 <translation id="1698080062160024910"><ph name="TOTAL_TIME" /> taimer · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6-aadress: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Monoheli</translation>
 <translation id="3009178788565917040">Väljund</translation>
 <translation id="3033545621352269033">Sees</translation>
+<translation id="3038571455154067151">Sisselogimiseks sisestage oma Family Linki vanema pääsukood</translation>
 <translation id="3051128274746680507">Teie jälgitava kasutaja profiil eemaldatakse peagi. Lisateabe saamiseks logige sisse.</translation>
 <translation id="3055162170959710888">Kasutasite seda seadet täna <ph name="USED_TIME" /></translation>
 <translation id="3076778413190775903">Olekusalv, aeg <ph name="TIME" />,
@@ -278,6 +282,7 @@
 <translation id="397105322502079400">Arvutamine ...</translation>
 <translation id="3977512764614765090">Aku laetuse tase on <ph name="PERCENTAGE" />% ja seda laetakse.</translation>
 <translation id="3995138139523574647">C-tüüpi USB-seade (tagumine parempoolne port)</translation>
+<translation id="40062176907008878">Käekiri</translation>
 <translation id="4017989525502048489">Laserkursor</translation>
 <translation id="4021716437419160885">Keri alla</translation>
 <translation id="4028481283645788203">Turvalisuse suurendamiseks on vaja parooli</translation>
@@ -289,12 +294,14 @@
 <translation id="4129129681837227511">Lukustuskuval märguannete nägemiseks avage ekraan ja muutke seadet</translation>
 <translation id="4146833061457621061">Esita muusikat</translation>
 <translation id="4149156641122542261">Seadet <ph name="DEVICE_TYPE" /> haldab <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Tumeda teema seaded</translation>
 <translation id="4181841719683918333">Keeled</translation>
 <translation id="4195877955194704651">Nupp Automaatsed klikid</translation>
 <translation id="4197790712631116042">Väljas</translation>
 <translation id="4212472694152630271">Kasuta PIN-koodi</translation>
 <translation id="4215497585250573029">VPN-i seaded</translation>
 <translation id="4217571870635786043">Dikteerimine</translation>
+<translation id="4229328187280698237">Lülitu tahvelarvuti režiimile</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Kuvab märguandeseaded. Märguanded on välja lülitatud</translation>
 <translation id="4269883910223712419">Selle seadme administraator saab teha järgmist.</translation>
@@ -369,6 +376,7 @@
 <translation id="5035389544768382859">Kuva seadistuse kinnitamine</translation>
 <translation id="5083553833479578423">Avage rohkem assistendi funktsioone.</translation>
 <translation id="5114495209940374989">Ekraanipildid</translation>
+<translation id="5123162024343028706">Hõljuta kõige peal</translation>
 <translation id="5136175204352732067">Ühendatud on teine klaviatuur</translation>
 <translation id="5168181903108465623">Ülekandeseadmed on saadaval</translation>
 <translation id="5170568018924773124">Kuva kaustas</translation>
@@ -382,6 +390,7 @@
 <translation id="5297704307811127955">Väljas</translation>
 <translation id="5302048478445481009">Keel</translation>
 <translation id="5313326810920013265">Bluetoothi seaded</translation>
+<translation id="5314219114274263156">Jäädvustati ekraanisalvestis</translation>
 <translation id="5331975486040154427">C-tüüpi USB-seade (tagumine vasakpoolne port)</translation>
 <translation id="5379115545237091094">Liiga palju katseid</translation>
 <translation id="5397578532367286026">Haldur (<ph name="MANAGER_EMAIL" />) saab kasutaja kasutusandmeid ja ajalugu vaadata aadressil chrome.com.</translation>
@@ -422,6 +431,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">Katkesta <ph name="ROUTE_TITLE" /> asukohas <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Väljas</translation>
+<translation id="5876666360658629066">Sisestage vanema kood</translation>
 <translation id="5887866489674258948">Tume režiim</translation>
 <translation id="5895138241574237353">Taaskäivitamine</translation>
 <translation id="5901316534475909376">Tõstuklahv + ESC</translation>
@@ -482,6 +492,7 @@
 <translation id="652139407789908527">Ekraan kustub selle värskenduse ajal kauemaks kui tavaliselt (kuni minutiks). Ärge vajutage värskendamise ajal toitenuppu.</translation>
 <translation id="6527303717912515753">Jaga</translation>
 <translation id="6528179044667508675">Mitte segada</translation>
+<translation id="65320610082834431">Emotikonid</translation>
 <translation id="6537270692134705506">Jäädvusta ekraanikuva</translation>
 <translation id="6537924328260219877">Signaalitugevus: <ph name="SIGNAL_STRENGTH" />, telefoni aku: <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Ülekandmine seadmesse <ph name="RECEIVER_NAME" /></translation>
@@ -568,8 +579,10 @@
 <translation id="7568637526529101738">Paremkliki või pika vajutusega kuvab assistent teavet, näiteks teie valitud üksuse definitsiooni või ühiku teisenduse.</translation>
 <translation id="7569509451529460200">Punktkiri ja ChromeVox on lubatud</translation>
 <translation id="7579778809502851308">Ekraanikuva jäädvustamine</translation>
+<translation id="7590883480672980941">Sisendi seaded</translation>
 <translation id="7593891976182323525">Otsinguklahv või tõstuklahv</translation>
 <translation id="7600875258240007829">Kuva kõik märguanded</translation>
+<translation id="7618774594543487847">Neutraalne</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" /> °F</translation>
 <translation id="7642647758716480637">Ava võrgu <ph name="NETWORK_NAME" /> seaded, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (omanik)</translation>
@@ -666,12 +679,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, signaalitugevus: <ph name="SIGNAL_STRENGTH" />, võrku haldab teie administraator</translation>
 <translation id="8639760480004882931"><ph name="PERCENTAGE" /> on jäänud</translation>
 <translation id="8646417893960517480"><ph name="TOTAL_TIME" /> taimer</translation>
+<translation id="8647931990447795414">Inimese lisamiseks sisestage Family Linki vanema pääsukood.</translation>
 <translation id="8649101189709089199">Vali ja kuula</translation>
 <translation id="8652175077544655965">Sulgege seaded</translation>
 <translation id="8653151467777939995">Kuvab märguandeseaded. Märguanded on sisse lülitatud</translation>
 <translation id="8660331759611631213">Ruutjuur 71-st</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, signaalitugevus <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Kuvab võrkude loendi. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Värvirežiim</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Väikese energiakuluga laadija on ühendatud</translation>
 <translation id="8683506306463609433">Toimivuse jälgimine on aktiivne</translation>
@@ -695,6 +710,8 @@
 <translation id="8878886163241303700">Ekraani laiendamine</translation>
 <translation id="890616557918890486">Vaheta allikat</translation>
 <translation id="8909138438987180327">Aku laetuse tase on <ph name="PERCENTAGE" /> protsenti.</translation>
+<translation id="8913384980486163186">Temaatiline (vaikimisi)</translation>
+<translation id="8918251165865262378">Lülitu sülearvuti režiimile</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Google'i assistent ei räägi selles keeles.</translation>
 <translation id="8936501819958976551">inaktiveeritud</translation>
diff --git a/ash/strings/ash_strings_eu.xtb b/ash/strings/ash_strings_eu.xtb
index 5d927344..d5956c3 100644
--- a/ash/strings/ash_strings_eu.xtb
+++ b/ash/strings/ash_strings_eu.xtb
@@ -40,6 +40,7 @@
 <translation id="1302880136325416935">Erakutsi Bluetooth-aren ezarpenak. <ph name="STATE_TEXT" /></translation>
 <translation id="1312604459020188865">Seinalearen indarra: <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="1316069254387866896">Erakutsi beti biltegia</translation>
+<translation id="1333308631814936910"><ph name="DISPLAY_NAME" /> konektatuta</translation>
 <translation id="1341651618736211726">Luzapena</translation>
 <translation id="1346748346194534595">Eskuinera</translation>
 <translation id="1351937230027495976">Tolestu menua</translation>
diff --git a/ash/strings/ash_strings_hr.xtb b/ash/strings/ash_strings_hr.xtb
index 710424ea..76f91194 100644
--- a/ash/strings/ash_strings_hr.xtb
+++ b/ash/strings/ash_strings_hr.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Dosadno mi je</translation>
 <translation id="1104084341931202936">Prikaz postavki pristupačnosti</translation>
 <translation id="1104621072296271835">Vaši uređaji funkcioniraju još bolje zajedno</translation>
+<translation id="1119348796022671382">Način boje teme upotrebljava boje izdvojene iz vaše pozadine kako bi blago obojio sučelje.</translation>
 <translation id="112308213915226829">Automatski sakrij policu</translation>
 <translation id="1153356358378277386">Upareni uređaji</translation>
 <translation id="1175572348579024023">Pomicanje</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Uključeno</translation>
 <translation id="1419738280318246476">Otključajte uređaj za izvršenje radnje obavijesti</translation>
 <translation id="1420408895951708260">Uključite ili isključite Noćno svjetlo. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Napravljena je snimka zaslona i spremljena je u međuspremnik</translation>
 <translation id="1426410128494586442">Da</translation>
 <translation id="1455242230282523554">Prikaz postavki jezika</translation>
 <translation id="1460620680449458626">Isključen je zvuk.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Prekidač za pristup možete onemogućiti tako da otvorite Postavke &gt; Pristupačnost.</translation>
 <translation id="1654477262762802994">Pokrenite glasovni upit</translation>
 <translation id="1665244008632896072">Uključite ili isključite tamni način rada. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Način neutralne boje ne upotrebljava boje izdvojene iz pozadine, već ih zamjenjuje skupom neutralnih svijetlih ili tamnih nijansi.</translation>
 <translation id="1677472565718498478">Još <ph name="TIME" /></translation>
 <translation id="1698080062160024910">Odbrojavanje: <ph name="TOTAL_TIME" />· <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6 adresa: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Monozvuk</translation>
 <translation id="3009178788565917040">Izlaz</translation>
 <translation id="3033545621352269033">Uključeno</translation>
+<translation id="3038571455154067151">Da biste se prijavili, unesite kôd za roditeljski pristup za Family Link</translation>
 <translation id="3051128274746680507">Vaš profil nadziranog korisnika uskoro će se ukloniti. Prijavite se da biste saznali više.</translation>
 <translation id="3055162170959710888">Uređaj je danas korišten <ph name="USED_TIME" /></translation>
 <translation id="3076778413190775903">Traka statusa, vrijeme <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Izračun u tijeku…</translation>
 <translation id="3977512764614765090">Baterija je na <ph name="PERCENTAGE" />% i puni se.</translation>
 <translation id="3995138139523574647">USB-C uređaj (stražnji desni priključak)</translation>
+<translation id="40062176907008878">Rukopis</translation>
 <translation id="4017989525502048489">Laserski pokazivač</translation>
 <translation id="4021716437419160885">Pomakni prema dolje</translation>
 <translation id="4028481283645788203">Radi dodatne sigurnosti potrebna je zaporka</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Za prikaz obavijesti na zaključanom zaslonu otključajte zaslon da biste promijenili postavku</translation>
 <translation id="4146833061457621061">Pusti glazbu</translation>
 <translation id="4149156641122542261">Uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Postavke Tamne teme</translation>
 <translation id="4181841719683918333">Jezici</translation>
 <translation id="4195877955194704651">Automatski klikovi na gumb</translation>
 <translation id="4197790712631116042">Isključeno</translation>
 <translation id="4212472694152630271">Prelazak na PIN</translation>
 <translation id="4215497585250573029">VPN postavke</translation>
 <translation id="4217571870635786043">Diktat</translation>
+<translation id="4229328187280698237">Prelazak na način tableta</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Prikaz postavki obavijesti. Obavijesti su isključene</translation>
 <translation id="4269883910223712419">Administrator ovog uređaja ima sljedeće mogućnosti:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Potvrđivanje konfiguracije zaslona</translation>
 <translation id="5083553833479578423">Otključajte više značajki Asistenta.</translation>
 <translation id="5114495209940374989">Snimke zaslona</translation>
+<translation id="5123162024343028706">Pluta na vrhu</translation>
 <translation id="5136175204352732067">Povezana je neka druga tipkovnica</translation>
 <translation id="5168181903108465623">Dostupni su uređaji za emitiranje</translation>
 <translation id="5170568018924773124">Pokaži u mapi</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Isključeno</translation>
 <translation id="5302048478445481009">Jezik</translation>
 <translation id="5313326810920013265">Postavke Bluetootha</translation>
+<translation id="5314219114274263156">Napravljena je snimka zaslona</translation>
 <translation id="5331975486040154427">USB-C uređaj (stražnji lijevi priključak)</translation>
 <translation id="5379115545237091094">Previše pokušaja</translation>
 <translation id="5397578532367286026">Upravitelj (<ph name="MANAGER_EMAIL" />) može pregledavati upotrebu i povijest tog korisnika na web-lokaciji chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">OS Chromium</translation>
 <translation id="5837036133683224804">Zaustavite <ph name="ROUTE_TITLE" /> na uređaju <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Isključeno</translation>
+<translation id="5876666360658629066">Unos koda za roditeljski pristup</translation>
 <translation id="5887866489674258948">Tamni način</translation>
 <translation id="5895138241574237353">Ponovno pokreni</translation>
 <translation id="5901316534475909376">Shift + Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">Tijekom ovog ažuriranja zaslon će biti prazan dulje nego obično (do jednu minutu). Nemojte pritiskati tipku za uključivanje/isključivanje dok je ažuriranje u tijeku.</translation>
 <translation id="6527303717912515753">Podijeli</translation>
 <translation id="6528179044667508675">Ne ometaj</translation>
+<translation id="65320610082834431">Emojiji</translation>
 <translation id="6537270692134705506">Snimi zaslon</translation>
 <translation id="6537924328260219877">Jačina signala <ph name="SIGNAL_STRENGTH" />, baterija telefona <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Emitiranje na uređaj <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">Ako kliknete desnom tipkom ili dugo zadržite pritisak, Asistent će vam prikazati informacije kao što su definicija ili preračunavanje jedinica za vaš odabir.</translation>
 <translation id="7569509451529460200">Brajica i ChromeVox omogućeni</translation>
 <translation id="7579778809502851308">Snimka zaslona</translation>
+<translation id="7590883480672980941">Postavke unosa</translation>
 <translation id="7593891976182323525">Pretraživanje ili Shift</translation>
 <translation id="7600875258240007829">Pogledajte sve obavijesti</translation>
+<translation id="7618774594543487847">Neutralno</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Otvorite postavke mreže za <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (vlasnik)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, jačina signala <ph name="SIGNAL_STRENGTH" />, upravlja administrator</translation>
 <translation id="8639760480004882931">Preostalo <ph name="PERCENTAGE" /></translation>
 <translation id="8646417893960517480">Odbrojavanje: <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">Da biste dodali osobu, unesite kôd za roditeljski pristup za Family Link</translation>
 <translation id="8649101189709089199">Odabir za govor</translation>
 <translation id="8652175077544655965">Zatvaranje postavki</translation>
 <translation id="8653151467777939995">Prikaz postavki obavijesti. Obavijesti su uključene</translation>
 <translation id="8660331759611631213">Kvadratni korijen od 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, jačina signala <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Prikaz popisa mreža. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Način boje</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Priključen je punjač male snage</translation>
 <translation id="8683506306463609433">Aktivno je praćenje izvedbe</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">Produljenje zaslona</translation>
 <translation id="890616557918890486">Promijeni izvor</translation>
 <translation id="8909138438987180327">Baterija je na <ph name="PERCENTAGE" /> posto.</translation>
+<translation id="8913384980486163186">Tema (zadano)</translation>
+<translation id="8918251165865262378">Prelazak na način prijenosnog računala</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Google asistent ne govori taj jezik.</translation>
 <translation id="8936501819958976551">deaktivirano</translation>
diff --git a/ash/strings/ash_strings_is.xtb b/ash/strings/ash_strings_is.xtb
index fe5dc77..00d5172 100644
--- a/ash/strings/ash_strings_is.xtb
+++ b/ash/strings/ash_strings_is.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Mér leiðist</translation>
 <translation id="1104084341931202936">Sýna aðgengisstillingar</translation>
 <translation id="1104621072296271835">Tækin þín virka enn betur saman</translation>
+<translation id="1119348796022671382">Litastilling með þema notar liti sem dregnir eru úr veggfóðrinu til að gefa viðmótinu léttan litablæ.</translation>
 <translation id="112308213915226829">Fela hillu sjálfkrafa</translation>
 <translation id="1153356358378277386">Pöruð tæki</translation>
 <translation id="1175572348579024023">Fletta</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Kveikt</translation>
 <translation id="1419738280318246476">Opnaðu tækið til að framkvæma aðgerð tilkynningarinnar</translation>
 <translation id="1420408895951708260">Kveikja/slökkva á næturljósi. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Skjámynd tekin og vistuð á klippiborð</translation>
 <translation id="1426410128494586442">Já</translation>
 <translation id="1455242230282523554">Sýna tungumálastillingar</translation>
 <translation id="1460620680449458626">Slökkt er á hljóði.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Hægt er að slökkva á rofaaðgangi í Stillingar &gt; Aðgengi.</translation>
 <translation id="1654477262762802994">Hefja raddfyrirspurn</translation>
 <translation id="1665244008632896072">Kveikja/slökkva á dökkri stillingu. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Hlutlaus litastilling notar ekki liti sem dregnir eru úr veggfóðrinu en skiptir þeim þess í stað út fyrir sett af hlutlausum ljósum eða dökkum litbrigðum.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> eftir</translation>
 <translation id="1698080062160024910"><ph name="TOTAL_TIME" /> teljari · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6-vistfang: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Einóma hljóð</translation>
 <translation id="3009178788565917040">Úttak</translation>
 <translation id="3033545621352269033">Kveikt</translation>
+<translation id="3038571455154067151">Til að skrá þig inn skaltu slá inn aðgangskóða foreldris fyrir Family Link</translation>
 <translation id="3051128274746680507">Prófíll stýrða notandans þíns verður brátt fjarlægður. Skráðu þig inn til að fá frekari upplýsingar.</translation>
 <translation id="3055162170959710888">Þú hefur notað þetta tæki í <ph name="USED_TIME" /> í dag</translation>
 <translation id="3076778413190775903">Stöðubakki, klukkan er <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Reiknar...</translation>
 <translation id="3977512764614765090">Rafhlaða í <ph name="PERCENTAGE" />% og í hleðslu.</translation>
 <translation id="3995138139523574647">USB-C tæki (tengi hægra megin að aftan)</translation>
+<translation id="40062176907008878">Handskrift</translation>
 <translation id="4017989525502048489">Laser-bendill</translation>
 <translation id="4021716437419160885">Fletta niður</translation>
 <translation id="4028481283645788203">Krafa er um aðgangsorð fyrir aukið öryggi</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Ef þú vilt sjá tilkynningar á lásskjánum skaltu taka úr lás til að breyta stillingunni</translation>
 <translation id="4146833061457621061">Spila tónlist</translation>
 <translation id="4149156641122542261"><ph name="DEVICE_TYPE" /> er stjórnað af <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Stillingar dökks þema</translation>
 <translation id="4181841719683918333">Tungumál</translation>
 <translation id="4195877955194704651">Hnappur fyrir sjálfvirka smelli</translation>
 <translation id="4197790712631116042">Slökkt</translation>
 <translation id="4212472694152630271">Skipta yfir í PIN-númer</translation>
 <translation id="4215497585250573029">VPN-stillingar</translation>
 <translation id="4217571870635786043">Upplestur</translation>
+<translation id="4229328187280698237">Skipta yfir í spjaldtölvustillingu</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Sýna tilkynningastillingar. Slökkt er á tilkynningum</translation>
 <translation id="4269883910223712419">Stjórnandi þessa tækis getur:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Staðfesta skjástillingu</translation>
 <translation id="5083553833479578423">Opnaðu fyrir fleiri eiginleika hjálparans.</translation>
 <translation id="5114495209940374989">Skjámyndir</translation>
+<translation id="5123162024343028706">Fljóta efst</translation>
 <translation id="5136175204352732067">Annað lyklaborð tengt</translation>
 <translation id="5168181903108465623">Útsendingartæki í boði</translation>
 <translation id="5170568018924773124">Sýna í möppu</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Slökkt</translation>
 <translation id="5302048478445481009">Tungumál</translation>
 <translation id="5313326810920013265">Bluetooth-stillingar</translation>
+<translation id="5314219114274263156">Skjáupptaka tekin upp</translation>
 <translation id="5331975486040154427">USB-C tæki (tengi vinstra megin að aftan)</translation>
 <translation id="5379115545237091094">Of margar tilraunir</translation>
 <translation id="5397578532367286026">Stjórnandinn (<ph name="MANAGER_EMAIL" />) getur farið yfir notkun og feril þessa notanda á chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">Stöðva <ph name="ROUTE_TITLE" /> í <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Slökkt</translation>
+<translation id="5876666360658629066">Sláðu inn kóða foreldris</translation>
 <translation id="5887866489674258948">Dökk stilling</translation>
 <translation id="5895138241574237353">Endurræsa</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">Það mun slokkna á skjánum lengur en vanalega (í allt að mínútu) meðan á þessari uppfærslu stendur. Ekki ýta á aflrofann meðan á uppfærslunni stendur.</translation>
 <translation id="6527303717912515753">Deila</translation>
 <translation id="6528179044667508675">Ónáðið ekki</translation>
+<translation id="65320610082834431">Emoji-tákn</translation>
 <translation id="6537270692134705506">Taka mynd af skjá</translation>
 <translation id="6537924328260219877"><ph name="SIGNAL_STRENGTH" /> sendistyrkur, <ph name="BATTERY_STATUS" /> hleðsla á rafhlöðu símans</translation>
 <translation id="6542521951477560771">Sendir út til <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">Þegar þú hægrismellir eða heldur inni sýnir hjálparinn þér upplýsingar á borð við skilgreiningu eða umbreytingu mælieingina fyrir valið þitt.</translation>
 <translation id="7569509451529460200">Kveikt á blindraletri og ChromeVox</translation>
 <translation id="7579778809502851308">Skjámyndataka</translation>
+<translation id="7590883480672980941">Inntaksstillingar</translation>
 <translation id="7593891976182323525">Leit eða Shift</translation>
 <translation id="7600875258240007829">Sjá allar tilkynningar</translation>
+<translation id="7618774594543487847">Hlutlaust</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Opna stillingar fyrir <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (eigandi)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, sendistyrkur <ph name="SIGNAL_STRENGTH" />, stjórnað af kerfisstjóra</translation>
 <translation id="8639760480004882931"><ph name="PERCENTAGE" /> eftir</translation>
 <translation id="8646417893960517480"><ph name="TOTAL_TIME" /> teljari</translation>
+<translation id="8647931990447795414">Til að bæta við einstaklingi skaltu slá inn aðgangskóða foreldris fyrir Family Link</translation>
 <translation id="8649101189709089199">Textaupplestur</translation>
 <translation id="8652175077544655965">Loka stillingum</translation>
 <translation id="8653151467777939995">Sýna tilkynningastillingar. Kveikt er á tilkynningum</translation>
 <translation id="8660331759611631213">Kvaðratrótin af 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, sendistyrkur <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Sýna lista yfir netkerfi. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Litastilling</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Afllítið hleðslutæki tengt</translation>
 <translation id="8683506306463609433">Afkastarakning virk</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">Framlengir skjá</translation>
 <translation id="890616557918890486">Breyta uppruna</translation>
 <translation id="8909138438987180327">Rafhlaða í <ph name="PERCENTAGE" />%.</translation>
+<translation id="8913384980486163186">Þema (sjálfgefið)</translation>
+<translation id="8918251165865262378">Skipta yfir í fartölvustillingu</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Google hjálparinn talar ekki þetta tungumál</translation>
 <translation id="8936501819958976551">óvirkt</translation>
diff --git a/ash/strings/ash_strings_lo.xtb b/ash/strings/ash_strings_lo.xtb
index 0c7e60d..556369e5 100644
--- a/ash/strings/ash_strings_lo.xtb
+++ b/ash/strings/ash_strings_lo.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">ຂ້ອຍເບື່ອຫຼາຍ</translation>
 <translation id="1104084341931202936">ສະແດງການຕັ້ງຄ່າການຊ່ວຍເຂົ້າເຖິງ</translation>
 <translation id="1104621072296271835">ອຸປະກອນຂອງທ່ານໃຊ້ໄດ້ດີຍິ່ງຂຶ້ນຮ່ວມກັນ</translation>
+<translation id="1119348796022671382">ໂໝດສີທີ່ມີຮູບແບບສີສັນໃຊ້ສີທີ່ດຶງມາຈາກຮູບພື້ນຫຼັງເພື່ອເຕີມສີໃຫ້ໜ້າຈໍເຊື່ອມຕໍ່ຜູ້ໃຊ້ເລັກນ້ອຍ.</translation>
 <translation id="112308213915226829">ເຊື່ອງຖ້ານອັດຕະໂນມັດ</translation>
 <translation id="1153356358378277386">ອຸປະກອນທີ່ຈັບຄູ່ກັນແລ້ວ</translation>
 <translation id="1175572348579024023">ເລື່ອນ</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">ເປີດ</translation>
 <translation id="1419738280318246476">ປົດລັອກອຸປະກອນເພື່ອເຮັດການດຳເນີນການແຈ້ງເຕືອນ</translation>
 <translation id="1420408895951708260">ປິດເປີດແສງກາງຄືນ. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">ຖ່າຍຮູບໜ້າຈໍ ແລະ ບັນທຶກໄວ້ໃນຄລິບບອດແລ້ວ</translation>
 <translation id="1426410128494586442">ແມ່ນແລ້ວ</translation>
 <translation id="1455242230282523554">ສະແດງການຕັ້ງຄ່າພາສາ</translation>
 <translation id="1460620680449458626">ລະດັບສຽງປິດຢູ່.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">ປິດການນຳໃຊ້ການເຂົ້າເຖິງດ້ວຍປຸ່ມກົດໄດ້ໃນການຕັ້ງຄ່າ &gt; ການຊ່ວຍເຂົ້າເຖິງ.</translation>
 <translation id="1654477262762802994">ເລີ່ມຄຳຊອກຫາດ້ວຍສຽງ</translation>
 <translation id="1665244008632896072">ສະຫຼັບໂໝດມືດ. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">ໂໝດສີປານກາງບໍ່ໃຊ້ສີທີ່ດຶງມາກຈາກຮູບພື້ນຫຼັງ, ແຕ່ຈະໃຊ້ໂທນສີທີ່ແຈ້ງ ຫຼື ເຂັ້ມປານກາງແທນສີເຫຼົ່ານັ້ນ.</translation>
 <translation id="1677472565718498478">ຍັງເຫຼືອ <ph name="TIME" /></translation>
 <translation id="1698080062160024910">ໂມງນັບຖອຍຫຼັງ <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">ທີ່ຢູ່ IPv6: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">ສຽງໂມໂນ</translation>
 <translation id="3009178788565917040">ຜົນອອກມາ</translation>
 <translation id="3033545621352269033">ເປີດ</translation>
+<translation id="3038571455154067151">ເພື່ອເຂົ້າສູ່ລະບົບ, ກະລຸນາປ້ອນ ລະຫັດການເຂົ້າເຖິງຂອງພໍ່ແມ່ໃນ Family Link ຂອງທ່ານ</translation>
 <translation id="3051128274746680507">ລະບົບຈະລຶບໂປຣໄຟລ໌ຜູ້ໃຊ້ທີ່ມີການຄວບຄຸມເບິ່ງແຍງອອກ ເຂົ້າສູ່ລະບົບເພື່ອຮຽນຮູ້ເພີ່ມເຕີມ.</translation>
 <translation id="3055162170959710888">ທ່ານໄດ້ໃຊ້ອຸປະກອນນີ້ເປັນເວລາ <ph name="USED_TIME" /> ໃນມື້ນີ້</translation>
 <translation id="3076778413190775903">ຖາດສະຖານະ, ເວລາ <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">ກໍາລັງຄິດ​ໄລ່...</translation>
 <translation id="3977512764614765090">ແບັດເຕີຣີຢູ່ທີ່ <ph name="PERCENTAGE" />% ແລະ ກຳລັງສາກ.</translation>
 <translation id="3995138139523574647">ອຸປະກອນ USB-C (ຊ່ອງທາງຫຼັງເບື້ອງຂວາ)</translation>
+<translation id="40062176907008878">ການຂຽນດ້ວຍມື</translation>
 <translation id="4017989525502048489">ເຄື່ອງພິມເລເຊີ</translation>
 <translation id="4021716437419160885">ເລື່ອນລົງ</translation>
 <translation id="4028481283645788203">ຈຳເປັນຕ້ອງມີລະຫັດຜ່ານເພື່ອຄວາມປອດໄພຍິ່ງຂຶ້ນ</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">ເພື່ອເບິ່ງການແຈ້ງເຕືອນໃນໜ້າຈໍລັອກຂອງທ່ານ, ກະລຸນາປົດລັອກເພື່ອປ່ຽນການຕັ້ງຄ່າ</translation>
 <translation id="4146833061457621061">ຫຼິ້ນເພງ</translation>
 <translation id="4149156641122542261"><ph name="DEVICE_TYPE" /> ທີ່ຖືກຈັດການໂດຍ <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">ການຕັ້ງຄ່າຮູບແບບສີສັນມືດ</translation>
 <translation id="4181841719683918333">ພາສາ</translation>
 <translation id="4195877955194704651">ປຸ່ມຄລິກອັດຕະໂນມັດ</translation>
 <translation id="4197790712631116042">ປິດ</translation>
 <translation id="4212472694152630271">ປ່ຽນໄປໃຊ້ PIN</translation>
 <translation id="4215497585250573029">ການຕັ້ງຄ່າ VPN</translation>
 <translation id="4217571870635786043">ການພິມຕາມຄຳບອກ</translation>
+<translation id="4229328187280698237">ປ່ຽນເປັນໂໝດແທັບເລັດ</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">ສະແດງການຕັ້ງຄ່າການແຈ້ງເຕືອນ. ການແຈ້ງເຕືອນປິດຢູ່</translation>
 <translation id="4269883910223712419">ຜູ້ເບິ່ງແແຍງລະບົບຂອງອຸປະກອນີ້ສາມາດ:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">ຢືນຢັນການຕັ້ງຄ່າຈໍສະແດງຜົນ</translation>
 <translation id="5083553833479578423">ປົດລັອກຄຸນສົມບັດເພີ່ມເຕີມຂອງຜູ້ຊ່ວຍ.</translation>
 <translation id="5114495209940374989">ຮູບໜ້າຈໍ</translation>
+<translation id="5123162024343028706">ລອຍຢູ່ທາງເທິງ</translation>
 <translation id="5136175204352732067">ເຊື່ອມຕໍ່ແປ້ນພິມອື່ນແລ້ວ</translation>
 <translation id="5168181903108465623">ອຸປະກອນຄາສທ໌ທີ່ມີໃຫ້</translation>
 <translation id="5170568018924773124">ສະ​ແດງ​ຢູ່​ໃນ​ໂຟລ​ເດີ</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">ປິດ</translation>
 <translation id="5302048478445481009">ພາ​ສາ</translation>
 <translation id="5313326810920013265">ຕັ້ງຄ່າ Bluetooth</translation>
+<translation id="5314219114274263156">ເຮັດການບັນທຶກໜ້າຈໍແລ້ວ</translation>
 <translation id="5331975486040154427">ອຸ​ປະ​ກອນ USB-C (​ຜອດ​ດ້ານ​ຫຼັງເບື້ອງຊ້າຍ)</translation>
 <translation id="5379115545237091094">ພະຍາຍາມຫຼາຍເທື່ອເກີນໄປ</translation>
 <translation id="5397578532367286026">ສາມາດທົບທວນເບິ່ງການ​​ໃຊ້​ ແລະ​ປະ​ຫວັດ​ຂອງ​ຜູ້​ໃຊ້​ຄົນນີ້​ໄດ້ດ້ວຍຕົວ​ຈັດ​ການ (<ph name="MANAGER_EMAIL" />) ຢູ່ທີ່ chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">ຢຸດ <ph name="ROUTE_TITLE" /> ໃນ <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">ປິດ</translation>
+<translation id="5876666360658629066">ປ້ອນລະຫັດພໍ່ແມ່</translation>
 <translation id="5887866489674258948">ໂໝດມືດ</translation>
 <translation id="5895138241574237353">ເລີ່ມຕົ້ນໃໝ່</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">ໜ້າຈໍຂອງທ່ານຈະບໍ່ສະແດງຜົນເປັນເວລາດົນກວ່າປົກກະຕິ (ສູງສຸດໜຶ່ງນາທີ) ໃນລະຫວ່າງການອັບເດດນີ້. ກະລຸນາຢ່າກົດປຸ່ມເປີດປິດໃນຂະນະທີ່ການອັບເດດພວມດຳເນີນຢູ່.</translation>
 <translation id="6527303717912515753">ແຊຣ໌</translation>
 <translation id="6528179044667508675">ຢ່າລົບ​ກວນ</translation>
+<translation id="65320610082834431">ອີໂມຈິ</translation>
 <translation id="6537270692134705506">ຖ່າຍຮູບໜ້າຈໍ</translation>
 <translation id="6537924328260219877">ຄວາມແຮງສັນຍານ <ph name="SIGNAL_STRENGTH" />, ແບັດເຕີຣີໂທລະສັບ <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">ກໍາລັງສົ່ງສັນຍານຫາ <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">ດ້ວຍການຄລິກຂວາ ຫຼື ກົດຄ້າງໄວ້, ຜູ້ຊ່ວຍຈະສະແດງຂໍ້ມູນ ເຊັ່ນ: ຄຳນິຍາມ ຫຼື ການປ່ຽນຫົວໜ່ວຍສຳລັບການເລືອກຂອງທ່ານ.</translation>
 <translation id="7569509451529460200">ເປີດນຳໃຊ້ Braille ແລະ ChromeVox ແລ້ວ</translation>
 <translation id="7579778809502851308">ການຖ່າຍຮູບໜ້າຈໍ</translation>
+<translation id="7590883480672980941">ການຕັ້ງຄ່າການປ້ອນຂໍ້ມູນ</translation>
 <translation id="7593891976182323525">ຄົ້ນ​ຫາ ຫຼື Shift</translation>
 <translation id="7600875258240007829">ເບິ່ງການແຈ້ງເຕືອນທັງໝົດ</translation>
+<translation id="7618774594543487847">ປານກາງ</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">ເປີດການຕັ້ງຄ່າສຳລັບ <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (ເຈົ້າ​ຂອງ​)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, ຄວາມແຮງສັນຍານ <ph name="SIGNAL_STRENGTH" />, ຈັດການໂດຍຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ</translation>
 <translation id="8639760480004882931">ຍັງ​ເຫຼືອ <ph name="PERCENTAGE" /></translation>
 <translation id="8646417893960517480">ໂມງນັບຖອຍຫຼັງ <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">ເພື່ອເພີ່ມຄົນ, ກະລຸນາປ້ອນລະຫັດການເຂົ້າເຖິງ Family Link ຂອງພໍ່ແມ່ທ່ານ</translation>
 <translation id="8649101189709089199">ເລືອກເພື່ອເວົ້າ</translation>
 <translation id="8652175077544655965">ປິດການຕັ້ງຄ່າ</translation>
 <translation id="8653151467777939995">ສະແດງການຕັ້ງຄ່າການແຈ້ງເຕືອນ. ການແຈ້ງເຕືອນເປີດຢູ່</translation>
 <translation id="8660331759611631213">ຮາກຂັ້ນສອງຂອງ 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, ຄວາມແຮງສັນຍານ <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">ສະແດງລາຍການເຄືອຂ່າຍ. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">ຮູບແບບສີ</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">ເຄື່ອງສາກ​ແບບ​ໃຊ້ໄຟຕໍ່າເຊື່ອມຕໍ່ແລ້ວ</translation>
 <translation id="8683506306463609433">ການຕິດຕາມປະສິດທິພາບເປີດນຳໃຊ້ຢູ່</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">ກໍາລັງຂະ​ຫຍາຍຫນ້າ​ຈໍ​</translation>
 <translation id="890616557918890486">ປ່ຽນແຫຼ່ງ</translation>
 <translation id="8909138438987180327">ແບັດເຕີຣີຢູ່ທີ່ <ph name="PERCENTAGE" /> ເປີເຊັນ.</translation>
+<translation id="8913384980486163186">ມີຮູບແບບສີສັນ (ຄ່າເລີ່ມຕົ້ນ)</translation>
+<translation id="8918251165865262378">ປ່ຽນເປັນໂໝດແລັບທັອບ</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">ຜູ້ຊ່ວຍ Google ເວົ້າພາສານີ້ບໍ່ໄດ້.</translation>
 <translation id="8936501819958976551">ປິດນຳໃຊ້ແລ້ວ</translation>
diff --git a/ash/strings/ash_strings_pl.xtb b/ash/strings/ash_strings_pl.xtb
index 97a93dc2..9a41f7a 100644
--- a/ash/strings/ash_strings_pl.xtb
+++ b/ash/strings/ash_strings_pl.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Nudzi mi się</translation>
 <translation id="1104084341931202936">Pokaż ustawienia ułatwień dostępu</translation>
 <translation id="1104621072296271835">Razem Twoje urządzenia mogą jeszcze więcej</translation>
+<translation id="1119348796022671382">W trybie kolorów z motywu interfejs jest lekko pokolorowany przy użyciu kolorów wyodrębnionych z tapety.</translation>
 <translation id="112308213915226829">Autoukrywanie półki</translation>
 <translation id="1153356358378277386">Sparowane urządzenia</translation>
 <translation id="1175572348579024023">Przewijanie</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Włączono</translation>
 <translation id="1419738280318246476">Odblokuj urządzenie, by zareagować na powiadomienie</translation>
 <translation id="1420408895951708260">Włącz lub wyłącz Podświetlenie nocne. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Utworzono zrzut ekranu i zapisano go w schowku</translation>
 <translation id="1426410128494586442">Tak</translation>
 <translation id="1455242230282523554">Pokaż ustawienia języka</translation>
 <translation id="1460620680449458626">Dźwięk jest wyciszony.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Funkcję Switch Access możesz wyłączyć, otwierając Ustawienia &gt; Ułatwienia dostępu.</translation>
 <translation id="1654477262762802994">Rozpocznij zapytanie głosowe</translation>
 <translation id="1665244008632896072">Przełącz tryb ciemny. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Tryb koloru neutralnego nie wyświetla kolorów wyodrębnionych z tapety. Zamiast nich używa jasnych i ciemnych odcieni stonowanych neutralnie.</translation>
 <translation id="1677472565718498478">Pozostało <ph name="TIME" /></translation>
 <translation id="1698080062160024910">Minutnik <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">Adres IPv6: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Dźwięk mono</translation>
 <translation id="3009178788565917040">Urządzenie wyjściowe</translation>
 <translation id="3033545621352269033">Włączono</translation>
+<translation id="3038571455154067151">Aby się zalogować, wpisz kod dostępu Family Link rodzica</translation>
 <translation id="3051128274746680507">Profil nadzorowanego przez Ciebie użytkownika zostanie wkrótce usunięty. Zaloguj się, by dowiedzieć się więcej.</translation>
 <translation id="3055162170959710888">Urządzenie było dziś przez Ciebie używane przez <ph name="USED_TIME" /></translation>
 <translation id="3076778413190775903">Zasobnik stanu, godzina <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Obliczanie...</translation>
 <translation id="3977512764614765090">Naładowanie baterii: <ph name="PERCENTAGE" />%. Trwa ładowanie.</translation>
 <translation id="3995138139523574647">Urządzenie USB-C (tylny port na prawym boku)</translation>
+<translation id="40062176907008878">Pismo odręczne</translation>
 <translation id="4017989525502048489">Wskaźnik laserowy</translation>
 <translation id="4021716437419160885">Przewiń w dół</translation>
 <translation id="4028481283645788203">Dla większego bezpieczeństwa musisz podać hasło</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Aby wyświetlać powiadomienia na ekranie blokady, odblokuj ekran i zmień ustawienie</translation>
 <translation id="4146833061457621061">Włącz muzykę</translation>
 <translation id="4149156641122542261">Urządzenie <ph name="DEVICE_TYPE" /> zarządzane przez <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Ustawienia trybu ciemnego</translation>
 <translation id="4181841719683918333">Języki</translation>
 <translation id="4195877955194704651">Automatyczne klikanie przycisku</translation>
 <translation id="4197790712631116042">Wyłączono</translation>
 <translation id="4212472694152630271">Zmień na PIN</translation>
 <translation id="4215497585250573029">Ustawienia sieci VPN</translation>
 <translation id="4217571870635786043">Dyktowanie</translation>
+<translation id="4229328187280698237">Przełącz na tryb tabletu</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Pokaż ustawienia powiadomień. Powiadomienia są wyłączone.</translation>
 <translation id="4269883910223712419">Administrator tego urządzenia może:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Potwierdź konfigurację wyświetlacza</translation>
 <translation id="5083553833479578423">Poznaj więcej funkcji Asystenta.</translation>
 <translation id="5114495209940374989">Zrzuty ekranu</translation>
+<translation id="5123162024343028706">Pokaż na wierzchu</translation>
 <translation id="5136175204352732067">Podłączono inną klawiaturę</translation>
 <translation id="5168181903108465623">Dostępne są urządzenia przesyłające</translation>
 <translation id="5170568018924773124">Pokaż w folderze</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Wyłączono</translation>
 <translation id="5302048478445481009">Język</translation>
 <translation id="5313326810920013265">Ustawienia Bluetooth</translation>
+<translation id="5314219114274263156">Nagrano ekran</translation>
 <translation id="5331975486040154427">Urządzenie USB-C (tylny port na lewym boku)</translation>
 <translation id="5379115545237091094">Zbyt wiele prób</translation>
 <translation id="5397578532367286026">Działania i historia tego użytkownika mogą być sprawdzane przez menedżera (<ph name="MANAGER_EMAIL" />) na chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">System operacyjny Chromium</translation>
 <translation id="5837036133683224804">Zatrzymaj usługę <ph name="ROUTE_TITLE" /> na urządzeniu <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Wyłączone</translation>
+<translation id="5876666360658629066">Wpisz kod rodzica</translation>
 <translation id="5887866489674258948">Tryb ciemny</translation>
 <translation id="5895138241574237353">Uruchom ponownie</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">Podczas aktualizacji ekran wygaśnie na dłuższą chwilę (do minuty). W tym czasie nie naciskaj przycisku zasilania.</translation>
 <translation id="6527303717912515753">Udostępnij</translation>
 <translation id="6528179044667508675">Nie przeszkadzać</translation>
+<translation id="65320610082834431">Emotikony</translation>
 <translation id="6537270692134705506">Zrzut całego ekranu</translation>
 <translation id="6537924328260219877">Siła sygnału: <ph name="SIGNAL_STRENGTH" />, bateria telefonu: <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Przesyłam do: <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">Gdy klikniesz prawym przyciskiem lub przytrzymasz zaznaczony na ekranie fragment, Asystent poda Ci związane z nim informacje, takie jak definicja lub przeliczenie jednostek.</translation>
 <translation id="7569509451529460200">Włączono Braille'a i ChromeVox</translation>
 <translation id="7579778809502851308">Zrzut ekranu</translation>
+<translation id="7590883480672980941">Ustawienia wprowadzania</translation>
 <translation id="7593891976182323525">Szukaj lub Shift</translation>
 <translation id="7600875258240007829">Zobacz wszystkie powiadomienia</translation>
+<translation id="7618774594543487847">Neutralny</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Otwórz ustawienia sieci <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (właściciel)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, siła sygnału: <ph name="SIGNAL_STRENGTH" />, zarządzana przez administratora</translation>
 <translation id="8639760480004882931">Pozostało <ph name="PERCENTAGE" /></translation>
 <translation id="8646417893960517480">Minutnik <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">Aby dodać osobę, wpisz kod dostępu Family Link rodzica</translation>
 <translation id="8649101189709089199">Przeczytaj na głos</translation>
 <translation id="8652175077544655965">Zamknij ustawienia</translation>
 <translation id="8653151467777939995">Pokaż ustawienia powiadomień. Powiadomienia są włączone</translation>
 <translation id="8660331759611631213">Pierwiastek kwadratowy z 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, siła sygnału: <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Pokaż listę sieci. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Tryb koloru</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Podłączono ładowarkę o małej mocy</translation>
 <translation id="8683506306463609433">Śledzenie wydajności jest aktywne</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">Rozszerzony ekran</translation>
 <translation id="890616557918890486">Zmień źródło</translation>
 <translation id="8909138438987180327">Poziom naładowania baterii: <ph name="PERCENTAGE" />.</translation>
+<translation id="8913384980486163186">Z motywu (domyślnie)</translation>
+<translation id="8918251165865262378">Przełącz na tryb laptopa</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Asystent Google nie mówi w tym języku.</translation>
 <translation id="8936501819958976551">dezaktywowana</translation>
diff --git a/ash/strings/ash_strings_pt-PT.xtb b/ash/strings/ash_strings_pt-PT.xtb
index 7612499..c517171 100644
--- a/ash/strings/ash_strings_pt-PT.xtb
+++ b/ash/strings/ash_strings_pt-PT.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Estou aborrecido</translation>
 <translation id="1104084341931202936">Mostrar definições de acessibilidade</translation>
 <translation id="1104621072296271835">Os seus dispositivos funcionam ainda melhor juntos</translation>
+<translation id="1119348796022671382">O modo de cores temáticas utiliza cores extraídas da sua imagem de fundo para colorir levemente a interface.</translation>
 <translation id="112308213915226829">Ocultar prateleira automaticamente</translation>
 <translation id="1153356358378277386">Dispositivos sincronizados</translation>
 <translation id="1175572348579024023">Deslocar</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Ativada</translation>
 <translation id="1419738280318246476">Desbloqueie o dispositivo para realizar a ação de notificação.</translation>
 <translation id="1420408895951708260">Ativar/desativar Luz noturna. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Captura de ecrã tirada e guardada na área de transferência</translation>
 <translation id="1426410128494586442">Sim</translation>
 <translation id="1455242230282523554">Mostrar definições de idioma</translation>
 <translation id="1460620680449458626">O volume está desativado.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">O acesso por comutador pode ser desativado em Definições &gt; Acessibilidade.</translation>
 <translation id="1654477262762802994">Iniciar uma consulta de voz</translation>
 <translation id="1665244008632896072">Ativar/desativar modo escuro. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">O modo de cores neutras não utiliza cores extraídas da imagem de fundo: substitui-as por um conjunto de tons claros ou escuros.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> restante(s)</translation>
 <translation id="1698080062160024910">Temporizador de <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">Endereço IPv6: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Áudio mono</translation>
 <translation id="3009178788565917040">Saída</translation>
 <translation id="3033545621352269033">Ativada</translation>
+<translation id="3038571455154067151">Para iniciar sessão, introduza o código de acesso parental do Family Link</translation>
 <translation id="3051128274746680507">O seu perfil de utilizador supervisionado será removido brevemente. Inicie sessão para saber mais.</translation>
 <translation id="3055162170959710888">Utilizou este dispositivo durante <ph name="USED_TIME" /> hoje.</translation>
 <translation id="3076778413190775903">Tabuleiro do estado, hora <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">A calcular...</translation>
 <translation id="3977512764614765090">A bateria está <ph name="PERCENTAGE" />% cheia e a carregar.</translation>
 <translation id="3995138139523574647">Dispositivo USB-C (porta traseira do lado direito)</translation>
+<translation id="40062176907008878">Escrita manual</translation>
 <translation id="4017989525502048489">Ponteiro de laser</translation>
 <translation id="4021716437419160885">Deslocar para baixo</translation>
 <translation id="4028481283645788203">É necessária uma palavra-passe para uma maior segurança.</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Para ver notificações no ecrã de bloqueio, desbloqueie o mesmo para alterar a definição</translation>
 <translation id="4146833061457621061">Tocar música</translation>
 <translation id="4149156641122542261"><ph name="DEVICE_TYPE" /> gerido por <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Definições do tema escuro</translation>
 <translation id="4181841719683918333">Idiomas</translation>
 <translation id="4195877955194704651">Botão de cliques automáticos</translation>
 <translation id="4197790712631116042">Desativado</translation>
 <translation id="4212472694152630271">Mudar para PIN</translation>
 <translation id="4215497585250573029">Definições da VPN</translation>
 <translation id="4217571870635786043">Ditado</translation>
+<translation id="4229328187280698237">Mude para o modo de tablet</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Mostrar definições de notificação. As notificações estão desativadas</translation>
 <translation id="4269883910223712419">O administrador deste dispositivo pode:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Confirme a configuração do ecrã</translation>
 <translation id="5083553833479578423">Desbloqueie mais funcionalidades do Assistente.</translation>
 <translation id="5114495209940374989">Capturas de ecrã</translation>
+<translation id="5123162024343028706">Apresentar em cima</translation>
 <translation id="5136175204352732067">Teclado diferente ligado</translation>
 <translation id="5168181903108465623">Dispositivos de transmissão disponíveis</translation>
 <translation id="5170568018924773124">Mostrar numa pasta</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Desativada</translation>
 <translation id="5302048478445481009">Idioma</translation>
 <translation id="5313326810920013265">Definições de Bluetooth</translation>
+<translation id="5314219114274263156">Gravação de ecrã captada</translation>
 <translation id="5331975486040154427">Dispositivo USB-C (porta traseira do lado esquerdo)</translation>
 <translation id="5379115545237091094">Demasiadas tentativas</translation>
 <translation id="5397578532367286026">A utilização e o histórico deste utilizador podem ser consultados pelo gestor (<ph name="MANAGER_EMAIL" />) em chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">SO Chromium</translation>
 <translation id="5837036133683224804">Parar o <ph name="ROUTE_TITLE" /> no recetor <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Desativado</translation>
+<translation id="5876666360658629066">Introduza o código parental</translation>
 <translation id="5887866489674258948">Modo escuro</translation>
 <translation id="5895138241574237353">Reiniciar</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">O ecrã vai ficar em branco durante mais tempo do que o habitual (até um minuto) durante esta atualização. Não prima o botão ligar/desligar enquanto a atualização estiver em curso.</translation>
 <translation id="6527303717912515753">Partilhar</translation>
 <translation id="6528179044667508675">Não incomodar</translation>
+<translation id="65320610082834431">Emojis</translation>
 <translation id="6537270692134705506">Capturar ecrã</translation>
 <translation id="6537924328260219877">Intensidade do sinal: <ph name="SIGNAL_STRENGTH" />, bateria do telemóvel: <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">A transmitir para <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">Ao clicar com o botão direito do rato ou ao manter o botão premido, o Assistente mostra-lhe informações como a definição ou a conversão de unidades para a sua seleção.</translation>
 <translation id="7569509451529460200">O braille e o ChromeVox estão ativados</translation>
 <translation id="7579778809502851308">Captura de ecrã</translation>
+<translation id="7590883480672980941">Definições de introdução</translation>
 <translation id="7593891976182323525">Pesquisar ou Shift</translation>
 <translation id="7600875258240007829">Ver todas as notificações</translation>
+<translation id="7618774594543487847">Neutro</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" /> °F</translation>
 <translation id="7642647758716480637">Abrir as definições da rede <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (proprietário)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, intensidade do sinal: <ph name="SIGNAL_STRENGTH" />, gerida pelo administrador</translation>
 <translation id="8639760480004882931"><ph name="PERCENTAGE" /> restante</translation>
 <translation id="8646417893960517480">Temporizador de <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">Para adicionar uma pessoa, introduza o código de acesso parental do Family Link</translation>
 <translation id="8649101189709089199">Selecionar para falar</translation>
 <translation id="8652175077544655965">Fechar definições</translation>
 <translation id="8653151467777939995">Mostrar definições de notificação. As notificações estão ativadas</translation>
 <translation id="8660331759611631213">Raiz quadrada de 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, intensidade do sinal: <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Mostrar lista de redes. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Modo de cor</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Carregador de baixo consumo ligado</translation>
 <translation id="8683506306463609433">O rastreio do desempenho está ativo.</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">Ecrã alargado</translation>
 <translation id="890616557918890486">Alterar origem</translation>
 <translation id="8909138438987180327">A bateria está a <ph name="PERCENTAGE" /> por cento.</translation>
+<translation id="8913384980486163186">Temáticas (predefinição)</translation>
+<translation id="8918251165865262378">Mude para o modo de portátil</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">O Assistente Google não fala este idioma.</translation>
 <translation id="8936501819958976551">desativada</translation>
diff --git a/ash/strings/ash_strings_si.xtb b/ash/strings/ash_strings_si.xtb
index 6c969356..23c86b1 100644
--- a/ash/strings/ash_strings_si.xtb
+++ b/ash/strings/ash_strings_si.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">මට කම්මැලියි</translation>
 <translation id="1104084341931202936">ප්‍රවේශ්‍යතා සැකසීම් පෙන්වන්න</translation>
 <translation id="1104621072296271835">ඔබේ උපාංග එක්ව වඩා හොඳින් වැඩ කරයි</translation>
+<translation id="1119348796022671382">තේමා වර්ණ ප්‍රකාරය අතුරු මුහුණත ළාවට වර්ණ ගැන්වීම සඳහා ඔබේ වෝල්ලපේපරයෙන් නිස්සාරණය කළ වර්ණ භාවිත කරයි.</translation>
 <translation id="112308213915226829">ස්වයං සැඟවුම් රාක්කය</translation>
 <translation id="1153356358378277386">යුගලිත උපාංග</translation>
 <translation id="1175572348579024023">අනුචලන කරන්න</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">සක්‍රියයි</translation>
 <translation id="1419738280318246476">ක්‍රියාකාරකම් දැනුම්දීම ඉටු කිරීමට උපාංගය අගුළු අරින්න</translation>
 <translation id="1420408895951708260">රාත්‍රී ආලෝකය මාරු කරන්න. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">තිර රුව ගන්නා ලද අතර පසුරු පුවරුවට පිටපත් කරන ලදි</translation>
 <translation id="1426410128494586442">ඔව්</translation>
 <translation id="1455242230282523554">භාෂා සැකසීම් පෙන්වන්න</translation>
 <translation id="1460620680449458626">හඬ නිහඬයි.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">ප්‍රවේශය මාරු කිරීම සැකසීම් &gt; ප්‍රවේශ්‍යතාව තුළ අබල කළ හැක.</translation>
 <translation id="1654477262762802994">හඬ විමසුමක් අරඹන්න</translation>
 <translation id="1665244008632896072">අඳුරු ප්‍රකාරය ටොගල කරන්න. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">උදාසීන වර්ණ ප්‍රකාරය වෝල්පේපරය නිස්සාරණය කළ වර්ණ, උදාසීන තානය සහිත ආලෝක හෝ අඳුරු වර්ණ කට්ටලයක් මගින් ප්‍රතිස්ථාපනය කරමින්, භාවිත නොකරයි.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> ඉතිරිය</translation>
 <translation id="1698080062160024910"><ph name="TOTAL_TIME" /> කාල ගණකය · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6 ලිපිනය: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">ඒකල ශ්‍රව්‍යය</translation>
 <translation id="3009178788565917040">ප්‍රතිදානය</translation>
 <translation id="3033545621352269033">සක්‍රියයි</translation>
+<translation id="3038571455154067151">පිරීමට, ඔබගේ Family Link මාපිය ප්‍රවේශ කේතය ඇතුළත් කරන්න</translation>
 <translation id="3051128274746680507">ඔබේ අධීක්‍ෂණ කෙරෙන පරිශීලක පැතිකඩ ඉක්මනින් ඉවත් කරනු ලැබේ. තවත් දැන ගැනීමට පුරන්න.</translation>
 <translation id="3055162170959710888">ඔබ මෙම උපාංගය අද <ph name="USED_TIME" />කට භාවිත කළා</translation>
 <translation id="3076778413190775903">තත්ත්‍ව තීරුව, වේලාව <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">ගණනය කරමින්...</translation>
 <translation id="3977512764614765090">බැටරිය <ph name="PERCENTAGE" />% කි, ආරෝපණ කෙරේ.</translation>
 <translation id="3995138139523574647">USB-C උපාංගය (දකුණුපස පසු තොට)</translation>
+<translation id="40062176907008878">අත් අකුරු</translation>
 <translation id="4017989525502048489">ලේසර් මුද්‍රණ යන්ත්‍රය</translation>
 <translation id="4021716437419160885">පහළට අනුචලනය කරන්න</translation>
 <translation id="4028481283645788203">වැඩිපුර ආරක්‍ෂාව සඳහා මුරපදය අවශ්‍යයි</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">ඔබේ අඟුලු තිරයේ දැනුම්දීම් බැලීමට, සැකසීම් වෙනස් කිරීමට අඟුලු අරින්න</translation>
 <translation id="4146833061457621061">සංගීතය වාදනය කරන්න</translation>
 <translation id="4149156641122542261"><ph name="DEVICE_TYPE" /> <ph name="DOMAIN" /> විසින් කළමනා කෙරේ</translation>
+<translation id="4157822100366708405">අඳුරු තේමා සැකසීම්</translation>
 <translation id="4181841719683918333">භාෂා</translation>
 <translation id="4195877955194704651">ස්වයංක්‍රීය ක්ලික් බොත්තම</translation>
 <translation id="4197790712631116042">අක්‍රියයි</translation>
 <translation id="4212472694152630271">PIN වෙත මාරු වන්න</translation>
 <translation id="4215497585250573029">VPN සැකසුම්</translation>
 <translation id="4217571870635786043">අනුලේඛනය</translation>
+<translation id="4229328187280698237">ටැබ්ලට් ප්‍රකාරයට මාරු වන්න</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">දැනුම් දීම් සැකසීම් පෙන්වන්න. දැනුම් දීම් ක්‍රියාවිරහිතයි</translation>
 <translation id="4269883910223712419">මෙම උපාංගයේ පරිපාලකයාට මේවා කළ හැක:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">සංදර්ශක වින්‍යාසය තහවුරු කරන්න</translation>
 <translation id="5083553833479578423">තව සහායක අංග අගුලු හරින්න</translation>
 <translation id="5114495209940374989">තිර රූ</translation>
+<translation id="5123162024343028706">මතුපිට පාවීම</translation>
 <translation id="5136175204352732067">වෙනස් යතුරු පුවරුවක් සම්බන්ධ කර ඇත</translation>
 <translation id="5168181903108465623">විකාශ උපාංග ලබා ගත හැකිය</translation>
 <translation id="5170568018924773124">ෆෝල්ඩරයේ පෙන්වන්න</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">අක්‍රියයි</translation>
 <translation id="5302048478445481009">භාෂාව</translation>
 <translation id="5313326810920013265">බ්ලූටූත් සැකසීම්</translation>
+<translation id="5314219114274263156">තිර පිටපත් කිරීමක් ගන්නා ලදි</translation>
 <translation id="5331975486040154427">USB-C උපාංගය (වම්පස පසු තොට)</translation>
 <translation id="5379115545237091094">උත්සාහයන් විශාල ප්‍රමාණයකි</translation>
 <translation id="5397578532367286026">මෙම පරිශීලකගේ භාවිතය සහ ඉතිහාසය කළමනාකරු(<ph name="MANAGER_EMAIL" />) විසින් chrome.com මත සමාලෝචනය කළ හැක.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> මත <ph name="ROUTE_TITLE" /> නවත්වන්න</translation>
 <translation id="5860033963881614850">අක්‍රීය</translation>
+<translation id="5876666360658629066">මාපිය කේතය ඇතුළත් කරන්න</translation>
 <translation id="5887866489674258948">අඳුරු ප්‍රකාරය</translation>
 <translation id="5895138241574237353">යළි අරඹන්න</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">මෙම යාවත්කාලීන සමයේ ඔබේ තිරය සාමාන්‍යයට වඩා දිග වේලාවකට (විනාඩියක් දක්වා) හිස් වෙයි. යාවත්කාලීනය සිදු වෙමින් පවතින විට බල බොත්තම නොඔබන්න.</translation>
 <translation id="6527303717912515753">බෙදාගන්න</translation>
 <translation id="6528179044667508675">බාධා නොකරන්න</translation>
+<translation id="65320610082834431">ඉමොජි</translation>
 <translation id="6537270692134705506">තිරය ග්‍රහණය</translation>
 <translation id="6537924328260219877">සංඥා ප්‍රබලතාව <ph name="SIGNAL_STRENGTH" />, දුරකථන බැටරිය <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771"><ph name="RECEIVER_NAME" /> වෙත විකාශය කරමින්</translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">දකුණු-ක්ලික් කිරීමකින් හෝ දිගු එබුමකින් සහායක ඔබේ තේරීම සඳහා අර්ථ දැක්වීම හෝ ඒකක පරිවර්තනය වැනි තොරතුරු පෙන්වයි.</translation>
 <translation id="7569509451529460200">බ්‍රේල් සහ ChromeVox සබලයි</translation>
 <translation id="7579778809502851308">තිර ග්‍රහණය</translation>
+<translation id="7590883480672980941">ආදාන සැකසීම්</translation>
 <translation id="7593891976182323525">Search හෝ Shift</translation>
 <translation id="7600875258240007829">සියලු දැනුම්දීම් බලන්න</translation>
+<translation id="7618774594543487847">උදාසීන</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /> සඳහා සැකසුම් විවෘත කරන්න</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (හිමිකරු)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, සංඥා ප්‍රබලතාව <ph name="SIGNAL_STRENGTH" />, ඔබේ පරිපාලකයා විසින් කළමනාකරණය කරයි</translation>
 <translation id="8639760480004882931"><ph name="PERCENTAGE" /> ඉතිරිව ඇත</translation>
 <translation id="8646417893960517480"><ph name="TOTAL_TIME" /> කාල ගණකය</translation>
+<translation id="8647931990447795414">පුද්ගලයකු එක් කිරීමට, ඔබගේ Family Link මාපිය ප්‍රවේශ කේතය ඇතුළත් කරන්න</translation>
 <translation id="8649101189709089199">කීමට-තේරීම</translation>
 <translation id="8652175077544655965">සැකසීම් වසන්න</translation>
 <translation id="8653151467777939995">දැනුම් දීම් සැකසීම් පෙන්වන්න. දැනුම් දීම් ක්‍රියාත්මකයි</translation>
 <translation id="8660331759611631213">71හි වර්ගමූලය</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, සංඥා ප්‍රබලතාව <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">ජාල ලැයිස්තුව පෙන්වන්න. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">වර්ණ ප්‍රකාරය</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">අඩු-බල ආරෝපකය සමබන්ධ කර ඇත</translation>
 <translation id="8683506306463609433">කාර්ය සාධන අනුරේඛනය සක්‍රියයි</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">තිරය දික් කරයි</translation>
 <translation id="890616557918890486">මූලාශ්‍රය වෙනස් කරන්න</translation>
 <translation id="8909138438987180327">බැටරි ප්‍රතිශතය <ph name="PERCENTAGE" /> කි.</translation>
+<translation id="8913384980486163186">තේමාව (පෙරනිමි)</translation>
+<translation id="8918251165865262378">ලැප්ටොප් ප්‍රකාරයට මාරු වන්න</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Google සහායක මෙම භාෂාව කථා කරන්නේ නැත.</translation>
 <translation id="8936501819958976551">ක්‍රියා විරහිතයි</translation>
diff --git a/ash/strings/ash_strings_sr-Latn.xtb b/ash/strings/ash_strings_sr-Latn.xtb
index 46275403..6f0ef3f 100644
--- a/ash/strings/ash_strings_sr-Latn.xtb
+++ b/ash/strings/ash_strings_sr-Latn.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Dosadno mi je</translation>
 <translation id="1104084341931202936">Pregledajte podešavanja pristupačnosti</translation>
 <translation id="1104621072296271835">Uređaji zajedno funkcionišu još bolje</translation>
+<translation id="1119348796022671382">Režim tematskih boja koristi boje izvedene iz pozadine da bi se blago obojio intefejs.</translation>
 <translation id="112308213915226829">Automatski sakrij policu</translation>
 <translation id="1153356358378277386">Upareni uređaji</translation>
 <translation id="1175572348579024023">Pomeraj</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Uključeno</translation>
 <translation id="1419738280318246476">Otključajte uređaj da biste dobili obaveštenje</translation>
 <translation id="1420408895951708260">Uključite ili isključite noćno svetlo. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Snimak ekrana je napravljen i sačuvan u privremenoj memoriji</translation>
 <translation id="1426410128494586442">Da</translation>
 <translation id="1455242230282523554">Pregledajte podešavanja jezika</translation>
 <translation id="1460620680449458626">Zvuk je isključen.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Pristup pomoću prekidača može da se onemogući u odeljku Podešavanja &gt; Pristupačnost.</translation>
 <translation id="1654477262762802994">Započnite glasovnu pretragu</translation>
 <translation id="1665244008632896072">Uključite ili isključite Tamni režim. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Režim neutralnih boja ne koristi boje iz pozadina i zamenjuje ih skupom neutralnih svetlih i tamnih nijansi.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> je preostalo</translation>
 <translation id="1698080062160024910">Tajmer za <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6 adresa: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Mono zvuk</translation>
 <translation id="3009178788565917040">Izlaz</translation>
 <translation id="3033545621352269033">Uključeno</translation>
+<translation id="3038571455154067151">Da biste se prijavili, unesite pristupni kôd roditelja za Family Link</translation>
 <translation id="3051128274746680507">Profil korisnika pod nadzorom će uskoro biti uklonjen. Prijavite se da biste saznali više.</translation>
 <translation id="3055162170959710888">Danas koristite ovaj uređaj već <ph name="USED_TIME" /></translation>
 <translation id="3076778413190775903">Statusna traka, vreme <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Izračunavanje...</translation>
 <translation id="3977512764614765090">Baterija je na <ph name="PERCENTAGE" />% i puni se.</translation>
 <translation id="3995138139523574647">Uređaj sa USB priključkom tipa C (desni zadnji port)</translation>
+<translation id="40062176907008878">Pisanje rukom</translation>
 <translation id="4017989525502048489">Laserski pokazivač</translation>
 <translation id="4021716437419160885">Pomeri nadole</translation>
 <translation id="4028481283645788203">Treba da unesete lozinku radi dodatne bezbednosti</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Da biste videli obaveštenja na zaključanom ekranu, otključajte ga kako biste promenili podešavanje</translation>
 <translation id="4146833061457621061">Pusti muziku</translation>
 <translation id="4149156641122542261">Uređajem <ph name="DEVICE_TYPE" /> upravlja <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Podešavanja tamne teme</translation>
 <translation id="4181841719683918333">Jezici</translation>
 <translation id="4195877955194704651">Automatski klikovi na dugmad</translation>
 <translation id="4197790712631116042">Isključeno</translation>
 <translation id="4212472694152630271">Pređi na PIN</translation>
 <translation id="4215497585250573029">Podešavanja VPN-a</translation>
 <translation id="4217571870635786043">Diktiranje</translation>
+<translation id="4229328187280698237">Pređite na režim tableta</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Pregledajte podešavanja obaveštenja. Obaveštenja su isključena</translation>
 <translation id="4269883910223712419">Administrator ovog uređaja može:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Potvrdite konfiguraciju ekrana</translation>
 <translation id="5083553833479578423">Otključajte još funkcija Pomoćnika.</translation>
 <translation id="5114495209940374989">Snimci ekrana</translation>
+<translation id="5123162024343028706">Uvek na vrhu</translation>
 <translation id="5136175204352732067">Neka druga tastatura je povezana</translation>
 <translation id="5168181903108465623">Dostupni su uređaji za prebacivanje</translation>
 <translation id="5170568018924773124">Prikaži u direktorijumu</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Isključeno</translation>
 <translation id="5302048478445481009">Jezik</translation>
 <translation id="5313326810920013265">Podešavanja Bluetooth-a</translation>
+<translation id="5314219114274263156">Ekran je snimljen</translation>
 <translation id="5331975486040154427">Uređaj sa USB priključkom tipa C (levi zadnji port)</translation>
 <translation id="5379115545237091094">Previše pokušaja</translation>
 <translation id="5397578532367286026">Menadžer (<ph name="MANAGER_EMAIL" />) može da pregleda korišćenje i istoriju ovog korisnika na chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">Zaustavi <ph name="ROUTE_TITLE" /> na uređaju <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Isključeno</translation>
+<translation id="5876666360658629066">Unesite kôd roditelja</translation>
 <translation id="5887866489674258948">Tamni režim</translation>
 <translation id="5895138241574237353">Pokreni ponovo</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">Tokom ovog ažuriranja ekran će biti prazan duže nego obično (i do minut). Ne pritiskajte dugme za napajanje dok je ažuriranje u toku.</translation>
 <translation id="6527303717912515753">Deli</translation>
 <translation id="6528179044667508675">Ne uznemiravaj</translation>
+<translation id="65320610082834431">Emodžiji</translation>
 <translation id="6537270692134705506">Snimi ekran</translation>
 <translation id="6537924328260219877">Jačina signala <ph name="SIGNAL_STRENGTH" />, baterija telefona <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Prebacuje se na <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">Kada kliknete desnim tasterom na neku stavku ili je dugo pritisnete, Pomoćnik prikazuje informacije kao što su definicije ili konverzije jedinice za ono što ste izabrali.</translation>
 <translation id="7569509451529460200">Brajeva azbuka i ChromeVox su omogućeni</translation>
 <translation id="7579778809502851308">Snimanje ekrana</translation>
+<translation id="7590883480672980941">Podešavanja unosa</translation>
 <translation id="7593891976182323525">Taster za pretragu ili Shift</translation>
 <translation id="7600875258240007829">Pogledajte sva obaveštenja</translation>
+<translation id="7618774594543487847">Neutralno</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Otvorite podešavanja mreže <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (vlasnik)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, jačina signala <ph name="SIGNAL_STRENGTH" />, upravlja administrator</translation>
 <translation id="8639760480004882931">Preostalo je <ph name="PERCENTAGE" /></translation>
 <translation id="8646417893960517480">Tajmer za <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">Da biste dodali osobu, unesite pristupni kôd roditelja za Family Link</translation>
 <translation id="8649101189709089199">Izaberite za govor</translation>
 <translation id="8652175077544655965">Zatvorite podešavanja</translation>
 <translation id="8653151467777939995">Pregledajte podešavanja obaveštenja. Obaveštenja su uključena</translation>
 <translation id="8660331759611631213">Kvadratni koren broja 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, jačina signala <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Pregledajte listu mreža. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Režim boja</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Povezan je punjač male snage</translation>
 <translation id="8683506306463609433">Praćenje učinka je aktivno</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">Prošireni ekran</translation>
 <translation id="890616557918890486">Promeni izvor</translation>
 <translation id="8909138438987180327">Baterija je na <ph name="PERCENTAGE" />%.</translation>
+<translation id="8913384980486163186">Tematski (podrazumevano)</translation>
+<translation id="8918251165865262378">Pređite na režim laptopa</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Google pomoćnik ne govori ovaj jezik.</translation>
 <translation id="8936501819958976551">deaktivirano</translation>
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb
index 0d0fc6d..4d46a09 100644
--- a/ash/strings/ash_strings_sr.xtb
+++ b/ash/strings/ash_strings_sr.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Досадно ми је</translation>
 <translation id="1104084341931202936">Прегледајте подешавања приступачности</translation>
 <translation id="1104621072296271835">Уређаји заједно функционишу још боље</translation>
+<translation id="1119348796022671382">Режим тематских боја користи боје изведене из позадине да би се благо обојио интефејс.</translation>
 <translation id="112308213915226829">Аутоматски сакриј полицу</translation>
 <translation id="1153356358378277386">Упарени уређаји</translation>
 <translation id="1175572348579024023">Померај</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Укључено</translation>
 <translation id="1419738280318246476">Откључајте уређај да бисте добили обавештење</translation>
 <translation id="1420408895951708260">Укључите или искључите ноћно светло. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Снимак екрана је направљен и сачуван у привременој меморији</translation>
 <translation id="1426410128494586442">Да</translation>
 <translation id="1455242230282523554">Прегледајте подешавања језика</translation>
 <translation id="1460620680449458626">Звук је искључен.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Приступ помоћу прекидача може да се онемогући у одељку Подешавања &gt; Приступачност.</translation>
 <translation id="1654477262762802994">Започните гласовну претрагу</translation>
 <translation id="1665244008632896072">Укључите или искључите Тамни режим. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Режим неутралних боја не користи боје из позадина и замењује их скупом неутралних светлих и тамних нијанси.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> је преостало</translation>
 <translation id="1698080062160024910">Тајмер за <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6 адреса: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Моно звук</translation>
 <translation id="3009178788565917040">Излаз</translation>
 <translation id="3033545621352269033">Укључено</translation>
+<translation id="3038571455154067151">Да бисте се пријавили, унесите приступни кôд родитеља за Family Link</translation>
 <translation id="3051128274746680507">Профил корисника под надзором ће ускоро бити уклоњен. Пријавите се да бисте сазнали више.</translation>
 <translation id="3055162170959710888">Данас користите овај уређај већ <ph name="USED_TIME" /></translation>
 <translation id="3076778413190775903">Статусна трака, време <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Израчунавање...</translation>
 <translation id="3977512764614765090">Батерија је на <ph name="PERCENTAGE" />% и пуни се.</translation>
 <translation id="3995138139523574647">Уређај са USB прикључком типа C (десни задњи порт)</translation>
+<translation id="40062176907008878">Писање руком</translation>
 <translation id="4017989525502048489">Ласерски показивач</translation>
 <translation id="4021716437419160885">Помери надоле</translation>
 <translation id="4028481283645788203">Треба да унесете лозинку ради додатне безбедности</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Да бисте видели обавештења на закључаном екрану, откључајте га како бисте променили подешавање</translation>
 <translation id="4146833061457621061">Пусти музику</translation>
 <translation id="4149156641122542261">Уређајем <ph name="DEVICE_TYPE" /> управља <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Подешавања тамне теме</translation>
 <translation id="4181841719683918333">Језици</translation>
 <translation id="4195877955194704651">Аутоматски кликови на дугмад</translation>
 <translation id="4197790712631116042">Искључено</translation>
 <translation id="4212472694152630271">Пређи на PIN</translation>
 <translation id="4215497585250573029">Подешавања VPN-а</translation>
 <translation id="4217571870635786043">Диктирање</translation>
+<translation id="4229328187280698237">Пређите на режим таблета</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Прегледајте подешавања обавештења. Обавештења су искључена</translation>
 <translation id="4269883910223712419">Администратор овог уређаја може:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Потврдите конфигурацију екрана</translation>
 <translation id="5083553833479578423">Откључајте још функција Помоћника.</translation>
 <translation id="5114495209940374989">Снимци екрана</translation>
+<translation id="5123162024343028706">Увек на врху</translation>
 <translation id="5136175204352732067">Нека друга тастатура је повезана</translation>
 <translation id="5168181903108465623">Доступни су уређаји за пребацивање</translation>
 <translation id="5170568018924773124">Прикажи у директоријуму</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Искључено</translation>
 <translation id="5302048478445481009">Језик</translation>
 <translation id="5313326810920013265">Подешавања Bluetooth-а</translation>
+<translation id="5314219114274263156">Екран је снимљен</translation>
 <translation id="5331975486040154427">Уређај са USB прикључком типа C (леви задњи порт)</translation>
 <translation id="5379115545237091094">Превише покушаја</translation>
 <translation id="5397578532367286026">Менаџер (<ph name="MANAGER_EMAIL" />) може да прегледа коришћење и историју овог корисника на chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium ОС</translation>
 <translation id="5837036133683224804">Заустави <ph name="ROUTE_TITLE" /> на уређају <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Искључено</translation>
+<translation id="5876666360658629066">Унесите кôд родитеља</translation>
 <translation id="5887866489674258948">Тамни режим</translation>
 <translation id="5895138241574237353">Покрени поново</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">Током овог ажурирања екран ће бити празан дуже него обично (и до минут). Не притискајте дугме за напајање док је ажурирање у току.</translation>
 <translation id="6527303717912515753">Дели</translation>
 <translation id="6528179044667508675">Не узнемиравај</translation>
+<translation id="65320610082834431">Емоџији</translation>
 <translation id="6537270692134705506">Сними екран</translation>
 <translation id="6537924328260219877">Јачина сигнала <ph name="SIGNAL_STRENGTH" />, батерија телефона <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Пребацује се на <ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">Када кликнете десним тастером на неку ставку или је дуго притиснете, Помоћник приказује информације као што су дефиниције или конверзије јединице за оно што сте изабрали.</translation>
 <translation id="7569509451529460200">Брајева азбука и ChromeVox су омогућени</translation>
 <translation id="7579778809502851308">Снимање екрана</translation>
+<translation id="7590883480672980941">Подешавања уноса</translation>
 <translation id="7593891976182323525">Тастер за претрагу или Shift</translation>
 <translation id="7600875258240007829">Погледајте сва обавештења</translation>
+<translation id="7618774594543487847">Неутрално</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Отворите подешавања мреже <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (власник)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, јачина сигнала <ph name="SIGNAL_STRENGTH" />, управља администратор</translation>
 <translation id="8639760480004882931">Преостало је <ph name="PERCENTAGE" /></translation>
 <translation id="8646417893960517480">Тајмер за <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">Да бисте додали особу, унесите приступни кôд родитеља за Family Link</translation>
 <translation id="8649101189709089199">Изаберите за говор</translation>
 <translation id="8652175077544655965">Затворите подешавања</translation>
 <translation id="8653151467777939995">Прегледајте подешавања обавештења. Обавештења су укључена</translation>
 <translation id="8660331759611631213">Квадратни корен броја 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, јачина сигнала <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Прегледајте листу мрежа. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Режим боја</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Повезан је пуњач мале снаге</translation>
 <translation id="8683506306463609433">Праћење учинка је активно</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">Проширени екран</translation>
 <translation id="890616557918890486">Промени извор</translation>
 <translation id="8909138438987180327">Батерија је на <ph name="PERCENTAGE" />%.</translation>
+<translation id="8913384980486163186">Тематски (подразумевано)</translation>
+<translation id="8918251165865262378">Пређите на режим лаптопа</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Google помоћник не говори овај језик.</translation>
 <translation id="8936501819958976551">деактивирано</translation>
diff --git a/ash/strings/ash_strings_sw.xtb b/ash/strings/ash_strings_sw.xtb
index ea5b950..5cb09c2 100644
--- a/ash/strings/ash_strings_sw.xtb
+++ b/ash/strings/ash_strings_sw.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Nahitaji kuchangamshwa</translation>
 <translation id="1104084341931202936">Onyesha mipangilio ya ufikivu</translation>
 <translation id="1104621072296271835">Vifaa vyako vitafanya kazi vizuri vikiwa pamoja</translation>
+<translation id="1119348796022671382">Hali ya rangi ya mandhari hutumia rangi zinazotolewa kwenye mandhari yako ili iweke rangi kiasi kwenye kiolesura.</translation>
 <translation id="112308213915226829">Ficha rafu kiotomatiki</translation>
 <translation id="1153356358378277386">Vifaa vilivyooanishwa</translation>
 <translation id="1175572348579024023">Sogeza</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Umewashwa</translation>
 <translation id="1419738280318246476">Fungua kifaa ili utekeleza kitendo cha arifa</translation>
 <translation id="1420408895951708260">Swichi ya Mwanga wa Usiku. <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Picha ya skrini imepigwa na ikahifadhiwa kwenye ubao wa kunakili</translation>
 <translation id="1426410128494586442">Ndiyo</translation>
 <translation id="1455242230282523554">Onyesha mipangilio ya lugha</translation>
 <translation id="1460620680449458626">Umezima sauti.</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Unaweza kuzima Kipengele cha Kufikia Kupitia Swichi katika Mipangilio &gt; Ufikivu.</translation>
 <translation id="1654477262762802994">Anza kutamka hoja ya utafutaji</translation>
 <translation id="1665244008632896072">Washa au zima Hali Nyeusi. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Hali ya rangi ya kawaida haitumii rangi zilizotolewa kwenye mandhari, inazibadilisha iweke seti ya rangi angavu au nyeusi zenye uzito wa wastani.</translation>
 <translation id="1677472565718498478">Zimesalia <ph name="TIME" /></translation>
 <translation id="1698080062160024910">Kipima muda cha <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">Anwani ya IPv6: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Kipengele cha sauti moja</translation>
 <translation id="3009178788565917040">Towe</translation>
 <translation id="3033545621352269033">Imewashwa</translation>
+<translation id="3038571455154067151">Ili uingie katika akaunti, weka msimbo wako wa mzazi wa kufikia Family Link</translation>
 <translation id="3051128274746680507">Tutaondoa wasifu wako wa mtumiaji anayesimamiwa hivi karibuni. Ingia katika akaunti ili upate maelezo zaidi.</translation>
 <translation id="3055162170959710888">Leo umetumia kifaa hiki kwa <ph name="USED_TIME" /></translation>
 <translation id="3076778413190775903">Trei ya hali, saa <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Inakokotoa...</translation>
 <translation id="3977512764614765090">Chaji ya betri ni <ph name="PERCENTAGE" />% na inaendelea kuchaji.</translation>
 <translation id="3995138139523574647">Kifaa cha USB-C (mlango wa upande wa kulia nyuma)</translation>
+<translation id="40062176907008878">Mwandiko</translation>
 <translation id="4017989525502048489">Kielekezi cha leza</translation>
 <translation id="4021716437419160885">Sogeza chini</translation>
 <translation id="4028481283645788203">Nenosiri linahitajika kwa usalama zaidi</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Ili uone arifa kwenye skrini iliyofungwa, ifungue ili ubadilishe mipangilio hii</translation>
 <translation id="4146833061457621061">Cheza muziki</translation>
 <translation id="4149156641122542261"><ph name="DEVICE_TYPE" /> inadhibitiwa na <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">Mipangilio ya Mandhari Meusi</translation>
 <translation id="4181841719683918333">Lugha</translation>
 <translation id="4195877955194704651">Kitufe cha mibofyo ya kiotomatiki</translation>
 <translation id="4197790712631116042">Imezimwa</translation>
 <translation id="4212472694152630271">Tumia PIN</translation>
 <translation id="4215497585250573029">Mipangilio ya VPN</translation>
 <translation id="4217571870635786043">Kuandika kwa kutamka</translation>
+<translation id="4229328187280698237">Tumia hali ya kompyuta kibao</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Onyesha mipangilio ya arifa. Umezima arifa</translation>
 <translation id="4269883910223712419">Msimamizi wa kifaa hiki ana uwezo wa:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Thibitisha Mipangilio ya Skrini</translation>
 <translation id="5083553833479578423">Fungua vipengele zaidi vya programu yako ya Mratibu.</translation>
 <translation id="5114495209940374989">Picha za skrini</translation>
+<translation id="5123162024343028706">Elea juu</translation>
 <translation id="5136175204352732067">Kibodi tofauti imeunganishwa</translation>
 <translation id="5168181903108465623">Vifaa vinavyorusha maudhui vinapatikana</translation>
 <translation id="5170568018924773124">Onyesha katika folda</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Umezimwa</translation>
 <translation id="5302048478445481009">Lugha</translation>
 <translation id="5313326810920013265">Mipangilio ya Bluetooth</translation>
+<translation id="5314219114274263156">Skrini imerekodiwa</translation>
 <translation id="5331975486040154427">Kifaa cha USB-C (mlango wa upande wa kushoto nyuma)</translation>
 <translation id="5379115545237091094">Umejaribu mara nyingi mno</translation>
 <translation id="5397578532367286026">Matumizi na historia ya mtumiaji huyu yanaweza kukaguliwa na msimamizi ( <ph name="MANAGER_EMAIL" /> ) kwenye chrome.com.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">Komesha <ph name="ROUTE_TITLE" /> kwenye <ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">Kimezimwa</translation>
+<translation id="5876666360658629066">Weka msimbo wa mzazi</translation>
 <translation id="5887866489674258948">Hali Nyeusi</translation>
 <translation id="5895138241574237353">Zzima na uwashe</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">Skrini yako itazima kwa muda mrefu kuliko kawaida (hadi dakika moja) wakati wa sasisho hili. Tafadhali usibonyeze kitufe cha kuwasha/kuzima wakati sasisho linaendelea.</translation>
 <translation id="6527303717912515753">Shiriki</translation>
 <translation id="6528179044667508675">Usinisumbue</translation>
+<translation id="65320610082834431">Emoji</translation>
 <translation id="6537270692134705506">Piga skrini picha</translation>
 <translation id="6537924328260219877">Uthabiti wa Mtandao <ph name="SIGNAL_STRENGTH" />, Betri ya Simu <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">Tuma kwenye <ph name="RECEIVER_NAME" /></translation>
@@ -568,8 +579,10 @@
 <translation id="7568637526529101738">Ukibofya kulia au kubonyeza kwa muda mrefu, programu ya Mratibu itaonyesha maelezo kama vile ufafanuzi au ubadilishaji wa kipimo cha chaguo lako.</translation>
 <translation id="7569509451529460200">Breli na ChromeVox zimewashwa</translation>
 <translation id="7579778809502851308">Kurekodi skrini</translation>
+<translation id="7590883480672980941">Mipangilio ya kuweka data</translation>
 <translation id="7593891976182323525">Utafutaji au Hama</translation>
 <translation id="7600875258240007829">Angalia arifa zote</translation>
+<translation id="7618774594543487847">Wastani</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">Fungua mipangilio ya <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (mmiliki)</translation>
@@ -666,12 +679,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, Uthabiti wa Mtandao <ph name="SIGNAL_STRENGTH" />, Unadhibitiwa na Msimamizi wako</translation>
 <translation id="8639760480004882931">Imebaki <ph name="PERCENTAGE" />%</translation>
 <translation id="8646417893960517480">Kipima muda cha <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">Ili uongeze mtu, weka msimbo wako wa mzazi wa kufikia Family Link</translation>
 <translation id="8649101189709089199">Chagua ili Izungumze</translation>
 <translation id="8652175077544655965">Funga mipangilio</translation>
 <translation id="8653151467777939995">Onyesha mipangilio ya arifa. Umewasha arifa</translation>
 <translation id="8660331759611631213">Kipeo cha pili cha 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, Uthabiti wa Mtandao <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Onyesha orodha ya mitandao. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Hali ya rangi</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Chaja ya nguvu ya chini imeunganishwa</translation>
 <translation id="8683506306463609433">Kipengele cha ufuatiliaji wa utendaji kinatumika</translation>
@@ -695,6 +710,8 @@
 <translation id="8878886163241303700">Kuongeza skrini</translation>
 <translation id="890616557918890486">Badilisha chanzo</translation>
 <translation id="8909138438987180327">Chaji ya betri imefika <ph name="PERCENTAGE" />.</translation>
+<translation id="8913384980486163186">Mandhari (chaguomsingi)</translation>
+<translation id="8918251165865262378">Tumia hali ya kompyuta ya kupakata</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Programu ya Mratibu wa Google haina huduma ya lugha hii.</translation>
 <translation id="8936501819958976551">kimezimwa</translation>
diff --git a/ash/strings/ash_strings_th.xtb b/ash/strings/ash_strings_th.xtb
index 2b261fa..192a0f6 100644
--- a/ash/strings/ash_strings_th.xtb
+++ b/ash/strings/ash_strings_th.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">ฉันเบื่อจัง</translation>
 <translation id="1104084341931202936">แสดงการตั้งค่าการเข้าถึงพิเศษ</translation>
 <translation id="1104621072296271835">อุปกรณ์จะทำงานได้ดียิ่งขึ้นเมื่อใช้ร่วมกัน</translation>
+<translation id="1119348796022671382">โหมดสีที่มีธีมใช้สีที่ดึงมาจากวอลเปเปอร์เพื่อเติมสีให้อินเทอร์เฟซเล็กน้อย</translation>
 <translation id="112308213915226829">ซ่อนชั้นวางโดยอัตโนมัติ</translation>
 <translation id="1153356358378277386">อุปกรณ์ที่จับคู่</translation>
 <translation id="1175572348579024023">เลื่อน</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">เปิด</translation>
 <translation id="1419738280318246476">ปลดล็อกอุปกรณ์เพื่อดำเนินการแจ้งเตือน</translation>
 <translation id="1420408895951708260">เปิด/ปิดแสงตอนกลางคืน <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">ถ่ายภาพหน้าจอและบันทึกในคลิปบอร์ดแล้ว</translation>
 <translation id="1426410128494586442">ยอมรับ</translation>
 <translation id="1455242230282523554">แสดงการตั้งค่าภาษา</translation>
 <translation id="1460620680449458626">ระดับเสียงปิดเสียงอยู่</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">ปิดใช้ "การเข้าถึงด้วยสวิตช์" ได้ในการตั้งค่า &gt; การช่วยเหลือพิเศษ</translation>
 <translation id="1654477262762802994">เริ่มการค้นหาด้วยเสียง</translation>
 <translation id="1665244008632896072">สลับโหมดมืด <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">โหมดสีปานกลางไม่ได้ใช้สีที่ดึงมาจากวอลเปเปอร์ แต่จะใช้ชุดโทนสีที่สว่างหรือเข้มปานกลางแทนสีเหล่านั้น</translation>
 <translation id="1677472565718498478">ใช้ได้อีก <ph name="TIME" /></translation>
 <translation id="1698080062160024910">ตัวจับเวลา <ph name="TOTAL_TIME" /> · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">ที่อยู่ IPv6: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">เสียงแบบโมโน</translation>
 <translation id="3009178788565917040">เอาต์พุต</translation>
 <translation id="3033545621352269033">เปิด</translation>
+<translation id="3038571455154067151">โปรดป้อนรหัสการเข้าถึง Family Link ของผู้ปกครองเพื่อลงชื่อเข้าใช้</translation>
 <translation id="3051128274746680507">ระบบจะนำโปรไฟล์ผู้ใช้ภายใต้การควบคุมดูแลออกในเร็วๆ นี้ ลงชื่อเข้าใช้เพื่อดูข้อมูลเพิ่มเติม</translation>
 <translation id="3055162170959710888">วันนี้คุณใช้อุปกรณ์เครื่องนี้ไป <ph name="USED_TIME" /></translation>
 <translation id="3076778413190775903">ถาดสถานะ เวลา <ph name="TIME" />
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">กำลังคำนวณ...</translation>
 <translation id="3977512764614765090">แบตเตอรี่เหลือ <ph name="PERCENTAGE" />% และกำลังชาร์จ</translation>
 <translation id="3995138139523574647">อุปกรณ์ USB-C (พอร์ตด้านหลังขวา)</translation>
+<translation id="40062176907008878">การเขียนด้วยลายมือ</translation>
 <translation id="4017989525502048489">ตัวชี้เลเซอร์</translation>
 <translation id="4021716437419160885">เลื่อนลง</translation>
 <translation id="4028481283645788203">ต้องป้อนรหัสผ่านเพื่อให้มีความปลอดภัยมากขึ้น</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">หากต้องการดูการแจ้งเตือนในหน้าจอล็อก ให้ปลดล็อกเพื่อเปลี่ยนการตั้งค่า</translation>
 <translation id="4146833061457621061">เปิดเพลง</translation>
 <translation id="4149156641122542261"><ph name="DEVICE_TYPE" /> จัดการโดย <ph name="DOMAIN" /></translation>
+<translation id="4157822100366708405">การตั้งค่าธีมมืด</translation>
 <translation id="4181841719683918333">ภาษา</translation>
 <translation id="4195877955194704651">ปุ่มคลิกอัตโนมัติ</translation>
 <translation id="4197790712631116042">ปิด</translation>
 <translation id="4212472694152630271">เปลี่ยนไปใช้ PIN</translation>
 <translation id="4215497585250573029">การตั้งค่า VPN</translation>
 <translation id="4217571870635786043">การพิมพ์ตามคำบอก</translation>
+<translation id="4229328187280698237">เปลี่ยนเป็นโหมดแท็บเล็ต</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">แสดงการตั้งค่าการแจ้งเตือน การแจ้งเตือนปิดอยู่</translation>
 <translation id="4269883910223712419">ผู้ดูแลระบบของอุปกรณ์เครื่องนี้ทำสิ่งต่อไปนี้ได้</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">ยืนยันการกำหนดค่าจอแสดงผล</translation>
 <translation id="5083553833479578423">ใช้ฟีเจอร์จาก Assistant ได้มากขึ้น</translation>
 <translation id="5114495209940374989">ภาพหน้าจอ</translation>
+<translation id="5123162024343028706">ลอยอยู่ด้านบน</translation>
 <translation id="5136175204352732067">เชื่อมต่อกับแป้นพิมพ์อื่นแล้ว</translation>
 <translation id="5168181903108465623">เครื่องส่งพร้อมใช้งาน</translation>
 <translation id="5170568018924773124">แสดงในโฟลเดอร์</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">ปิด</translation>
 <translation id="5302048478445481009">ภาษา</translation>
 <translation id="5313326810920013265">การตั้งค่าบลูทูธ</translation>
+<translation id="5314219114274263156">อัดหน้าจอแล้ว</translation>
 <translation id="5331975486040154427">อุปกรณ์ USB-C (พอร์ตด้านหลังซ้าย)</translation>
 <translation id="5379115545237091094">ลองหลายครั้งเกินไป</translation>
 <translation id="5397578532367286026">การใช้งานและประวัติของผู้ใช้รายนี้อาจถูกตรวจสอบโดยผู้จัดการ (<ph name="MANAGER_EMAIL" />) บน chrome.com</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804">หยุด <ph name="ROUTE_TITLE" /> ใน<ph name="RECEIVER_NAME" /></translation>
 <translation id="5860033963881614850">ปิด</translation>
+<translation id="5876666360658629066">กรอกรหัสผู้ปกครอง</translation>
 <translation id="5887866489674258948">โหมดมืด</translation>
 <translation id="5895138241574237353">ปิดแล้วเปิดอีกครั้ง</translation>
 <translation id="5901316534475909376">Shift+Esc</translation>
@@ -481,6 +491,7 @@
 <translation id="652139407789908527">หน้าจอจะไม่แสดงผลเป็นเวลานานกว่าปกติ (สูงสุด 1 นาที) ในระหว่างการอัปเดตนี้ โปรดอย่ากดปุ่มเปิด/ปิดขณะอัปเดต</translation>
 <translation id="6527303717912515753">แชร์</translation>
 <translation id="6528179044667508675">ห้ามรบกวน</translation>
+<translation id="65320610082834431">อีโมจิ</translation>
 <translation id="6537270692134705506">จับภาพหน้าจอ</translation>
 <translation id="6537924328260219877">ความแรงสัญญาณ <ph name="SIGNAL_STRENGTH" />, แบตเตอรี่โทรศัพท์ <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771">แคสต์ไปที่<ph name="RECEIVER_NAME" /></translation>
@@ -567,8 +578,10 @@
 <translation id="7568637526529101738">เมื่อคลิกขวาหรือกดค้าง Assistant จะแสดงข้อมูล เช่น คำจำกัดความหรือการแปลงหน่วยสำหรับรายการที่คุณเลือก</translation>
 <translation id="7569509451529460200">เปิดใช้เบรลล์และ ChromeVox แล้ว</translation>
 <translation id="7579778809502851308">จับภาพหน้าจอ</translation>
+<translation id="7590883480672980941">การตั้งค่าการป้อนข้อมูล</translation>
 <translation id="7593891976182323525">ค้นหาหรือ Shift</translation>
 <translation id="7600875258240007829">ดูการแจ้งเตือนทั้งหมด</translation>
+<translation id="7618774594543487847">ปานกลาง</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637">เปิดการตั้งค่าของ <ph name="NETWORK_NAME" /> <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (เจ้าของ)</translation>
@@ -665,12 +678,14 @@
 <translation id="8637598503828012618"><ph name="CONNECTION_STATUS" />, ความแรงสัญญาณ <ph name="SIGNAL_STRENGTH" />, จัดการโดยผู้ดูแลระบบ</translation>
 <translation id="8639760480004882931">เหลือ <ph name="PERCENTAGE" />%</translation>
 <translation id="8646417893960517480">ตัวจับเวลา <ph name="TOTAL_TIME" /></translation>
+<translation id="8647931990447795414">โปรดป้อนรหัสการเข้าถึง Family Link ของผู้ปกครองเพื่อเพิ่มบุคคล</translation>
 <translation id="8649101189709089199">เลือกเพื่อให้อ่าน</translation>
 <translation id="8652175077544655965">ปิดการตั้งค่า</translation>
 <translation id="8653151467777939995">แสดงการตั้งค่าการแจ้งเตือน การแจ้งเตือนเปิดอยู่</translation>
 <translation id="8660331759611631213">รากที่สองของ 71</translation>
 <translation id="8663756353922886599"><ph name="CONNECTION_STATUS" />, ความแรงสัญญาณ <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">แสดงรายการเครือข่าย <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">โหมดสี</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">เชื่อมต่อกับที่ชาร์จพลังงานต่ำ</translation>
 <translation id="8683506306463609433">ใช้งานการติดตามประสิทธิภาพอยู่</translation>
@@ -694,6 +709,8 @@
 <translation id="8878886163241303700">กำลังขยายหน้าจอ</translation>
 <translation id="890616557918890486">เปลี่ยนแหล่งที่มา</translation>
 <translation id="8909138438987180327">แบตเตอรี่เหลือ <ph name="PERCENTAGE" /> เปอร์เซ็นต์</translation>
+<translation id="8913384980486163186">มีธีม (ค่าเริ่มต้น)</translation>
+<translation id="8918251165865262378">เปลี่ยนเป็นโหมดแล็ปท็อป</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Google Assistant ยังพูดภาษานี้ไม่ได้</translation>
 <translation id="8936501819958976551">ปิดใช้งานอยู่</translation>
diff --git a/ash/strings/ash_strings_uz.xtb b/ash/strings/ash_strings_uz.xtb
index add87bbc..3efa12a 100644
--- a/ash/strings/ash_strings_uz.xtb
+++ b/ash/strings/ash_strings_uz.xtb
@@ -14,6 +14,7 @@
 <translation id="109942774857561566">Men zerikdim</translation>
 <translation id="1104084341931202936">Maxsus imkoniyatlar sozlamalarini ochish</translation>
 <translation id="1104621072296271835">Qurilmalaringiz birgalikda yaxshiroq ishlaydi</translation>
+<translation id="1119348796022671382">Mavzuli ranglar rejimida interfeys fonga mos ranglarda biroz bezatiladi.</translation>
 <translation id="112308213915226829">Javonni avtomatik yashirish</translation>
 <translation id="1153356358378277386">Ulangan qurilmalar</translation>
 <translation id="1175572348579024023">Aylantirish</translation>
@@ -48,6 +49,7 @@
 <translation id="1391102559483454063">Yoniq</translation>
 <translation id="1419738280318246476">Bildirishnomani amalga oshirish uchun qurilmani qulfdan chiqaring</translation>
 <translation id="1420408895951708260">Tungi rejim: <ph name="STATE_TEXT" /></translation>
+<translation id="1420527829902822813">Skrinshot olindi va vaqtinchalik xotiraga saqlandi</translation>
 <translation id="1426410128494586442">Ha</translation>
 <translation id="1455242230282523554">Til sozlamalarini ochish</translation>
 <translation id="1460620680449458626">Ovozsiz</translation>
@@ -65,6 +67,7 @@
 <translation id="1632985212731562677">Switch Access funksiyasini Sozlamalar &gt; Maxsus imkoniyatlar orqali faolsizlantirish mumkin.</translation>
 <translation id="1654477262762802994">Ovozli qidiruvni boshlash</translation>
 <translation id="1665244008632896072">Tungi rejimga oʻtish. <ph name="STATE_TEXT" /></translation>
+<translation id="1667964833127753507">Neytral ranglar rejimida fon uchun yorqin yoki xira tusdagi toʻplam koʻrinishidagi ixtiyoriy ranglar ishlatiladi.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> qoldi</translation>
 <translation id="1698080062160024910"><ph name="TOTAL_TIME" /> taymer · <ph name="LABEL" /></translation>
 <translation id="1698760176351776263">IPv6 manzil: <ph name="ADDRESS" /></translation>
@@ -181,6 +184,7 @@
 <translation id="3000461861112256445">Mono audio</translation>
 <translation id="3009178788565917040">Chiqarish</translation>
 <translation id="3033545621352269033">Yoniq</translation>
+<translation id="3038571455154067151">Kirish uchun Family Link ota-ona ruxsat kodini tering</translation>
 <translation id="3051128274746680507">Tez orada boshqariluvchi hisobingiz olib tashlanadi. Batafsil axborot olish uchun hisobingizga kiring.</translation>
 <translation id="3055162170959710888">Bu qurilmadan bugun <ph name="USED_TIME" /> foydalandingiz</translation>
 <translation id="3076778413190775903">Holat qatori, vaqt: <ph name="TIME" />,
@@ -277,6 +281,7 @@
 <translation id="397105322502079400">Hisoblanmoqda...</translation>
 <translation id="3977512764614765090">Batareya <ph name="PERCENTAGE" />% va quvvatlanmoqda.</translation>
 <translation id="3995138139523574647">USB-C qurilma (o‘ng tomondagi orqa port)</translation>
+<translation id="40062176907008878">Qoʻlyozma</translation>
 <translation id="4017989525502048489">Lazerli ko‘rsatkich</translation>
 <translation id="4021716437419160885">Pastga tushish</translation>
 <translation id="4028481283645788203">Xavfsizlikni oshirish uchun parol kiriting</translation>
@@ -288,12 +293,14 @@
 <translation id="4129129681837227511">Bildirishnomalar qulflangan ekranda chiqishi uchun avval qulfdan chiqaring va sozlamani yangilang</translation>
 <translation id="4146833061457621061">Musiqani tinglash</translation>
 <translation id="4149156641122542261">Bu <ph name="DEVICE_TYPE" /> qurilmasi <ph name="DOMAIN" /> domeni tomonidan boshqariladi</translation>
+<translation id="4157822100366708405">Tungi mavzu sozlamalari</translation>
 <translation id="4181841719683918333">Tillar</translation>
 <translation id="4195877955194704651">Avtomatik bosish menyusi</translation>
 <translation id="4197790712631116042">Yoqilmagan</translation>
 <translation id="4212472694152630271">PIN kod kiritish</translation>
 <translation id="4215497585250573029">VPN sozlamalari</translation>
 <translation id="4217571870635786043">Ovoz bilan yozish</translation>
+<translation id="4229328187280698237">Planshet rejimiga oʻtish</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4261870227682513959">Bildirishnoma sozlamalarini ochish. Bildirishnomalar yoqilmagan</translation>
 <translation id="4269883910223712419">Bu qurilma administratorining vakolatlari:</translation>
@@ -368,6 +375,7 @@
 <translation id="5035389544768382859">Displey sozlamalarini tasdiqlash</translation>
 <translation id="5083553833479578423">Assistentning boshqa imkoniyatlarini oching.</translation>
 <translation id="5114495209940374989">Skrinshotlar</translation>
+<translation id="5123162024343028706">Ustida erkin harakatlanuvchi</translation>
 <translation id="5136175204352732067">Boshqa klaviatura ulandi</translation>
 <translation id="5168181903108465623">Translatsiya qurilmalari mavjud</translation>
 <translation id="5170568018924773124">&amp;Jildda ko‘rsatish</translation>
@@ -381,6 +389,7 @@
 <translation id="5297704307811127955">Yoqilmagan</translation>
 <translation id="5302048478445481009">Til</translation>
 <translation id="5313326810920013265">Bluetooth sozlamalari</translation>
+<translation id="5314219114274263156">Ekran yozib olindi</translation>
 <translation id="5331975486040154427">USB-C qurilma (chap tomondagi orqa port)</translation>
 <translation id="5379115545237091094">Juda ko‘p urinishlar bo‘ldi</translation>
 <translation id="5397578532367286026">Boshqaruvchi (<ph name="MANAGER_EMAIL" />) bu foydalanuvchining brauzerdagi ish tarixini chrome.com saytida ko‘rishi mumkin.</translation>
@@ -421,6 +430,7 @@
 <translation id="5820394555380036790">Chromium OS</translation>
 <translation id="5837036133683224804"><ph name="ROUTE_TITLE" /> <ph name="RECEIVER_NAME" /> qurilmasiga translatsiya qilinishi to‘xtatilsin</translation>
 <translation id="5860033963881614850">O‘chiq</translation>
+<translation id="5876666360658629066">Ota-ona kodini kiriting</translation>
 <translation id="5887866489674258948">Tungi rejim</translation>
 <translation id="5895138241574237353">Qayta ishga tushirish</translation>
 <translation id="5901316534475909376">Shift + Esc</translation>
@@ -462,6 +472,7 @@
 <translation id="6288235558961782912"><ph name="USER_EMAIL_ADDRESS" /> hisobini keyinroq ota-ona ruxsati bilan qayta kiritish mumkin.</translation>
 <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="6376931439017688372">Bluetooth yoniq</translation>
 <translation id="6381109794406942707">Qurilmani qulfdan chiqarish uchun PIN kodingizni kiriting.</translation>
 <translation id="639644700271529076">CAPS LOCK o‘chiq</translation>
@@ -480,6 +491,7 @@
 <translation id="652139407789908527">Ekran bu safar yangilanish vaqtida odatdagidan uzoqroq yonmay turishi mumkin. Yangilanish vaqtida quvvat tugmasini bosmay turing.</translation>
 <translation id="6527303717912515753">Ulashish</translation>
 <translation id="6528179044667508675">Bezovta qilinmasin</translation>
+<translation id="65320610082834431">Emojilar</translation>
 <translation id="6537270692134705506">Ekranni suratga olish</translation>
 <translation id="6537924328260219877">Signal darajasi: <ph name="SIGNAL_STRENGTH" />, Telefon quvvati: <ph name="BATTERY_STATUS" /></translation>
 <translation id="6542521951477560771"><ph name="RECEIVER_NAME" /> qurilmasiga translatsiya qilinmoqda</translation>
@@ -566,8 +578,10 @@
 <translation id="7568637526529101738">Oʻng klik yoki biroz bosib turilsa, Assistent ekranda tanlangan narsaga mos tavsif yoki birliklar konvertorini chiqaradi.</translation>
 <translation id="7569509451529460200">Brayl yozuvi va ChromeVox yoqildi</translation>
 <translation id="7579778809502851308">Ekranni suratga olish</translation>
+<translation id="7590883480672980941">Kiritish sozlamalari</translation>
 <translation id="7593891976182323525">Search yoki Shift</translation>
 <translation id="7600875258240007829">Barcha bildirishnomalarni ochish</translation>
+<translation id="7618774594543487847">Neytral</translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" />° F</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /> sozlamalarini ochish</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (egasi)</translation>
@@ -664,12 +678,14 @@
 <translation id="8637598503828012618">Himoya: <ph name="CONNECTION_STATUS" />, Signal darajasi: <ph name="SIGNAL_STRENGTH" />, Administrator boshqaruvida</translation>
 <translation id="8639760480004882931"><ph name="PERCENTAGE" /> qoldi</translation>
 <translation id="8646417893960517480"><ph name="TOTAL_TIME" /> taymer</translation>
+<translation id="8647931990447795414">Odam kiritish uchun Family Link ota-ona ruxsat kodini tering</translation>
 <translation id="8649101189709089199">Teginib tinglash</translation>
 <translation id="8652175077544655965">Sozlamalarni yopish</translation>
 <translation id="8653151467777939995">Bildirishnoma sozlamalarini ochish. Bildirishnomalar yoniq</translation>
 <translation id="8660331759611631213">71 sonining kvadrat ildizi</translation>
 <translation id="8663756353922886599">Himoya: <ph name="CONNECTION_STATUS" />, Signal darajasi: <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="8664753092453405566">Tarmoq ro‘yxatini ochish. <ph name="STATE_TEXT" /></translation>
+<translation id="8668052347555487755">Rangli rejim</translation>
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Kam quvvatli zaryadlash vositasi</translation>
 <translation id="8683506306463609433">Unumdorlik kuzatilmoqda</translation>
@@ -693,6 +709,8 @@
 <translation id="8878886163241303700">Yoyilgan ekran</translation>
 <translation id="890616557918890486">Manbani almashtirish</translation>
 <translation id="8909138438987180327">Batareya quvvati: <ph name="PERCENTAGE" />%.</translation>
+<translation id="8913384980486163186">Mavzudagi (standart)</translation>
+<translation id="8918251165865262378">Laptop rejimiga oʻtish</translation>
 <translation id="8921554779039049422">H+</translation>
 <translation id="8921624153894383499">Google Assistent hozircha bu tilda gapirmaydi.</translation>
 <translation id="8936501819958976551">faolsizlantirildi</translation>
diff --git a/ash/system/accessibility/switch_access_back_button_bubble_controller.cc b/ash/system/accessibility/switch_access_back_button_bubble_controller.cc
index 62dd4269..95d8cfa 100644
--- a/ash/system/accessibility/switch_access_back_button_bubble_controller.cc
+++ b/ash/system/accessibility/switch_access_back_button_bubble_controller.cc
@@ -48,6 +48,7 @@
     bubble_view_->SetArrow(views::BubbleBorder::BOTTOM_RIGHT);
     bubble_view_->AddChildView(back_button_view_);
     bubble_view_->set_color(SK_ColorTRANSPARENT);
+    bubble_view_->SetPaintToLayer();
     bubble_view_->layer()->SetFillsBoundsOpaquely(false);
 
     widget_ = views::BubbleDialogDelegateView::CreateBubble(bubble_view_);
diff --git a/ash/system/screen_layout_observer.cc b/ash/system/screen_layout_observer.cc
index 5ad02ed..1b791bd 100644
--- a/ash/system/screen_layout_observer.cc
+++ b/ash/system/screen_layout_observer.cc
@@ -411,13 +411,7 @@
           base::BindRepeating(&OnNotificationClicked)),
       kNotificationScreenIcon,
       message_center::SystemNotificationWarningLevel::NORMAL);
-  // With the reduce display notifications feature enabled, we only want to show
-  // an add display notification, and it should disappear after a couple
-  // seconds.
-  auto priority = features::IsReduceDisplayNotificationsEnabled()
-                      ? message_center::DEFAULT_PRIORITY
-                      : message_center::SYSTEM_PRIORITY;
-  notification->set_priority(priority);
+  notification->set_priority(message_center::SYSTEM_PRIORITY);
 
   Shell::Get()->metrics()->RecordUserMetricsAction(
       UMA_STATUS_AREA_DISPLAY_NOTIFICATION_CREATED);
@@ -468,17 +462,9 @@
     return;
   }
 
-  // Alerting user of display added and unassociated display are allowed even
-  // when suppressed.
-  const bool exited_mirror = old_display_mode_ == DisplayMode::MIRRORING &&
-                             current_display_mode_ != DisplayMode::MIRRORING;
-  const bool display_added =
-      !exited_mirror && old_info.size() < display_info_.size();
-  const bool allowed_notifications =
-      display_added || should_notify_has_unassociated_display;
-
+  // Alerting user unassociated display are allowed even when suppressed.
   if (features::IsReduceDisplayNotificationsEnabled() &&
-      !allowed_notifications) {
+      !should_notify_has_unassociated_display) {
     return;
   }
 
diff --git a/ash/system/screen_layout_observer_unittest.cc b/ash/system/screen_layout_observer_unittest.cc
index 861a851..80c9734 100644
--- a/ash/system/screen_layout_observer_unittest.cc
+++ b/ash/system/screen_layout_observer_unittest.cc
@@ -48,7 +48,6 @@
   void ClickNotification();
   base::string16 GetDisplayNotificationText() const;
   base::string16 GetDisplayNotificationAdditionalText() const;
-  int GetDisplayNotificationPriority() const;
 
   base::string16 GetFirstDisplayName();
 
@@ -106,12 +105,6 @@
   return notification ? notification->message() : base::string16();
 }
 
-int ScreenLayoutObserverTest::GetDisplayNotificationPriority() const {
-  constexpr int kInvalidPriority = 71;
-  const message_center::Notification* notification = GetDisplayNotification();
-  return notification ? notification->priority() : kInvalidPriority;
-}
-
 base::string16 ScreenLayoutObserverTest::GetFirstDisplayName() {
   return base::UTF8ToUTF16(display_manager()->GetDisplayNameForId(
       display_manager()->first_display_id()));
@@ -315,11 +308,9 @@
   UpdateDisplay("400x400/r");
   EXPECT_FALSE(IsNotificationShown());
 
-  // Adding a display still shows a notification.
+  // Adding a display.
   UpdateDisplay("400x400,200x200");
-  EXPECT_TRUE(IsNotificationShown());
-  EXPECT_EQ(message_center::DEFAULT_PRIORITY, GetDisplayNotificationPriority());
-  CloseNotification();
+  EXPECT_FALSE(IsNotificationShown());
 
   const int64_t first_display_id =
       display::Screen::GetScreen()->GetPrimaryDisplay().id();
diff --git a/ash/wm/window_cycle_controller.cc b/ash/wm/window_cycle_controller.cc
index 7622f251..9913b659 100644
--- a/ash/wm/window_cycle_controller.cc
+++ b/ash/wm/window_cycle_controller.cc
@@ -124,11 +124,20 @@
   StopCycling();
 }
 
+void WindowCycleController::StepToWindow(aura::Window* window) {
+  DCHECK(window_cycle_list_);
+  window_cycle_list_->StepToWindow(window);
+}
+
+bool WindowCycleController::IsEventInCycleView(ui::MouseEvent* event) {
+  return window_cycle_list_ && window_cycle_list_->IsEventInCycleView(event);
+}
+
 //////////////////////////////////////////////////////////////////////////////
 // WindowCycleController, private:
 
 void WindowCycleController::Step(Direction direction) {
-  DCHECK(window_cycle_list_.get());
+  DCHECK(window_cycle_list_);
   window_cycle_list_->Step(direction);
 }
 
diff --git a/ash/wm/window_cycle_controller.h b/ash/wm/window_cycle_controller.h
index 2c05b9f..5d3e2f6 100644
--- a/ash/wm/window_cycle_controller.h
+++ b/ash/wm/window_cycle_controller.h
@@ -16,6 +16,10 @@
 class Window;
 }
 
+namespace ui {
+class MouseEvent;
+}
+
 namespace ash {
 
 class WindowCycleEventFilter;
@@ -56,6 +60,12 @@
   void CompleteCycling();
   void CancelCycling();
 
+  // Skip window cycle list directly to |window|.
+  void StepToWindow(aura::Window* window);
+
+  // Checks whether |event| occurs within the cycle view.
+  bool IsEventInCycleView(ui::MouseEvent* event);
+
   // Returns the WindowCycleList.
   const WindowCycleList* window_cycle_list() const {
     return window_cycle_list_.get();
diff --git a/ash/wm/window_cycle_controller_unittest.cc b/ash/wm/window_cycle_controller_unittest.cc
index a523c77d..2b6532c 100644
--- a/ash/wm/window_cycle_controller_unittest.cc
+++ b/ash/wm/window_cycle_controller_unittest.cc
@@ -116,6 +116,13 @@
         ->widget();
   }
 
+  const views::View::Views& GetWindowCycleItemViews() const {
+    return Shell::Get()
+        ->window_cycle_controller()
+        ->window_cycle_list()
+        ->GetWindowCycleItemViewsForTesting();
+  }
+
  private:
   std::unique_ptr<ShelfViewTestAPI> shelf_view_test_;
 
@@ -574,6 +581,11 @@
 
 // While the UI is active, mouse events are captured.
 TEST_F(WindowCycleControllerTest, MouseEventsCaptured) {
+  // Set up a second root window
+  UpdateDisplay("1000x600,600x400");
+  aura::Window::Windows root_windows = Shell::GetAllRootWindows();
+  ASSERT_EQ(2U, root_windows.size());
+
   // This delegate allows the window to receive mouse events.
   aura::test::TestWindowDelegate delegate;
   std::unique_ptr<Window> w0(CreateTestWindowInShellWithDelegate(
@@ -606,6 +618,11 @@
   controller->CompleteCycling();
   generator->ClickLeftButton();
   EXPECT_LT(0, event_count.GetMouseEventCountAndReset());
+
+  // Click somewhere on the second root window.
+  generator->MoveMouseToCenterOf(root_windows[1]);
+  generator->ClickLeftButton();
+  EXPECT_EQ(0, event_count.GetMouseEventCountAndReset());
 }
 
 // Tests that we can cycle past fullscreen windows: https://crbug.com/622396.
@@ -828,6 +845,62 @@
   EXPECT_EQ(win0.get(), window_util::GetActiveWindow());
 }
 
+class InteractiveWindowCycleControllerTest : public WindowCycleControllerTest {
+ public:
+  InteractiveWindowCycleControllerTest() = default;
+  InteractiveWindowCycleControllerTest(const InteractiveWindowCycleControllerTest&) =
+      delete;
+  InteractiveWindowCycleControllerTest& operator=(
+      const InteractiveWindowCycleControllerTest&) = delete;
+  ~InteractiveWindowCycleControllerTest() override = default;
+
+  // WindowCycleControllerTest:
+  void SetUp() override {
+    scoped_feature_list_.InitAndEnableFeature(
+        features::kInteractiveWindowCycleList);
+    WindowCycleControllerTest::SetUp();
+  }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
+};
+
+// When a user hovers their mouse over an item, it should cycle to it.
+// If a user clicks on an item, it should complete cycling and activate
+// the hovered item.
+TEST_F(InteractiveWindowCycleControllerTest, MouseHoverAndSelect) {
+  std::unique_ptr<Window> w0 = CreateTestWindow();
+  std::unique_ptr<Window> w1 = CreateTestWindow();
+  std::unique_ptr<Window> w2 = CreateTestWindow();
+  ui::test::EventGenerator* generator = GetEventGenerator();
+  WindowCycleController* controller = Shell::Get()->window_cycle_controller();
+
+  // Cycle to the third item, mouse over second item, and release alt-tab.
+  // Starting order of windows in cycle list is [2,1,0].
+  controller->HandleCycleWindow(WindowCycleController::FORWARD);
+  controller->HandleCycleWindow(WindowCycleController::FORWARD);
+  generator->MoveMouseTo(
+      GetWindowCycleItemViews()[1]->GetBoundsInScreen().CenterPoint());
+  controller->CompleteCycling();
+  EXPECT_TRUE(wm::IsActiveWindow(w1.get()));
+
+  // Start cycle, mouse over third item, and release alt-tab.
+  // Starting order of windows in cycle list is [1,2,0].
+  controller->StartCycling();
+  generator->MoveMouseTo(
+      GetWindowCycleItemViews()[2]->GetBoundsInScreen().CenterPoint());
+  controller->CompleteCycling();
+  EXPECT_TRUE(wm::IsActiveWindow(w0.get()));
+
+  // Start cycle, mouse over second item, and click.
+  // Starting order of windows in cycle list is [0,1,2].
+  controller->StartCycling();
+  generator->MoveMouseTo(
+      GetWindowCycleItemViews()[1]->GetBoundsInScreen().CenterPoint());
+  generator->PressLeftButton();
+  EXPECT_TRUE(wm::IsActiveWindow(w1.get()));
+}
+
 // Tests that frame throttling starts and ends accordingly when window cycling
 // starts and ends.
 TEST_F(WindowCycleControllerTest, FrameThrottling) {
diff --git a/ash/wm/window_cycle_event_filter.cc b/ash/wm/window_cycle_event_filter.cc
index 609967a..bad5410 100644
--- a/ash/wm/window_cycle_event_filter.cc
+++ b/ash/wm/window_cycle_event_filter.cc
@@ -5,6 +5,7 @@
 #include "ash/wm/window_cycle_event_filter.h"
 
 #include "ash/accelerators/debug_commands.h"
+#include "ash/public/cpp/ash_features.h"
 #include "ash/shell.h"
 #include "ash/wm/window_cycle_controller.h"
 #include "ash/wm/window_cycle_list.h"
@@ -56,6 +57,11 @@
 }
 
 void WindowCycleEventFilter::OnMouseEvent(ui::MouseEvent* event) {
+  if (features::IsInteractiveWindowCycleListEnabled() &&
+      Shell::Get()->window_cycle_controller()->IsEventInCycleView(event)) {
+    return;
+  }
+
   // Prevent mouse clicks from doing anything while the Alt+Tab UI is active
   // <crbug.com/641171> but don't interfere with drag and drop operations
   // <crbug.com/660945>.
diff --git a/ash/wm/window_cycle_list.cc b/ash/wm/window_cycle_list.cc
index 3f3083a..204872f 100644
--- a/ash/wm/window_cycle_list.cc
+++ b/ash/wm/window_cycle_list.cc
@@ -120,6 +120,7 @@
  public:
   explicit WindowCycleItemView(aura::Window* window) : WindowMiniView(window) {
     SetFocusBehavior(FocusBehavior::ALWAYS);
+    set_notify_enter_exit_on_child(true);
   }
   WindowCycleItemView(const WindowCycleItemView&) = delete;
   WindowCycleItemView& operator=(const WindowCycleItemView&) = delete;
@@ -136,6 +137,16 @@
     UpdatePreviewRoundedCorners(/*show=*/true);
   }
 
+  // views::View:
+  void OnMouseEntered(const ui::MouseEvent& event) override {
+    Shell::Get()->window_cycle_controller()->StepToWindow(source_window());
+  }
+
+  bool OnMousePressed(const ui::MouseEvent& event) override {
+    Shell::Get()->window_cycle_controller()->CompleteCycling();
+    return true;
+  }
+
  private:
   // WindowMiniView:
   gfx::Size GetPreviewViewSize() const override {
@@ -413,6 +424,10 @@
     return window_view_map_[target_window_];
   }
 
+  const views::View::Views& GetPreviewViewsForTesting() const {
+    return mirror_container_->children();
+  }
+
   // ui::ImplicitAnimationObserver:
   void OnImplicitAnimationsCompleted() override {
     occlusion_tracker_pauser_.reset();
@@ -481,7 +496,7 @@
   Shell::Get()->frame_throttling_controller()->EndThrottling();
 }
 
-void WindowCycleList::Step(WindowCycleController::Direction direction) {
+void WindowCycleList::Step(int offset) {
   if (windows_.empty())
     return;
 
@@ -499,13 +514,11 @@
     // Special case the situation where we're cycling forward but the MRU
     // window is not active. This occurs when all windows are minimized. The
     // starting window should be the first one rather than the second.
-    if (direction == WindowCycleController::FORWARD &&
-        !wm::IsActiveWindow(windows_[0]))
+    if (offset == 1 && !wm::IsActiveWindow(windows_[0]))
       current_index_ = -1;
   }
 
-  // We're in a valid cycle, so step forward or backward.
-  current_index_ += direction == WindowCycleController::FORWARD ? 1 : -1;
+  current_index_ += offset;
 
   // Wrap to window list size.
   current_index_ = (current_index_ + windows_.size()) % windows_.size();
@@ -520,6 +533,23 @@
   }
 }
 
+void WindowCycleList::Step(WindowCycleController::Direction direction) {
+  Step(direction == WindowCycleController::FORWARD ? 1 : -1);
+}
+
+void WindowCycleList::StepToWindow(aura::Window* window) {
+  auto target_window = std::find(windows_.begin(), windows_.end(), window);
+  DCHECK(target_window != windows_.end());
+  int target_index = std::distance(windows_.begin(), target_window);
+
+  Step(target_index - current_index_);
+}
+
+bool WindowCycleList::IsEventInCycleView(ui::MouseEvent* event) {
+  return cycle_view_->GetBoundsInScreen().Contains(
+      display::Screen::GetScreen()->GetCursorScreenPoint());
+}
+
 // static
 void WindowCycleList::DisableInitialDelayForTesting() {
   g_disable_initial_delay = true;
@@ -644,4 +674,9 @@
   window_selected_ = true;
 }
 
+const views::View::Views& WindowCycleList::GetWindowCycleItemViewsForTesting()
+    const {
+  return cycle_view_->GetPreviewViewsForTesting();
+}
+
 }  // namespace ash
diff --git a/ash/wm/window_cycle_list.h b/ash/wm/window_cycle_list.h
index bd37a74..d24a23c 100644
--- a/ash/wm/window_cycle_list.h
+++ b/ash/wm/window_cycle_list.h
@@ -15,6 +15,7 @@
 #include "ui/aura/window_observer.h"
 #include "ui/display/display_observer.h"
 #include "ui/display/screen.h"
+#include "ui/views/view.h"
 
 namespace aura {
 class ScopedWindowTargeter;
@@ -44,6 +45,12 @@
   // Cycles to the next or previous window based on |direction|.
   void Step(WindowCycleController::Direction direction);
 
+  // Skip window cycle list directly to |window|.
+  void StepToWindow(aura::Window* window);
+
+  // Checks whether |event| occurs within the cycle view.
+  bool IsEventInCycleView(ui::MouseEvent* event);
+
   void set_user_did_accept(bool user_did_accept) {
     user_did_accept_ = user_did_accept;
   }
@@ -76,6 +83,12 @@
   // PIP.
   void SelectWindow(aura::Window* window);
 
+  // Cycles windows by |offset|.
+  void Step(int offset);
+
+  // Returns the views for the window cycle list.
+  const views::View::Views& GetWindowCycleItemViewsForTesting() const;
+
   // List of weak pointers to windows to use while cycling with the keyboard.
   // List is built when the user initiates the gesture (i.e. hits alt-tab the
   // first time) and is emptied when the gesture is complete (i.e. releases the
diff --git a/base/trace_event/traced_value.cc b/base/trace_event/traced_value.cc
index 68e7dc8..e4cb0067 100644
--- a/base/trace_event/traced_value.cc
+++ b/base/trace_event/traced_value.cc
@@ -597,6 +597,11 @@
   writer_->AppendString(value);
 }
 
+void TracedValue::AppendPointer(void* value) {
+  DCHECK_CURRENT_CONTAINER_IS(kStackTypeArray);
+  writer_->AppendString(PointerToString(value));
+}
+
 void TracedValue::BeginArray() {
   DCHECK_CURRENT_CONTAINER_IS(kStackTypeArray);
   DEBUG_PUSH_CONTAINER(kStackTypeArray);
@@ -642,71 +647,218 @@
   writer_->EstimateTraceMemoryOverhead(overhead);
 }
 
-TracedValue::DictionaryItem::DictionaryItem(const char* name, int value) {
-  name_ = name;
+TracedValue::Array::Array(const std::initializer_list<ArrayItem> items) {
+  items_ = std::move(items);
+}
+
+TracedValue::Array::Array(TracedValue::Array&& other) {
+  items_ = std::move(other.items_);
+}
+
+void TracedValue::Array::WriteToValue(TracedValue* value) const {
+  for (const auto& item : items_) {
+    item.WriteToValue(value);
+  }
+}
+
+TracedValue::Dictionary::Dictionary(
+    const std::initializer_list<DictionaryItem> items) {
+  items_ = items;
+}
+
+TracedValue::Dictionary::Dictionary(TracedValue::Dictionary&& other) {
+  items_ = std::move(other.items_);
+}
+
+void TracedValue::Dictionary::WriteToValue(TracedValue* value) const {
+  for (const auto& item : items_) {
+    item.WriteToValue(value);
+  }
+}
+
+TracedValue::ValueHolder::ValueHolder(int value) {
   kept_value_.int_value = value;
   kept_value_type_ = KeptValueType::kIntType;
 }
 
-TracedValue::DictionaryItem::DictionaryItem(const char* name, double value) {
-  name_ = name;
+TracedValue::ValueHolder::ValueHolder(double value) {
   kept_value_.double_value = value;
   kept_value_type_ = KeptValueType::kDoubleType;
 }
 
-TracedValue::DictionaryItem::DictionaryItem(const char* name, bool value) {
-  name_ = name;
+TracedValue::ValueHolder::ValueHolder(bool value) {
   kept_value_.bool_value = value;
   kept_value_type_ = KeptValueType::kBoolType;
 }
 
-TracedValue::DictionaryItem::DictionaryItem(const char* name,
-                                            base::StringPiece value) {
-  name_ = name;
+TracedValue::ValueHolder::ValueHolder(base::StringPiece value) {
   kept_value_.string_piece_value = value;
   kept_value_type_ = KeptValueType::kStringPieceType;
 }
 
-TracedValue::DictionaryItem::DictionaryItem(const char* name, void* value) {
-  name_ = name;
+TracedValue::ValueHolder::ValueHolder(std::string value) {
+  new (&kept_value_.std_string_value) std::string(std::move(value));
+  kept_value_type_ = KeptValueType::kStdStringType;
+}
+
+TracedValue::ValueHolder::ValueHolder(void* value) {
   kept_value_.void_ptr_value = value;
   kept_value_type_ = KeptValueType::kVoidPtrType;
 }
 
-TracedValue::DictionaryItem::DictionaryItem(const char* name,
-                                            const char* value) {
-  name_ = name;
+TracedValue::ValueHolder::ValueHolder(const char* value) {
   kept_value_.string_piece_value = value;
   kept_value_type_ = KeptValueType::kStringPieceType;
 }
 
-void TracedValue::DictionaryItem::WriteToValue(TracedValue* value) const {
-  switch (kept_value_type_) {
+TracedValue::ValueHolder::ValueHolder(TracedValue::Dictionary& value) {
+  new (&kept_value_.dictionary_value) TracedValue::Dictionary(std::move(value));
+  kept_value_type_ = KeptValueType::kDictionaryType;
+}
+
+TracedValue::ValueHolder::ValueHolder(TracedValue::Array& value) {
+  new (&kept_value_.array_value) TracedValue::Array(std::move(value));
+  kept_value_type_ = KeptValueType::kArrayType;
+}
+
+TracedValue::ValueHolder::ValueHolder(TracedValue::ValueHolder&& other) {
+  // Remember to call a destructor if necessary.
+  if (kept_value_type_ == KeptValueType::kStdStringType) {
+    delete (&kept_value_.std_string_value);
+  }
+  switch (other.kept_value_type_) {
     case KeptValueType::kIntType: {
-      value->SetInteger(name_, kept_value_.int_value);
+      kept_value_.int_value = other.kept_value_.int_value;
       break;
     }
     case KeptValueType::kDoubleType: {
-      value->SetDouble(name_, kept_value_.double_value);
+      kept_value_.double_value = other.kept_value_.double_value;
       break;
     }
     case KeptValueType::kBoolType: {
-      value->SetBoolean(name_, kept_value_.bool_value);
+      kept_value_.bool_value = other.kept_value_.bool_value;
       break;
     }
     case KeptValueType::kStringPieceType: {
-      value->SetString(name_, kept_value_.string_piece_value);
+      kept_value_.string_piece_value = other.kept_value_.string_piece_value;
+      break;
+    }
+    case KeptValueType::kStdStringType: {
+      new (&kept_value_.std_string_value)
+          std::string(std::move(other.kept_value_.std_string_value));
       break;
     }
     case KeptValueType::kVoidPtrType: {
-      value->SetPointer(name_, kept_value_.void_ptr_value);
+      kept_value_.void_ptr_value = other.kept_value_.void_ptr_value;
+      break;
+    }
+    case KeptValueType::kArrayType: {
+      new (&kept_value_.array_value)
+          TracedValue::Array(std::move(other.kept_value_.array_value));
+      break;
+    }
+    case KeptValueType::kDictionaryType: {
+      new (&kept_value_.dictionary_value) TracedValue::Dictionary(
+          std::move(other.kept_value_.dictionary_value));
+      break;
+    }
+  }
+  kept_value_type_ = other.kept_value_type_;
+}
+
+void TracedValue::ValueHolder::WriteToValue(TracedValue* value) const {
+  switch (kept_value_type_) {
+    case KeptValueType::kIntType: {
+      value->AppendInteger(kept_value_.int_value);
+      break;
+    }
+    case KeptValueType::kDoubleType: {
+      value->AppendDouble(kept_value_.double_value);
+      break;
+    }
+    case KeptValueType::kBoolType: {
+      value->AppendBoolean(kept_value_.bool_value);
+      break;
+    }
+    case KeptValueType::kStringPieceType: {
+      value->AppendString(kept_value_.string_piece_value);
+      break;
+    }
+    case KeptValueType::kStdStringType: {
+      value->AppendString(kept_value_.std_string_value);
+      break;
+    }
+    case KeptValueType::kVoidPtrType: {
+      value->AppendPointer(kept_value_.void_ptr_value);
+      break;
+    }
+    case KeptValueType::kArrayType: {
+      value->BeginArray();
+      kept_value_.array_value.WriteToValue(value);
+      value->EndArray();
+      break;
+    }
+    case KeptValueType::kDictionaryType: {
+      value->BeginDictionary();
+      kept_value_.dictionary_value.WriteToValue(value);
+      value->EndDictionary();
       break;
     }
   }
 }
 
+void TracedValue::ValueHolder::WriteToValue(const char* name,
+                                            TracedValue* value) const {
+  switch (kept_value_type_) {
+    case KeptValueType::kIntType: {
+      value->SetInteger(name, kept_value_.int_value);
+      break;
+    }
+    case KeptValueType::kDoubleType: {
+      value->SetDouble(name, kept_value_.double_value);
+      break;
+    }
+    case KeptValueType::kBoolType: {
+      value->SetBoolean(name, kept_value_.bool_value);
+      break;
+    }
+    case KeptValueType::kStringPieceType: {
+      value->SetString(name, kept_value_.string_piece_value);
+      break;
+    }
+    case KeptValueType::kStdStringType: {
+      value->SetString(name, kept_value_.std_string_value);
+      break;
+    }
+    case KeptValueType::kVoidPtrType: {
+      value->SetPointer(name, kept_value_.void_ptr_value);
+      break;
+    }
+    case KeptValueType::kArrayType: {
+      value->BeginArray(name);
+      kept_value_.array_value.WriteToValue(value);
+      value->EndArray();
+      break;
+    }
+    case KeptValueType::kDictionaryType: {
+      value->BeginDictionary(name);
+      kept_value_.dictionary_value.WriteToValue(value);
+      value->EndDictionary();
+      break;
+    }
+  }
+}
+
+void TracedValue::ArrayItem::WriteToValue(TracedValue* value) const {
+  ValueHolder::WriteToValue(value);
+}
+
+void TracedValue::DictionaryItem::WriteToValue(TracedValue* value) const {
+  ValueHolder::WriteToValue(name_, value);
+}
+
 std::unique_ptr<TracedValue> TracedValue::Build(
-    std::initializer_list<DictionaryItem> items) {
+    const std::initializer_list<DictionaryItem> items) {
   std::unique_ptr<TracedValue> value(new TracedValue());
   for (const auto& item : items) {
     item.WriteToValue(value.get());
diff --git a/base/trace_event/traced_value.h b/base/trace_event/traced_value.h
index bdb6784..58fc2f3 100644
--- a/base/trace_event/traced_value.h
+++ b/base/trace_event/traced_value.h
@@ -57,6 +57,7 @@
   void AppendDouble(double);
   void AppendBoolean(bool);
   void AppendString(base::StringPiece);
+  void AppendPointer(void*);
   void BeginArray();
   void BeginDictionary();
 
@@ -66,57 +67,131 @@
 
   void EstimateTraceMemoryOverhead(TraceEventMemoryOverhead* overhead) override;
 
-  // TracedValue::Build is a friend of TracedValue::DictionaryItem.
+  class BASE_EXPORT Array;
+  class BASE_EXPORT Dictionary;
+  class BASE_EXPORT ValueHolder;
+  class BASE_EXPORT ArrayItem;
   class BASE_EXPORT DictionaryItem;
 
-  // Helper to enable easier initialization of TracedValue. This is intended for
-  // quick local debugging as there is overhead of creating
-  // std::initializer_list of name-value objects. This method does not support
-  // creation of dictionaries or arrays.
+  // Helper to enable easier initialization of |TracedValue|. This is intended
+  // for quick local debugging as there is overhead of creating
+  // |std::initializer_list| of name-value objects (in the case of containers
+  // the value is also a |std::initializer_list|). Generally the helper types
+  // |TracedValue::Dictionary|, |TracedValue::Array|,
+  // |TracedValue::DictionaryItem|, |TracedValue::ArrayItem| must be valid as
+  // well as their internals (e.g., |base::StringPiece| data should be valid
+  // when |TracedValue::Build| is called; |TracedValue::Array| or
+  // |TracedValue::Dictionary| holds a |std::initializer_list| whose underlying
+  // array needs to be valid when calling |TracedValue::Build|).
   //
   // Example:
   //    auto value = TracedValue::Build({
   //      {"int_var_name", 42},
   //      {"double_var_name", 3.14},
-  //      {"string_var_name", "hello world"}
+  //      {"string_var_name", "hello world"},
+  //      {"empty_array", TracedValue::Array({})},
+  //      {"dictionary", TracedValue::Dictionary({
+  //        {"my_ptr", static_cast<void*>(my_ptr)},
+  //        {"nested_array", TracedValue::Array({1, false, 0.5})},
+  //      })},
   //    });
-  //
-  // |name| is assumed to be a long lived "quoted" string.
   static std::unique_ptr<TracedValue> Build(
-      std::initializer_list<DictionaryItem> items);
+      const std::initializer_list<DictionaryItem> items);
 
-  // DictionaryItem instance represents a single name-value pair.
-  class DictionaryItem {
+  // An |Array| instance represents an array of |ArrayItem| objects. This is a
+  // helper to allow initializer list like construction of arrays using
+  // |TracedValue::Build|.
+  //
+  // An instance holds an |std::initializer_list<TracedValue::ArrayItem>| and is
+  // cheap to copy (copying the initializer_list does not copy the underlying
+  // objects). The underlying array must exist at the time when
+  // |TracedValue::Build| is called.
+  class Array {
    public:
-    // These constructors assume that |name| is a long lived "quoted" string.
-    DictionaryItem(const char* name, int value);
-    DictionaryItem(const char* name, double value);
-    DictionaryItem(const char* name, bool value);
-    DictionaryItem(const char* name, void* value);
+    // This constructor expects that the initializer_list is valid when
+    // |TracedValue::Build| is called.
+    Array(const std::initializer_list<ArrayItem> items);
+    Array(Array&&);
+    void WriteToValue(TracedValue* value) const;
+
+   private:
+    std::initializer_list<ArrayItem> items_;
+  };
+
+  // A helper to hold a dictionary. Similar to |TracedValue::Array|.
+  class Dictionary {
+   public:
+    // This constructor expects that the initializer_list is valid when
+    // |TracedValue::Build| is called.
+    Dictionary(const std::initializer_list<DictionaryItem> items);
+    Dictionary(Dictionary&&);
+    void WriteToValue(TracedValue* value) const;
+
+   private:
+    std::initializer_list<DictionaryItem> items_;
+  };
+
+  // A |ValueHolder| holds a single value or a container (int, double... or an
+  // |Array| / |Dictionary|). Not to be used outside of the context of
+  // |TracedValue::Build| (has one parameter implicit constructors).
+  //
+  // Base class for |TracedValue::ArrayItem| and |TracedValue::DictionaryItem|.
+  class ValueHolder {
+   public:
+    // Implicit constructors allow constructing |DictionaryItem| without having
+    // to write |{"name", TracedValue::ValueHolder(1)}|.
+    ValueHolder(int value);     // NOLINT(google-explicit-constructor)
+    ValueHolder(double value);  // NOLINT(google-explicit-constructor)
+    ValueHolder(bool value);    // NOLINT(google-explicit-constructor)
+    ValueHolder(void* value);   // NOLINT(google-explicit-constructor)
     // StringPiece's backing storage / const char* pointer needs to remain valid
     // until TracedValue::Build is called.
-    DictionaryItem(const char* name, base::StringPiece value);
+    // NOLINTNEXTLINE(google-explicit-constructor)
+    ValueHolder(base::StringPiece value);
+    // Create a copy to avoid holding a reference to a non-existing string:
+    //
+    // Example:
+    //   TracedValue::Build({{"my_string", std::string("std::string value")}});
+    // Explanation:
+    //   1. std::string temporary is passed to the constructor of |ValueHolder|.
+    //   2. |ValueHolder| is passed to the constructor of |DictionaryItem|.
+    //   3. |Build| iterates initializer_list of |DictionaryItems|.
+    //
+    //   If the original |ValueHolder| kept just a reference to the string (or
+    //   a |base::StringPiece|) then |Build| is undefined behaviour, as it is
+    //   passing a reference to an out-of-scope temporary to
+    //   |TracedValue::SetString|.
+    // NOLINTNEXTLINE(google-explicit-constructor)
+    ValueHolder(std::string value);
     // Define an explicit overload for const char* to resolve the ambiguity
     // between the base::StringPiece, void*, and bool constructors for string
     // literals.
-    DictionaryItem(const char* name, const char* value);
+    ValueHolder(const char* value);  // NOLINT(google-explicit-constructor)
+    ValueHolder(Array& value);       // NOLINT(google-explicit-constructor)
+    ValueHolder(Dictionary& value);  // NOLINT(google-explicit-constructor)
+    ValueHolder(ValueHolder&&);
+
+   protected:
+    void WriteToValue(TracedValue* value) const;
+    void WriteToValue(const char* name, TracedValue* value) const;
 
    private:
-    friend std::unique_ptr<TracedValue> TracedValue::Build(
-        std::initializer_list<DictionaryItem> items);
-
-    void WriteToValue(TracedValue* value) const;
-
     union KeptValue {
+      // Copy is handled by the holder (based on
+      // |TracedValue::ValueHolder::kept_value_type_|).
       int int_value;
       double double_value;
       bool bool_value;
       base::StringPiece string_piece_value;
+      std::string std_string_value;
       void* void_ptr_value;
+      Array array_value;
+      Dictionary dictionary_value;
 
       // Default constructor is implicitly deleted because union field has a
       // non-trivial default constructor.
-      KeptValue() {}
+      KeptValue() {}   // NOLINT(modernize-use-equals-default)
+      ~KeptValue() {}  // NOLINT(modernize-use-equals-default)
     };
 
     // Reimplementing a subset of C++17 std::variant.
@@ -125,14 +200,45 @@
       kDoubleType,
       kBoolType,
       kStringPieceType,
+      kStdStringType,
       kVoidPtrType,
+      kArrayType,
+      kDictionaryType,
     };
 
     KeptValue kept_value_;
-    const char* name_;
     KeptValueType kept_value_type_;
   };
 
+  // |ArrayItem| is a |ValueHolder| which can be used to construct an |Array|.
+  class ArrayItem : public ValueHolder {
+   public:
+    // Implicit constructors allow calling |TracedValue::Array({1, true, 3.14})|
+    // instead of |TracedValue::Array({TracedValue::ArrayItem(1),
+    // TracedValue::ArrayItem(true), TracedValue::ArrayItem(3.14)})|.
+    template <typename T>
+    // NOLINTNEXTLINE(google-explicit-constructor)
+    ArrayItem(T value) : ValueHolder(value) {}
+
+    void WriteToValue(TracedValue* value) const;
+  };
+
+  // |DictionaryItem| instance represents a single name-value pair.
+  //
+  // |name| is assumed to be a long lived "quoted" string.
+  class DictionaryItem : public ValueHolder {
+   public:
+    // These constructors assume that |name| is a long lived "quoted" string.
+    template <typename T>
+    DictionaryItem(const char* name, T value)
+        : ValueHolder(value), name_(name) {}
+
+    void WriteToValue(TracedValue* value) const;
+
+   private:
+    const char* name_;
+  };
+
   // A custom serialization class can be supplied by implementing the
   // Writer interface and supplying a factory class to SetWriterFactoryCallback.
   // Primarily used by Perfetto to write TracedValues directly into its proto
diff --git a/base/trace_event/traced_value_unittest.cc b/base/trace_event/traced_value_unittest.cc
index 86e6ec4..24238a78 100644
--- a/base/trace_event/traced_value_unittest.cc
+++ b/base/trace_event/traced_value_unittest.cc
@@ -15,6 +15,31 @@
 namespace base {
 namespace trace_event {
 
+TEST(TraceEventArgumentTest, InitializerListCreatedContainers) {
+  std::string json;
+  TracedValue::Build(
+      {
+          {"empty_array", TracedValue::Array({})},
+          {"empty_dictionary", TracedValue::Dictionary({})},
+          {"nested_array", TracedValue::Array({
+                               TracedValue::Array({}),
+                               TracedValue::Dictionary({}),
+                               true,
+                           })},
+          {"nested_dictionary", TracedValue::Dictionary({
+                                    {"d", TracedValue::Dictionary({})},
+                                    {"a", TracedValue::Array({})},
+                                    {"b", true},
+                                })},
+      })
+      ->AppendAsTraceFormat(&json);
+  EXPECT_EQ(
+      "{\"empty_array\":[],\"empty_dictionary\":{},"
+      "\"nested_array\":[[],{},true],"
+      "\"nested_dictionary\":{\"d\":{},\"a\":[],\"b\":true}}",
+      json);
+}
+
 TEST(TraceEventArgumentTest, InitializerListCreatedFlatDictionary) {
   std::string json;
   TracedValue::Build({{"bool_var", true},
@@ -28,23 +53,34 @@
       json);
 }
 
+std::string SayHello() {
+  // Create a string by concatenating two strings, so that there is no literal
+  // corresponding to the result.
+  return std::string("hello ") + std::string("world");
+}
+
 TEST(TraceEventArgumentTest, StringAndPointerConstructors) {
   std::string json;
   const char* const_char_ptr_var = "const char* value";
-  TracedValue::Build({
-                         {"literal_var", "literal"},
-                         {"std_string_var", std::string("std::string value")},
-                         {"base_string_piece_var",
-                          base::StringPiece("base::StringPiece value")},
-                         {"const_char_ptr_var", const_char_ptr_var},
-                         {"void_nullptr", static_cast<void*>(nullptr)},
-                         {"int_nullptr", static_cast<int*>(nullptr)},
-                         {"void_1234ptr", reinterpret_cast<void*>(0x1234)},
-                     })
+  TracedValue::Build(
+      {
+          {"literal_var", "literal"},
+          {"std_string_var", std::string("std::string value")},
+          {"string_from_function", SayHello()},
+          {"string_from_lambda", []() { return std::string("hello"); }()},
+          {"base_string_piece_var",
+           base::StringPiece("base::StringPiece value")},
+          {"const_char_ptr_var", const_char_ptr_var},
+          {"void_nullptr", static_cast<void*>(nullptr)},
+          {"int_nullptr", static_cast<int*>(nullptr)},
+          {"void_1234ptr", reinterpret_cast<void*>(0x1234)},
+      })
       ->AppendAsTraceFormat(&json);
   EXPECT_EQ(
       "{\"literal_var\":\"literal\","
       "\"std_string_var\":\"std::string value\","
+      "\"string_from_function\":\"hello world\","
+      "\"string_from_lambda\":\"hello\","
       "\"base_string_piece_var\":\"base::StringPiece value\","
       "\"const_char_ptr_var\":\"const char* value\","
       "\"void_nullptr\":\"0x0\","
diff --git a/base/util/type_safety/strong_alias.h b/base/util/type_safety/strong_alias.h
index ea939282..df49749 100644
--- a/base/util/type_safety/strong_alias.h
+++ b/base/util/type_safety/strong_alias.h
@@ -70,7 +70,8 @@
  public:
   constexpr StrongAlias() = default;
   constexpr explicit StrongAlias(const UnderlyingType& v) : value_(v) {}
-  constexpr explicit StrongAlias(UnderlyingType&& v) : value_(std::move(v)) {}
+  constexpr explicit StrongAlias(UnderlyingType&& v) noexcept
+      : value_(std::move(v)) {}
 
   constexpr UnderlyingType& value() & { return value_; }
   constexpr const UnderlyingType& value() const& { return value_; }
diff --git a/build/android/gyp/util/manifest_utils.py b/build/android/gyp/util/manifest_utils.py
index b6fb498..a9e22f3d 100644
--- a/build/android/gyp/util/manifest_utils.py
+++ b/build/android/gyp/util/manifest_utils.py
@@ -6,6 +6,7 @@
 
 import hashlib
 import os
+import re
 import shlex
 import xml.dom.minidom as minidom
 
@@ -121,12 +122,39 @@
                                                               package))
 
 
-def _SortAndStripElementTree(tree, reverse_toplevel=False):
-  for node in tree:
-    if node.text and node.text.isspace():
-      node.text = None
-    _SortAndStripElementTree(node)
-  tree[:] = sorted(tree, key=ElementTree.tostring, reverse=reverse_toplevel)
+def _SortAndStripElementTree(root):
+  def sort_key(node):
+    ret = ElementTree.tostring(node)
+    # ElementTree.tostring inserts namespace attributes for any that are needed
+    # for the node or any of its descendants. Remove them so as to prevent a
+    # change to a child that adds/removes a namespace usage from changing sort
+    # order.
+    return re.sub(r' xmlns:.*?".*?"', '', ret)
+
+  def helper(node):
+    for child in node:
+      if child.text and child.text.isspace():
+        child.text = None
+      helper(child)
+    node[:] = sorted(node, key=sort_key)
+
+  def rename_attrs(node, from_name, to_name):
+    value = node.attrib.get(from_name)
+    if value is not None:
+      node.attrib[to_name] = value
+      del node.attrib[from_name]
+    for child in node:
+      rename_attrs(child, from_name, to_name)
+
+  # Sort alphabetically with two exceptions:
+  # 1) Put <application> node last (since it's giant).
+  # 2) Pretend android:name appears before other attributes.
+  app_node = root.find('application')
+  app_node.tag = 'zz'
+  rename_attrs(root, '{%s}name' % ANDROID_NAMESPACE, '__name__')
+  helper(root)
+  rename_attrs(root, '__name__', '{%s}name' % ANDROID_NAMESPACE)
+  app_node.tag = 'application'
 
 
 def _SplitElement(line):
@@ -256,8 +284,7 @@
   for child in root.getchildren():
     blur_package_name(child)
 
-  # Sort nodes alphabetically, recursively.
-  _SortAndStripElementTree(root, reverse_toplevel=True)
+  _SortAndStripElementTree(root)
 
   # Fix up whitespace/indentation.
   dom = minidom.parseString(ElementTree.tostring(root))
diff --git a/build/android/gyp/util/manifest_utils_test.py b/build/android/gyp/util/manifest_utils_test.py
index 78c2172..fe251960 100755
--- a/build/android/gyp/util/manifest_utils_test.py
+++ b/build/android/gyp/util/manifest_utils_test.py
@@ -53,9 +53,9 @@
     tools:ignore="MissingVersion"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
-  <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="30"/>
   <uses-feature android:name="android.hardware.vr.headtracking" \
 android:required="false" android:version="1"/>
+  <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="30"/>
   <application android:name="testname">
     <activity  # DIFF-ANCHOR: {activity_diff_anchor}
         {extra_activity_attr}android:icon="@drawable/ic_devices_48dp"
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 8166e38..bafffe2 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -147,6 +147,10 @@
        (is_win && target_cpu == "x86") || (is_win && target_cpu == "x64") ||
        (is_android && target_cpu == "arm") ||
        (is_android && target_cpu == "arm64"))
+
+  # Turn off the --call-graph-profile-sort flag for lld by default. Enable
+  # selectively for targets where it's beneficial.
+  enable_call_graph_profile_sort = false
 }
 
 declare_args() {
@@ -701,7 +705,7 @@
   # present. On Android this increases binary size due to more thinks for long
   # jumps. Turn it off by default and enable selectively for targets where it's
   # beneficial.
-  if (use_lld) {
+  if (use_lld && !enable_call_graph_profile_sort) {
     if (is_win) {
       ldflags += [ "/call-graph-profile-sort:no" ]
     } else {
diff --git a/build/config/ios/ios_test_runner_wrapper.gni b/build/config/ios/ios_test_runner_wrapper.gni
index 7d6282a..e6577d5c 100644
--- a/build/config/ios/ios_test_runner_wrapper.gni
+++ b/build/config/ios/ios_test_runner_wrapper.gni
@@ -134,6 +134,7 @@
       "//testing/test_env.py",
       "//.vpython",
       "//ios/build/bots/scripts/",
+      "//testing/test_env.py",
     ]
   }
 }
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index f882ee1..d91efd5 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-0.20200820.2.1
+0.20200821.0.1
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1
index 09f9e7f..d91efd5 100644
--- a/build/fuchsia/mac.sdk.sha1
+++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@
-0.20200820.1.1
+0.20200821.0.1
diff --git a/build/install-build-deps.sh b/build/install-build-deps.sh
index 600f922..6310137 100755
--- a/build/install-build-deps.sh
+++ b/build/install-build-deps.sh
@@ -225,7 +225,7 @@
 # 64-bit systems need a minimum set of 32-bit compat packages for the pre-built
 # NaCl binaries.
 if file -L /sbin/init | grep -q 'ELF 64-bit'; then
-  dev_list="${dev_list} libc6-i386 lib32gcc1 lib32stdc++6"
+  dev_list="${dev_list} libc6-i386 lib32gcc-s1 lib32stdc++6"
 fi
 
 # Run-time libraries required by chromeos only
diff --git a/cc/debug/debug_colors.cc b/cc/debug/debug_colors.cc
index ef1e92b5..2a44a9d 100644
--- a/cc/debug/debug_colors.cc
+++ b/cc/debug/debug_colors.cc
@@ -325,6 +325,7 @@
 SkColor DebugColors::NonLCDTextHighlightColor(LCDTextDisallowedReason reason) {
   switch (reason) {
     case LCDTextDisallowedReason::kNone:
+    case LCDTextDisallowedReason::kNoText:
       return SK_ColorTRANSPARENT;
     case LCDTextDisallowedReason::kSetting:
       return SkColorSetARGB(96, 128, 255, 0);
diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc
index cfff4d3..0c54d0b 100644
--- a/cc/layers/layer.cc
+++ b/cc/layers/layer.cc
@@ -80,7 +80,6 @@
       contents_opaque_for_text(false),
       is_drawable(false),
       double_sided(true),
-      has_will_change_transform_hint(false),
       background_color(0) {}
 
 Layer::Inputs::~Inputs() = default;
@@ -1353,7 +1352,6 @@
     layer->set_needs_show_scrollbars(true);
 
   layer->UnionUpdateRect(inputs_.update_rect);
-  layer->SetHasWillChangeTransformHint(has_will_change_transform_hint());
   layer->SetNeedsPushProperties();
 
   // debug_info_->invalidations, if exist, will be cleared in the function.
@@ -1456,13 +1454,6 @@
   EnsureLayerTreeInputs().transform = transform;
 }
 
-void Layer::SetHasWillChangeTransformHint(bool has_will_change) {
-  if (inputs_.has_will_change_transform_hint == has_will_change)
-    return;
-  inputs_.has_will_change_transform_hint = has_will_change;
-  SetNeedsCommit();
-}
-
 void Layer::SetTrilinearFiltering(bool trilinear_filtering) {
   auto& inputs = EnsureLayerTreeInputs();
   if (inputs.trilinear_filtering == trilinear_filtering)
diff --git a/cc/layers/layer.h b/cc/layers/layer.h
index 8a8d212..0e373183 100644
--- a/cc/layers/layer.h
+++ b/cc/layers/layer.h
@@ -546,17 +546,6 @@
   void SetElementId(ElementId id);
   ElementId element_id() const { return inputs_.element_id; }
 
-  // Sets or gets a hint that the transform on this layer (including its
-  // position) may be changed often in the future. The layer may change its
-  // strategy for generating content as a result. PictureLayers will not attempt
-  // to raster crisply as the transform changes, allowing the client to trade
-  // off crisp content at each scale for a smoother visual and cheaper
-  // animation.
-  void SetHasWillChangeTransformHint(bool has_will_change);
-  bool has_will_change_transform_hint() const {
-    return inputs_.has_will_change_transform_hint;
-  }
-
   // For layer tree mode only.
   // Sets or gets if trilinear filtering should be used to scaling the contents
   // of this layer and its subtree. When set the layer and its subtree will be
@@ -846,8 +835,6 @@
 
     bool double_sided : 1;
 
-    bool has_will_change_transform_hint : 1;
-
     SkColor background_color;
 
     Region non_fast_scrollable_region;
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc
index cda2c0f..3d9f110 100644
--- a/cc/layers/layer_impl.cc
+++ b/cc/layers/layer_impl.cc
@@ -68,7 +68,6 @@
       clip_tree_index_(ClipTree::kInvalidNodeId),
       scroll_tree_index_(ScrollTree::kInvalidNodeId),
       current_draw_mode_(DRAW_MODE_NONE),
-      has_will_change_transform_hint_(false),
       needs_push_properties_(false),
       scrollbars_hidden_(false),
       needs_show_scrollbars_(false),
@@ -90,10 +89,6 @@
       TRACE_DISABLED_BY_DEFAULT("cc.debug"), "cc::LayerImpl", this);
 }
 
-void LayerImpl::SetHasWillChangeTransformHint(bool has_will_change) {
-  has_will_change_transform_hint_ = has_will_change;
-}
-
 ElementListType LayerImpl::GetElementTypeForAnimation() const {
   return IsActive() ? ElementListType::ACTIVE : ElementListType::PENDING;
 }
@@ -392,7 +387,6 @@
   layer->effect_tree_index_ = effect_tree_index_;
   layer->clip_tree_index_ = clip_tree_index_;
   layer->scroll_tree_index_ = scroll_tree_index_;
-  layer->has_will_change_transform_hint_ = has_will_change_transform_hint_;
   layer->scrollbars_hidden_ = scrollbars_hidden_;
   if (needs_show_scrollbars_)
     layer->needs_show_scrollbars_ = needs_show_scrollbars_;
@@ -715,9 +709,6 @@
   state->SetBoolean("hit_testable", HitTestable());
   state->SetBoolean("contents_opaque", contents_opaque());
 
-  state->SetBoolean("has_will_change_transform_hint",
-                    has_will_change_transform_hint());
-
   if (debug_info_) {
     state->SetString("layer_name", debug_info_->name);
     if (debug_info_->owner_node_id)
diff --git a/cc/layers/layer_impl.h b/cc/layers/layer_impl.h
index 3df5d1e..79bfa558 100644
--- a/cc/layers/layer_impl.h
+++ b/cc/layers/layer_impl.h
@@ -387,11 +387,6 @@
   void NoteLayerPropertyChanged();
   void NoteLayerPropertyChangedFromPropertyTrees();
 
-  void SetHasWillChangeTransformHint(bool has_will_change);
-  bool has_will_change_transform_hint() const {
-    return has_will_change_transform_hint_;
-  }
-
   ElementListType GetElementTypeForAnimation() const;
 
   void set_needs_show_scrollbars(bool yes) { needs_show_scrollbars_ = yes; }
@@ -525,7 +520,6 @@
   // |touch_action_region_|.
   mutable std::unique_ptr<Region> all_touch_action_regions_;
 
-  bool has_will_change_transform_hint_ : 1;
   bool needs_push_properties_ : 1;
   bool scrollbars_hidden_ : 1;
 
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index 17f0b046..6684933 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -828,8 +828,20 @@
   return true;
 }
 
+bool PictureLayerImpl::HasWillChangeTransformHint() const {
+  TransformNode* transform_node =
+      GetTransformTree().Node(transform_tree_index());
+  return transform_node && transform_node->will_change_transform;
+}
+
 LCDTextDisallowedReason PictureLayerImpl::ComputeLCDTextDisallowedReason(
     bool raster_translation_aligns_pixels) const {
+  // No need to use LCD text if there is no text.
+  if (!raster_source_ || !raster_source_->GetDisplayItemList() ||
+      !raster_source_->GetDisplayItemList()->has_draw_text_ops()) {
+    return LCDTextDisallowedReason::kNoText;
+  }
+
   if (layer_tree_impl()->settings().layers_always_allowed_lcd_text)
     return LCDTextDisallowedReason::kNone;
   if (!layer_tree_impl()->settings().can_use_lcd_text)
@@ -852,7 +864,9 @@
     return LCDTextDisallowedReason::kNonIntegralTranslation;
   }
 
-  if (has_will_change_transform_hint())
+  TransformNode* transform_node =
+      GetTransformTree().Node(transform_tree_index());
+  if (transform_node->node_or_ancestors_will_change_transform)
     return LCDTextDisallowedReason::kWillChangeTransform;
 
   if (screen_space_transform_is_animating())
@@ -1198,6 +1212,25 @@
   ResetRasterScale();
 }
 
+bool PictureLayerImpl::CanRecreateHighResTilingForLCDTextAndRasterTranslation(
+    const PictureLayerTiling& high_res) const {
+  // This is for the sync tree only to avoid flickering.
+  if (!layer_tree_impl()->IsSyncTree())
+    return false;
+  // We can recreate the tiling if we would invalidate all of its tiles.
+  if (high_res.may_contain_low_resolution_tiles())
+    return true;
+  // Keep the non-ideal raster translation unchanged for transform animations
+  // to avoid re-rasterization during animation.
+  if (draw_properties().screen_space_transform_is_animating ||
+      HasWillChangeTransformHint())
+    return false;
+  // Also avoid re-rasterization during pinch-zoom.
+  if (layer_tree_impl()->PinchGestureActive())
+    return false;
+  return true;
+}
+
 void PictureLayerImpl::UpdateTilingsForRasterScaleAndTranslation(
     bool has_adjusted_raster_scale) {
   PictureLayerTiling* high_res =
@@ -1211,15 +1244,9 @@
   if (high_res) {
     bool raster_translation_is_not_ideal =
         high_res->raster_transform().translation() != raster_translation;
-    // We should recreate the high res tiling with the new raster translation
-    // and lcd text, which is for the sync tree only to avoid flickering.
     bool should_recreate_high_res =
-        layer_tree_impl()->IsSyncTree() &&
         (raster_translation_is_not_ideal || can_use_lcd_text_changed) &&
-        // Keep the non-ideal raster translation unchanged for transform
-        // animations to avoid re-rasterization during animation.
-        !draw_properties().screen_space_transform_is_animating &&
-        !has_will_change_transform_hint();
+        CanRecreateHighResTilingForLCDTextAndRasterTranslation(*high_res);
     if (should_recreate_high_res) {
       tilings_->Remove(high_res);
       high_res = nullptr;
@@ -1307,7 +1334,7 @@
       // raster scales because this layer is a directly composited image.
       bool transform_trigger =
           draw_properties().screen_space_transform_is_animating ||
-          has_will_change_transform_hint();
+          HasWillChangeTransformHint();
       UMA_HISTOGRAM_BOOLEAN(
           "Compositing.Renderer.DirectlyCompositedImage."
           "AvoidRasterAdjustmentWithTransformTrigger",
@@ -1322,7 +1349,7 @@
     // will-change: transform hint to preserve maximum resolution tiles
     // needed.
     if (draw_properties().screen_space_transform_is_animating ||
-        !has_will_change_transform_hint())
+        !HasWillChangeTransformHint())
       return true;
   }
 
@@ -1362,7 +1389,7 @@
 
   // Don't update will-change: transform layers if the raster contents scale is
   // at least the native scale (otherwise, we'd need to clamp it).
-  if (has_will_change_transform_hint() &&
+  if (HasWillChangeTransformHint() &&
       raster_contents_scale_ >= raster_page_scale_ * raster_device_scale_) {
     return false;
   }
@@ -1520,7 +1547,7 @@
     else
       animation_desired_scale = 1.f * ideal_page_scale_ * ideal_device_scale_;
 
-    if (has_will_change_transform_hint()) {
+    if (HasWillChangeTransformHint()) {
       // If we have a will-change: transform hint, do not shrink the content
       // raster scale, otherwise we will end up throwing away larger tiles we
       // may need again.
@@ -1532,7 +1559,7 @@
   }
 
   // Clamp will-change: transform layers to be at least the native scale.
-  if (has_will_change_transform_hint()) {
+  if (HasWillChangeTransformHint()) {
     float min_desired_scale = raster_device_scale_ * raster_page_scale_;
     if (raster_contents_scale_ < min_desired_scale) {
       raster_contents_scale_ = min_desired_scale;
@@ -1599,6 +1626,12 @@
 
 bool PictureLayerImpl::CalculateRasterTranslation(
     gfx::Vector2dF& raster_translation) const {
+  // No need to use raster translation if there is no text.
+  if (!raster_source_ || !raster_source_->GetDisplayItemList() ||
+      !raster_source_->GetDisplayItemList()->has_draw_text_ops()) {
+    return false;
+  }
+
   const gfx::Transform& screen_transform = ScreenSpaceTransform();
   gfx::Transform draw_transform = DrawTransform();
 
diff --git a/cc/layers/picture_layer_impl.h b/cc/layers/picture_layer_impl.h
index 79b20b3..9df98f0 100644
--- a/cc/layers/picture_layer_impl.h
+++ b/cc/layers/picture_layer_impl.h
@@ -171,6 +171,8 @@
   PictureLayerImpl(LayerTreeImpl* tree_impl, int id);
   PictureLayerTiling* AddTiling(const gfx::AxisTransform2d& contents_transform);
   void RemoveAllTilings();
+  bool CanRecreateHighResTilingForLCDTextAndRasterTranslation(
+      const PictureLayerTiling& high_res) const;
   void UpdateTilingsForRasterScaleAndTranslation(bool adjusted_raster_scale);
   void AddLowResolutionTilingIfNeeded();
   bool ShouldAdjustRasterScale(float old_ideal_contents_scale) const;
@@ -224,6 +226,11 @@
   // Returns true if the LCD state changed.
   bool UpdateCanUseLCDText(bool raster_translation_aligns_pixels);
 
+  // TODO(crbug.com/1114504): For now this checks the immediate transform node
+  // only. The callers may actually want to know if this layer or ancestor has
+  // will change transform.
+  bool HasWillChangeTransformHint() const;
+
   PictureLayerImpl* twin_layer_;
 
   std::unique_ptr<PictureLayerTilingSet> tilings_;
diff --git a/cc/layers/picture_layer_impl_unittest.cc b/cc/layers/picture_layer_impl_unittest.cc
index 87a612b..449a547 100644
--- a/cc/layers/picture_layer_impl_unittest.cc
+++ b/cc/layers/picture_layer_impl_unittest.cc
@@ -888,7 +888,7 @@
   float page_scale = 1.f;
 
   SetupDefaultTrees(layer_bounds);
-  active_layer()->SetHasWillChangeTransformHint(true);
+  GetTransformNode(active_layer())->will_change_transform = true;
   EXPECT_FLOAT_EQ(2u, active_layer()->tilings()->num_tilings());
   EXPECT_FLOAT_EQ(
       1.f, active_layer()->tilings()->tiling_at(0)->contents_scale_key());
@@ -2068,7 +2068,7 @@
   SetInitialDeviceScaleFactor(2.f);
 
   SetupDefaultTreesWithFixedTileSize(layer_bounds, tile_size, Region());
-  active_layer()->SetHasWillChangeTransformHint(true);
+  GetTransformNode(active_layer())->will_change_transform = true;
 
   // One ideal tile exists, this will get used when drawing.
   std::vector<Tile*> ideal_tiles;
@@ -2900,8 +2900,8 @@
 
   EXPECT_BOTH_EQ(HighResTiling()->contents_scale_key(), 1.f);
 
-  active_layer()->SetHasWillChangeTransformHint(true);
-  pending_layer()->SetHasWillChangeTransformHint(true);
+  GetTransformNode(active_layer())->will_change_transform = true;
+  GetTransformNode(pending_layer())->will_change_transform = true;
 
   // Starting an animation should cause tiling resolution to get set to the
   // maximum animation scale factor.
@@ -3471,8 +3471,8 @@
   // If we change the layer contents scale after setting will change
   // will, then it will be updated if it's below the minimum scale (page scale *
   // device scale).
-  active_layer()->SetHasWillChangeTransformHint(true);
-  pending_layer()->SetHasWillChangeTransformHint(true);
+  GetTransformNode(active_layer())->will_change_transform = true;
+  GetTransformNode(pending_layer())->will_change_transform = true;
 
   contents_scale = 0.75f;
 
@@ -3493,8 +3493,8 @@
 
   // Disabling the will-change hint will once again make the raster scale update
   // with the ideal scale.
-  active_layer()->SetHasWillChangeTransformHint(false);
-  pending_layer()->SetHasWillChangeTransformHint(false);
+  GetTransformNode(active_layer())->will_change_transform = false;
+  GetTransformNode(pending_layer())->will_change_transform = false;
 
   contents_scale = 3.f;
 
@@ -3758,7 +3758,7 @@
   float page_scale = 1.f;
   float scale = 1.f;
 
-  active_layer()->SetHasWillChangeTransformHint(true);
+  GetTransformNode(active_layer())->will_change_transform = true;
   ResetTilingsAndRasterScales();
 
   SetContentsScaleOnBothLayers(scale, device_scale, page_scale, 1.f, 0.f,
@@ -5009,7 +5009,7 @@
 
 TEST_F(LegacySWPictureLayerImplTest, UpdateLCDTextInvalidatesPendingTree) {
   gfx::Size layer_bounds(100, 100);
-  SetupPendingTree(FakeRasterSource::CreateFilled(layer_bounds));
+  SetupPendingTree(FakeRasterSource::CreateFilledWithText(layer_bounds));
 
   EXPECT_TRUE(pending_layer()->can_use_lcd_text());
   EXPECT_TRUE(pending_layer()->HighResTiling()->has_tiles());
@@ -5035,7 +5035,7 @@
 }
 
 TEST_F(LegacySWPictureLayerImplTest, UpdateLCDTextPushToActiveTree) {
-  SetupPendingTree(FakeRasterSource::CreateFilled(gfx::Size(200, 200)));
+  SetupPendingTree(FakeRasterSource::CreateFilledWithText(gfx::Size(200, 200)));
   float page_scale = 4.f;
   SetupDrawPropertiesAndUpdateTiles(pending_layer(), page_scale, 1.0f,
                                     page_scale, 1.0f, 0.f, false);
@@ -5053,7 +5053,7 @@
   for (Tile* tile : active_layer()->LowResTiling()->AllTilesForTesting())
     EXPECT_FALSE(tile->can_use_lcd_text());
 
-  SetupPendingTree(FakeRasterSource::CreateFilled(gfx::Size(200, 200)));
+  SetupPendingTree(FakeRasterSource::CreateFilledWithText(gfx::Size(200, 200)));
   SetupDrawPropertiesAndUpdateTiles(pending_layer(), page_scale, 1.0f,
                                     page_scale, 1.0f, 0.f, false);
   pending_layer()->SetContentsOpaque(false);
@@ -5738,7 +5738,7 @@
       true, 0);
 
   // Set will-change:transform and update tiles with a different ideal scale.
-  pending_layer()->SetHasWillChangeTransformHint(true);
+  GetTransformNode(pending_layer())->will_change_transform = true;
   SetupDrawPropertiesAndUpdateTiles(pending_layer(), 0.6f, 1.f, 1.f, 1.f, 1.f,
                                     false);
   histogram_tester.ExpectBucketCount(
@@ -5802,7 +5802,9 @@
        ChangeRasterTranslationNukePendingLayerTiles) {
   gfx::Size layer_bounds(200, 200);
   gfx::Size tile_size(256, 256);
-  SetupDefaultTreesWithFixedTileSize(layer_bounds, tile_size, Region());
+  auto raster_source = FakeRasterSource::CreateFilledWithText(layer_bounds);
+  SetupTreesWithFixedTileSize(raster_source, raster_source, tile_size,
+                              Region());
 
   // Start with scale & translation of * 2.25 + (0.25, 0.5).
   SetupDrawProperties(pending_layer(), 2.25f, 1.5f, 1.f, 2.25f, 2.25f, false);
@@ -5866,7 +5868,9 @@
        ChangeRasterTranslationNukeActiveLayerTiles) {
   gfx::Size layer_bounds(200, 200);
   gfx::Size tile_size(256, 256);
-  SetupDefaultTreesWithFixedTileSize(layer_bounds, tile_size, Region());
+  auto raster_source = FakeRasterSource::CreateFilledWithText(layer_bounds);
+  SetupTreesWithFixedTileSize(raster_source, raster_source, tile_size,
+                              Region());
 
   // Start with scale & translation of * 2.25 + (0.25, 0.5) on the active layer.
   SetupDrawProperties(active_layer(), 2.25f, 1.5f, 1.f, 2.25f, 2.25f, false);
@@ -6062,7 +6066,9 @@
 
 TEST_F(LegacySWPictureLayerImplTest,
        TransformedRasterizationAndContentsOpaqueAndLCDText) {
-  SetupDefaultTreesWithInvalidation(gfx::Size(200, 200), Region());
+  auto raster_source =
+      FakeRasterSource::CreateFilledWithText(gfx::Size(200, 200));
+  SetupTreesWithInvalidation(raster_source, raster_source, Region());
 
   pending_layer()->SetBackgroundColor(SK_ColorWHITE);
   pending_layer()->SetContentsOpaque(true);
@@ -6078,7 +6084,7 @@
             pending_layer()->HighResTiling()->raster_transform().translation());
 
   // Adding will-change:transform will keep the current raster translation.
-  pending_layer()->SetHasWillChangeTransformHint(true);
+  SetWillChangeTransform(pending_layer(), true);
   host_impl()->pending_tree()->set_needs_update_draw_properties();
   UpdateDrawProperties(host_impl()->pending_tree());
   EXPECT_TRUE(pending_layer()->contents_opaque());
@@ -6103,7 +6109,7 @@
             pending_layer()->HighResTiling()->raster_transform().translation());
 
   // Removing will-change:transform will update raster translation.
-  pending_layer()->SetHasWillChangeTransformHint(false);
+  SetWillChangeTransform(pending_layer(), false);
   host_impl()->pending_tree()->set_needs_update_draw_properties();
   UpdateDrawProperties(host_impl()->pending_tree());
   EXPECT_TRUE(pending_layer()->contents_opaque());
@@ -6115,6 +6121,25 @@
             pending_layer()->HighResTiling()->raster_transform().translation());
 }
 
+TEST_F(LegacySWPictureLayerImplTest,
+       TransformedRasterizationAndLCDTextWithoutText) {
+  auto raster_source = FakeRasterSource::CreateFilled(gfx::Size(200, 200));
+  SetupTreesWithInvalidation(raster_source, raster_source, Region());
+
+  pending_layer()->SetBackgroundColor(SK_ColorWHITE);
+  pending_layer()->SetContentsOpaque(true);
+  pending_layer()->SetOffsetToTransformParent(gfx::Vector2dF(0.2, 0.3));
+  host_impl()->pending_tree()->set_needs_update_draw_properties();
+  UpdateDrawProperties(host_impl()->pending_tree());
+  EXPECT_TRUE(pending_layer()->contents_opaque());
+  EXPECT_TRUE(pending_layer()->contents_opaque_for_text());
+  EXPECT_EQ(LCDTextDisallowedReason::kNoText,
+            pending_layer()->ComputeLCDTextDisallowedReasonForTesting());
+  ASSERT_TRUE(pending_layer()->HighResTiling());
+  EXPECT_EQ(gfx::Vector2dF(),
+            pending_layer()->HighResTiling()->raster_transform().translation());
+}
+
 enum {
   kCanUseLCDText = 1 << 0,
   kLayersAlwaysAllowedLCDText = 1 << 1,
@@ -6134,7 +6159,9 @@
   void SetUp() override {
     PictureLayerImplTest::SetUp();
 
-    SetupPendingTree(FakeRasterSource::CreateFilled(gfx::Size(200, 200)));
+    auto raster_source =
+        FakeRasterSource::CreateFilledWithText(gfx::Size(200, 200));
+    SetupPendingTree(raster_source);
 
     tree_ = host_impl()->pending_tree();
     layer_ = pending_layer();
@@ -6149,9 +6176,8 @@
     descendant_->SetDrawsContent(true);
     descendant_->SetBounds(gfx::Size(200, 200));
     Region invalidation;
-    descendant_->UpdateRasterSource(
-        FakeRasterSource::CreateFilled(gfx::Size(200, 200)), &invalidation,
-        nullptr, nullptr);
+    descendant_->UpdateRasterSource(raster_source, &invalidation, nullptr,
+                                    nullptr);
     ASSERT_TRUE(layer_->CanHaveTilings());
 
     CreateTransformNode(layer_);
@@ -6321,14 +6347,11 @@
 }
 
 TEST_P(LCDTextTest, WillChangeTransform) {
-  layer_->SetHasWillChangeTransformHint(true);
+  SetWillChangeTransform(layer_, true);
   CheckCanUseLCDText(LCDTextDisallowedReason::kWillChangeTransform,
-                     "will-change:transform", layer_);
-  // TODO(crbug.com/1114504): will-change:transform should apply to descendants.
-  CheckCanUseLCDText(LCDTextDisallowedReason::kNone,
-                     "descendant of will-change: transform", descendant_);
+                     "will-change:transform");
 
-  layer_->SetHasWillChangeTransformHint(false);
+  SetWillChangeTransform(layer_, false);
   CheckCanUseLCDText(LCDTextDisallowedReason::kNone,
                      "no will-change: transform");
 }
diff --git a/cc/layers/recording_source.cc b/cc/layers/recording_source.cc
index 6e65259..62230c50 100644
--- a/cc/layers/recording_source.cc
+++ b/cc/layers/recording_source.cc
@@ -25,14 +25,7 @@
 
 namespace cc {
 
-RecordingSource::RecordingSource()
-    : slow_down_raster_scale_factor_for_debug_(0),
-      requires_clear_(false),
-      is_solid_color_(false),
-      solid_color_(SK_ColorTRANSPARENT),
-      background_color_(SK_ColorTRANSPARENT),
-      recording_scale_factor_(1.f) {}
-
+RecordingSource::RecordingSource() = default;
 RecordingSource::~RecordingSource() = default;
 
 void RecordingSource::UpdateInvalidationForNewViewport(
diff --git a/cc/layers/recording_source.h b/cc/layers/recording_source.h
index cd4c2d5..7b5c7d7d 100644
--- a/cc/layers/recording_source.h
+++ b/cc/layers/recording_source.h
@@ -60,14 +60,14 @@
  protected:
   gfx::Rect recorded_viewport_;
   gfx::Size size_;
-  int slow_down_raster_scale_factor_for_debug_;
-  bool requires_clear_;
-  bool is_solid_color_;
-  SkColor solid_color_;
-  SkColor background_color_;
+  int slow_down_raster_scale_factor_for_debug_ = 0;
+  bool requires_clear_ = false;
+  bool is_solid_color_ = false;
+  SkColor solid_color_ = SK_ColorTRANSPARENT;
+  SkColor background_color_ = SK_ColorTRANSPARENT;
   scoped_refptr<DisplayItemList> display_list_;
-  size_t painter_reported_memory_usage_;
-  float recording_scale_factor_;
+  size_t painter_reported_memory_usage_ = 0;
+  float recording_scale_factor_ = 1.0f;
 
  private:
   void UpdateInvalidationForNewViewport(const gfx::Rect& old_recorded_viewport,
diff --git a/cc/metrics/dropped_frame_counter.cc b/cc/metrics/dropped_frame_counter.cc
index 1493adf..315c94118 100644
--- a/cc/metrics/dropped_frame_counter.cc
+++ b/cc/metrics/dropped_frame_counter.cc
@@ -41,4 +41,11 @@
   ++total_dropped_;
 }
 
+void DroppedFrameCounter::Reset() {
+  total_frames_ = 0;
+  total_partial_ = 0;
+  total_dropped_ = 0;
+  ring_buffer_.Clear();
+}
+
 }  // namespace cc
diff --git a/cc/metrics/dropped_frame_counter.h b/cc/metrics/dropped_frame_counter.h
index 22980a0..9410d6d2 100644
--- a/cc/metrics/dropped_frame_counter.h
+++ b/cc/metrics/dropped_frame_counter.h
@@ -43,6 +43,8 @@
   void AddPartialFrame();
   void AddDroppedFrame();
 
+  void Reset();
+
  private:
   RingBufferType ring_buffer_;
   size_t total_frames_ = 0;
diff --git a/cc/paint/display_item_list.h b/cc/paint/display_item_list.h
index c065c33..060dce0b 100644
--- a/cc/paint/display_item_list.h
+++ b/cc/paint/display_item_list.h
@@ -5,9 +5,9 @@
 #ifndef CC_PAINT_DISPLAY_ITEM_LIST_H_
 #define CC_PAINT_DISPLAY_ITEM_LIST_H_
 
-#include <stddef.h>
-
+#include <cstddef>
 #include <memory>
+#include <string>
 #include <utility>
 #include <vector>
 
@@ -179,7 +179,11 @@
                              int max_ops_to_analyze = 1);
 
   std::string ToString() const;
+
   bool has_draw_ops() const { return paint_op_buffer_.has_draw_ops(); }
+  bool has_draw_text_ops() const {
+    return paint_op_buffer_.has_draw_text_ops();
+  }
 
   // Ops with nested paint ops are considered as a single op.
   size_t num_paint_ops() const { return paint_op_buffer_.size(); }
diff --git a/cc/raster/lcd_text_disallowed_reason.cc b/cc/raster/lcd_text_disallowed_reason.cc
index 0c11205..cd3f4b9 100644
--- a/cc/raster/lcd_text_disallowed_reason.cc
+++ b/cc/raster/lcd_text_disallowed_reason.cc
@@ -31,6 +31,8 @@
       return "pixel-or-color-effect";
     case LCDTextDisallowedReason::kTransformAnimation:
       return "transform-animation";
+    case LCDTextDisallowedReason::kNoText:
+      return "no-text";
   }
   NOTREACHED();
   return "";
diff --git a/cc/raster/lcd_text_disallowed_reason.h b/cc/raster/lcd_text_disallowed_reason.h
index bc16387..69bfda4f 100644
--- a/cc/raster/lcd_text_disallowed_reason.h
+++ b/cc/raster/lcd_text_disallowed_reason.h
@@ -26,7 +26,8 @@
   kWillChangeTransform = 7,
   kPixelOrColorEffect = 8,
   kTransformAnimation = 9,
-  kMaxValue = kTransformAnimation,
+  kNoText = 10,
+  kMaxValue = kNoText,
 };
 constexpr size_t kLCDTextDisallowedReasonCount =
     static_cast<size_t>(LCDTextDisallowedReason::kMaxValue) + 1;
diff --git a/cc/test/fake_content_layer_client.cc b/cc/test/fake_content_layer_client.cc
index 685cf22c..90f5339 100644
--- a/cc/test/fake_content_layer_client.cc
+++ b/cc/test/fake_content_layer_client.cc
@@ -4,7 +4,8 @@
 
 #include "cc/test/fake_content_layer_client.h"
 
-#include <stddef.h>
+#include <algorithm>
+#include <cstddef>
 
 #include "cc/paint/paint_op_buffer.h"
 #include "ui/gfx/geometry/rect_conversions.h"
@@ -110,6 +111,13 @@
     display_list->EndPaintOfUnpaired(PaintableRegion());
   }
 
+  if (has_draw_text_op_) {
+    display_list->StartPaint();
+    display_list->push<DrawTextBlobOp>(
+        SkTextBlob::MakeFromString("any", SkFont()), 0, 0, PaintFlags());
+    display_list->EndPaintOfUnpaired(PaintableRegion());
+  }
+
   display_list->Finalize();
   return display_list;
 }
diff --git a/cc/test/fake_content_layer_client.h b/cc/test/fake_content_layer_client.h
index 91d43e9..5105306 100644
--- a/cc/test/fake_content_layer_client.h
+++ b/cc/test/fake_content_layer_client.h
@@ -60,6 +60,8 @@
     has_non_aa_paint_ = has_non_aa_paint;
   }
 
+  void set_has_draw_text_op() { has_draw_text_op_ = true; }
+
   void add_draw_rect(const gfx::Rect& rect, const PaintFlags& flags) {
     draw_rects_.push_back(std::make_pair(gfx::RectF(rect), flags));
   }
@@ -121,6 +123,7 @@
   bool bounds_set_ = false;
   bool contains_slow_paths_ = false;
   bool has_non_aa_paint_ = false;
+  bool has_draw_text_op_ = false;
 };
 
 }  // namespace cc
diff --git a/cc/test/fake_raster_source.cc b/cc/test/fake_raster_source.cc
index ad70469..72868f92 100644
--- a/cc/test/fake_raster_source.cc
+++ b/cc/test/fake_raster_source.cc
@@ -67,6 +67,15 @@
   return base::WrapRefCounted(new FakeRasterSource(recording_source.get()));
 }
 
+scoped_refptr<FakeRasterSource> FakeRasterSource::CreateFilledWithText(
+    const gfx::Size& size) {
+  auto recording_source =
+      FakeRecordingSource::CreateFilledRecordingSource(size);
+  recording_source->set_has_draw_text_op();
+  recording_source->Rerecord();
+  return base::WrapRefCounted(new FakeRasterSource(recording_source.get()));
+}
+
 scoped_refptr<FakeRasterSource> FakeRasterSource::CreateFilledWithPaintWorklet(
     const gfx::Size& size) {
   auto recording_source =
diff --git a/cc/test/fake_raster_source.h b/cc/test/fake_raster_source.h
index 18542f81..ec8a81a 100644
--- a/cc/test/fake_raster_source.h
+++ b/cc/test/fake_raster_source.h
@@ -24,6 +24,8 @@
   static scoped_refptr<FakeRasterSource> CreateFilled(const gfx::Size& size);
   static scoped_refptr<FakeRasterSource> CreateFilledWithImages(
       const gfx::Size& size);
+  static scoped_refptr<FakeRasterSource> CreateFilledWithText(
+      const gfx::Size& size);
   static scoped_refptr<FakeRasterSource> CreateFilledWithPaintWorklet(
       const gfx::Size& size);
   static scoped_refptr<FakeRasterSource> CreateFilledSolidColor(
diff --git a/cc/test/fake_recording_source.h b/cc/test/fake_recording_source.h
index 7d8855d5..5883215 100644
--- a/cc/test/fake_recording_source.h
+++ b/cc/test/fake_recording_source.h
@@ -5,7 +5,9 @@
 #ifndef CC_TEST_FAKE_RECORDING_SOURCE_H_
 #define CC_TEST_FAKE_RECORDING_SOURCE_H_
 
-#include <stddef.h>
+#include <cstddef>
+#include <memory>
+#include <utility>
 
 #include "cc/base/region.h"
 #include "cc/layers/recording_source.h"
@@ -72,6 +74,8 @@
     client_.set_contains_slow_paths(slow_paths);
   }
 
+  void set_has_draw_text_op() { client_.set_has_draw_text_op(); }
+
   void Rerecord() {
     SetNeedsDisplayRect(recorded_viewport_);
     Region invalidation;
diff --git a/cc/test/property_tree_test_utils.h b/cc/test/property_tree_test_utils.h
index 5aa1be1a..95ef9d3 100644
--- a/cc/test/property_tree_test_utils.h
+++ b/cc/test/property_tree_test_utils.h
@@ -112,6 +112,16 @@
 }
 
 template <typename LayerType>
+void SetWillChangeTransform(const LayerType* layer,
+                            bool will_change_transform) {
+  DCHECK(layer->has_transform_node());
+  auto* transform_node = GetTransformNode(layer);
+  transform_node->will_change_transform = will_change_transform;
+  transform_node->transform_changed = true;
+  GetPropertyTrees(layer)->transform_tree.set_needs_update(true);
+}
+
+template <typename LayerType>
 void SetTransform(const LayerType* layer, const gfx::Transform& transform) {
   GetTransformNode(layer)->local = transform;
   SetLocalTransformChanged(layer);
diff --git a/cc/trees/draw_properties_unittest.cc b/cc/trees/draw_properties_unittest.cc
index 7e2c465..4335955 100644
--- a/cc/trees/draw_properties_unittest.cc
+++ b/cc/trees/draw_properties_unittest.cc
@@ -3609,7 +3609,6 @@
 
   back_facing->SetShouldCheckBackfaceVisibility(true);
   back_facing_double_sided->SetShouldCheckBackfaceVisibility(false);
-  back_facing->SetHasWillChangeTransformHint(true);
   front_facing->SetShouldCheckBackfaceVisibility(true);
 
   auto& back_facing_transform_node = CreateTransformNode(back_facing);
@@ -3618,6 +3617,7 @@
   gfx::Transform rotate_about_y;
   rotate_about_y.RotateAboutYAxis(180.0);
   back_facing_transform_node.local = rotate_about_y;
+  back_facing_transform_node.will_change_transform = true;
 
   CopyProperties(back_facing, back_facing_double_sided);
 
diff --git a/cc/trees/draw_property_utils.cc b/cc/trees/draw_property_utils.cc
index 3b57867..ea6e7bd 100644
--- a/cc/trees/draw_property_utils.cc
+++ b/cc/trees/draw_property_utils.cc
@@ -939,12 +939,16 @@
     bool skip_layer = !is_root && (skip_draw_properties_computation ||
                                    skip_for_invertibility);
 
+    TransformNode* transform_noe =
+        property_trees->transform_tree.Node(layer->transform_tree_index());
+    const bool has_will_change_transform_hint =
+        transform_noe && transform_noe->will_change_transform;
     // Raster layers that are animated but currently have a non-invertible
     // matrix, or layers that have a will-change transform hint and might
     // animate to not be backface visible soon.
     layer->set_raster_even_if_not_drawn(
         (skip_for_invertibility && !skip_draw_properties_computation) ||
-        layer->has_will_change_transform_hint());
+        has_will_change_transform_hint);
     if (skip_layer)
       continue;
 
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 7214290..5359034 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -4822,6 +4822,7 @@
     ukm_manager_->SetSourceId(source_id);
   }
   total_frame_counter_.Reset();
+  dropped_frame_counter_.Reset();
 }
 
 void LayerTreeHostImpl::AllocateLocalSurfaceId() {
diff --git a/cc/trees/layer_tree_host_pixeltest_masks.cc b/cc/trees/layer_tree_host_pixeltest_masks.cc
index 0bd49e5d..6586f68 100644
--- a/cc/trees/layer_tree_host_pixeltest_masks.cc
+++ b/cc/trees/layer_tree_host_pixeltest_masks.cc
@@ -278,14 +278,11 @@
 class LayerTreeHostMaskPixelTest_ScaledMaskWithEffect
     : public LayerTreeHostMaskPixelTestWithLayerList {
  protected:
-  // Scale the mask with a non-integral transform. This will trigger raster
-  // translation and may or may not trigger the AA path in the renderer.
+  // Scale the mask with a non-integral transform. This will trigger the
+  // AA path in the renderer.
   void SetupTree() override {
     LayerTreeHostMaskPixelTestWithLayerList::SetupTree();
 
-    // Use this offset to ensure the same rounding direction in different code
-    // paths for non-AA drawing (25.1 * 1.5 = 37.65).
-    mask_layer_->SetOffsetToTransformParent(gfx::Vector2dF(25.1, 25.1));
     auto& transform = CreateTransformNode(mask_layer_.get());
     transform.local.Scale(1.5, 1.5);
   }
diff --git a/cc/trees/layer_tree_host_unittest_masks.cc b/cc/trees/layer_tree_host_unittest_masks.cc
index ca119f3..c4b80a2a 100644
--- a/cc/trees/layer_tree_host_unittest_masks.cc
+++ b/cc/trees/layer_tree_host_unittest_masks.cc
@@ -8,6 +8,7 @@
 #include "cc/test/fake_picture_layer.h"
 #include "cc/test/fake_recording_source.h"
 #include "cc/test/layer_tree_test.h"
+#include "cc/test/property_tree_test_utils.h"
 #include "cc/trees/layer_tree_impl.h"
 #include "components/viz/common/quads/render_pass_draw_quad.h"
 
@@ -352,10 +353,6 @@
 
     gfx::Size mask_size(50, 50);
     mask_layer->SetBounds(mask_size);
-    // Setting will change transform on mask layer will make it not adjust
-    // raster scale, which will remain 1. This means the mask_layer and render
-    // surface will have a scale of 2 during draw time.
-    mask_layer->SetHasWillChangeTransformHint(true);
     mask_layer_id_ = mask_layer->id();
 
     layer_tree_host()->SetRootLayer(root);
diff --git a/cc/trees/layer_tree_host_unittest_picture.cc b/cc/trees/layer_tree_host_unittest_picture.cc
index 3de3551..5a94100 100644
--- a/cc/trees/layer_tree_host_unittest_picture.cc
+++ b/cc/trees/layer_tree_host_unittest_picture.cc
@@ -10,6 +10,7 @@
 #include "cc/test/fake_picture_layer.h"
 #include "cc/test/fake_picture_layer_impl.h"
 #include "cc/test/layer_tree_test.h"
+#include "cc/test/property_tree_test_utils.h"
 #include "cc/trees/layer_tree_impl.h"
 #include "components/viz/test/test_context_provider.h"
 #include "components/viz/test/test_gles2_interface.h"
@@ -572,26 +573,32 @@
 
 class LayerTreeHostPictureTestForceRecalculateScales
     : public LayerTreeHostPictureTest {
+ public:
+  LayerTreeHostPictureTestForceRecalculateScales() { SetUseLayerLists(); }
+ private:
   void SetupTree() override {
     gfx::Size size(100, 100);
-    scoped_refptr<Layer> root = Layer::Create();
-    root->SetBounds(size);
+    SetInitialRootBounds(size);
+    LayerTreeTest::SetupTree();
+    Layer* root = layer_tree_host()->root_layer();
+
     top_layer_ = Layer::Create();
     top_layer_->SetBounds(size);
+    CopyProperties(root, top_layer_.get());
+    // This transform node will be scaled up later.
+    CreateTransformNode(top_layer_.get());
     root->AddChild(top_layer_);
 
     will_change_layer_ = FakePictureLayer::Create(&client_);
-    will_change_layer_->SetHasWillChangeTransformHint(true);
     will_change_layer_->SetBounds(size);
-    top_layer_->AddChild(will_change_layer_);
+    CopyProperties(top_layer_.get(), will_change_layer_.get());
+    CreateTransformNode(will_change_layer_.get()).will_change_transform = true;
+    root->AddChild(will_change_layer_);
 
     normal_layer_ = FakePictureLayer::Create(&client_);
     normal_layer_->SetBounds(size);
-    top_layer_->AddChild(normal_layer_);
-
-    layer_tree_host()->SetRootLayer(root);
-    layer_tree_host()->SetViewportRectAndScale(gfx::Rect(size), 1.f,
-                                               viz::LocalSurfaceIdAllocation());
+    CopyProperties(top_layer_.get(), normal_layer_.get());
+    root->AddChild(normal_layer_);
 
     client_.set_fill_with_nonsolid_color(true);
     client_.set_bounds(size);
@@ -658,13 +665,14 @@
   void ScaleUp() {
     gfx::Transform transform;
     transform.Scale(2, 2);
-    top_layer_->SetTransform(transform);
+    SetTransform(top_layer_.get(), transform);
+    layer_tree_host()->SetNeedsCommit();
   }
 
   void ScaleUpAndRecalculateScales() {
     gfx::Transform transform;
     transform.Scale(4, 4);
-    top_layer_->SetTransform(transform);
+    SetTransform(top_layer_.get(), transform);
     layer_tree_host()->SetNeedsRecalculateRasterScales();
   }
 
diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
index 31e2817..dc990ec 100644
--- a/cc/trees/property_tree.cc
+++ b/cc/trees/property_tree.cc
@@ -179,6 +179,7 @@
   UpdateSnapping(node);
   UpdateTransformChanged(node, parent_node);
   UpdateNodeAndAncestorsAreAnimatedOrInvertible(node, parent_node);
+  UpdateNodeOrAncestorsWillChangeTransform(node, parent_node);
 
   DCHECK(!node->needs_local_transform_update);
 }
@@ -544,6 +545,16 @@
       node->has_potential_animation || is_invertible;
 }
 
+void TransformTree::UpdateNodeOrAncestorsWillChangeTransform(
+    TransformNode* node,
+    TransformNode* parent_node) {
+  node->node_or_ancestors_will_change_transform = node->will_change_transform;
+  if (parent_node) {
+    node->node_or_ancestors_will_change_transform |=
+        parent_node->node_or_ancestors_will_change_transform;
+  }
+}
+
 void TransformTree::SetRootScaleAndTransform(
     float device_scale_factor,
     const gfx::Transform& device_transform) {
diff --git a/cc/trees/property_tree.h b/cc/trees/property_tree.h
index 6e8d7d0..0cfbbc62 100644
--- a/cc/trees/property_tree.h
+++ b/cc/trees/property_tree.h
@@ -148,6 +148,8 @@
   void UpdateNodeAndAncestorsAreAnimatedOrInvertible(
       TransformNode* node,
       TransformNode* parent_node);
+  void UpdateNodeOrAncestorsWillChangeTransform(TransformNode* node,
+                                                TransformNode* parent_node);
 
   void set_needs_update(bool needs_update) final;
 
diff --git a/cc/trees/transform_node.cc b/cc/trees/transform_node.cc
index 8594344..4f6afc92 100644
--- a/cc/trees/transform_node.cc
+++ b/cc/trees/transform_node.cc
@@ -33,6 +33,8 @@
       in_subtree_of_page_scale_layer(false),
       transform_changed(false),
       delegates_to_parent_for_backface(false),
+      will_change_transform(false),
+      node_or_ancestors_will_change_transform(false),
       maximum_animation_scale(kNotScaled),
       starting_animation_scale(kNotScaled) {}
 
@@ -64,6 +66,9 @@
              other.in_subtree_of_page_scale_layer &&
          delegates_to_parent_for_backface ==
              other.delegates_to_parent_for_backface &&
+         will_change_transform == other.will_change_transform &&
+         node_or_ancestors_will_change_transform ==
+             other.node_or_ancestors_will_change_transform &&
          transform_changed == other.transform_changed &&
          scroll_offset == other.scroll_offset &&
          snap_amount == other.snap_amount &&
@@ -80,8 +85,9 @@
   MathUtil::AddToTracedValue("origin", origin, value);
   MathUtil::AddToTracedValue("post_translation", post_translation, value);
   value->SetInteger("sorting_context_id", sorting_context_id);
-  value->SetInteger("flattens_inherited_transform",
+  value->SetBoolean("flattens_inherited_transform",
                     flattens_inherited_transform);
+  value->SetBoolean("will_change_transform", will_change_transform);
   MathUtil::AddToTracedValue("scroll_offset", scroll_offset, value);
   MathUtil::AddToTracedValue("snap_amount", snap_amount, value);
 }
diff --git a/cc/trees/transform_node.h b/cc/trees/transform_node.h
index bb3f19a..cf2a2fe 100644
--- a/cc/trees/transform_node.h
+++ b/cc/trees/transform_node.h
@@ -109,6 +109,12 @@
   // visibility, not this transform one.
   bool delegates_to_parent_for_backface : 1;
 
+  // Set to true, if the compositing reason is will-change:transform.
+  bool will_change_transform : 1;
+
+  // Set to true, if the node or it's parent |will_change_transform| is true.
+  bool node_or_ancestors_will_change_transform : 1;
+
   gfx::ScrollOffset scroll_offset;
 
   // This value stores the snapped amount whenever we snap. If the snap is due
diff --git a/chrome/MAJOR_BRANCH_DATE b/chrome/MAJOR_BRANCH_DATE
index a901064..895cc24 100644
--- a/chrome/MAJOR_BRANCH_DATE
+++ b/chrome/MAJOR_BRANCH_DATE
@@ -1 +1 @@
-MAJOR_BRANCH_DATE=2020-06-26
+MAJOR_BRANCH_DATE=2020-08-21
diff --git a/chrome/PRESUBMIT.py b/chrome/PRESUBMIT.py
index 578b4b7b..fdf81cd5 100644
--- a/chrome/PRESUBMIT.py
+++ b/chrome/PRESUBMIT.py
@@ -63,6 +63,34 @@
       items=problems)]
 
 
+def _CheckNoOSAPPLEMacrosInChromeFile(input_api, f):
+  """Check for OS_APPLE in a given file in chrome/."""
+  preprocessor_statement = input_api.re.compile(r'^\s*#')
+  apple_macro = input_api.re.compile(r'defined\(OS_APPLE\)')
+  results = []
+  for lnum, line in f.ChangedContents():
+    if preprocessor_statement.search(line) and apple_macro.search(line):
+      results.append('    %s:%d' % (f.LocalPath(), lnum))
+
+  return results
+
+
+def _CheckNoOSAPPLEMacrosInChrome(input_api, output_api):
+  """Check for OS_APPLE which isn't used in chrome/."""
+  apple_macros = []
+  def SourceFilter(affected_file):
+    return input_api.FilterSourceFile(affected_file, INCLUDE_SOURCE_FILES_ONLY,
+                                      input_api.DEFAULT_FILES_TO_SKIP)
+  for f in input_api.AffectedSourceFiles(SourceFilter):
+    apple_macros.extend(_CheckNoOSAPPLEMacrosInChromeFile(input_api, f))
+
+  if not apple_macros:
+    return []
+
+  return [output_api.PresubmitError(
+      'OS_APPLE is not used in chrome/ but found in:\n', apple_macros)]
+
+
 def _CheckNoOSIOSMacrosInChromeFile(input_api, f):
   """Check for OS_IOS in a given file in chrome/."""
   preprocessor_statement = input_api.re.compile(r'^\s*#')
@@ -95,6 +123,7 @@
   """Checks common to both upload and commit."""
   results = []
   results.extend(_CheckNoContentUnitTestsInChrome(input_api, output_api))
+  results.extend(_CheckNoOSAPPLEMacrosInChrome(input_api, output_api))
   results.extend(_CheckNoOSIOSMacrosInChrome(input_api, output_api))
   return results
 
diff --git a/chrome/PRESUBMIT_test.py b/chrome/PRESUBMIT_test.py
index 52393a4..0ce9a769 100755
--- a/chrome/PRESUBMIT_test.py
+++ b/chrome/PRESUBMIT_test.py
@@ -13,6 +13,15 @@
 from PRESUBMIT_test_mocks import MockFile, MockInputApi
 
 class InvalidOSMacroNamesTest(unittest.TestCase):
+  def testChromeDoesNotUseOSAPPLE(self):
+    lines = ['#if defined(OS_APPLE)',
+             '#error OS_APPLE not allowed',
+             '#endif']
+    errors = PRESUBMIT._CheckNoOSAPPLEMacrosInChromeFile(
+        MockInputApi(), MockFile('chrome/path/foo_platform.cc', lines))
+    self.assertEqual(1, len(errors))
+    self.assertEqual('    chrome/path/foo_platform.cc:1', errors[0])
+
   def testChromeDoesNotUseOSIOS(self):
     lines = ['#if defined(OS_IOS)',
              '#error OS_IOS not allowed',
@@ -22,6 +31,5 @@
     self.assertEqual(1, len(errors))
     self.assertEqual('    chrome/path/foo_platform.cc:1', errors[0])
 
-
 if __name__ == '__main__':
   unittest.main()
diff --git a/chrome/VERSION b/chrome/VERSION
index 3690cd7f..d1e4ce8 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
-MAJOR=86
+MAJOR=87
 MINOR=0
-BUILD=4240
+BUILD=4241
 PATCH=0
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index c8ebbe25..a50781e 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -3171,6 +3171,7 @@
     "java/src/org/chromium/chrome/browser/translate/TranslateBridge.java",
     "java/src/org/chromium/chrome/browser/usage_stats/NotificationSuspender.java",
     "java/src/org/chromium/chrome/browser/usage_stats/UsageStatsBridge.java",
+    "java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialServiceFactory.java",
     "java/src/org/chromium/chrome/browser/webapps/WebApkHandlerDelegate.java",
     "java/src/org/chromium/chrome/browser/webapps/WebApkInstallService.java",
     "java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java",
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
index 1294b1ce..aa8d0c9 100644
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -646,7 +646,6 @@
   "java/res/drawable-xxxhdpi/verify_checkmark.png",
   "java/res/drawable/accessibility_tab_switcher_divider.xml",
   "java/res/drawable/account_picker_background.xml",
-  "java/res/drawable/action_bar_activity_bg.xml",
   "java/res/drawable/address.xml",
   "java/res/drawable/bg_white_dialog.xml",
   "java/res/drawable/bookmark_title_bar_shadow.xml",
@@ -736,6 +735,7 @@
   "java/res/drawable/ic_signal_cellular_4_bar.xml",
   "java/res/drawable/ic_site_timer.xml",
   "java/res/drawable/ic_swap_vert_round.xml",
+  "java/res/drawable/ic_sync_badge_error_20dp.xml",
   "java/res/drawable/ic_sync_badge_off_20dp.xml",
   "java/res/drawable/ic_sync_error_48dp.xml",
   "java/res/drawable/ic_sync_error_legacy_40dp.xml",
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
index 0b6ce3b6..73be2e3 100644
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -11,7 +11,6 @@
   "java/src/org/chromium/chrome/browser/AppHooksModule.java",
   "java/src/org/chromium/chrome/browser/AppIndexingUtil.java",
   "java/src/org/chromium/chrome/browser/ApplicationLifetime.java",
-  "java/src/org/chromium/chrome/browser/AssistStatusHandler.java",
   "java/src/org/chromium/chrome/browser/BrowserRestartActivity.java",
   "java/src/org/chromium/chrome/browser/ChromeAccessorActivity.java",
   "java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java",
@@ -1495,6 +1494,7 @@
   "java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java",
   "java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java",
   "java/src/org/chromium/chrome/browser/sync/settings/SyncAndServicesSettings.java",
+  "java/src/org/chromium/chrome/browser/sync/settings/SyncErrorCardPreference.java",
   "java/src/org/chromium/chrome/browser/sync/settings/SyncOffPreference.java",
   "java/src/org/chromium/chrome/browser/sync/settings/SyncPromoPreference.java",
   "java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java",
@@ -1682,6 +1682,7 @@
   "java/src/org/chromium/chrome/browser/user_education/IPHCommand.java",
   "java/src/org/chromium/chrome/browser/user_education/IPHCommandBuilder.java",
   "java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java",
+  "java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialServiceFactory.java",
   "java/src/org/chromium/chrome/browser/vr/ArDelegate.java",
   "java/src/org/chromium/chrome/browser/vr/ArDelegateProvider.java",
   "java/src/org/chromium/chrome/browser/webapps/ActivateWebApkActivity.java",
diff --git a/chrome/android/expectations/lint-baseline.xml b/chrome/android/expectations/lint-baseline.xml
index 4506695..dd08481 100644
--- a/chrome/android/expectations/lint-baseline.xml
+++ b/chrome/android/expectations/lint-baseline.xml
@@ -2,219 +2,6 @@
 <issues format="5" by="lint 4.0.1" client="cli" variant="all" version="4.0.1">
 
     <issue
-        id="MissingSuperCall"
-        message="Overriding method should call `super.onNewIntent`"
-        errorLine1="    protected void onNewIntent(Intent intent) {"
-        errorLine2="                   ~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java"
-            line="517"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="MissingSuperCall"
-        message="Overriding method should call `super.onActivityResult`"
-        errorLine1="    public void onActivityResult(int requestCode, int resultCode, Intent data) {"
-        errorLine2="                ~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java"
-            line="525"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="MissingSuperCall"
-        message="Overriding method should call `super.onConfigurationChanged`"
-        errorLine1="    public void onConfigurationChanged(Configuration newConfig) {"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ClearWebsiteStorageDialog.java"
-            line="51"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected a color resource id (`R.color.`) but received an RGB integer"
-        errorLine1="                        primaryColor, getContext());"
-        errorLine2="                        ~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java"
-            line="1171"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected a color resource id (`R.color.`) but received an RGB integer"
-        errorLine1="                mAssistantVoiceSearchService.getMicButtonColorStateList(primaryColor, getContext());"
-        errorLine2="                                                                        ~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java"
-            line="1248"
-            column="73"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected resource of type id"
-        errorLine1="        mItemHeight = getSizePx(context, R.dimen.navigation_popup_item_height);"
-        errorLine2="                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetCoordinator.java"
-            line="149"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected resource of type id"
-        errorLine1="        mContentPadding = getSizePx(context, R.dimen.navigation_sheet_content_top_padding)"
-        errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetCoordinator.java"
-            line="150"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected resource of type id"
-        errorLine1="                + getSizePx(context, R.dimen.navigation_sheet_content_bottom_padding)"
-        errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetCoordinator.java"
-            line="151"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected resource of type id"
-        errorLine1="                + getSizePx(context, R.dimen.navigation_sheet_content_wrap_padding);"
-        errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetCoordinator.java"
-            line="152"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected resource of type dimen"
-        errorLine1="        return context.getResources().getDimensionPixelSize(id);"
-        errorLine2="                                                            ~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetCoordinator.java"
-            line="156"
-            column="61"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected resource of type id"
-        errorLine1="                ? getSizePx(mParentView.getContext(), R.dimen.navigation_sheet_peek_height)"
-        errorLine2="                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetCoordinator.java"
-            line="330"
-            column="55"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected a color resource id (`R.color.`) but received an RGB integer"
-        errorLine1="        final @ColorRes int primaryColor = ChromeColors.getDefaultThemeColor("
-        errorLine2="                                           ^">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java"
-            line="96"
-            column="44"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected resource of type id"
-        errorLine1="        mCloseButton.setTintResources(R.color.default_icon_color, R.color.default_icon_color_blue,"
-        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutTab.java"
-            line="186"
-            column="39"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected resource of type id"
-        errorLine1="        mCloseButton.setTintResources(R.color.default_icon_color, R.color.default_icon_color_blue,"
-        errorLine2="                                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutTab.java"
-            line="186"
-            column="67"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected resource of type id"
-        errorLine1="                R.color.default_icon_color_light, R.color.modern_blue_300);"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutTab.java"
-            line="187"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Expected resource of type id"
-        errorLine1="                R.color.default_icon_color_light, R.color.modern_blue_300);"
-        errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutTab.java"
-            line="187"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Comparing resource types (`@ColorRes`) other than equality is dangerous and usually wrong;  some resource types set top bit which turns the value negative"
-        errorLine1="            if (mUrlTextColor > 0 &amp;&amp; embedderContext != null) {"
-        errorLine2="                ~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../weblayer/browser/java/org/chromium/weblayer_private/UrlBarControllerImpl.java"
-            line="168"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="ResourceType"
-        message="Comparing resource types (`@ColorRes`) other than equality is dangerous and usually wrong;  some resource types set top bit which turns the value negative"
-        errorLine1="            if (mUrlIconColor > 0 &amp;&amp; embedderContext != null) {"
-        errorLine2="                ~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../weblayer/browser/java/org/chromium/weblayer_private/UrlBarControllerImpl.java"
-            line="178"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="CutPasteId"
-        message="The id `R.id.bottom_container` has already been looked up in this method; possible cut &amp; paste error?"
-        errorLine1="            BottomContainer bottomContainer = (BottomContainer) findViewById(R.id.bottom_container);"
-        errorLine2="                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java"
-            line="462"
-            column="65"/>
-        <location
-            file="chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java"
-            line="430"
-            column="27"/>
-    </issue>
-
-    <issue
         id="WrongConstant"
         message="Must be one of: NetError.ERR_IO_PENDING, NetError.ERR_FAILED, NetError.ERR_ABORTED, NetError.ERR_INVALID_ARGUMENT, NetError.ERR_INVALID_HANDLE, NetError.ERR_FILE_NOT_FOUND, NetError.ERR_TIMED_OUT, NetError.ERR_FILE_TOO_BIG, NetError.ERR_UNEXPECTED, NetError.ERR_ACCESS_DENIED, NetError.ERR_NOT_IMPLEMENTED, NetError.ERR_INSUFFICIENT_RESOURCES, NetError.ERR_OUT_OF_MEMORY, NetError.ERR_UPLOAD_FILE_CHANGED, NetError.ERR_SOCKET_NOT_CONNECTED, NetError.ERR_FILE_EXISTS, NetError.ERR_FILE_PATH_TOO_LONG, NetError.ERR_FILE_NO_SPACE, NetError.ERR_FILE_VIRUS_INFECTED, NetError.ERR_BLOCKED_BY_CLIENT, NetError.ERR_NETWORK_CHANGED, NetError.ERR_BLOCKED_BY_ADMINISTRATOR, NetError.ERR_SOCKET_IS_CONNECTED, NetError.ERR_BLOCKED_ENROLLMENT_CHECK_PENDING, NetError.ERR_UPLOAD_STREAM_REWIND_NOT_SUPPORTED, NetError.ERR_CONTEXT_SHUT_DOWN, NetError.ERR_BLOCKED_BY_RESPONSE, NetError.ERR_CLEARTEXT_NOT_PERMITTED, NetError.ERR_BLOCKED_BY_CSP, NetError.ERR_H2_OR_QUIC_REQUIRED, NetError.ERR_INSECURE_PRIVATE_NETWORK_REQUEST, NetError.ERR_CONNECTION_CLOSED, NetError.ERR_CONNECTION_RESET, NetError.ERR_CONNECTION_REFUSED, NetError.ERR_CONNECTION_ABORTED, NetError.ERR_CONNECTION_FAILED, NetError.ERR_NAME_NOT_RESOLVED, NetError.ERR_INTERNET_DISCONNECTED, NetError.ERR_SSL_PROTOCOL_ERROR, NetError.ERR_ADDRESS_INVALID, NetError.ERR_ADDRESS_UNREACHABLE, NetError.ERR_SSL_CLIENT_AUTH_CERT_NEEDED, NetError.ERR_TUNNEL_CONNECTION_FAILED, NetError.ERR_NO_SSL_VERSIONS_ENABLED, NetError.ERR_SSL_VERSION_OR_CIPHER_MISMATCH, NetError.ERR_SSL_RENEGOTIATION_REQUESTED, NetError.ERR_PROXY_AUTH_UNSUPPORTED, NetError.ERR_CERT_ERROR_IN_SSL_RENEGOTIATION, NetError.ERR_BAD_SSL_CLIENT_AUTH_CERT, NetError.ERR_CONNECTION_TIMED_OUT, NetError.ERR_HOST_RESOLVER_QUEUE_TOO_LARGE, NetError.ERR_SOCKS_CONNECTION_FAILED, NetError.ERR_SOCKS_CONNECTION_HOST_UNREACHABLE, NetError.ERR_ALPN_NEGOTIATION_FAILED, NetError.ERR_SSL_NO_RENEGOTIATION, NetError.ERR_WINSOCK_UNEXPECTED_WRITTEN_BYTES, NetError.ERR_SSL_DECOMPRESSION_FAILURE_ALERT, NetError.ERR_SSL_BAD_RECORD_MAC_ALERT, NetError.ERR_PROXY_AUTH_REQUESTED, NetError.ERR_PROXY_CONNECTION_FAILED, NetError.ERR_MANDATORY_PROXY_CONFIGURATION_FAILED, NetError.ERR_PRECONNECT_MAX_SOCKET_LIMIT, NetError.ERR_SSL_CLIENT_AUTH_PRIVATE_KEY_ACCESS_DENIED, NetError.ERR_SSL_CLIENT_AUTH_CERT_NO_PRIVATE_KEY, NetError.ERR_PROXY_CERTIFICATE_INVALID, NetError.ERR_NAME_RESOLUTION_FAILED, NetError.ERR_NETWORK_ACCESS_DENIED, NetError.ERR_TEMPORARILY_THROTTLED, NetError.ERR_HTTPS_PROXY_TUNNEL_RESPONSE_REDIRECT, NetError.ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED, NetError.ERR_MSG_TOO_BIG, NetError.ERR_WS_PROTOCOL_ERROR, NetError.ERR_ADDRESS_IN_USE, NetError.ERR_SSL_HANDSHAKE_NOT_COMPLETED, NetError.ERR_SSL_BAD_PEER_PUBLIC_KEY, NetError.ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, NetError.ERR_CLIENT_AUTH_CERT_TYPE_UNSUPPORTED, NetError.ERR_SSL_DECRYPT_ERROR_ALERT, NetError.ERR_WS_THROTTLE_QUEUE_TOO_LARGE, NetError.ERR_SSL_SERVER_CERT_CHANGED, NetError.ERR_SSL_UNRECOGNIZED_NAME_ALERT, NetError.ERR_SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR, NetError.ERR_SOCKET_SET_SEND_BUFFER_SIZE_ERROR, NetError.ERR_SOCKET_RECEIVE_BUFFER_SIZE_UNCHANGEABLE, NetError.ERR_SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE, NetError.ERR_SSL_CLIENT_AUTH_CERT_BAD_FORMAT, NetError.ERR_ICANN_NAME_COLLISION, NetError.ERR_SSL_SERVER_CERT_BAD_FORMAT, NetError.ERR_CT_STH_PARSING_FAILED, NetError.ERR_CT_STH_INCOMPLETE, NetError.ERR_UNABLE_TO_REUSE_CONNECTION_FOR_PROXY_AUTH, NetError.ERR_CT_CONSISTENCY_PROOF_PARSING_FAILED, NetError.ERR_SSL_OBSOLETE_CIPHER, NetError.ERR_WS_UPGRADE, NetError.ERR_READ_IF_READY_NOT_IMPLEMENTED, NetError.ERR_NO_BUFFER_SPACE, NetError.ERR_SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS, NetError.ERR_EARLY_DATA_REJECTED, NetError.ERR_WRONG_VERSION_ON_EARLY_DATA, NetError.ERR_TLS13_DOWNGRADE_DETECTED, NetError.ERR_SSL_KEY_USAGE_INCOMPATIBLE, NetError.ERR_CERT_COMMON_NAME_INVALID, NetError.ERR_CERT_DATE_INVALID, NetError.ERR_CERT_AUTHORITY_INVALID, NetError.ERR_CERT_CONTAINS_ERRORS, NetError.ERR_CERT_NO_REVOCATION_MECHANISM, NetError.ERR_CERT_UNABLE_TO_CHECK_REVOCATION, NetError.ERR_CERT_REVOKED, NetError.ERR_CERT_INVALID, NetError.ERR_CERT_WEAK_SIGNATURE_ALGORITHM, NetError.ERR_CERT_NON_UNIQUE_NAME, NetError.ERR_CERT_WEAK_KEY, NetError.ERR_CERT_NAME_CONSTRAINT_VIOLATION, NetError.ERR_CERT_VALIDITY_TOO_LONG, NetError.ERR_CERTIFICATE_TRANSPARENCY_REQUIRED, NetError.ERR_CERT_SYMANTEC_LEGACY, NetError.ERR_CERT_KNOWN_INTERCEPTION_BLOCKED, NetError.ERR_SSL_OBSOLETE_VERSION, NetError.ERR_CERT_END, NetError.ERR_INVALID_URL, NetError.ERR_DISALLOWED_URL_SCHEME, NetError.ERR_UNKNOWN_URL_SCHEME, NetError.ERR_INVALID_REDIRECT, NetError.ERR_TOO_MANY_REDIRECTS, NetError.ERR_UNSAFE_REDIRECT, NetError.ERR_UNSAFE_PORT, NetError.ERR_INVALID_RESPONSE, NetError.ERR_INVALID_CHUNKED_ENCODING, NetError.ERR_METHOD_NOT_SUPPORTED, NetError.ERR_UNEXPECTED_PROXY_AUTH, NetError.ERR_EMPTY_RESPONSE, NetError.ERR_RESPONSE_HEADERS_TOO_BIG, NetError.ERR_PAC_SCRIPT_FAILED, NetError.ERR_REQUEST_RANGE_NOT_SATISFIABLE, NetError.ERR_MALFORMED_IDENTITY, NetError.ERR_CONTENT_DECODING_FAILED, NetError.ERR_NETWORK_IO_SUSPENDED, NetError.ERR_SYN_REPLY_NOT_RECEIVED, NetError.ERR_ENCODING_CONVERSION_FAILED, NetError.ERR_UNRECOGNIZED_FTP_DIRECTORY_LISTING_FORMAT, NetError.ERR_NO_SUPPORTED_PROXIES, NetError.ERR_HTTP2_PROTOCOL_ERROR, NetError.ERR_INVALID_AUTH_CREDENTIALS, NetError.ERR_UNSUPPORTED_AUTH_SCHEME, NetError.ERR_ENCODING_DETECTION_FAILED, NetError.ERR_MISSING_AUTH_CREDENTIALS, NetError.ERR_UNEXPECTED_SECURITY_LIBRARY_STATUS, NetError.ERR_MISCONFIGURED_AUTH_ENVIRONMENT, NetError.ERR_UNDOCUMENTED_SECURITY_LIBRARY_STATUS, NetError.ERR_RESPONSE_BODY_TOO_BIG_TO_DRAIN, NetError.ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH, NetError.ERR_INCOMPLETE_HTTP2_HEADERS, NetError.ERR_PAC_NOT_IN_DHCP, NetError.ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION, NetError.ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION, NetError.ERR_HTTP2_SERVER_REFUSED_STREAM, NetError.ERR_HTTP2_PING_FAILED, NetError.ERR_CONTENT_LENGTH_MISMATCH, NetError.ERR_INCOMPLETE_CHUNKED_ENCODING, NetError.ERR_QUIC_PROTOCOL_ERROR, NetError.ERR_RESPONSE_HEADERS_TRUNCATED, NetError.ERR_QUIC_HANDSHAKE_FAILED, NetError.ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY, NetError.ERR_HTTP2_FLOW_CONTROL_ERROR, NetError.ERR_HTTP2_FRAME_SIZE_ERROR, NetError.ERR_HTTP2_COMPRESSION_ERROR, NetError.ERR_PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION, NetError.ERR_HTTP_1_1_REQUIRED, NetError.ERR_PROXY_HTTP_1_1_REQUIRED, NetError.ERR_PAC_SCRIPT_TERMINATED, NetError.ERR_INVALID_HTTP_RESPONSE, NetError.ERR_CONTENT_DECODING_INIT_FAILED, NetError.ERR_HTTP2_RST_STREAM_NO_ERROR_RECEIVED, NetError.ERR_HTTP2_PUSHED_STREAM_NOT_AVAILABLE, NetError.ERR_HTTP2_CLAIMED_PUSHED_STREAM_RESET_BY_SERVER, NetError.ERR_TOO_MANY_RETRIES, NetError.ERR_HTTP2_STREAM_CLOSED, NetError.ERR_HTTP2_CLIENT_REFUSED_STREAM, NetError.ERR_HTTP2_PUSHED_RESPONSE_DOES_NOT_MATCH, NetError.ERR_HTTP_RESPONSE_CODE_FAILURE, NetError.ERR_QUIC_CERT_ROOT_NOT_KNOWN, NetError.ERR_CACHE_MISS, NetError.ERR_CACHE_READ_FAILURE, NetError.ERR_CACHE_WRITE_FAILURE, NetError.ERR_CACHE_OPERATION_NOT_SUPPORTED, NetError.ERR_CACHE_OPEN_FAILURE, NetError.ERR_CACHE_CREATE_FAILURE, NetError.ERR_CACHE_RACE, NetError.ERR_CACHE_CHECKSUM_READ_FAILURE, NetError.ERR_CACHE_CHECKSUM_MISMATCH, NetError.ERR_CACHE_LOCK_TIMEOUT, NetError.ERR_CACHE_AUTH_FAILURE_AFTER_READ, NetError.ERR_CACHE_ENTRY_NOT_SUITABLE, NetError.ERR_CACHE_DOOM_FAILURE, NetError.ERR_CACHE_OPEN_OR_CREATE_FAILURE, NetError.ERR_INSECURE_RESPONSE, NetError.ERR_NO_PRIVATE_KEY_FOR_CERT, NetError.ERR_ADD_USER_CERT_FAILED, NetError.ERR_INVALID_SIGNED_EXCHANGE, NetError.ERR_INVALID_WEB_BUNDLE, NetError.ERR_TRUST_TOKEN_OPERATION_FAILED, NetError.ERR_TRUST_TOKEN_OPERATION_CACHE_HIT, NetError.ERR_FTP_FAILED, NetError.ERR_FTP_SERVICE_UNAVAILABLE, NetError.ERR_FTP_TRANSFER_ABORTED, NetError.ERR_FTP_FILE_BUSY, NetError.ERR_FTP_SYNTAX_ERROR, NetError.ERR_FTP_COMMAND_NOT_SUPPORTED, NetError.ERR_FTP_BAD_COMMAND_SEQUENCE, NetError.ERR_PKCS12_IMPORT_BAD_PASSWORD, NetError.ERR_PKCS12_IMPORT_FAILED, NetError.ERR_IMPORT_CA_CERT_NOT_CA, NetError.ERR_IMPORT_CERT_ALREADY_EXISTS, NetError.ERR_IMPORT_CA_CERT_FAILED, NetError.ERR_IMPORT_SERVER_CERT_FAILED, NetError.ERR_PKCS12_IMPORT_INVALID_MAC, NetError.ERR_PKCS12_IMPORT_INVALID_FILE, NetError.ERR_PKCS12_IMPORT_UNSUPPORTED, NetError.ERR_KEY_GENERATION_FAILED, NetError.ERR_PRIVATE_KEY_EXPORT_FAILED, NetError.ERR_SELF_SIGNED_CERT_GENERATION_FAILED, NetError.ERR_CERT_DATABASE_CHANGED, NetError.ERR_DNS_MALFORMED_RESPONSE, NetError.ERR_DNS_SERVER_REQUIRES_TCP, NetError.ERR_DNS_SERVER_FAILED, NetError.ERR_DNS_TIMED_OUT, NetError.ERR_DNS_CACHE_MISS, NetError.ERR_DNS_SEARCH_EMPTY, NetError.ERR_DNS_SORT_ERROR, NetError.ERR_DNS_SECURE_RESOLVER_HOSTNAME_RESOLUTION_FAILED, NetError.OK"
         errorLine1="                error.errorCode = ErrorCodeConversionHelper.convertErrorCode(error.errorCode);"
@@ -254,7 +41,7 @@
         errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="../../weblayer/browser/java/org/chromium/weblayer_private/BrowserViewController.java"
-            line="285"
+            line="305"
             column="53"/>
     </issue>
 
@@ -331,7 +118,7 @@
         errorLine2="                       ~">
         <location
             file="../../chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckProperties.java"
-            line="110"
+            line="138"
             column="24"/>
     </issue>
 
@@ -342,7 +129,7 @@
         errorLine2="               ~">
         <location
             file="../../chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckProperties.java"
-            line="115"
+            line="143"
             column="16"/>
     </issue>
 
@@ -492,72 +279,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        profile.setCountryCode(mCountryField.getValue().toString());"
-        errorLine2="                ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java"
-            line="323"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        profile.setLanguageCode(mAutofillProfileBridge.getCurrentBestLanguageCode());"
-        errorLine2="                ~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java"
-            line="328"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            profile.setGUID(PersonalDataManager.getInstance().setProfileToLocal(mProfile));"
-        errorLine2="                    ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java"
-            line="350"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            profile.setGUID(UUID.randomUUID().toString());"
-        errorLine2="                    ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java"
-            line="358"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                profile.setCountryCode(ensureNotNull(value));"
-        errorLine2="                        ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java"
-            line="370"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                profile.setStreetAddress(ensureNotNull(value));"
-        errorLine2="                        ~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java"
-            line="388"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="            if (mBypassIsReadyToPayServiceInTest) app.bypassIsReadyToPayServiceInTest();"
         errorLine2="                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -569,193 +290,17 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return suggestion.hasAnswer() || suggestion.getType() == OmniboxSuggestionType.CALCULATOR;"
-        errorLine2="                          ~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/answer/AnswerSuggestionProcessor.java"
-            line="59"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return suggestion.hasAnswer() || suggestion.getType() == OmniboxSuggestionType.CALCULATOR;"
-        errorLine2="                                                    ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/answer/AnswerSuggestionProcessor.java"
-            line="59"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (!suggestion.hasAnswer()) return;"
-        errorLine2="                        ~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/answer/AnswerSuggestionProcessor.java"
-            line="86"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        final String url = suggestion.getAnswer().getSecondLine().getImage();"
-        errorLine2="                                      ~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/answer/AnswerSuggestionProcessor.java"
-            line="87"
-            column="39"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        SuggestionAnswer answer = suggestion.getAnswer();"
-        errorLine2="                                             ~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/answer/AnswerSuggestionProcessor.java"
-            line="154"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            assert suggestion.getType() == OmniboxSuggestionType.CALCULATOR;"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/answer/AnswerSuggestionProcessor.java"
-            line="180"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        SuggestionAnswer answer = suggestion.getAnswer();"
-        errorLine2="                                             ~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/answer/AnswerTextNewLayout.java"
-            line="41"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            assert suggestion.getType() == OmniboxSuggestionType.CALCULATOR;"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/answer/AnswerTextNewLayout.java"
-            line="45"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            result[1] = new AnswerTextNewLayout(context, suggestion.getDisplayText(), false);"
-        errorLine2="                                                                    ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/answer/AnswerTextNewLayout.java"
-            line="47"
-            column="69"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="            mHandler.onOptionsItemSelected(menuItem);"
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="../../chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java"
-            line="361"
+            line="372"
             column="22"/>
     </issue>
 
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mModel.get(AssistantDetailsModel.DETAILS) != null ? View.VISIBLE : View.GONE;"
-        errorLine2="                                                 ~~~~~~~">
-        <location
-            file="../../chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsCoordinator.java"
-            line="69"
-            column="50"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (AssistantDetailsModel.DETAILS == propertyKey) {"
-        errorLine2="                                  ~~~~~~~">
-        <location
-            file="../../chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsViewBinder.java"
-            line="118"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            AssistantDetails details = model.get(AssistantDetailsModel.DETAILS);"
-        errorLine2="                                                                       ~~~~~~~">
-        <location
-            file="../../chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsViewBinder.java"
-            line="119"
-            column="72"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (AssistantInfoBoxModel.INFO_BOX == propertyKey) {"
-        errorLine2="                                      ~~~~~~~~">
-        <location
-            file="../../chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/infobox/AssistantInfoBoxCoordinator.java"
-            line="46"
-            column="39"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                AssistantInfoBox infoBox = model.get(AssistantInfoBoxModel.INFO_BOX);"
-        errorLine2="                                                                           ~~~~~~~~">
-        <location
-            file="../../chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/infobox/AssistantInfoBoxCoordinator.java"
-            line="47"
-            column="76"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (AssistantInfoBoxModel.INFO_BOX == propertyKey) {"
-        errorLine2="                                  ~~~~~~~~">
-        <location
-            file="../../chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/infobox/AssistantInfoBoxViewBinder.java"
-            line="57"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            AssistantInfoBox infoBox = model.get(AssistantInfoBoxModel.INFO_BOX);"
-        errorLine2="                                                                       ~~~~~~~~">
-        <location
-            file="../../chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/infobox/AssistantInfoBoxViewBinder.java"
-            line="58"
-            column="72"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="            return new EditorTextField(context,"
         errorLine2="                   ^">
         <location
@@ -811,28 +356,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return new OmniboxSuggestion(nativeType, isSearchType, relevance, transition, contents,"
-        errorLine2="               ^">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java"
-            line="352"
-            column="16"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return suggestion.hashCode() == hashCode;"
-        errorLine2="                          ~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java"
-            line="366"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        return new AutocompleteCoordinatorImpl("
         errorLine2="               ^">
         <location
@@ -844,39 +367,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return suggestion.getType() == OmniboxSuggestionType.CLIPBOARD_URL"
-        errorLine2="                          ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="240"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                || suggestion.getType() == OmniboxSuggestionType.CLIPBOARD_TEXT"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="241"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                || suggestion.getType() == OmniboxSuggestionType.CLIPBOARD_IMAGE;"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="242"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        return mAutocomplete.getCurrentNativeAutocompleteResult();"
         errorLine2="                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -888,314 +378,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        boolean isSearchSuggestion = suggestion.isSearchSuggestion();"
-        errorLine2="                                                ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="564"
-            column="49"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        String refineText = suggestion.getFillIntoEdit();"
-        errorLine2="                                       ~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="565"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        Tab tab = mAutocomplete.findMatchingTabWithUrl(suggestion.getUrl());"
-        errorLine2="                                                                  ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="580"
-            column="67"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (!suggestion.isDeletable()) return;"
-        errorLine2="                        ~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="618"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    mAutocomplete.deleteSuggestion(position, suggestion.hashCode());"
-        errorLine2="                                                                        ~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="635"
-            column="73"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                        .with(ModalDialogProperties.TITLE, suggestion.getDisplayText())"
-        errorLine2="                                                                      ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="656"
-            column="71"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mDelegate.setOmniboxEditingText(suggestion.getFillIntoEdit());"
-        errorLine2="                                                   ~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="674"
-            column="52"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (suggestion.getType() == OmniboxSuggestionType.VOICE_SUGGEST"
-        errorLine2="                       ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="693"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                || suggestion.getType() == OmniboxSuggestionType.TILE_SUGGESTION) {"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="694"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            return suggestion.getUrl();"
-        errorLine2="                              ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="695"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (verifiedIndex == SUGGESTION_NOT_FOUND) return suggestion.getUrl();"
-        errorLine2="                                                                     ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="704"
-            column="70"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                verifiedIndex, suggestion.hashCode(), getElapsedTimeSinceInputChange());"
-        errorLine2="                                          ~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="709"
-            column="43"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return updatedUrl == null ? suggestion.getUrl() : updatedUrl;"
-        errorLine2="                                               ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="711"
-            column="48"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (suggestion.equals(getSuggestionAt(index))) {"
-        errorLine2="                           ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="734"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    &amp;&amp; mDeferredOnSelection.mSuggestion.equals("
-        errorLine2="                                                        ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="852"
-            column="57"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        int transition = suggestion.getTransition();"
-        errorLine2="                                    ~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="941"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        int type = suggestion.getType();"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="942"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                        suggestion.getFillIntoEdit(), mDataProvider.getDisplaySearchTerms())) {"
-        errorLine2="                                   ~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="963"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (suggestion.getType() == OmniboxSuggestionType.CLIPBOARD_IMAGE) {"
-        errorLine2="                       ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="978"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.getPostContentType(), suggestion.getPostData());"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="980"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.getPostContentType(), suggestion.getPostData());"
-        errorLine2="                                                                ~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="980"
-            column="65"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mAutocomplete.onSuggestionSelected(matchPosition, disposition, suggestion.hashCode(),"
-        errorLine2="                                                                                  ~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="1158"
-            column="83"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                suggestion.getType(), currentPageUrl, pageClassification, elapsedTimeSinceModified,"
-        errorLine2="                           ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java"
-            line="1159"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        card.setGUID(mGUID);"
-        errorLine2="             ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillLocalCardEditor.java"
-            line="208"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        card.setMonth(String.valueOf(mExpirationMonth.getSelectedItemPosition() + 1));"
-        errorLine2="             ~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillLocalCardEditor.java"
-            line="211"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        card.setGUID(personalDataManager.setCreditCard(card));"
-        errorLine2="             ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillLocalCardEditor.java"
-            line="216"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mCard.setNumber(updatedCard.getNumber());"
-        errorLine2="              ~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java"
-            line="195"
-            column="15"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mCard.setMonth(updatedCard.getMonth());"
-        errorLine2="              ~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java"
-            line="198"
-            column="15"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                CombinedPolicyProvider.get().registerProvider(new AwPolicyProvider(appContext));"
         errorLine2="                                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1207,83 +389,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="            return new AwScrollOffsetManager(delegate);"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="353"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mContentsClient.getCallbackHelper().postOnLoadResource(url);"
-        errorLine2="                                                    ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="661"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mContentsClient.getCallbackHelper().postOnReceivedError("
-        errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="668"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mContentsClient.getCallbackHelper().postOnPageStarted(navigationParams.url);"
-        errorLine2="                                                    ~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="693"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mContentsClient.getCallbackHelper().setCancelCallbackPoller("
-        errorLine2="                                                ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="901"
-            column="49"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mScrollOffsetManager.getScrollX(), mScrollOffsetManager.getScrollY());"
-        errorLine2="                                     ~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="1008"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mScrollOffsetManager.getScrollX(), mScrollOffsetManager.getScrollY());"
-        errorLine2="                                                                        ~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="1008"
-            column="73"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        mViewAndroidDelegate ="
         errorLine2="        ~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1306,39 +411,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mContentsClient.getCallbackHelper().removeCallbacksAndMessages();"
-        errorLine2="                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="1457"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mScrollOffsetManager.computeHorizontalScrollRange(),"
-        errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="1638"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mScrollOffsetManager.computeVerticalScrollRange()));"
-        errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="1639"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        LoadUrlParams params = LoadUrlParams.createLoadHttpPostParams(url, postData);"
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1350,39 +422,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return mScrollOffsetManager.requestChildRectangleOnScreen("
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="2166"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return mScrollOffsetManager.pageUp(top);"
-        errorLine2="                                    ~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="2643"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return mScrollOffsetManager.pageDown(bottom);"
-        errorLine2="                                    ~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="2652"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        mWebContents.evaluateJavaScriptForTests(script, jsCallback);"
         errorLine2="                     ~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1394,358 +433,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mContentsClient.getCallbackHelper().postOnNewPicture(mPictureListenerContentProvider);"
-        errorLine2="                                            ~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3345"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mScrollOffsetManager.scrollContainerViewTo(xPx, yPx);"
-        errorLine2="                             ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3406"
-            column="30"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mScrollOffsetManager.setMaxScrollOffset(maxContainerViewScrollOffsetX,"
-        errorLine2="                             ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3415"
-            column="30"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mScrollOffsetManager.overScrollBy(deltaX, deltaY);"
-        errorLine2="                             ~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3428"
-            column="30"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        final int scrollRangeX = mScrollOffsetManager.computeMaximumHorizontalScrollOffset();"
-        errorLine2="                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3437"
-            column="55"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        final int scrollRangeY = mScrollOffsetManager.computeMaximumVerticalScrollOffset();"
-        errorLine2="                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3438"
-            column="55"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mContentsClient.getCallbackHelper().postOnScaleChangedScaled("
-        errorLine2="                                                ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3538"
-            column="49"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mScrollOffsetManager.syncScrollOffsetFromOnDraw();"
-        errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3662"
-            column="34"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    mScrollOffsetManager.computeMaximumHorizontalScrollOffset(),"
-        errorLine2="                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3705"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    mScrollOffsetManager.computeMaximumVerticalScrollOffset())) {"
-        errorLine2="                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3706"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mScrollOffsetManager.setProcessingTouchEvent(true);"
-        errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3796"
-            column="34"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mScrollOffsetManager.setProcessingTouchEvent(false);"
-        errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3798"
-            column="34"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mScrollOffsetManager.setContainerViewSize(w, h);"
-        errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3915"
-            column="34"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mScrollOffsetManager.onContainerViewScrollChanged(l, t);"
-        errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3944"
-            column="34"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mScrollOffsetManager.onContainerViewOverScrolled(scrollX, scrollY, clampedX, clampedY);"
-        errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3953"
-            column="34"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                        mScrollOffsetManager.computeMaximumHorizontalScrollOffset(),"
-        errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3958"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                        mScrollOffsetManager.computeMaximumVerticalScrollOffset());"
-        errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3959"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            return mScrollOffsetManager.computeHorizontalScrollRange();"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3965"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            return mScrollOffsetManager.computeHorizontalScrollOffset();"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3970"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            return mScrollOffsetManager.computeVerticalScrollRange();"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3975"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            return mScrollOffsetManager.computeVerticalScrollOffset();"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3980"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            return mScrollOffsetManager.computeVerticalScrollExtent();"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContents.java"
-            line="3985"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mCallbackHelper = new AwContentsClientCallbackHelper(looper, this);"
-        errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContentsClient.java"
-            line="81"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mCallbackHelper.getCancelCallbackPoller();"
-        errorLine2="                                ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContentsClient.java"
-            line="202"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mCallbackHelper.postOnReceivedTitle(mTitle);"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContentsClient.java"
-            line="455"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mClient.getCallbackHelper().postOnDownloadStart("
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContentsClientBridge.java"
-            line="284"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mClient.getCallbackHelper().postOnReceivedLoginRequest(realm, account, args);"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContentsClientBridge.java"
-            line="294"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mClient.getCallbackHelper().postOnPageStarted(request.url);"
-        errorLine2="                                            ~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContentsClientBridge.java"
-            line="341"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mClient.getCallbackHelper().postOnReceivedError(request, error);"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContentsClientBridge.java"
-            line="343"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mClient.getCallbackHelper().postOnPageFinished(request.url);"
-        errorLine2="                                            ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContentsClientBridge.java"
-            line="348"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mClient.getCallbackHelper().postOnSafeBrowsingHit(request, webViewThreatType, callback);"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContentsClientBridge.java"
-            line="372"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mClient.getCallbackHelper().postOnReceivedHttpError(request, response);"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwContentsClientBridge.java"
-            line="402"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        return FindAddress.findAddress(addr);"
         errorLine2="                           ~~~~~~~~~~~">
         <location
@@ -1768,28 +455,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        leftMargin += mScrollManager.getScrollX();"
-        errorLine2="                                     ~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwViewAndroidDelegate.java"
-            line="117"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        topMargin += mScrollManager.getScrollY();"
-        errorLine2="                                    ~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwViewAndroidDelegate.java"
-            line="118"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="class AwWebContentsDelegateAdapter extends AwWebContentsDelegate {"
         errorLine2="                                           ~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1834,83 +499,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mContentsClient.getCallbackHelper().postOnFormResubmission(dontResend, resend);"
-        errorLine2="                                            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java"
-            line="206"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mContentsClient.getCallbackHelper().postSynthesizedPageLoadingForUrlBarUpdate(url);"
-        errorLine2="                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java"
-            line="254"
-            column="49"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            client.getCallbackHelper().postOnPageFinished(validatedUrl);"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java"
-            line="66"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        client.getCallbackHelper().postOnProgressChanged(Math.round(progress * 100));"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java"
-            line="75"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            client.getCallbackHelper().postOnPageFinished(failingUrl);"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java"
-            line="88"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                client.getCallbackHelper().postOnPageStarted(url);"
-        errorLine2="                                           ~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java"
-            line="119"
-            column="44"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            client.getCallbackHelper().postDoUpdateVisitedHistory(url, isReload);"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java"
-            line="125"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                            0, new VisualStateCallback() {"
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1922,292 +510,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="            client.getCallbackHelper().postOnPageFinished(url);"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java"
-            line="149"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        int taskId = extras.getInt(BACKGROUND_TASK_ID_KEY, /* defaultValue= */ 0);"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerAlarmManager.java"
-            line="37"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (extras == null || !extras.containsKey(BACKGROUND_TASK_SCHEDULE_TIME_KEY)) {"
-        errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="58"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        long scheduleTimeMs = extras.getLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY);"
-        errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="62"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (extras.containsKey(BACKGROUND_TASK_END_TIME_KEY)) {"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="63"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    extras.getLong(BackgroundTaskSchedulerDelegate.BACKGROUND_TASK_END_TIME_KEY);"
-        errorLine2="                                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="65"
-            column="68"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            long intervalTimeMs = extras.getLong(BACKGROUND_TASK_INTERVAL_TIME_KEY);"
-        errorLine2="                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="69"
-            column="50"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            long flexTimeMs = extras.getLong(BACKGROUND_TASK_FLEX_TIME_KEY,"
-        errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="76"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        Bundle taskExtras = extras.getBundle(BACKGROUND_TASK_EXTRAS_KEY);"
-        errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="104"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mTaskExtras.putLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY, sClock.currentTimeMillis());"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="146"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mTaskExtras.putLong(BACKGROUND_TASK_END_TIME_KEY, oneOffInfo.getWindowEndTimeMs());"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="147"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mTaskExtras.putLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY, sClock.currentTimeMillis());"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="167"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                        BACKGROUND_TASK_INTERVAL_TIME_KEY, periodicInfo.getIntervalMs());"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="169"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    mTaskExtras.putLong(BACKGROUND_TASK_FLEX_TIME_KEY, periodicInfo.getFlexMs());"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java"
-            line="171"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (extras == null || !extras.containsKey(BACKGROUND_TASK_SCHEDULE_TIME_KEY)) {"
-        errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="57"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        long scheduleTimeMs = extras.getLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY);"
-        errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="61"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (extras.containsKey(BACKGROUND_TASK_END_TIME_KEY)) {"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="62"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            long endTimeMs = extras.getLong(BACKGROUND_TASK_END_TIME_KEY);"
-        errorLine2="                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="63"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            long intervalTimeMs = extras.getLong(BACKGROUND_TASK_INTERVAL_TIME_KEY);"
-        errorLine2="                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="73"
-            column="50"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            long flexTimeMs = extras.getLong(BACKGROUND_TASK_FLEX_TIME_KEY, /*defaultValue=*/"
-        errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="85"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                jobExtras.getPersistableBundle(BACKGROUND_TASK_EXTRAS_KEY);"
-        errorLine2="                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="106"
-            column="48"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                        BackgroundTaskSchedulerDelegate.BACKGROUND_TASK_SCHEDULE_TIME_KEY,"
-        errorLine2="                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="156"
-            column="57"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mJobExtras.putLong(BackgroundTaskSchedulerDelegate.BACKGROUND_TASK_END_TIME_KEY,"
-        errorLine2="                                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="158"
-            column="68"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mJobExtras.putLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY, sClock.currentTimeMillis());"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="176"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mJobExtras.putLong(BACKGROUND_TASK_INTERVAL_TIME_KEY, periodicInfo.getIntervalMs());"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="177"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    mJobExtras.putLong(BACKGROUND_TASK_FLEX_TIME_KEY, periodicInfo.getFlexMs());"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java"
-            line="179"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                    toUmaEnumValueFromTaskId(taskId));"
         errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -2351,215 +653,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (suggestion.hasTabMatch()) {"
-        errorLine2="                       ~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/base/BaseSuggestionViewProcessor.java"
-            line="131"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (suggestion.isSearchSuggestion()) {"
-        errorLine2="                       ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="84"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            switch (suggestion.getType()) {"
-        errorLine2="                               ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="85"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (suggestion.isStarred()) {"
-        errorLine2="                           ~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="97"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        final @OmniboxSuggestionType int suggestionType = suggestion.getType();"
-        errorLine2="                                                                     ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="154"
-            column="70"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        final boolean isSearchSuggestion = suggestion.isSearchSuggestion();"
-        errorLine2="                                                      ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="155"
-            column="55"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (!suggestion.getUrl().isEmpty()) {"
-        errorLine2="                            ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="160"
-            column="29"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                SuggestionSpannable str = new SuggestionSpannable(suggestion.getDisplayText());"
-        errorLine2="                                                                             ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="161"
-            column="78"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                        str, suggestion.getDisplayTextClassifications());"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="163"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            textLine2 = new SuggestionSpannable(suggestion.getDescription());"
-        errorLine2="                                                           ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="167"
-            column="60"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        fetchSuggestionFavicon(model, suggestion.getUrl(), mIconBridgeSupplier.get(), () -> {"
-        errorLine2="                                                 ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="177"
-            column="50"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.getDisplayText())) {"
-        errorLine2="                               ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="184"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (showDescriptionIfPresent &amp;&amp; !suggestion.getUrl().isEmpty()"
-        errorLine2="                                                    ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="201"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; !TextUtils.isEmpty(suggestion.getDescription())) {"
-        errorLine2="                                                 ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="202"
-            column="50"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            suggestedQuery = suggestion.getDescription();"
-        errorLine2="                                        ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="203"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            classifications = suggestion.getDescriptionClassifications();"
-        errorLine2="                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="204"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            suggestedQuery = suggestion.getDisplayText();"
-        errorLine2="                                        ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="206"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            classifications = suggestion.getDisplayTextClassifications();"
-        errorLine2="                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/basic/BasicSuggestionProcessor.java"
-            line="207"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (!AndroidSyncSettings.get().isChromeSyncEnabled() &amp;&amp; impressionLimitNotReached) {"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java"
-            line="237"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="            mBottomSheet.showContent(null);"
         errorLine2="                         ~~~~~~~~~~~">
         <location
@@ -2608,7 +701,7 @@
         errorLine2="                                                        ~~~~~~~~~~~~">
         <location
             file="../../weblayer/browser/java/org/chromium/weblayer_private/BrowserImpl.java"
-            line="257"
+            line="258"
             column="57"/>
     </issue>
 
@@ -2619,178 +712,13 @@
         errorLine2="                                                                            ~~~~~~~~~~~~">
         <location
             file="../../weblayer/browser/java/org/chromium/weblayer_private/BrowserImpl.java"
-            line="381"
+            line="382"
             column="77"/>
     </issue>
 
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.getUrl().serialize());"
-        errorLine2="                               ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="83"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.getDisplayText());"
-        errorLine2="                               ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="86"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.getDescription());"
-        errorLine2="                               ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="88"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.getType());"
-        errorLine2="                               ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="90"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.isSearchSuggestion());"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="93"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.isDeletable());"
-        errorLine2="                               ~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="96"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.isStarred());"
-        errorLine2="                               ~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="98"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.getPostContentType());"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="101"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.getPostData() == null"
-        errorLine2="                               ~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="104"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                            : Base64.encodeToString(suggestion.getPostData(), Base64.DEFAULT));"
-        errorLine2="                                                               ~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="106"
-            column="64"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestion.getGroupId());"
-        errorLine2="                               ~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="108"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return !suggestion.hasAnswer()"
-        errorLine2="                           ~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="261"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; suggestion.getType() != OmniboxSuggestionType.CLIPBOARD_URL"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="262"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; suggestion.getType() != OmniboxSuggestionType.CLIPBOARD_TEXT"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="263"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; suggestion.getType() != OmniboxSuggestionType.CLIPBOARD_IMAGE;"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/CachedZeroSuggestionsManager.java"
-            line="264"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        boolean isRouteInRecord = mRoutes.containsKey(routeId);"
         errorLine2="                                  ~~~~~~~">
         <location
@@ -2824,43 +752,10 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        card.setNumber(removeSpaceAndBar(mNumberField.getValue()));"
-        errorLine2="             ~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java"
-            line="785"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        card.setMonth(mMonthField.getValue().toString());"
-        errorLine2="             ~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java"
-            line="787"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            card.setGUID(pdm.setCreditCard(card));"
-        errorLine2="                 ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java"
-            line="805"
-            column="18"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        mPartnerBrowserRefreshNeeded = !PartnerBrowserCustomizations.getInstance().isInitialized();"
         errorLine2="                                                                                   ~~~~~~~~~~~~~">
         <location
-            file="chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java"
+            file="../../chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java"
             line="359"
             column="84"/>
     </issue>
@@ -2871,7 +766,7 @@
         errorLine1="        IntentHandler.setTestIntentsEnabled("
         errorLine2="                      ~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java"
+            file="../../chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java"
             line="752"
             column="23"/>
     </issue>
@@ -2894,134 +789,13 @@
         errorLine2="                                                                  ~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="../../chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java"
-            line="824"
+            line="825"
             column="67"/>
     </issue>
 
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return suggestion.getType() == OmniboxSuggestionType.CLIPBOARD_URL"
-        errorLine2="                          ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/clipboard/ClipboardSuggestionProcessor.java"
-            line="43"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                || suggestion.getType() == OmniboxSuggestionType.CLIPBOARD_TEXT"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/clipboard/ClipboardSuggestionProcessor.java"
-            line="44"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                || suggestion.getType() == OmniboxSuggestionType.CLIPBOARD_IMAGE;"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/clipboard/ClipboardSuggestionProcessor.java"
-            line="45"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        boolean isUrlSuggestion = suggestion.getType() == OmniboxSuggestionType.CLIPBOARD_URL;"
-        errorLine2="                                             ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/clipboard/ClipboardSuggestionProcessor.java"
-            line="62"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                new SuggestionSpannable(suggestion.getDescription()));"
-        errorLine2="                                                   ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/clipboard/ClipboardSuggestionProcessor.java"
-            line="66"
-            column="52"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                new SuggestionSpannable(suggestion.getDisplayText()));"
-        errorLine2="                                                   ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/clipboard/ClipboardSuggestionProcessor.java"
-            line="68"
-            column="52"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (suggestion.getType() == OmniboxSuggestionType.CLIPBOARD_IMAGE) {"
-        errorLine2="                       ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/clipboard/ClipboardSuggestionProcessor.java"
-            line="71"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            byte[] imageData = suggestion.getClipboardImageData();"
-        errorLine2="                                          ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/clipboard/ClipboardSuggestionProcessor.java"
-            line="72"
-            column="43"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            fetchSuggestionFavicon(model, suggestion.getUrl(), mIconBridgeSupplier.get(), null);"
-        errorLine2="                                                     ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/clipboard/ClipboardSuggestionProcessor.java"
-            line="109"
-            column="54"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                profile.setGUID(PersonalDataManager.getInstance().setProfileToLocal(profile));"
-        errorLine2="                        ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java"
-            line="258"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                profile.setGUID(UUID.randomUUID().toString());"
-        errorLine2="                        ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java"
-            line="265"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                IconProvider.getIcon(context, R.drawable.infobar_autofill_cc),"
         errorLine2="                             ~~~~~~~">
         <location
@@ -3044,61 +818,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return getToolbarDataProvider().getTab();"
-        errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/CustomTabToolbar.java"
-            line="301"
-            column="16"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        Tab tab = getToolbarDataProvider().getTab();"
-        errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/CustomTabToolbar.java"
-            line="339"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                mFirstUrl = getToolbarDataProvider().getTab().getUrlString();"
-        errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/CustomTabToolbar.java"
-            line="357"
-            column="29"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                if (mFirstUrl.equals(getToolbarDataProvider().getTab().getUrlString())) return;"
-        errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/CustomTabToolbar.java"
-            line="359"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        final int finalColor = getToolbarDataProvider().getPrimaryColor();"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/CustomTabToolbar.java"
-            line="417"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        mConnection.cleanUpSession(sessionToken);"
         errorLine2="                    ~~~~~~~~~~~~~~">
         <location
@@ -3110,28 +829,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; UrlUtilities.urlsFragmentsDiffer(speculatedUrl, url)) {"
-        errorLine2="                                ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/customtabs/content/DefaultCustomTabIntentHandlingStrategy.java"
-            line="98"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (!AndroidSyncSettings.get().isChromeSyncEnabled()) {"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/send_tab_to_self/DevicePickerBottomSheetContent.java"
-            line="75"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                mDownloadNotificationService.notifyDownloadPaused(entry.id, entry.fileName, true,"
         errorLine2="                                             ~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -3165,94 +862,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (currentGroup != suggestion.getGroupId()) {"
-        errorLine2="                                           ~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java"
-            line="277"
-            column="44"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                currentGroup = suggestion.getGroupId();"
-        errorLine2="                                          ~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java"
-            line="278"
-            column="43"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (suggestionsPairedWithProcessors.get(firstIndexWithHeader).first.getGroupId()"
-        errorLine2="                                                                                ~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java"
-            line="406"
-            column="81"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    suggestionsPairedWithProcessors.get(firstIndexForGrouping).first.getType();"
-        errorLine2="                                                                                     ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java"
-            line="427"
-            column="86"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mLastProcessedSuggestionURL = suggestion.getUrl();"
-        errorLine2="                                                 ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/editurl/EditUrlSuggestionProcessor.java"
-            line="96"
-            column="50"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        switch (suggestion.getType()) {"
-        errorLine2="                           ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/editurl/EditUrlSuggestionProcessor.java"
-            line="201"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                return TextUtils.equals(suggestion.getFillIntoEdit(),"
-        errorLine2="                                                   ~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/editurl/EditUrlSuggestionProcessor.java"
-            line="203"
-            column="52"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                return suggestion.getUrl().equals(pageUrl);"
-        errorLine2="                                  ~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/editurl/EditUrlSuggestionProcessor.java"
-            line="206"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="            EditorTextField inputLayout = new EditorTextField("
         errorLine2="                                          ^">
         <location
@@ -3275,61 +884,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return suggestion.getType() == OmniboxSuggestionType.SEARCH_SUGGEST_ENTITY;"
-        errorLine2="                          ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/entity/EntitySuggestionProcessor.java"
-            line="66"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        final GURL url = suggestion.getImageUrl();"
-        errorLine2="                                    ~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/entity/EntitySuggestionProcessor.java"
-            line="81"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            applyImageDominantColor(suggestion.getImageDominantColor(), model);"
-        errorLine2="                                               ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/entity/EntitySuggestionProcessor.java"
-            line="154"
-            column="48"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        model.set(EntitySuggestionViewProperties.SUBJECT_TEXT, suggestion.getDisplayText());"
-        errorLine2="                                                                          ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/entity/EntitySuggestionProcessor.java"
-            line="158"
-            column="75"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        model.set(EntitySuggestionViewProperties.DESCRIPTION_TEXT, suggestion.getDescription());"
-        errorLine2="                                                                              ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/entity/EntitySuggestionProcessor.java"
-            line="159"
-            column="79"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        return FeedConfiguration.getFeedServerEndpoint();"
         errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -3341,17 +895,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    ? UrlUtilities.urlsMatchIgnoringFragments(speculatedUrl, url)"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/customtabs/HiddenTabHolder.java"
-            line="178"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                            ImageFetcher.resizeImage(bitmap, params.width, params.height));"
         errorLine2="                                         ~~~~~~~~~~~">
         <location
@@ -3407,50 +950,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="                || propertyKey == DISABLE_ANIMATIONS_FOR_TESTING) {"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryMediator.java"
-            line="255"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    || propertyKey == KeyboardAccessoryProperties.DISABLE_ANIMATIONS_FOR_TESTING) {"
-        errorLine2="                                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryMetricsRecorder.java"
-            line="78"
-            column="67"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        } else if (propertyKey == DISABLE_ANIMATIONS_FOR_TESTING) {"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryViewBinder.java"
-            line="104"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (model.get(DISABLE_ANIMATIONS_FOR_TESTING)) view.disableAnimationsForTesting();"
-        errorLine2="                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryViewBinder.java"
-            line="105"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        } else if (animationsEnabled()) {"
         errorLine2="                   ~~~~~~~~~~~~~~~~~">
         <location
@@ -3484,17 +983,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; mAutocompleteCoordinator.getSuggestionAt(0).isSearchSuggestion());"
-        errorLine2="                                                               ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarTablet.java"
-            line="237"
-            column="64"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                sController.mThrottler.queueNotification(notificationInfo);"
         errorLine2="                            ~~~~~~~~~~">
         <location
@@ -3693,17 +1181,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return getBrowserStartupController().isRunningInServiceManagerMode();"
-        errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/offlinepages/prefetch/PrefetchBackgroundTask.java"
-            line="120"
-            column="16"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        String distillerUrl = DomDistillerUrlUtils.getDistillerViewUrlFromUrl("
         errorLine2="                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -3715,17 +1192,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; AndroidSyncSettings.get().isChromeSyncEnabled() &amp;&amp; !mForeignSessions.isEmpty()) {"
-        errorLine2="                                             ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java"
-            line="381"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                new SettingsSecureBasedIdentificationGenerator(getContext()), false);"
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -3780,17 +1246,6 @@
 
     <issue
         id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (!AndroidSyncSettings.get().isChromeSyncEnabled()) {"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardShareActivity.java"
-            line="80"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
         message="This method should only be accessed from tests or within package private scope"
         errorLine1="        SigninPreferencesManager.getInstance().setNewTabPageSigninPromoSuppressionPeriodStart("
         errorLine2="                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
@@ -3825,39 +1280,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="            SnackbarController controller = current.getController();"
-        errorLine2="                                                    ~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarCollection.java"
-            line="62"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (snackbar.getController() != controller) continue;"
-        errorLine2="                         ~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarCollection.java"
-            line="119"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (snackbar.getController() != controller) continue;"
-        errorLine2="                         ~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarCollection.java"
-            line="140"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                &amp;&amp; clickedTab.getVisiblePercentage() >= 1.f"
         errorLine2="                              ~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -3880,39 +1302,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mSyncRequested.setChecked(AndroidSyncSettings.get().isChromeSyncEnabled());"
-        errorLine2="                                                            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncAndServicesSettings.java"
-            line="629"
-            column="61"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        } else if (!AndroidSyncSettings.get().isChromeSyncEnabled()) {"
-        errorLine2="                                              ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/signin/SyncPromoView.java"
-            line="100"
-            column="47"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (!AndroidSyncSettings.get().isChromeSyncEnabled()) {"
-        errorLine2="                                       ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java"
-            line="83"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        assert AccountUtils.GOOGLE_ACCOUNT_TYPE.equals(account.type);"
         errorLine2="                            ~~~~~~~~~~~~~~~~~~~">
         <location
@@ -3990,50 +1379,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; suggestion.getType() == OmniboxSuggestionType.SEARCH_SUGGEST_TAIL;"
-        errorLine2="                              ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionProcessor.java"
-            line="37"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        model.set(TailSuggestionViewProperties.FILL_INTO_EDIT, suggestion.getFillIntoEdit());"
-        errorLine2="                                                                          ~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionProcessor.java"
-            line="57"
-            column="75"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        final SuggestionSpannable text = new SuggestionSpannable(suggestion.getDisplayText());"
-        errorLine2="                                                                            ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionProcessor.java"
-            line="59"
-            column="77"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        applyHighlightToMatchRegions(text, suggestion.getDisplayTextClassifications());"
-        errorLine2="                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionProcessor.java"
-            line="60"
-            column="55"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        mTileRenderer.renderTileSection(tiles, mSectionView, mTileGroup.getTileSetupDelegate());"
         errorLine2="                                                                        ~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -4045,138 +1390,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return suggestion.getType() == OmniboxSuggestionType.TILE_SUGGESTION;"
-        errorLine2="                          ~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/tiles/TileSuggestionProcessor.java"
-            line="40"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        List&lt;QueryTile> tiles = suggestion.getQueryTiles();"
-        errorLine2="                                           ~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/tiles/TileSuggestionProcessor.java"
-            line="72"
-            column="44"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            NewTabPage newTabPage = getToolbarDataProvider().getNewTabPageForCurrentTab();"
-        errorLine2="                                    ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="522"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                return getToolbarDataProvider().getPrimaryColor();"
-        errorLine2="                       ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="748"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                        || getToolbarDataProvider().isInOverviewAndShowingOmnibox()"
-        errorLine2="                           ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="915"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (!getToolbarDataProvider().isInOverviewAndShowingOmnibox()) {"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="950"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        boolean isIncognito = getToolbarDataProvider().isIncognito();"
-        errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="999"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        Tab currentTab = getToolbarDataProvider().getTab();"
-        errorLine2="                         ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1018"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            NewTabPage ntp = getToolbarDataProvider().getNewTabPageForCurrentTab();"
-        errorLine2="                             ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1020"
-            column="30"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                    &amp;&amp; !getToolbarDataProvider().isInOverviewAndShowingOmnibox()) {"
-        errorLine2="                        ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1026"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                int primaryColor = getToolbarDataProvider().getPrimaryColor();"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1064"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        NewTabPage ntp = getToolbarDataProvider().getNewTabPageForCurrentTab();"
-        errorLine2="                         ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1160"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                                != mTabSwitcherAnimationTabStackDrawable.getTabCount();"
         errorLine2="                                                                         ~~~~~~~~~~~">
         <location
@@ -4188,424 +1401,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return !isIncognito() &amp;&amp; NewTabPage.isNTPUrl(getToolbarDataProvider().getCurrentUrl())"
-        errorLine2="                                                     ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1774"
-            column="54"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (!getToolbarDataProvider().shouldShowLocationBarInOverviewMode()) return false;"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1893"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (getToolbarDataProvider().shouldShowLocationBarInOverviewMode()"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1944"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; mTabSwitcherState == STATIC_TAB &amp;&amp; getToolbarDataProvider() != null"
-        errorLine2="                                                      ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1945"
-            column="55"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; getToolbarDataProvider().getUrlBarData() != null) {"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1946"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            assert !getToolbarDataProvider().isInOverviewAndShowingOmnibox();"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1947"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mUrlBar.setText(getToolbarDataProvider().getUrlBarData().displayText);"
-        errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="1948"
-            column="29"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (getToolbarDataProvider().isInOverviewAndShowingOmnibox()) {"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2138"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                if (getToolbarDataProvider().shouldShowLocationBarInOverviewMode()) {"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2192"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (getToolbarDataProvider().isInOverviewAndShowingOmnibox()"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2231"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; getToolbarDataProvider().shouldShowLocationBarInOverviewMode()) {"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2232"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (getToolbarDataProvider() != null) return getToolbarDataProvider().getPrimaryColor();"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2243"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (getToolbarDataProvider() != null) return getToolbarDataProvider().getPrimaryColor();"
-        errorLine2="                                                     ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2243"
-            column="54"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        final int finalColor = getToolbarDataProvider().getPrimaryColor();"
-        errorLine2="                               ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2272"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mVisibleNewTabPage = getToolbarDataProvider().getNewTabPageForCurrentTab();"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2328"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        mVisibleNewTabPage = getToolbarDataProvider().getNewTabPageForCurrentTab();"
-        errorLine2="                             ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2328"
-            column="30"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        NewTabPage ntp = getToolbarDataProvider().getNewTabPageForCurrentTab();"
-        errorLine2="                         ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2376"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        NewTabPage ntp = getToolbarDataProvider().getNewTabPageForCurrentTab();"
-        errorLine2="                         ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2381"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; (getToolbarDataProvider() != null"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2405"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                        &amp;&amp; !getToolbarDataProvider().isInOverviewAndShowingOmnibox());"
-        errorLine2="                            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2406"
-            column="29"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return isIncognito() &amp;&amp; NewTabPage.isNTPUrl(getToolbarDataProvider().getCurrentUrl());"
-        errorLine2="                                                    ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2410"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return getToolbarDataProvider() != null &amp;&amp; getToolbarDataProvider().getTab() != null"
-        errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2414"
-            column="16"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return getToolbarDataProvider() != null &amp;&amp; getToolbarDataProvider().getTab() != null"
-        errorLine2="                                                   ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2414"
-            column="52"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; (getToolbarDataProvider().getTab().isShowingErrorPage());"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2415"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (getToolbarDataProvider().isUsingBrandColor()) return VisualState.BRAND_COLOR;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2421"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return getToolbarDataProvider().getPrimaryColor();"
-        errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2429"
-            column="16"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        int currentPrimaryColor = getToolbarDataProvider().getPrimaryColor();"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2465"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (getToolbarDataProvider() != null &amp;&amp; getToolbarDataProvider().getTab() != null"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2469"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        if (getToolbarDataProvider() != null &amp;&amp; getToolbarDataProvider().getTab() != null"
-        errorLine2="                                                ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2469"
-            column="49"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                &amp;&amp; getToolbarDataProvider().getTab().isNativePage()) {"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java"
-            line="2470"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        Tab tab = getToolbarDataProvider().getTab();"
-        errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java"
-            line="307"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            DownloadUtils.downloadOfflinePage(getContext(), getToolbarDataProvider().getTab());"
-        errorLine2="                                                            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java"
-            line="333"
-            column="61"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        NewTabPage newVisibleNtp = getToolbarDataProvider().getNewTabPageForCurrentTab();"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java"
-            line="410"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mSnackbar.getController().onAction(null);"
-        errorLine2="                      ~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/TopSnackbarManager.java"
-            line="108"
-            column="23"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            mSnackbar.getController().onDismissNoAction(null);"
-        errorLine2="                      ~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/TopSnackbarManager.java"
-            line="110"
-            column="23"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return mToolbarLayout.getToolbarDataProvider().getPrimaryColor();"
-        errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java"
-            line="286"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                || mToolbarLayout.getToolbarDataProvider() == null"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java"
-            line="294"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="                || !mToolbarLayout.getToolbarDataProvider().isInOverviewAndShowingOmnibox()) {"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java"
-            line="295"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        return mToolbarLayout.getLocationBar();"
         errorLine2="                              ~~~~~~~~~~~~~~">
         <location
@@ -4628,28 +1423,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        suggestions.add(new OmniboxSuggestion(OmniboxSuggestionType.VOICE_SUGGEST, true, 0, 1,"
-        errorLine2="                        ^">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/VoiceSuggestionProvider.java"
-            line="124"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (suggestion.getDisplayText().equals(result.getMatch())) return true;"
-        errorLine2="                           ~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/VoiceSuggestionProvider.java"
-            line="133"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="        mWebApkUpdateManager.get().updateIfNeeded(storage, mActivity.getIntentDataProvider());"
         errorLine2="                                                                     ~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -4661,50 +1434,6 @@
     <issue
         id="VisibleForTests"
         message="This method should only be accessed from tests or within private scope"
-        errorLine1="        } else if (!UrlUtilities.urlsMatchIgnoringFragments("
-        errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java"
-            line="364"
-            column="34"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        } else if (!UrlUtilities.urlsMatchIgnoringFragments("
-        errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java"
-            line="367"
-            column="34"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="            if (UrlUtilities.urlsMatchIgnoringFragments(entry.getKey(), iconUrlToMatch)) {"
-        errorLine2="                             ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java"
-            line="401"
-            column="30"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
-        errorLine1="        return UrlUtilities.isUrlWithinScope(url, mWebappExtras.scopeUrl);"
-        errorLine2="                            ~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/browserservices/ui/controller/webapps/WebApkVerifier.java"
-            line="34"
-            column="29"/>
-    </issue>
-
-    <issue
-        id="VisibleForTests"
-        message="This method should only be accessed from tests or within private scope"
         errorLine1="                requestId, callback == null ? null : new AwContents.VisualStateCallback() {"
         errorLine2="                                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -4742,7 +1471,7 @@
         errorLine2="                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="../../components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java"
-            line="155"
+            line="153"
             column="18"/>
     </issue>
 
@@ -4753,7 +1482,7 @@
         errorLine2="                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="../../components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java"
-            line="180"
+            line="178"
             column="30"/>
     </issue>
 
@@ -4764,33 +1493,11 @@
         errorLine2="                 ^">
         <location
             file="../../components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java"
-            line="235"
+            line="233"
             column="18"/>
     </issue>
 
     <issue
-        id="SupportAnnotationUsage"
-        message="This annotation does not apply for type String; expected int or long"
-        errorLine1="        @QuickActionCategory"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="../../chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ResolvedSearchTerm.java"
-            line="279"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="StaticFieldLeak"
-        message="Do not place Android context classes in static fields (static reference to `MediaRouter` which has field `mContext` pointing to `Context`); this is a memory leak"
-        errorLine1="    private static MediaRouter sAndroidMediaRouterForTest;"
-        errorLine2="            ~~~~~~">
-        <location
-            file="../../chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java"
-            line="70"
-            column="13"/>
-    </issue>
-
-    <issue
         id="MergeRootFrame"
         message="This `&lt;FrameLayout>` can be replaced with a `&lt;merge>` tag"
         errorLine1="&lt;FrameLayout"
diff --git a/chrome/android/expectations/monochrome_public_bundle.AndroidManifest.expected b/chrome/android/expectations/monochrome_public_bundle.AndroidManifest.expected
index aa1359f..01778d9d 100644
--- a/chrome/android/expectations/monochrome_public_bundle.AndroidManifest.expected
+++ b/chrome/android/expectations/monochrome_public_bundle.AndroidManifest.expected
@@ -6,62 +6,62 @@
     tools:ignore="MissingVersion"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
-  <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="30"/>
-  <uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
-  <uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
-  <uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
-  <uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
-  <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
-  <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
-  <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH"/>
-  <uses-permission-sdk-23 android:name="android.permission.ACCESS_WIFI_STATE"/>
-  <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
-  <uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS"/>
-  <uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS"/>
-  <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
-  <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
-  <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
-  <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
-  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-  <uses-permission android:name="android.permission.WAKE_LOCK"/>
-  <uses-permission android:name="android.permission.VIBRATE"/>
-  <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
-  <uses-permission android:name="android.permission.RECORD_AUDIO"/>
-  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
-  <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
-  <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
-  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
-  <uses-permission android:name="android.permission.NFC"/>
-  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
-  <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
-  <uses-permission android:name="android.permission.INTERNET"/>
-  <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
-  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
-  <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
-  <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
-  <uses-permission android:name="android.permission.CAMERA"/>
-  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
-  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
-  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
-  <uses-permission android:name="$PACKAGE.permission.READ_WRITE_BOOKMARK_FOLDERS"/>
-  <uses-permission android:name="$PACKAGE.permission.C2D_MESSAGE"/>
-  <uses-permission android:name="$PACKAGE.TOS_ACKED"/>
-  <uses-feature android:name="android.software.vr.mode" android:required="false"/>
-  <uses-feature android:name="android.hardware.vr.high_performance" android:required="false"/>
-  <uses-feature android:name="android.hardware.vr.headtracking" android:required="false" android:version="1"/>
-  <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
-  <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="false"/>
-  <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false"/>
-  <uses-feature android:name="android.hardware.screen.landscape" android:required="false"/>
-  <uses-feature android:name="android.hardware.microphone" android:required="false"/>
-  <uses-feature android:name="android.hardware.location.gps" android:required="false"/>
-  <uses-feature android:name="android.hardware.camera" android:required="false"/>
-  <uses-feature android:glEsVersion="0x00020000"/>
-  <permission android:name="$PACKAGE.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem"/>
-  <permission android:name="$PACKAGE.permission.CHILD_SERVICE" android:protectionLevel="signature"/>
-  <permission android:name="$PACKAGE.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
   <permission android:name="$PACKAGE.TOS_ACKED" android:protectionLevel="signatureOrSystem"/>
+  <permission android:name="$PACKAGE.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
+  <permission android:name="$PACKAGE.permission.CHILD_SERVICE" android:protectionLevel="signature"/>
   <permission android:label="Debug web pages" android:name="$PACKAGE.permission.DEBUG" android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS" android:protectionLevel="signature"/>
+  <permission android:name="$PACKAGE.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem"/>
+  <uses-feature android:name="android.hardware.camera" android:required="false"/>
+  <uses-feature android:name="android.hardware.location.gps" android:required="false"/>
+  <uses-feature android:name="android.hardware.microphone" android:required="false"/>
+  <uses-feature android:name="android.hardware.screen.landscape" android:required="false"/>
+  <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false"/>
+  <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="false"/>
+  <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
+  <uses-feature android:name="android.hardware.vr.headtracking" android:required="false" android:version="1"/>
+  <uses-feature android:name="android.hardware.vr.high_performance" android:required="false"/>
+  <uses-feature android:name="android.software.vr.mode" android:required="false"/>
+  <uses-feature android:glEsVersion="0x00020000"/>
+  <uses-permission android:name="$PACKAGE.TOS_ACKED"/>
+  <uses-permission android:name="$PACKAGE.permission.C2D_MESSAGE"/>
+  <uses-permission android:name="$PACKAGE.permission.READ_WRITE_BOOKMARK_FOLDERS"/>
+  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
+  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
+  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+  <uses-permission android:name="android.permission.CAMERA"/>
+  <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
+  <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
+  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
+  <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
+  <uses-permission android:name="android.permission.INTERNET"/>
+  <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
+  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
+  <uses-permission android:name="android.permission.NFC"/>
+  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+  <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
+  <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
+  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
+  <uses-permission android:name="android.permission.RECORD_AUDIO"/>
+  <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
+  <uses-permission android:name="android.permission.VIBRATE"/>
+  <uses-permission android:name="android.permission.WAKE_LOCK"/>
+  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+  <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
+  <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
+  <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
+  <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
+  <uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS"/>
+  <uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS"/>
+  <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
+  <uses-permission-sdk-23 android:name="android.permission.ACCESS_WIFI_STATE"/>
+  <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH"/>
+  <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
+  <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
+  <uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
+  <uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
+  <uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
+  <uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
+  <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="30"/>
   <application
       android:allowBackup="false"
       android:extractNativeLibs="false"
@@ -76,54 +76,27 @@
       android:supportsRtl="true"
       android:use32bitAbi="true"
       android:zygotePreloadName="org.chromium.content.app.ZygotePreload">
-    <activity  # DIFF-ANCHOR: 2121eb0d
-        android:autoRemoveFromRecents="true"
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:label="@string/fre_activity_label"
-        android:launchMode="singleInstance"
-        android:name="org.chromium.chrome.browser.firstrun.FirstRunActivity"
-        android:theme="@style/Theme.Chromium.DialogWhenLarge"
-        android:windowSoftInputMode="stateHidden|adjustPan">
-    </activity>  # DIFF-ANCHOR: 2121eb0d
-    <activity  # DIFF-ANCHOR: 67932092
-        android:autoRemoveFromRecents="true"
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:label="@string/fre_activity_label"
-        android:launchMode="singleInstance"
-        android:name="org.chromium.chrome.browser.firstrun.LightweightFirstRunActivity"
-        android:theme="@style/Theme.Chromium.AlertDialog.NoActionBar"
-        android:windowSoftInputMode="stateHidden|adjustPan">
-    </activity>  # DIFF-ANCHOR: 67932092
-    <activity  # DIFF-ANCHOR: bb612a34
-        android:autoRemoveFromRecents="true"
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:label="@string/fre_activity_label"
-        android:launchMode="singleInstance"
-        android:name="org.chromium.chrome.browser.firstrun.TabbedModeFirstRunActivity"
-        android:theme="@style/Theme.Chromium.TabbedMode"
-        android:windowSoftInputMode="stateHidden|adjustPan">
-    </activity>  # DIFF-ANCHOR: bb612a34
-    <activity  # DIFF-ANCHOR: 8492e3fd
-        android:autoRemoveFromRecents="true"
-        android:name="org.chromium.chrome.browser.sync.ui.PassphraseActivity"
-        android:theme="@style/Theme.Chromium.Activity">
-    </activity>  # DIFF-ANCHOR: 8492e3fd
-    <activity  # DIFF-ANCHOR: 7468a722
-        android:clearTaskOnLaunch="true"
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
+    <activity  # DIFF-ANCHOR: ea1a94af
         android:exported="false"
-        android:hardwareAccelerated="false"
-        android:label="Search"
-        android:launchMode="singleTask"
-        android:name="org.chromium.chrome.browser.searchwidget.SearchActivity"
-        android:taskAffinity=""
-        android:theme="@style/Theme.Chromium.SearchActivity"
-        android:windowSoftInputMode="adjustResize">
-    </activity>  # DIFF-ANCHOR: 7468a722
+        android:name="com.google.android.gms.common.api.GoogleApiActivity"
+        android:theme="@android:style/Theme.Translucent.NoTitleBar">
+    </activity>  # DIFF-ANCHOR: ea1a94af
+    <activity  # DIFF-ANCHOR: a2bae37c
+        android:enabled="false"
+        android:exported="false"
+        android:name="com.google.android.play.core.common.PlayCoreDialogWrapperActivity"
+        android:process=":playcore_dialog_wrapper_activity"
+        android:stateNotNeeded="true"
+        android:theme="@style/Theme.PlayCore.Transparent">
+    </activity>  # DIFF-ANCHOR: a2bae37c
+    <activity  # DIFF-ANCHOR: 53a4871f
+        android:enabled="false"
+        android:exported="false"
+        android:launchMode="singleInstance"
+        android:name="com.google.android.play.core.missingsplits.PlayCoreMissingSplitsActivity"
+        android:process=":playcore_missing_splits_activity"
+        android:stateNotNeeded="true">
+    </activity>  # DIFF-ANCHOR: 53a4871f
     <activity  # DIFF-ANCHOR: 28dc9019
         android:configChanges="keyboardHidden|orientation|screenSize"
         android:excludeFromRecents="true"
@@ -132,222 +105,55 @@
         android:name="com.google.ar.core.InstallActivity"
         android:theme="@android:style/Theme.Material.Light.Dialog.Alert">
     </activity>  # DIFF-ANCHOR: 28dc9019
-    <activity  # DIFF-ANCHOR: 44158f9b
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:enabled="false"
-        android:excludeFromRecents="true"
-        android:exported="true"
-        android:icon="@drawable/ic_devices_48dp"
-        android:label="@string/shared_clipboard_share_activity_title"
-        android:name="org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity"
-        android:noHistory="true"
-        android:theme="@style/Theme.Chromium.Activity.TranslucentNoAnimations">
-      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
-        <action android:name="android.intent.action.SEND"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-        <data android:mimeType="text/plain"/>
-      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
-    </activity>  # DIFF-ANCHOR: 44158f9b
-    <activity  # DIFF-ANCHOR: dc9ccfb7
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:enabled="false"
-        android:excludeFromRecents="true"
-        android:exported="true"
-        android:icon="@drawable/ic_launcher"
-        android:label="@string/qr_code_share_icon_label"
-        android:name="org.chromium.chrome.browser.share.qrcode.QrCodeShareActivity"
-        android:noHistory="true"
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
-        <action android:name="android.intent.action.SEND"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-        <data android:mimeType="text/plain"/>
-      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
-    </activity>  # DIFF-ANCHOR: dc9ccfb7
-    <activity  # DIFF-ANCHOR: f1aedff1
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:enabled="false"
-        android:excludeFromRecents="true"
-        android:exported="true"
-        android:icon="@drawable/ic_launcher"
-        android:label="@string/send_tab_to_self_share_activity_title"
-        android:name="org.chromium.chrome.browser.send_tab_to_self.SendTabToSelfShareActivity"
-        android:noHistory="true"
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
-        <action android:name="android.intent.action.SEND"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-        <data android:mimeType="text/plain"/>
-      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
-    </activity>  # DIFF-ANCHOR: f1aedff1
-    <activity  # DIFF-ANCHOR: bec48e1f
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:enabled="false"
-        android:excludeFromRecents="true"
-        android:exported="true"
-        android:icon="@drawable/sharing_print"
-        android:label="@string/print_share_activity_title"
-        android:name="org.chromium.chrome.browser.printing.PrintShareActivity"
-        android:noHistory="true"
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
-        <action android:name="android.intent.action.SEND"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-        <data android:mimeType="message/rfc822"/>
-        <data android:mimeType="multipart/related"/>
-        <data android:mimeType="text/plain"/>
-      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
-    </activity>  # DIFF-ANCHOR: bec48e1f
-    <activity  # DIFF-ANCHOR: 43bfa5de
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.test_dummy.TestDummyActivity"
-        android:noHistory="true"
-        android:theme="@style/Theme.AppCompat">
-    </activity>  # DIFF-ANCHOR: 43bfa5de
-    <activity  # DIFF-ANCHOR: 8d26d599
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:hardwareAccelerated="true"
-        android:label="Chrome.CafExpandedControllerActivity"
+    <activity  # DIFF-ANCHOR: a4438884
+        android:icon="@drawable/icon_webview"
+        android:label="WebView DevTools"
         android:launchMode="singleTask"
-        android:name="org.chromium.chrome.browser.media.router.caf.remoting.CafExpandedControllerActivity"
-        android:noHistory="true"
-        android:theme="@style/Theme.Chromium.Activity">
-    </activity>  # DIFF-ANCHOR: 8d26d599
-    <activity  # DIFF-ANCHOR: a208e726
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:name="org.chromium.chrome.browser.bookmarks.BookmarkAddActivity"
-        android:theme="@android:style/Theme.NoDisplay"
-        android:windowSoftInputMode="stateHidden">
-      <intent-filter>  # DIFF-ANCHOR: 47a8059b
-        <action android:name="$PACKAGE.ADDBOOKMARK"/>
+        android:name="org.chromium.android_webview.devui.MainActivity"
+        android:process=":webview_apk"
+        android:taskAffinity="$PACKAGE.org.chromium.android_webview.devui"
+        android:theme="@style/Theme.DevUi.DayNight"
+        android:visibleToInstantApps="true"
+        android:windowSoftInputMode="adjustPan">
+      <intent-filter>  # DIFF-ANCHOR: a167e73d
+        <action android:name="com.android.webview.SHOW_DEV_UI"/>
         <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 47a8059b
-    </activity>  # DIFF-ANCHOR: a208e726
-    <activity  # DIFF-ANCHOR: 0a21ad35
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:label="@string/bookmark_choose_folder"
-        android:name="org.chromium.chrome.browser.bookmarks.BookmarkFolderSelectActivity"
-        android:theme="@style/Theme.Chromium.DialogWhenLarge"
-        android:windowSoftInputMode="stateAlwaysHidden">
-    </activity>  # DIFF-ANCHOR: 0a21ad35
-    <activity  # DIFF-ANCHOR: b66ce3f2
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:label="@string/edit_bookmark"
-        android:name="org.chromium.chrome.browser.bookmarks.BookmarkEditActivity"
-        android:theme="@style/Theme.Chromium.DialogWhenLarge"
-        android:windowSoftInputMode="stateHidden">
-    </activity>  # DIFF-ANCHOR: b66ce3f2
-    <activity  # DIFF-ANCHOR: d32b85df
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:label="@string/settings"
-        android:name="org.chromium.chrome.browser.settings.SettingsActivity"
-        android:theme="@style/Theme.Chromium.Settings">
-    </activity>  # DIFF-ANCHOR: d32b85df
-    <activity  # DIFF-ANCHOR: d2967c86
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:label="@string/storage_management_activity_label"
-        android:name="org.chromium.chrome.browser.site_settings.ManageSpaceActivity"
-        android:theme="@style/Theme.Chromium.Settings.ManageSpace">
-    </activity>  # DIFF-ANCHOR: d2967c86
-    <activity  # DIFF-ANCHOR: da2eedc8
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.bookmarks.BookmarkActivity"
-        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
-        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
-    </activity>  # DIFF-ANCHOR: da2eedc8
-    <activity  # DIFF-ANCHOR: e0427380
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.bookmarks.BookmarkAddEditFolderActivity"
-        android:theme="@style/Theme.Chromium.DialogWhenLarge">
-    </activity>  # DIFF-ANCHOR: e0427380
-    <activity  # DIFF-ANCHOR: 5c83a464
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.download.DownloadActivity"
-        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
-        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
-    </activity>  # DIFF-ANCHOR: 5c83a464
-    <activity  # DIFF-ANCHOR: 05911131
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.history.HistoryActivity"
-        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
-        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
-    </activity>  # DIFF-ANCHOR: 05911131
-    <activity  # DIFF-ANCHOR: f2fee469
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.signin.SigninActivity"
-        android:theme="@style/Theme.Chromium.DialogWhenLarge">
-    </activity>  # DIFF-ANCHOR: f2fee469
-    <activity  # DIFF-ANCHOR: 5e628a6c
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
-        android:enableVrMode="@string/gvr_vr_mode_component"
+      </intent-filter>  # DIFF-ANCHOR: a167e73d
+    </activity>  # DIFF-ANCHOR: a4438884
+    <activity  # DIFF-ANCHOR: aeabab17
+        android:label="@string/license_activity_title"
+        android:name="org.chromium.android_webview.nonembedded.LicenseActivity"
+        android:process=":webview_apk">
+      <intent-filter>  # DIFF-ANCHOR: 23298d3b
+        <action android:name="android.settings.WEBVIEW_LICENSE"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 23298d3b
+      <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" android:value="true"/>
+    </activity>  # DIFF-ANCHOR: aeabab17
+    <activity  # DIFF-ANCHOR: 93d41352
         android:excludeFromRecents="true"
         android:exported="false"
         android:launchMode="singleInstance"
-        android:name="org.chromium.chrome.browser.vr.VrFirstRunActivity"
-        android:theme="@style/VrActivityTheme">
-      <intent-filter>  # DIFF-ANCHOR: dea53031
-        <action android:name="org.chromium.chrome.browser.dummy.action"/>
-        <category android:name="com.google.intent.category.CARDBOARD"/>
-        <category android:name="com.google.intent.category.DAYDREAM"/>
-      </intent-filter>  # DIFF-ANCHOR: dea53031
-    </activity>  # DIFF-ANCHOR: 5e628a6c
-    <activity  # DIFF-ANCHOR: 5e467d8a
+        android:name="org.chromium.chrome.browser.BrowserRestartActivity"
+        android:process=":browser_restart_process"
+        android:theme="@android:style/Theme.Translucent.NoTitleBar">
+    </activity>  # DIFF-ANCHOR: 93d41352
+    <activity  # DIFF-ANCHOR: 61b2c776
         android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
-        android:documentLaunchMode="intoExisting"
-        android:exported="false"
+        android:exported="true"
         android:hardwareAccelerated="false"
-        android:label="@string/webapp_activity_title"
-        android:launchMode="singleTop"
-        android:name="org.chromium.chrome.browser.webapps.WebappActivity"
-        android:persistableMode="persistNever"
+        android:launchMode="singleTask"
+        android:name="org.chromium.chrome.browser.ChromeTabbedActivity"
         android:resizeableActivity="true"
         android:supportsPictureInPicture="true"
-        android:theme="@style/Theme.Chromium.Webapp"
+        android:theme="@style/Theme.Chromium.TabbedMode"
         android:windowSoftInputMode="adjustResize">
       <intent-filter>  # DIFF-ANCHOR: dea53031
         <action android:name="org.chromium.chrome.browser.dummy.action"/>
         <category android:name="com.google.intent.category.CARDBOARD"/>
         <category android:name="com.google.intent.category.DAYDREAM"/>
       </intent-filter>  # DIFF-ANCHOR: dea53031
-    </activity>  # DIFF-ANCHOR: 5e467d8a
-    <activity  # DIFF-ANCHOR: 1acdfd19
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
-        android:excludeFromRecents="true"
-        android:name="org.chromium.chrome.browser.document.ChromeLauncherActivity"
-        android:relinquishTaskIdentity="true"
-        android:taskAffinity=""
-        android:theme="@style/LauncherTheme">
-    </activity>  # DIFF-ANCHOR: 1acdfd19
-    <activity  # DIFF-ANCHOR: f1dc024a
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
-        android:exported="false"
-        android:hardwareAccelerated="false"
-        android:label="@string/webapp_activity_title"
-        android:name="org.chromium.chrome.browser.webapps.SameTaskWebApkActivity"
-        android:persistableMode="persistNever"
-        android:resizeableActivity="true"
-        android:supportsPictureInPicture="true"
-        android:theme="@style/Theme.Chromium.Webapp.Translucent"
-        android:windowSoftInputMode="adjustResize">
-      <intent-filter>  # DIFF-ANCHOR: dea53031
-        <action android:name="org.chromium.chrome.browser.dummy.action"/>
-        <category android:name="com.google.intent.category.CARDBOARD"/>
-        <category android:name="com.google.intent.category.DAYDREAM"/>
-      </intent-filter>  # DIFF-ANCHOR: dea53031
-    </activity>  # DIFF-ANCHOR: f1dc024a
+    </activity>  # DIFF-ANCHOR: 61b2c776
     <activity  # DIFF-ANCHOR: 610e8ccf
         android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
         android:exported="false"
@@ -365,6 +171,79 @@
         <category android:name="com.google.intent.category.DAYDREAM"/>
       </intent-filter>  # DIFF-ANCHOR: dea53031
     </activity>  # DIFF-ANCHOR: 610e8ccf
+    <activity  # DIFF-ANCHOR: 76686af9
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.LauncherShortcutActivity"
+        android:taskAffinity=""
+        android:theme="@android:style/Theme.NoDisplay">
+    </activity>  # DIFF-ANCHOR: 76686af9
+    <activity  # DIFF-ANCHOR: 50c7105b
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.app.reengagement.ReengagementActivity"
+        android:taskAffinity=""
+        android:theme="@android:style/Theme.Translucent">
+    </activity>  # DIFF-ANCHOR: 50c7105b
+    <activity  # DIFF-ANCHOR: da2eedc8
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.bookmarks.BookmarkActivity"
+        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
+        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
+    </activity>  # DIFF-ANCHOR: da2eedc8
+    <activity  # DIFF-ANCHOR: a208e726
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:name="org.chromium.chrome.browser.bookmarks.BookmarkAddActivity"
+        android:theme="@android:style/Theme.NoDisplay"
+        android:windowSoftInputMode="stateHidden">
+      <intent-filter>  # DIFF-ANCHOR: 47a8059b
+        <action android:name="$PACKAGE.ADDBOOKMARK"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 47a8059b
+    </activity>  # DIFF-ANCHOR: a208e726
+    <activity  # DIFF-ANCHOR: e0427380
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.bookmarks.BookmarkAddEditFolderActivity"
+        android:theme="@style/Theme.Chromium.DialogWhenLarge">
+    </activity>  # DIFF-ANCHOR: e0427380
+    <activity  # DIFF-ANCHOR: b66ce3f2
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:label="@string/edit_bookmark"
+        android:name="org.chromium.chrome.browser.bookmarks.BookmarkEditActivity"
+        android:theme="@style/Theme.Chromium.DialogWhenLarge"
+        android:windowSoftInputMode="stateHidden">
+    </activity>  # DIFF-ANCHOR: b66ce3f2
+    <activity  # DIFF-ANCHOR: 0a21ad35
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:label="@string/bookmark_choose_folder"
+        android:name="org.chromium.chrome.browser.bookmarks.BookmarkFolderSelectActivity"
+        android:theme="@style/Theme.Chromium.DialogWhenLarge"
+        android:windowSoftInputMode="stateAlwaysHidden">
+    </activity>  # DIFF-ANCHOR: 0a21ad35
+    <activity  # DIFF-ANCHOR: 209b5ded
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.browserservices.ClearDataDialogActivity"
+        android:theme="@style/Theme.Chromium.ClearDataDialogActivity">
+    </activity>  # DIFF-ANCHOR: 209b5ded
+    <activity  # DIFF-ANCHOR: 2b0ee4cd
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.browserservices.ManageTrustedWebActivityDataActivity"
+        android:theme="@style/Theme.Chromium.Activity.Fullscreen.Transparent">
+      <intent-filter>  # DIFF-ANCHOR: 38d9d906
+        <action android:name="android.support.customtabs.action.ACTION_MANAGE_TRUSTED_WEB_ACTIVITY_DATA"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <data android:scheme="https"/>
+      </intent-filter>  # DIFF-ANCHOR: 38d9d906
+      <intent-filter>  # DIFF-ANCHOR: 38d9d906
+        <action android:name="android.support.customtabs.action.ACTION_MANAGE_TRUSTED_WEB_ACTIVITY_DATA"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 38d9d906
+    </activity>  # DIFF-ANCHOR: 2b0ee4cd
     <activity  # DIFF-ANCHOR: 44266a6a
         android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
         android:exported="false"
@@ -410,53 +289,58 @@
         <category android:name="com.google.intent.category.DAYDREAM"/>
       </intent-filter>  # DIFF-ANCHOR: dea53031
     </activity>  # DIFF-ANCHOR: 4d923622
-    <activity  # DIFF-ANCHOR: 9023f153
+    <activity  # DIFF-ANCHOR: 1acdfd19
         android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
-        android:exported="false"
-        android:hardwareAccelerated="false"
-        android:name="org.chromium.chrome.browser.multiwindow.MultiInstanceChromeTabbedActivity"
-        android:theme="@style/Theme.Chromium.TabbedMode"
-        android:windowSoftInputMode="adjustResize">
-    </activity>  # DIFF-ANCHOR: 9023f153
-    <activity  # DIFF-ANCHOR: 61b2c776
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
-        android:exported="true"
-        android:hardwareAccelerated="false"
-        android:launchMode="singleTask"
-        android:name="org.chromium.chrome.browser.ChromeTabbedActivity"
-        android:resizeableActivity="true"
-        android:supportsPictureInPicture="true"
-        android:theme="@style/Theme.Chromium.TabbedMode"
-        android:windowSoftInputMode="adjustResize">
-      <intent-filter>  # DIFF-ANCHOR: dea53031
-        <action android:name="org.chromium.chrome.browser.dummy.action"/>
-        <category android:name="com.google.intent.category.CARDBOARD"/>
-        <category android:name="com.google.intent.category.DAYDREAM"/>
-      </intent-filter>  # DIFF-ANCHOR: dea53031
-    </activity>  # DIFF-ANCHOR: 61b2c776
-    <activity  # DIFF-ANCHOR: d706d96e
-        android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
         android:excludeFromRecents="true"
+        android:name="org.chromium.chrome.browser.document.ChromeLauncherActivity"
+        android:relinquishTaskIdentity="true"
+        android:taskAffinity=""
+        android:theme="@style/LauncherTheme">
+    </activity>  # DIFF-ANCHOR: 1acdfd19
+    <activity  # DIFF-ANCHOR: 5c83a464
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
         android:exported="false"
-        android:name="org.chromium.chrome.browser.media.PictureInPictureActivity"
-        android:noHistory="true"
-        android:resizeableActivity="true"
-        android:supportsPictureInPicture="true"
-        android:theme="@style/Theme.Chromium.Activity">
-    </activity>  # DIFF-ANCHOR: d706d96e
-    <activity  # DIFF-ANCHOR: b007dcaa
-        android:enableVrMode="@string/gvr_vr_mode_component"
+        android:name="org.chromium.chrome.browser.download.DownloadActivity"
+        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
+        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
+    </activity>  # DIFF-ANCHOR: 5c83a464
+    <activity  # DIFF-ANCHOR: 2121eb0d
+        android:autoRemoveFromRecents="true"
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
         android:excludeFromRecents="true"
+        android:label="@string/fre_activity_label"
+        android:launchMode="singleInstance"
+        android:name="org.chromium.chrome.browser.firstrun.FirstRunActivity"
+        android:theme="@style/Theme.Chromium.DialogWhenLarge"
+        android:windowSoftInputMode="stateHidden|adjustPan">
+    </activity>  # DIFF-ANCHOR: 2121eb0d
+    <activity  # DIFF-ANCHOR: 67932092
+        android:autoRemoveFromRecents="true"
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:label="@string/fre_activity_label"
+        android:launchMode="singleInstance"
+        android:name="org.chromium.chrome.browser.firstrun.LightweightFirstRunActivity"
+        android:theme="@style/Theme.Chromium.AlertDialog.NoActionBar"
+        android:windowSoftInputMode="stateHidden|adjustPan">
+    </activity>  # DIFF-ANCHOR: 67932092
+    <activity  # DIFF-ANCHOR: bb612a34
+        android:autoRemoveFromRecents="true"
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:label="@string/fre_activity_label"
+        android:launchMode="singleInstance"
+        android:name="org.chromium.chrome.browser.firstrun.TabbedModeFirstRunActivity"
+        android:theme="@style/Theme.Chromium.TabbedMode"
+        android:windowSoftInputMode="stateHidden|adjustPan">
+    </activity>  # DIFF-ANCHOR: bb612a34
+    <activity  # DIFF-ANCHOR: 05911131
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
         android:exported="false"
-        android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
-        android:noHistory="true"
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: dea53031
-        <action android:name="org.chromium.chrome.browser.dummy.action"/>
-        <category android:name="com.google.intent.category.CARDBOARD"/>
-        <category android:name="com.google.intent.category.DAYDREAM"/>
-      </intent-filter>  # DIFF-ANCHOR: dea53031
-    </activity>  # DIFF-ANCHOR: b007dcaa
+        android:name="org.chromium.chrome.browser.history.HistoryActivity"
+        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
+        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
+    </activity>  # DIFF-ANCHOR: 05911131
     <activity  # DIFF-ANCHOR: b98302dc
         android:enabled="false"
         android:excludeFromRecents="true"
@@ -469,44 +353,6 @@
         <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>  # DIFF-ANCHOR: 8f811d02
     </activity>  # DIFF-ANCHOR: b98302dc
-    <activity  # DIFF-ANCHOR: 53a4871f
-        android:enabled="false"
-        android:exported="false"
-        android:launchMode="singleInstance"
-        android:name="com.google.android.play.core.missingsplits.PlayCoreMissingSplitsActivity"
-        android:process=":playcore_missing_splits_activity"
-        android:stateNotNeeded="true">
-    </activity>  # DIFF-ANCHOR: 53a4871f
-    <activity  # DIFF-ANCHOR: a2bae37c
-        android:enabled="false"
-        android:exported="false"
-        android:name="com.google.android.play.core.common.PlayCoreDialogWrapperActivity"
-        android:process=":playcore_dialog_wrapper_activity"
-        android:stateNotNeeded="true"
-        android:theme="@style/Theme.PlayCore.Transparent">
-    </activity>  # DIFF-ANCHOR: a2bae37c
-    <activity  # DIFF-ANCHOR: 93d41352
-        android:excludeFromRecents="true"
-        android:exported="false"
-        android:launchMode="singleInstance"
-        android:name="org.chromium.chrome.browser.BrowserRestartActivity"
-        android:process=":browser_restart_process"
-        android:theme="@android:style/Theme.Translucent.NoTitleBar">
-    </activity>  # DIFF-ANCHOR: 93d41352
-    <activity  # DIFF-ANCHOR: 76686af9
-        android:excludeFromRecents="true"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.LauncherShortcutActivity"
-        android:taskAffinity=""
-        android:theme="@android:style/Theme.NoDisplay">
-    </activity>  # DIFF-ANCHOR: 76686af9
-    <activity  # DIFF-ANCHOR: 50c7105b
-        android:excludeFromRecents="true"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.app.reengagement.ReengagementActivity"
-        android:taskAffinity=""
-        android:theme="@android:style/Theme.Translucent">
-    </activity>  # DIFF-ANCHOR: 50c7105b
     <activity  # DIFF-ANCHOR: 349d8ca5
         android:excludeFromRecents="true"
         android:exported="false"
@@ -514,84 +360,6 @@
         android:noHistory="true"
         android:theme="@android:style/Theme.NoDisplay">
     </activity>  # DIFF-ANCHOR: 349d8ca5
-    <activity  # DIFF-ANCHOR: 76b60c10
-        android:excludeFromRecents="true"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.sync.ui.TrustedVaultKeyRetrievalProxyActivity"
-        android:theme="@style/Theme.AppCompat">
-    </activity>  # DIFF-ANCHOR: 76b60c10
-    <activity  # DIFF-ANCHOR: aea75380
-        android:excludeFromRecents="true"
-        android:name="org.chromium.chrome.browser.webapps.WebappLauncherActivity"
-        android:taskAffinity=""
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: faf519ad
-        <action android:name="com.google.android.apps.chrome.webapps.WebappManager.ACTION_START_WEBAPP"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: faf519ad
-      <intent-filter>  # DIFF-ANCHOR: 9c5197e9
-        <action android:name="org.webapk.ACTION_START_WEBAPK"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 9c5197e9
-    </activity>  # DIFF-ANCHOR: aea75380
-    <activity  # DIFF-ANCHOR: ea1a94af
-        android:exported="false"
-        android:name="com.google.android.gms.common.api.GoogleApiActivity"
-        android:theme="@android:style/Theme.Translucent.NoTitleBar">
-    </activity>  # DIFF-ANCHOR: ea1a94af
-    <activity  # DIFF-ANCHOR: 209b5ded
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.browserservices.ClearDataDialogActivity"
-        android:theme="@style/Theme.Chromium.ClearDataDialogActivity">
-    </activity>  # DIFF-ANCHOR: 209b5ded
-    <activity  # DIFF-ANCHOR: 2b0ee4cd
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.browserservices.ManageTrustedWebActivityDataActivity"
-        android:theme="@style/Theme.Chromium.Activity.Fullscreen.Transparent">
-      <intent-filter>  # DIFF-ANCHOR: 38d9d906
-        <action android:name="android.support.customtabs.action.ACTION_MANAGE_TRUSTED_WEB_ACTIVITY_DATA"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-        <data android:scheme="https"/>
-      </intent-filter>  # DIFF-ANCHOR: 38d9d906
-      <intent-filter>  # DIFF-ANCHOR: 38d9d906
-        <action android:name="android.support.customtabs.action.ACTION_MANAGE_TRUSTED_WEB_ACTIVITY_DATA"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 38d9d906
-    </activity>  # DIFF-ANCHOR: 2b0ee4cd
-    <activity  # DIFF-ANCHOR: 9bb1f409
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity"
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: 0d72b7f0
-        <action android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity.ACTIVATE"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 0d72b7f0
-    </activity>  # DIFF-ANCHOR: 9bb1f409
-    <activity  # DIFF-ANCHOR: a4438884
-        android:icon="@drawable/icon_webview"
-        android:label="WebView DevTools"
-        android:launchMode="singleTask"
-        android:name="org.chromium.android_webview.devui.MainActivity"
-        android:process=":webview_apk"
-        android:taskAffinity="$PACKAGE.org.chromium.android_webview.devui"
-        android:theme="@style/Theme.DevUi.DayNight"
-        android:visibleToInstantApps="true"
-        android:windowSoftInputMode="adjustPan">
-      <intent-filter>  # DIFF-ANCHOR: a167e73d
-        <action android:name="com.android.webview.SHOW_DEV_UI"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: a167e73d
-    </activity>  # DIFF-ANCHOR: a4438884
-    <activity  # DIFF-ANCHOR: aeabab17
-        android:label="@string/license_activity_title"
-        android:name="org.chromium.android_webview.nonembedded.LicenseActivity"
-        android:process=":webview_apk">
-      <intent-filter>  # DIFF-ANCHOR: 23298d3b
-        <action android:name="android.settings.WEBVIEW_LICENSE"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 23298d3b
-      <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" android:value="true"/>
-    </activity>  # DIFF-ANCHOR: aeabab17
     <activity  # DIFF-ANCHOR: ecd48344
         android:enabled="false"
         android:excludeFromRecents="true"
@@ -607,77 +375,238 @@
         <data android:scheme="file"/>
       </intent-filter>  # DIFF-ANCHOR: 13c9b0a8
     </activity>  # DIFF-ANCHOR: ecd48344
-    <activity-alias  # DIFF-ANCHOR: 32e34aba
-        android:enabled="false"
-        android:exported="true"
-        android:label="WebView DevTools"
-        android:name="org.chromium.android_webview.devui.MonochromeLauncherActivity"
-        android:targetActivity="org.chromium.android_webview.devui.MainActivity">
-      <intent-filter>  # DIFF-ANCHOR: a5330430
-        <action android:name="android.intent.action.MAIN"/>
-        <category android:name="android.intent.category.LAUNCHER"/>
-      </intent-filter>  # DIFF-ANCHOR: a5330430
-    </activity-alias>  # DIFF-ANCHOR: 32e34aba
-    <activity-alias  # DIFF-ANCHOR: b7cc06e9
-        android:enabled="false"
-        android:name="org.chromium.android_webview.devui.DeveloperModeState"
-        android:process=":webview_apk"
-        android:targetActivity="org.chromium.android_webview.devui.MainActivity"
-        android:visibleToInstantApps="true">
-    </activity-alias>  # DIFF-ANCHOR: b7cc06e9
-    <activity-alias  # DIFF-ANCHOR: 7c349c4f
+    <activity  # DIFF-ANCHOR: d706d96e
+        android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
+        android:excludeFromRecents="true"
         android:exported="false"
-        android:name="org.chromium.chrome.browser.webapps.SecureWebAppLauncher"
-        android:targetActivity="org.chromium.chrome.browser.webapps.WebappLauncherActivity">
-      <intent-filter>  # DIFF-ANCHOR: 9fe4b527
-        <action android:name="org.chromium.chrome.browser.webapps.WebappManager.ACTION_START_SECURE_WEBAPP"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 9fe4b527
-    </activity-alias>  # DIFF-ANCHOR: 7c349c4f
-    <activity-alias  # DIFF-ANCHOR: 5042984f
+        android:name="org.chromium.chrome.browser.media.PictureInPictureActivity"
+        android:noHistory="true"
+        android:resizeableActivity="true"
+        android:supportsPictureInPicture="true"
+        android:theme="@style/Theme.Chromium.Activity">
+    </activity>  # DIFF-ANCHOR: d706d96e
+    <activity  # DIFF-ANCHOR: 8d26d599
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:hardwareAccelerated="true"
+        android:label="Chrome.CafExpandedControllerActivity"
+        android:launchMode="singleTask"
+        android:name="org.chromium.chrome.browser.media.router.caf.remoting.CafExpandedControllerActivity"
+        android:noHistory="true"
+        android:theme="@style/Theme.Chromium.Activity">
+    </activity>  # DIFF-ANCHOR: 8d26d599
+    <activity  # DIFF-ANCHOR: 9023f153
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
+        android:exported="false"
+        android:hardwareAccelerated="false"
+        android:name="org.chromium.chrome.browser.multiwindow.MultiInstanceChromeTabbedActivity"
+        android:theme="@style/Theme.Chromium.TabbedMode"
+        android:windowSoftInputMode="adjustResize">
+    </activity>  # DIFF-ANCHOR: 9023f153
+    <activity  # DIFF-ANCHOR: bec48e1f
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:enabled="false"
+        android:excludeFromRecents="true"
         android:exported="true"
-        android:name="com.google.android.apps.chrome.Main"
-        android:targetActivity="org.chromium.chrome.browser.ChromeTabbedActivity">
-      <intent-filter>  # DIFF-ANCHOR: a5330430
-        <action android:name="android.intent.action.MAIN"/>
-        <category android:name="android.intent.category.APP_BROWSER"/>
-        <category android:name="android.intent.category.BROWSABLE"/>
+        android:icon="@drawable/sharing_print"
+        android:label="@string/print_share_activity_title"
+        android:name="org.chromium.chrome.browser.printing.PrintShareActivity"
+        android:noHistory="true"
+        android:theme="@android:style/Theme.NoDisplay">
+      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
+        <action android:name="android.intent.action.SEND"/>
         <category android:name="android.intent.category.DEFAULT"/>
-        <category android:name="android.intent.category.LAUNCHER"/>
-      </intent-filter>  # DIFF-ANCHOR: a5330430
+        <data android:mimeType="message/rfc822"/>
+        <data android:mimeType="multipart/related"/>
+        <data android:mimeType="text/plain"/>
+      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
+    </activity>  # DIFF-ANCHOR: bec48e1f
+    <activity  # DIFF-ANCHOR: 7468a722
+        android:clearTaskOnLaunch="true"
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:hardwareAccelerated="false"
+        android:label="Search"
+        android:launchMode="singleTask"
+        android:name="org.chromium.chrome.browser.searchwidget.SearchActivity"
+        android:taskAffinity=""
+        android:theme="@style/Theme.Chromium.SearchActivity"
+        android:windowSoftInputMode="adjustResize">
+    </activity>  # DIFF-ANCHOR: 7468a722
+    <activity  # DIFF-ANCHOR: f1aedff1
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:enabled="false"
+        android:excludeFromRecents="true"
+        android:exported="true"
+        android:icon="@drawable/ic_launcher"
+        android:label="@string/send_tab_to_self_share_activity_title"
+        android:name="org.chromium.chrome.browser.send_tab_to_self.SendTabToSelfShareActivity"
+        android:noHistory="true"
+        android:theme="@android:style/Theme.NoDisplay">
+      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
+        <action android:name="android.intent.action.SEND"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <data android:mimeType="text/plain"/>
+      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
+    </activity>  # DIFF-ANCHOR: f1aedff1
+    <activity  # DIFF-ANCHOR: d32b85df
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:label="@string/settings"
+        android:name="org.chromium.chrome.browser.settings.SettingsActivity"
+        android:theme="@style/Theme.Chromium.Settings">
+    </activity>  # DIFF-ANCHOR: d32b85df
+    <activity  # DIFF-ANCHOR: dc9ccfb7
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:enabled="false"
+        android:excludeFromRecents="true"
+        android:exported="true"
+        android:icon="@drawable/ic_launcher"
+        android:label="@string/qr_code_share_icon_label"
+        android:name="org.chromium.chrome.browser.share.qrcode.QrCodeShareActivity"
+        android:noHistory="true"
+        android:theme="@android:style/Theme.NoDisplay">
+      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
+        <action android:name="android.intent.action.SEND"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <data android:mimeType="text/plain"/>
+      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
+    </activity>  # DIFF-ANCHOR: dc9ccfb7
+    <activity  # DIFF-ANCHOR: 44158f9b
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:enabled="false"
+        android:excludeFromRecents="true"
+        android:exported="true"
+        android:icon="@drawable/ic_devices_48dp"
+        android:label="@string/shared_clipboard_share_activity_title"
+        android:name="org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity"
+        android:noHistory="true"
+        android:theme="@style/Theme.Chromium.Activity.TranslucentNoAnimations">
+      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
+        <action android:name="android.intent.action.SEND"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <data android:mimeType="text/plain"/>
+      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
+    </activity>  # DIFF-ANCHOR: 44158f9b
+    <activity  # DIFF-ANCHOR: f2fee469
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.signin.SigninActivity"
+        android:theme="@style/Theme.Chromium.DialogWhenLarge">
+    </activity>  # DIFF-ANCHOR: f2fee469
+    <activity  # DIFF-ANCHOR: d2967c86
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:label="@string/storage_management_activity_label"
+        android:name="org.chromium.chrome.browser.site_settings.ManageSpaceActivity"
+        android:theme="@style/Theme.Chromium.Settings.ManageSpace">
+    </activity>  # DIFF-ANCHOR: d2967c86
+    <activity  # DIFF-ANCHOR: 8492e3fd
+        android:autoRemoveFromRecents="true"
+        android:name="org.chromium.chrome.browser.sync.ui.PassphraseActivity"
+        android:theme="@style/Theme.Chromium.Activity">
+    </activity>  # DIFF-ANCHOR: 8492e3fd
+    <activity  # DIFF-ANCHOR: 76b60c10
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.sync.ui.TrustedVaultKeyRetrievalProxyActivity"
+        android:theme="@style/Theme.AppCompat">
+    </activity>  # DIFF-ANCHOR: 76b60c10
+    <activity  # DIFF-ANCHOR: 43bfa5de
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.test_dummy.TestDummyActivity"
+        android:noHistory="true"
+        android:theme="@style/Theme.AppCompat">
+    </activity>  # DIFF-ANCHOR: 43bfa5de
+    <activity  # DIFF-ANCHOR: b007dcaa
+        android:enableVrMode="@string/gvr_vr_mode_component"
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
+        android:noHistory="true"
+        android:theme="@android:style/Theme.NoDisplay">
       <intent-filter>  # DIFF-ANCHOR: dea53031
         <action android:name="org.chromium.chrome.browser.dummy.action"/>
         <category android:name="com.google.intent.category.CARDBOARD"/>
         <category android:name="com.google.intent.category.DAYDREAM"/>
       </intent-filter>  # DIFF-ANCHOR: dea53031
-      <meta-data android:name="android.app.shortcuts" android:resource="@xml/launchershortcuts"/>
-    </activity-alias>  # DIFF-ANCHOR: 5042984f
-    <activity-alias  # DIFF-ANCHOR: dcfe2999
+    </activity>  # DIFF-ANCHOR: b007dcaa
+    <activity  # DIFF-ANCHOR: 5e628a6c
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
+        android:enableVrMode="@string/gvr_vr_mode_component"
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:launchMode="singleInstance"
+        android:name="org.chromium.chrome.browser.vr.VrFirstRunActivity"
+        android:theme="@style/VrActivityTheme">
+      <intent-filter>  # DIFF-ANCHOR: dea53031
+        <action android:name="org.chromium.chrome.browser.dummy.action"/>
+        <category android:name="com.google.intent.category.CARDBOARD"/>
+        <category android:name="com.google.intent.category.DAYDREAM"/>
+      </intent-filter>  # DIFF-ANCHOR: dea53031
+    </activity>  # DIFF-ANCHOR: 5e628a6c
+    <activity  # DIFF-ANCHOR: 9bb1f409
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity"
+        android:theme="@android:style/Theme.NoDisplay">
+      <intent-filter>  # DIFF-ANCHOR: 0d72b7f0
+        <action android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity.ACTIVATE"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 0d72b7f0
+    </activity>  # DIFF-ANCHOR: 9bb1f409
+    <activity  # DIFF-ANCHOR: f1dc024a
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
+        android:exported="false"
+        android:hardwareAccelerated="false"
         android:label="@string/webapp_activity_title"
-        android:name="com.google.android.apps.chrome.webapps.WebappActivity"
+        android:name="org.chromium.chrome.browser.webapps.SameTaskWebApkActivity"
+        android:persistableMode="persistNever"
         android:resizeableActivity="true"
         android:supportsPictureInPicture="true"
-        android:targetActivity="org.chromium.chrome.browser.webapps.WebappActivity">
-    </activity-alias>  # DIFF-ANCHOR: dcfe2999
-    <activity-alias  # DIFF-ANCHOR: 8e23336d
-        android:name="com.google.android.apps.chrome.webapps.WebappManager"
-        android:targetActivity="org.chromium.chrome.browser.webapps.WebappLauncherActivity">
-    </activity-alias>  # DIFF-ANCHOR: 8e23336d
-    <activity-alias  # DIFF-ANCHOR: b4a6221b
-        android:enabled="false"
+        android:theme="@style/Theme.Chromium.Webapp.Translucent"
+        android:windowSoftInputMode="adjustResize">
+      <intent-filter>  # DIFF-ANCHOR: dea53031
+        <action android:name="org.chromium.chrome.browser.dummy.action"/>
+        <category android:name="com.google.intent.category.CARDBOARD"/>
+        <category android:name="com.google.intent.category.DAYDREAM"/>
+      </intent-filter>  # DIFF-ANCHOR: dea53031
+    </activity>  # DIFF-ANCHOR: f1dc024a
+    <activity  # DIFF-ANCHOR: 5e467d8a
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
+        android:documentLaunchMode="intoExisting"
+        android:exported="false"
+        android:hardwareAccelerated="false"
+        android:label="@string/webapp_activity_title"
+        android:launchMode="singleTop"
+        android:name="org.chromium.chrome.browser.webapps.WebappActivity"
+        android:persistableMode="persistNever"
+        android:resizeableActivity="true"
+        android:supportsPictureInPicture="true"
+        android:theme="@style/Theme.Chromium.Webapp"
+        android:windowSoftInputMode="adjustResize">
+      <intent-filter>  # DIFF-ANCHOR: dea53031
+        <action android:name="org.chromium.chrome.browser.dummy.action"/>
+        <category android:name="com.google.intent.category.CARDBOARD"/>
+        <category android:name="com.google.intent.category.DAYDREAM"/>
+      </intent-filter>  # DIFF-ANCHOR: dea53031
+    </activity>  # DIFF-ANCHOR: 5e467d8a
+    <activity  # DIFF-ANCHOR: aea75380
         android:excludeFromRecents="true"
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.media.AudioLauncherActivity"
-        android:targetActivity="org.chromium.chrome.browser.media.MediaLauncherActivity"
+        android:name="org.chromium.chrome.browser.webapps.WebappLauncherActivity"
+        android:taskAffinity=""
         android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter tools:ignore="AppLinkUrlError">  # DIFF-ANCHOR: 13c9b0a8
-        <action android:name="android.intent.action.VIEW"/>
+      <intent-filter>  # DIFF-ANCHOR: faf519ad
+        <action android:name="com.google.android.apps.chrome.webapps.WebappManager.ACTION_START_WEBAPP"/>
         <category android:name="android.intent.category.DEFAULT"/>
-        <data android:mimeType="audio/*"/>
-        <data android:scheme="content"/>
-        <data android:scheme="file"/>
-      </intent-filter>  # DIFF-ANCHOR: 13c9b0a8
-    </activity-alias>  # DIFF-ANCHOR: b4a6221b
+      </intent-filter>  # DIFF-ANCHOR: faf519ad
+      <intent-filter>  # DIFF-ANCHOR: 9c5197e9
+        <action android:name="org.webapk.ACTION_START_WEBAPK"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 9c5197e9
+    </activity>  # DIFF-ANCHOR: aea75380
     <activity-alias  # DIFF-ANCHOR: 9da0e5b6
         android:exported="true"
         android:name="com.google.android.apps.chrome.IntentDispatcher"
@@ -806,6 +735,77 @@
       </intent-filter>  # DIFF-ANCHOR: 83919a44
       <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/>
     </activity-alias>  # DIFF-ANCHOR: 9da0e5b6
+    <activity-alias  # DIFF-ANCHOR: 5042984f
+        android:exported="true"
+        android:name="com.google.android.apps.chrome.Main"
+        android:targetActivity="org.chromium.chrome.browser.ChromeTabbedActivity">
+      <intent-filter>  # DIFF-ANCHOR: a5330430
+        <action android:name="android.intent.action.MAIN"/>
+        <category android:name="android.intent.category.APP_BROWSER"/>
+        <category android:name="android.intent.category.BROWSABLE"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <category android:name="android.intent.category.LAUNCHER"/>
+      </intent-filter>  # DIFF-ANCHOR: a5330430
+      <intent-filter>  # DIFF-ANCHOR: dea53031
+        <action android:name="org.chromium.chrome.browser.dummy.action"/>
+        <category android:name="com.google.intent.category.CARDBOARD"/>
+        <category android:name="com.google.intent.category.DAYDREAM"/>
+      </intent-filter>  # DIFF-ANCHOR: dea53031
+      <meta-data android:name="android.app.shortcuts" android:resource="@xml/launchershortcuts"/>
+    </activity-alias>  # DIFF-ANCHOR: 5042984f
+    <activity-alias  # DIFF-ANCHOR: dcfe2999
+        android:label="@string/webapp_activity_title"
+        android:name="com.google.android.apps.chrome.webapps.WebappActivity"
+        android:resizeableActivity="true"
+        android:supportsPictureInPicture="true"
+        android:targetActivity="org.chromium.chrome.browser.webapps.WebappActivity">
+    </activity-alias>  # DIFF-ANCHOR: dcfe2999
+    <activity-alias  # DIFF-ANCHOR: 8e23336d
+        android:name="com.google.android.apps.chrome.webapps.WebappManager"
+        android:targetActivity="org.chromium.chrome.browser.webapps.WebappLauncherActivity">
+    </activity-alias>  # DIFF-ANCHOR: 8e23336d
+    <activity-alias  # DIFF-ANCHOR: b7cc06e9
+        android:enabled="false"
+        android:name="org.chromium.android_webview.devui.DeveloperModeState"
+        android:process=":webview_apk"
+        android:targetActivity="org.chromium.android_webview.devui.MainActivity"
+        android:visibleToInstantApps="true">
+    </activity-alias>  # DIFF-ANCHOR: b7cc06e9
+    <activity-alias  # DIFF-ANCHOR: 32e34aba
+        android:enabled="false"
+        android:exported="true"
+        android:label="WebView DevTools"
+        android:name="org.chromium.android_webview.devui.MonochromeLauncherActivity"
+        android:targetActivity="org.chromium.android_webview.devui.MainActivity">
+      <intent-filter>  # DIFF-ANCHOR: a5330430
+        <action android:name="android.intent.action.MAIN"/>
+        <category android:name="android.intent.category.LAUNCHER"/>
+      </intent-filter>  # DIFF-ANCHOR: a5330430
+    </activity-alias>  # DIFF-ANCHOR: 32e34aba
+    <activity-alias  # DIFF-ANCHOR: b4a6221b
+        android:enabled="false"
+        android:excludeFromRecents="true"
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.media.AudioLauncherActivity"
+        android:targetActivity="org.chromium.chrome.browser.media.MediaLauncherActivity"
+        android:theme="@android:style/Theme.NoDisplay">
+      <intent-filter tools:ignore="AppLinkUrlError">  # DIFF-ANCHOR: 13c9b0a8
+        <action android:name="android.intent.action.VIEW"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <data android:mimeType="audio/*"/>
+        <data android:scheme="content"/>
+        <data android:scheme="file"/>
+      </intent-filter>  # DIFF-ANCHOR: 13c9b0a8
+    </activity-alias>  # DIFF-ANCHOR: b4a6221b
+    <activity-alias  # DIFF-ANCHOR: 7c349c4f
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.webapps.SecureWebAppLauncher"
+        android:targetActivity="org.chromium.chrome.browser.webapps.WebappLauncherActivity">
+      <intent-filter>  # DIFF-ANCHOR: 9fe4b527
+        <action android:name="org.chromium.chrome.browser.webapps.WebappManager.ACTION_START_SECURE_WEBAPP"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 9fe4b527
+    </activity-alias>  # DIFF-ANCHOR: 7c349c4f
     <meta-data android:name="android.allow_multiple_resumed_activities" android:value="true"/>
     <meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions"/>
     <meta-data android:name="com.android.webview.WebViewLibrary" android:value="libmonochrome.so"/>
@@ -820,12 +820,12 @@
     <meta-data android:name="org.chromium.content.browser.REMOTE_MEDIA_PLAYERS" android:value="org.chromium.chrome.browser.media.remote.DefaultMediaRouteController"/>
     <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER" android:value="org.chromium.content_public.browser.SmartClipProvider"/>
     <meta-data android:name="preloaded_fonts" android:resource="@array/preloaded_google_sans_fonts"/>
-    <provider  # DIFF-ANCHOR: 2215b9cd
-        android:authorities="$PACKAGE.ChromeBrowserProvider;$PACKAGE.browser;$PACKAGE"
+    <provider  # DIFF-ANCHOR: a5e78e63
+        android:authorities="$PACKAGE.LicenseContentProvider"
         android:exported="true"
-        android:name="org.chromium.chrome.browser.provider.ChromeBrowserProvider">
-      <path-permission android:path="/bookmarks/search_suggest_query" android:readPermission="android.permission.GLOBAL_SEARCH"/>
-    </provider>  # DIFF-ANCHOR: 2215b9cd
+        android:name="org.chromium.android_webview.nonembedded.LicenseContentProvider"
+        android:process=":webview_apk">
+    </provider>  # DIFF-ANCHOR: a5e78e63
     <provider  # DIFF-ANCHOR: bfe37944
         android:authorities="$PACKAGE.DeveloperModeContentProvider"
         android:exported="true"
@@ -840,6 +840,12 @@
         android:name="org.chromium.chrome.browser.download.DownloadFileProvider">
       <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/>
     </provider>  # DIFF-ANCHOR: 97e158a1
+    <provider  # DIFF-ANCHOR: 2215b9cd
+        android:authorities="$PACKAGE.ChromeBrowserProvider;$PACKAGE.browser;$PACKAGE"
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.provider.ChromeBrowserProvider">
+      <path-permission android:path="/bookmarks/search_suggest_query" android:readPermission="android.permission.GLOBAL_SEARCH"/>
+    </provider>  # DIFF-ANCHOR: 2215b9cd
     <provider  # DIFF-ANCHOR: 6e306896
         android:authorities="$PACKAGE.FileProvider"
         android:exported="false"
@@ -847,16 +853,29 @@
         android:name="org.chromium.chrome.browser.util.ChromeFileProvider">
       <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/>
     </provider>  # DIFF-ANCHOR: 6e306896
-    <provider  # DIFF-ANCHOR: a5e78e63
-        android:authorities="$PACKAGE.LicenseContentProvider"
-        android:exported="true"
-        android:name="org.chromium.android_webview.nonembedded.LicenseContentProvider"
-        android:process=":webview_apk">
-    </provider>  # DIFF-ANCHOR: a5e78e63
+    <receiver  # DIFF-ANCHOR: 7d221226
+        android:label="@string/bookmark_widget_title"
+        android:name="com.google.android.apps.chrome.appwidget.bookmarks.BookmarkThumbnailWidgetProvider">
+      <intent-filter>  # DIFF-ANCHOR: 1ebe78e9
+        <action android:name=".BOOKMARK_APPWIDGET_UPDATE"/>
+        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
+      </intent-filter>  # DIFF-ANCHOR: 1ebe78e9
+      <meta-data android:name="android.appwidget.provider" android:resource="@xml/bookmark_widget_info"/>
+    </receiver>  # DIFF-ANCHOR: 7d221226
     <receiver  # DIFF-ANCHOR: 1091f66b
         android:exported="false"
         android:name="com.google.android.gms.cast.framework.media.MediaIntentReceiver">
     </receiver>  # DIFF-ANCHOR: 1091f66b
+    <receiver  # DIFF-ANCHOR: 0ea504ef
+        android:exported="true"
+        android:name="com.google.android.gms.gcm.GcmReceiver"
+        android:permission="com.google.android.c2dm.permission.SEND">
+      <intent-filter>  # DIFF-ANCHOR: aae22013
+        <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
+        <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
+        <category android:name="$PACKAGE"/>
+      </intent-filter>  # DIFF-ANCHOR: aae22013
+    </receiver>  # DIFF-ANCHOR: 0ea504ef
     <receiver  # DIFF-ANCHOR: 9ef4cd0a
         android:exported="false"
         android:name="org.chromium.chrome.browser.announcement.AnnouncementNotificationManager$Receiver">
@@ -869,6 +888,15 @@
         android:exported="false"
         android:name="org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetProxy">
     </receiver>  # DIFF-ANCHOR: b93ab7db
+    <receiver  # DIFF-ANCHOR: 3e596004
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.browserservices.ClientAppBroadcastReceiver">
+      <intent-filter>  # DIFF-ANCHOR: e5bb6a36
+        <action android:name="android.intent.action.PACKAGE_DATA_CLEARED"/>
+        <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
+        <data android:scheme="package"/>
+      </intent-filter>  # DIFF-ANCHOR: e5bb6a36
+    </receiver>  # DIFF-ANCHOR: 3e596004
     <receiver  # DIFF-ANCHOR: 3a086f97
         android:exported="false"
         android:name="org.chromium.chrome.browser.browserservices.trustedwebactivityui.DisclosureAcceptanceBroadcastReceiver">
@@ -916,6 +944,35 @@
         android:exported="false"
         android:name="org.chromium.chrome.browser.omaha.UpdateNotificationController$UpdateNotificationReceiver">
     </receiver>  # DIFF-ANCHOR: 40a69297
+    <receiver  # DIFF-ANCHOR: 3664f7eb
+        android:label="@string/search_widget_title"
+        android:name="org.chromium.chrome.browser.searchwidget.SearchWidgetProvider">
+      <intent-filter>  # DIFF-ANCHOR: 4ed161a4
+        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
+      </intent-filter>  # DIFF-ANCHOR: 4ed161a4
+      <intent-filter>  # DIFF-ANCHOR: 92485a5d
+        <action android:name="org.chromium.chrome.browser.searchwidget.START_TEXT_QUERY"/>
+      </intent-filter>  # DIFF-ANCHOR: 92485a5d
+      <intent-filter>  # DIFF-ANCHOR: 444cf2a4
+        <action android:name="org.chromium.chrome.browser.searchwidget.START_VOICE_QUERY"/>
+      </intent-filter>  # DIFF-ANCHOR: 444cf2a4
+      <intent-filter>  # DIFF-ANCHOR: fc048873
+        <action android:name="org.chromium.chrome.browser.searchwidget.UPDATE_ALL_WIDGETS"/>
+      </intent-filter>  # DIFF-ANCHOR: fc048873
+      <meta-data android:name="android.appwidget.provider" android:resource="@xml/search_widget_info"/>
+    </receiver>  # DIFF-ANCHOR: 3664f7eb
+    <receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver">  # DIFF-ANCHOR: 4de2a279
+      <intent-filter>  # DIFF-ANCHOR: 6a188b57
+        <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED"/>
+      </intent-filter>  # DIFF-ANCHOR: 6a188b57
+    </receiver>  # DIFF-ANCHOR: 4de2a279
+    <receiver  # DIFF-ANCHOR: 93e73992
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.sharing.click_to_call.ClickToCallMessageHandler$PhoneUnlockedReceiver">
+      <intent-filter>  # DIFF-ANCHOR: 4b5ec7a9
+        <action android:name="android.intent.action.USER_PRESENT"/>
+      </intent-filter>  # DIFF-ANCHOR: 4b5ec7a9
+    </receiver>  # DIFF-ANCHOR: 93e73992
     <receiver  # DIFF-ANCHOR: 956432e8
         android:exported="false"
         android:name="org.chromium.chrome.browser.sharing.click_to_call.ClickToCallMessageHandler$TapReceiver">
@@ -939,105 +996,7 @@
         android:exported="false"
         android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskBroadcastReceiver">
     </receiver>  # DIFF-ANCHOR: 3e5f56cb
-    <receiver  # DIFF-ANCHOR: 0ea504ef
-        android:exported="true"
-        android:name="com.google.android.gms.gcm.GcmReceiver"
-        android:permission="com.google.android.c2dm.permission.SEND">
-      <intent-filter>  # DIFF-ANCHOR: aae22013
-        <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
-        <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
-        <category android:name="$PACKAGE"/>
-      </intent-filter>  # DIFF-ANCHOR: aae22013
-    </receiver>  # DIFF-ANCHOR: 0ea504ef
-    <receiver  # DIFF-ANCHOR: 3e596004
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.browserservices.ClientAppBroadcastReceiver">
-      <intent-filter>  # DIFF-ANCHOR: e5bb6a36
-        <action android:name="android.intent.action.PACKAGE_DATA_CLEARED"/>
-        <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
-        <data android:scheme="package"/>
-      </intent-filter>  # DIFF-ANCHOR: e5bb6a36
-    </receiver>  # DIFF-ANCHOR: 3e596004
-    <receiver  # DIFF-ANCHOR: 93e73992
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.sharing.click_to_call.ClickToCallMessageHandler$PhoneUnlockedReceiver">
-      <intent-filter>  # DIFF-ANCHOR: 4b5ec7a9
-        <action android:name="android.intent.action.USER_PRESENT"/>
-      </intent-filter>  # DIFF-ANCHOR: 4b5ec7a9
-    </receiver>  # DIFF-ANCHOR: 93e73992
-    <receiver  # DIFF-ANCHOR: 7d221226
-        android:label="@string/bookmark_widget_title"
-        android:name="com.google.android.apps.chrome.appwidget.bookmarks.BookmarkThumbnailWidgetProvider">
-      <intent-filter>  # DIFF-ANCHOR: 1ebe78e9
-        <action android:name=".BOOKMARK_APPWIDGET_UPDATE"/>
-        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
-      </intent-filter>  # DIFF-ANCHOR: 1ebe78e9
-      <meta-data android:name="android.appwidget.provider" android:resource="@xml/bookmark_widget_info"/>
-    </receiver>  # DIFF-ANCHOR: 7d221226
-    <receiver  # DIFF-ANCHOR: 3664f7eb
-        android:label="@string/search_widget_title"
-        android:name="org.chromium.chrome.browser.searchwidget.SearchWidgetProvider">
-      <intent-filter>  # DIFF-ANCHOR: 4ed161a4
-        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
-      </intent-filter>  # DIFF-ANCHOR: 4ed161a4
-      <intent-filter>  # DIFF-ANCHOR: 92485a5d
-        <action android:name="org.chromium.chrome.browser.searchwidget.START_TEXT_QUERY"/>
-      </intent-filter>  # DIFF-ANCHOR: 92485a5d
-      <intent-filter>  # DIFF-ANCHOR: 444cf2a4
-        <action android:name="org.chromium.chrome.browser.searchwidget.START_VOICE_QUERY"/>
-      </intent-filter>  # DIFF-ANCHOR: 444cf2a4
-      <intent-filter>  # DIFF-ANCHOR: fc048873
-        <action android:name="org.chromium.chrome.browser.searchwidget.UPDATE_ALL_WIDGETS"/>
-      </intent-filter>  # DIFF-ANCHOR: fc048873
-      <meta-data android:name="android.appwidget.provider" android:resource="@xml/search_widget_info"/>
-    </receiver>  # DIFF-ANCHOR: 3664f7eb
-    <receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver">  # DIFF-ANCHOR: 4de2a279
-      <intent-filter>  # DIFF-ANCHOR: 6a188b57
-        <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED"/>
-      </intent-filter>  # DIFF-ANCHOR: 6a188b57
-    </receiver>  # DIFF-ANCHOR: 4de2a279
-    <service  # DIFF-ANCHOR: 53256720
-        android:description="@string/decoder_description"
-        android:exported="false"
-        android:isolatedProcess="true"
-        android:name="org.chromium.chrome.browser.photo_picker.DecoderService"
-        android:process=":decoder_service">
-    </service>  # DIFF-ANCHOR: 53256720
-    <service  # DIFF-ANCHOR: 0c6c4fd9
-        android:exported="false"
-        android:isolatedProcess="false"
-        android:name="org.chromium.content.app.PrivilegedProcessService0"
-        android:permission="$PACKAGE.permission.CHILD_SERVICE"
-        android:process=":privileged_process0">
-    </service>  # DIFF-ANCHOR: 0c6c4fd9
-    <service  # DIFF-ANCHOR: 6f89af32
-        android:exported="false"
-        android:isolatedProcess="false"
-        android:name="org.chromium.content.app.PrivilegedProcessService1"
-        android:permission="$PACKAGE.permission.CHILD_SERVICE"
-        android:process=":privileged_process1">
-    </service>  # DIFF-ANCHOR: 6f89af32
-    <service  # DIFF-ANCHOR: 40e0d738
-        android:exported="false"
-        android:isolatedProcess="false"
-        android:name="org.chromium.content.app.PrivilegedProcessService2"
-        android:permission="$PACKAGE.permission.CHILD_SERVICE"
-        android:process=":privileged_process2">
-    </service>  # DIFF-ANCHOR: 40e0d738
-    <service  # DIFF-ANCHOR: b197517d
-        android:exported="false"
-        android:isolatedProcess="false"
-        android:name="org.chromium.content.app.PrivilegedProcessService3"
-        android:permission="$PACKAGE.permission.CHILD_SERVICE"
-        android:process=":privileged_process3">
-    </service>  # DIFF-ANCHOR: b197517d
-    <service  # DIFF-ANCHOR: 52303702
-        android:exported="false"
-        android:isolatedProcess="false"
-        android:name="org.chromium.content.app.PrivilegedProcessService4"
-        android:permission="$PACKAGE.permission.CHILD_SERVICE"
-        android:process=":privileged_process4">
-    </service>  # DIFF-ANCHOR: 52303702
+    <service android:name="androidx.browser.customtabs.PostMessageService"/>
     <service  # DIFF-ANCHOR: 41539e3c
         android:exported="false"
         android:name="com.google.android.gms.cast.framework.ReconnectionService">
@@ -1046,17 +1005,55 @@
         android:exported="false"
         android:name="com.google.android.gms.cast.framework.media.MediaNotificationService">
     </service>  # DIFF-ANCHOR: 7dad1ec5
+    <service  # DIFF-ANCHOR: 4c2196d9
+        android:exported="true"
+        android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService"
+        android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
+      <intent-filter>  # DIFF-ANCHOR: 99686c45
+        <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
+      </intent-filter>  # DIFF-ANCHOR: 99686c45
+    </service>  # DIFF-ANCHOR: 4c2196d9
+    <service  # DIFF-ANCHOR: 3cd6d713
+        android:exported="true"
+        android:name="org.chromium.android_webview.services.AwMinidumpUploadJobService"
+        android:permission="android.permission.BIND_JOB_SERVICE"
+        android:process=":webview_service">
+    </service>  # DIFF-ANCHOR: 3cd6d713
     <service  # DIFF-ANCHOR: 65cddb26
         android:exported="false"
         android:name="org.chromium.android_webview.services.AwVariationsSeedFetcher"
         android:permission="android.permission.BIND_JOB_SERVICE"
         android:process=":webview_service">
     </service>  # DIFF-ANCHOR: 65cddb26
+    <service  # DIFF-ANCHOR: 5cda9608
+        android:exported="true"
+        android:name="org.chromium.android_webview.services.CrashReceiverService"
+        android:process=":webview_service">
+    </service>  # DIFF-ANCHOR: 5cda9608
     <service  # DIFF-ANCHOR: adce9ea1
         android:exported="false"
         android:name="org.chromium.android_webview.services.DeveloperUiService"
         android:process=":webview_service">
     </service>  # DIFF-ANCHOR: adce9ea1
+    <service  # DIFF-ANCHOR: eecf2fee
+        android:exported="true"
+        android:name="org.chromium.android_webview.services.MetricsBridgeService"
+        android:process=":webview_service"
+        android:visibleToInstantApps="true">
+    </service>  # DIFF-ANCHOR: eecf2fee
+    <service  # DIFF-ANCHOR: dc926e35
+        android:exported="true"
+        android:name="org.chromium.android_webview.services.VariationsSeedServer"
+        android:process=":webview_service">
+    </service>  # DIFF-ANCHOR: dc926e35
+    <service  # DIFF-ANCHOR: c34d99ad
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.ChromeBackgroundService"
+        android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
+      <intent-filter>  # DIFF-ANCHOR: 99686c45
+        <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
+      </intent-filter>  # DIFF-ANCHOR: 99686c45
+    </service>  # DIFF-ANCHOR: c34d99ad
     <service  # DIFF-ANCHOR: ac44dbad
         android:exported="false"
         android:name="org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetService"
@@ -1071,6 +1068,21 @@
         android:exported="false"
         android:name="org.chromium.chrome.browser.crash.MinidumpUploadService">
     </service>  # DIFF-ANCHOR: 2ce0b6a4
+    <service  # DIFF-ANCHOR: ee1c39a8
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.customtabs.CustomTabsConnectionService"
+        tools:ignore="ExportedService">
+      <intent-filter>  # DIFF-ANCHOR: d46bf795
+        <action android:name="android.support.customtabs.action.CustomTabsService"/>
+        <category android:name="androidx.browser.customtabs.category.ColorSchemeCustomization"/>
+        <category android:name="androidx.browser.customtabs.category.NavBarColorCustomization"/>
+        <category android:name="androidx.browser.trusted.category.ImmersiveMode"/>
+        <category android:name="androidx.browser.trusted.category.LaunchSiteSettings"/>
+        <category android:name="androidx.browser.trusted.category.TrustedWebActivities"/>
+        <category android:name="androidx.browser.trusted.category.TrustedWebActivitySplashScreensV1"/>
+        <category android:name="androidx.browser.trusted.category.WebShareTargetV2"/>
+      </intent-filter>  # DIFF-ANCHOR: d46bf795
+    </service>  # DIFF-ANCHOR: ee1c39a8
     <service  # DIFF-ANCHOR: 555432db
         android:exported="false"
         android:name="org.chromium.chrome.browser.download.DownloadBroadcastManager">
@@ -1126,6 +1138,18 @@
         android:name="org.chromium.chrome.browser.notifications.NotificationService">
     </service>  # DIFF-ANCHOR: 3224d309
     <service android:exported="false" android:name="org.chromium.chrome.browser.omaha.OmahaClient"/>
+    <service  # DIFF-ANCHOR: 53256720
+        android:description="@string/decoder_description"
+        android:exported="false"
+        android:isolatedProcess="true"
+        android:name="org.chromium.chrome.browser.photo_picker.DecoderService"
+        android:process=":decoder_service">
+    </service>  # DIFF-ANCHOR: 53256720
+    <service  # DIFF-ANCHOR: 064aae37
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
+        tools:ignore="ExportedService">
+    </service>  # DIFF-ANCHOR: 064aae37
     <service  # DIFF-ANCHOR: d930289b
         android:exported="false"
         android:name="org.chromium.chrome.browser.services.gcm.ChromeGcmListenerService">
@@ -1145,49 +1169,6 @@
         android:exported="false"
         android:name="org.chromium.chrome.browser.tracing.TracingNotificationService">
     </service>  # DIFF-ANCHOR: 80f6a8e5
-    <service  # DIFF-ANCHOR: a550decc
-        android:exported="false"
-        android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskJobService"
-        android:permission="android.permission.BIND_JOB_SERVICE">
-    </service>  # DIFF-ANCHOR: a550decc
-    <service  # DIFF-ANCHOR: 4c2196d9
-        android:exported="true"
-        android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService"
-        android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
-      <intent-filter>  # DIFF-ANCHOR: 99686c45
-        <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
-      </intent-filter>  # DIFF-ANCHOR: 99686c45
-    </service>  # DIFF-ANCHOR: 4c2196d9
-    <service  # DIFF-ANCHOR: 3cd6d713
-        android:exported="true"
-        android:name="org.chromium.android_webview.services.AwMinidumpUploadJobService"
-        android:permission="android.permission.BIND_JOB_SERVICE"
-        android:process=":webview_service">
-    </service>  # DIFF-ANCHOR: 3cd6d713
-    <service  # DIFF-ANCHOR: 5cda9608
-        android:exported="true"
-        android:name="org.chromium.android_webview.services.CrashReceiverService"
-        android:process=":webview_service">
-    </service>  # DIFF-ANCHOR: 5cda9608
-    <service  # DIFF-ANCHOR: eecf2fee
-        android:exported="true"
-        android:name="org.chromium.android_webview.services.MetricsBridgeService"
-        android:process=":webview_service"
-        android:visibleToInstantApps="true">
-    </service>  # DIFF-ANCHOR: eecf2fee
-    <service  # DIFF-ANCHOR: dc926e35
-        android:exported="true"
-        android:name="org.chromium.android_webview.services.VariationsSeedServer"
-        android:process=":webview_service">
-    </service>  # DIFF-ANCHOR: dc926e35
-    <service  # DIFF-ANCHOR: c34d99ad
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.ChromeBackgroundService"
-        android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
-      <intent-filter>  # DIFF-ANCHOR: 99686c45
-        <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
-      </intent-filter>  # DIFF-ANCHOR: 99686c45
-    </service>  # DIFF-ANCHOR: c34d99ad
     <service  # DIFF-ANCHOR: 8fc286d0
         android:exported="true"
         android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskGcmTaskService"
@@ -1196,11 +1177,50 @@
         <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
       </intent-filter>  # DIFF-ANCHOR: 99686c45
     </service>  # DIFF-ANCHOR: 8fc286d0
+    <service  # DIFF-ANCHOR: a550decc
+        android:exported="false"
+        android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskJobService"
+        android:permission="android.permission.BIND_JOB_SERVICE">
+    </service>  # DIFF-ANCHOR: a550decc
     <service  # DIFF-ANCHOR: 2ce68981
         android:exported="true"
         android:name="org.chromium.components.payments.PaymentDetailsUpdateService">
     </service>  # DIFF-ANCHOR: 2ce68981
-    <service android:name="androidx.browser.customtabs.PostMessageService"/>
+    <service  # DIFF-ANCHOR: 0c6c4fd9
+        android:exported="false"
+        android:isolatedProcess="false"
+        android:name="org.chromium.content.app.PrivilegedProcessService0"
+        android:permission="$PACKAGE.permission.CHILD_SERVICE"
+        android:process=":privileged_process0">
+    </service>  # DIFF-ANCHOR: 0c6c4fd9
+    <service  # DIFF-ANCHOR: 6f89af32
+        android:exported="false"
+        android:isolatedProcess="false"
+        android:name="org.chromium.content.app.PrivilegedProcessService1"
+        android:permission="$PACKAGE.permission.CHILD_SERVICE"
+        android:process=":privileged_process1">
+    </service>  # DIFF-ANCHOR: 6f89af32
+    <service  # DIFF-ANCHOR: 40e0d738
+        android:exported="false"
+        android:isolatedProcess="false"
+        android:name="org.chromium.content.app.PrivilegedProcessService2"
+        android:permission="$PACKAGE.permission.CHILD_SERVICE"
+        android:process=":privileged_process2">
+    </service>  # DIFF-ANCHOR: 40e0d738
+    <service  # DIFF-ANCHOR: b197517d
+        android:exported="false"
+        android:isolatedProcess="false"
+        android:name="org.chromium.content.app.PrivilegedProcessService3"
+        android:permission="$PACKAGE.permission.CHILD_SERVICE"
+        android:process=":privileged_process3">
+    </service>  # DIFF-ANCHOR: b197517d
+    <service  # DIFF-ANCHOR: 52303702
+        android:exported="false"
+        android:isolatedProcess="false"
+        android:name="org.chromium.content.app.PrivilegedProcessService4"
+        android:permission="$PACKAGE.permission.CHILD_SERVICE"
+        android:process=":privileged_process4">
+    </service>  # DIFF-ANCHOR: 52303702
     <service  # DIFF-ANCHOR: b1e3e8bd
         android:exported="true"
         android:externalService="true"
@@ -1602,25 +1622,5 @@
         android:visibleToInstantApps="true"
         tools:ignore="ExportedService">
     </service>  # DIFF-ANCHOR: e2f3bbbd
-    <service  # DIFF-ANCHOR: ee1c39a8
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.customtabs.CustomTabsConnectionService"
-        tools:ignore="ExportedService">
-      <intent-filter>  # DIFF-ANCHOR: d46bf795
-        <action android:name="android.support.customtabs.action.CustomTabsService"/>
-        <category android:name="androidx.browser.customtabs.category.ColorSchemeCustomization"/>
-        <category android:name="androidx.browser.customtabs.category.NavBarColorCustomization"/>
-        <category android:name="androidx.browser.trusted.category.ImmersiveMode"/>
-        <category android:name="androidx.browser.trusted.category.LaunchSiteSettings"/>
-        <category android:name="androidx.browser.trusted.category.TrustedWebActivities"/>
-        <category android:name="androidx.browser.trusted.category.TrustedWebActivitySplashScreensV1"/>
-        <category android:name="androidx.browser.trusted.category.WebShareTargetV2"/>
-      </intent-filter>  # DIFF-ANCHOR: d46bf795
-    </service>  # DIFF-ANCHOR: ee1c39a8
-    <service  # DIFF-ANCHOR: 064aae37
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
-        tools:ignore="ExportedService">
-    </service>  # DIFF-ANCHOR: 064aae37
   </application>
 </manifest>
diff --git a/chrome/android/expectations/trichrome_chrome_bundle.AndroidManifest.expected b/chrome/android/expectations/trichrome_chrome_bundle.AndroidManifest.expected
index c1d1e0a..1f0cac30 100644
--- a/chrome/android/expectations/trichrome_chrome_bundle.AndroidManifest.expected
+++ b/chrome/android/expectations/trichrome_chrome_bundle.AndroidManifest.expected
@@ -6,62 +6,62 @@
     tools:ignore="MissingVersion"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
-  <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="30"/>
-  <uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
-  <uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
-  <uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
-  <uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
-  <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
-  <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
-  <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH"/>
-  <uses-permission-sdk-23 android:name="android.permission.ACCESS_WIFI_STATE"/>
-  <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
-  <uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS"/>
-  <uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS"/>
-  <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
-  <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
-  <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
-  <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
-  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-  <uses-permission android:name="android.permission.WAKE_LOCK"/>
-  <uses-permission android:name="android.permission.VIBRATE"/>
-  <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
-  <uses-permission android:name="android.permission.RECORD_AUDIO"/>
-  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
-  <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
-  <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
-  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
-  <uses-permission android:name="android.permission.NFC"/>
-  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
-  <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
-  <uses-permission android:name="android.permission.INTERNET"/>
-  <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
-  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
-  <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
-  <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
-  <uses-permission android:name="android.permission.CAMERA"/>
-  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
-  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
-  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
-  <uses-permission android:name="$PACKAGE.permission.READ_WRITE_BOOKMARK_FOLDERS"/>
-  <uses-permission android:name="$PACKAGE.permission.C2D_MESSAGE"/>
-  <uses-permission android:name="$PACKAGE.TOS_ACKED"/>
-  <uses-feature android:name="android.software.vr.mode" android:required="false"/>
-  <uses-feature android:name="android.hardware.vr.high_performance" android:required="false"/>
-  <uses-feature android:name="android.hardware.vr.headtracking" android:required="false" android:version="1"/>
-  <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
-  <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="false"/>
-  <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false"/>
-  <uses-feature android:name="android.hardware.screen.landscape" android:required="false"/>
-  <uses-feature android:name="android.hardware.microphone" android:required="false"/>
-  <uses-feature android:name="android.hardware.location.gps" android:required="false"/>
-  <uses-feature android:name="android.hardware.camera" android:required="false"/>
-  <uses-feature android:glEsVersion="0x00020000"/>
-  <permission android:name="$PACKAGE.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem"/>
-  <permission android:name="$PACKAGE.permission.CHILD_SERVICE" android:protectionLevel="signature"/>
-  <permission android:name="$PACKAGE.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
   <permission android:name="$PACKAGE.TOS_ACKED" android:protectionLevel="signatureOrSystem"/>
+  <permission android:name="$PACKAGE.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
+  <permission android:name="$PACKAGE.permission.CHILD_SERVICE" android:protectionLevel="signature"/>
   <permission android:label="Debug web pages" android:name="$PACKAGE.permission.DEBUG" android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS" android:protectionLevel="signature"/>
+  <permission android:name="$PACKAGE.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem"/>
+  <uses-feature android:name="android.hardware.camera" android:required="false"/>
+  <uses-feature android:name="android.hardware.location.gps" android:required="false"/>
+  <uses-feature android:name="android.hardware.microphone" android:required="false"/>
+  <uses-feature android:name="android.hardware.screen.landscape" android:required="false"/>
+  <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false"/>
+  <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="false"/>
+  <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
+  <uses-feature android:name="android.hardware.vr.headtracking" android:required="false" android:version="1"/>
+  <uses-feature android:name="android.hardware.vr.high_performance" android:required="false"/>
+  <uses-feature android:name="android.software.vr.mode" android:required="false"/>
+  <uses-feature android:glEsVersion="0x00020000"/>
+  <uses-permission android:name="$PACKAGE.TOS_ACKED"/>
+  <uses-permission android:name="$PACKAGE.permission.C2D_MESSAGE"/>
+  <uses-permission android:name="$PACKAGE.permission.READ_WRITE_BOOKMARK_FOLDERS"/>
+  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
+  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
+  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+  <uses-permission android:name="android.permission.CAMERA"/>
+  <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
+  <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
+  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
+  <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
+  <uses-permission android:name="android.permission.INTERNET"/>
+  <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
+  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
+  <uses-permission android:name="android.permission.NFC"/>
+  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+  <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
+  <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
+  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
+  <uses-permission android:name="android.permission.RECORD_AUDIO"/>
+  <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
+  <uses-permission android:name="android.permission.VIBRATE"/>
+  <uses-permission android:name="android.permission.WAKE_LOCK"/>
+  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+  <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
+  <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
+  <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
+  <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
+  <uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS"/>
+  <uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS"/>
+  <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
+  <uses-permission-sdk-23 android:name="android.permission.ACCESS_WIFI_STATE"/>
+  <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH"/>
+  <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
+  <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
+  <uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
+  <uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
+  <uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
+  <uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
+  <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="30"/>
   <application
       android:allowBackup="false"
       android:extractNativeLibs="false"
@@ -76,54 +76,27 @@
       android:supportsRtl="true"
       android:use32bitAbi="true"
       android:zygotePreloadName="org.chromium.content.app.ZygotePreload">
-    <activity  # DIFF-ANCHOR: 2121eb0d
-        android:autoRemoveFromRecents="true"
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:label="@string/fre_activity_label"
-        android:launchMode="singleInstance"
-        android:name="org.chromium.chrome.browser.firstrun.FirstRunActivity"
-        android:theme="@style/Theme.Chromium.DialogWhenLarge"
-        android:windowSoftInputMode="stateHidden|adjustPan">
-    </activity>  # DIFF-ANCHOR: 2121eb0d
-    <activity  # DIFF-ANCHOR: 67932092
-        android:autoRemoveFromRecents="true"
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:label="@string/fre_activity_label"
-        android:launchMode="singleInstance"
-        android:name="org.chromium.chrome.browser.firstrun.LightweightFirstRunActivity"
-        android:theme="@style/Theme.Chromium.AlertDialog.NoActionBar"
-        android:windowSoftInputMode="stateHidden|adjustPan">
-    </activity>  # DIFF-ANCHOR: 67932092
-    <activity  # DIFF-ANCHOR: bb612a34
-        android:autoRemoveFromRecents="true"
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:label="@string/fre_activity_label"
-        android:launchMode="singleInstance"
-        android:name="org.chromium.chrome.browser.firstrun.TabbedModeFirstRunActivity"
-        android:theme="@style/Theme.Chromium.TabbedMode"
-        android:windowSoftInputMode="stateHidden|adjustPan">
-    </activity>  # DIFF-ANCHOR: bb612a34
-    <activity  # DIFF-ANCHOR: 8492e3fd
-        android:autoRemoveFromRecents="true"
-        android:name="org.chromium.chrome.browser.sync.ui.PassphraseActivity"
-        android:theme="@style/Theme.Chromium.Activity">
-    </activity>  # DIFF-ANCHOR: 8492e3fd
-    <activity  # DIFF-ANCHOR: 7468a722
-        android:clearTaskOnLaunch="true"
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
+    <activity  # DIFF-ANCHOR: ea1a94af
         android:exported="false"
-        android:hardwareAccelerated="false"
-        android:label="Search"
-        android:launchMode="singleTask"
-        android:name="org.chromium.chrome.browser.searchwidget.SearchActivity"
-        android:taskAffinity=""
-        android:theme="@style/Theme.Chromium.SearchActivity"
-        android:windowSoftInputMode="adjustResize">
-    </activity>  # DIFF-ANCHOR: 7468a722
+        android:name="com.google.android.gms.common.api.GoogleApiActivity"
+        android:theme="@android:style/Theme.Translucent.NoTitleBar">
+    </activity>  # DIFF-ANCHOR: ea1a94af
+    <activity  # DIFF-ANCHOR: a2bae37c
+        android:enabled="false"
+        android:exported="false"
+        android:name="com.google.android.play.core.common.PlayCoreDialogWrapperActivity"
+        android:process=":playcore_dialog_wrapper_activity"
+        android:stateNotNeeded="true"
+        android:theme="@style/Theme.PlayCore.Transparent">
+    </activity>  # DIFF-ANCHOR: a2bae37c
+    <activity  # DIFF-ANCHOR: 53a4871f
+        android:enabled="false"
+        android:exported="false"
+        android:launchMode="singleInstance"
+        android:name="com.google.android.play.core.missingsplits.PlayCoreMissingSplitsActivity"
+        android:process=":playcore_missing_splits_activity"
+        android:stateNotNeeded="true">
+    </activity>  # DIFF-ANCHOR: 53a4871f
     <activity  # DIFF-ANCHOR: 28dc9019
         android:configChanges="keyboardHidden|orientation|screenSize"
         android:excludeFromRecents="true"
@@ -132,222 +105,30 @@
         android:name="com.google.ar.core.InstallActivity"
         android:theme="@android:style/Theme.Material.Light.Dialog.Alert">
     </activity>  # DIFF-ANCHOR: 28dc9019
-    <activity  # DIFF-ANCHOR: 44158f9b
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:enabled="false"
-        android:excludeFromRecents="true"
-        android:exported="true"
-        android:icon="@drawable/ic_devices_48dp"
-        android:label="@string/shared_clipboard_share_activity_title"
-        android:name="org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity"
-        android:noHistory="true"
-        android:theme="@style/Theme.Chromium.Activity.TranslucentNoAnimations">
-      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
-        <action android:name="android.intent.action.SEND"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-        <data android:mimeType="text/plain"/>
-      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
-    </activity>  # DIFF-ANCHOR: 44158f9b
-    <activity  # DIFF-ANCHOR: dc9ccfb7
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:enabled="false"
-        android:excludeFromRecents="true"
-        android:exported="true"
-        android:icon="@drawable/ic_launcher"
-        android:label="@string/qr_code_share_icon_label"
-        android:name="org.chromium.chrome.browser.share.qrcode.QrCodeShareActivity"
-        android:noHistory="true"
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
-        <action android:name="android.intent.action.SEND"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-        <data android:mimeType="text/plain"/>
-      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
-    </activity>  # DIFF-ANCHOR: dc9ccfb7
-    <activity  # DIFF-ANCHOR: f1aedff1
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:enabled="false"
-        android:excludeFromRecents="true"
-        android:exported="true"
-        android:icon="@drawable/ic_launcher"
-        android:label="@string/send_tab_to_self_share_activity_title"
-        android:name="org.chromium.chrome.browser.send_tab_to_self.SendTabToSelfShareActivity"
-        android:noHistory="true"
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
-        <action android:name="android.intent.action.SEND"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-        <data android:mimeType="text/plain"/>
-      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
-    </activity>  # DIFF-ANCHOR: f1aedff1
-    <activity  # DIFF-ANCHOR: bec48e1f
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:enabled="false"
-        android:excludeFromRecents="true"
-        android:exported="true"
-        android:icon="@drawable/sharing_print"
-        android:label="@string/print_share_activity_title"
-        android:name="org.chromium.chrome.browser.printing.PrintShareActivity"
-        android:noHistory="true"
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
-        <action android:name="android.intent.action.SEND"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-        <data android:mimeType="message/rfc822"/>
-        <data android:mimeType="multipart/related"/>
-        <data android:mimeType="text/plain"/>
-      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
-    </activity>  # DIFF-ANCHOR: bec48e1f
-    <activity  # DIFF-ANCHOR: 43bfa5de
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.test_dummy.TestDummyActivity"
-        android:noHistory="true"
-        android:theme="@style/Theme.AppCompat">
-    </activity>  # DIFF-ANCHOR: 43bfa5de
-    <activity  # DIFF-ANCHOR: 8d26d599
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:hardwareAccelerated="true"
-        android:label="Chrome.CafExpandedControllerActivity"
-        android:launchMode="singleTask"
-        android:name="org.chromium.chrome.browser.media.router.caf.remoting.CafExpandedControllerActivity"
-        android:noHistory="true"
-        android:theme="@style/Theme.Chromium.Activity">
-    </activity>  # DIFF-ANCHOR: 8d26d599
-    <activity  # DIFF-ANCHOR: a208e726
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:excludeFromRecents="true"
-        android:name="org.chromium.chrome.browser.bookmarks.BookmarkAddActivity"
-        android:theme="@android:style/Theme.NoDisplay"
-        android:windowSoftInputMode="stateHidden">
-      <intent-filter>  # DIFF-ANCHOR: 47a8059b
-        <action android:name="$PACKAGE.ADDBOOKMARK"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 47a8059b
-    </activity>  # DIFF-ANCHOR: a208e726
-    <activity  # DIFF-ANCHOR: 0a21ad35
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:label="@string/bookmark_choose_folder"
-        android:name="org.chromium.chrome.browser.bookmarks.BookmarkFolderSelectActivity"
-        android:theme="@style/Theme.Chromium.DialogWhenLarge"
-        android:windowSoftInputMode="stateAlwaysHidden">
-    </activity>  # DIFF-ANCHOR: 0a21ad35
-    <activity  # DIFF-ANCHOR: b66ce3f2
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:label="@string/edit_bookmark"
-        android:name="org.chromium.chrome.browser.bookmarks.BookmarkEditActivity"
-        android:theme="@style/Theme.Chromium.DialogWhenLarge"
-        android:windowSoftInputMode="stateHidden">
-    </activity>  # DIFF-ANCHOR: b66ce3f2
-    <activity  # DIFF-ANCHOR: d32b85df
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:label="@string/settings"
-        android:name="org.chromium.chrome.browser.settings.SettingsActivity"
-        android:theme="@style/Theme.Chromium.Settings">
-    </activity>  # DIFF-ANCHOR: d32b85df
-    <activity  # DIFF-ANCHOR: d2967c86
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:label="@string/storage_management_activity_label"
-        android:name="org.chromium.chrome.browser.site_settings.ManageSpaceActivity"
-        android:theme="@style/Theme.Chromium.Settings.ManageSpace">
-    </activity>  # DIFF-ANCHOR: d2967c86
-    <activity  # DIFF-ANCHOR: da2eedc8
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.bookmarks.BookmarkActivity"
-        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
-        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
-    </activity>  # DIFF-ANCHOR: da2eedc8
-    <activity  # DIFF-ANCHOR: e0427380
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.bookmarks.BookmarkAddEditFolderActivity"
-        android:theme="@style/Theme.Chromium.DialogWhenLarge">
-    </activity>  # DIFF-ANCHOR: e0427380
-    <activity  # DIFF-ANCHOR: 5c83a464
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.download.DownloadActivity"
-        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
-        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
-    </activity>  # DIFF-ANCHOR: 5c83a464
-    <activity  # DIFF-ANCHOR: 05911131
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.history.HistoryActivity"
-        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
-        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
-    </activity>  # DIFF-ANCHOR: 05911131
-    <activity  # DIFF-ANCHOR: f2fee469
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.signin.SigninActivity"
-        android:theme="@style/Theme.Chromium.DialogWhenLarge">
-    </activity>  # DIFF-ANCHOR: f2fee469
-    <activity  # DIFF-ANCHOR: 5e628a6c
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
-        android:enableVrMode="@string/gvr_vr_mode_component"
+    <activity  # DIFF-ANCHOR: 93d41352
         android:excludeFromRecents="true"
         android:exported="false"
         android:launchMode="singleInstance"
-        android:name="org.chromium.chrome.browser.vr.VrFirstRunActivity"
-        android:theme="@style/VrActivityTheme">
-      <intent-filter>  # DIFF-ANCHOR: dea53031
-        <action android:name="org.chromium.chrome.browser.dummy.action"/>
-        <category android:name="com.google.intent.category.CARDBOARD"/>
-        <category android:name="com.google.intent.category.DAYDREAM"/>
-      </intent-filter>  # DIFF-ANCHOR: dea53031
-    </activity>  # DIFF-ANCHOR: 5e628a6c
-    <activity  # DIFF-ANCHOR: 5e467d8a
+        android:name="org.chromium.chrome.browser.BrowserRestartActivity"
+        android:process=":browser_restart_process"
+        android:theme="@android:style/Theme.Translucent.NoTitleBar">
+    </activity>  # DIFF-ANCHOR: 93d41352
+    <activity  # DIFF-ANCHOR: 61b2c776
         android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
-        android:documentLaunchMode="intoExisting"
-        android:exported="false"
+        android:exported="true"
         android:hardwareAccelerated="false"
-        android:label="@string/webapp_activity_title"
-        android:launchMode="singleTop"
-        android:name="org.chromium.chrome.browser.webapps.WebappActivity"
-        android:persistableMode="persistNever"
+        android:launchMode="singleTask"
+        android:name="org.chromium.chrome.browser.ChromeTabbedActivity"
         android:resizeableActivity="true"
         android:supportsPictureInPicture="true"
-        android:theme="@style/Theme.Chromium.Webapp"
+        android:theme="@style/Theme.Chromium.TabbedMode"
         android:windowSoftInputMode="adjustResize">
       <intent-filter>  # DIFF-ANCHOR: dea53031
         <action android:name="org.chromium.chrome.browser.dummy.action"/>
         <category android:name="com.google.intent.category.CARDBOARD"/>
         <category android:name="com.google.intent.category.DAYDREAM"/>
       </intent-filter>  # DIFF-ANCHOR: dea53031
-    </activity>  # DIFF-ANCHOR: 5e467d8a
-    <activity  # DIFF-ANCHOR: 1acdfd19
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
-        android:excludeFromRecents="true"
-        android:name="org.chromium.chrome.browser.document.ChromeLauncherActivity"
-        android:relinquishTaskIdentity="true"
-        android:taskAffinity=""
-        android:theme="@style/LauncherTheme">
-    </activity>  # DIFF-ANCHOR: 1acdfd19
-    <activity  # DIFF-ANCHOR: f1dc024a
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
-        android:exported="false"
-        android:hardwareAccelerated="false"
-        android:label="@string/webapp_activity_title"
-        android:name="org.chromium.chrome.browser.webapps.SameTaskWebApkActivity"
-        android:persistableMode="persistNever"
-        android:resizeableActivity="true"
-        android:supportsPictureInPicture="true"
-        android:theme="@style/Theme.Chromium.Webapp.Translucent"
-        android:windowSoftInputMode="adjustResize">
-      <intent-filter>  # DIFF-ANCHOR: dea53031
-        <action android:name="org.chromium.chrome.browser.dummy.action"/>
-        <category android:name="com.google.intent.category.CARDBOARD"/>
-        <category android:name="com.google.intent.category.DAYDREAM"/>
-      </intent-filter>  # DIFF-ANCHOR: dea53031
-    </activity>  # DIFF-ANCHOR: f1dc024a
+    </activity>  # DIFF-ANCHOR: 61b2c776
     <activity  # DIFF-ANCHOR: 610e8ccf
         android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
         android:exported="false"
@@ -365,6 +146,79 @@
         <category android:name="com.google.intent.category.DAYDREAM"/>
       </intent-filter>  # DIFF-ANCHOR: dea53031
     </activity>  # DIFF-ANCHOR: 610e8ccf
+    <activity  # DIFF-ANCHOR: 76686af9
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.LauncherShortcutActivity"
+        android:taskAffinity=""
+        android:theme="@android:style/Theme.NoDisplay">
+    </activity>  # DIFF-ANCHOR: 76686af9
+    <activity  # DIFF-ANCHOR: 50c7105b
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.app.reengagement.ReengagementActivity"
+        android:taskAffinity=""
+        android:theme="@android:style/Theme.Translucent">
+    </activity>  # DIFF-ANCHOR: 50c7105b
+    <activity  # DIFF-ANCHOR: da2eedc8
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.bookmarks.BookmarkActivity"
+        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
+        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
+    </activity>  # DIFF-ANCHOR: da2eedc8
+    <activity  # DIFF-ANCHOR: a208e726
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:name="org.chromium.chrome.browser.bookmarks.BookmarkAddActivity"
+        android:theme="@android:style/Theme.NoDisplay"
+        android:windowSoftInputMode="stateHidden">
+      <intent-filter>  # DIFF-ANCHOR: 47a8059b
+        <action android:name="$PACKAGE.ADDBOOKMARK"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 47a8059b
+    </activity>  # DIFF-ANCHOR: a208e726
+    <activity  # DIFF-ANCHOR: e0427380
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.bookmarks.BookmarkAddEditFolderActivity"
+        android:theme="@style/Theme.Chromium.DialogWhenLarge">
+    </activity>  # DIFF-ANCHOR: e0427380
+    <activity  # DIFF-ANCHOR: b66ce3f2
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:label="@string/edit_bookmark"
+        android:name="org.chromium.chrome.browser.bookmarks.BookmarkEditActivity"
+        android:theme="@style/Theme.Chromium.DialogWhenLarge"
+        android:windowSoftInputMode="stateHidden">
+    </activity>  # DIFF-ANCHOR: b66ce3f2
+    <activity  # DIFF-ANCHOR: 0a21ad35
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:label="@string/bookmark_choose_folder"
+        android:name="org.chromium.chrome.browser.bookmarks.BookmarkFolderSelectActivity"
+        android:theme="@style/Theme.Chromium.DialogWhenLarge"
+        android:windowSoftInputMode="stateAlwaysHidden">
+    </activity>  # DIFF-ANCHOR: 0a21ad35
+    <activity  # DIFF-ANCHOR: 209b5ded
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.browserservices.ClearDataDialogActivity"
+        android:theme="@style/Theme.Chromium.ClearDataDialogActivity">
+    </activity>  # DIFF-ANCHOR: 209b5ded
+    <activity  # DIFF-ANCHOR: 2b0ee4cd
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.browserservices.ManageTrustedWebActivityDataActivity"
+        android:theme="@style/Theme.Chromium.Activity.Fullscreen.Transparent">
+      <intent-filter>  # DIFF-ANCHOR: 38d9d906
+        <action android:name="android.support.customtabs.action.ACTION_MANAGE_TRUSTED_WEB_ACTIVITY_DATA"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <data android:scheme="https"/>
+      </intent-filter>  # DIFF-ANCHOR: 38d9d906
+      <intent-filter>  # DIFF-ANCHOR: 38d9d906
+        <action android:name="android.support.customtabs.action.ACTION_MANAGE_TRUSTED_WEB_ACTIVITY_DATA"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 38d9d906
+    </activity>  # DIFF-ANCHOR: 2b0ee4cd
     <activity  # DIFF-ANCHOR: 44266a6a
         android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
         android:exported="false"
@@ -410,53 +264,58 @@
         <category android:name="com.google.intent.category.DAYDREAM"/>
       </intent-filter>  # DIFF-ANCHOR: dea53031
     </activity>  # DIFF-ANCHOR: 4d923622
-    <activity  # DIFF-ANCHOR: 9023f153
+    <activity  # DIFF-ANCHOR: 1acdfd19
         android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
-        android:exported="false"
-        android:hardwareAccelerated="false"
-        android:name="org.chromium.chrome.browser.multiwindow.MultiInstanceChromeTabbedActivity"
-        android:theme="@style/Theme.Chromium.TabbedMode"
-        android:windowSoftInputMode="adjustResize">
-    </activity>  # DIFF-ANCHOR: 9023f153
-    <activity  # DIFF-ANCHOR: 61b2c776
-        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
-        android:exported="true"
-        android:hardwareAccelerated="false"
-        android:launchMode="singleTask"
-        android:name="org.chromium.chrome.browser.ChromeTabbedActivity"
-        android:resizeableActivity="true"
-        android:supportsPictureInPicture="true"
-        android:theme="@style/Theme.Chromium.TabbedMode"
-        android:windowSoftInputMode="adjustResize">
-      <intent-filter>  # DIFF-ANCHOR: dea53031
-        <action android:name="org.chromium.chrome.browser.dummy.action"/>
-        <category android:name="com.google.intent.category.CARDBOARD"/>
-        <category android:name="com.google.intent.category.DAYDREAM"/>
-      </intent-filter>  # DIFF-ANCHOR: dea53031
-    </activity>  # DIFF-ANCHOR: 61b2c776
-    <activity  # DIFF-ANCHOR: d706d96e
-        android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
         android:excludeFromRecents="true"
+        android:name="org.chromium.chrome.browser.document.ChromeLauncherActivity"
+        android:relinquishTaskIdentity="true"
+        android:taskAffinity=""
+        android:theme="@style/LauncherTheme">
+    </activity>  # DIFF-ANCHOR: 1acdfd19
+    <activity  # DIFF-ANCHOR: 5c83a464
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
         android:exported="false"
-        android:name="org.chromium.chrome.browser.media.PictureInPictureActivity"
-        android:noHistory="true"
-        android:resizeableActivity="true"
-        android:supportsPictureInPicture="true"
-        android:theme="@style/Theme.Chromium.Activity">
-    </activity>  # DIFF-ANCHOR: d706d96e
-    <activity  # DIFF-ANCHOR: b007dcaa
-        android:enableVrMode="@string/gvr_vr_mode_component"
+        android:name="org.chromium.chrome.browser.download.DownloadActivity"
+        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
+        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
+    </activity>  # DIFF-ANCHOR: 5c83a464
+    <activity  # DIFF-ANCHOR: 2121eb0d
+        android:autoRemoveFromRecents="true"
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
         android:excludeFromRecents="true"
+        android:label="@string/fre_activity_label"
+        android:launchMode="singleInstance"
+        android:name="org.chromium.chrome.browser.firstrun.FirstRunActivity"
+        android:theme="@style/Theme.Chromium.DialogWhenLarge"
+        android:windowSoftInputMode="stateHidden|adjustPan">
+    </activity>  # DIFF-ANCHOR: 2121eb0d
+    <activity  # DIFF-ANCHOR: 67932092
+        android:autoRemoveFromRecents="true"
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:label="@string/fre_activity_label"
+        android:launchMode="singleInstance"
+        android:name="org.chromium.chrome.browser.firstrun.LightweightFirstRunActivity"
+        android:theme="@style/Theme.Chromium.AlertDialog.NoActionBar"
+        android:windowSoftInputMode="stateHidden|adjustPan">
+    </activity>  # DIFF-ANCHOR: 67932092
+    <activity  # DIFF-ANCHOR: bb612a34
+        android:autoRemoveFromRecents="true"
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:label="@string/fre_activity_label"
+        android:launchMode="singleInstance"
+        android:name="org.chromium.chrome.browser.firstrun.TabbedModeFirstRunActivity"
+        android:theme="@style/Theme.Chromium.TabbedMode"
+        android:windowSoftInputMode="stateHidden|adjustPan">
+    </activity>  # DIFF-ANCHOR: bb612a34
+    <activity  # DIFF-ANCHOR: 05911131
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
         android:exported="false"
-        android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
-        android:noHistory="true"
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: dea53031
-        <action android:name="org.chromium.chrome.browser.dummy.action"/>
-        <category android:name="com.google.intent.category.CARDBOARD"/>
-        <category android:name="com.google.intent.category.DAYDREAM"/>
-      </intent-filter>  # DIFF-ANCHOR: dea53031
-    </activity>  # DIFF-ANCHOR: b007dcaa
+        android:name="org.chromium.chrome.browser.history.HistoryActivity"
+        android:theme="@style/Theme.Chromium.Activity.Fullscreen"
+        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
+    </activity>  # DIFF-ANCHOR: 05911131
     <activity  # DIFF-ANCHOR: b98302dc
         android:enabled="false"
         android:excludeFromRecents="true"
@@ -469,44 +328,6 @@
         <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>  # DIFF-ANCHOR: 8f811d02
     </activity>  # DIFF-ANCHOR: b98302dc
-    <activity  # DIFF-ANCHOR: 53a4871f
-        android:enabled="false"
-        android:exported="false"
-        android:launchMode="singleInstance"
-        android:name="com.google.android.play.core.missingsplits.PlayCoreMissingSplitsActivity"
-        android:process=":playcore_missing_splits_activity"
-        android:stateNotNeeded="true">
-    </activity>  # DIFF-ANCHOR: 53a4871f
-    <activity  # DIFF-ANCHOR: a2bae37c
-        android:enabled="false"
-        android:exported="false"
-        android:name="com.google.android.play.core.common.PlayCoreDialogWrapperActivity"
-        android:process=":playcore_dialog_wrapper_activity"
-        android:stateNotNeeded="true"
-        android:theme="@style/Theme.PlayCore.Transparent">
-    </activity>  # DIFF-ANCHOR: a2bae37c
-    <activity  # DIFF-ANCHOR: 93d41352
-        android:excludeFromRecents="true"
-        android:exported="false"
-        android:launchMode="singleInstance"
-        android:name="org.chromium.chrome.browser.BrowserRestartActivity"
-        android:process=":browser_restart_process"
-        android:theme="@android:style/Theme.Translucent.NoTitleBar">
-    </activity>  # DIFF-ANCHOR: 93d41352
-    <activity  # DIFF-ANCHOR: 76686af9
-        android:excludeFromRecents="true"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.LauncherShortcutActivity"
-        android:taskAffinity=""
-        android:theme="@android:style/Theme.NoDisplay">
-    </activity>  # DIFF-ANCHOR: 76686af9
-    <activity  # DIFF-ANCHOR: 50c7105b
-        android:excludeFromRecents="true"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.app.reengagement.ReengagementActivity"
-        android:taskAffinity=""
-        android:theme="@android:style/Theme.Translucent">
-    </activity>  # DIFF-ANCHOR: 50c7105b
     <activity  # DIFF-ANCHOR: 349d8ca5
         android:excludeFromRecents="true"
         android:exported="false"
@@ -514,59 +335,6 @@
         android:noHistory="true"
         android:theme="@android:style/Theme.NoDisplay">
     </activity>  # DIFF-ANCHOR: 349d8ca5
-    <activity  # DIFF-ANCHOR: 76b60c10
-        android:excludeFromRecents="true"
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.sync.ui.TrustedVaultKeyRetrievalProxyActivity"
-        android:theme="@style/Theme.AppCompat">
-    </activity>  # DIFF-ANCHOR: 76b60c10
-    <activity  # DIFF-ANCHOR: aea75380
-        android:excludeFromRecents="true"
-        android:name="org.chromium.chrome.browser.webapps.WebappLauncherActivity"
-        android:taskAffinity=""
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: faf519ad
-        <action android:name="com.google.android.apps.chrome.webapps.WebappManager.ACTION_START_WEBAPP"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: faf519ad
-      <intent-filter>  # DIFF-ANCHOR: 9c5197e9
-        <action android:name="org.webapk.ACTION_START_WEBAPK"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 9c5197e9
-    </activity>  # DIFF-ANCHOR: aea75380
-    <activity  # DIFF-ANCHOR: ea1a94af
-        android:exported="false"
-        android:name="com.google.android.gms.common.api.GoogleApiActivity"
-        android:theme="@android:style/Theme.Translucent.NoTitleBar">
-    </activity>  # DIFF-ANCHOR: ea1a94af
-    <activity  # DIFF-ANCHOR: 209b5ded
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.browserservices.ClearDataDialogActivity"
-        android:theme="@style/Theme.Chromium.ClearDataDialogActivity">
-    </activity>  # DIFF-ANCHOR: 209b5ded
-    <activity  # DIFF-ANCHOR: 2b0ee4cd
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.browserservices.ManageTrustedWebActivityDataActivity"
-        android:theme="@style/Theme.Chromium.Activity.Fullscreen.Transparent">
-      <intent-filter>  # DIFF-ANCHOR: 38d9d906
-        <action android:name="android.support.customtabs.action.ACTION_MANAGE_TRUSTED_WEB_ACTIVITY_DATA"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-        <data android:scheme="https"/>
-      </intent-filter>  # DIFF-ANCHOR: 38d9d906
-      <intent-filter>  # DIFF-ANCHOR: 38d9d906
-        <action android:name="android.support.customtabs.action.ACTION_MANAGE_TRUSTED_WEB_ACTIVITY_DATA"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 38d9d906
-    </activity>  # DIFF-ANCHOR: 2b0ee4cd
-    <activity  # DIFF-ANCHOR: 9bb1f409
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity"
-        android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter>  # DIFF-ANCHOR: 0d72b7f0
-        <action android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity.ACTIVATE"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 0d72b7f0
-    </activity>  # DIFF-ANCHOR: 9bb1f409
     <activity  # DIFF-ANCHOR: ecd48344
         android:enabled="false"
         android:excludeFromRecents="true"
@@ -582,59 +350,238 @@
         <data android:scheme="file"/>
       </intent-filter>  # DIFF-ANCHOR: 13c9b0a8
     </activity>  # DIFF-ANCHOR: ecd48344
-    <activity-alias  # DIFF-ANCHOR: 7c349c4f
+    <activity  # DIFF-ANCHOR: d706d96e
+        android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
+        android:excludeFromRecents="true"
         android:exported="false"
-        android:name="org.chromium.chrome.browser.webapps.SecureWebAppLauncher"
-        android:targetActivity="org.chromium.chrome.browser.webapps.WebappLauncherActivity">
-      <intent-filter>  # DIFF-ANCHOR: 9fe4b527
-        <action android:name="org.chromium.chrome.browser.webapps.WebappManager.ACTION_START_SECURE_WEBAPP"/>
-        <category android:name="android.intent.category.DEFAULT"/>
-      </intent-filter>  # DIFF-ANCHOR: 9fe4b527
-    </activity-alias>  # DIFF-ANCHOR: 7c349c4f
-    <activity-alias  # DIFF-ANCHOR: 5042984f
+        android:name="org.chromium.chrome.browser.media.PictureInPictureActivity"
+        android:noHistory="true"
+        android:resizeableActivity="true"
+        android:supportsPictureInPicture="true"
+        android:theme="@style/Theme.Chromium.Activity">
+    </activity>  # DIFF-ANCHOR: d706d96e
+    <activity  # DIFF-ANCHOR: 8d26d599
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:hardwareAccelerated="true"
+        android:label="Chrome.CafExpandedControllerActivity"
+        android:launchMode="singleTask"
+        android:name="org.chromium.chrome.browser.media.router.caf.remoting.CafExpandedControllerActivity"
+        android:noHistory="true"
+        android:theme="@style/Theme.Chromium.Activity">
+    </activity>  # DIFF-ANCHOR: 8d26d599
+    <activity  # DIFF-ANCHOR: 9023f153
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
+        android:exported="false"
+        android:hardwareAccelerated="false"
+        android:name="org.chromium.chrome.browser.multiwindow.MultiInstanceChromeTabbedActivity"
+        android:theme="@style/Theme.Chromium.TabbedMode"
+        android:windowSoftInputMode="adjustResize">
+    </activity>  # DIFF-ANCHOR: 9023f153
+    <activity  # DIFF-ANCHOR: bec48e1f
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:enabled="false"
+        android:excludeFromRecents="true"
         android:exported="true"
-        android:name="com.google.android.apps.chrome.Main"
-        android:targetActivity="org.chromium.chrome.browser.ChromeTabbedActivity">
-      <intent-filter>  # DIFF-ANCHOR: a5330430
-        <action android:name="android.intent.action.MAIN"/>
-        <category android:name="android.intent.category.APP_BROWSER"/>
-        <category android:name="android.intent.category.BROWSABLE"/>
+        android:icon="@drawable/sharing_print"
+        android:label="@string/print_share_activity_title"
+        android:name="org.chromium.chrome.browser.printing.PrintShareActivity"
+        android:noHistory="true"
+        android:theme="@android:style/Theme.NoDisplay">
+      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
+        <action android:name="android.intent.action.SEND"/>
         <category android:name="android.intent.category.DEFAULT"/>
-        <category android:name="android.intent.category.LAUNCHER"/>
-      </intent-filter>  # DIFF-ANCHOR: a5330430
+        <data android:mimeType="message/rfc822"/>
+        <data android:mimeType="multipart/related"/>
+        <data android:mimeType="text/plain"/>
+      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
+    </activity>  # DIFF-ANCHOR: bec48e1f
+    <activity  # DIFF-ANCHOR: 7468a722
+        android:clearTaskOnLaunch="true"
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:hardwareAccelerated="false"
+        android:label="Search"
+        android:launchMode="singleTask"
+        android:name="org.chromium.chrome.browser.searchwidget.SearchActivity"
+        android:taskAffinity=""
+        android:theme="@style/Theme.Chromium.SearchActivity"
+        android:windowSoftInputMode="adjustResize">
+    </activity>  # DIFF-ANCHOR: 7468a722
+    <activity  # DIFF-ANCHOR: f1aedff1
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:enabled="false"
+        android:excludeFromRecents="true"
+        android:exported="true"
+        android:icon="@drawable/ic_launcher"
+        android:label="@string/send_tab_to_self_share_activity_title"
+        android:name="org.chromium.chrome.browser.send_tab_to_self.SendTabToSelfShareActivity"
+        android:noHistory="true"
+        android:theme="@android:style/Theme.NoDisplay">
+      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
+        <action android:name="android.intent.action.SEND"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <data android:mimeType="text/plain"/>
+      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
+    </activity>  # DIFF-ANCHOR: f1aedff1
+    <activity  # DIFF-ANCHOR: d32b85df
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:label="@string/settings"
+        android:name="org.chromium.chrome.browser.settings.SettingsActivity"
+        android:theme="@style/Theme.Chromium.Settings">
+    </activity>  # DIFF-ANCHOR: d32b85df
+    <activity  # DIFF-ANCHOR: dc9ccfb7
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:enabled="false"
+        android:excludeFromRecents="true"
+        android:exported="true"
+        android:icon="@drawable/ic_launcher"
+        android:label="@string/qr_code_share_icon_label"
+        android:name="org.chromium.chrome.browser.share.qrcode.QrCodeShareActivity"
+        android:noHistory="true"
+        android:theme="@android:style/Theme.NoDisplay">
+      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
+        <action android:name="android.intent.action.SEND"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <data android:mimeType="text/plain"/>
+      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
+    </activity>  # DIFF-ANCHOR: dc9ccfb7
+    <activity  # DIFF-ANCHOR: 44158f9b
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:enabled="false"
+        android:excludeFromRecents="true"
+        android:exported="true"
+        android:icon="@drawable/ic_devices_48dp"
+        android:label="@string/shared_clipboard_share_activity_title"
+        android:name="org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity"
+        android:noHistory="true"
+        android:theme="@style/Theme.Chromium.Activity.TranslucentNoAnimations">
+      <intent-filter>  # DIFF-ANCHOR: 4ee601b7
+        <action android:name="android.intent.action.SEND"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <data android:mimeType="text/plain"/>
+      </intent-filter>  # DIFF-ANCHOR: 4ee601b7
+    </activity>  # DIFF-ANCHOR: 44158f9b
+    <activity  # DIFF-ANCHOR: f2fee469
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.signin.SigninActivity"
+        android:theme="@style/Theme.Chromium.DialogWhenLarge">
+    </activity>  # DIFF-ANCHOR: f2fee469
+    <activity  # DIFF-ANCHOR: d2967c86
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:exported="false"
+        android:label="@string/storage_management_activity_label"
+        android:name="org.chromium.chrome.browser.site_settings.ManageSpaceActivity"
+        android:theme="@style/Theme.Chromium.Settings.ManageSpace">
+    </activity>  # DIFF-ANCHOR: d2967c86
+    <activity  # DIFF-ANCHOR: 8492e3fd
+        android:autoRemoveFromRecents="true"
+        android:name="org.chromium.chrome.browser.sync.ui.PassphraseActivity"
+        android:theme="@style/Theme.Chromium.Activity">
+    </activity>  # DIFF-ANCHOR: 8492e3fd
+    <activity  # DIFF-ANCHOR: 76b60c10
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.sync.ui.TrustedVaultKeyRetrievalProxyActivity"
+        android:theme="@style/Theme.AppCompat">
+    </activity>  # DIFF-ANCHOR: 76b60c10
+    <activity  # DIFF-ANCHOR: 43bfa5de
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
+        android:excludeFromRecents="true"
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.test_dummy.TestDummyActivity"
+        android:noHistory="true"
+        android:theme="@style/Theme.AppCompat">
+    </activity>  # DIFF-ANCHOR: 43bfa5de
+    <activity  # DIFF-ANCHOR: b007dcaa
+        android:enableVrMode="@string/gvr_vr_mode_component"
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
+        android:noHistory="true"
+        android:theme="@android:style/Theme.NoDisplay">
       <intent-filter>  # DIFF-ANCHOR: dea53031
         <action android:name="org.chromium.chrome.browser.dummy.action"/>
         <category android:name="com.google.intent.category.CARDBOARD"/>
         <category android:name="com.google.intent.category.DAYDREAM"/>
       </intent-filter>  # DIFF-ANCHOR: dea53031
-      <meta-data android:name="android.app.shortcuts" android:resource="@xml/launchershortcuts"/>
-    </activity-alias>  # DIFF-ANCHOR: 5042984f
-    <activity-alias  # DIFF-ANCHOR: dcfe2999
+    </activity>  # DIFF-ANCHOR: b007dcaa
+    <activity  # DIFF-ANCHOR: 5e628a6c
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
+        android:enableVrMode="@string/gvr_vr_mode_component"
+        android:excludeFromRecents="true"
+        android:exported="false"
+        android:launchMode="singleInstance"
+        android:name="org.chromium.chrome.browser.vr.VrFirstRunActivity"
+        android:theme="@style/VrActivityTheme">
+      <intent-filter>  # DIFF-ANCHOR: dea53031
+        <action android:name="org.chromium.chrome.browser.dummy.action"/>
+        <category android:name="com.google.intent.category.CARDBOARD"/>
+        <category android:name="com.google.intent.category.DAYDREAM"/>
+      </intent-filter>  # DIFF-ANCHOR: dea53031
+    </activity>  # DIFF-ANCHOR: 5e628a6c
+    <activity  # DIFF-ANCHOR: 9bb1f409
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity"
+        android:theme="@android:style/Theme.NoDisplay">
+      <intent-filter>  # DIFF-ANCHOR: 0d72b7f0
+        <action android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity.ACTIVATE"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 0d72b7f0
+    </activity>  # DIFF-ANCHOR: 9bb1f409
+    <activity  # DIFF-ANCHOR: f1dc024a
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
+        android:exported="false"
+        android:hardwareAccelerated="false"
         android:label="@string/webapp_activity_title"
-        android:name="com.google.android.apps.chrome.webapps.WebappActivity"
+        android:name="org.chromium.chrome.browser.webapps.SameTaskWebApkActivity"
+        android:persistableMode="persistNever"
         android:resizeableActivity="true"
         android:supportsPictureInPicture="true"
-        android:targetActivity="org.chromium.chrome.browser.webapps.WebappActivity">
-    </activity-alias>  # DIFF-ANCHOR: dcfe2999
-    <activity-alias  # DIFF-ANCHOR: 8e23336d
-        android:name="com.google.android.apps.chrome.webapps.WebappManager"
-        android:targetActivity="org.chromium.chrome.browser.webapps.WebappLauncherActivity">
-    </activity-alias>  # DIFF-ANCHOR: 8e23336d
-    <activity-alias  # DIFF-ANCHOR: b4a6221b
-        android:enabled="false"
+        android:theme="@style/Theme.Chromium.Webapp.Translucent"
+        android:windowSoftInputMode="adjustResize">
+      <intent-filter>  # DIFF-ANCHOR: dea53031
+        <action android:name="org.chromium.chrome.browser.dummy.action"/>
+        <category android:name="com.google.intent.category.CARDBOARD"/>
+        <category android:name="com.google.intent.category.DAYDREAM"/>
+      </intent-filter>  # DIFF-ANCHOR: dea53031
+    </activity>  # DIFF-ANCHOR: f1dc024a
+    <activity  # DIFF-ANCHOR: 5e467d8a
+        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density"
+        android:documentLaunchMode="intoExisting"
+        android:exported="false"
+        android:hardwareAccelerated="false"
+        android:label="@string/webapp_activity_title"
+        android:launchMode="singleTop"
+        android:name="org.chromium.chrome.browser.webapps.WebappActivity"
+        android:persistableMode="persistNever"
+        android:resizeableActivity="true"
+        android:supportsPictureInPicture="true"
+        android:theme="@style/Theme.Chromium.Webapp"
+        android:windowSoftInputMode="adjustResize">
+      <intent-filter>  # DIFF-ANCHOR: dea53031
+        <action android:name="org.chromium.chrome.browser.dummy.action"/>
+        <category android:name="com.google.intent.category.CARDBOARD"/>
+        <category android:name="com.google.intent.category.DAYDREAM"/>
+      </intent-filter>  # DIFF-ANCHOR: dea53031
+    </activity>  # DIFF-ANCHOR: 5e467d8a
+    <activity  # DIFF-ANCHOR: aea75380
         android:excludeFromRecents="true"
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.media.AudioLauncherActivity"
-        android:targetActivity="org.chromium.chrome.browser.media.MediaLauncherActivity"
+        android:name="org.chromium.chrome.browser.webapps.WebappLauncherActivity"
+        android:taskAffinity=""
         android:theme="@android:style/Theme.NoDisplay">
-      <intent-filter tools:ignore="AppLinkUrlError">  # DIFF-ANCHOR: 13c9b0a8
-        <action android:name="android.intent.action.VIEW"/>
+      <intent-filter>  # DIFF-ANCHOR: faf519ad
+        <action android:name="com.google.android.apps.chrome.webapps.WebappManager.ACTION_START_WEBAPP"/>
         <category android:name="android.intent.category.DEFAULT"/>
-        <data android:mimeType="audio/*"/>
-        <data android:scheme="content"/>
-        <data android:scheme="file"/>
-      </intent-filter>  # DIFF-ANCHOR: 13c9b0a8
-    </activity-alias>  # DIFF-ANCHOR: b4a6221b
+      </intent-filter>  # DIFF-ANCHOR: faf519ad
+      <intent-filter>  # DIFF-ANCHOR: 9c5197e9
+        <action android:name="org.webapk.ACTION_START_WEBAPK"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 9c5197e9
+    </activity>  # DIFF-ANCHOR: aea75380
     <activity-alias  # DIFF-ANCHOR: 9da0e5b6
         android:exported="true"
         android:name="com.google.android.apps.chrome.IntentDispatcher"
@@ -763,6 +710,59 @@
       </intent-filter>  # DIFF-ANCHOR: 83919a44
       <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/>
     </activity-alias>  # DIFF-ANCHOR: 9da0e5b6
+    <activity-alias  # DIFF-ANCHOR: 5042984f
+        android:exported="true"
+        android:name="com.google.android.apps.chrome.Main"
+        android:targetActivity="org.chromium.chrome.browser.ChromeTabbedActivity">
+      <intent-filter>  # DIFF-ANCHOR: a5330430
+        <action android:name="android.intent.action.MAIN"/>
+        <category android:name="android.intent.category.APP_BROWSER"/>
+        <category android:name="android.intent.category.BROWSABLE"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <category android:name="android.intent.category.LAUNCHER"/>
+      </intent-filter>  # DIFF-ANCHOR: a5330430
+      <intent-filter>  # DIFF-ANCHOR: dea53031
+        <action android:name="org.chromium.chrome.browser.dummy.action"/>
+        <category android:name="com.google.intent.category.CARDBOARD"/>
+        <category android:name="com.google.intent.category.DAYDREAM"/>
+      </intent-filter>  # DIFF-ANCHOR: dea53031
+      <meta-data android:name="android.app.shortcuts" android:resource="@xml/launchershortcuts"/>
+    </activity-alias>  # DIFF-ANCHOR: 5042984f
+    <activity-alias  # DIFF-ANCHOR: dcfe2999
+        android:label="@string/webapp_activity_title"
+        android:name="com.google.android.apps.chrome.webapps.WebappActivity"
+        android:resizeableActivity="true"
+        android:supportsPictureInPicture="true"
+        android:targetActivity="org.chromium.chrome.browser.webapps.WebappActivity">
+    </activity-alias>  # DIFF-ANCHOR: dcfe2999
+    <activity-alias  # DIFF-ANCHOR: 8e23336d
+        android:name="com.google.android.apps.chrome.webapps.WebappManager"
+        android:targetActivity="org.chromium.chrome.browser.webapps.WebappLauncherActivity">
+    </activity-alias>  # DIFF-ANCHOR: 8e23336d
+    <activity-alias  # DIFF-ANCHOR: b4a6221b
+        android:enabled="false"
+        android:excludeFromRecents="true"
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.media.AudioLauncherActivity"
+        android:targetActivity="org.chromium.chrome.browser.media.MediaLauncherActivity"
+        android:theme="@android:style/Theme.NoDisplay">
+      <intent-filter tools:ignore="AppLinkUrlError">  # DIFF-ANCHOR: 13c9b0a8
+        <action android:name="android.intent.action.VIEW"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+        <data android:mimeType="audio/*"/>
+        <data android:scheme="content"/>
+        <data android:scheme="file"/>
+      </intent-filter>  # DIFF-ANCHOR: 13c9b0a8
+    </activity-alias>  # DIFF-ANCHOR: b4a6221b
+    <activity-alias  # DIFF-ANCHOR: 7c349c4f
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.webapps.SecureWebAppLauncher"
+        android:targetActivity="org.chromium.chrome.browser.webapps.WebappLauncherActivity">
+      <intent-filter>  # DIFF-ANCHOR: 9fe4b527
+        <action android:name="org.chromium.chrome.browser.webapps.WebappManager.ACTION_START_SECURE_WEBAPP"/>
+        <category android:name="android.intent.category.DEFAULT"/>
+      </intent-filter>  # DIFF-ANCHOR: 9fe4b527
+    </activity-alias>  # DIFF-ANCHOR: 7c349c4f
     <meta-data android:name="android.allow_multiple_resumed_activities" android:value="true"/>
     <meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions"/>
     <meta-data android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME" android:value="org.chromium.chrome.browser.media.router.caf.CastOptionsProvider"/>
@@ -776,12 +776,6 @@
     <meta-data android:name="org.chromium.content.browser.REMOTE_MEDIA_PLAYERS" android:value="org.chromium.chrome.browser.media.remote.DefaultMediaRouteController"/>
     <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER" android:value="org.chromium.content_public.browser.SmartClipProvider"/>
     <meta-data android:name="preloaded_fonts" android:resource="@array/preloaded_google_sans_fonts"/>
-    <provider  # DIFF-ANCHOR: 2215b9cd
-        android:authorities="$PACKAGE.ChromeBrowserProvider;$PACKAGE.browser;$PACKAGE"
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.provider.ChromeBrowserProvider">
-      <path-permission android:path="/bookmarks/search_suggest_query" android:readPermission="android.permission.GLOBAL_SEARCH"/>
-    </provider>  # DIFF-ANCHOR: 2215b9cd
     <provider  # DIFF-ANCHOR: 97e158a1
         android:authorities="$PACKAGE.DownloadFileProvider"
         android:exported="false"
@@ -789,6 +783,12 @@
         android:name="org.chromium.chrome.browser.download.DownloadFileProvider">
       <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/>
     </provider>  # DIFF-ANCHOR: 97e158a1
+    <provider  # DIFF-ANCHOR: 2215b9cd
+        android:authorities="$PACKAGE.ChromeBrowserProvider;$PACKAGE.browser;$PACKAGE"
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.provider.ChromeBrowserProvider">
+      <path-permission android:path="/bookmarks/search_suggest_query" android:readPermission="android.permission.GLOBAL_SEARCH"/>
+    </provider>  # DIFF-ANCHOR: 2215b9cd
     <provider  # DIFF-ANCHOR: 6e306896
         android:authorities="$PACKAGE.FileProvider"
         android:exported="false"
@@ -796,10 +796,29 @@
         android:name="org.chromium.chrome.browser.util.ChromeFileProvider">
       <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/>
     </provider>  # DIFF-ANCHOR: 6e306896
+    <receiver  # DIFF-ANCHOR: 7d221226
+        android:label="@string/bookmark_widget_title"
+        android:name="com.google.android.apps.chrome.appwidget.bookmarks.BookmarkThumbnailWidgetProvider">
+      <intent-filter>  # DIFF-ANCHOR: 1ebe78e9
+        <action android:name=".BOOKMARK_APPWIDGET_UPDATE"/>
+        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
+      </intent-filter>  # DIFF-ANCHOR: 1ebe78e9
+      <meta-data android:name="android.appwidget.provider" android:resource="@xml/bookmark_widget_info"/>
+    </receiver>  # DIFF-ANCHOR: 7d221226
     <receiver  # DIFF-ANCHOR: 1091f66b
         android:exported="false"
         android:name="com.google.android.gms.cast.framework.media.MediaIntentReceiver">
     </receiver>  # DIFF-ANCHOR: 1091f66b
+    <receiver  # DIFF-ANCHOR: 0ea504ef
+        android:exported="true"
+        android:name="com.google.android.gms.gcm.GcmReceiver"
+        android:permission="com.google.android.c2dm.permission.SEND">
+      <intent-filter>  # DIFF-ANCHOR: aae22013
+        <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
+        <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
+        <category android:name="$PACKAGE"/>
+      </intent-filter>  # DIFF-ANCHOR: aae22013
+    </receiver>  # DIFF-ANCHOR: 0ea504ef
     <receiver  # DIFF-ANCHOR: 9ef4cd0a
         android:exported="false"
         android:name="org.chromium.chrome.browser.announcement.AnnouncementNotificationManager$Receiver">
@@ -812,6 +831,15 @@
         android:exported="false"
         android:name="org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetProxy">
     </receiver>  # DIFF-ANCHOR: b93ab7db
+    <receiver  # DIFF-ANCHOR: 3e596004
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.browserservices.ClientAppBroadcastReceiver">
+      <intent-filter>  # DIFF-ANCHOR: e5bb6a36
+        <action android:name="android.intent.action.PACKAGE_DATA_CLEARED"/>
+        <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
+        <data android:scheme="package"/>
+      </intent-filter>  # DIFF-ANCHOR: e5bb6a36
+    </receiver>  # DIFF-ANCHOR: 3e596004
     <receiver  # DIFF-ANCHOR: 3a086f97
         android:exported="false"
         android:name="org.chromium.chrome.browser.browserservices.trustedwebactivityui.DisclosureAcceptanceBroadcastReceiver">
@@ -859,6 +887,35 @@
         android:exported="false"
         android:name="org.chromium.chrome.browser.omaha.UpdateNotificationController$UpdateNotificationReceiver">
     </receiver>  # DIFF-ANCHOR: 40a69297
+    <receiver  # DIFF-ANCHOR: 3664f7eb
+        android:label="@string/search_widget_title"
+        android:name="org.chromium.chrome.browser.searchwidget.SearchWidgetProvider">
+      <intent-filter>  # DIFF-ANCHOR: 4ed161a4
+        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
+      </intent-filter>  # DIFF-ANCHOR: 4ed161a4
+      <intent-filter>  # DIFF-ANCHOR: 92485a5d
+        <action android:name="org.chromium.chrome.browser.searchwidget.START_TEXT_QUERY"/>
+      </intent-filter>  # DIFF-ANCHOR: 92485a5d
+      <intent-filter>  # DIFF-ANCHOR: 444cf2a4
+        <action android:name="org.chromium.chrome.browser.searchwidget.START_VOICE_QUERY"/>
+      </intent-filter>  # DIFF-ANCHOR: 444cf2a4
+      <intent-filter>  # DIFF-ANCHOR: fc048873
+        <action android:name="org.chromium.chrome.browser.searchwidget.UPDATE_ALL_WIDGETS"/>
+      </intent-filter>  # DIFF-ANCHOR: fc048873
+      <meta-data android:name="android.appwidget.provider" android:resource="@xml/search_widget_info"/>
+    </receiver>  # DIFF-ANCHOR: 3664f7eb
+    <receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver">  # DIFF-ANCHOR: 4de2a279
+      <intent-filter>  # DIFF-ANCHOR: 6a188b57
+        <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED"/>
+      </intent-filter>  # DIFF-ANCHOR: 6a188b57
+    </receiver>  # DIFF-ANCHOR: 4de2a279
+    <receiver  # DIFF-ANCHOR: 93e73992
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.sharing.click_to_call.ClickToCallMessageHandler$PhoneUnlockedReceiver">
+      <intent-filter>  # DIFF-ANCHOR: 4b5ec7a9
+        <action android:name="android.intent.action.USER_PRESENT"/>
+      </intent-filter>  # DIFF-ANCHOR: 4b5ec7a9
+    </receiver>  # DIFF-ANCHOR: 93e73992
     <receiver  # DIFF-ANCHOR: 956432e8
         android:exported="false"
         android:name="org.chromium.chrome.browser.sharing.click_to_call.ClickToCallMessageHandler$TapReceiver">
@@ -882,63 +939,115 @@
         android:exported="false"
         android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskBroadcastReceiver">
     </receiver>  # DIFF-ANCHOR: 3e5f56cb
-    <receiver  # DIFF-ANCHOR: 0ea504ef
+    <service android:name="androidx.browser.customtabs.PostMessageService"/>
+    <service  # DIFF-ANCHOR: 41539e3c
+        android:exported="false"
+        android:name="com.google.android.gms.cast.framework.ReconnectionService">
+    </service>  # DIFF-ANCHOR: 41539e3c
+    <service  # DIFF-ANCHOR: 7dad1ec5
+        android:exported="false"
+        android:name="com.google.android.gms.cast.framework.media.MediaNotificationService">
+    </service>  # DIFF-ANCHOR: 7dad1ec5
+    <service  # DIFF-ANCHOR: 4c2196d9
         android:exported="true"
-        android:name="com.google.android.gms.gcm.GcmReceiver"
-        android:permission="com.google.android.c2dm.permission.SEND">
-      <intent-filter>  # DIFF-ANCHOR: aae22013
-        <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
-        <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
-        <category android:name="$PACKAGE"/>
-      </intent-filter>  # DIFF-ANCHOR: aae22013
-    </receiver>  # DIFF-ANCHOR: 0ea504ef
-    <receiver  # DIFF-ANCHOR: 3e596004
+        android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService"
+        android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
+      <intent-filter>  # DIFF-ANCHOR: 99686c45
+        <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
+      </intent-filter>  # DIFF-ANCHOR: 99686c45
+    </service>  # DIFF-ANCHOR: 4c2196d9
+    <service  # DIFF-ANCHOR: c34d99ad
         android:exported="true"
-        android:name="org.chromium.chrome.browser.browserservices.ClientAppBroadcastReceiver">
-      <intent-filter>  # DIFF-ANCHOR: e5bb6a36
-        <action android:name="android.intent.action.PACKAGE_DATA_CLEARED"/>
-        <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
-        <data android:scheme="package"/>
-      </intent-filter>  # DIFF-ANCHOR: e5bb6a36
-    </receiver>  # DIFF-ANCHOR: 3e596004
-    <receiver  # DIFF-ANCHOR: 93e73992
+        android:name="org.chromium.chrome.browser.ChromeBackgroundService"
+        android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
+      <intent-filter>  # DIFF-ANCHOR: 99686c45
+        <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
+      </intent-filter>  # DIFF-ANCHOR: 99686c45
+    </service>  # DIFF-ANCHOR: c34d99ad
+    <service  # DIFF-ANCHOR: ac44dbad
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetService"
+        android:permission="android.permission.BIND_REMOTEVIEWS">
+    </service>  # DIFF-ANCHOR: ac44dbad
+    <service  # DIFF-ANCHOR: 90d2ec9b
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.crash.ChromeMinidumpUploadJobService"
+        android:permission="android.permission.BIND_JOB_SERVICE">
+    </service>  # DIFF-ANCHOR: 90d2ec9b
+    <service  # DIFF-ANCHOR: 2ce0b6a4
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.crash.MinidumpUploadService">
+    </service>  # DIFF-ANCHOR: 2ce0b6a4
+    <service  # DIFF-ANCHOR: ee1c39a8
         android:exported="true"
-        android:name="org.chromium.chrome.browser.sharing.click_to_call.ClickToCallMessageHandler$PhoneUnlockedReceiver">
-      <intent-filter>  # DIFF-ANCHOR: 4b5ec7a9
-        <action android:name="android.intent.action.USER_PRESENT"/>
-      </intent-filter>  # DIFF-ANCHOR: 4b5ec7a9
-    </receiver>  # DIFF-ANCHOR: 93e73992
-    <receiver  # DIFF-ANCHOR: 7d221226
-        android:label="@string/bookmark_widget_title"
-        android:name="com.google.android.apps.chrome.appwidget.bookmarks.BookmarkThumbnailWidgetProvider">
-      <intent-filter>  # DIFF-ANCHOR: 1ebe78e9
-        <action android:name=".BOOKMARK_APPWIDGET_UPDATE"/>
-        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
-      </intent-filter>  # DIFF-ANCHOR: 1ebe78e9
-      <meta-data android:name="android.appwidget.provider" android:resource="@xml/bookmark_widget_info"/>
-    </receiver>  # DIFF-ANCHOR: 7d221226
-    <receiver  # DIFF-ANCHOR: 3664f7eb
-        android:label="@string/search_widget_title"
-        android:name="org.chromium.chrome.browser.searchwidget.SearchWidgetProvider">
-      <intent-filter>  # DIFF-ANCHOR: 4ed161a4
-        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
-      </intent-filter>  # DIFF-ANCHOR: 4ed161a4
-      <intent-filter>  # DIFF-ANCHOR: 92485a5d
-        <action android:name="org.chromium.chrome.browser.searchwidget.START_TEXT_QUERY"/>
-      </intent-filter>  # DIFF-ANCHOR: 92485a5d
-      <intent-filter>  # DIFF-ANCHOR: 444cf2a4
-        <action android:name="org.chromium.chrome.browser.searchwidget.START_VOICE_QUERY"/>
-      </intent-filter>  # DIFF-ANCHOR: 444cf2a4
-      <intent-filter>  # DIFF-ANCHOR: fc048873
-        <action android:name="org.chromium.chrome.browser.searchwidget.UPDATE_ALL_WIDGETS"/>
-      </intent-filter>  # DIFF-ANCHOR: fc048873
-      <meta-data android:name="android.appwidget.provider" android:resource="@xml/search_widget_info"/>
-    </receiver>  # DIFF-ANCHOR: 3664f7eb
-    <receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver">  # DIFF-ANCHOR: 4de2a279
-      <intent-filter>  # DIFF-ANCHOR: 6a188b57
-        <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED"/>
-      </intent-filter>  # DIFF-ANCHOR: 6a188b57
-    </receiver>  # DIFF-ANCHOR: 4de2a279
+        android:name="org.chromium.chrome.browser.customtabs.CustomTabsConnectionService"
+        tools:ignore="ExportedService">
+      <intent-filter>  # DIFF-ANCHOR: d46bf795
+        <action android:name="android.support.customtabs.action.CustomTabsService"/>
+        <category android:name="androidx.browser.customtabs.category.ColorSchemeCustomization"/>
+        <category android:name="androidx.browser.customtabs.category.NavBarColorCustomization"/>
+        <category android:name="androidx.browser.trusted.category.ImmersiveMode"/>
+        <category android:name="androidx.browser.trusted.category.LaunchSiteSettings"/>
+        <category android:name="androidx.browser.trusted.category.TrustedWebActivities"/>
+        <category android:name="androidx.browser.trusted.category.TrustedWebActivitySplashScreensV1"/>
+        <category android:name="androidx.browser.trusted.category.WebShareTargetV2"/>
+      </intent-filter>  # DIFF-ANCHOR: d46bf795
+    </service>  # DIFF-ANCHOR: ee1c39a8
+    <service  # DIFF-ANCHOR: 555432db
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.download.DownloadBroadcastManager">
+    </service>  # DIFF-ANCHOR: 555432db
+    <service  # DIFF-ANCHOR: 4cf14268
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.download.DownloadForegroundService">
+    </service>  # DIFF-ANCHOR: 4cf14268
+    <service  # DIFF-ANCHOR: a651602a
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.incognito.IncognitoNotificationService">
+    </service>  # DIFF-ANCHOR: a651602a
+    <service  # DIFF-ANCHOR: bd027029
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.invalidation.ChromeBrowserSyncAdapterService">
+      <intent-filter>  # DIFF-ANCHOR: 3e31084a
+        <action android:name="android.content.SyncAdapter"/>
+      </intent-filter>  # DIFF-ANCHOR: 3e31084a
+      <meta-data android:name="android.content.SyncAdapter" android:resource="@xml/syncadapter"/>
+    </service>  # DIFF-ANCHOR: bd027029
+    <service  # DIFF-ANCHOR: 4f8e62ea
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.media.MediaCaptureNotificationService">
+    </service>  # DIFF-ANCHOR: 4f8e62ea
+    <service  # DIFF-ANCHOR: 63d24cf5
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerDelegate$CastListenerService">
+      <intent-filter>  # DIFF-ANCHOR: f401157d
+        <action android:name="android.intent.action.MEDIA_BUTTON"/>
+      </intent-filter>  # DIFF-ANCHOR: f401157d
+    </service>  # DIFF-ANCHOR: 63d24cf5
+    <service  # DIFF-ANCHOR: a4f153af
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerDelegate$PlaybackListenerService">
+      <intent-filter>  # DIFF-ANCHOR: f401157d
+        <action android:name="android.intent.action.MEDIA_BUTTON"/>
+      </intent-filter>  # DIFF-ANCHOR: f401157d
+    </service>  # DIFF-ANCHOR: a4f153af
+    <service  # DIFF-ANCHOR: 365e9d83
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerDelegate$PresentationListenerService">
+      <intent-filter>  # DIFF-ANCHOR: f401157d
+        <action android:name="android.intent.action.MEDIA_BUTTON"/>
+      </intent-filter>  # DIFF-ANCHOR: f401157d
+    </service>  # DIFF-ANCHOR: 365e9d83
+    <service  # DIFF-ANCHOR: 4b2220c4
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.notifications.NotificationJobService"
+        android:permission="android.permission.BIND_JOB_SERVICE">
+    </service>  # DIFF-ANCHOR: 4b2220c4
+    <service  # DIFF-ANCHOR: 3224d309
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.notifications.NotificationService">
+    </service>  # DIFF-ANCHOR: 3224d309
+    <service android:exported="false" android:name="org.chromium.chrome.browser.omaha.OmahaClient"/>
     <service  # DIFF-ANCHOR: 53256720
         android:description="@string/decoder_description"
         android:exported="false"
@@ -946,6 +1055,82 @@
         android:name="org.chromium.chrome.browser.photo_picker.DecoderService"
         android:process=":decoder_service">
     </service>  # DIFF-ANCHOR: 53256720
+    <service  # DIFF-ANCHOR: 064aae37
+        android:exported="true"
+        android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
+        tools:ignore="ExportedService">
+    </service>  # DIFF-ANCHOR: 064aae37
+    <service  # DIFF-ANCHOR: d930289b
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.services.gcm.ChromeGcmListenerService">
+      <intent-filter>  # DIFF-ANCHOR: aae22013
+        <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
+      </intent-filter>  # DIFF-ANCHOR: aae22013
+    </service>  # DIFF-ANCHOR: d930289b
+    <service  # DIFF-ANCHOR: 682abdc1
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.services.gcm.GCMBackgroundService">
+    </service>  # DIFF-ANCHOR: 682abdc1
+    <service  # DIFF-ANCHOR: dfb5da84
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender">
+    </service>  # DIFF-ANCHOR: dfb5da84
+    <service  # DIFF-ANCHOR: 80f6a8e5
+        android:exported="false"
+        android:name="org.chromium.chrome.browser.tracing.TracingNotificationService">
+    </service>  # DIFF-ANCHOR: 80f6a8e5
+    <service  # DIFF-ANCHOR: 8fc286d0
+        android:exported="true"
+        android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskGcmTaskService"
+        android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
+      <intent-filter>  # DIFF-ANCHOR: 99686c45
+        <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
+      </intent-filter>  # DIFF-ANCHOR: 99686c45
+    </service>  # DIFF-ANCHOR: 8fc286d0
+    <service  # DIFF-ANCHOR: a550decc
+        android:exported="false"
+        android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskJobService"
+        android:permission="android.permission.BIND_JOB_SERVICE">
+    </service>  # DIFF-ANCHOR: a550decc
+    <service  # DIFF-ANCHOR: 2ce68981
+        android:exported="true"
+        android:name="org.chromium.components.payments.PaymentDetailsUpdateService">
+    </service>  # DIFF-ANCHOR: 2ce68981
+    <service  # DIFF-ANCHOR: 0c6c4fd9
+        android:exported="false"
+        android:isolatedProcess="false"
+        android:name="org.chromium.content.app.PrivilegedProcessService0"
+        android:permission="$PACKAGE.permission.CHILD_SERVICE"
+        android:process=":privileged_process0">
+    </service>  # DIFF-ANCHOR: 0c6c4fd9
+    <service  # DIFF-ANCHOR: 6f89af32
+        android:exported="false"
+        android:isolatedProcess="false"
+        android:name="org.chromium.content.app.PrivilegedProcessService1"
+        android:permission="$PACKAGE.permission.CHILD_SERVICE"
+        android:process=":privileged_process1">
+    </service>  # DIFF-ANCHOR: 6f89af32
+    <service  # DIFF-ANCHOR: 40e0d738
+        android:exported="false"
+        android:isolatedProcess="false"
+        android:name="org.chromium.content.app.PrivilegedProcessService2"
+        android:permission="$PACKAGE.permission.CHILD_SERVICE"
+        android:process=":privileged_process2">
+    </service>  # DIFF-ANCHOR: 40e0d738
+    <service  # DIFF-ANCHOR: b197517d
+        android:exported="false"
+        android:isolatedProcess="false"
+        android:name="org.chromium.content.app.PrivilegedProcessService3"
+        android:permission="$PACKAGE.permission.CHILD_SERVICE"
+        android:process=":privileged_process3">
+    </service>  # DIFF-ANCHOR: b197517d
+    <service  # DIFF-ANCHOR: 52303702
+        android:exported="false"
+        android:isolatedProcess="false"
+        android:name="org.chromium.content.app.PrivilegedProcessService4"
+        android:permission="$PACKAGE.permission.CHILD_SERVICE"
+        android:process=":privileged_process4">
+    </service>  # DIFF-ANCHOR: 52303702
     <service  # DIFF-ANCHOR: b1e3e8bd
         android:exported="False"
         android:isolatedProcess="true"
@@ -1227,191 +1412,6 @@
         android:permission="$PACKAGE.permission.CHILD_SERVICE"
         android:process=":sandboxed_process9">
     </service>  # DIFF-ANCHOR: e2f3bbbd
-    <service  # DIFF-ANCHOR: 0c6c4fd9
-        android:exported="false"
-        android:isolatedProcess="false"
-        android:name="org.chromium.content.app.PrivilegedProcessService0"
-        android:permission="$PACKAGE.permission.CHILD_SERVICE"
-        android:process=":privileged_process0">
-    </service>  # DIFF-ANCHOR: 0c6c4fd9
-    <service  # DIFF-ANCHOR: 6f89af32
-        android:exported="false"
-        android:isolatedProcess="false"
-        android:name="org.chromium.content.app.PrivilegedProcessService1"
-        android:permission="$PACKAGE.permission.CHILD_SERVICE"
-        android:process=":privileged_process1">
-    </service>  # DIFF-ANCHOR: 6f89af32
-    <service  # DIFF-ANCHOR: 40e0d738
-        android:exported="false"
-        android:isolatedProcess="false"
-        android:name="org.chromium.content.app.PrivilegedProcessService2"
-        android:permission="$PACKAGE.permission.CHILD_SERVICE"
-        android:process=":privileged_process2">
-    </service>  # DIFF-ANCHOR: 40e0d738
-    <service  # DIFF-ANCHOR: b197517d
-        android:exported="false"
-        android:isolatedProcess="false"
-        android:name="org.chromium.content.app.PrivilegedProcessService3"
-        android:permission="$PACKAGE.permission.CHILD_SERVICE"
-        android:process=":privileged_process3">
-    </service>  # DIFF-ANCHOR: b197517d
-    <service  # DIFF-ANCHOR: 52303702
-        android:exported="false"
-        android:isolatedProcess="false"
-        android:name="org.chromium.content.app.PrivilegedProcessService4"
-        android:permission="$PACKAGE.permission.CHILD_SERVICE"
-        android:process=":privileged_process4">
-    </service>  # DIFF-ANCHOR: 52303702
-    <service  # DIFF-ANCHOR: 41539e3c
-        android:exported="false"
-        android:name="com.google.android.gms.cast.framework.ReconnectionService">
-    </service>  # DIFF-ANCHOR: 41539e3c
-    <service  # DIFF-ANCHOR: 7dad1ec5
-        android:exported="false"
-        android:name="com.google.android.gms.cast.framework.media.MediaNotificationService">
-    </service>  # DIFF-ANCHOR: 7dad1ec5
-    <service  # DIFF-ANCHOR: ac44dbad
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetService"
-        android:permission="android.permission.BIND_REMOTEVIEWS">
-    </service>  # DIFF-ANCHOR: ac44dbad
-    <service  # DIFF-ANCHOR: 90d2ec9b
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.crash.ChromeMinidumpUploadJobService"
-        android:permission="android.permission.BIND_JOB_SERVICE">
-    </service>  # DIFF-ANCHOR: 90d2ec9b
-    <service  # DIFF-ANCHOR: 2ce0b6a4
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.crash.MinidumpUploadService">
-    </service>  # DIFF-ANCHOR: 2ce0b6a4
-    <service  # DIFF-ANCHOR: 555432db
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.download.DownloadBroadcastManager">
-    </service>  # DIFF-ANCHOR: 555432db
-    <service  # DIFF-ANCHOR: 4cf14268
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.download.DownloadForegroundService">
-    </service>  # DIFF-ANCHOR: 4cf14268
-    <service  # DIFF-ANCHOR: a651602a
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.incognito.IncognitoNotificationService">
-    </service>  # DIFF-ANCHOR: a651602a
-    <service  # DIFF-ANCHOR: bd027029
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.invalidation.ChromeBrowserSyncAdapterService">
-      <intent-filter>  # DIFF-ANCHOR: 3e31084a
-        <action android:name="android.content.SyncAdapter"/>
-      </intent-filter>  # DIFF-ANCHOR: 3e31084a
-      <meta-data android:name="android.content.SyncAdapter" android:resource="@xml/syncadapter"/>
-    </service>  # DIFF-ANCHOR: bd027029
-    <service  # DIFF-ANCHOR: 4f8e62ea
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.media.MediaCaptureNotificationService">
-    </service>  # DIFF-ANCHOR: 4f8e62ea
-    <service  # DIFF-ANCHOR: 63d24cf5
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerDelegate$CastListenerService">
-      <intent-filter>  # DIFF-ANCHOR: f401157d
-        <action android:name="android.intent.action.MEDIA_BUTTON"/>
-      </intent-filter>  # DIFF-ANCHOR: f401157d
-    </service>  # DIFF-ANCHOR: 63d24cf5
-    <service  # DIFF-ANCHOR: a4f153af
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerDelegate$PlaybackListenerService">
-      <intent-filter>  # DIFF-ANCHOR: f401157d
-        <action android:name="android.intent.action.MEDIA_BUTTON"/>
-      </intent-filter>  # DIFF-ANCHOR: f401157d
-    </service>  # DIFF-ANCHOR: a4f153af
-    <service  # DIFF-ANCHOR: 365e9d83
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerDelegate$PresentationListenerService">
-      <intent-filter>  # DIFF-ANCHOR: f401157d
-        <action android:name="android.intent.action.MEDIA_BUTTON"/>
-      </intent-filter>  # DIFF-ANCHOR: f401157d
-    </service>  # DIFF-ANCHOR: 365e9d83
-    <service  # DIFF-ANCHOR: 4b2220c4
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.notifications.NotificationJobService"
-        android:permission="android.permission.BIND_JOB_SERVICE">
-    </service>  # DIFF-ANCHOR: 4b2220c4
-    <service  # DIFF-ANCHOR: 3224d309
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.notifications.NotificationService">
-    </service>  # DIFF-ANCHOR: 3224d309
-    <service android:exported="false" android:name="org.chromium.chrome.browser.omaha.OmahaClient"/>
-    <service  # DIFF-ANCHOR: d930289b
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.services.gcm.ChromeGcmListenerService">
-      <intent-filter>  # DIFF-ANCHOR: aae22013
-        <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
-      </intent-filter>  # DIFF-ANCHOR: aae22013
-    </service>  # DIFF-ANCHOR: d930289b
-    <service  # DIFF-ANCHOR: 682abdc1
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.services.gcm.GCMBackgroundService">
-    </service>  # DIFF-ANCHOR: 682abdc1
-    <service  # DIFF-ANCHOR: dfb5da84
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender">
-    </service>  # DIFF-ANCHOR: dfb5da84
-    <service  # DIFF-ANCHOR: 80f6a8e5
-        android:exported="false"
-        android:name="org.chromium.chrome.browser.tracing.TracingNotificationService">
-    </service>  # DIFF-ANCHOR: 80f6a8e5
-    <service  # DIFF-ANCHOR: a550decc
-        android:exported="false"
-        android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskJobService"
-        android:permission="android.permission.BIND_JOB_SERVICE">
-    </service>  # DIFF-ANCHOR: a550decc
-    <service  # DIFF-ANCHOR: 4c2196d9
-        android:exported="true"
-        android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService"
-        android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
-      <intent-filter>  # DIFF-ANCHOR: 99686c45
-        <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
-      </intent-filter>  # DIFF-ANCHOR: 99686c45
-    </service>  # DIFF-ANCHOR: 4c2196d9
-    <service  # DIFF-ANCHOR: c34d99ad
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.ChromeBackgroundService"
-        android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
-      <intent-filter>  # DIFF-ANCHOR: 99686c45
-        <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
-      </intent-filter>  # DIFF-ANCHOR: 99686c45
-    </service>  # DIFF-ANCHOR: c34d99ad
-    <service  # DIFF-ANCHOR: 8fc286d0
-        android:exported="true"
-        android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskGcmTaskService"
-        android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
-      <intent-filter>  # DIFF-ANCHOR: 99686c45
-        <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
-      </intent-filter>  # DIFF-ANCHOR: 99686c45
-    </service>  # DIFF-ANCHOR: 8fc286d0
-    <service  # DIFF-ANCHOR: 2ce68981
-        android:exported="true"
-        android:name="org.chromium.components.payments.PaymentDetailsUpdateService">
-    </service>  # DIFF-ANCHOR: 2ce68981
-    <service android:name="androidx.browser.customtabs.PostMessageService"/>
-    <service  # DIFF-ANCHOR: ee1c39a8
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.customtabs.CustomTabsConnectionService"
-        tools:ignore="ExportedService">
-      <intent-filter>  # DIFF-ANCHOR: d46bf795
-        <action android:name="android.support.customtabs.action.CustomTabsService"/>
-        <category android:name="androidx.browser.customtabs.category.ColorSchemeCustomization"/>
-        <category android:name="androidx.browser.customtabs.category.NavBarColorCustomization"/>
-        <category android:name="androidx.browser.trusted.category.ImmersiveMode"/>
-        <category android:name="androidx.browser.trusted.category.LaunchSiteSettings"/>
-        <category android:name="androidx.browser.trusted.category.TrustedWebActivities"/>
-        <category android:name="androidx.browser.trusted.category.TrustedWebActivitySplashScreensV1"/>
-        <category android:name="androidx.browser.trusted.category.WebShareTargetV2"/>
-      </intent-filter>  # DIFF-ANCHOR: d46bf795
-    </service>  # DIFF-ANCHOR: ee1c39a8
-    <service  # DIFF-ANCHOR: 064aae37
-        android:exported="true"
-        android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
-        tools:ignore="ExportedService">
-    </service>  # DIFF-ANCHOR: 064aae37
     <uses-static-library android:certDigest="32a2fc74d731105859e5a85df16d95f102d85b22099b8064c5d8915c61dad1e0" android:name="org.chromium.trichromelibrary" android:version="$VERSION_NUMBER"/>
   </application>
 </manifest>
diff --git a/chrome/android/expectations/trichrome_library_apk.AndroidManifest.expected b/chrome/android/expectations/trichrome_library_apk.AndroidManifest.expected
index 87ae8ae..9b63b1d 100644
--- a/chrome/android/expectations/trichrome_library_apk.AndroidManifest.expected
+++ b/chrome/android/expectations/trichrome_library_apk.AndroidManifest.expected
@@ -6,10 +6,10 @@
     tools:ignore="MissingVersion,MissingLeanbackLauncher"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
-  <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="30"/>
-  <uses-feature android:name="android.software.leanback" android:required="false"/>
   <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
+  <uses-feature android:name="android.software.leanback" android:required="false"/>
   <uses-feature android:glEsVersion="0x00020000"/>
+  <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="30"/>
   <application
       android:extractNativeLibs="false"
       android:icon="@drawable/icon_webview"
diff --git a/chrome/android/features/autofill_assistant/BUILD.gn b/chrome/android/features/autofill_assistant/BUILD.gn
index f8c4270..6b17f3c 100644
--- a/chrome/android/features/autofill_assistant/BUILD.gn
+++ b/chrome/android/features/autofill_assistant/BUILD.gn
@@ -41,6 +41,7 @@
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/settings:java",
     "//chrome/browser/tab:java",
+    "//chrome/browser/ui/android/favicon:java",
     "//chrome/browser/ui/messages/android:java",
     "//chrome/browser/util:java",
     "//components/autofill/android:autofill_java",
@@ -69,6 +70,7 @@
     "//third_party/android_deps:material_design_java",
     "//third_party/blink/public/mojom:android_mojo_bindings_java",
     "//ui/android:ui_java",
+    "//url:gurl_java",
   ]
 
   if (enable_chrome_android_internal) {
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantLiteScriptCoordinator.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantLiteScriptCoordinator.java
index c2ef613a..f0fd02cc 100644
--- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantLiteScriptCoordinator.java
+++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantLiteScriptCoordinator.java
@@ -9,10 +9,12 @@
 import androidx.annotation.NonNull;
 
 import org.chromium.base.Callback;
+import org.chromium.base.task.PostTask;
 import org.chromium.chrome.browser.autofill_assistant.metrics.LiteScriptFinishedState;
 import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
 import org.chromium.chrome.browser.compositor.CompositorViewHolder;
 import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
+import org.chromium.content_public.browser.UiThreadTaskTraits;
 import org.chromium.content_public.browser.WebContents;
 
 import java.util.HashMap;
@@ -44,7 +46,9 @@
                 : returningUserScriptPath;
         AutofillAssistantLiteService liteService =
                 new AutofillAssistantLiteService(mWebContents, usedScriptPath,
-                        finishedState -> handleLiteScriptResult(finishedState, onFinishedCallback));
+                        finishedState
+                        -> handleLiteScriptResult(finishedState, onFinishedCallback,
+                                firstTimeUserScriptPath, returningUserScriptPath));
         AutofillAssistantServiceInjector.setServiceToInject(liteService);
         Map<String, String> parameters = new HashMap<>();
         parameters.put(PARAMETER_TRIGGER_SCRIPT_USED, usedScriptPath);
@@ -55,39 +59,42 @@
         AutofillAssistantServiceInjector.setServiceToInject(null);
     }
 
-    private void handleLiteScriptResult(
-            @LiteScriptFinishedState int finishedState, Callback<Boolean> onFinishedCallback) {
+    private void handleLiteScriptResult(@LiteScriptFinishedState int finishedState,
+            Callback<Boolean> onFinishedCallback, String firstTimeUserScriptPath,
+            String returningUserScriptPath) {
         AutofillAssistantMetrics.recordLiteScriptFinished(mWebContents, finishedState);
 
-        // TODO(arbesser) restart lite script on LITE_SCRIPT_BROWSE_FAILED_NAVIGATE.
         switch (finishedState) {
-            case LiteScriptFinishedState.LITE_SCRIPT_UNKNOWN_FAILURE:
-            case LiteScriptFinishedState.LITE_SCRIPT_SERVICE_DELETED:
-            case LiteScriptFinishedState.LITE_SCRIPT_PATH_MISMATCH:
-            case LiteScriptFinishedState.LITE_SCRIPT_GET_ACTIONS_FAILED:
-            case LiteScriptFinishedState.LITE_SCRIPT_GET_ACTIONS_PARSE_ERROR:
-            case LiteScriptFinishedState.LITE_SCRIPT_UNSAFE_ACTIONS:
-            case LiteScriptFinishedState.LITE_SCRIPT_INVALID_SCRIPT:
-            case LiteScriptFinishedState.LITE_SCRIPT_BROWSE_FAILED_NAVIGATE:
-            case LiteScriptFinishedState.LITE_SCRIPT_BROWSE_FAILED_OTHER:
-                onFinishedCallback.onResult(false);
-                return;
-            case LiteScriptFinishedState.LITE_SCRIPT_PROMPT_FAILED_NAVIGATE:
-            case LiteScriptFinishedState.LITE_SCRIPT_PROMPT_FAILED_CONDITION_NO_LONGER_TRUE:
             case LiteScriptFinishedState.LITE_SCRIPT_PROMPT_FAILED_CLOSE:
                 AutofillAssistantPreferencesUtil
                         .incrementAutofillAssistantNumberOfLiteScriptsCanceled();
-                // fall through
+            // fall through
+            case LiteScriptFinishedState.LITE_SCRIPT_PROMPT_FAILED_NAVIGATE:
+            case LiteScriptFinishedState.LITE_SCRIPT_PROMPT_FAILED_CONDITION_NO_LONGER_TRUE:
             case LiteScriptFinishedState.LITE_SCRIPT_PROMPT_FAILED_OTHER:
+            case LiteScriptFinishedState.LITE_SCRIPT_PROMPT_SUCCEEDED:
                 // The prompt was displayed on screen, hence we mark them as returning user from now
                 // on.
                 AutofillAssistantPreferencesUtil.setAutofillAssistantReturningLiteScriptUser();
-                onFinishedCallback.onResult(false);
-                return;
-            case LiteScriptFinishedState.LITE_SCRIPT_PROMPT_SUCCEEDED:
-                onFinishedCallback.onResult(true);
+                break;
+        }
 
-                return;
+        if (finishedState == LiteScriptFinishedState.LITE_SCRIPT_PROMPT_SUCCEEDED) {
+            onFinishedCallback.onResult(true);
+        } else if (finishedState
+                == LiteScriptFinishedState.LITE_SCRIPT_PROMPT_FAILED_CONDITION_NO_LONGER_TRUE) {
+            // User stayed on domain without making an explicit choice. This will resurface the
+            // prompt the next time they visit the trigger page (or silently go away if they
+            // navigate away from target domain).
+            //
+            // Note: this needs to be done asynchronously, to give the old controller enough time
+            // to shut down and detach from the UI.
+            PostTask.postTask(UiThreadTaskTraits.DEFAULT,
+                    ()
+                            -> startLiteScript(firstTimeUserScriptPath, returningUserScriptPath,
+                                    onFinishedCallback));
+        } else {
+            onFinishedCallback.onResult(false);
         }
     }
-}
+}
\ No newline at end of file
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsModel.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsModel.java
index 9b40ca6..13655f0e 100644
--- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsModel.java
+++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsModel.java
@@ -17,7 +17,7 @@
 public class AssistantDetailsModel extends PropertyModel {
     // TODO(crbug.com/806868): We might want to split this property into multiple, simpler
     // properties.
-    @VisibleForTesting
+    @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
     public static final WritableObjectPropertyKey<AssistantDetails> DETAILS =
             new WritableObjectPropertyKey<>();
 
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/generic_ui/AssistantDrawable.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/generic_ui/AssistantDrawable.java
index 166753f1..7a87ce06 100644
--- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/generic_ui/AssistantDrawable.java
+++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/generic_ui/AssistantDrawable.java
@@ -15,6 +15,7 @@
 import androidx.annotation.Nullable;
 import androidx.appcompat.content.res.AppCompatResources;
 
+import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.Callback;
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.JNINamespace;
@@ -24,6 +25,10 @@
 import org.chromium.chrome.browser.image_fetcher.ImageFetcher;
 import org.chromium.chrome.browser.image_fetcher.ImageFetcherConfig;
 import org.chromium.chrome.browser.image_fetcher.ImageFetcherFactory;
+import org.chromium.chrome.browser.ui.favicon.FaviconUtils;
+import org.chromium.chrome.browser.ui.favicon.LargeIconBridge;
+import org.chromium.components.browser_ui.widget.RoundedIconGenerator;
+import org.chromium.url.GURL;
 
 /** Represents a view background. */
 @JNINamespace("autofill_assistant")
@@ -73,6 +78,12 @@
         return new AssistantBase64Drawable(base64);
     }
 
+    @CalledByNative
+    public static AssistantDrawable createFromFavicon(
+            String url, int diameterSizeInPixel, boolean forceMonogram) {
+        return new AssistantFaviconDrawable(url, diameterSizeInPixel, forceMonogram);
+    }
+
     private static class AssistantRectangleDrawable extends AssistantDrawable {
         private final @Nullable @ColorInt Integer mBackgroundColor;
         private final @Nullable @ColorInt Integer mStrokeColor;
@@ -218,4 +229,37 @@
             callback.onResult(new BitmapDrawable(context.getResources(), icon));
         }
     }
+
+    private static class AssistantFaviconDrawable extends AssistantDrawable {
+        private final String mUrl;
+        private final int mDiameterSizeInPixel;
+        private final Boolean mForceMonogram;
+
+        AssistantFaviconDrawable(String url, int diameterSizeInPixel, boolean forceMonogram) {
+            mUrl = url;
+            mDiameterSizeInPixel = diameterSizeInPixel;
+            mForceMonogram = forceMonogram;
+        }
+
+        @Override
+        public void getDrawable(Context context, Callback<Drawable> callback) {
+            final LargeIconBridge iconBridge =
+                    new LargeIconBridge(AutofillAssistantUiController.getProfile());
+            iconBridge.getLargeIconForUrl(new GURL(mUrl), mDiameterSizeInPixel,
+                    (Bitmap icon, int fallbackColor, boolean isFallbackColorDefault,
+                            int iconType) -> {
+                        float fontSize = mDiameterSizeInPixel * 7f / 10f;
+                        RoundedIconGenerator roundedIconGenerator =
+                                new RoundedIconGenerator(mDiameterSizeInPixel, mDiameterSizeInPixel,
+                                        mDiameterSizeInPixel / 2,
+                                        ApiCompatibilityUtils.getColor(context.getResources(),
+                                                R.color.default_favicon_background_color),
+                                        fontSize);
+                        Drawable drawable = FaviconUtils.getIconDrawableWithoutFilter(
+                                mForceMonogram ? null : icon, mUrl, fallbackColor,
+                                roundedIconGenerator, context.getResources(), mDiameterSizeInPixel);
+                        callback.onResult(drawable);
+                    });
+        }
+    }
 }
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/infobox/AssistantInfoBoxModel.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/infobox/AssistantInfoBoxModel.java
index e410a994..90157a01 100644
--- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/infobox/AssistantInfoBoxModel.java
+++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/infobox/AssistantInfoBoxModel.java
@@ -15,7 +15,7 @@
  */
 @JNINamespace("autofill_assistant")
 public class AssistantInfoBoxModel extends PropertyModel {
-    @VisibleForTesting
+    @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
     public static final WritableObjectPropertyKey<AssistantInfoBox> INFO_BOX =
             new WritableObjectPropertyKey<>();
 
diff --git a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataIntegrationTest.java b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataIntegrationTest.java
index 30ad780..a1ec492fb 100644
--- a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataIntegrationTest.java
+++ b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataIntegrationTest.java
@@ -9,9 +9,11 @@
 import static androidx.test.espresso.action.ViewActions.replaceText;
 import static androidx.test.espresso.action.ViewActions.scrollTo;
 import static androidx.test.espresso.action.ViewActions.typeText;
+import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
 import static androidx.test.espresso.assertion.ViewAssertions.matches;
 import static androidx.test.espresso.contrib.PickerActions.setDate;
 import static androidx.test.espresso.matcher.RootMatchers.isDialog;
+import static androidx.test.espresso.matcher.ViewMatchers.hasSibling;
 import static androidx.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed;
 import static androidx.test.espresso.matcher.ViewMatchers.isDescendantOfA;
 import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
@@ -80,6 +82,7 @@
 import org.chromium.chrome.browser.autofill_assistant.proto.PromptProto;
 import org.chromium.chrome.browser.autofill_assistant.proto.PromptProto.Choice;
 import org.chromium.chrome.browser.autofill_assistant.proto.SelectorProto;
+import org.chromium.chrome.browser.autofill_assistant.proto.ShowDetailsProto;
 import org.chromium.chrome.browser.autofill_assistant.proto.SupportedScriptProto;
 import org.chromium.chrome.browser.autofill_assistant.proto.SupportedScriptProto.PresentationProto;
 import org.chromium.chrome.browser.autofill_assistant.proto.TextInputProto;
@@ -893,4 +896,55 @@
         waitUntilViewMatchesCondition(withText("Delivery address"), isCompletelyDisplayed());
         waitUntilViewMatchesCondition(withText("Custom info"), isCompletelyDisplayed());
     }
+
+    /**
+     * Asks for the user email (but not the name) and then shows the details. Tests that only the
+     * requested info is surfaced in the details.
+     */
+    @Test
+    @MediumTest
+    public void showContactDetailsAfterCollectingEmailOnly() throws Exception {
+        String profileId = mHelper.addDummyProfile("John Doe", "johndoe@gmail.com");
+        mHelper.addDummyCreditCard(profileId);
+
+        ArrayList<ActionProto> list = new ArrayList<>();
+        list.add((ActionProto) ActionProto.newBuilder()
+                         .setCollectUserData(
+                                 CollectUserDataProto.newBuilder()
+                                         .setContactDetails(
+                                                 ContactDetailsProto.newBuilder()
+                                                         .setContactDetailsName("contact_details")
+                                                         .setRequestPayerName(false)
+                                                         .setRequestPayerEmail(true))
+                                         .setShowTermsAsCheckbox(true)
+                                         .setRequestTermsAndConditions(false))
+                         .build());
+
+        list.add((ActionProto) ActionProto.newBuilder()
+                         .setShowDetails(
+                                 ShowDetailsProto.newBuilder().setContactDetails("contact_details"))
+                         .build());
+        list.add((ActionProto) ActionProto.newBuilder()
+                         .setPrompt(PromptProto.newBuilder().setMessage("Prompt").addChoices(
+                                 PromptProto.Choice.newBuilder()))
+                         .build());
+        AutofillAssistantTestScript script = new AutofillAssistantTestScript(
+                (SupportedScriptProto) SupportedScriptProto.newBuilder()
+                        .setPath("form_target_website.html")
+                        .setPresentation(PresentationProto.newBuilder().setAutostart(true).setChip(
+                                ChipProto.newBuilder().setText("Payment")))
+                        .build(),
+                list);
+
+        AutofillAssistantTestService testService =
+                new AutofillAssistantTestService(Collections.singletonList(script));
+        startAutofillAssistant(mTestRule.getActivity(), testService);
+
+        waitUntilViewMatchesCondition(withText("Continue"), allOf(isDisplayed(), isEnabled()));
+        onView(withText("Continue")).perform(click());
+        waitUntilViewMatchesCondition(withText("Prompt"), isCompletelyDisplayed(), 6000L);
+        onView(withText("John Doe")).check(doesNotExist());
+        onView(allOf(withText("johndoe@gmail.com"), hasSibling(withId(R.id.details_title))))
+                .check(matches(isDisplayed()));
+    }
 }
diff --git a/chrome/android/features/keyboard_accessory/internal/BUILD.gn b/chrome/android/features/keyboard_accessory/internal/BUILD.gn
index 84fb263d9..25c54c7 100644
--- a/chrome/android/features/keyboard_accessory/internal/BUILD.gn
+++ b/chrome/android/features/keyboard_accessory/internal/BUILD.gn
@@ -27,6 +27,7 @@
     "//components/browser_ui/widget/android:java",
     "//components/embedder_support/android:util_java",
     "//components/feature_engagement/public:public_java",
+    "//components/url_formatter/android:url_formatter_java",
     "//content/public/android:content_java",
     "//third_party/android_deps:android_support_v7_appcompat_java",
     "//third_party/android_deps:androidx_annotation_annotation_java",
@@ -50,6 +51,8 @@
     "java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetCoordinator.java",
     "java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetMediator.java",
     "java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetProperties.java",
+    "java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetView.java",
+    "java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetViewBinder.java",
     "java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/Credential.java",
     "java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryCoordinator.java",
     "java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryIPHUtils.java",
@@ -103,6 +106,7 @@
     "java/res/drawable/autofill_chip_inset.xml",
     "java/res/drawable/ic_vpn_key_off.xml",
     "java/res/layout/address_accessory_sheet.xml",
+    "java/res/layout/all_passwords_bottom_sheet.xml",
     "java/res/layout/credit_card_accessory_sheet.xml",
     "java/res/layout/keyboard_accessory.xml",
     "java/res/layout/keyboard_accessory_action.xml",
diff --git a/chrome/android/features/keyboard_accessory/internal/java/res/layout/all_passwords_bottom_sheet.xml b/chrome/android/features/keyboard_accessory/internal/java/res/layout/all_passwords_bottom_sheet.xml
new file mode 100644
index 0000000..a59fd6c
--- /dev/null
+++ b/chrome/android/features/keyboard_accessory/internal/java/res/layout/all_passwords_bottom_sheet.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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. -->
+
+<androidx.recyclerview.widget.RecyclerView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_height="match_parent"
+    android:layout_width="match_parent"
+    android:orientation="vertical"/>
\ No newline at end of file
diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetCoordinator.java b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetCoordinator.java
index 6b097b7..f26ce33 100644
--- a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetCoordinator.java
+++ b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetCoordinator.java
@@ -8,6 +8,7 @@
 
 import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
 import org.chromium.ui.modelutil.PropertyModel;
+import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
 
 /**
  * Creates the AllPasswordsBottomSheet. AllPasswordsBottomSheet uses a bottom sheet to let the
@@ -15,8 +16,6 @@
  */
 class AllPasswordsBottomSheetCoordinator {
     private final AllPasswordsBottomSheetMediator mMediator = new AllPasswordsBottomSheetMediator();
-    private final PropertyModel mModel =
-            AllPasswordsBottomSheetProperties.createDefaultModel(mMediator::onDismissed);
 
     /**
      * This delegate is called when the AllPasswordsBottomSheet is interacted with (e.g. dismissed
@@ -29,8 +28,8 @@
         void onCredentialSelected(Credential credential);
 
         /**
-         * Called when the user dismisses the AllPasswordsBottomSheet. Not called if a suggestion
-         * was selected.
+         * Called when the user dismisses the AllPasswordsBottomSheet or if the bottom sheet content
+         * failed to be shown.
          */
         void onDismissed();
     }
@@ -39,11 +38,14 @@
      * Initializes the component.
      * @param context A {@link Context} to create views and retrieve resources.
      * @param sheetController A {@link BottomSheetController} used to show/hide the sheet.
-     * @param delegate A {@link Delegate} that handles dismiss events.
+     * @param delegate A {@link Delegate} that handles select and dismiss events.
      */
     public void initialize(Context context, BottomSheetController sheetController,
             AllPasswordsBottomSheetCoordinator.Delegate delegate) {
-        mMediator.initialize(delegate, mModel);
+        PropertyModel model =
+                AllPasswordsBottomSheetProperties.createDefaultModel(mMediator::onDismissed);
+        mMediator.initialize(delegate, model);
+        setUpModelChangeProcessor(model, new AllPasswordsBottomSheetView(context, sheetController));
     }
 
     /**
@@ -53,4 +55,9 @@
     public void showCredentials(Credential[] credentials) {
         mMediator.showCredentials(credentials);
     }
+
+    static void setUpModelChangeProcessor(PropertyModel model, AllPasswordsBottomSheetView view) {
+        PropertyModelChangeProcessor.create(
+                model, view, AllPasswordsBottomSheetViewBinder::bindAllPasswordsBottomSheet);
+    }
 }
\ No newline at end of file
diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetMediator.java b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetMediator.java
index 5c54de5..7a9f14f 100644
--- a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetMediator.java
+++ b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetMediator.java
@@ -4,6 +4,8 @@
 
 package org.chromium.chrome.browser.keyboard_accessory.all_passwords_bottom_sheet;
 
+import static org.chromium.chrome.browser.keyboard_accessory.all_passwords_bottom_sheet.AllPasswordsBottomSheetProperties.VISIBLE;
+
 import org.chromium.ui.modelutil.PropertyModel;
 
 /**
@@ -22,11 +24,17 @@
 
     void showCredentials(Credential[] credentials) {
         assert credentials != null;
-        // Temporary call to destroy native objects to avoid memory leak.
-        mDelegate.onDismissed();
+        mModel.set(VISIBLE, true);
+    }
+
+    void onCredentialSelected(Credential credential) {
+        mModel.set(VISIBLE, false);
+        mDelegate.onCredentialSelected(credential);
     }
 
     void onDismissed(Integer integer) {
+        if (!mModel.get(VISIBLE)) return; // Dismiss only if not dismissed yet.
+        mModel.set(VISIBLE, false);
         mDelegate.onDismissed();
     }
 }
diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetProperties.java b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetProperties.java
index 98733cbc..ab1a7688 100644
--- a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetProperties.java
+++ b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetProperties.java
@@ -7,6 +7,7 @@
 import org.chromium.base.Callback;
 import org.chromium.ui.modelutil.ListModel;
 import org.chromium.ui.modelutil.MVCListAdapter.ListItem;
+import org.chromium.ui.modelutil.PropertyKey;
 import org.chromium.ui.modelutil.PropertyModel;
 
 /**
@@ -20,8 +21,10 @@
     static final PropertyModel.ReadableObjectPropertyKey<ListModel<ListItem>> SHEET_ITEMS =
             new PropertyModel.ReadableObjectPropertyKey<>("sheet_items");
 
+    static final PropertyKey[] ALL_KEYS = {VISIBLE, DISMISS_HANDLER, SHEET_ITEMS};
+
     static PropertyModel createDefaultModel(Callback<Integer> handler) {
-        return new PropertyModel.Builder(VISIBLE, SHEET_ITEMS, DISMISS_HANDLER)
+        return new PropertyModel.Builder(ALL_KEYS)
                 .with(VISIBLE, false)
                 .with(SHEET_ITEMS, new ListModel<>())
                 .with(DISMISS_HANDLER, handler)
diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetView.java b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetView.java
new file mode 100644
index 0000000..66a1f743
--- /dev/null
+++ b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetView.java
@@ -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.
+
+package org.chromium.chrome.browser.keyboard_accessory.all_passwords_bottom_sheet;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import org.chromium.base.Callback;
+import org.chromium.chrome.browser.keyboard_accessory.R;
+import org.chromium.components.browser_ui.bottomsheet.BottomSheetContent;
+import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
+import org.chromium.components.browser_ui.bottomsheet.BottomSheetObserver;
+import org.chromium.components.browser_ui.bottomsheet.EmptyBottomSheetObserver;
+
+/**
+ * This class is responsible for rendering the bottom sheet which displays all credentials from any
+ * origin. It is a View in this Model-View-Controller component and doesn't inherit from a view but
+ * holds Android Views.
+ */
+class AllPasswordsBottomSheetView implements BottomSheetContent {
+    private final BottomSheetController mBottomSheetController;
+    private Callback<Integer> mDismissHandler;
+    private final RecyclerView mContentView;
+
+    private final BottomSheetObserver mBottomSheetObserver = new EmptyBottomSheetObserver() {
+        @Override
+        public void onSheetClosed(@BottomSheetController.StateChangeReason int reason) {
+            super.onSheetClosed(reason);
+            assert mDismissHandler != null;
+            mDismissHandler.onResult(reason);
+            mBottomSheetController.removeObserver(mBottomSheetObserver);
+        }
+
+        @Override
+        public void onSheetStateChanged(int newState) {
+            super.onSheetStateChanged(newState);
+            if (newState != BottomSheetController.SheetState.HIDDEN) return;
+            // This is a fail-safe for cases where onSheetClosed isn't triggered.
+            mDismissHandler.onResult(BottomSheetController.StateChangeReason.NONE);
+            mBottomSheetController.removeObserver(mBottomSheetObserver);
+        }
+    };
+
+    /**
+     * Constructs an AllPasswordsBottomSheetView which creates, modifies, and shows the bottom
+     * sheet.
+     * @param context A {@link Context} used to load resources and inflate the sheet.
+     * @param bottomSheetController The {@link BottomSheetController} used to show/hide the sheet.
+     */
+    public AllPasswordsBottomSheetView(
+            Context context, BottomSheetController bottomSheetController) {
+        mBottomSheetController = bottomSheetController;
+        mContentView = (RecyclerView) LayoutInflater.from(context).inflate(
+                R.layout.all_passwords_bottom_sheet, null);
+    }
+
+    /**
+     * Sets a new listener that reacts to events like item selection or dismissal.
+     * @param dismissHandler A {@link Callback<Integer>}.
+     */
+    void setDismissHandler(Callback<Integer> dismissHandler) {
+        mDismissHandler = dismissHandler;
+    }
+
+    /**
+     * If set to true, requests to show the bottom sheet. Otherwise, requests to hide the sheet.
+     * @param isVisible A boolean describing whether to show or hide the sheet.
+     */
+    void setVisible(boolean isVisible) {
+        if (isVisible) {
+            mBottomSheetController.addObserver(mBottomSheetObserver);
+            if (!mBottomSheetController.requestShowContent(this, true)) {
+                assert (mDismissHandler != null);
+                mDismissHandler.onResult(BottomSheetController.StateChangeReason.NONE);
+                mBottomSheetController.removeObserver(mBottomSheetObserver);
+            }
+        } else {
+            mBottomSheetController.hideContent(this, true);
+        }
+    }
+
+    @Override
+    public View getContentView() {
+        return mContentView;
+    }
+
+    @Nullable
+    @Override
+    public View getToolbarView() {
+        return null;
+    }
+
+    @Override
+    public int getVerticalScrollOffset() {
+        return 0;
+    }
+
+    @Override
+    public void destroy() {
+        mBottomSheetController.removeObserver(mBottomSheetObserver);
+    }
+
+    @Override
+    public int getPriority() {
+        return BottomSheetContent.ContentPriority.HIGH;
+    }
+
+    @Override
+    public boolean hasCustomScrimLifecycle() {
+        return false;
+    }
+
+    @Override
+    public boolean swipeToDismissEnabled() {
+        return false;
+    }
+
+    @Override
+    public boolean skipHalfStateOnScrollingDown() {
+        return false;
+    }
+
+    @Override
+    public int getPeekHeight() {
+        return BottomSheetContent.HeightMode.DISABLED;
+    }
+
+    @Override
+    public float getHalfHeightRatio() {
+        return BottomSheetContent.HeightMode.DISABLED;
+    }
+
+    @Override
+    public boolean hideOnScroll() {
+        return false;
+    }
+
+    @Override
+    public int getSheetContentDescriptionStringId() {
+        return R.string.all_passwords_bottom_sheet_content_description;
+    }
+
+    @Override
+    public int getSheetHalfHeightAccessibilityStringId() {
+        return R.string.all_passwords_bottom_sheet_half_height;
+    }
+
+    @Override
+    public int getSheetFullHeightAccessibilityStringId() {
+        return R.string.all_passwords_bottom_sheet_full_height;
+    }
+
+    @Override
+    public int getSheetClosedAccessibilityStringId() {
+        return R.string.all_passwords_bottom_sheet_closed;
+    }
+}
diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetViewBinder.java b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetViewBinder.java
new file mode 100644
index 0000000..9d76b67
--- /dev/null
+++ b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetViewBinder.java
@@ -0,0 +1,32 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.keyboard_accessory.all_passwords_bottom_sheet;
+
+import static org.chromium.chrome.browser.keyboard_accessory.all_passwords_bottom_sheet.AllPasswordsBottomSheetProperties.DISMISS_HANDLER;
+import static org.chromium.chrome.browser.keyboard_accessory.all_passwords_bottom_sheet.AllPasswordsBottomSheetProperties.VISIBLE;
+
+import org.chromium.ui.modelutil.PropertyKey;
+import org.chromium.ui.modelutil.PropertyModel;
+
+/**
+ * Provides functions that map {@link AllPasswordsBottomSheetProperties} changes in a {@link
+ * PropertyModel} to the suitable method in {@link AllPasswordsBottomSheetView}.
+ */
+class AllPasswordsBottomSheetViewBinder {
+    /**
+     * Called whenever a property in the given model changes. It updates the given view accordingly.
+     * @param model The observed {@link PropertyModel}. Its data need to be reflected in the view.
+     * @param view The {@link AllPasswordsBottomSheetView} to update.
+     * @param propertyKey The {@link PropertyKey} which changed.
+     */
+    static void bindAllPasswordsBottomSheet(
+            PropertyModel model, AllPasswordsBottomSheetView view, PropertyKey propertyKey) {
+        if (propertyKey == DISMISS_HANDLER) {
+            view.setDismissHandler(model.get(DISMISS_HANDLER));
+        } else if (propertyKey == VISIBLE) {
+            view.setVisible(model.get(VISIBLE));
+        }
+    }
+}
diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryProperties.java b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryProperties.java
index 7037acc..74d267c9 100644
--- a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryProperties.java
+++ b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryProperties.java
@@ -6,7 +6,6 @@
 
 import androidx.annotation.IntDef;
 import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.google.android.material.tabs.TabLayout;
@@ -47,7 +46,6 @@
             new WritableObjectPropertyKey<>("tab_layout_item");
     static final WritableObjectPropertyKey<Runnable> SHOW_KEYBOARD_CALLBACK =
             new WritableObjectPropertyKey<>("keyboard_callback");
-    @VisibleForTesting
     static final ReadableBooleanPropertyKey DISABLE_ANIMATIONS_FOR_TESTING =
             new WritableBooleanPropertyKey("skip_all_animations_for_testing");
 
diff --git a/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings.grd b/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings.grd
index a5b5f8f..d5bc95e 100644
--- a/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings.grd
+++ b/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings.grd
@@ -168,6 +168,18 @@
   </translations>
   <release allow_pseudo="false" seq="1">
     <messages fallback_to_english="true">
+    <message name="IDS_ALL_PASSWORDS_BOTTOM_SHEET_CONTENT_DESCRIPTION" desc="Accessibility string read when the all passwords bottom sheet is opened. It describes the bottom sheet where a user can pick a credential to fill into a password form.">
+        List of credentials to be filled on touch.
+      </message>
+      <message name="IDS_ALL_PASSWORDS_BOTTOM_SHEET_HALF_HEIGHT" desc="Accessibility string read when the all passwords bottom sheet showing a list of the user's credentials is opened at half height. The sheet will occupy the bottom half the screen.">
+        List of credentials to be filled on touch opened at half height.
+      </message>
+      <message name="IDS_ALL_PASSWORDS_BOTTOM_SHEET_FULL_HEIGHT" desc="Accessibility string read when the all passwords bottom sheet showing a list of the user's credentials is opened at full height. The sheet will occupy the entire screen.">
+        List of credentials to be filled on touch opened at full height.
+      </message>
+      <message name="IDS_ALL_PASSWORDS_BOTTOM_SHEET_CLOSED" desc="Accessibility string read when the all passwords bottom sheet showing a list of the user's credentials is closed.">
+        List of credentials to be filled on touch is closed.
+      </message>
       <message name="IDS_AUTOFILL_KEYBOARD_ACCESSORY_CONTENT_DESCRIPTION" desc="The text announced by the screen reader when the password suggestions are shown.">
         Passwords available
       </message>
diff --git a/chrome/android/features/keyboard_accessory/junit/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetControllerTest.java b/chrome/android/features/keyboard_accessory/junit/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetControllerTest.java
index 2b94e6b..7586eaa2 100644
--- a/chrome/android/features/keyboard_accessory/junit/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetControllerTest.java
+++ b/chrome/android/features/keyboard_accessory/junit/src/org/chromium/chrome/browser/keyboard_accessory/all_passwords_bottom_sheet/AllPasswordsBottomSheetControllerTest.java
@@ -33,15 +33,18 @@
 @Config(manifest = Config.NONE)
 @Features.EnableFeatures(ChromeFeatureList.FILLING_PASSWORDS_FROM_ANY_ORIGIN)
 public class AllPasswordsBottomSheetControllerTest {
+    private static final Credential[] TEST_CREDENTIALS = new Credential[] {
+            new Credential("user1", "password123", "user1", "origin.com", false, false)};
     @Mock
     private AllPasswordsBottomSheetCoordinator.Delegate mMockDelegate;
 
-    private final AllPasswordsBottomSheetMediator mMediator = new AllPasswordsBottomSheetMediator();
+    private AllPasswordsBottomSheetMediator mMediator;
     private PropertyModel mModel;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
+        mMediator = new AllPasswordsBottomSheetMediator();
         mModel = AllPasswordsBottomSheetProperties.createDefaultModel(mMediator::onDismissed);
         mMediator.initialize(mMockDelegate, mModel);
     }
@@ -54,8 +57,24 @@
     }
 
     @Test
-    public void testCallsDelegateOnDismiss() {
+    public void testShowCredentialsSetsVisibile() {
+        mMediator.showCredentials(TEST_CREDENTIALS);
+        assertThat(mModel.get(VISIBLE), is(true));
+    }
+
+    @Test
+    public void testOnCredentialSelected() {
+        mMediator.showCredentials(TEST_CREDENTIALS);
+        mMediator.onCredentialSelected(TEST_CREDENTIALS[0]);
+        assertThat(mModel.get(VISIBLE), is(false));
+        verify(mMockDelegate).onCredentialSelected(TEST_CREDENTIALS[0]);
+    }
+
+    @Test
+    public void testOnDismiss() {
+        mMediator.showCredentials(TEST_CREDENTIALS);
         mMediator.onDismissed(BottomSheetController.StateChangeReason.BACK_PRESS);
+        assertThat(mModel.get(VISIBLE), is(false));
         verify(mMockDelegate).onDismissed();
     }
 }
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
index 1f1c7da..a1b62b8 100644
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
@@ -4,6 +4,8 @@
 
 package org.chromium.chrome.browser.media.router;
 
+import android.annotation.SuppressLint;
+
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.mediarouter.media.MediaRouter;
@@ -67,6 +69,7 @@
     private final Map<String, List<MediaSink>> mSinksPerSource =
             new HashMap<String, List<MediaSink>>();
     private static boolean sAndroidMediaRouterSetForTest;
+    @SuppressLint("StaticFieldLeak") // This is for test only.
     private static MediaRouter sAndroidMediaRouterForTest;
 
     @VisibleForTesting
diff --git a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java
index 278391e..c138c21 100644
--- a/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java
+++ b/chrome/android/features/start_surface/internal/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceLayoutTest.java
@@ -1318,6 +1318,25 @@
 
     @Test
     @MediumTest
+    @Feature({"RenderTest"})
+    // clang-format off
+    @EnableFeatures({ChromeFeatureList.TAB_GROUPS_ANDROID})
+    @CommandLineFlags.Add({BASE_PARAMS + "/thumbnail_aspect_ratio/0.85"})
+    public void testRenderGrid_withAspectRatioPoint85() throws IOException {
+        // clang-format on
+        ChromeTabbedActivity cta = mActivityTestRule.getActivity();
+        prepareTabs(3, 0, "about:blank");
+        TabModel normalTabModel = cta.getTabModelSelector().getModel(false);
+        List<Tab> tabGroup = new ArrayList<>(
+                Arrays.asList(normalTabModel.getTabAt(0), normalTabModel.getTabAt(1)));
+        createTabGroup(cta, false, tabGroup);
+        // Make sure all tabs have thumbnail.
+        enterGTSWithThumbnailRetry();
+        mRenderTestRule.render(cta.findViewById(R.id.tab_list_view), "aspect_ratio_point_85");
+    }
+
+    @Test
+    @MediumTest
     @Feature("NewTabVariation")
     // clang-format off
     @Features.DisableFeatures({ChromeFeatureList.TAB_TO_GTS_ANIMATION + "<Study",
diff --git a/chrome/android/features/tab_ui/java/res/values/dimens.xml b/chrome/android/features/tab_ui/java/res/values/dimens.xml
index ec237af1..892c58f 100644
--- a/chrome/android/features/tab_ui/java/res/values/dimens.xml
+++ b/chrome/android/features/tab_ui/java/res/values/dimens.xml
@@ -22,7 +22,7 @@
     <dimen name="tab_grid_merge_threshold">45dp</dimen>
     <dimen name="tab_grid_thumbnail_card_default_size">152dp</dimen>
     <dimen name="tab_grid_thumbnail_favicon_frame_padding">16dp</dimen>
-    <dimen name="tab_grid_thumbnail_favicon_padding">24dp</dimen>
+    <dimen name="tab_grid_thumbnail_favicon_padding_from_frame">8dp</dimen>
     <dimen name="tab_grid_thumbnail_favicon_background_radius">3dp</dimen>
     <dimen name="tab_grid_thumbnail_favicon_background_padding">2dp</dimen>
     <dimen name="tab_grid_thumbnail_favicon_background_down_shift">2dp</dimen>
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/TasksSurfaceProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/TasksSurfaceProperties.java
index 9363b57..85af37f 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/TasksSurfaceProperties.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/TasksSurfaceProperties.java
@@ -39,35 +39,34 @@
             new PropertyModel.WritableBooleanPropertyKey();
     public static final PropertyModel.WritableObjectPropertyKey<View.OnClickListener>
             INCOGNITO_COOKIE_CONTROLS_ICON_CLICK_LISTENER =
-            new PropertyModel.WritableObjectPropertyKey<View.OnClickListener>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel
             .WritableBooleanPropertyKey INCOGNITO_COOKIE_CONTROLS_TOGGLE_CHECKED =
             new PropertyModel.WritableBooleanPropertyKey();
     public static final PropertyModel.WritableObjectPropertyKey<OnCheckedChangeListener>
             INCOGNITO_COOKIE_CONTROLS_TOGGLE_CHECKED_LISTENER =
-            new PropertyModel.WritableObjectPropertyKey<OnCheckedChangeListener>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel
             .WritableIntPropertyKey INCOGNITO_COOKIE_CONTROLS_TOGGLE_ENFORCEMENT =
             new PropertyModel.WritableIntPropertyKey();
     public static final PropertyModel.WritableObjectPropertyKey<IncognitoCookieControlsManager>
-            INCOGNITO_COOKIE_CONTROLS_MANAGER =
-            new PropertyModel.WritableObjectPropertyKey<IncognitoCookieControlsManager>();
+            INCOGNITO_COOKIE_CONTROLS_MANAGER = new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel
             .WritableObjectPropertyKey<View.OnClickListener> INCOGNITO_LEARN_MORE_CLICK_LISTENER =
-            new PropertyModel.WritableObjectPropertyKey<View.OnClickListener>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel
             .WritableObjectPropertyKey<View.OnClickListener> FAKE_SEARCH_BOX_CLICK_LISTENER =
-            new PropertyModel.WritableObjectPropertyKey<View.OnClickListener>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel
             .WritableObjectPropertyKey<TextWatcher> FAKE_SEARCH_BOX_TEXT_WATCHER =
-            new PropertyModel.WritableObjectPropertyKey<TextWatcher>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel
             .WritableObjectPropertyKey<View.OnClickListener> MORE_TABS_CLICK_LISTENER =
-            new PropertyModel.WritableObjectPropertyKey<View.OnClickListener>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel.WritableBooleanPropertyKey MV_TILES_VISIBLE = IS_VISIBLE;
     public static final PropertyModel
             .WritableObjectPropertyKey<View.OnClickListener> VOICE_SEARCH_BUTTON_CLICK_LISTENER =
-            new PropertyModel.WritableObjectPropertyKey<View.OnClickListener>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel.WritableIntPropertyKey TASKS_SURFACE_BODY_TOP_MARGIN =
             new PropertyModel.WritableIntPropertyKey();
     public static final PropertyModel.WritableIntPropertyKey MV_TILES_CONTAINER_TOP_MARGIN =
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MessageCardViewProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MessageCardViewProperties.java
index 0552c94..53bb22a 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MessageCardViewProperties.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MessageCardViewProperties.java
@@ -14,7 +14,7 @@
  * List of properties used by TabGridSecondaryItem.
  */
 class MessageCardViewProperties {
-    public static PropertyModel.ReadableIntPropertyKey MESSAGE_TYPE =
+    public static final PropertyModel.ReadableIntPropertyKey MESSAGE_TYPE =
             new PropertyModel.ReadableIntPropertyKey();
     public static final PropertyModel.WritableObjectPropertyKey<String> ACTION_TEXT =
             new PropertyModel.WritableObjectPropertyKey<>();
@@ -22,18 +22,20 @@
             new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel.WritableObjectPropertyKey<String> DESCRIPTION_TEXT_TEMPLATE =
             new PropertyModel.WritableObjectPropertyKey<>();
-    public static PropertyModel
+    public static final PropertyModel
             .WritableObjectPropertyKey<MessageCardView.IconProvider> ICON_PROVIDER =
             new PropertyModel.WritableObjectPropertyKey<>();
-    public static PropertyModel
+    public static final PropertyModel
             .WritableObjectPropertyKey<MessageCardView.ReviewActionProvider> UI_ACTION_PROVIDER =
             new PropertyModel.WritableObjectPropertyKey<>();
-    public static PropertyModel.WritableObjectPropertyKey<MessageCardView.DismissActionProvider>
-            UI_DISMISS_ACTION_PROVIDER = new PropertyModel.WritableObjectPropertyKey<>();
-    public static PropertyModel.WritableObjectPropertyKey<MessageCardView.ReviewActionProvider>
-            MESSAGE_SERVICE_ACTION_PROVIDER = new PropertyModel.WritableObjectPropertyKey<>();
-    public static PropertyModel.WritableObjectPropertyKey<MessageCardView.DismissActionProvider>
-            MESSAGE_SERVICE_DISMISS_ACTION_PROVIDER =
+    public static final PropertyModel
+            .WritableObjectPropertyKey<MessageCardView.DismissActionProvider>
+                    UI_DISMISS_ACTION_PROVIDER = new PropertyModel.WritableObjectPropertyKey<>();
+    public static final PropertyModel.WritableObjectPropertyKey<
+            MessageCardView.ReviewActionProvider> MESSAGE_SERVICE_ACTION_PROVIDER =
+            new PropertyModel.WritableObjectPropertyKey<>();
+    public static final PropertyModel.WritableObjectPropertyKey<
+            MessageCardView.DismissActionProvider> MESSAGE_SERVICE_DISMISS_ACTION_PROVIDER =
             new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel
             .WritableObjectPropertyKey<String> DISMISS_BUTTON_CONTENT_DESCRIPTION =
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java
index c6358fa..b86af312 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java
@@ -18,6 +18,7 @@
 
 import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.Callback;
+import org.chromium.base.MathUtils;
 import org.chromium.base.task.PostTask;
 import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
 import org.chromium.chrome.browser.profiles.Profile;
@@ -45,7 +46,8 @@
 
     private final float mRadius;
     private final float mFaviconCirclePadding;
-    private final int mSize;
+    private final int mThumbnailWidth;
+    private final int mThumbnailHeight;
     private final Paint mEmptyThumbnailPaint;
     private final Paint mThumbnailFramePaint;
     private final Paint mTextPaint;
@@ -81,8 +83,8 @@
 
         private void initializeAndStartFetching(PseudoTab tab) {
             // Initialize mMultiThumbnailBitmap.
-            int width = mSize;
-            int height = mSize;
+            int width = mThumbnailWidth;
+            int height = mThumbnailHeight;
             mMultiThumbnailBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
             mCanvas = new Canvas(mMultiThumbnailBitmap);
             mCanvas.drawColor(Color.TRANSPARENT);
@@ -195,16 +197,19 @@
     MultiThumbnailCardProvider(Context context, TabContentManager tabContentManager,
             TabModelSelector tabModelSelector) {
         Resources resource = context.getResources();
+        float expectedThumbnailAspectRatio =
+                (float) TabUiFeatureUtilities.THUMBNAIL_ASPECT_RATIO.getValue();
+        expectedThumbnailAspectRatio = MathUtils.clamp(expectedThumbnailAspectRatio, 0.5f, 2.0f);
+
+        mThumbnailWidth = (int) resource.getDimension(R.dimen.tab_grid_thumbnail_card_default_size);
+        mThumbnailHeight = (int) (mThumbnailWidth / expectedThumbnailAspectRatio);
 
         mTabContentManager = tabContentManager;
         mTabModelSelector = tabModelSelector;
         mRadius = resource.getDimension(R.dimen.tab_list_mini_card_radius);
-        mSize = (int) resource.getDimension(R.dimen.tab_grid_thumbnail_card_default_size);
         mFaviconCirclePadding =
                 resource.getDimension(R.dimen.tab_grid_thumbnail_favicon_background_padding);
-        // TODO (https://crbug.com/1048632): Use the current profile (i.e., regular profile or
-        // incognito profile) instead of always using regular profile. It works correctly now, but
-        // it is not safe.
+
         mTabListFaviconProvider = new TabListFaviconProvider(context, false);
 
         // Initialize Paints to use.
@@ -243,35 +248,49 @@
                 resource.getColor(R.color.modern_grey_800_alpha_38));
 
         // Initialize Rects for thumbnails.
-        float thumbnailPadding = resource.getDimension(R.dimen.tab_list_card_padding);
-        float thumbnailFaviconPadding =
-                resource.getDimension(R.dimen.tab_grid_thumbnail_favicon_padding);
+        float thumbnailHorizontalPadding = resource.getDimension(R.dimen.tab_list_card_padding);
+        float thumbnailVerticalPadding = thumbnailHorizontalPadding / expectedThumbnailAspectRatio;
         float thumbnailFaviconBackgroundPadding =
                 resource.getDimension(R.dimen.tab_grid_thumbnail_favicon_frame_padding);
+        float thumbnailFaviconPaddingFromBackground =
+                resource.getDimension(R.dimen.tab_grid_thumbnail_favicon_padding_from_frame);
+        float centerX = mThumbnailWidth * 0.5f;
+        float centerY = mThumbnailHeight * 0.5f;
+        float halfThumbnailHorizontalPadding = thumbnailHorizontalPadding / 2;
+        float halfThumbnailVerticalPadding = thumbnailVerticalPadding / 2;
 
-        mThumbnailRects.add(new RectF(thumbnailPadding, thumbnailPadding,
-                mSize / 2 - thumbnailPadding / 2, mSize / 2 - thumbnailPadding / 2));
-        mThumbnailRects.add(new RectF(mSize / 2 + thumbnailPadding / 2, thumbnailPadding,
-                mSize - thumbnailPadding, mSize / 2 - thumbnailPadding / 2));
-        mThumbnailRects.add(new RectF(thumbnailPadding, mSize / 2 + thumbnailPadding / 2,
-                mSize / 2 - thumbnailPadding / 2, mSize - thumbnailPadding));
-        mThumbnailRects.add(
-                new RectF(mSize / 2 + thumbnailPadding / 2, mSize / 2 + thumbnailPadding / 2,
-                        mSize - thumbnailPadding, mSize - thumbnailPadding));
+        mThumbnailRects.add(new RectF(thumbnailHorizontalPadding, thumbnailVerticalPadding,
+                centerX - halfThumbnailHorizontalPadding, centerY - halfThumbnailVerticalPadding));
+        mThumbnailRects.add(new RectF(centerX + halfThumbnailHorizontalPadding,
+                thumbnailVerticalPadding, mThumbnailWidth - thumbnailHorizontalPadding,
+                centerY - halfThumbnailVerticalPadding));
+        mThumbnailRects.add(new RectF(thumbnailHorizontalPadding,
+                centerY + halfThumbnailVerticalPadding, centerX - halfThumbnailHorizontalPadding,
+                mThumbnailHeight - thumbnailVerticalPadding));
+        mThumbnailRects.add(new RectF(centerX + halfThumbnailHorizontalPadding,
+                centerY + halfThumbnailVerticalPadding,
+                mThumbnailWidth - thumbnailHorizontalPadding,
+                mThumbnailHeight - thumbnailVerticalPadding));
 
         // Initialize Rects for favicons and favicon backgrounds.
+        final float faviconBackgroundRadius =
+                mThumbnailRects.get(0).width() / 2f - thumbnailFaviconBackgroundPadding;
         for (int i = 0; i < 4; i++) {
             RectF thumbnailRect = mThumbnailRects.get(i);
-            mFaviconBackgroundRects.add(
-                    new RectF(thumbnailRect.left + thumbnailFaviconBackgroundPadding,
-                            thumbnailRect.top + thumbnailFaviconBackgroundPadding,
-                            thumbnailRect.right - thumbnailFaviconBackgroundPadding,
-                            thumbnailRect.bottom - thumbnailFaviconBackgroundPadding));
 
-            mFaviconRects.add(new Rect(Math.round(thumbnailRect.left + thumbnailFaviconPadding),
-                    Math.round(thumbnailRect.top + thumbnailFaviconPadding),
-                    Math.round(thumbnailRect.right - thumbnailFaviconPadding),
-                    Math.round(thumbnailRect.bottom - thumbnailFaviconPadding)));
+            float thumbnailRectCenterX = thumbnailRect.centerX();
+            float thumbnailRectCenterY = thumbnailRect.centerY();
+            RectF faviconBackgroundRect = new RectF(thumbnailRectCenterX, thumbnailRectCenterY,
+                    thumbnailRectCenterX, thumbnailRectCenterY);
+            faviconBackgroundRect.inset(-faviconBackgroundRadius, -faviconBackgroundRadius);
+            mFaviconBackgroundRects.add(faviconBackgroundRect);
+
+            RectF faviconRectF = new RectF(faviconBackgroundRect);
+            faviconRectF.inset(
+                    thumbnailFaviconPaddingFromBackground, thumbnailFaviconPaddingFromBackground);
+            Rect faviconRect = new Rect();
+            faviconRectF.roundOut(faviconRect);
+            mFaviconRects.add(faviconRect);
         }
 
         mTabModelSelectorObserver = new EmptyTabModelSelectorObserver() {
@@ -291,6 +310,9 @@
     }
 
     public void initWithNative() {
+        // TODO (https://crbug.com/1048632): Use the current profile (i.e., regular profile or
+        // incognito profile) instead of always using regular profile. It works correctly now, but
+        // it is not safe.
         mTabListFaviconProvider.initWithNative(Profile.getLastUsedRegularProfile());
     }
 
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/NewTabTileViewProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/NewTabTileViewProperties.java
index 97a60fc..b810dc4 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/NewTabTileViewProperties.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/NewTabTileViewProperties.java
@@ -15,13 +15,14 @@
  * List of properties used by NewTabTile component.
  */
 class NewTabTileViewProperties {
-    public static PropertyModel.WritableObjectPropertyKey<View.OnClickListener> ON_CLICK_LISTENER =
+    public static final PropertyModel
+            .WritableObjectPropertyKey<View.OnClickListener> ON_CLICK_LISTENER =
             new PropertyModel.WritableObjectPropertyKey<>();
-    public static PropertyModel.WritableFloatPropertyKey THUMBNAIL_ASPECT_RATIO =
+    public static final PropertyModel.WritableFloatPropertyKey THUMBNAIL_ASPECT_RATIO =
             new PropertyModel.WritableFloatPropertyKey();
-    public static PropertyModel.WritableIntPropertyKey CARD_HEIGHT_INTERCEPT =
+    public static final PropertyModel.WritableIntPropertyKey CARD_HEIGHT_INTERCEPT =
             new PropertyModel.WritableIntPropertyKey();
-    public static PropertyModel.WritableBooleanPropertyKey IS_INCOGNITO =
+    public static final PropertyModel.WritableBooleanPropertyKey IS_INCOGNITO =
             new PropertyModel.WritableBooleanPropertyKey();
 
     public static final PropertyKey[] ALL_KEYS = new PropertyKey[] {ON_CLICK_LISTENER,
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
index 33cb9a9..87ee66c1 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
@@ -192,7 +192,7 @@
                         ? R.style.TextAppearance_TextMediumThick_Blue_Light
                         : R.style.TextAppearance_TextMediumThick_Blue;
 
-                mModel.set(TabGridPanelProperties.DIALOG_BACKGROUND_RESOUCE_ID,
+                mModel.set(TabGridPanelProperties.DIALOG_BACKGROUND_RESOURCE_ID,
                         dialogBackgroundResource);
                 mModel.set(TabGridPanelProperties.TINT, tintList);
                 mModel.set(TabGridPanelProperties.DIALOG_UNGROUP_BAR_BACKGROUND_COLOR_ID,
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogView.java
index d358488..83d2f4f 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogView.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogView.java
@@ -45,6 +45,8 @@
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Parent for TabGridDialog component.
@@ -89,6 +91,7 @@
     private AnimatorSet mHideDialogAnimation;
     private AnimatorListenerAdapter mShowDialogAnimationListener;
     private AnimatorListenerAdapter mHideDialogAnimationListener;
+    private Map<View, Integer> mAccessibilityImportanceMap = new HashMap<>();
     private int mSideMargin;
     private int mTopMargin;
     private int mOrientation;
@@ -190,6 +193,9 @@
                 mCurrentDialogAnimator = null;
                 mDialogContainerView.requestFocus();
                 mDialogContainerView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
+                // TODO(crbug.com/1101561): Move clear/restore accessibility importance logic to
+                // ScrimView so that it can be shared by all components using ScrimView.
+                clearBackgroundViewAccessibilityImportance();
             }
         };
         mHideDialogAnimationListener = new AnimatorListenerAdapter() {
@@ -198,6 +204,7 @@
                 setVisibility(View.GONE);
                 mCurrentDialogAnimator = null;
                 mDialogContainerView.clearFocus();
+                restoreBackgroundViewAccessibilityImportance();
             }
         };
 
@@ -242,6 +249,35 @@
         });
     }
 
+    private void clearBackgroundViewAccessibilityImportance() {
+        assert mAccessibilityImportanceMap.size() == 0;
+
+        ViewGroup parent = (ViewGroup) getParent();
+        for (int i = 0; i < parent.getChildCount(); i++) {
+            View view = parent.getChildAt(i);
+            if (view == TabGridDialogView.this) {
+                continue;
+            }
+            mAccessibilityImportanceMap.put(view, view.getImportantForAccessibility());
+            view.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
+        }
+    }
+
+    private void restoreBackgroundViewAccessibilityImportance() {
+        ViewGroup parent = (ViewGroup) getParent();
+        for (int i = 0; i < parent.getChildCount(); i++) {
+            View view = parent.getChildAt(i);
+            if (view == TabGridDialogView.this) {
+                continue;
+            }
+            assert mAccessibilityImportanceMap.containsKey(view);
+            Integer importance = mAccessibilityImportanceMap.get(view);
+            view.setImportantForAccessibility(
+                    importance == null ? IMPORTANT_FOR_ACCESSIBILITY_AUTO : importance);
+        }
+        mAccessibilityImportanceMap.clear();
+    }
+
     void setupDialogAnimation(View sourceView) {
         // In case where user jumps to a new page from dialog, clean existing animations in
         // mHideDialogAnimation and play basic fade out instead of zooming back to corresponding tab
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelProperties.java
index 42cad13..2740ab54 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelProperties.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelProperties.java
@@ -18,12 +18,12 @@
 class TabGridPanelProperties {
     public static final PropertyModel
             .WritableObjectPropertyKey<OnClickListener> COLLAPSE_CLICK_LISTENER =
-            new PropertyModel.WritableObjectPropertyKey<OnClickListener>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel
             .WritableObjectPropertyKey<OnClickListener> ADD_CLICK_LISTENER =
-            new PropertyModel.WritableObjectPropertyKey<OnClickListener>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel.WritableObjectPropertyKey<String> HEADER_TITLE =
-            new PropertyModel.WritableObjectPropertyKey<String>(true);
+            new PropertyModel.WritableObjectPropertyKey<>(true);
     public static final PropertyModel.WritableIntPropertyKey CONTENT_TOP_MARGIN =
             new PropertyModel.WritableIntPropertyKey();
     public static final PropertyModel.WritableIntPropertyKey PRIMARY_COLOR =
@@ -38,7 +38,7 @@
             new PropertyModel.WritableObjectPropertyKey<>(true);
     public static final PropertyModel.WritableIntPropertyKey UNGROUP_BAR_STATUS =
             new PropertyModel.WritableIntPropertyKey();
-    public static final PropertyModel.WritableIntPropertyKey DIALOG_BACKGROUND_RESOUCE_ID =
+    public static final PropertyModel.WritableIntPropertyKey DIALOG_BACKGROUND_RESOURCE_ID =
             new PropertyModel.WritableIntPropertyKey();
     public static final PropertyModel
             .WritableIntPropertyKey DIALOG_UNGROUP_BAR_BACKGROUND_COLOR_ID =
@@ -52,8 +52,8 @@
      * Integer, but not {@link PropertyModel.WritableIntPropertyKey} so that we can force update on
      * the same value.
      */
-    public static final PropertyModel.WritableObjectPropertyKey INITIAL_SCROLL_INDEX =
-            new PropertyModel.WritableObjectPropertyKey(true);
+    public static final PropertyModel.WritableObjectPropertyKey<Integer> INITIAL_SCROLL_INDEX =
+            new PropertyModel.WritableObjectPropertyKey<>(true);
     public static final PropertyModel.WritableBooleanPropertyKey IS_MAIN_CONTENT_VISIBLE =
             new PropertyModel.WritableBooleanPropertyKey();
     public static final PropertyModel
@@ -73,7 +73,7 @@
     public static final PropertyKey[] ALL_KEYS = new PropertyKey[] {COLLAPSE_CLICK_LISTENER,
             ADD_CLICK_LISTENER, HEADER_TITLE, CONTENT_TOP_MARGIN, PRIMARY_COLOR, TINT,
             IS_DIALOG_VISIBLE, SCRIMVIEW_CLICK_RUNNABLE, ANIMATION_SOURCE_VIEW, UNGROUP_BAR_STATUS,
-            DIALOG_BACKGROUND_RESOUCE_ID, DIALOG_UNGROUP_BAR_BACKGROUND_COLOR_ID,
+            DIALOG_BACKGROUND_RESOURCE_ID, DIALOG_UNGROUP_BAR_BACKGROUND_COLOR_ID,
             DIALOG_UNGROUP_BAR_HOVERED_BACKGROUND_COLOR_ID, DIALOG_UNGROUP_BAR_TEXT_APPEARANCE,
             INITIAL_SCROLL_INDEX, IS_MAIN_CONTENT_VISIBLE, MENU_CLICK_LISTENER, TITLE_TEXT_WATCHER,
             TITLE_TEXT_ON_FOCUS_LISTENER, TITLE_CURSOR_VISIBILITY, IS_TITLE_TEXT_FOCUSED,
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelViewBinder.java
index dec82725..82a434f 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelViewBinder.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelViewBinder.java
@@ -8,7 +8,7 @@
 import static org.chromium.chrome.browser.tasks.tab_management.TabGridPanelProperties.ANIMATION_SOURCE_VIEW;
 import static org.chromium.chrome.browser.tasks.tab_management.TabGridPanelProperties.COLLAPSE_CLICK_LISTENER;
 import static org.chromium.chrome.browser.tasks.tab_management.TabGridPanelProperties.CONTENT_TOP_MARGIN;
-import static org.chromium.chrome.browser.tasks.tab_management.TabGridPanelProperties.DIALOG_BACKGROUND_RESOUCE_ID;
+import static org.chromium.chrome.browser.tasks.tab_management.TabGridPanelProperties.DIALOG_BACKGROUND_RESOURCE_ID;
 import static org.chromium.chrome.browser.tasks.tab_management.TabGridPanelProperties.DIALOG_UNGROUP_BAR_BACKGROUND_COLOR_ID;
 import static org.chromium.chrome.browser.tasks.tab_management.TabGridPanelProperties.DIALOG_UNGROUP_BAR_HOVERED_BACKGROUND_COLOR_ID;
 import static org.chromium.chrome.browser.tasks.tab_management.TabGridPanelProperties.DIALOG_UNGROUP_BAR_TEXT_APPEARANCE;
@@ -93,9 +93,9 @@
             viewHolder.dialogView.setupDialogAnimation(model.get(ANIMATION_SOURCE_VIEW));
         } else if (UNGROUP_BAR_STATUS == propertyKey) {
             viewHolder.dialogView.updateUngroupBar(model.get(UNGROUP_BAR_STATUS));
-        } else if (DIALOG_BACKGROUND_RESOUCE_ID == propertyKey) {
+        } else if (DIALOG_BACKGROUND_RESOURCE_ID == propertyKey) {
             if (viewHolder.dialogView != null) {
-                int backgroundResourceId = model.get(DIALOG_BACKGROUND_RESOUCE_ID);
+                int backgroundResourceId = model.get(DIALOG_BACKGROUND_RESOURCE_ID);
                 viewHolder.dialogView.updateDialogContainerBackgroundResource(backgroundResourceId);
                 viewHolder.toolbarView.setBackgroundResource(backgroundResourceId);
             }
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
index a1cebf3a..c9a7d1c 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
@@ -145,6 +145,8 @@
             faviconView.setPadding(padding, padding, padding, padding);
         } else if (TabProperties.THUMBNAIL_FETCHER == propertyKey) {
             updateThumbnail(view, model);
+        } else if (TabProperties.CONTENT_DESCRIPTION_STRING == propertyKey) {
+            view.setContentDescription(model.get(TabProperties.CONTENT_DESCRIPTION_STRING));
         }
     }
 
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiProperties.java
index 51ccf165..c0c9a637 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiProperties.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiProperties.java
@@ -16,10 +16,10 @@
 class TabGroupUiProperties {
     public static final PropertyModel
             .WritableObjectPropertyKey<OnClickListener> LEFT_BUTTON_ON_CLICK_LISTENER =
-            new PropertyModel.WritableObjectPropertyKey<OnClickListener>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel
             .WritableObjectPropertyKey<OnClickListener> RIGHT_BUTTON_ON_CLICK_LISTENER =
-            new PropertyModel.WritableObjectPropertyKey<OnClickListener>();
+            new PropertyModel.WritableObjectPropertyKey<>();
     public static final PropertyModel.WritableBooleanPropertyKey IS_MAIN_CONTENT_VISIBLE =
             new PropertyModel.WritableBooleanPropertyKey();
     public static final PropertyModel.WritableIntPropertyKey PRIMARY_COLOR =
@@ -32,8 +32,8 @@
      * Integer, but not {@link PropertyModel.WritableIntPropertyKey} so that we can force update on
      * the same value.
      */
-    public static final PropertyModel.WritableObjectPropertyKey INITIAL_SCROLL_INDEX =
-            new PropertyModel.WritableObjectPropertyKey(true);
+    public static final PropertyModel.WritableObjectPropertyKey<Integer> INITIAL_SCROLL_INDEX =
+            new PropertyModel.WritableObjectPropertyKey<>(true);
     public static final PropertyModel
             .WritableObjectPropertyKey<String> LEFT_BUTTON_CONTENT_DESCRIPTION =
             new PropertyModel.WritableObjectPropertyKey<>();
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerProperties.java
index 15bb6377b..ed8c343 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerProperties.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerProperties.java
@@ -22,8 +22,8 @@
      * Integer, but not {@link PropertyModel.WritableIntPropertyKey} so that we can force update on
      * the same value.
      */
-    public static final PropertyModel.WritableObjectPropertyKey INITIAL_SCROLL_INDEX =
-            new PropertyModel.WritableObjectPropertyKey(true);
+    public static final PropertyModel.WritableObjectPropertyKey<Integer> INITIAL_SCROLL_INDEX =
+            new PropertyModel.WritableObjectPropertyKey<>(true);
 
     public static final PropertyModel.WritableBooleanPropertyKey ANIMATE_VISIBILITY_CHANGES =
             new PropertyModel.WritableBooleanPropertyKey();
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
index 6b0729d..7e045fe 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
@@ -780,6 +780,7 @@
                     int index = mModel.indexFromId(currentGroupSelectedTab.getId());
                     if (index == TabModel.INVALID_TAB_INDEX) return;
                     mModel.get(index).model.set(TabProperties.TITLE, title);
+                    updateDescriptionString(PseudoTab.fromTab(tab), mModel.get(index).model);
                 }
 
                 @Override
@@ -1018,6 +1019,7 @@
         mModel.get(index).model.set(TabProperties.TAB_SELECTED_LISTENER, tabSelectedListener);
         mModel.get(index).model.set(TabProperties.IS_SELECTED, isSelected);
         mModel.get(index).model.set(TabProperties.TITLE, getLatestTitleForTab(pseudoTab));
+        updateDescriptionString(pseudoTab, mModel.get(index).model);
         if (isRealTab) {
             mModel.get(index).model.set(
                     TabProperties.URL_DOMAIN, getDomainForTab(pseudoTab.getTab()));
@@ -1275,6 +1277,7 @@
         } else {
             tabInfo.set(TabProperties.TAB_SELECTED_LISTENER, tabSelectedListener);
             tabInfo.set(TabProperties.TAB_CLOSED_LISTENER, isRealTab ? mTabClosedListener : null);
+            updateDescriptionString(pseudoTab, tabInfo);
         }
 
         if (index >= mModel.size()) {
@@ -1332,6 +1335,20 @@
         return TextUtils.join(", ", domainNames);
     }
 
+    private void updateDescriptionString(PseudoTab pseudoTab, PropertyModel model) {
+        if (!mActionsOnAllRelatedTabs) return;
+        int numOfRelatedTabs = getRelatedTabsForId(pseudoTab.getId()).size();
+        if (numOfRelatedTabs > 1) {
+            String title = getLatestTitleForTab(pseudoTab);
+            title = title.equals(pseudoTab.getTitle(mTitleProvider)) ? "" : title;
+            model.set(TabProperties.CONTENT_DESCRIPTION_STRING,
+                    mContext.getString(R.string.accessibility_expand_tab_group, title,
+                            String.valueOf(numOfRelatedTabs)));
+        } else {
+            model.set(TabProperties.CONTENT_DESCRIPTION_STRING, null);
+        }
+    }
+
     @VisibleForTesting
     protected static String getDomain(Tab tab) {
         // TODO(crbug.com/1116613) Investigate how uninitialized Tabs are appearing
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
index 3d656c6b..3f885f8 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
@@ -73,8 +73,8 @@
     public static final PropertyModel.WritableObjectPropertyKey<TabListMediator.TabActionListener>
             SELECTABLE_TAB_CLICKED_LISTENER = new PropertyModel.WritableObjectPropertyKey<>();
 
-    public static final WritableObjectPropertyKey<SelectionDelegate> TAB_SELECTION_DELEGATE =
-            new WritableObjectPropertyKey<>();
+    public static final WritableObjectPropertyKey<SelectionDelegate<Integer>>
+            TAB_SELECTION_DELEGATE = new WritableObjectPropertyKey<>();
 
     public static final PropertyModel.ReadableBooleanPropertyKey IS_INCOGNITO =
             new PropertyModel.ReadableBooleanPropertyKey();
@@ -109,6 +109,9 @@
     public static final PropertyModel.WritableIntPropertyKey SEARCH_CHIP_ICON_DRAWABLE_ID =
             new PropertyModel.WritableIntPropertyKey();
 
+    public static final WritableObjectPropertyKey<String> CONTENT_DESCRIPTION_STRING =
+            new WritableObjectPropertyKey<>();
+
     public static final PropertyKey[] ALL_KEYS_TAB_GRID = new PropertyKey[] {TAB_ID,
             TAB_SELECTED_LISTENER, TAB_CLOSED_LISTENER, FAVICON, THUMBNAIL_FETCHER, IPH_PROVIDER,
             TITLE, IS_SELECTED, CHECKED_DRAWABLE_STATE_LIST, CREATE_GROUP_LISTENER, CARD_ALPHA,
@@ -116,7 +119,8 @@
             IS_INCOGNITO, SELECTED_TAB_BACKGROUND_DRAWABLE_ID, TABSTRIP_FAVICON_BACKGROUND_COLOR_ID,
             SELECTABLE_TAB_ACTION_BUTTON_BACKGROUND,
             SELECTABLE_TAB_ACTION_BUTTON_SELECTED_BACKGROUND, URL_DOMAIN, ACCESSIBILITY_DELEGATE,
-            SEARCH_QUERY, SEARCH_LISTENER, SEARCH_CHIP_ICON_DRAWABLE_ID, CARD_TYPE};
+            SEARCH_QUERY, SEARCH_LISTENER, SEARCH_CHIP_ICON_DRAWABLE_ID, CARD_TYPE,
+            CONTENT_DESCRIPTION_STRING};
 
     public static final PropertyKey[] ALL_KEYS_TAB_STRIP =
             new PropertyKey[] {TAB_ID, TAB_SELECTED_LISTENER, TAB_CLOSED_LISTENER, FAVICON,
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
index 083dc8d..ded81ee0 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
@@ -489,10 +489,9 @@
                                       .getCurrentTabModelFilter()
                                       .indexOf(tab);
 
-                if (fromIndex != toIndex || fromTab.getId() == tab.getId()) {
+                if (fromIndex != toIndex) {
                     // Only log when you switch a tab page directly from tab switcher.
-                    if (!TabUiFeatureUtilities.isTabGroupsAndroidEnabled()
-                            || getRelatedTabs(tab.getId()).size() == 1) {
+                    if (getRelatedTabs(tab.getId()).size() == 1) {
                         RecordUserAction.record(
                                 "MobileTabSwitched." + TabSwitcherCoordinator.COMPONENT_NAME);
                     }
@@ -679,8 +678,6 @@
         }
         if (mTabModelSelector.getCurrentTab() == null) return false;
 
-        recordUserSwitchedTab(
-                mTabModelSelector.getCurrentTab(), mTabModelSelector.getCurrentTabId());
         onTabSelecting(mTabModelSelector.getCurrentTabId());
 
         return true;
diff --git a/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd b/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd
index e94261f..966e5b5 100644
--- a/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd
+++ b/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings.grd
@@ -243,6 +243,11 @@
         Share group
       </message>
 
+      <!-- Tab Grid Dialog accessibility strings -->
+      <message name="IDS_ACCESSIBILITY_EXPAND_TAB_GROUP" desc="The accessibility text to read when a card representing a tab group is clicked in grid tab switcher. TITLE_OF_GROUP is the title of the group. Note that TITLE_OF_GROUP can be an empty string. NUMBER_OF_TABS is the number of tabs within this group. Note that there are always at least two tabs in a group so plural form should always be used.">
+        Expand <ph name="TITLE_OF_GROUP">%1$s<ex>Shopping cart</ex></ph> tab group with <ph name="NUMBER_OF_TABS">%2$s<ex>2</ex></ph> tabs.
+      </message>
+
       <!-- Tab Grid Drag-and-drop IPH strings -->
       <message name="IDS_IPH_DRAG_AND_DROP_INTRODUCTION" desc="This text shows on the entry point for the in-product help for drag-and-drop. It introduces that this IPH is about how to use drag-and-drop.">
         Drag tabs to group them
diff --git a/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings_grd/IDS_ACCESSIBILITY_EXPAND_TAB_GROUP.png.sha1 b/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings_grd/IDS_ACCESSIBILITY_EXPAND_TAB_GROUP.png.sha1
new file mode 100644
index 0000000..82eede3
--- /dev/null
+++ b/chrome/android/features/tab_ui/java/strings/android_chrome_tab_ui_strings_grd/IDS_ACCESSIBILITY_EXPAND_TAB_GROUP.png.sha1
@@ -0,0 +1 @@
+9373a6f14ca83217bbf7669ab57ebaa4ced1f122
\ No newline at end of file
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogTest.java
index fb8cba55..cb77db86 100644
--- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogTest.java
+++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogTest.java
@@ -4,6 +4,9 @@
 
 package org.chromium.chrome.browser.tasks.tab_management;
 
+import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_AUTO;
+import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS;
+
 import static androidx.test.espresso.Espresso.onView;
 import static androidx.test.espresso.action.ViewActions.click;
 import static androidx.test.espresso.action.ViewActions.replaceText;
@@ -746,6 +749,78 @@
         verifyShowingDialog(cta, 1, null);
     }
 
+    @Test
+    @MediumTest
+    public void testAdjustBackGroundViewAccessibilityImportance() {
+        final ChromeTabbedActivity cta = mActivityTestRule.getActivity();
+        createTabs(cta, false, 2);
+        enterTabSwitcher(cta);
+        verifyTabSwitcherCardCount(cta, 2);
+        mergeAllNormalTabsToAGroup(cta);
+        verifyTabSwitcherCardCount(cta, 1);
+
+        // Verify accessibility importance adjustment when opening dialog from tab switcher.
+        openDialogFromTabSwitcherAndVerify(cta, 2, null);
+        verifyBackgroundViewAccessibilityImportance(cta, true);
+        Espresso.pressBack();
+        waitForDialogHidingAnimationInTabSwitcher(cta);
+        verifyBackgroundViewAccessibilityImportance(cta, false);
+
+        // Verify accessibility importance adjustment when opening dialog from tab strip.
+        openDialogFromTabSwitcherAndVerify(cta, 2, null);
+        clickFirstTabInDialog(cta);
+        waitForDialogHidingAnimation(cta);
+        openDialogFromStripAndVerify(cta, 2, null);
+        verifyBackgroundViewAccessibilityImportance(cta, true);
+        Espresso.pressBack();
+        waitForDialogHidingAnimation(cta);
+        verifyBackgroundViewAccessibilityImportance(cta, false);
+    }
+
+    @Test
+    @MediumTest
+    @Features.EnableFeatures({ChromeFeatureList.TAB_GROUPS_CONTINUATION_ANDROID})
+    public void testAccessibilityString() throws ExecutionException {
+        final ChromeTabbedActivity cta = mActivityTestRule.getActivity();
+        createTabs(cta, false, 3);
+        enterTabSwitcher(cta);
+        verifyTabSwitcherCardCount(cta, 3);
+        mergeAllNormalTabsToAGroup(cta);
+        verifyTabSwitcherCardCount(cta, 1);
+
+        // Verify the initial content description.
+        RecyclerView recyclerView = cta.findViewById(R.id.tab_list_view);
+        View firstItem = recyclerView.findViewHolderForAdapterPosition(0).itemView;
+        String targetString = "Expand  tab group with 3 tabs.";
+        assertEquals(targetString, firstItem.getContentDescription());
+
+        // Content description should update with group title.
+        openDialogFromTabSwitcherAndVerify(cta, 3, null);
+        editDialogTitle(cta, CUSTOMIZED_TITLE1);
+        clickScrimToExitDialog(cta);
+        waitForDialogHidingAnimationInTabSwitcher(cta);
+        verifyFirstCardTitle(CUSTOMIZED_TITLE1);
+        targetString = String.format("Expand %s tab group with 3 tabs.", CUSTOMIZED_TITLE1);
+        assertEquals(targetString, firstItem.getContentDescription());
+
+        // Content description should update with group count change.
+        openDialogFromTabSwitcherAndVerify(cta, 3, CUSTOMIZED_TITLE1);
+        closeFirstTabInDialog();
+        verifyShowingDialog(cta, 2, CUSTOMIZED_TITLE1);
+        clickScrimToExitDialog(cta);
+        waitForDialogHidingAnimationInTabSwitcher(cta);
+        targetString = String.format("Expand %s tab group with 2 tabs.", CUSTOMIZED_TITLE1);
+        assertEquals(targetString, firstItem.getContentDescription());
+
+        // Content description should restore when the group becomes a single tab.
+        openDialogFromTabSwitcherAndVerify(cta, 2, CUSTOMIZED_TITLE1);
+        closeFirstTabInDialog();
+        verifyShowingDialog(cta, 1, "1 tab");
+        clickScrimToExitDialog(cta);
+        waitForDialogHidingAnimationInTabSwitcher(cta);
+        assertEquals(null, firstItem.getContentDescription());
+    }
+
     private void openDialogFromTabSwitcherAndVerify(
             ChromeTabbedActivity cta, int tabCount, String customizedTitle) {
         clickFirstCardFromTabSwitcher(cta);
@@ -955,4 +1030,24 @@
             scrimView.performClick();
         });
     }
+
+    private void verifyBackgroundViewAccessibilityImportance(
+            ChromeTabbedActivity cta, boolean isDialogShowing) {
+        View controlContainer = cta.findViewById(R.id.control_container);
+        assertEquals(isDialogShowing ? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
+                                     : IMPORTANT_FOR_ACCESSIBILITY_AUTO,
+                controlContainer.getImportantForAccessibility());
+        View bottomControls = cta.findViewById(R.id.bottom_controls);
+        assertEquals(isDialogShowing ? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
+                                     : IMPORTANT_FOR_ACCESSIBILITY_AUTO,
+                bottomControls.getImportantForAccessibility());
+        View compositorViewHolder = cta.getCompositorViewHolder();
+        assertEquals(isDialogShowing ? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
+                                     : IMPORTANT_FOR_ACCESSIBILITY_AUTO,
+                compositorViewHolder.getImportantForAccessibility());
+        View bottomContainer = cta.findViewById(R.id.bottom_container);
+        assertEquals(isDialogShowing ? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
+                                     : IMPORTANT_FOR_ACCESSIBILITY_AUTO,
+                bottomContainer.getImportantForAccessibility());
+    }
 }
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelViewBinderTest.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelViewBinderTest.java
index cced52f..d0c50e1 100644
--- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelViewBinderTest.java
+++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridPanelViewBinderTest.java
@@ -295,7 +295,7 @@
         Assert.assertEquals(
                 normalResourceId, mTabGridDialogView.getBackgroundDrawableResourceIdForTesting());
 
-        mModel.set(TabGridPanelProperties.DIALOG_BACKGROUND_RESOUCE_ID, incognitoResourceId);
+        mModel.set(TabGridPanelProperties.DIALOG_BACKGROUND_RESOURCE_ID, incognitoResourceId);
 
         Assert.assertEquals(incognitoResourceId,
                 mTabGridDialogView.getBackgroundDrawableResourceIdForTesting());
diff --git a/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediatorUnitTest.java b/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediatorUnitTest.java
index ade35d37..76b805f 100644
--- a/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediatorUnitTest.java
+++ b/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediatorUnitTest.java
@@ -21,6 +21,7 @@
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.refEq;
+import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
@@ -1396,6 +1397,14 @@
     @Features.EnableFeatures({TAB_GROUPS_CONTINUATION_ANDROID})
     public void updateTabGroupTitle_GTS() {
         setUpForTabGroupOperation(TabListMediatorType.TAB_SWITCHER);
+        doAnswer(invocation -> {
+            String title = invocation.getArgument(1);
+            String num = invocation.getArgument(2);
+            return String.format("Expand %s tab group with %s tabs.", title, num);
+        })
+                .when(mContext)
+                .getString(anyInt(), anyString(), anyString());
+        String targetString = "Expand  tab group with 2 tabs.";
         assertThat(mModel.get(POSITION1).model.get(TabProperties.TITLE), equalTo(TAB1_TITLE));
 
         // Mock that tab1 and newTab are in the same group and group root id is TAB1_ID.
@@ -1409,6 +1418,8 @@
 
         assertThat(mModel.get(POSITION1).model.get(TabProperties.TITLE),
                 equalTo(CUSTOMIZED_DIALOG_TITLE1));
+        assertThat(mModel.get(POSITION1).model.get(TabProperties.CONTENT_DESCRIPTION_STRING),
+                equalTo(targetString));
     }
 
     @Test
@@ -2197,6 +2208,42 @@
         TabListMediator.getDomain(tab);
     }
 
+    @Test
+    public void testTabDescriptionStringSetup() {
+        setUpForTabGroupOperation(TabListMediatorType.TAB_SWITCHER);
+        // Setup the string template.
+        doAnswer(invocation -> {
+            String title = invocation.getArgument(1);
+            String num = invocation.getArgument(2);
+            return String.format("Expand %s tab group with %s tabs.", title, num);
+        })
+                .when(mContext)
+                .getString(anyInt(), anyString(), anyString());
+        String targetString = "Expand  tab group with 2 tabs.";
+
+        // Setup a tab group with {tab2, tab3}.
+        List<Tab> tabs = new ArrayList<>();
+        for (int i = 0; i < mTabModel.getCount(); i++) {
+            tabs.add(mTabModel.getTabAt(i));
+        }
+        TabImpl tab3 = prepareTab(TAB3_ID, TAB3_TITLE, TAB3_URL);
+        List<Tab> group1 = new ArrayList<>(Arrays.asList(mTab2, tab3));
+        createTabGroup(group1, TAB2_ID);
+
+        // Reset with show quickly.
+        assertThat(mMediator.resetWithListOfTabs(PseudoTab.getListOfPseudoTab(tabs), false, false),
+                equalTo(true));
+        assertThat(mModel.get(POSITION2).model.get(TabProperties.CONTENT_DESCRIPTION_STRING),
+                equalTo(targetString));
+
+        // Reset without show quickly.
+        mModel.clear();
+        assertThat(mMediator.resetWithListOfTabs(PseudoTab.getListOfPseudoTab(tabs), false, false),
+                equalTo(false));
+        assertThat(mModel.get(POSITION2).model.get(TabProperties.CONTENT_DESCRIPTION_STRING),
+                equalTo(targetString));
+    }
+
     private void initAndAssertAllProperties() {
         List<Tab> tabs = new ArrayList<>();
         for (int i = 0; i < mTabModel.getCount(); i++) {
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedListContentManager.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedListContentManager.java
index 78780c3..9b876a90 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedListContentManager.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedListContentManager.java
@@ -8,8 +8,11 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
+import android.view.ViewParent;
 import android.widget.FrameLayout;
 
+import androidx.annotation.Nullable;
+
 import org.chromium.chrome.browser.xsurface.FeedActionsHandler;
 import org.chromium.chrome.browser.xsurface.ListContentManager;
 import org.chromium.chrome.browser.xsurface.ListContentManagerObserver;
@@ -79,9 +82,11 @@
      * For the content that is supported by the native view.
      */
     public static class NativeViewContent extends FeedContent {
-        private FrameLayout mEnclosingLayout;
         private View mNativeView;
         private int mResId;
+        // An unique ID for this NativeViewContent. This is initially 0, and assigned by
+        // FeedListContentManager when needed.
+        private int mViewType;
 
         /** Holds an inflated native view. */
         public NativeViewContent(String key, View nativeView) {
@@ -104,13 +109,32 @@
                 mNativeView =
                         LayoutInflater.from(parent.getContext()).inflate(mResId, parent, false);
             }
-            if (mEnclosingLayout == null) {
-                mEnclosingLayout = new FrameLayout(parent.getContext());
-                mEnclosingLayout.setLayoutParams(
-                        new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
-                mEnclosingLayout.addView(mNativeView);
+
+            // If there's already a parent, we have already enclosed this view previously.
+            // This can happen if a native view is added, removed, and added again.
+            ViewParent nativeViewParent = mNativeView.getParent();
+            if (nativeViewParent != null) {
+                assert nativeViewParent instanceof View;
+                return (View) nativeViewParent;
             }
-            return mEnclosingLayout;
+
+            FrameLayout enclosingLayout = new FrameLayout(parent.getContext());
+            enclosingLayout.setLayoutParams(
+                    new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
+            enclosingLayout.addView(mNativeView);
+            return enclosingLayout;
+        }
+
+        int getViewType() {
+            return mViewType;
+        }
+
+        void setViewType(int viewType) {
+            mViewType = viewType;
+        }
+
+        public View getNestedView() {
+            return mNativeView;
         }
 
         @Override
@@ -122,6 +146,7 @@
     private ArrayList<FeedContent> mFeedContentList;
     private ArrayList<ListContentManagerObserver> mObservers;
     private final Map<String, Object> mHandlers;
+    private int mPreviousViewType;
 
     FeedListContentManager(
             SurfaceActionsHandler surfaceActionsHandler, FeedActionsHandler feedActionsHandler) {
@@ -251,10 +276,18 @@
     }
 
     @Override
-    public View getNativeView(int index, ViewGroup parent) {
-        assert mFeedContentList.get(index).isNativeView();
-        NativeViewContent nativeViewContent = (NativeViewContent) mFeedContentList.get(index);
-        return nativeViewContent.getNativeView(parent);
+    public int getViewType(int position) {
+        assert mFeedContentList.get(position).isNativeView();
+        NativeViewContent content = (NativeViewContent) mFeedContentList.get(position);
+        if (content.getViewType() == 0) content.setViewType(++mPreviousViewType);
+        return content.getViewType();
+    }
+
+    @Override
+    public View getNativeView(int viewType, ViewGroup parent) {
+        NativeViewContent viewContent = findNativeViewByType(viewType);
+        assert viewContent != null;
+        return viewContent.getNativeView(parent);
     }
 
     @Override
@@ -276,4 +309,17 @@
     public void removeObserver(ListContentManagerObserver observer) {
         mObservers.remove(observer);
     }
+
+    @Nullable
+    private NativeViewContent findNativeViewByType(int viewType) {
+        // Note: since there's relatively few native views, they're mostly at the front, a linear
+        // search isn't terrible. This function is also called infrequently.
+        for (int i = 0; i < mFeedContentList.size(); i++) {
+            FeedContent item = mFeedContentList.get(i);
+            if (!item.isNativeView()) continue;
+            NativeViewContent nativeContent = (NativeViewContent) item;
+            if (nativeContent.getViewType() == viewType) return nativeContent;
+        }
+        return null;
+    }
 }
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedStreamSurface.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedStreamSurface.java
index f77c833..988ce1b 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedStreamSurface.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/FeedStreamSurface.java
@@ -23,6 +23,7 @@
 import org.chromium.base.annotations.JNINamespace;
 import org.chromium.base.annotations.NativeMethods;
 import org.chromium.base.task.PostTask;
+import org.chromium.base.task.TaskTraits;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.feed.shared.ScrollTracker;
@@ -250,6 +251,23 @@
         public void logWarning(String tag, String format, Object... args) {
             Log.w(tag, format, args);
         }
+
+        @Override
+        public void postTask(int taskType, Runnable task, long delayMs) {
+            TaskTraits traits;
+            switch (taskType) {
+                case ProcessScopeDependencyProvider.TASK_TYPE_UI_THREAD:
+                    traits = UiThreadTaskTraits.DEFAULT;
+                    break;
+                case ProcessScopeDependencyProvider.TASK_TYPE_BACKGROUND_MAY_BLOCK:
+                    traits = TaskTraits.BEST_EFFORT_MAY_BLOCK;
+                    break;
+                default:
+                    assert false : "Invalid task type";
+                    return;
+            }
+            PostTask.postDelayedTask(traits, task, delayMs);
+        }
     }
 
     /**
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/NativeViewListRenderer.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/NativeViewListRenderer.java
index 0a356ec..bde5127 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/NativeViewListRenderer.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/v2/NativeViewListRenderer.java
@@ -55,11 +55,9 @@
 
     @Override
     public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-        // viewType is same as position.
-        int position = viewType;
         View v;
-        if (mManager.isNativeView(position)) {
-            v = mManager.getNativeView(position, parent);
+        if (viewType >= 0) {
+            v = mManager.getNativeView(viewType, parent);
         } else {
             TextView textView = new TextView(ContextUtils.getApplicationContext());
             String message = "Unable to render external view";
@@ -71,7 +69,8 @@
 
     @Override
     public int getItemViewType(int position) {
-        return position;
+        if (!mManager.isNativeView(position)) return -1;
+        return mManager.getViewType(position);
     }
 
     /* HybridListRenderer methods */
diff --git a/chrome/android/java/res/drawable/action_bar_activity_bg.xml b/chrome/android/java/res/drawable/action_bar_activity_bg.xml
deleted file mode 100644
index 45759c6..0000000
--- a/chrome/android/java/res/drawable/action_bar_activity_bg.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2015 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. -->
-
-<!-- On pre-KitKat devices the window background extends above the action bar
-     and is normally hidden behind the status bar, but during window
-     transitions, is visible and looks glitchy. As a workaround, we make the top
-     50dp of the window background transparent. 50dp is greater than the status
-     bar height (to prevent the visual glitch) and less than the status bar +
-     action bar height (to ensure the background covers the entire activity). On
-     KitKat and later devices, Android clips the window background correctly and
-     these shenanigans aren't needed. http://crbug.com/448012 -->
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item
-        android:drawable="@color/default_bg_color"
-        android:top="50dp" />
-</layer-list>
diff --git a/chrome/android/java/res/drawable/ic_sync_badge_error_20dp.xml b/chrome/android/java/res/drawable/ic_sync_badge_error_20dp.xml
new file mode 100644
index 0000000..62b1d3a
--- /dev/null
+++ b/chrome/android/java/res/drawable/ic_sync_badge_error_20dp.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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. -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:width="20dp"
+    android:height="20dp"
+    tools:targetApi="21"
+    android:viewportWidth="22"
+    android:viewportHeight="22">
+
+    <path
+        android:strokeWidth="1"
+        android:pathData="M11,21.5C16.799,21.5 21.5,16.799 21.5,11C21.5,5.201 16.799,0.5 11,0.5C5.201,0.5 0.5,5.201 0.5,11C0.5,16.799 5.201,21.5 11,21.5Z"
+        android:fillColor="@color/default_text_color_error"
+        android:strokeColor="@color/default_bg_color"/>
+    <path
+        android:pathData="M9.7501,7.4688V6.1625C9.2501,6.2937 8.7814,6.5 8.3563,6.7625L9.2689,7.675C9.4251,7.6 9.5814,7.525 9.7501,7.4688ZM5.2876,6.8812L6.7626,8.3562C6.2814,9.1187 6.0001,10.025 6.0001,11C6.0001,12.3812 6.5689,13.625 7.4751,14.525L6.0001,16H9.7501V12.25L8.3501,13.65C7.6751,12.9688 7.2501,12.0375 7.2501,11C7.2501,10.375 7.4064,9.7875 7.6751,9.2688L12.7251,14.3187C12.5688,14.4 12.4126,14.475 12.2438,14.5312V15.8375C12.7438,15.7063 13.2126,15.5 13.6376,15.2375L15.1126,16.7125L15.9063,15.9188L6.0876,6.0875L5.2876,6.8812ZM16.0001,6H12.2501V9.75L13.6501,8.35C14.3251,9.0313 14.7501,9.9625 14.7501,11C14.7501,11.625 14.5938,12.2125 14.3251,12.7313L15.2376,13.6437C15.7188,12.8812 16.0001,11.975 16.0001,11C16.0001,9.6187 15.4313,8.375 14.5251,7.475L16.0001,6Z"
+        android:fillColor="@color/default_bg_color"/>
+</vector>
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml
index 0dc2577..a98c9d8 100644
--- a/chrome/android/java/res/values/styles.xml
+++ b/chrome/android/java/res/values/styles.xml
@@ -42,9 +42,6 @@
         <!-- With ActionBar -->
         <item name="windowActionBar">true</item>
         <item name="windowNoTitle">false</item>
-
-        <!-- Window properties -->
-        <item name="android:windowBackground">@drawable/action_bar_activity_bg</item>
     </style>
 
     <style name="Base.Theme.Chromium.WithWindowAnimation">
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AssistStatusHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/AssistStatusHandler.java
deleted file mode 100644
index 8b1359a..0000000
--- a/chrome/android/java/src/org/chromium/chrome/browser/AssistStatusHandler.java
+++ /dev/null
@@ -1,105 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser;
-
-import android.app.Activity;
-import android.os.Build;
-import android.view.View;
-
-import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver;
-import org.chromium.chrome.browser.tabmodel.TabModelSelector;
-import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-/**
- * Handler for tracking and updating the assist status for a given activity.
- */
-public class AssistStatusHandler {
-    private final Activity mActivity;
-    private final TabModelSelectorObserver mSelectorObserver;
-
-    private Boolean mAssistSupported;
-    private TabModelSelector mTabModelSelector;
-    private Method mSetAssistBlockedMethod;
-
-    /**
-     * Builds an assist status handler for the specified activity.
-     * @param activity The activity whose assist status should be updated.
-     */
-    public AssistStatusHandler(Activity activity) {
-        mActivity = activity;
-
-        mSelectorObserver = new EmptyTabModelSelectorObserver() {
-            @Override
-            public void onChange() {
-                updateAssistState();
-            }
-        };
-    }
-
-    /**
-     * Set the selector that the assist handler should track for tab updates.
-     * @param selector The selector broadcasting tab updates for the activity associated with
-     *                 this handler.
-     */
-    public void setTabModelSelector(TabModelSelector selector) {
-        if (mTabModelSelector != null) {
-            mTabModelSelector.removeObserver(mSelectorObserver);
-        }
-
-        mTabModelSelector = selector;
-        if (mTabModelSelector != null) {
-            mTabModelSelector.addObserver(mSelectorObserver);
-        }
-
-        updateAssistState();
-    }
-
-    /**
-     * Destroy the handler and removes any remaining dependencies.
-     */
-    public void destroy() {
-        if (mTabModelSelector != null) {
-            mTabModelSelector.removeObserver(mSelectorObserver);
-            mTabModelSelector = null;
-        }
-    }
-
-    /**
-     * @return Whether assist is currently supported based on the Activity state.
-     */
-    public boolean isAssistSupported() {
-        return mTabModelSelector == null || !mTabModelSelector.isIncognitoSelected();
-    }
-
-    /**
-     * Trigger an update of the assist state.
-     */
-    public final void updateAssistState() {
-        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return;
-
-        boolean isAssistSupported = isAssistSupported();
-        if (mAssistSupported == null || mAssistSupported != isAssistSupported) {
-            if (mSetAssistBlockedMethod == null) {
-                try {
-                    mSetAssistBlockedMethod =
-                            View.class.getMethod("setAssistBlocked", boolean.class);
-                } catch (NoSuchMethodException e) {
-                    return;
-                }
-            }
-            View rootContent = mActivity.findViewById(android.R.id.content);
-            try {
-                mSetAssistBlockedMethod.invoke(rootContent, !isAssistSupported);
-            } catch (IllegalAccessException | IllegalArgumentException
-                    | InvocationTargetException e) {
-                return;
-            }
-        }
-        mAssistSupported = isAssistSupported;
-    }
-}
\ No newline at end of file
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
index a8d1f98c..d6040e2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -5,7 +5,6 @@
 package org.chromium.chrome.browser;
 
 import android.annotation.TargetApi;
-import android.app.Activity;
 import android.app.ActivityManager;
 import android.content.ComponentName;
 import android.content.Context;
@@ -58,7 +57,6 @@
 import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
 import org.chromium.chrome.browser.compositor.CompositorViewHolder;
 import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
-import org.chromium.chrome.browser.compositor.layouts.EmptyOverviewModeObserver;
 import org.chromium.chrome.browser.compositor.layouts.Layout;
 import org.chromium.chrome.browser.compositor.layouts.LayoutManager;
 import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
@@ -289,7 +287,6 @@
     private final ObservableSupplierImpl<OverviewModeBehavior> mOverviewModeBehaviorSupplier =
             new ObservableSupplierImpl<>();
     private OverviewModeController mOverviewModeController;
-    private OverviewModeBehavior.OverviewModeObserver mOverviewModeObserver;
 
     private ObservableSupplierImpl<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier =
             new ObservableSupplierImpl<>();
@@ -317,22 +314,6 @@
         }
     };
 
-    private class TabbedAssistStatusHandler extends AssistStatusHandler {
-        public TabbedAssistStatusHandler(Activity activity) {
-            super(activity);
-        }
-
-        @Override
-        public boolean isAssistSupported() {
-            // If we are in the tab switcher and any incognito tabs are present, disable assist.
-            if (isInOverviewMode() && mTabModelSelectorImpl != null
-                    && mTabModelSelectorImpl.getModel(true).getCount() > 0) {
-                return false;
-            }
-            return super.isAssistSupported();
-        }
-    }
-
     /**
      * Return whether the passed in component name matches any of the supported tabbed mode
      * activities.
@@ -580,6 +561,8 @@
             }
             mLayoutManager = new LayoutManagerChromePhone(
                     compositorViewHolder, mContentContainer, mStartSurface);
+            mOverviewModeController = mLayoutManager;
+            mOverviewModeBehaviorSupplier.set(mOverviewModeController);
         }
     }
 
@@ -590,6 +573,8 @@
                      "ChromeTabbedActivity.setupCompositorContentPreNativeForTablet")) {
             mLayoutManager =
                     new LayoutManagerChromeTablet(getCompositorViewHolder(), mContentContainer);
+            mOverviewModeController = mLayoutManager;
+            mOverviewModeBehaviorSupplier.set(mOverviewModeController);
         }
     }
 
@@ -725,41 +710,10 @@
         }
     }
 
-    private void addOverviewModeObserverPreNative() {
-        try (TraceEvent e = TraceEvent.scoped(
-                     "ChromeTabbedActivity.addOverviewModeObserverPreNative")) {
-            mOverviewModeController = mLayoutManager;
-            mOverviewModeBehaviorSupplier.set(mOverviewModeController);
+    private void initJourneyManager() {
+        assert mOverviewModeController != null;
 
-            // TODO(crbug.com/1108496): Move this to the assistant code.
-            mOverviewModeObserver = new EmptyOverviewModeObserver() {
-                @Override
-                public void onOverviewModeStartedShowing(boolean showToolbar) {
-                    if (getAssistStatusHandler() != null) {
-                        getAssistStatusHandler().updateAssistState();
-                    }
-                }
-
-                @Override
-                public void onOverviewModeFinishedHiding() {
-                    if (getAssistStatusHandler() != null) {
-                        getAssistStatusHandler().updateAssistState();
-                    }
-                }
-            };
-            mOverviewModeController.addOverviewModeObserver(mOverviewModeObserver);
-        }
-    }
-
-    private void addOverviewModeObserverPostNative() {
-        try (TraceEvent e = TraceEvent.scoped(
-                     "ChromeTabbedActivity.addOverviewModeObserverPostNative")) {
-            if (mOverviewModeObserver == null) {
-                addOverviewModeObserverPreNative();
-            }
-
-            // TODO(crbug.com/1108496): This does not seem to be related to OverviewMode. Move this
-            // to a proper place.
+        try (TraceEvent e = TraceEvent.scoped("ChromeTabbedActivity.initJourneyManager")) {
             if (ChromeFeatureList.isEnabled(ChromeFeatureList.TAB_ENGAGEMENT_REPORTING_ANDROID)) {
                 // The lifecycle of this object is managed by the lifecycle dispatcher.
                 new JourneyManager(getTabModelSelector(), getLifecycleDispatcher(),
@@ -810,7 +764,7 @@
 
             PostTask.postTask(UiThreadTaskTraits.DEFAULT,
                     this::maybeGetFeedAppLifecycleAndMaybeCreatePageViewObserver);
-            PostTask.postTask(UiThreadTaskTraits.DEFAULT, this::addOverviewModeObserverPostNative);
+            PostTask.postTask(UiThreadTaskTraits.DEFAULT, this::initJourneyManager);
             PostTask.postTask(UiThreadTaskTraits.DEFAULT, this::finishNativeInitialization);
             ChromeAccessibilityUtil.get().addObserver(this);
         }
@@ -970,11 +924,6 @@
                 .getToolbarButtonInProductHelpController();
     }
 
-    @Override
-    protected AssistStatusHandler createAssistStatusHandler() {
-        return new TabbedAssistStatusHandler(this);
-    }
-
     private void handleDebugIntent(Intent intent) {
         if (ACTION_CLOSE_TABS.equals(intent.getAction())) {
             getTabModelSelector().closeAllTabs();
@@ -1553,7 +1502,6 @@
                         TraceEvent.scoped("ChromeTabbedActivity.prepareToShowStartPagePreNative")) {
             setupCompositorContentPreNativeForPhone();
             getCompositorViewHolder().setLayoutManager(mLayoutManager);
-            addOverviewModeObserverPreNative();
 
             if (shouldShowTabSwitcherOnStart()) {
                 mLayoutManager.setTabModelSelector(mTabModelSelectorImpl);
@@ -2085,10 +2033,6 @@
             mCallbackController = null;
         }
 
-        if (mOverviewModeController != null && mOverviewModeObserver != null) {
-            mOverviewModeController.removeOverviewModeObserver(mOverviewModeObserver);
-        }
-
         if (mTabModelSelectorTabObserver != null) {
             mTabModelSelectorTabObserver.destroy();
             mTabModelSelectorTabObserver = null;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
index 2de2624..1d972f47 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
@@ -591,7 +591,7 @@
     public static int getReferrerPolicyFromIntent(Intent intent) {
         int policy =
                 IntentUtils.safeGetIntExtra(intent, EXTRA_REFERRER_POLICY, ReferrerPolicy.DEFAULT);
-        if (policy < 0 || policy >= ReferrerPolicy.LAST) {
+        if (policy < ReferrerPolicy.MIN_VALUE || policy >= ReferrerPolicy.MAX_VALUE) {
             policy = ReferrerPolicy.DEFAULT;
         }
         return policy;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
index 4c33f321..529a170 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -53,7 +53,6 @@
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.ActivityTabProvider;
 import org.chromium.chrome.browser.AppHooks;
-import org.chromium.chrome.browser.AssistStatusHandler;
 import org.chromium.chrome.browser.ChromeActivitySessionTracker;
 import org.chromium.chrome.browser.ChromeApplication;
 import org.chromium.chrome.browser.ChromeVersionInfo;
@@ -289,8 +288,6 @@
     private final ManualFillingComponent mManualFillingComponent =
             ManualFillingComponentFactory.createComponent();
 
-    private AssistStatusHandler mAssistStatusHandler;
-
     // See enableHardwareAcceleration()
     private boolean mSetWindowHWA;
 
@@ -425,18 +422,11 @@
                 VrModuleProvider.getDelegate().maybeHandleVrIntentPreNative(this, intent);
             }
 
-            // TODO(1099750): Move this to the RootUiCoordinator.
-            mSnackbarManager = new SnackbarManager(
-                    this, findViewById(R.id.bottom_container), getWindowAndroid());
-            SnackbarManagerProvider.attach(getWindowAndroid(), mSnackbarManager);
+            BottomContainer bottomContainer = (BottomContainer) findViewById(R.id.bottom_container);
 
-            mAssistStatusHandler = createAssistStatusHandler();
-            if (mAssistStatusHandler != null) {
-                if (mTabModelSelector != null) {
-                    mAssistStatusHandler.setTabModelSelector(mTabModelSelector);
-                }
-                mAssistStatusHandler.updateAssistState();
-            }
+            // TODO(1099750): Move this to the RootUiCoordinator.
+            mSnackbarManager = new SnackbarManager(this, bottomContainer, getWindowAndroid());
+            SnackbarManagerProvider.attach(getWindowAndroid(), mSnackbarManager);
 
             // Make the activity listen to policy change events
             CombinedPolicyProvider.get().addPolicyChangeListener(this);
@@ -459,7 +449,6 @@
                         getControlContainerHeightResource());
             }
 
-            BottomContainer bottomContainer = (BottomContainer) findViewById(R.id.bottom_container);
             bottomContainer.initialize(getBrowserControlsManager(),
                     getWindowAndroid().getApplicationBottomInsetProvider());
             getLifecycleDispatcher().register(bottomContainer);
@@ -654,10 +643,6 @@
             }
         };
 
-        if (mAssistStatusHandler != null) {
-            mAssistStatusHandler.setTabModelSelector(mTabModelSelector);
-        }
-
         mTabModelsInitialized = true;
     }
 
@@ -711,20 +696,6 @@
     }
 
     /**
-     * @return The assist handler for this activity.
-     */
-    protected AssistStatusHandler getAssistStatusHandler() {
-        return mAssistStatusHandler;
-    }
-
-    /**
-     * @return A newly constructed assist handler for this given activity type.
-     */
-    protected AssistStatusHandler createAssistStatusHandler() {
-        return new AssistStatusHandler(this);
-    }
-
-    /**
      * @return The resource id for the layout to use for {@link ControlContainer}. 0 by default.
      */
     protected int getControlContainerLayoutId() {
@@ -1181,12 +1152,9 @@
     @Override
     @TargetApi(Build.VERSION_CODES.M)
     public void onProvideAssistContent(AssistContent outContent) {
-        if (getAssistStatusHandler() == null || !getAssistStatusHandler().isAssistSupported()) {
-            // No information is provided in incognito mode.
-            return;
-        }
         Tab tab = getActivityTab();
-        if (tab != null && !isInOverviewMode()) {
+        // No information is provided in incognito mode and overview mode.
+        if (tab != null && !tab.isIncognito() && !isInOverviewMode()) {
             outContent.setWebUri(Uri.parse(tab.getUrlString()));
         }
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
index 3bc312e..2f2f6c9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
@@ -54,6 +54,7 @@
                 ChromeFeatureList.CHROME_DUET_ADAPTIVE,
                 ChromeFeatureList.CHROME_DUET_LABELED,
                 ChromeFeatureList.CLOSE_TAB_SUGGESTIONS,
+                ChromeFeatureList.CRITICAL_PERSISTED_TAB_DATA,
                 ChromeFeatureList.COMMAND_LINE_ON_NON_ROOTED,
                 ChromeFeatureList.CONDITIONAL_TAB_STRIP_ANDROID,
                 ChromeFeatureList.DOWNLOADS_AUTO_RESUMPTION_NATIVE,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java
index 2d4fec0..b02fc0e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java
@@ -278,7 +278,6 @@
             return mIsLocal;
         }
 
-        @VisibleForTesting
         public void setGUID(String guid) {
             mGUID = guid;
         }
@@ -299,7 +298,6 @@
             mCompanyName = companyName;
         }
 
-        @VisibleForTesting
         public void setStreetAddress(String streetAddress) {
             mStreetAddress = streetAddress;
         }
@@ -324,7 +322,6 @@
             mSortingCode = sortingCode;
         }
 
-        @VisibleForTesting
         public void setCountryCode(String countryCode) {
             mCountryCode = countryCode;
         }
@@ -337,7 +334,6 @@
             mEmailAddress = emailAddress;
         }
 
-        @VisibleForTesting
         public void setLanguageCode(String languageCode) {
             mLanguageCode = languageCode;
         }
@@ -512,7 +508,6 @@
             return mNickname;
         }
 
-        @VisibleForTesting
         public void setGUID(String guid) {
             mGUID = guid;
         }
@@ -525,7 +520,6 @@
             mName = name;
         }
 
-        @VisibleForTesting
         public void setNumber(String number) {
             mNumber = number;
         }
@@ -534,7 +528,6 @@
             mObfuscatedNumber = obfuscatedNumber;
         }
 
-        @VisibleForTesting
         public void setMonth(String month) {
             mMonth = month;
         }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/QualityEnforcer.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/QualityEnforcer.java
index 429fc80..8548e5e6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/QualityEnforcer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/QualityEnforcer.java
@@ -66,13 +66,13 @@
     // Do not modify or reuse existing entries, they are used in a UMA histogram. Please also edit
     // TrustedWebActivityQualityEnforcementViolationType in enums.xml if new value added.
     @IntDef({ViolationType.ERROR_404, ViolationType.ERROR_5XX, ViolationType.UNAVAILABLE_OFFLINE,
-            ViolationType.DIGITAL_ASSERTLINKS})
+            ViolationType.DIGITAL_ASSETLINKS})
     @Retention(RetentionPolicy.SOURCE)
     public @interface ViolationType {
         int ERROR_404 = 0;
         int ERROR_5XX = 1;
         int UNAVAILABLE_OFFLINE = 2;
-        int DIGITAL_ASSERTLINKS = 3;
+        int DIGITAL_ASSETLINKS = 3;
         int NUM_ENTRIES = 4;
     }
 
@@ -129,7 +129,7 @@
         String url = mIntentDataProvider.getUrlToLoad();
         mVerifier.verify(url).then((verified) -> {
             if (!verified) {
-                trigger(ViolationType.DIGITAL_ASSERTLINKS, mIntentDataProvider.getUrlToLoad(), 0);
+                trigger(ViolationType.DIGITAL_ASSETLINKS, mIntentDataProvider.getUrlToLoad(), 0);
             }
         });
     }
@@ -193,9 +193,9 @@
             case ViolationType.UNAVAILABLE_OFFLINE:
                 return ContextUtils.getApplicationContext().getString(
                         R.string.twa_quality_enforcement_violation_offline, url);
-            case ViolationType.DIGITAL_ASSERTLINKS:
+            case ViolationType.DIGITAL_ASSETLINKS:
                 return ContextUtils.getApplicationContext().getString(
-                        R.string.twa_quality_enforcement_violation_assert_link, url);
+                        R.string.twa_quality_enforcement_violation_asset_link, url);
             default:
                 return "";
         }
@@ -212,8 +212,8 @@
                 return httpStatusCode + " on " + url;
             case ViolationType.UNAVAILABLE_OFFLINE:
                 return "Page unavailable offline: " + url;
-            case ViolationType.DIGITAL_ASSERTLINKS:
-                return "Digital assert links verification failed on " + url;
+            case ViolationType.DIGITAL_ASSETLINKS:
+                return "Digital asset links verification failed on " + url;
             default:
                 return "";
         }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/DigitalGoodsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/DigitalGoodsAdapter.java
index 7b19e290..7b67b153 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/DigitalGoodsAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/DigitalGoodsAdapter.java
@@ -13,8 +13,8 @@
 
 import android.net.Uri;
 import android.os.Bundle;
-import android.os.RemoteException;
 
+import org.chromium.base.Log;
 import org.chromium.chrome.browser.browserservices.TrustedWebActivityClient;
 import org.chromium.components.embedder_support.util.Origin;
 import org.chromium.payments.mojom.DigitalGoods.AcknowledgeResponse;
@@ -28,6 +28,8 @@
  * Activity Client.
  */
 public class DigitalGoodsAdapter {
+    private static final String TAG = "DigitalGoods";
+
     public static final String COMMAND_ACKNOWLEDGE = "acknowledge";
     public static final String COMMAND_GET_DETAILS = "getDetails";
     public static final String KEY_SUCCESS = "success";
@@ -39,13 +41,20 @@
     }
 
     public void getDetails(Uri scope, String[] itemIds, GetDetailsResponse callback) {
+        // TODO(1096428): Combine this and the below method (the difficulty comes from callback
+        // being different types).
         mClient.connectAndExecute(scope, new TrustedWebActivityClient.ExecutionCallback() {
             @Override
-            public void onConnected(Origin origin, TrustedWebActivityServiceConnection service)
-                    throws RemoteException {
-                Bundle result = service.sendExtraCommand(COMMAND_GET_DETAILS,
-                        convertGetDetailsParams(itemIds),
-                        convertGetDetailsCallback(callback));
+            public void onConnected(Origin origin, TrustedWebActivityServiceConnection service) {
+                // Wrap this call so that crashes in the TWA client don't cause crashes in Chrome.
+                Bundle result = null;
+                try {
+                    result = service.sendExtraCommand(COMMAND_GET_DETAILS,
+                            convertGetDetailsParams(itemIds), convertGetDetailsCallback(callback));
+                } catch (Exception e) {
+                    Log.w(TAG, "Exception communicating with client.");
+                    returnClientAppError(callback);
+                }
 
                 boolean success = result != null &&
                         result.getBoolean(KEY_SUCCESS, false);
@@ -65,11 +74,17 @@
             AcknowledgeResponse callback) {
         mClient.connectAndExecute(scope, new TrustedWebActivityClient.ExecutionCallback() {
             @Override
-            public void onConnected(Origin origin, TrustedWebActivityServiceConnection service)
-                    throws RemoteException {
-                Bundle result = service.sendExtraCommand(COMMAND_ACKNOWLEDGE,
-                        convertAcknowledgeParams(purchaseToken, makeAvailableAgain),
-                        convertAcknowledgeCallback(callback));
+            public void onConnected(Origin origin, TrustedWebActivityServiceConnection service) {
+                // Wrap this call so that crashes in the TWA client don't cause crashes in Chrome.
+                Bundle result = null;
+                try {
+                    result = service.sendExtraCommand(COMMAND_ACKNOWLEDGE,
+                            convertAcknowledgeParams(purchaseToken, makeAvailableAgain),
+                            convertAcknowledgeCallback(callback));
+                } catch (Exception e) {
+                    Log.w(TAG, "Exception communicating with client.");
+                    returnClientAppError(callback);
+                }
 
                 boolean success = result != null &&
                         result.getBoolean(KEY_SUCCESS, false);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/TintedCompositorButton.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/TintedCompositorButton.java
index 78724b4..f01376f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/TintedCompositorButton.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/TintedCompositorButton.java
@@ -7,8 +7,8 @@
 import android.content.Context;
 
 import androidx.annotation.ColorInt;
+import androidx.annotation.ColorRes;
 import androidx.annotation.DrawableRes;
-import androidx.annotation.IdRes;
 
 /**
  * Class for a CompositorButton that uses tint instead of multiple drawable resources.
@@ -16,10 +16,10 @@
 public class TintedCompositorButton extends CompositorButton {
     private Context mContext;
 
-    private @IdRes int mDefaultTintResource;
-    private @IdRes int mPressedTintResource;
-    private @IdRes int mIncognitoTintResource;
-    private @IdRes int mIncognitoPressedTintResource;
+    private @ColorRes int mDefaultTintResource;
+    private @ColorRes int mPressedTintResource;
+    private @ColorRes int mIncognitoTintResource;
+    private @ColorRes int mIncognitoPressedTintResource;
 
     public TintedCompositorButton(
             Context context, float width, float height, CompositorOnClickHandler clickHandler) {
@@ -67,8 +67,8 @@
      * @param incognitoTint         The incognito tint resource.
      * @param incognitoPressedTint  The incognito pressed tint resource.
      */
-    public void setTintResources(@IdRes int defaultTint, @IdRes int pressedTint,
-            @IdRes int incognitoTint, @IdRes int incognitoPressedTint) {
+    public void setTintResources(@ColorRes int defaultTint, @ColorRes int pressedTint,
+            @ColorRes int incognitoTint, @ColorRes int incognitoPressedTint) {
         mDefaultTintResource = defaultTint;
         mPressedTintResource = pressedTint;
         mIncognitoTintResource = incognitoTint;
@@ -87,4 +87,4 @@
 
         return mContext.getResources().getColor(tint);
     }
-}
\ No newline at end of file
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchContext.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchContext.java
index afdfb41bf..2dbe49f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchContext.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchContext.java
@@ -112,7 +112,7 @@
      * page content.
      * @param homeCountry The country where the user usually resides, or an empty string if not
      *        known.
-     * @param maySendBasePageUrl Whether policy allows sending the base-page URL to the server.
+     * @param doSendBasePageUrl Whether the base-page URL should be sent to the server.
      * @param previousEventId An EventID from the server to send along with the resolve request.
      * @param previousUserInteractions Persisted interaction outcomes to send along with the resolve
      *        request.
@@ -121,7 +121,7 @@
      *        the user can read fluently, or an empty string.
      * @param doRelatedSearches Whether the activate the Related Searches functionality too.
      */
-    void setResolveProperties(@NonNull String homeCountry, boolean maySendBasePageUrl,
+    void setResolveProperties(@NonNull String homeCountry, boolean doSendBasePageUrl,
             long previousEventId, int previousUserInteractions, @NonNull String targetLanguage,
             @NonNull String fluentLanguages, boolean doRelatedSearches) {
         mHasSetResolveProperties = true;
@@ -129,7 +129,7 @@
         mPreviousEventId = previousEventId;
         mPreviousUserInteractions = previousUserInteractions;
         ContextualSearchContextJni.get().setResolveProperties(getNativePointer(), this, homeCountry,
-                maySendBasePageUrl, previousEventId, previousUserInteractions, doRelatedSearches);
+                doSendBasePageUrl, previousEventId, previousUserInteractions, doRelatedSearches);
         mTargetLanguage = targetLanguage;
         mFluentLanguages = fluentLanguages;
     }
@@ -599,7 +599,7 @@
         long init(ContextualSearchContext caller);
         void destroy(long nativeContextualSearchContext, ContextualSearchContext caller);
         void setResolveProperties(long nativeContextualSearchContext,
-                ContextualSearchContext caller, String homeCountry, boolean maySendBasePageUrl,
+                ContextualSearchContext caller, String homeCountry, boolean doSendBasePageUrl,
                 long previousEventId, int previousEventResults, boolean doRelatedSearches);
         void adjustSelection(long nativeContextualSearchContext, ContextualSearchContext caller,
                 int startAdjust, int endAdjust);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java
index 508ab1db..825cd18 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java
@@ -62,7 +62,8 @@
             ContextualSearchSwitch.IS_UKM_RANKER_LOGGING_DISABLED,
             ContextualSearchSwitch.IS_CONTEXTUAL_SEARCH_ML_TAP_SUPPRESSION_ENABLED,
             ContextualSearchSwitch.IS_CONTEXTUAL_SEARCH_SECOND_TAP_ML_OVERRIDE_ENABLED,
-            ContextualSearchSwitch.IS_CONTEXTUAL_SEARCH_TAP_DISABLE_OVERRIDE_ENABLED})
+            ContextualSearchSwitch.IS_CONTEXTUAL_SEARCH_TAP_DISABLE_OVERRIDE_ENABLED,
+            ContextualSearchSwitch.IS_SEND_BASE_PAGE_URL_DISABLED})
     @Retention(RetentionPolicy.SOURCE)
     /**
      * Boolean Switch values that are backed by either a Feature or a Variations parameter.
@@ -136,8 +137,10 @@
          * panel.
          */
         int IS_CONTEXTUAL_SEARCH_TAP_DISABLE_OVERRIDE_ENABLED = 20;
+        /** Whether sending the URL of the page viewed by the user is disabled. */
+        int IS_SEND_BASE_PAGE_URL_DISABLED = 21;
 
-        int NUM_ENTRIES = 21;
+        int NUM_ENTRIES = 22;
     }
 
     @VisibleForTesting
@@ -167,7 +170,8 @@
             "disable_ukm_ranker_logging", // IS_UKM_RANKER_LOGGING_DISABLED
             ChromeFeatureList.CONTEXTUAL_SEARCH_ML_TAP_SUPPRESSION, // (related to Chrome Feature)
             ChromeFeatureList.CONTEXTUAL_SEARCH_SECOND_TAP, // (related to Chrome Feature)
-            ChromeFeatureList.CONTEXTUAL_SEARCH_TAP_DISABLE_OVERRIDE // (related to Chrome Feature)
+            ChromeFeatureList.CONTEXTUAL_SEARCH_TAP_DISABLE_OVERRIDE, // (related to Chrome Feature)
+            "disable_send_url" // IS_SEND_BASE_PAGE_URL_DISABLED
     };
 
     @IntDef({ContextualSearchSetting.MANDATORY_PROMO_LIMIT,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchIPH.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchIPH.java
index 19907bd..2fe08fa3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchIPH.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchIPH.java
@@ -157,6 +157,9 @@
                     stringId = R.string.contextual_search_iph_touch_and_hold;
                 }
                 break;
+            case FeatureConstants.CONTEXTUAL_SEARCH_TRANSLATION_ENABLE_FEATURE:
+                stringId = R.string.contextual_search_iph_enable;
+                break;
         }
 
         assert stringId != 0;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
index 08956ee..84b725ec 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
@@ -1607,7 +1607,7 @@
                             mTranslateController.getTranslateServiceFluentLanguages();
                     fluentLanguages = fluentLanguages != null ? fluentLanguages : "";
                     mContext.setResolveProperties(mPolicy.getHomeCountry(mActivity),
-                            mPolicy.maySendBasePageUrl(), interaction.getEventId(),
+                            mPolicy.doSendBasePageUrl(), interaction.getEventId(),
                             interaction.getEncodedUserInteractions(), targetLanguage,
                             fluentLanguages, mPolicy.doRelatedSearches());
                 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java
index b961d6d..abec7bf 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java
@@ -24,6 +24,9 @@
 import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
 import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager;
+import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
+import org.chromium.chrome.browser.signin.UnifiedConsentServiceBridge;
 import org.chromium.components.embedder_support.util.UrlConstants;
 
 import java.net.URL;
@@ -318,19 +321,37 @@
     }
 
     /**
-     * Whether sending the URL of the base page to the server may be done for policy reasons.
-     * NOTE: There may be additional privacy reasons why the base page URL should not be sent.
-     * TODO(donnd): Update this API to definitively determine if it's OK to send the URL,
-     * by merging the checks in the native contextual_search_delegate here.
-     * @return {@code true} if the URL may be sent for policy reasons.
-     *         Note that a return value of {@code true} may still require additional checks
-     *         to see if all privacy-related conditions are met to send the base page URL.
+     * Whether this request should include sending the URL of the base page to the server.
+     * Several conditions are checked to make sure it's OK to send the URL, but primarily this is
+     * based on whether the user has checked the setting for "Make searches and browsing better".
+     * @return {@code true} if the URL should be sent.
      */
-    boolean maySendBasePageUrl() {
-        // TODO(donnd): revisit for related searches privacy review. https://crbug.com/1064141.
-        if (isRelatedSearchesEnabled()) return true;
+    boolean doSendBasePageUrl() {
+        if (isUserUndecided()) return false;
 
-        return !isUserUndecided();
+        // Check whether there is a Field Trial setting preventing us from sending the page URL.
+        if (ContextualSearchFieldTrial.getSwitch(
+                    ContextualSearchSwitch.IS_SEND_BASE_PAGE_URL_DISABLED)) {
+            return false;
+        }
+
+        // Ensure that the default search provider is Google.
+        if (!TemplateUrlServiceFactory.get().isDefaultSearchEngineGoogle()) return false;
+
+        // Only allow HTTP or HTTPS URLs.
+        URL url = mNetworkCommunicator.getBasePageUrl();
+        String urlProtocol = url != null ? url.getProtocol() : "";
+        if (!(urlProtocol.equals(UrlConstants.HTTP_SCHEME)
+                    || urlProtocol.equals(UrlConstants.HTTPS_SCHEME))) {
+            return false;
+        }
+
+        // Check whether the user has enabled anonymous URL-keyed data collection.
+        // This is surfaced on the relatively new "Make searches and browsing better" user setting.
+        // In case an experiment is active for the legacy UI call through the unified consent
+        // service.
+        return UnifiedConsentServiceBridge.isUrlKeyedAnonymizedDataCollectionEnabled(
+                Profile.getLastUsedRegularProfile());
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ResolvedSearchTerm.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ResolvedSearchTerm.java
index 53b49705..f82d2a82 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ResolvedSearchTerm.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ResolvedSearchTerm.java
@@ -276,8 +276,8 @@
         private String mContextLanguage;
         private String mThumbnailUrl;
         private String mCaption;
-        @QuickActionCategory
         private String mQuickActionUri;
+        @QuickActionCategory
         private int mQuickActionCategory;
         private long mLoggedEventId;
         private String mSearchUrlFull;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/cryptids/OWNERS b/chrome/android/java/src/org/chromium/chrome/browser/cryptids/OWNERS
index 2d22316..fe0fe81 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/cryptids/OWNERS
+++ b/chrome/android/java/src/org/chromium/chrome/browser/cryptids/OWNERS
@@ -1,2 +1,6 @@
 tmartino@chromium.org
-sebsg@chromium.org  # backup
\ No newline at end of file
+sebsg@chromium.org  # backup
+
+# COMPONENT: UI>Browser>Joy
+# TEAM: chrome-creation@google.com
+# OS: Android
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/cryptids/ProbabilisticCryptidRenderer.java b/chrome/android/java/src/org/chromium/chrome/browser/cryptids/ProbabilisticCryptidRenderer.java
index e9db9d9..51eb5125 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/cryptids/ProbabilisticCryptidRenderer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/cryptids/ProbabilisticCryptidRenderer.java
@@ -13,6 +13,9 @@
 import org.chromium.base.Log;
 import org.chromium.chrome.browser.enterprise.util.ManagedBrowserUtils;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.image_fetcher.ImageFetcher;
+import org.chromium.chrome.browser.image_fetcher.ImageFetcherConfig;
+import org.chromium.chrome.browser.image_fetcher.ImageFetcherFactory;
 import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
 import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.profiles.Profile;
@@ -31,6 +34,10 @@
     private static final String RAMP_UP_LENGTH_PARAM_NAME = "ramp-up-length-millis";
     private static final String MAX_PROBABILITY_PARAM_NAME = "max-probability-per-million";
 
+    private static final String URL_FORMAT = "https://www.gstatic.com/chrome/cryptids/%s.gif";
+    private static final String ASSET_KEY_PARAM_NAME = "asset-key";
+    private static final String EMPTY_ASSET_KEY = "empty";
+
     private static final long ONE_DAY = 24 * 60 * 60 * 1000;
     private static final long DEFAULT_MORATORIUM_LENGTH = 4 * ONE_DAY;
     private static final long DEFAULT_RAMP_UP_LENGTH = 21 * ONE_DAY;
@@ -70,9 +77,11 @@
     }
 
     /**
-     * Creates an ImageView which will render a cryptid, suitable for use in/around the space of the
+     * Creates an Drawable which will render a cryptid, suitable for use in/around the space of the
      * logo on the NTP.
-     * @param layout A callback which will insert this Drawable into an ImageView in the appropriate
+     * @param profile the current user profile. Should not be null, except in tests.
+     * @param callback A callback which will insert this Drawable into an ImageView in the
+     *         appropriate
      *     location. The callback should handle null Drawables, which will be passed if a cryptid is
      *     not available or shouldn't be used.
      */
@@ -82,13 +91,33 @@
             return;
         }
 
-        // TODO(crbug.com/1061949): Fetch an actual image, and have its callback handle the rest of
-        // the work.
-        BaseGifImage image = new BaseGifImage("".getBytes(), 0);
-        BaseGifDrawable drawable = new BaseGifDrawable(image, Bitmap.Config.ARGB_8888);
-        drawable.setLoopCount(1); // Plays only once/does not loop.
-        drawable.setAnimateOnLoad(true);
-        callback.onResult(drawable);
+        ImageFetcher fetcher =
+                ImageFetcherFactory.createImageFetcher(ImageFetcherConfig.DISK_CACHE_ONLY, profile);
+
+        // If no asset key is provided, an empty asset with key "empty" will be fetched; this allows
+        // end-to-end execution without any visible change. To test with visible changes, the asset
+        // key "test" should be provided.
+        fetcher.fetchGif(ImageFetcher.Params.create(
+                                 String.format(URL_FORMAT,
+                                         getParamValue(ASSET_KEY_PARAM_NAME, EMPTY_ASSET_KEY)),
+                                 ImageFetcher.CRYPTIDS_UMA_CLIENT_NAME),
+                new Callback<BaseGifImage>() {
+                    @Override
+                    public void onResult(BaseGifImage image) {
+                        fetcher.destroy();
+
+                        if (image == null) {
+                            callback.onResult(null);
+                            return;
+                        }
+
+                        BaseGifDrawable drawable =
+                                new BaseGifDrawable(image, Bitmap.Config.ARGB_8888);
+                        drawable.setLoopCount(1); // Plays only once/does not loop.
+                        drawable.setAnimateOnLoad(true);
+                        callback.onResult(drawable);
+                    }
+                });
     }
 
     // Protected for testing
@@ -181,6 +210,16 @@
     }
 
     /**
+     * Helper method for getting a Feature param associated with this class's Feature, with type
+     * String. Returns the provided default if no such param value is set.
+     */
+    private String getParamValue(String name, String defaultValue) {
+        String paramVal = ChromeFeatureList.getFieldTrialParamByFeature(
+                ChromeFeatureList.PROBABILISTIC_CRYPTID_RENDERER, name);
+        return paramVal.length() > 0 ? paramVal : defaultValue;
+    }
+
+    /**
      * Helper method for getting and parsing a Feature param associated with this class's Feature,
      * with type long. Returns the provided default if no such param value is set, or if the value
      * provided can't be parsed as a long (in which case an error is also logged).
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
index 245918e..dd7305f5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
@@ -972,7 +972,9 @@
                 intent.getIntExtra(PARALLEL_REQUEST_REFERRER_POLICY_KEY, ReferrerPolicy.DEFAULT);
         if (url == null) return ParallelRequestStatus.FAILURE_INVALID_URL;
         if (referrer == null) return ParallelRequestStatus.FAILURE_INVALID_REFERRER;
-        if (policy < 0 || policy > ReferrerPolicy.LAST) policy = ReferrerPolicy.DEFAULT;
+        if (policy < ReferrerPolicy.MIN_VALUE || policy > ReferrerPolicy.MAX_VALUE) {
+            policy = ReferrerPolicy.DEFAULT;
+        }
 
         if (url.toString().equals("") || !isValid(url)) {
             return ParallelRequestStatus.FAILURE_INVALID_URL;
@@ -1013,7 +1015,7 @@
                 intent.getIntExtra(PARALLEL_REQUEST_REFERRER_POLICY_KEY, ReferrerPolicy.DEFAULT);
 
         if (resourceList == null || referrer == null) return 0;
-        if (policy < 0 || policy > ReferrerPolicy.LAST) policy = ReferrerPolicy.DEFAULT;
+        if (policy < 0 || policy > ReferrerPolicy.MAX_VALUE) policy = ReferrerPolicy.DEFAULT;
         Origin origin = Origin.create(referrer);
         if (origin == null) return 0;
         if (!mClientManager.isFirstPartyOriginForSession(session, origin)) return 0;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
index 8a21e97f..4be040cc 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
@@ -85,8 +85,6 @@
     private static final int FRE_PROGRESS_MAX = 7;
 
     private static FirstRunActivityObserver sObserver;
-    // TODO(wenyufu): Remove when MVP for crbug.com/1103476 is complete.
-    private static boolean sEnableEnterpriseCCT;
 
     private String mResultSignInAccountName;
     private boolean mResultIsDefaultAccount;
@@ -143,7 +141,7 @@
         //  use the subclass ToSAndUmaCCTFirstRunFragment. Instead, use the base class
         //  (ToSAndUMAFirstRunFragment) which simply shows a loading spinner while waiting for
         //  native to be loaded.
-        return sEnableEnterpriseCCT && mLaunchedFromCCT && !FirstRunStatus.shouldSkipWelcomePage();
+        return mLaunchedFromCCT && !FirstRunStatus.shouldSkipWelcomePage();
     }
 
     private void createPostNativePageSequence() {
@@ -575,9 +573,4 @@
         assert sObserver == null;
         sObserver = observer;
     }
-
-    @VisibleForTesting
-    public static void setEnableEnterpriseCCTForTest(boolean isEnabled) {
-        sEnableEnterpriseCCT = isEnabled;
-    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetCoordinator.java
index b6f4a28..be1e1c76 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetCoordinator.java
@@ -12,7 +12,7 @@
 import android.widget.ListView;
 import android.widget.TextView;
 
-import androidx.annotation.IdRes;
+import androidx.annotation.DimenRes;
 
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.base.supplier.Supplier;
@@ -152,7 +152,7 @@
                 + getSizePx(context, R.dimen.navigation_sheet_content_wrap_padding);
     }
 
-    private static int getSizePx(Context context, @IdRes int id) {
+    private static int getSizePx(Context context, @DimenRes int id) {
         return context.getResources().getDimensionPixelSize(id);
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
index c7e8fcbf..0771d32 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
@@ -509,6 +509,7 @@
 
     @CallSuper
     @Override
+    @SuppressLint("MissingSuperCall") // Empty method in parent Activity class.
     public void onNewIntent(Intent intent) {
         if (intent == null) return;
         mNativeInitializationController.onNewIntent(intent);
@@ -517,6 +518,7 @@
 
     @CallSuper
     @Override
+    @SuppressLint("MissingSuperCall") // Empty method in parent Activity class.
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         mNativeInitializationController.onActivityResult(requestCode, resultCode, data);
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
index de6ffb5..f1f59f1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
@@ -13,7 +13,7 @@
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
 
-import androidx.annotation.ColorRes;
+import androidx.annotation.ColorInt;
 import androidx.core.graphics.drawable.RoundedBitmapDrawable;
 
 import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
@@ -93,7 +93,7 @@
         Drawable drawable = mAssistantVoiceSearchService.getCurrentMicDrawable();
         mModel.set(SearchBoxProperties.VOICE_SEARCH_DRAWABLE, drawable);
 
-        final @ColorRes int primaryColor = ChromeColors.getDefaultThemeColor(
+        final @ColorInt int primaryColor = ChromeColors.getDefaultThemeColor(
                 mContext.getResources(), false /* forceDarkBgColor= */);
         ColorStateList colorStateList =
                 mAssistantVoiceSearchService.getMicButtonColorStateList(primaryColor, mContext);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestion.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestion.java
index 9b6e36b..eab8852 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestion.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestion.java
@@ -7,7 +7,6 @@
 import android.text.TextUtils;
 
 import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
 import androidx.core.util.ObjectsCompat;
 
 import org.chromium.chrome.browser.omnibox.MatchClassificationStyle;
@@ -21,7 +20,6 @@
 /**
  * Container class with information about each omnibox suggestion item.
  */
-@VisibleForTesting
 public class OmniboxSuggestion {
     public static final int INVALID_GROUP = -1;
     public static final int INVALID_TYPE = -1;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java
index 5241d98..279c5ff 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java
@@ -11,7 +11,7 @@
 import android.os.Build;
 import android.text.TextUtils;
 
-import androidx.annotation.ColorRes;
+import androidx.annotation.ColorInt;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
@@ -175,7 +175,7 @@
 
     /** @return The correct ColorStateList for the current theme. */
     public @Nullable ColorStateList getMicButtonColorStateList(
-            @ColorRes int primaryColor, Context context) {
+            @ColorInt int primaryColor, Context context) {
         if (mShouldShowColorfulMic) return null;
 
         final boolean useLightColors =
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandler.java
index f74620d..11790e9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandler.java
@@ -14,6 +14,7 @@
 import android.text.TextUtils;
 
 import androidx.annotation.IntDef;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import org.chromium.base.ThreadUtils;
@@ -42,6 +43,10 @@
     // response (as opposed to treating it like a typed string in the Omnibox).
     @VisibleForTesting
     public static final float VOICE_SEARCH_CONFIDENCE_NAVIGATE_THRESHOLD = 0.9f;
+    // Extra containing the languages for the returned voice transcriptions (ArrayList<String>).
+    // This language is only returned for queries handled by Assistant.
+    @VisibleForTesting
+    static final String VOICE_QUERY_RESULT_LANGUAGES = "android.speech.extra.LANGUAGE";
 
     private final Delegate mDelegate;
     private Long mQueryStartTimeMs;
@@ -112,15 +117,23 @@
     public static class VoiceResult {
         private final String mMatch;
         private final float mConfidence;
+        @Nullable
+        private final String mLanguage;
+
+        public VoiceResult(String match, float confidence) {
+            this(match, confidence, null);
+        }
 
         /**
          * Creates an instance of a VoiceResult.
          * @param match The text match from the voice recognition.
          * @param confidence The confidence value of the recognition that should go from 0.0 to 1.0.
+         * @param language The language of the returned query.
          */
-        public VoiceResult(String match, float confidence) {
+        public VoiceResult(String match, float confidence, @Nullable String language) {
             mMatch = match;
             mConfidence = confidence;
+            mLanguage = language;
         }
 
         /**
@@ -136,6 +149,13 @@
         public float getConfidence() {
             return mConfidence;
         }
+
+        /**
+         * @return The IETF language tag for this result.
+         */
+        public @Nullable String getLanguage() {
+            return mLanguage;
+        }
     }
 
     public VoiceRecognitionHandler(Delegate delegate) {
@@ -245,6 +265,16 @@
                 url = TemplateUrlServiceFactory.get()
                               .getUrlForVoiceSearchQuery(topResultQuery)
                               .getSpec();
+
+                // If a language was returned to us from voice recognition, then use it. Currently,
+                // this is only returned when Google is the search engine. Since Google always has
+                // the query as a url parameter so appending this param will always be safe.
+                if (topResult.getLanguage() != null) {
+                    // TODO(crbug.com/1117271): Cleanup these assertions when Assistant launches.
+                    assert url.contains("?") : "URL must contain at least one URL param.";
+                    assert !url.contains("#") : "URL must not contain a fragment.";
+                    url += "&hl=" + topResult.getLanguage();
+                }
             }
 
             // Since voice was used, we need to let the frame know that there was a user gesture.
@@ -271,9 +301,12 @@
 
         ArrayList<String> strings = extras.getStringArrayList(RecognizerIntent.EXTRA_RESULTS);
         float[] confidences = extras.getFloatArray(RecognizerIntent.EXTRA_CONFIDENCE_SCORES);
+        ArrayList<String> languages = extras.getStringArrayList(VOICE_QUERY_RESULT_LANGUAGES);
 
         if (strings == null || confidences == null) return null;
         if (strings.size() != confidences.length) return null;
+        // Langues is optional, so only check the size when it's non-null.
+        if (languages != null && languages.size() != strings.size()) return null;
 
         AutocompleteCoordinator autocompleteCoordinator = mDelegate.getAutocompleteCoordinator();
         assert autocompleteCoordinator != null;
@@ -288,8 +321,9 @@
             // the voice engine.
             String culledString = strings.get(i).replaceAll(" ", "");
             String url = autocompleteCoordinator.qualifyPartialURLQuery(culledString);
-            results.add(
-                    new VoiceResult(url == null ? strings.get(i) : culledString, confidences[i]));
+            String language = languages == null ? null : languages.get(i);
+            results.add(new VoiceResult(
+                    url == null ? strings.get(i) : culledString, confidences[i], language));
         }
         return results;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetMediator.java
index f54727d..510f4da 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetMediator.java
@@ -21,6 +21,7 @@
 import org.chromium.components.signin.base.CoreAccountId;
 import org.chromium.components.signin.base.CoreAccountInfo;
 import org.chromium.components.signin.base.GoogleServiceAuthError;
+import org.chromium.components.signin.base.GoogleServiceAuthError.State;
 import org.chromium.ui.modelutil.PropertyModel;
 
 import java.util.Collections;
@@ -190,8 +191,12 @@
     }
 
     private void onSignInError(GoogleServiceAuthError error) {
-        // TODO(https://crbug.com/1116952): Implement UI for sign-in auth error
-        mModel.set(AccountPickerBottomSheetProperties.ACCOUNT_PICKER_BOTTOM_SHEET_STATE,
-                AccountPickerBottomSheetState.SIGNIN_GENERAL_ERROR);
+        if (error.getState() == State.INVALID_GAIA_CREDENTIALS) {
+            mModel.set(AccountPickerBottomSheetProperties.ACCOUNT_PICKER_BOTTOM_SHEET_STATE,
+                    AccountPickerBottomSheetState.SIGNIN_AUTH_ERROR);
+        } else {
+            mModel.set(AccountPickerBottomSheetProperties.ACCOUNT_PICKER_BOTTOM_SHEET_STATE,
+                    AccountPickerBottomSheetState.SIGNIN_GENERAL_ERROR);
+        }
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetProperties.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetProperties.java
index eb2bff8..50c2ab39 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetProperties.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetProperties.java
@@ -32,6 +32,7 @@
             AccountPickerBottomSheetState.SIGNIN_IN_PROGRESS,
             AccountPickerBottomSheetState.INCOGNITO_INTERSTITIAL,
             AccountPickerBottomSheetState.SIGNIN_GENERAL_ERROR,
+            AccountPickerBottomSheetState.SIGNIN_AUTH_ERROR,
     })
     @Retention(RetentionPolicy.SOURCE)
     @interface AccountPickerBottomSheetState {
@@ -88,6 +89,14 @@
          * The state can be reached when an error appears during the sign-in process.
          */
         int SIGNIN_GENERAL_ERROR = 5;
+
+        /**
+         * When user cannot complete sign-in due to invalidate credential, the
+         * sign-in auth error screen will be shown.
+         *
+         * The state can be reached when an auth error appears during the sign-in process.
+         */
+        int SIGNIN_AUTH_ERROR = 6;
     }
 
     // PropertyKeys for the selected account view when the account list is collapsed.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetView.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetView.java
index 6a643ae..7c1a82b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetView.java
@@ -162,6 +162,21 @@
         mSelectedAccountView.setVisibility(View.GONE);
     }
 
+    /**
+     * Sets up the view for sign-in auth error.
+     * TODO(https://crbug.com/1116952): Add strings for subtitle and button for sign-in auth error
+     */
+    void setUpSignInAuthErrorView() {
+        mAccountPickerTitle.setText(R.string.signin_account_picker_bottom_sheet_error_title);
+        mAccountPickerSubtitle.setVisibility(View.VISIBLE);
+        mContentView.findViewById(R.id.account_picker_signin_spinner_view)
+                .setVisibility(View.INVISIBLE);
+        mContinueAsButton.setVisibility(View.VISIBLE);
+
+        mContentView.findViewById(R.id.account_picker_horizontal_divider).setVisibility(View.GONE);
+        mSelectedAccountView.setVisibility(View.GONE);
+    }
+
     @Override
     public View getContentView() {
         return mContentView;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetViewBinder.java
index 96ac71b..23babd1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetViewBinder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetViewBinder.java
@@ -62,6 +62,9 @@
             case AccountPickerBottomSheetState.SIGNIN_GENERAL_ERROR:
                 view.setUpSignInGeneralErrorView();
                 break;
+            case AccountPickerBottomSheetState.SIGNIN_AUTH_ERROR:
+                view.setUpSignInAuthErrorView();
+                break;
             default:
                 throw new IllegalArgumentException(
                         "Cannot bind AccountPickerBottomSheetView for the state:"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerDelegate.java
index 66f3f37..c9b9af2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerDelegate.java
@@ -133,9 +133,12 @@
      *
      * @param error Details about the error that occurred in the sign-in process.
      */
+    @MainThread
     @Override
     public void onSigninFailed(GoogleServiceAuthError error) {
+        ThreadUtils.assertOnUiThread();
         mOnSignInErrorCallback.onResult(error);
+        destroyWebSigninBridge();
     }
 
     private void destroyWebSigninBridge() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java
index bba285e86..a3ca9ae 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java
@@ -109,8 +109,8 @@
         mSyncContentResolverDelegate = syncContentResolverDelegate;
 
         mAccount = account;
-        updateSyncability(callback);
         updateCachedSettings();
+        updateSyncability(callback);
 
         mSyncContentResolverDelegate.addStatusChangeListener(
                 ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS,
@@ -137,7 +137,6 @@
      *
      * @return true if sync is on, false otherwise
      */
-    @VisibleForTesting
     public boolean isChromeSyncEnabled() {
         return mChromeSyncEnabled;
     }
@@ -234,7 +233,9 @@
      * This function must be called within a synchronized block.
      */
     private void updateSyncability(@Nullable final Callback<Boolean> callback) {
-        boolean shouldBeSyncable = mAccount != null;
+        boolean shouldBeSyncable = mAccount != null
+                && !ChromeFeatureList.isEnabled(
+                        ChromeFeatureList.DECOUPLE_SYNC_FROM_ANDROID_MASTER_SYNC);
         if (mIsSyncable == shouldBeSyncable) {
             if (callback != null) callback.onResult(false);
             return;
@@ -249,6 +250,8 @@
                 // This reduces unnecessary resource usage. See http://crbug.com/480688 for details.
                 mSyncContentResolverDelegate.removePeriodicSync(
                         mAccount, mContractAuthority, Bundle.EMPTY);
+            } else if (mAccount != null) {
+                mSyncContentResolverDelegate.setIsSyncable(mAccount, mContractAuthority, 0);
             }
         }
 
@@ -307,7 +310,7 @@
             if (mAccount != null) {
                 mIsSyncable =
                         mSyncContentResolverDelegate.getIsSyncable(mAccount, mContractAuthority)
-                        == 1;
+                        > 0;
                 mChromeSyncEnabled = mSyncContentResolverDelegate.getSyncAutomatically(
                         mAccount, mContractAuthority);
             } else {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncErrorCardPreference.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncErrorCardPreference.java
new file mode 100644
index 0000000..d3f90c8
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncErrorCardPreference.java
@@ -0,0 +1,175 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.sync.settings;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.view.View;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.signin.IdentityServicesProvider;
+import org.chromium.chrome.browser.signin.PersonalizedSigninPromoView;
+import org.chromium.chrome.browser.signin.ProfileDataCache;
+import org.chromium.chrome.browser.sync.AndroidSyncSettings;
+import org.chromium.chrome.browser.sync.ProfileSyncService;
+import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils.SyncError;
+import org.chromium.components.signin.base.CoreAccountInfo;
+import org.chromium.components.signin.identitymanager.ConsentLevel;
+
+import java.util.Collections;
+
+public class SyncErrorCardPreference extends Preference
+        implements AndroidSyncSettings.AndroidSyncSettingsObserver,
+                   ProfileSyncService.SyncStateChangedListener, ProfileDataCache.Observer {
+    /**
+     * Listener for the buttons in the error card.
+     */
+    public interface SyncErrorCardPreferenceListener {
+        /**
+         * Called when the user clicks the primary button.
+         */
+        void onSyncErrorCardPrimaryButtonClicked();
+
+        /**
+         * Called when the user clicks the secondary button. This button is only shown for
+         * {@link SyncError.SYNC_SETUP_INCOMPLETE} error.
+         */
+        void onSyncErrorCardSecondaryButtonClicked();
+    }
+
+    private final ProfileDataCache mProfileDataCache;
+    private SyncErrorCardPreferenceListener mButtonListener;
+    private @SyncError int mSyncError;
+
+    public SyncErrorCardPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+
+        mProfileDataCache = ProfileDataCache.createProfileDataCache(
+                context, R.drawable.ic_sync_badge_error_20dp);
+        setLayoutResource(R.layout.personalized_signin_promo_view_settings);
+        mSyncError = SyncError.NO_ERROR;
+    }
+
+    @Override
+    public void onAttached() {
+        super.onAttached();
+        mProfileDataCache.addObserver(this);
+        AndroidSyncSettings.get().registerObserver(this);
+        ProfileSyncService syncService = ProfileSyncService.get();
+        if (syncService != null) {
+            syncService.addSyncStateChangedListener(this);
+        }
+        update();
+    }
+
+    @Override
+    public void onDetached() {
+        super.onDetached();
+        mProfileDataCache.removeObserver(this);
+        AndroidSyncSettings.get().unregisterObserver(this);
+        ProfileSyncService syncService = ProfileSyncService.get();
+        if (syncService != null) {
+            syncService.removeSyncStateChangedListener(this);
+        }
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        if (mSyncError == SyncError.NO_ERROR) {
+            return;
+        }
+
+        PersonalizedSigninPromoView errorCardView =
+                (PersonalizedSigninPromoView) holder.findViewById(R.id.signin_promo_view_container);
+        setupSyncErrorCardView(errorCardView);
+    }
+
+    private void update() {
+        // If feature is not enabled keep the preference at the default hidden state.
+        if (!ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)) {
+            return;
+        }
+
+        mSyncError = SyncSettingsUtils.getSyncError();
+        if (mSyncError == SyncError.NO_ERROR) {
+            setVisible(false);
+        } else {
+            setVisible(true);
+            notifyChanged();
+        }
+    }
+
+    private void setupSyncErrorCardView(PersonalizedSigninPromoView errorCardView) {
+        String signedInAccount = CoreAccountInfo.getEmailFrom(
+                IdentityServicesProvider.get()
+                        .getIdentityManager(Profile.getLastUsedRegularProfile())
+                        .getPrimaryAccountInfo(ConsentLevel.SYNC));
+        assert signedInAccount != null : "There should be a signed in account";
+
+        mProfileDataCache.update(Collections.singletonList(signedInAccount));
+        Drawable accountImage =
+                mProfileDataCache.getProfileDataOrDefault(signedInAccount).getImage();
+        errorCardView.getImage().setImageDrawable(accountImage);
+
+        errorCardView.getDismissButton().setVisibility(View.GONE);
+        errorCardView.getStatusMessage().setVisibility(View.VISIBLE);
+        errorCardView.getStatusMessage().setText(R.string.sync_error_card_title);
+        errorCardView.getDescription().setText(
+                SyncSettingsUtils.getSyncErrorHint(getContext(), mSyncError));
+
+        errorCardView.getPrimaryButton().setText(
+                SyncSettingsUtils.getSyncErrorCardButtonLabel(getContext(), mSyncError));
+        errorCardView.getPrimaryButton().setOnClickListener(
+                v -> mButtonListener.onSyncErrorCardPrimaryButtonClicked());
+        if (mSyncError == SyncError.SYNC_SETUP_INCOMPLETE) {
+            errorCardView.getSecondaryButton().setOnClickListener(
+                    v -> mButtonListener.onSyncErrorCardSecondaryButtonClicked());
+            errorCardView.getSecondaryButton().setText(
+                    R.string.sync_setup_incomplete_error_card_cancel_button);
+        } else {
+            errorCardView.getSecondaryButton().setVisibility(View.GONE);
+        }
+    }
+
+    public void setSyncErrorCardPreferenceListener(SyncErrorCardPreferenceListener listener) {
+        mButtonListener = listener;
+    }
+
+    public @SyncError int getSyncError() {
+        return mSyncError;
+    }
+
+    /**
+     * {@link ProfileSyncServiceListener} implementation.
+     */
+    @Override
+    public void syncStateChanged() {
+        update();
+    }
+
+    /**
+     * {@link AndroidSyncSettings.AndroidSyncSettingsObserver} implementation.
+     */
+    @Override
+    public void androidSyncSettingsChanged() {
+        update();
+    }
+
+    /**
+     * {@link ProfileDataCache.Observer} implementation.
+     */
+    @Override
+    public void onProfileDataUpdated(String accountId) {
+        update();
+    }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java
index 5b5ff0e2..6518db14 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java
@@ -141,7 +141,10 @@
                 return context.getString(R.string.hint_passphrase_required);
             case SyncError.TRUSTED_VAULT_KEY_REQUIRED_FOR_EVERYTHING:
             case SyncError.TRUSTED_VAULT_KEY_REQUIRED_FOR_PASSWORDS:
-                return context.getString(R.string.hint_sync_retrieve_keys);
+                return context.getString(
+                        ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)
+                                ? R.string.hint_sync_retrieve_keys
+                                : R.string.hint_sync_retrieve_keys_legacy);
             case SyncError.SYNC_SETUP_INCOMPLETE:
                 return context.getString(R.string.hint_sync_settings_not_confirmed_description);
             case SyncError.NO_ERROR:
@@ -156,6 +159,8 @@
             case SyncError.ANDROID_SYNC_DISABLED:
                 return context.getString(R.string.android_sync_disabled_error_card_button);
             case SyncError.AUTH_ERROR:
+            case SyncError.OTHER_ERRORS:
+                // Both these errors should be resolved by signing the user again.
                 return context.getString(R.string.auth_error_card_button);
             case SyncError.CLIENT_OUT_OF_DATE:
                 return context.getString(R.string.client_out_of_date_error_card_button,
@@ -167,7 +172,6 @@
                 return context.getString(R.string.trusted_vault_error_card_button);
             case SyncError.SYNC_SETUP_INCOMPLETE:
                 return context.getString(R.string.sync_setup_incomplete_error_card_confirm_button);
-            case SyncError.OTHER_ERRORS:
             case SyncError.NO_ERROR:
             default:
                 return null;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBuilder.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBuilder.java
index ef436f0a..efcc865 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBuilder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBuilder.java
@@ -4,7 +4,10 @@
 
 package org.chromium.chrome.browser.tab;
 
+import androidx.annotation.Nullable;
+
 import org.chromium.base.Callback;
+import org.chromium.chrome.browser.tab.state.CriticalPersistedTabData;
 import org.chromium.content_public.browser.LoadUrlParams;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.ui.base.WindowAndroid;
@@ -27,6 +30,7 @@
     private TabDelegateFactory mDelegateFactory;
     private boolean mInitiallyHidden;
     private TabState mTabState;
+    private byte[] mSerializedCriticalPersistedTabData;
     private Callback<Tab> mPreInitializeAction;
 
     /**
@@ -131,6 +135,18 @@
         return this;
     }
 
+    /**
+     * Sets a serialized {@link CriticalPersistedTabData} object containing information about the
+     * tab, if it was persisted
+     * @param serializedCriticalPersistedTabData serialized {@link CriticalPersistedTabData}
+     * @return {@link TabBuilder} creating the Tab
+     */
+    public TabBuilder setSerializedCriticalPersistedTabData(
+            @Nullable byte[] serializedCriticalPersistedTabData) {
+        mSerializedCriticalPersistedTabData = serializedCriticalPersistedTabData;
+        return this;
+    }
+
     public Tab build() {
         // Pre-condition check
         if (mCreationType != null) {
@@ -156,7 +172,7 @@
         // Initializes Tab. Its user data objects are also initialized through the event
         // |onInitialized| of TabObserver they register.
         tab.initialize(mParent, mCreationType, mLoadUrlParams, mWebContents, mDelegateFactory,
-                mInitiallyHidden, mTabState);
+                mInitiallyHidden, mTabState, mSerializedCriticalPersistedTabData);
         return tab;
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
index e3eafd9..dacaac0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -31,6 +31,8 @@
 import org.chromium.chrome.browser.app.ChromeActivity;
 import org.chromium.chrome.browser.content.ContentUtils;
 import org.chromium.chrome.browser.contextmenu.ContextMenuPopulator;
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.native_page.NativePageAssassin;
 import org.chromium.chrome.browser.night_mode.NightModeUtils;
 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
@@ -52,6 +54,7 @@
 import org.chromium.content_public.common.ResourceRequestBody;
 import org.chromium.ui.base.PageTransition;
 import org.chromium.ui.base.WindowAndroid;
+import org.chromium.ui.util.ColorUtils;
 import org.chromium.url.GURL;
 import org.chromium.url.Origin;
 
@@ -747,11 +750,13 @@
      * @param initiallyHidden Only used if {@code webContents} is {@code null}.  Determines
      *        whether or not the newly created {@link WebContents} will be hidden or not.
      * @param tabState State containing information about this Tab, if it was persisted.
+     * @param serializedCriticalPersistedTabData {@link CriticalPersistedTabData} in serialized
+     * form. {@link CriticalPersistedTabData} is a replacement for {@link TabState}
      */
     void initialize(Tab parent, @Nullable @TabCreationState Integer creationState,
             LoadUrlParams loadUrlParams, WebContents webContents,
             @Nullable TabDelegateFactory delegateFactory, boolean initiallyHidden,
-            TabState tabState) {
+            TabState tabState, @Nullable byte[] serializedCriticalPersistedTabData) {
         try {
             TraceEvent.begin("Tab.initialize");
 
@@ -764,7 +769,11 @@
 
             TabHelpers.initTabHelpers(this, parent);
 
-            if (tabState != null) restoreFieldsFromState(tabState);
+            if (serializedCriticalPersistedTabData != null && useCriticalPersistedTabData()) {
+                CriticalPersistedTabData.build(this, serializedCriticalPersistedTabData, true);
+            } else if (tabState != null) {
+                restoreFieldsFromState(tabState);
+            }
 
             initializeNative();
 
@@ -798,9 +807,19 @@
             if (CriticalPersistedTabData.from(this).getTimestampMillis() == INVALID_TIMESTAMP) {
                 CriticalPersistedTabData.from(this).setTimestampMillis(System.currentTimeMillis());
             }
-            String appId = tabState != null ? tabState.openerAppId : null;
-            Boolean hasThemeColor = tabState != null ? tabState.hasThemeColor() : null;
-            int themeColor = tabState != null ? tabState.getThemeColor() : 0;
+            String appId;
+            Boolean hasThemeColor;
+            int themeColor;
+            if (serializedCriticalPersistedTabData != null && useCriticalPersistedTabData()) {
+                appId = CriticalPersistedTabData.from(this).getOpenerAppId();
+                themeColor = CriticalPersistedTabData.from(this).getThemeColor();
+                hasThemeColor = themeColor != TabState.UNSPECIFIED_THEME_COLOR
+                        && ColorUtils.isValidThemeColor(themeColor);
+            } else {
+                appId = tabState != null ? tabState.openerAppId : null;
+                hasThemeColor = tabState != null ? tabState.hasThemeColor() : null;
+                themeColor = tabState != null ? tabState.getThemeColor() : 0;
+            }
             for (TabObserver observer : mObservers) {
                 observer.onInitialized(this, appId, hasThemeColor, themeColor);
             }
@@ -808,6 +827,10 @@
         }
     }
 
+    private boolean useCriticalPersistedTabData() {
+        return CachedFeatureFlags.isEnabled(ChromeFeatureList.CRITICAL_PERSISTED_TAB_DATA);
+    }
+
     @Nullable
     @TabCreationState
     Integer getCreationState() {
@@ -1083,10 +1106,8 @@
         notifyPageTitleChanged();
     }
 
-    /**
-     * @return Parameters that should be used for a lazily loaded Tab.  May be null.
-     */
-    LoadUrlParams getPendingLoadParams() {
+    @Override
+    public LoadUrlParams getPendingLoadParams() {
         return mPendingLoadParams;
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
index b164183..a88806e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -371,7 +371,8 @@
     }
 
     @Override
-    public Tab createFrozenTab(TabState state, int id, int index) {
+    public Tab createFrozenTab(
+            TabState state, byte[] serializedCriticalPersistedTabData, int id, int index) {
         TabModelSelector selector = mActivity.getTabModelSelector();
         Tab parent = selector != null ? selector.getTabById(state.parentId) : null;
         boolean selectTab = mOrderController.willOpenInForeground(
@@ -411,6 +412,7 @@
                           .setDelegateFactory(createDefaultTabDelegateFactory())
                           .setInitiallyHidden(!selectTab)
                           .setTabState(state)
+                          .setSerializedCriticalPersistedTabData(serializedCriticalPersistedTabData)
                           .build();
         }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
index e2f27af1..6b4feaa 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -31,6 +31,8 @@
 import org.chromium.base.task.TaskRunner;
 import org.chromium.base.task.TaskTraits;
 import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.ntp.NewTabPage;
 import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
 import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
@@ -41,6 +43,7 @@
 import org.chromium.chrome.browser.tab.TabState;
 import org.chromium.chrome.browser.tab.TabStateExtractor;
 import org.chromium.chrome.browser.tab.TabStateFileManager;
+import org.chromium.chrome.browser.tab.state.CriticalPersistedTabData;
 import org.chromium.chrome.browser.tabpersistence.TabStateDirectory;
 import org.chromium.components.embedder_support.util.UrlConstants;
 import org.chromium.content_public.browser.LoadUrlParams;
@@ -547,7 +550,8 @@
                 state = TabStateFileManager.restoreTabState(getStateDirectory(), tabToRestore.id);
             }
             logExecutionTime("RestoreTabTime", time);
-            restoreTab(tabToRestore, state, setAsActive);
+            restoreTab(tabToRestore, state,
+                    maybeRestoreCriticalPersistedTabDataSynchronously(tabToRestore), setAsActive);
         } catch (Exception e) {
             // Catch generic exception to prevent a corrupted state from crashing the app
             // at startup.
@@ -557,6 +561,12 @@
         }
     }
 
+    private static byte[] maybeRestoreCriticalPersistedTabDataSynchronously(
+            TabRestoreDetails tabToRestore) {
+        if (!isCriticalPersistedTabDataEnabled()) return null;
+        return CriticalPersistedTabData.restore(tabToRestore.id, tabToRestore.isIncognito);
+    }
+
     /**
      * Handles restoring an individual tab.
      *
@@ -566,8 +576,8 @@
      *                     restoration process.
      */
     @VisibleForTesting
-    protected void restoreTab(
-            TabRestoreDetails tabToRestore, TabState tabState, boolean setAsActive) {
+    protected void restoreTab(TabRestoreDetails tabToRestore, TabState tabState,
+            byte[] serializedCriticalPersistedTabData, boolean setAsActive) {
         // If we don't have enough information about the Tab, bail out.
         boolean isIncognito = isIncognitoTabBeingRestored(tabToRestore, tabState);
         if (tabState == null) {
@@ -617,8 +627,9 @@
 
         int tabId = tabToRestore.id;
         if (tabState != null) {
-            mTabCreatorManager.getTabCreator(isIncognito).createFrozenTab(
-                    tabState, tabToRestore.id, restoredIndex);
+            mTabCreatorManager.getTabCreator(isIncognito)
+                    .createFrozenTab(tabState, serializedCriticalPersistedTabData, tabToRestore.id,
+                            restoredIndex);
         } else {
             if (NewTabPage.isNTPUrl(tabToRestore.url) && !setAsActive && !tabToRestore.fromMerge) {
                 Log.i(TAG, "Skipping restore of non-selected NTP.");
@@ -760,7 +771,8 @@
             mSaveTabTask = null;
             saveNextTab();
         }
-
+        // TODO(crbug.com/1119454) hook delete() into Tab#destroy()
+        CriticalPersistedTabData.from(tab).delete();
         cleanupPersistentData(tab.getId(), tab.isIncognito());
     }
 
@@ -1314,12 +1326,37 @@
         // sequenced task runner.
     }
 
+    private static boolean isCriticalPersistedTabDataEnabled() {
+        return CachedFeatureFlags.isEnabled(ChromeFeatureList.CRITICAL_PERSISTED_TAB_DATA);
+    }
+
     private class LoadTabTask extends AsyncTask<TabState> {
         public final TabRestoreDetails mTabToRestore;
+        private byte[] mSerializedCriticalPersistedTabData;
+        private TabState mTabState;
+        // TabState and CriticalPersistedTabData are acquired asynchronously and Tab
+        // restoration continues when both have been returned
+        private int mRemaining = isCriticalPersistedTabDataEnabled() ? 2 : 1;
 
         public LoadTabTask(TabRestoreDetails tabToRestore) {
             mTabToRestore = tabToRestore;
+            TraceEvent.startAsync("LoadTabTask", mTabToRestore.id);
             TraceEvent.startAsync("LoadTabState", mTabToRestore.id);
+            // TODO(crbug.com/1119455) decouple CriticalPersistedTabData from
+            // LoadTabTask
+            if (isCriticalPersistedTabDataEnabled()) {
+                TraceEvent.startAsync("LoadCriticalPersistedTabData", mTabToRestore.id);
+                CriticalPersistedTabData.restore(
+                        tabToRestore.id, tabToRestore.isIncognito, (res) -> {
+                            TraceEvent.finishAsync(
+                                    "LoadCriticalPersistedTabData", mTabToRestore.id);
+                            mSerializedCriticalPersistedTabData = res;
+                            mRemaining--;
+                            if (mRemaining == 0) {
+                                completeLoad();
+                            }
+                        });
+            }
         }
 
         @Override
@@ -1336,9 +1373,18 @@
         @Override
         protected void onPostExecute(TabState tabState) {
             TraceEvent.finishAsync("LoadTabState", mTabToRestore.id);
+            mTabState = tabState;
+            mRemaining--;
+            if (mRemaining == 0) {
+                completeLoad();
+            }
+        }
+
+        private void completeLoad() {
+            TraceEvent.finishAsync("LoadTabTask", mTabToRestore.id);
             if (mDestroyed || isCancelled()) return;
 
-            boolean isIncognito = isIncognitoTabBeingRestored(mTabToRestore, tabState);
+            boolean isIncognito = isIncognitoTabBeingRestored(mTabToRestore, mTabState);
             if (isIncognito) {
                 Log.i(TAG,
                         "Finishing tab restore, isIncognito: " + isIncognito
@@ -1346,7 +1392,9 @@
             }
             boolean isLoadCancelled = (isIncognito && mCancelIncognitoTabLoads)
                     || (!isIncognito && mCancelNormalTabLoads);
-            if (!isLoadCancelled) restoreTab(mTabToRestore, tabState, false);
+            if (!isLoadCancelled) {
+                restoreTab(mTabToRestore, mTabState, mSerializedCriticalPersistedTabData, false);
+            }
 
             loadNextTab();
         }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java
index 850bbab7a..9a75d36 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java
@@ -74,7 +74,7 @@
      * The index is ignored in DocumentMode because Android handles the ordering of Tabs.
      */
     @Override
-    public Tab createFrozenTab(TabState state, int id, int index) {
+    public Tab createFrozenTab(TabState state, byte[] criticalPersistedTabData, int id, int index) {
         return TabBuilder.createFromFrozenState()
                 .setId(id)
                 .setIncognito(state.isIncognito())
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
index 91af2959..3b2fff1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
@@ -442,7 +442,6 @@
     /**
      * @return The provider for toolbar related data.
      */
-    @VisibleForTesting
     public ToolbarDataProvider getToolbarDataProvider() {
         return mToolbarDataProvider;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/video_tutorials/OWNERS b/chrome/android/java/src/org/chromium/chrome/browser/video_tutorials/OWNERS
new file mode 100644
index 0000000..b7d1289
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/video_tutorials/OWNERS
@@ -0,0 +1,5 @@
+file://chrome/browser/video_tutorials/OWNERS
+
+# TEAM: chrome-upboarding@chromium.org
+# COMPONENT: Upboarding>VideoTutorials
+# OS: Android
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialServiceFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialServiceFactory.java
new file mode 100644
index 0000000..70bffbf
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialServiceFactory.java
@@ -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.
+
+package org.chromium.chrome.browser.video_tutorials;
+
+import org.chromium.base.annotations.NativeMethods;
+import org.chromium.chrome.browser.profiles.Profile;
+
+/**
+ * Basic factory that creates and returns an {@link VideoTutorialService} that is attached
+ * natively to the given {@link Profile}.
+ */
+public class VideoTutorialServiceFactory {
+    private static VideoTutorialService sVideoTutorialServiceForTesting;
+
+    /**
+     * Used to get access to the video tutorials backend.
+     * @return An {@link VideoTutorialService} instance.
+     */
+    public static VideoTutorialService getForProfile(Profile profile) {
+        if (sVideoTutorialServiceForTesting != null) return sVideoTutorialServiceForTesting;
+        return VideoTutorialServiceFactoryJni.get().getForProfile(profile);
+    }
+
+    /** For testing only. */
+    public static void setVideoTutorialServiceForTesting(VideoTutorialService provider) {
+        sVideoTutorialServiceForTesting = provider;
+    }
+
+    @NativeMethods
+    interface Natives {
+        VideoTutorialService getForProfile(Profile profile);
+    }
+}
\ No newline at end of file
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/QualityEnforcerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/QualityEnforcerTest.java
index b260fe7..6000bce 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/QualityEnforcerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/QualityEnforcerTest.java
@@ -121,7 +121,7 @@
 
     @Test
     @MediumTest
-    public void notifiedDigitalAssertLinkFailed() throws TimeoutException {
+    public void notifiedDigitalAssetLinkFailed() throws TimeoutException {
         launchNotVerify(mTestPage);
         mCallbackHelper.waitForFirst();
     }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridgeTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridgeTest.java
index ac34715..127c242 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridgeTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridgeTest.java
@@ -242,7 +242,7 @@
             TabState state = TabStateExtractor.from(tab);
             mActivityTestRule.getActivity().getCurrentTabModel().closeTab(tab);
             frozen[0] = mActivityTestRule.getActivity().getCurrentTabCreator().createFrozenTab(
-                    state, tab.getId(), 1);
+                    state, null, tab.getId(), 1);
             restored[0] = WebContentsStateBridge.restoreContentsFromByteBuffer(
                     TabStateExtractor.from(frozen[0]).contentsState, false);
         });
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicyTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicyTest.java
index dbe8dcfa..3354f062 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicyTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicyTest.java
@@ -4,6 +4,8 @@
 
 package org.chromium.chrome.browser.contextualsearch;
 
+import static org.mockito.Mockito.when;
+
 import android.support.test.InstrumentationRegistry;
 
 import androidx.test.filters.SmallTest;
@@ -13,13 +15,20 @@
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
 
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.Feature;
 import org.chromium.chrome.browser.flags.ChromeSwitches;
+import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
+import org.chromium.chrome.browser.signin.UnifiedConsentServiceBridge;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
+import org.chromium.content_public.browser.test.util.TestThreadUtils;
 
+import java.net.URL;
 import java.util.ArrayList;
 
 /**
@@ -31,17 +40,17 @@
     @Rule
     public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
 
-    ContextualSearchPolicy mPolicy;
+    @Mock
+    private ContextualSearchFakeServer mMockServer;
+
+    private ContextualSearchPolicy mPolicy;
 
     @Before
     public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
         mActivityTestRule.startMainActivityOnBlankPage();
-        InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
-            @Override
-            public void run() {
-                mPolicy = new ContextualSearchPolicy(null, null);
-            }
-        });
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(
+                () -> mPolicy = new ContextualSearchPolicy(null, mMockServer));
     }
 
     @Test
@@ -93,5 +102,86 @@
         Assert.assertEquals("", mPolicy.bestTargetLanguage(list));
     }
 
+    /** Call on the UI thread to set up all the conditions needed for sending the URL. */
+    private void setupAllConditionsToSendUrl() {
+        mPolicy.overrideDecidedStateForTesting(true);
+        UnifiedConsentServiceBridge.setUrlKeyedAnonymizedDataCollectionEnabled(
+                Profile.getLastUsedRegularProfile(), true);
+        try {
+            when(mMockServer.getBasePageUrl()).thenReturn(new URL("https://someUrl"));
+        } catch (Exception e) {
+            Assert.fail("Exception raised building a sample URL");
+        }
+    }
+
+    @Test
+    @SmallTest
+    @Feature({"ContextualSearch"})
+    public void testDoSendBasePageUrlDefaultCase() {
+        // We don't send the URL by default.
+        TestThreadUtils.runOnUiThreadBlocking(
+                () -> Assert.assertFalse(mPolicy.doSendBasePageUrl()));
+    }
+
+    @Test
+    @SmallTest
+    @Feature({"ContextualSearch"})
+    public void testDoSendBasePageUrlEnabledCase() {
+        // Test that we do send the URL when all the requirements are enabled.
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            setupAllConditionsToSendUrl();
+            Assert.assertTrue(mPolicy.doSendBasePageUrl());
+        });
+    }
+
+    @Test
+    @SmallTest
+    @Feature({"ContextualSearch"})
+    public void testDoSendBasePageUrlWhenNotOptedIn() {
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            setupAllConditionsToSendUrl();
+            mPolicy.overrideDecidedStateForTesting(false);
+            Assert.assertFalse(mPolicy.doSendBasePageUrl());
+        });
+    }
+
+    @Test
+    @SmallTest
+    @Feature({"ContextualSearch"})
+    public void testDoSendBasePageUrlWhenNotMakingSearchAndBrowsingBetter() {
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            setupAllConditionsToSendUrl();
+            UnifiedConsentServiceBridge.setUrlKeyedAnonymizedDataCollectionEnabled(
+                    Profile.getLastUsedRegularProfile(), false);
+            Assert.assertFalse(mPolicy.doSendBasePageUrl());
+        });
+    }
+
+    @Test
+    @SmallTest
+    @Feature({"ContextualSearch"})
+    public void testDoSendBasePageUrlWhenFtpProtocol() {
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            setupAllConditionsToSendUrl();
+            try {
+                when(mMockServer.getBasePageUrl()).thenReturn(new URL("ftp://someSource"));
+            } catch (Exception e) {
+                Assert.fail("Exception building FTP Uri");
+            }
+            Assert.assertFalse(mPolicy.doSendBasePageUrl());
+        });
+    }
+
+    @Test
+    @SmallTest
+    @Feature({"ContextualSearch"})
+    public void testDoSendBasePageUrlWhenNonGoogleSearchEngine() {
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            setupAllConditionsToSendUrl();
+            TemplateUrlServiceFactory.get().setSearchEngine("yahoo.com");
+            Assert.assertFalse(mPolicy.doSendBasePageUrl());
+        });
+    }
+
     // TODO(donnd): This set of tests is not complete, add more tests.
 }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/MockContextualSearchPolicy.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/MockContextualSearchPolicy.java
index bd5dec6..3d8c7a3 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/MockContextualSearchPolicy.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/MockContextualSearchPolicy.java
@@ -19,7 +19,7 @@
     }
 
     @Override
-    public boolean maySendBasePageUrl() {
+    public boolean doSendBasePageUrl() {
         return false;
     }
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/FirstRunIntegrationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/FirstRunIntegrationTest.java
index fc20fc1..a300b58c 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/FirstRunIntegrationTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/FirstRunIntegrationTest.java
@@ -33,6 +33,7 @@
 import org.chromium.base.Callback;
 import org.chromium.base.CollectionUtil;
 import org.chromium.base.task.PostTask;
+import org.chromium.base.test.util.FlakyTest;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.ChromeTabbedActivity;
 import org.chromium.chrome.browser.customtabs.CustomTabActivity;
@@ -96,7 +97,6 @@
 
     @After
     public void tearDown() {
-        FirstRunActivity.setEnableEnterpriseCCTForTest(false);
         FirstRunAppRestrictionInfo.setInstanceForTest(null);
         EnterpriseInfo.setInstanceForTest(null);
         if (mLastActivity != null) mLastActivity.finish();
@@ -154,6 +154,7 @@
 
     @Test
     @SmallTest
+    @FlakyTest(message = "crbug.com/1119548")
     public void testAbortFirstRun() throws Exception {
         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://test.com"));
         intent.setPackage(mContext.getPackageName());
@@ -270,7 +271,6 @@
     @MediumTest
     public void testExitFirstRunWithPolicy() {
         setHasAppRestrictionForMock();
-        FirstRunActivity.setEnableEnterpriseCCTForTest(true);
         Bundle restrictions = new Bundle();
         restrictions.putBoolean("CCTToSDialogEnabled", false);
         AbstractAppRestrictionsProvider.setTestRestrictions(restrictions);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupportTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupportTest.java
index b4c772c4..7c31ae64 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupportTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupportTest.java
@@ -93,7 +93,6 @@
         Assert.assertFalse(
                 CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE));
 
-        FirstRunActivity.setEnableEnterpriseCCTForTest(true);
         FirstRunAppRestrictionInfo.setInstanceForTest(mMockAppRestrictionInfo);
         PolicyServiceFactory.setPolicyServiceForTest(mPolicyService);
         FirstRunUtilsJni.TEST_HOOKS.setInstanceForTesting(mFirstRunUtils);
@@ -131,7 +130,6 @@
 
     @After
     public void tearDown() {
-        FirstRunActivity.setEnableEnterpriseCCTForTest(false);
         FirstRunAppRestrictionInfo.setInstanceForTest(null);
         PolicyServiceFactory.setPolicyServiceForTest(null);
         FirstRunUtilsJni.TEST_HOOKS.setInstanceForTesting(mFirstRunUtils);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandlerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandlerTest.java
index 1d7fc72..8f2a17ea 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandlerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandlerTest.java
@@ -16,6 +16,7 @@
 import android.view.ViewGroup;
 
 import androidx.annotation.ColorRes;
+import androidx.annotation.Nullable;
 import androidx.test.filters.SmallTest;
 
 import org.junit.After;
@@ -297,6 +298,7 @@
      * Test implementation of {@link VoiceRecognitionHandler.Delegate}.
      */
     private class TestDelegate implements VoiceRecognitionHandler.Delegate {
+        private String mUrl;
         private boolean mUpdatedMicButtonState;
         private AutocompleteCoordinator mAutocompleteCoordinator;
 
@@ -309,7 +311,9 @@
         }
 
         @Override
-        public void loadUrlFromVoice(String url) {}
+        public void loadUrlFromVoice(String url) {
+            mUrl = url;
+        }
 
         @Override
         public void updateMicButtonState() {
@@ -337,6 +341,10 @@
         public boolean updatedMicButtonState() {
             return mUpdatedMicButtonState;
         }
+
+        public String getUrl() {
+            return mUrl;
+        }
     }
 
     /**
@@ -709,6 +717,29 @@
 
     @Test
     @SmallTest
+    public void testCallback_successWithLangues() {
+        // Needs to run on the UI thread because we use the TemplateUrlService on success.
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            mWindowAndroid.setVoiceResults(createDummyBundle("testing",
+                    VoiceRecognitionHandler.VOICE_SEARCH_CONFIDENCE_NAVIGATE_THRESHOLD, "en-us"));
+            startVoiceRecognition(VoiceInteractionSource.OMNIBOX);
+            Assert.assertEquals(
+                    VoiceInteractionSource.OMNIBOX, mHandler.getVoiceSearchStartEventSource());
+            Assert.assertEquals(
+                    VoiceInteractionSource.OMNIBOX, mHandler.getVoiceSearchFinishEventSource());
+            Assert.assertEquals(true, mHandler.getVoiceSearchResult());
+            Assert.assertTrue(VoiceRecognitionHandler.VOICE_SEARCH_CONFIDENCE_NAVIGATE_THRESHOLD
+                    == mHandler.getVoiceConfidenceValue());
+            assertVoiceResultsAreEqual(mAutocompleteVoiceResults, new String[] {"testing"},
+                    new float[] {
+                            VoiceRecognitionHandler.VOICE_SEARCH_CONFIDENCE_NAVIGATE_THRESHOLD},
+                    new String[] {"en-us"});
+            Assert.assertTrue(mDelegate.getUrl().contains("&hl=en-us"));
+        });
+    }
+
+    @Test
+    @SmallTest
     public void testParseResults_EmptyBundle() {
         Assert.assertNull(mHandler.convertBundleToVoiceResults(new Bundle()));
     }
@@ -720,6 +751,8 @@
                 createDummyBundle(new String[] {"blah"}, new float[] {0f, 1f})));
         Assert.assertNull(mHandler.convertBundleToVoiceResults(
                 createDummyBundle(new String[] {"blah", "foo"}, new float[] {7f})));
+        Assert.assertNull(mHandler.convertBundleToVoiceResults(createDummyBundle(
+                new String[] {"blah", "foo"}, new float[] {7f, 1f}, new String[] {"foo"})));
     }
 
     @Test
@@ -773,29 +806,55 @@
     }
 
     private static Bundle createDummyBundle(String text, float confidence) {
-        return createDummyBundle(new String[] {text}, new float[] {confidence});
+        return createDummyBundle(new String[] {text}, new float[] {confidence}, null);
+    }
+
+    private static Bundle createDummyBundle(
+            String text, float confidence, @Nullable String language) {
+        return createDummyBundle(new String[] {text}, new float[] {confidence},
+                language == null ? null : new String[] {language});
     }
 
     private static Bundle createDummyBundle(String[] texts, float[] confidences) {
+        return createDummyBundle(texts, confidences, null);
+    }
+
+    private static Bundle createDummyBundle(
+            String[] texts, float[] confidences, @Nullable String[] languages) {
         Bundle b = new Bundle();
 
         b.putStringArrayList(
                 RecognizerIntent.EXTRA_RESULTS, new ArrayList<String>(Arrays.asList(texts)));
         b.putFloatArray(RecognizerIntent.EXTRA_CONFIDENCE_SCORES, confidences);
+        if (languages != null) {
+            b.putStringArrayList(VoiceRecognitionHandler.VOICE_QUERY_RESULT_LANGUAGES,
+                    new ArrayList<String>(Arrays.asList(languages)));
+        }
 
         return b;
     }
 
     private static void assertVoiceResultsAreEqual(
             List<VoiceResult> results, String[] texts, float[] confidences) {
+        assertVoiceResultsAreEqual(results, texts, confidences, null);
+    }
+
+    private static void assertVoiceResultsAreEqual(
+            List<VoiceResult> results, String[] texts, float[] confidences, String[] languages) {
         Assert.assertTrue("Invalid array sizes",
                 results.size() == texts.length && texts.length == confidences.length);
+        if (languages != null) {
+            Assert.assertTrue("Invalid array sizes", confidences.length == languages.length);
+        }
 
         for (int i = 0; i < texts.length; ++i) {
             VoiceResult result = results.get(i);
             Assert.assertEquals("Match text is not equal", texts[i], result.getMatch());
             Assert.assertEquals(
                     "Confidence is not equal", confidences[i], result.getConfidence(), 0);
+            if (languages != null) {
+                Assert.assertEquals("Languages not equal", result.getLanguage(), languages[i]);
+            }
         }
     }
 }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetTest.java
index 36495451..65a88e2 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AccountPickerBottomSheetTest.java
@@ -22,6 +22,7 @@
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.notNull;
 import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.verify;
 import static org.mockito.MockitoAnnotations.initMocks;
 
@@ -56,6 +57,7 @@
 import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
 import org.chromium.components.signin.AccountManagerFacadeProvider;
 import org.chromium.components.signin.ProfileDataSource;
+import org.chromium.components.signin.base.CoreAccountInfo;
 import org.chromium.components.signin.base.GoogleServiceAuthError;
 import org.chromium.components.signin.base.GoogleServiceAuthError.State;
 import org.chromium.components.signin.test.util.FakeAccountManagerFacade;
@@ -259,10 +261,7 @@
     @MediumTest
     public void testSignInDefaultAccountOnCollapsedSheet() {
         buildAndShowCollapsedBottomSheet();
-        View bottomSheetView = mCoordinator.getBottomSheetViewForTesting();
-        ThreadUtils.runOnUiThread(
-                bottomSheetView.findViewById(R.id.account_picker_continue_as_button)::performClick);
-        checkSignInInProgressBottomSheet();
+        clickContinueButtonAndCheckSignInInProgressSheet();
     }
 
     @Test
@@ -270,12 +269,9 @@
     public void testSignInAnotherAccount() {
         buildAndShowExpandedBottomSheet();
         onView(withText(PROFILE_DATA2.getAccountName())).perform(click());
-        View bottomSheetView = mCoordinator.getBottomSheetViewForTesting();
-        CriteriaHelper.pollUiThread(
-                bottomSheetView.findViewById(R.id.account_picker_continue_as_button)::isShown);
-        ThreadUtils.runOnUiThread(
-                bottomSheetView.findViewById(R.id.account_picker_continue_as_button)::performClick);
-        checkSignInInProgressBottomSheet();
+        CriteriaHelper.pollUiThread(mCoordinator.getBottomSheetViewForTesting().findViewById(
+                R.id.account_picker_continue_as_button)::isShown);
+        clickContinueButtonAndCheckSignInInProgressSheet();
     }
 
     @Test
@@ -314,6 +310,66 @@
 
     @Test
     @MediumTest
+    public void testSignInAuthError() {
+        CoreAccountInfo coreAccountInfo =
+                mAccountManagerTestRule.toCoreAccountInfo(PROFILE_DATA1.getAccountName());
+        // Throws an auth error during the sign-in action
+        doAnswer(invocation -> {
+            Callback<GoogleServiceAuthError> onSignInErrorCallback = invocation.getArgument(1);
+            onSignInErrorCallback.onResult(
+                    new GoogleServiceAuthError(State.INVALID_GAIA_CREDENTIALS));
+            return null;
+        })
+                .when(mAccountPickerDelegateMock)
+                .signIn(eq(coreAccountInfo), any());
+
+        buildAndShowCollapsedBottomSheet();
+        View bottomSheetView = mCoordinator.getBottomSheetViewForTesting();
+        ThreadUtils.runOnUiThread(
+                bottomSheetView.findViewById(R.id.account_picker_continue_as_button)::performClick);
+        CriteriaHelper.pollUiThread(() -> {
+            return !bottomSheetView.findViewById(R.id.account_picker_selected_account).isShown()
+                    && bottomSheetView.findViewById(R.id.account_picker_bottom_sheet_subtitle)
+                               .isShown();
+        });
+        onView(withText(R.string.signin_account_picker_bottom_sheet_error_title))
+                .check(matches(isDisplayed()));
+        onView(withId(R.id.account_picker_horizontal_divider)).check(matches(not(isDisplayed())));
+        onView(withId(R.id.account_picker_selected_account)).check(matches(not(isDisplayed())));
+        onView(withId(R.id.account_picker_signin_spinner_view)).check(matches(not(isDisplayed())));
+    }
+
+    @Test
+    @MediumTest
+    public void testTryAgainButtonOnSignInGeneralErrorSheet() {
+        CoreAccountInfo coreAccountInfo =
+                mAccountManagerTestRule.toCoreAccountInfo(PROFILE_DATA1.getAccountName());
+        // Throws a connection error during the sign-in action
+        doAnswer(invocation -> {
+            Callback<GoogleServiceAuthError> onSignInErrorCallback = invocation.getArgument(1);
+            onSignInErrorCallback.onResult(new GoogleServiceAuthError(State.CONNECTION_FAILED));
+            return null;
+        })
+                .when(mAccountPickerDelegateMock)
+                .signIn(eq(coreAccountInfo), any());
+
+        buildAndShowCollapsedBottomSheet();
+        View bottomSheetView = mCoordinator.getBottomSheetViewForTesting();
+        ThreadUtils.runOnUiThread(
+                bottomSheetView.findViewById(R.id.account_picker_continue_as_button)::performClick);
+        CriteriaHelper.pollUiThread(() -> {
+            return !bottomSheetView.findViewById(R.id.account_picker_selected_account).isShown()
+                    && bottomSheetView.findViewById(R.id.account_picker_bottom_sheet_subtitle)
+                               .isShown();
+        });
+        doNothing().when(mAccountPickerDelegateMock).signIn(eq(coreAccountInfo), any());
+        // Clicking on the |Try again| button should perform the sign-in again and opens the sign-in
+        // in progress page.
+        clickContinueButtonAndCheckSignInInProgressSheet();
+    }
+
+    @Test
+    @MediumTest
     public void testAddAccountOnExpandedSheet() {
         buildAndShowExpandedBottomSheet();
         onView(withText(R.string.signin_add_account_to_device)).perform(click());
@@ -367,8 +423,10 @@
         onView(withId(R.id.incognito_interstitial_bottom_sheet_view)).check(matches(isDisplayed()));
     }
 
-    private void checkSignInInProgressBottomSheet() {
+    private void clickContinueButtonAndCheckSignInInProgressSheet() {
         View bottomSheetView = mCoordinator.getBottomSheetViewForTesting();
+        ThreadUtils.runOnUiThread(
+                bottomSheetView.findViewById(R.id.account_picker_continue_as_button)::performClick);
         CriteriaHelper.pollUiThread(() -> {
             return !bottomSheetView.findViewById(R.id.account_picker_continue_as_button).isShown();
         });
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTest.java
index 5368c4a..701fafc 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTest.java
@@ -137,7 +137,12 @@
         mCallbackHelper.waitForCallback(0, mNumberOfCallsToWait);
 
         mAuthority = mAndroidSyncSettings.getContractAuthority();
-        Assert.assertEquals(1, mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority));
+        if (ChromeFeatureList.isEnabled(ChromeFeatureList.DECOUPLE_SYNC_FROM_ANDROID_MASTER_SYNC)) {
+            Assert.assertTrue(
+                    mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) <= 0);
+        } else {
+            Assert.assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) > 0);
+        }
 
         mSyncSettingsObserver = new MockSyncSettingsObserver();
         mAndroidSyncSettings.registerObserver(mSyncSettingsObserver);
@@ -429,8 +434,9 @@
     @Test
     @SmallTest
     @Feature({"Sync"})
+    @Features.DisableFeatures(ChromeFeatureList.DECOUPLE_SYNC_FROM_ANDROID_MASTER_SYNC)
     public void testIsSyncableOnSigninAndNotOnSignout() throws TimeoutException {
-        Assert.assertEquals(1, mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority));
+        Assert.assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) > 0);
 
         updateAccountWithCallback(null, (Boolean result) -> {
             Assert.assertTrue(result);
@@ -440,7 +446,7 @@
 
         Assert.assertEquals(0, mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority));
         updateAccount(mAccount);
-        Assert.assertEquals(1, mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority));
+        Assert.assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) > 0);
     }
 
     /**
@@ -449,6 +455,7 @@
     @Test
     @SmallTest
     @Feature({"Sync"})
+    @Features.DisableFeatures(ChromeFeatureList.DECOUPLE_SYNC_FROM_ANDROID_MASTER_SYNC)
     public void testSyncableIsAlwaysSetWhenEnablingSync() throws InterruptedException {
         // Setup bad state.
         mSyncContentResolverDelegate.setMasterSyncAutomatically(true);
@@ -459,12 +466,12 @@
         mSyncContentResolverDelegate.waitForLastNotificationCompleted();
         mSyncContentResolverDelegate.setIsSyncable(mAccount, mAuthority, 0);
         mSyncContentResolverDelegate.waitForLastNotificationCompleted();
-        Assert.assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) == 0);
+        Assert.assertEquals(0, mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority));
         Assert.assertTrue(mSyncContentResolverDelegate.getSyncAutomatically(mAccount, mAuthority));
 
         // Ensure bug is fixed.
         enableChromeSyncOnUiThread();
-        Assert.assertEquals(1, mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority));
+        Assert.assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) > 0);
         // Should still be enabled.
         Assert.assertTrue(mSyncContentResolverDelegate.getSyncAutomatically(mAccount, mAuthority));
     }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabDataTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabDataTest.java
index f1a7036..cbebdcb 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabDataTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabDataTest.java
@@ -38,7 +38,7 @@
     private static final int CONTENT_STATE_VERSION = 42;
     private static final byte[] WEB_CONTENTS_STATE_BYTES = {9, 10};
     private static final WebContentsState WEB_CONTENTS_STATE =
-            new WebContentsState(ByteBuffer.allocate(WEB_CONTENTS_STATE_BYTES.length));
+            new WebContentsState(ByteBuffer.allocateDirect(WEB_CONTENTS_STATE_BYTES.length));
     private static final long TIMESTAMP = 203847028374L;
     private static final String APP_ID = "AppId";
     private static final String OPENER_APP_ID = "OpenerAppId";
@@ -83,14 +83,18 @@
             @Override
             public void onResult(CriticalPersistedTabData res) {
                 mCriticalPersistedTabData = res;
+                if (mCriticalPersistedTabData != null) {
+                    mCriticalPersistedTabData.setIsStorageRetrievalEnabled(true);
+                }
                 semaphore.release();
             }
         };
         final Semaphore saveSemaphore = new Semaphore(0);
         ThreadUtils.runOnUiThreadBlocking(() -> {
-            CriticalPersistedTabData criticalPersistedTabData = new CriticalPersistedTabData(
-                    mockTab(TAB_ID, isEncrypted), PARENT_ID, ROOT_ID, TIMESTAMP, WEB_CONTENTS_STATE,
-                    CONTENT_STATE_VERSION, OPENER_APP_ID, THEME_COLOR, LAUNCH_TYPE_AT_CREATION);
+            CriticalPersistedTabData criticalPersistedTabData =
+                    new CriticalPersistedTabData(mockTab(TAB_ID, isEncrypted), "", "", PARENT_ID,
+                            ROOT_ID, TIMESTAMP, WEB_CONTENTS_STATE, CONTENT_STATE_VERSION,
+                            OPENER_APP_ID, THEME_COLOR, LAUNCH_TYPE_AT_CREATION);
             mStorage.setSemaphore(saveSemaphore);
             criticalPersistedTabData.saveForTesting();
             acquireSemaphore(saveSemaphore);
@@ -107,9 +111,9 @@
         Assert.assertEquals(mCriticalPersistedTabData.getThemeColor(), THEME_COLOR);
         Assert.assertEquals(
                 mCriticalPersistedTabData.getTabLaunchTypeAtCreation(), LAUNCH_TYPE_AT_CREATION);
-        Assert.assertArrayEquals(mCriticalPersistedTabData.getWebContentsState().buffer().array(),
+        Assert.assertArrayEquals(CriticalPersistedTabData.getContentStateByteArray(
+                                         mCriticalPersistedTabData.getWebContentsState().buffer()),
                 WEB_CONTENTS_STATE_BYTES);
-
         Semaphore deleteSemaphore = new Semaphore(0);
         ThreadUtils.runOnUiThreadBlocking(() -> {
             mStorage.setSemaphore(deleteSemaphore);
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/browserservices/QualityEnforcerUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/browserservices/QualityEnforcerUnitTest.java
index 77687cea..9e45019 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/browserservices/QualityEnforcerUnitTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/browserservices/QualityEnforcerUnitTest.java
@@ -170,20 +170,20 @@
     }
 
     @Test
-    public void notTrigger_digitalAssertLinkPass() {
+    public void notTrigger_digitalAssetLinkPass() {
         when(mIntentDataProvider.getUrlToLoad()).thenReturn(TRUSTED_ORIGIN_PAGE);
         mQualityEnforcer.onFinishNativeInitialization();
         verifyNotTriggered();
     }
 
     @Test
-    public void trigger_digitalAssertLinkFailed() {
+    public void trigger_digitalAssetLinkFailed() {
         when(mIntentDataProvider.getUrlToLoad()).thenReturn(UNTRUSTED_PAGE);
         mQualityEnforcer.onFinishNativeInitialization();
 
         Assert.assertEquals(
                 ContextUtils.getApplicationContext().getString(
-                        R.string.twa_quality_enforcement_violation_assert_link, UNTRUSTED_PAGE),
+                        R.string.twa_quality_enforcement_violation_asset_link, UNTRUSTED_PAGE),
                 ShadowToast.getTextOfLatestToast());
         verifyNotifyClientApp();
     }
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/feed/v2/FeedListContentManagerTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/feed/v2/FeedListContentManagerTest.java
index 146f48f..92a4df17 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/feed/v2/FeedListContentManagerTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/feed/v2/FeedListContentManagerTest.java
@@ -14,6 +14,7 @@
 import android.content.Context;
 import android.support.test.filters.SmallTest;
 import android.view.View;
+import android.view.ViewParent;
 import android.widget.FrameLayout;
 import android.widget.LinearLayout;
 
@@ -196,10 +197,52 @@
         assertTrue(mManager.isNativeView(4));
 
         assertArrayEquals("foo".getBytes(), mManager.getExternalViewBytes(0));
-        assertEquals(v2, getNativeView(1));
-        assertEquals(v3, getNativeView(2));
+        assertEquals(v2, getNativeView(mManager.getViewType(1)));
+        assertEquals(v3, getNativeView(mManager.getViewType(2)));
         assertArrayEquals("hello".getBytes(), mManager.getExternalViewBytes(3));
-        assertEquals(v5, getNativeView(4));
+        assertEquals(v5, getNativeView(mManager.getViewType(4)));
+    }
+
+    @Test
+    @SmallTest
+    public void testGetViewDataCreatesEnclosingViewOnce() {
+        View v = new View(mContext);
+        FeedListContentManager.FeedContent c = createNativeViewContent(v);
+
+        addContents(0, ImmutableList.of(c));
+
+        assertEquals(v, getNativeView(mManager.getViewType(0)));
+        ViewParent p = v.getParent();
+
+        // Remove and re-add the same view, but with a new NativeViewContent.
+        // This time, getNativeView() does not need to create the enclosing parent view.
+        removeContents(0, 1);
+        c = createNativeViewContent(v);
+        addContents(0, ImmutableList.of(c));
+        assertEquals(v, getNativeView(mManager.getViewType(0)));
+        assertEquals(p, v.getParent());
+    }
+
+    @Test
+    @SmallTest
+    public void testGetNativeViewAfterMove() {
+        View v1 = new View(mContext);
+        FeedListContentManager.FeedContent c1 = createNativeViewContent(v1);
+        View v0 = new View(mContext);
+        FeedListContentManager.FeedContent c0 = createNativeViewContent(v0);
+
+        addContents(0, ImmutableList.of(c1));
+        int t1 = mManager.getViewType(0);
+        addContents(0, ImmutableList.of(c0));
+        int t0 = mManager.getViewType(0);
+
+        assertEquals(1, t1);
+        assertEquals(2, t0);
+
+        assertEquals(t0, mManager.getViewType(0));
+        assertEquals(t1, mManager.getViewType(1));
+        assertEquals(v0, getNativeView(t0));
+        assertEquals(v1, getNativeView(t1));
     }
 
     @Override
@@ -278,8 +321,8 @@
         return new FeedListContentManager.NativeViewContent(v.toString(), v);
     }
 
-    private View getNativeView(int index) {
-        View view = mManager.getNativeView(index, mParent);
+    private View getNativeView(int viewType) {
+        View view = mManager.getNativeView(viewType, mParent);
         assertNotNull(view);
         assertTrue(view instanceof FrameLayout);
         return ((FrameLayout) view).getChildAt(0);
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerDelegateTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerDelegateTest.java
index 6d7b9e3..88514cb4 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerDelegateTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerDelegateTest.java
@@ -6,6 +6,7 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.inOrder;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -27,6 +28,7 @@
 import org.mockito.InOrder;
 import org.mockito.Mock;
 
+import org.chromium.base.Callback;
 import org.chromium.base.test.BaseRobolectricTestRunner;
 import org.chromium.chrome.browser.app.ChromeActivity;
 import org.chromium.chrome.browser.profiles.Profile;
@@ -35,6 +37,8 @@
 import org.chromium.chrome.browser.signin.WebSigninBridge;
 import org.chromium.chrome.test.util.browser.signin.AccountManagerTestRule;
 import org.chromium.components.signin.base.CoreAccountInfo;
+import org.chromium.components.signin.base.GoogleServiceAuthError;
+import org.chromium.components.signin.base.GoogleServiceAuthError.State;
 import org.chromium.components.signin.identitymanager.IdentityManager;
 import org.chromium.components.signin.metrics.SigninAccessPoint;
 import org.chromium.content_public.browser.LoadUrlParams;
@@ -53,7 +57,10 @@
     public final AccountManagerTestRule mAccountManagerTestRule = new AccountManagerTestRule();
 
     @Mock
-    public WebSigninBridge.Factory mWebSigninBridgeFactoryMock;
+    private WebSigninBridge.Factory mWebSigninBridgeFactoryMock;
+
+    @Mock
+    private WebSigninBridge mWebSigninBridgeMock;
 
     @Mock
     private SigninManager mSigninManagerMock;
@@ -87,6 +94,8 @@
                 .thenReturn(new WeakReference<Activity>(mChromeActivityMock));
         mDelegate = new AccountPickerDelegate(
                 mWindowAndroidMock, mWebSigninBridgeFactoryMock, CONTINUE_URL);
+        when(mWebSigninBridgeFactoryMock.create(eq(mProfileMock), any(), eq(mDelegate)))
+                .thenReturn(mWebSigninBridgeMock);
     }
 
     @After
@@ -110,4 +119,33 @@
         LoadUrlParams loadUrlParams = mLoadUrlParamsCaptor.getValue();
         Assert.assertEquals("Continue url does not match!", CONTINUE_URL, loadUrlParams.getUrl());
     }
+
+    @Test
+    public void testSignInAborted() {
+        Account account =
+                mAccountManagerTestRule.addAccount(AccountManagerTestRule.TEST_ACCOUNT_EMAIL);
+        CoreAccountInfo coreAccountInfo = mAccountManagerTestRule.toCoreAccountInfo(account.name);
+        doAnswer(invocation -> {
+            SigninManager.SignInCallback callback = invocation.getArgument(2);
+            callback.onSignInAborted();
+            return null;
+        })
+                .when(mSigninManagerMock)
+                .signIn(eq(SigninAccessPoint.WEB_SIGNIN), eq(coreAccountInfo), any());
+        mDelegate.signIn(coreAccountInfo, error -> {});
+        verify(mWebSigninBridgeMock).destroy();
+    }
+
+    @Test
+    public void testSignInFailedWithConnectionError() {
+        Account account =
+                mAccountManagerTestRule.addAccount(AccountManagerTestRule.TEST_ACCOUNT_EMAIL);
+        CoreAccountInfo coreAccountInfo = mAccountManagerTestRule.toCoreAccountInfo(account.name);
+        Callback<GoogleServiceAuthError> mockCallback = mock(Callback.class);
+        GoogleServiceAuthError error = new GoogleServiceAuthError(State.CONNECTION_FAILED);
+        mDelegate.signIn(coreAccountInfo, mockCallback);
+        mDelegate.onSigninFailed(error);
+        verify(mockCallback).onResult(error);
+        verify(mWebSigninBridgeMock).destroy();
+    }
 }
diff --git a/chrome/android/native_java_unittests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreUnitTest.java b/chrome/android/native_java_unittests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreUnitTest.java
index 05cd392..8f8fa07 100644
--- a/chrome/android/native_java_unittests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreUnitTest.java
+++ b/chrome/android/native_java_unittests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreUnitTest.java
@@ -171,7 +171,7 @@
 
         TabRestoreDetails emptyNtpDetails =
                 new TabRestoreDetails(1, 0, false, UrlConstants.NTP_URL, false);
-        mPersistentStore.restoreTab(emptyNtpDetails, null, false);
+        mPersistentStore.restoreTab(emptyNtpDetails, null, null, false);
 
         verifyZeroInteractions(mNormalTabCreator);
     }
@@ -194,7 +194,7 @@
 
         TabRestoreDetails emptyNtpDetails =
                 new TabRestoreDetails(1, 0, false, UrlConstants.NTP_URL, false);
-        mPersistentStore.restoreTab(emptyNtpDetails, null, true);
+        mPersistentStore.restoreTab(emptyNtpDetails, null, null, true);
 
         verify(mNormalTabCreator)
                 .createNewTab(argThat(new LoadUrlParamsUrlMatcher(UrlConstants.NTP_URL)),
@@ -219,14 +219,14 @@
 
         TabRestoreDetails emptyNtpDetails =
                 new TabRestoreDetails(1, 0, false, UrlConstants.NTP_URL, true);
-        mPersistentStore.restoreTab(emptyNtpDetails, null, false);
+        mPersistentStore.restoreTab(emptyNtpDetails, null, null, false);
         verify(mNormalTabCreator)
                 .createNewTab(argThat(new LoadUrlParamsUrlMatcher(UrlConstants.NTP_URL)),
                         eq(TabLaunchType.FROM_RESTORE), (Tab) isNull());
 
         TabRestoreDetails emptyIncognitoNtpDetails =
                 new TabRestoreDetails(1, 0, true, UrlConstants.NTP_URL, true);
-        mPersistentStore.restoreTab(emptyIncognitoNtpDetails, null, false);
+        mPersistentStore.restoreTab(emptyIncognitoNtpDetails, null, null, false);
         verify(mIncognitoTabCreator)
                 .createNewTab(argThat(new LoadUrlParamsUrlMatcher(UrlConstants.NTP_URL)),
                         eq(TabLaunchType.FROM_RESTORE), (Tab) isNull());
@@ -234,6 +234,7 @@
 
     @CalledByNativeJavaTest
     @Feature("TabPersistentStore")
+    // TODO(crbug.com/1119583) Add similar test for CriticalPersistedTabData
     public void testNtpWithStateNotIgnoredDuringRestore() {
         mPersistentStore = new TabPersistentStore(
                 mPersistencePolicy, mTabModelSelector, mTabCreatorManager, mObserver);
@@ -242,9 +243,9 @@
         TabRestoreDetails ntpDetails =
                 new TabRestoreDetails(1, 0, false, UrlConstants.NTP_URL, false);
         TabState ntpState = new TabState();
-        mPersistentStore.restoreTab(ntpDetails, ntpState, false);
+        mPersistentStore.restoreTab(ntpDetails, ntpState, null, false);
 
-        verify(mNormalTabCreator).createFrozenTab(eq(ntpState), eq(1), anyInt());
+        verify(mNormalTabCreator).createFrozenTab(eq(ntpState), eq(null), eq(1), anyInt());
     }
 
     @CalledByNativeJavaTest
@@ -265,7 +266,7 @@
 
         TabRestoreDetails emptyNtpDetails =
                 new TabRestoreDetails(1, 0, true, UrlConstants.NTP_URL, false);
-        mPersistentStore.restoreTab(emptyNtpDetails, null, true);
+        mPersistentStore.restoreTab(emptyNtpDetails, null, null, true);
 
         verify(mIncognitoTabCreator)
                 .createNewTab(argThat(new LoadUrlParamsUrlMatcher(UrlConstants.NTP_URL)),
@@ -281,7 +282,7 @@
 
         TabRestoreDetails emptyNtpDetails =
                 new TabRestoreDetails(1, 0, true, UrlConstants.NTP_URL, false);
-        mPersistentStore.restoreTab(emptyNtpDetails, null, false);
+        mPersistentStore.restoreTab(emptyNtpDetails, null, null, false);
 
         verifyZeroInteractions(mIncognitoTabCreator);
     }
@@ -295,7 +296,7 @@
 
         TabRestoreDetails emptyNtpDetails =
                 new TabRestoreDetails(1, 0, true, UrlConstants.NTP_URL, false);
-        mPersistentStore.restoreTab(emptyNtpDetails, null, true);
+        mPersistentStore.restoreTab(emptyNtpDetails, null, null, true);
 
         verifyZeroInteractions(mIncognitoTabCreator);
     }
diff --git a/chrome/android/profiles/newest.txt b/chrome/android/profiles/newest.txt
index 6906f99c..6a04b8ac 100644
--- a/chrome/android/profiles/newest.txt
+++ b/chrome/android/profiles/newest.txt
@@ -1 +1 @@
-chromeos-chrome-amd64-86.0.4237.0_rc-r1-merged.afdo.bz2
+chromeos-chrome-amd64-86.0.4239.0_rc-r1-merged.afdo.bz2
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp
index 28c4387..0e22c59 100644
--- a/chrome/app/chromeos_strings.grdp
+++ b/chrome/app/chromeos_strings.grdp
@@ -5669,13 +5669,13 @@
     <ph name="DOMAIN">$1<ex>google.com</ex></ph> has disabled ADB debugging. No new applications can be sideloaded.
   </message>
   <message name="IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_PLANNED_NOTIFICATION_TITLE" desc="Title for the notification informing the user that local data will be deleted.">
-    Device data will be deleted in 24 hours
+    <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> data will be deleted in 24 hours
   </message>
   <message name="IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_ON_REBOOT_NOTIFICATION_TITLE" desc="Title for the notification informing the user that local data will be deleted after reboot.">
-    Device data will be deleted
+    <ph name="DEVICE_TYPE">$1<ex>Chromebook</ex></ph> data will be deleted
   </message>
   <message name="IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_NOTIFICATION_MESSAGE" desc="Text for the notification informing the user that that ADB sideloading has been disabled by the administrator which will result in local data being deleted after reboot.">
-    <ph name="DOMAIN">$1<ex>google.com</ex></ph> is disabling ADB debugging, which will reset your device. Back up your files before restarting.
+    <ph name="DOMAIN">$1<ex>google.com</ex></ph> is disabling ADB debugging, which will reset your <ph name="DEVICE_TYPE">$2<ex>Chromebook</ex></ph>. Back up your files before restarting.
   </message>
   <message name="IDS_ADB_SIDELOADING_POLICY_CHANGE_RESTART_TO_POWERWASH" meaning="button label" desc="Button label to restart the device which will result in local data being deleted.">
     Restart to powerwash
diff --git a/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_NOTIFICATION_MESSAGE.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_NOTIFICATION_MESSAGE.png.sha1
index f7682d01..7691735 100644
--- a/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_NOTIFICATION_MESSAGE.png.sha1
+++ b/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_NOTIFICATION_MESSAGE.png.sha1
@@ -1 +1 @@
-dd2aebf98fb54b31792a3532387f47b183ab20b0
\ No newline at end of file
+1a6166e9d0cb112212e4ab4d04f1fba5069d4813
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_ON_REBOOT_NOTIFICATION_TITLE.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_ON_REBOOT_NOTIFICATION_TITLE.png.sha1
index 9aa5d95f..7691735 100644
--- a/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_ON_REBOOT_NOTIFICATION_TITLE.png.sha1
+++ b/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_ON_REBOOT_NOTIFICATION_TITLE.png.sha1
@@ -1 +1 @@
-8cb1d465e8902fe4ed24c232f598e9ad0617375c
\ No newline at end of file
+1a6166e9d0cb112212e4ab4d04f1fba5069d4813
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_PLANNED_NOTIFICATION_TITLE.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_PLANNED_NOTIFICATION_TITLE.png.sha1
index f7682d01..a6712fd 100644
--- a/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_PLANNED_NOTIFICATION_TITLE.png.sha1
+++ b/chrome/app/chromeos_strings_grdp/IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_PLANNED_NOTIFICATION_TITLE.png.sha1
@@ -1 +1 @@
-dd2aebf98fb54b31792a3532387f47b183ab20b0
\ No newline at end of file
+e7aea93f853e4df4b34d670c5c0968cedd37e02c
\ No newline at end of file
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 4d07574..952d807 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -3616,6 +3616,9 @@
         <message name="IDS_TASK_MANAGER_ARC_PREFIX" desc="The prefix for an ARC general process row">
           App: <ph name="ARC_PROCESS_NAME">$1<ex>com.android.systemui</ex></ph>
         </message>
+        <message name="IDS_TASK_MANAGER_TOOL_PREFIX" desc="The prefix for a tool process row in the Task Manager">
+          Tool: <ph name="PRINT_NAME">$1<ex>Manage People</ex></ph>
+        </message>
         <message name="IDS_TASK_MANAGER_ARC_PREFIX_BACKGROUND_SERVICE" desc="The prefix for an ARC service process row">
           Service: <ph name="ARC_PROCESS_NAME">$1<ex>com.android.systemui</ex></ph>
         </message>
@@ -10777,6 +10780,43 @@
           other {Click to view these extensions}}
       </message>
     </if>
+
+    <if expr="is_macosx">
+      <!-- These strings are placeholders for strings that are filled in via
+           field trials, so they are *not* used as-is except in tests. -->
+      <message name="IDS_MAC_SYSTEM_INFOBAR_TEXT_ARM"
+               desc="Mac system-specific infobar text for Arm64-on-Arm64."
+               translateable="false">
+        This is an Arm64 Chrome on Arm64, so things might not work quite right
+yet!
+      </message>
+      <message name="IDS_MAC_SYSTEM_INFOBAR_TEXT_ROSETTA"
+               desc="Mac system-specific infobar text for Intel-on-Arm64."
+               translateable="false">
+        This is an x86-64 Chrome on Arm64, so things might not work quite right
+yet!
+      </message>
+      <message name="IDS_MAC_SYSTEM_INFOBAR_LINK_TEXT_ARM"
+               desc="Mac system-specific infobar link text for Arm64-on-Arm64."
+               translateable="false">
+        Learn more
+      </message>
+      <message name="IDS_MAC_SYSTEM_INFOBAR_LINK_URL_ARM"
+               desc="Mac system-specific infobar link for Arm64-on-Arm64."
+               translateable="false">
+        https://www.google.com
+      </message>
+      <message name="IDS_MAC_SYSTEM_INFOBAR_LINK_TEXT_ROSETTA"
+               desc="Mac system-specific infobar link text for Intel-on-Arm64."
+               translateable="false">
+        Learn more
+      </message>
+      <message name="IDS_MAC_SYSTEM_INFOBAR_LINK_URL_ROSETTA"
+               desc="Mac system-specific infobar link for Intel-on-Arm64."
+               translateable="false">
+        https://www.google.com
+      </message>
+    </if>
   </messages>
 </release>
 </grit>
diff --git a/chrome/app/generated_resources_grd/IDS_TASK_MANAGER_TOOL_PREFIX.png.sha1 b/chrome/app/generated_resources_grd/IDS_TASK_MANAGER_TOOL_PREFIX.png.sha1
new file mode 100644
index 0000000..871ca17
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_TASK_MANAGER_TOOL_PREFIX.png.sha1
@@ -0,0 +1 @@
+358531a42a6ee1a14c88561c6d74d753dd7f0b99
\ No newline at end of file
diff --git a/chrome/app/os_settings_strings.grdp b/chrome/app/os_settings_strings.grdp
index 7d570671..8f4fdf5 100644
--- a/chrome/app/os_settings_strings.grdp
+++ b/chrome/app/os_settings_strings.grdp
@@ -2208,12 +2208,21 @@
   <message name="IDS_SETTINGS_PEOPLE_ENABLE_SCREENLOCK" desc="The text on the checkbox to enable screenlocker for current user.">
     Show lock screen when waking from sleep
   </message>
+  <message name="IDS_SETTINGS_PEOPLE_SCREEN_LOCK_ENABLE_TITLE" desc="The title on the toggle to enable screen lock for current user.">
+    Screen lock
+  </message>
+  <message name="IDS_SETTINGS_PEOPLE_SCREEN_LOCK_ENABLE_SUBTITLE" desc="The subtitle on the toggle to enable screen lock for current user.">
+    Require password to unlock device for added security
+  </message>
   <message name="IDS_ASH_SETTINGS_LOCK_SCREEN_NOTIFICATION_SHOW" desc="One of options of the lock screen notification mode to show all the notifications and its contents on the lock screen.">
     Show all notification content
   </message>
   <message name="IDS_SETTINGS_PEOPLE_LOCK_SCREEN_PIN_OR_PASSWORD" desc="The account password or a custom PIN can be used to unlock the device.">
     PIN or password
   </message>
+  <message name="IDS_SETTINGS_PEOPLE_LOCK_SCREEN_ENABLE_PIN" desc="Text on the toggle that allows the user to enable PIN in addition to password for the lock screen.">
+    Use PIN in addition to password
+  </message>
   <message name="IDS_SETTINGS_PEOPLE_LOCK_SCREEN_PIN_AUTOSUBMIT" desc="Option to enable PIN auto-submit">
     Unlock automatically once PIN is entered
   </message>
@@ -2295,6 +2304,9 @@
   <message name="IDS_SETTINGS_PEOPLE_LOCK_SCREEN_TITLE_LOGIN_LOCK" desc="Text on the people page which opens up the security and sign-in section.">
     Security and sign-in
   </message>
+  <message name="IDS_SETTINGS_PEOPLE_SCREEN_LOCK_TITLE" desc="Text on the people page which opens up the screen lock and sign-in section.">
+    Screen lock and sign-in
+  </message>
   <message name="IDS_SETTINGS_PEOPLE_PASSWORD_PROMPT_ENTER_PASSWORD_LOCK" desc="Text above a password input field that tells the user they need to submit their password to configure these settings.">
     Enter your password to configure screen lock
   </message>
diff --git a/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_LOCK_SCREEN_ENABLE_PIN.png.sha1 b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_LOCK_SCREEN_ENABLE_PIN.png.sha1
new file mode 100644
index 0000000..2cff7f34
--- /dev/null
+++ b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_LOCK_SCREEN_ENABLE_PIN.png.sha1
@@ -0,0 +1 @@
+5e096603b362a0f8516f7609fc33af9c6bcf5f87
\ No newline at end of file
diff --git a/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_SCREEN_LOCK_ENABLE_SUBTITLE.png.sha1 b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_SCREEN_LOCK_ENABLE_SUBTITLE.png.sha1
new file mode 100644
index 0000000..2cff7f34
--- /dev/null
+++ b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_SCREEN_LOCK_ENABLE_SUBTITLE.png.sha1
@@ -0,0 +1 @@
+5e096603b362a0f8516f7609fc33af9c6bcf5f87
\ No newline at end of file
diff --git a/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_SCREEN_LOCK_ENABLE_TITLE.png.sha1 b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_SCREEN_LOCK_ENABLE_TITLE.png.sha1
new file mode 100644
index 0000000..2cff7f34
--- /dev/null
+++ b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_SCREEN_LOCK_ENABLE_TITLE.png.sha1
@@ -0,0 +1 @@
+5e096603b362a0f8516f7609fc33af9c6bcf5f87
\ No newline at end of file
diff --git a/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_SCREEN_LOCK_TITLE.png.sha1 b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_SCREEN_LOCK_TITLE.png.sha1
new file mode 100644
index 0000000..2cff7f34
--- /dev/null
+++ b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_PEOPLE_SCREEN_LOCK_TITLE.png.sha1
@@ -0,0 +1 @@
+5e096603b362a0f8516f7609fc33af9c6bcf5f87
\ No newline at end of file
diff --git a/chrome/app/resources/chromium_strings_af.xtb b/chrome/app/resources/chromium_strings_af.xtb
index 8b049f3dd..a8270b6 100644
--- a/chrome/app/resources/chromium_strings_af.xtb
+++ b/chrome/app/resources/chromium_strings_af.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Opsioneel: Help om Chromium-bedryfstelselkenmerke en -werkverrigting beter te maak deur outomaties diagnostiese en gebruiksdata na Google toe te stuur.</translation>
 <translation id="2347108572062610441">Hierdie uitbreiding het verander watter bladsy gewys word wanneer jy Chromium begin.</translation>
 <translation id="2396765026452590966">Die uitbreiding "<ph name="EXTENSION_NAME" />" het verander watter bladsy gewys word wanneer jy Chromium begin.</translation>
-<translation id="2442081746662839303">Skep nuwe Chromium-spasie vir <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">In Chromium</translation>
 <translation id="2485422356828889247">Deïnstalleer</translation>
 <translation id="2527042973354814951">Herbegin Chromium om <ph name="PLUGIN_NAME" /> te aktiveer</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Dit lyk of die profiel deur 'n ander Chromium-proses (<ph name="PROCESS_ID" />) op 'n ander rekenaar (<ph name="HOST_NAME" />) gebruik word. Chromium het jou profiel gesluit sodat dit nie gekorrupteer word nie. As jy seker is dat geen ander prosesse hierdie profiel gebruik nie, kan jy die profiel ontsluit en Chromium herbegin.</translation>
 <translation id="469338717132742108">Kry hulp met Chromium-bedryfstelsel</translation>
 <translation id="4708774505295300557">Iemand het voorheen op hierdie rekenaar as <ph name="ACCOUNT_EMAIL_LAST" /> by Chromium aangemeld. Skep asseblief 'n nuwe Chromium-gebruiker om jou inligting apart te hou.</translation>
-<translation id="4745225042341419983">Hierdie spasie se blaaierdata sal van hierdie toestel af uitgevee word. Om die data te herwin, moet jy by Chromium aanmeld as</translation>
 <translation id="4746050847053251315">Verlaat Chromium in elk geval?</translation>
 <translation id="4748217263233248895">'n Spesiale sekuriteitopdatering vir Chromium is sopas toegepas. Herbegin nou en ons sal jou oortjies teruglaai.</translation>
 <translation id="4750035648288509542">Amper op datum! Herbegin Chromium om opdatering te voltooi. Incognitovensters sal nie weer oopgemaak word nie.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium is in agtergrondmodus.</translation>
 <translation id="4987820182225656817">Gaste kan Chromium gebruik sonder om iets agter te laat.</translation>
 <translation id="4994636714258228724">Voeg jouself by Chromium</translation>
-<translation id="5053724573690775822">Skep nuwe Chromium-werkspasie?</translation>
 <translation id="5224391634244552924">Geen gestoorde wagwoorde nie. Chromium kan jou wagwoorde nagaan wanneer jy hulle stoor.</translation>
 <translation id="5277894862589591112">Herbegin Chromium om jou veranderinge toe te pas</translation>
 <translation id="5358375970380395591">Jy meld tans met 'n bestuurde rekening aan en gee sy administrateur beheer oor jou Chromium-profiel. Jou Chromium-data, soos jou programme, boekmerke, geskiedenis, wagwoorde en ander instellings, sal permanent aan <ph name="USER_NAME" /> gekoppel word. Jy sal hierdie data via die Google-rekening se kontroleskerm kan uitvee, maar jy sal nie hierdie data met 'n ander rekening kan assosieer nie. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium kan nie die drukvoorskou wys wanneer die ingeboude PDF-bekyker ontbreek nie.</translation>
 <translation id="5427571867875391349">Stel Chromium as jou verstekblaaier</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">Jy het met 'n nuwe rekening by <ph name="EXISTING_USER" /> se spasie aangemeld. Wil jy graag 'n nuwe Chromium-spasie vir <ph name="NEW_USER" /> skep om jou data apart te hou?</translation>
 <translation id="5479196819031988440">Chromium OS kan nie hierdie bladsy oopmaak nie.</translation>
 <translation id="5480860683791598150">Chromium het toegang tot jou ligging nodig om jou ligging met hierdie werf te deel</translation>
 <translation id="549669000822060376">Wag terwyl Chromium die jongste stelselopdaterings installeer.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium kon nie jou data sinkroniseer nie weens 'n fout tydens aanmelding.</translation>
 <translation id="6096348254544841612">Pasmaak en beheer Chromium. Opdatering is beskikbaar.</translation>
 <translation id="6120345080069858279">Chromium sal hierdie wagwoord in jou Google-rekening stoor. Jy sal dit nie hoef te onthou nie.</translation>
-<translation id="6128834065531097268">Jy het met 'n werkrekening by <ph name="EXISTING_USER" /> se spasie aangemeld. Wil jy graag 'n nuwe Chromium-spasie vir <ph name="WORK_DOMAIN" /> skep om jou data apart te hou?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> is gevaarlik en daarom het Chromium dit geblokkeer.</translation>
 <translation id="6134968993075716475">Veiligblaai is afgeskakel. Chromium beveel aan dat jy dit aanskakel.</translation>
 <translation id="6212496753309875659">Hierdie rekenaar het reeds 'n meer onlangse weergawe van Chromium. As die sagteware nie werk nie, deïnstalleer Chromium en probeer weer.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Vee data ook uit Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">As 'n instelling nie op hierdie bIadsy verskyn nie, moet jy in jou <ph name="LINK_BEGIN" />
       Chromium-bedryfstelselinstellings<ph name="LINK_END" /> kyk</translation>
-<translation id="7607142834923530546">Jy het met 'n werkrekening aangemeld. Wil jy graag 'n nuwe Chromium-spasie vir <ph name="NEW_USER" /> skep om jou persoonlike data apart te hou?</translation>
 <translation id="761356813943268536">Chromium gebruik tans jou kamera en mikrofoon.</translation>
 <translation id="7617377681829253106">Chromium het pas beter geword</translation>
 <translation id="7628001322379820951">Chromium het skadelike sagteware op jou rekenaar gekry</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Dit is 'n sekondêre installering van Chromium en kan nie jou verstekblaaier gemaak word nie.</translation>
 <translation id="7979877361127045932">Versteek in Chromium-kieslys</translation>
 <translation id="8013436988911883588">Sodra Chromium toegang het, sal webwerwe jou kan vra vir toegang.</translation>
-<translation id="8022442821873033760">Stel jou nuwe Chromium-spasie op</translation>
 <translation id="81770708095080097">Hierdie lêer is gevaarlik en daarom het Chromium dit geblokkeer.</translation>
 <translation id="8248265253516264921">As 'n prent nie 'n nuttige beskrywing het nie, sal Chromium probeer om een vir jou te verskaf. Prente word na Google toe gestuur om beskrywings te skep. Jy kan dit enige tyd in instellings afskakel.</translation>
 <translation id="8266560134891435528">Chromium kan nie jou wagwoorde nagaan nie, want jy is nie aangemeld nie</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Herbegin Chromium binne 'n dag}other{Herbegin Chromium binne # dae}}</translation>
 <translation id="8453117565092476964">Die installeerderargief is korrup of ongeldig. Laai Chromium asseblief weer af.</translation>
 <translation id="8493179195440786826">Chromium is verouderd</translation>
-<translation id="8545858702702650646">Kies jou Chromium-spasie</translation>
 <translation id="8558383651099478961">Jou ouer het "Toestemmings vir werwe, programme en uitbreidings" vir Chromium afgeskakel. Hierdie <ph name="EXTENSION_TYPE_PARAMETER" /> mag nie bygevoeg word nie.</translation>
 <translation id="8568283329061645092">Chromium kan jou wagwoorde nagaan as jy met jou Google-rekening aanmeld</translation>
 <translation id="8586442755830160949">Kopiereg <ph name="YEAR" /> Die Chromium-outeurs. Alle regte voorbehou.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Jou stelseladministrateur het Chromium opgestel om 'n alternatiewe blaaier oop te maak om na <ph name="TARGET_URL_HOSTNAME" /> toe te gaan.</translation>
 <translation id="9164845895615421500">Chromium kyk een keer per week vir ongewenste sagteware. Laas nagegaan: 'n oomblik gelede.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Gebruik Chromium-spasies om jou blaaidata op hierdie toestel georganiseerd te hou</translation>
 <translation id="93478295209880648">Chromium sal dalk nie reg werk nie omdat dit nie meer in Windows XP en Windows Vista gesteun word nie</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> vereis dat jy die volgende diensbepalings lees en aanvaar voor jy hierdie toestel gebruik. Hierdie bepalings verander, beperk of brei nie die Chromium-bedryfstelseldiensbepalings uit nie.</translation>
 <translation id="985602178874221306">Die Chromium-outeurs</translation>
diff --git a/chrome/app/resources/chromium_strings_am.xtb b/chrome/app/resources/chromium_strings_am.xtb
index 22019da..a062136d 100644
--- a/chrome/app/resources/chromium_strings_am.xtb
+++ b/chrome/app/resources/chromium_strings_am.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">ከተፈለገ፦ የምርመራ እና የአጠቃቀም ውሂብ ወደ Google በራስ-ሰር በመላክ የChromium OS ባህሪያትን እና አፈጻጸምን እንዲሻሻል ያግዙ።</translation>
 <translation id="2347108572062610441">ይህ ቅጥያ Chromiumን ሲጀምሩት የሚታየውን ገጽ ቀይሮታል።</translation>
 <translation id="2396765026452590966">ይህ «<ph name="EXTENSION_NAME" />» ቅጥያ Chromiumን ሲጀምሩት የሚታየውን ገጽ ቀይሮታል።</translation>
-<translation id="2442081746662839303">ለ<ph name="NEW_USER" /> አዲስ የChromium ቦታ ይፈጠር?</translation>
 <translation id="2483889755041906834">በChromium ውስጥ</translation>
 <translation id="2485422356828889247">አራግፍ</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" />ን ለማንቃት Chromiumን ዳግም ያስጀምሩ</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">መገለጫው በሌላ ኮምፒውተር (<ph name="HOST_NAME" />) ላይ በሌላ የChromium ሂደት (<ph name="PROCESS_ID" />) የተያዘ ይመስላል። Chromium መገለጫው እንዳይበላሽ ቆልፎታል።  ሌሎች ሂደቶች ይህን መገለጫ እየተጠቀሙበት እንዳልሆኑ እርግጠኛ ከሆኑ መገለጫውን አስከፍተው Chromiumን ዳግም ማስጀመር ይችላሉ።</translation>
 <translation id="469338717132742108">Chromium OS ላይ እገዛ ያግኙ</translation>
 <translation id="4708774505295300557">የሆነ ሰው ከዚህ ቀደም በዚህ ኮምፒውተር ላይ እንደ <ph name="ACCOUNT_EMAIL_LAST" /> ሆነው ገብተዋል። የእርስዎን መረጃ ለይተው ለማስቀመጥ እባክዎ አዲስ የChromium ተጠቃሚ ይፍጠሩ።</translation>
-<translation id="4745225042341419983">የዚህ ክፍተት የአሰሳ ውሂብ ከዚህ መሣሪያ ይሰረዛል። ውሂቡን መልሶ ለማግኘት ወደ Chromium የሚገቡት እንደ</translation>
 <translation id="4746050847053251315">የሆነው ሆኖ Chromium ይቁም?</translation>
 <translation id="4748217263233248895">ለChromium ልዩ የደህንነት ዝማኔ ተፈጻሚ ተደርጓል። አሁን ዳግም ያስጀምሩ እና የእርስዎን ትሮች ወደ ነበሩበት እንመልሳለን።</translation>
 <translation id="4750035648288509542">ሊዘመን ጥቂት ቀርቶታል! ማዘመን ለማጠናቀቅ Chromiumን ዳግም ያስጀምሩት። ማንነት የማያሳውቁ መስኮቶች ዳግም አይከፈቱም።</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium በጀርባ ሁነታ ላይ ነው።</translation>
 <translation id="4987820182225656817">እንግዳዎች ማንኛውንም ነገር ወደኋላ ሳይተዉ Chromium መጠቀም ይችላሉ።</translation>
 <translation id="4994636714258228724">እራስዎን በChromium ላይ ያክሉ</translation>
-<translation id="5053724573690775822">አዲስ የChromium የስራ ቦታ ይፈጠር?</translation>
 <translation id="5224391634244552924">ምንም የተቀመጡ የይለፍ ቃላት የሉም። እርስዎ የይለፍ ቃላትዎን ሲያስቀምጧቸው Chromium መፈተሽ ይችላል።</translation>
 <translation id="5277894862589591112">የእርስዎን ለውጦች ተፈጻሚ ለማድረግ፣ Chromiumን ዳግም ያስጀምሩ</translation>
 <translation id="5358375970380395591">በሚተዳደር መለያ እየገቡ ነው፣ እና አስተዳዳሪው በእርስዎ Chromium መገለጫ ላይ ቁጥጥር እየሰጡት ነው። እንደ እርስዎ  መተግበሪያዎች፣ ዕልባቶች፣ ታሪክ፣ የይለፍ ቃላት እና ሌሎች ቅንብሮች ያሉ የእርስዎ Chromium ውሂብ እስከ መጨረሻው ከ<ph name="USER_NAME" /> ጋር የተያያዙ ይሆናሉ። ይህን ውሂብ በGoogle የመለያዎች Dashboard አማካኝነት ሊሰርዙት ይችላሉ፣ ነገር ግን ይህን ውሂብ ከሌላ መለያ ጋር ሊያጎዳኙት አይችሉም። <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">አብሮገነቡ የፒዲኤፍ መመልከቻው ከጎደለ Chromium የህትመት ቅድመ-እይታውን ማሳየት አይችልም።</translation>
 <translation id="5427571867875391349">Chromium እንደ ነባሪ አሳሽዎ አድርገው ያዋቅሩት</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium ቅድመ-ይሁንታ</translation>
-<translation id="544968170749360982">በ<ph name="EXISTING_USER" /> ቦታ ውስጥ በአዲስ መለያ ገብተዋል። የእርስዎን ውሂብ ለብቻው ለይቶ ለማቆየት አዲስ የChromium ቦታን ለ<ph name="NEW_USER" /> መፍጠር ይፈልጋሉ?</translation>
 <translation id="5479196819031988440">Chromium OS ይህን ገጽ መክፈት አይችልም።</translation>
 <translation id="5480860683791598150">Chromium አካባቢዎን ለዚህ ጣቢያ ለማጋራት የአካባቢዎ መዳረሻ ያስፈልገዋል</translation>
 <translation id="549669000822060376">Chromium የቅርብ ጊዜዎቹ የስርዓቱ ዝማኔዎችን እስኪጭን ድረስ እባክዎ ይጠብቁ።</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">በመለያ ሲገባ በነበረ ስህተት ምክንያት Chromium ውሂብዎን ማመሳሰል አልቻለም።</translation>
 <translation id="6096348254544841612">Chromiumን ያብጁትና ይቆጣጠሩት። ዝማኔ ይገኛል።</translation>
 <translation id="6120345080069858279">Chromium ይህን የይለፍ ቃል በእርስዎ የGoogle መለያ ውስጥ ያስቀምጠዋል። ማስታወስ አይኖርብዎትም።</translation>
-<translation id="6128834065531097268">በ<ph name="EXISTING_USER" /> ቦታ ውስጥ በሥራ መለያ ገብተዋል። የእርስዎን ውሂብ ለብቻው ለይቶ ለማቆየት አዲስ የChromium ቦታን ለ<ph name="WORK_DOMAIN" /> መፍጠር ይፈልጋሉ?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> አደገኛ ነው፣ ስለዚህ Chromium አግዶታል።</translation>
 <translation id="6134968993075716475">የጥንቃቄ አሰሳ ጠፍቷል። Chromium እንዲያበሩት ይመክራል።</translation>
 <translation id="6212496753309875659">ይህ ኮምፒውተር አስቀድሞ ይበልጥ አዲስ የሆነ የChromium ስሪት አለው። ሶፍትዌሩ የማይሰራ ከሆነ እባክዎ Chromiumን ያራግፉና እንደገና ይሞክሩ።</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">በተጨማሪ ከChromium (<ph name="URL" />) ውሂብን አጽዳ</translation>
 <translation id="7585853947355360626">በዚህ ገጽ ላይ አንድ ቅንብር ካልታየ በእርስዎ <ph name="LINK_BEGIN" />
       የ Chromium አሳሽ ቅንብሮች<ph name="LINK_END" /> ውስጥ ይመልከቱ</translation>
-<translation id="7607142834923530546">በሥራ መለያ ገብተዋል። የእርስዎን ውሂብ ለብቻው ለይቶ ለማቆየት አዲስ የChromium ቦታን ለ<ph name="NEW_USER" /> መፍጠር ይፈልጋሉ?</translation>
 <translation id="761356813943268536">Chromium ካሜራዎን እና ማይክሮፎንዎን እየተጠቀመ ነው።</translation>
 <translation id="7617377681829253106">Chromium አሁን ይበልጥ ተሻሽሏል</translation>
 <translation id="7628001322379820951">Chromium በእርስዎ ኮምፒውተር ላይ ጎጂ ሶፍትዌር አግኝቷል</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">ይሄ ሁለተኛ የChromium ጭነት ነው፣ እና ነባሪ አሳሽዎ ማድረግ አይቻልም።</translation>
 <translation id="7979877361127045932">በChromium ምናሌ ውስጥ ደብቅ</translation>
 <translation id="8013436988911883588">አንዴ Chromium መዳረሻ ከኖረው በኋላ ድር ጣቢያዎች እርስዎን መዳረሻ መጠየቅ ይችላሉ።</translation>
-<translation id="8022442821873033760">አዲሱን የእርስዎን የChromium ቦታ ያቀናብሩ</translation>
 <translation id="81770708095080097">ይህ ፋይል አደገኛ ስለሆነ Chromium አግዶታል።</translation>
 <translation id="8248265253516264921">አንድ ምስል ጠቃሚ መግለጫ ከሌለው Chromium ለእርስዎ አንድ ለማቅረብ ይሞክራል። ዝርዝር መግለጫዎችን ለመፍጠር፣ ምስሎች ወደ Google ይላካሉ። ይህን በማንኛውም ጊዜ በቅንብሮች ውስጥ ሊያጠፉት ይችላሉ።</translation>
 <translation id="8266560134891435528">እርስዎ በመለያ ስላልገቡ ስለሆኑ Chromium የይለፍ ቃላትዎን መፈተሽ አይችልም</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{በአንድ ቀን ውስጥ Chromiumን ዳግም አስጀምር}one{በ# ቀኖች ውስጥ Chromiumን ዳግም አስጀምር}other{በ# ቀኖች ውስጥ Chromiumን ዳግም አስጀምር}}</translation>
 <translation id="8453117565092476964">የጫኚው መዝገብ ተበላሽቷል ወይም ትክክል አይደለም። እባክዎ Chromiumን እንደገና ያውርዱ።</translation>
 <translation id="8493179195440786826">Chromium ጊዜው አልፎበታል</translation>
-<translation id="8545858702702650646">የChromium ቦታዎን ይምረጡ</translation>
 <translation id="8558383651099478961">የእርስዎ ወላጅ ለChromium «የጣቢያዎች፣ መተግበሪያዎች እና ቅጥያዎች ፈቃዶች»ን አጥፍተዋል። ይህን <ph name="EXTENSION_TYPE_PARAMETER" /> ማከል አይፈቀድም።</translation>
 <translation id="8568283329061645092">Chromium በእርስዎ የGoogle መለያ በሚገቡበት ጊዜ የእርስዎን የይለፍ ቃላትን ሊፈትሽ ይችላል</translation>
 <translation id="8586442755830160949">የቅጂ መብት <ph name="YEAR" /> የChromium ደራሲያን። ሁሉም መብቶች የተጠበቁ ናቸው።</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">የእርስዎ የስርዓት አስተዳዳሪ <ph name="TARGET_URL_HOSTNAME" />ን ለመድረስ Chromium ተለዋጭ አሳሽን እንዲከፍት አዋቅረውታል።</translation>
 <translation id="9164845895615421500">Chromium በሳምንት አንድ ጊዜ የማይፈለጉ ሶፍትዌሮች ካሉ ይፈትሻል። መጨረሻ የተፈተሸው፦ ከአፍታ በፊት።</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">አሰሳዎ በዚህ መሣሪያ ላይ እንደተደራጀ ለማቆየት የChromium ቦታዎችን ይጠቀሙ</translation>
 <translation id="93478295209880648">Chromium በWindows XP ወይም Windows Vista ላይ ከእንግዲህ ስለማይደገፍ በአግባቡ ላይሰራ ይችላል</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> ይህን መሣሪያ ከመጠቀምዎ በፊት የሚከተለውን የአገልግሎት ውል እንዲያነቡት እና እንዲቀበሉት ይፈለጋል። ይህ ውል የChromium ስርዓተ ክወና ውሉን አያስፋፋውም፣ አይቀይረውም ወይም አይገድበውም።</translation>
 <translation id="985602178874221306">የChromium ደራሲዎች</translation>
diff --git a/chrome/app/resources/chromium_strings_ar.xtb b/chrome/app/resources/chromium_strings_ar.xtb
index 59df776..964063b1 100644
--- a/chrome/app/resources/chromium_strings_ar.xtb
+++ b/chrome/app/resources/chromium_strings_ar.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">‏اختياري: يمكنك المساعدة في تحسين ميزات نظام التشغيل Chromium وأدائه من خلال إرسال بيانات التشخيص والاستخدام تلقائيًا إلى Google.</translation>
 <translation id="2347108572062610441">‏غيّرت هذه الإضافة الصفحة التي تظهر عند بدء Chromium.</translation>
 <translation id="2396765026452590966">‏غيّرت الإضافة "<ph name="EXTENSION_NAME" />" الصفحة التي تظهر عند بدء Chromium.</translation>
-<translation id="2442081746662839303">‏هل تريد إنشاء ملف شخصي جديد على Chromium للمستخدم <ph name="NEW_USER" />؟</translation>
 <translation id="2483889755041906834">‏في Chromium</translation>
 <translation id="2485422356828889247">إزالة التثبيت</translation>
 <translation id="2527042973354814951">‏إعادة تشغيل Chromium لتفعيل <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">‏يبدو أن الملف الشخصي قيد الاستخدام بواسطة عملية أخرى في Chromium (<ph name="PROCESS_ID" />) على جهاز كمبيوتر آخر (<ph name="HOST_NAME" />). وقد تمّ قفل الملف الشخصي من جانب Chromium لضمان عدم تعرضه للتلف. فإذا كنت واثقًا من عدم وجود عمليات أخرى قيد التشغيل على جهاز الكمبيوتر، فيُمكنك فتح قفل الملف الشخصي وإعادة تشغيل Chromium مجددًا.</translation>
 <translation id="469338717132742108">‏الحصول على مساعدة في نظام التشغيل Chromium</translation>
 <translation id="4708774505295300557">‏سجّل شخص ما الدخول من قبل إلى Chromium على جهاز الكمبيوتر هذا باسم <ph name="ACCOUNT_EMAIL_LAST" />. يُرجى إنشاء حساب مستخدم جديد في Chromium للإبقاء على معلوماتك بشكلٍ منفصل.</translation>
-<translation id="4745225042341419983">‏سيتم حذف بيانات تصفُّح هذه المساحة من هذا الجهاز. لاسترداد البيانات المحذوفة، يُرجى تسجيل الدخول إلى Chromium بحساب</translation>
 <translation id="4746050847053251315">‏هل تريد الخروج من Chromium على أي حال؟</translation>
 <translation id="4748217263233248895">‏تم للتو تطبيق تحديث أمان خاص لمتصفِّح Chromium. يمكنك إعادة التشغيل الآن وستتم استعادة علامات التبويب.</translation>
 <translation id="4750035648288509542">‏أوشك التحديث على الانتهاء. يجب إعادة تشغيل Chromium لإكمال التحديث. ولن تتم إعادة فتح نوافذ التصفّح المتخفي.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">‏Chromium في وضع الخلفية.</translation>
 <translation id="4987820182225656817">‏يمكن للضيف استخدام Chromium بدون أن يترك أي أثر وراءه.</translation>
 <translation id="4994636714258228724">‏إضافة نفسك إلى Chromium</translation>
-<translation id="5053724573690775822">‏هل تريد إنشاء مساحة عمل جديدة على Chromium؟</translation>
 <translation id="5224391634244552924">‏ما مِن كلمات مرور محفوظة. لا يستطيع Chromium التحقُّق من كلمات المرور إلا عند حفظها.</translation>
 <translation id="5277894862589591112">‏لتطبيق التغييرات، يُرجى إعادة تشغيل Chromium</translation>
 <translation id="5358375970380395591">‏أنت تسجل الدخول باستخدام حساب يخضع للإدارة وتتيح للمشرف إمكانية التحكم في ملفك الشخصي على Chromium. وستكون بياناتك في Chromium مثل تطبيقاتك وإشاراتك المرجعية وسجلك وكلمات المرور التابعة لك والإعدادات الأخرى مرتبطة دائمًا بالمستخدم <ph name="USER_NAME" />. ستتمكن من حذف هذه البيانات عبر لوحة تحكم حسابات Google، ولكنك لن تتمكن من إقران هذه البيانات بحساب آخر. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">‏يتعذر على Chromium عرض معاينة الطباعة عندما يكون عارض PDF المضمّن مفقودًا.</translation>
 <translation id="5427571867875391349">‏تعيين Chromium المتصفح التلقائي</translation>
 <translation id="5438241569118040789">‏<ph name="PAGE_TITLE" /> - الإصدار التجريبي من Chromium</translation>
-<translation id="544968170749360982">‏لقد سجَّلت الدخول إلى ملف <ph name="EXISTING_USER" /> الشخصي باستخدام حساب جديد. هل تريد إنشاء ملف شخصي جديد على Chromium للمستخدم <ph name="NEW_USER" /> حتى تُبقي بياناتك منفصلة؟</translation>
 <translation id="5479196819031988440">‏يتعذر على نظام التشغيل Chromium فتح هذه الصفحة.</translation>
 <translation id="5480860683791598150">‏يحتاج Chromium للوصول إلى موقعك الجغرافي لمشاركته مع هذا الموقع.</translation>
 <translation id="549669000822060376">‏يُرجى الانتظار أثناء تثبيت Chromium لآخر تحديثات النظام.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">‏تعذر على Chromium مزامنة البيانات نظرًا لحدوث خطأ أثناء تسجيل الدخول.</translation>
 <translation id="6096348254544841612">‏تخصيص Chromium والتحكُّم فيه. هناك تحديث متوفر.</translation>
 <translation id="6120345080069858279">‏سيحفظ Chromium كلمة المرور هذه في حسابك على Google ولن تحتاج تذكّرها.</translation>
-<translation id="6128834065531097268">‏لقد سجَّلت الدخول إلى ملف <ph name="EXISTING_USER" /> الشخصي باستخدام حساب عمل. هل تريد إنشاء ملف شخصي جديد على Chromium للنطاق <ph name="WORK_DOMAIN" /> حتى تُبقي بياناتك منفصلة؟</translation>
 <translation id="6129621093834146363">‏ملف <ph name="FILE_NAME" /> ضار، لذلك فقد حظره Chromium.</translation>
 <translation id="6134968993075716475">‏تم إيقاف "التصفّح الآمن" ويقترح متصفّح Chrome تفعيله.</translation>
 <translation id="6212496753309875659">‏يحتوي هذا الكمبيوتر فعلاً على إصدار أحدث من Chromium. إذا كان البرنامج لا يعمل، يُرجى إزالة Chromium وإعادة المحاولة.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">‏محو البيانات من Chromium أيضًا (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">‏في حال عدم عرض إعداد على هذه الصفحة، انتقل إلى <ph name="LINK_BEGIN" />
     إعدادات نظام التشغيل Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">‏لقد سجَّلت الدخول باستخدام حساب عمل. هل تريد إنشاء ملف شخصي جديد على Chromium للمستخدم <ph name="NEW_USER" /> حتى تُبقي بياناتك الشخصية منفصلة؟</translation>
 <translation id="761356813943268536">‏يستخدم Chromium الكاميرا والميكروفون.</translation>
 <translation id="7617377681829253106">‏Chromium أصبح أفضل</translation>
 <translation id="7628001322379820951">‏عثر متصفّح Chromium على برنامج ضارّ على جهاز الكمبيوتر.</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">‏هذا تثبيت ثانوي من Chromium، ولا يمكن جعله متصفحك التلقائي.</translation>
 <translation id="7979877361127045932">‏الإخفاء في قائمة Chromium</translation>
 <translation id="8013436988911883588">‏بعد حصول Chromium على إمكانية الوصول، ستتمكن المواقع الإلكترونية من مطالبتك بإمكانية الوصول.</translation>
-<translation id="8022442821873033760">‏إعداد مساحة Chromium Space الجديدة</translation>
 <translation id="81770708095080097">‏هذا الملف ضار، لذلك فقد حظره Chromium.</translation>
 <translation id="8248265253516264921">‏في حال لم تتضمن صورة ما وصفًا مفيدًا، سيحاول Chromium توفير وصف لك. لإنشاء الأوصاف، سيتم إرسال الصور إلى Google. ويمكنك إيقاف هذه الميزة في الإعدادات في أي وقت.</translation>
 <translation id="8266560134891435528">‏يتعذّر على Chromium التحقّق من كلمات المرور لأنك لم تسجّل الدخول.</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{‏يجب إعادة تشغيل Chromium في غضون يوم واحد}zero{‏يجب إعادة تشغيل Chromium في غضون # يوم}two{‏يجب إعادة تشغيل Chromium في غضون يومين}few{‏يجب إعادة تشغيل Chromium في غضون # أيام}many{‏يجب إعادة تشغيل Chromium في غضون # يومًا}other{‏يجب إعادة تشغيل Chromium في غضون # يوم}}</translation>
 <translation id="8453117565092476964">‏أرشيف أداة التثبيت تالف أو غير صالح. يُرجى إعادة تنزيل Chromium.</translation>
 <translation id="8493179195440786826">‏إصدار Chromium قديم</translation>
-<translation id="8545858702702650646">‏اختيار مساحة Chromium Space لك</translation>
 <translation id="8558383651099478961">‏أوقفَ أحد والدَيك "أذونات المواقع الإلكترونية والتطبيقات والإضافات" لمتصفِّح Chromium. ولا يمكن تثبيت <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">‏لا يستطيع Chromium التحقّق من كلمات المرور إلا عند تسجيل الدخول باستخدام حسابك على Google.</translation>
 <translation id="8586442755830160949">‏حقوق الطبع والنشر لعام <ph name="YEAR" /> لصالح The Chromium Authors. جميع الحقوق محفوظة.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">‏ضَبَط مشرف النظام Chromium لفتح متصفِّح بديل للوصول إلى <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">‏يتحقّق Chromium من وجود أي برامج غير مرغوب فيها مرة واحدة أسبوعيًا. تمّ إجراء آخر عملية تحقُّق قبل قليل.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">‏يمكنك استخدام مساحات Chromium Space لإبقاء تصفُّحك منظَّمًا على هذا الجهاز.</translation>
 <translation id="93478295209880648">‏قد لا يعمل Chromium بشكل صحيح لأنه لم يعد مدعومًا على أنظمة التشغيل Windows XP أو Windows Vista.</translation>
 <translation id="95514773681268843">‏<ph name="DOMAIN" /> يتطلب قراءة وقبول بنود الخدمة التالية قبل استخدام هذا الجهاز. وهذه البنود لا توسع أو تعدّل أو تقيّد بنود نظام التشغيل Chromium.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_as.xtb b/chrome/app/resources/chromium_strings_as.xtb
index 705ec4e..dfda2bf8 100644
--- a/chrome/app/resources/chromium_strings_as.xtb
+++ b/chrome/app/resources/chromium_strings_as.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">ঐচ্ছিক: Googleলৈ স্বয়ংক্ৰিয়ভাৱে ডায়গন’ষ্টিক আৰু ব্যৱহাৰৰ ডেটা পঠিয়াই Chromium OSৰ সুবিধাসমূহ আৰু কার্যদক্ষতা উন্নত কৰাত সহায় কৰক।</translation>
 <translation id="2347108572062610441">আপুনি Chromium আৰম্ভ কৰিলে কি পৃষ্ঠা দেখুওৱা হ‘ব এই এক্সটেনশ্বনটোৱে সেইটো সলনি কৰিছে।</translation>
 <translation id="2396765026452590966">আপুনি Chromium আৰম্ভ কৰিলে কোনটো পৃষ্ঠা দেখুওৱা হ’ব সেয়া "<ph name="EXTENSION_NAME" />" এক্সটেনশ্বনে সলনি কৰিছে৷</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" />ৰ বাবে Chromiumৰ নতুন স্পেচ সৃষ্টি কৰিবনে?</translation>
 <translation id="2483889755041906834">Chromiumত</translation>
 <translation id="2485422356828889247">আনইনষ্টল কৰক</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" />ক সক্ষম কৰিবলৈ Chromium ৰিষ্টাৰ্ট কৰক</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">অন্য কোনো কম্পিউটাৰত (<ph name="HOST_NAME" />) অন্য Chromium প্ৰক্ৰিয়াৰ (<ph name="PROCESS_ID" />) দ্বাৰা প্ৰ'ফাইলটো ব্যৱহাৰ হৈ থকা যেন লাগিছে। প্ৰ'ফাইলটো ক্ষতিগ্ৰস্থ নহ'বলৈ Chromiumএ ইয়াক অৱৰোধ কৰিছে। যদি অন্য কোনো প্ৰক্ৰিয়াই এই প্ৰ'ফাইলটো ব্যৱহাৰ কৰি থকা নাই বুলি আপুনি নিশ্চিত হয় তেন্তে আপুনি প্ৰ'ফাইলটো আনলক কৰি Chromium পুনৰ লঞ্চ কৰিব পাৰে।</translation>
 <translation id="469338717132742108">Chromium OSৰ ক্ষেত্ৰত সহায় লাভ কৰক</translation>
 <translation id="4708774505295300557">অন্য কোনো লোকে আগতে এই কম্পিউটাৰটোৰ Chromiumত <ph name="ACCOUNT_EMAIL_LAST" /> হিচাপে ছাইন ইন কৰিছিল। আপোনাৰ তথ্যখিনি পৃথক কৰি ৰাখিবলৈ অনুগ্ৰহ কৰি Chromiumত এজন নতুন ব্যৱহাৰকাৰী সৃষ্টি কৰক।</translation>
-<translation id="4745225042341419983">এই ঠাইখিনিৰ ব্ৰাউজিঙৰ ডেটা এই ডিভাইচটোৰ পৰা মচি পেলোৱা হ’ব। ডেটাখিনি পুনৰুদ্ধাৰ কৰিবলৈ Chromiumত এই হিচাপে ছাইন ইন কৰক</translation>
 <translation id="4746050847053251315">যিয়েই কি নহ’লেও Chromium বন্ধ কৰিবনে?</translation>
 <translation id="4748217263233248895">Chromiumৰ এটা বিশেষ সুৰক্ষা আপডে’ট এইমাত্ৰ প্ৰয়োগ কৰা হৈছে। এতিয়াই ৰিষ্টাৰ্ট কৰক আৰু আমি আপোনাৰ টেববোৰ পুনঃস্থাপন কৰিম।</translation>
 <translation id="4750035648288509542">প্ৰায় আপ টু ডে’ট হৈছে! আপডে’ট হোৱাটো সম্পূৰ্ণ কৰিবলৈ Chromium পুনৰ লঞ্চ কৰক। ইনক’গনিট’ ৱিণ্ড’সমূহ পুনৰ খুলিব নোৱাৰিব।</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium নেপথ্য ম’ডত আছে।</translation>
 <translation id="4987820182225656817">অতিথিসকলে কোনো সুবিধা বাদ নিদিয়াকৈ Chromium ব্যৱহাৰ কৰিব পাৰে।</translation>
 <translation id="4994636714258228724">নিজকে Chromiumত যোগ কৰক</translation>
-<translation id="5053724573690775822">Chromiumৰ নতুন ৱৰ্ক স্পেচ সৃষ্টি কৰিবনে?</translation>
 <translation id="5224391634244552924">ছেভ কৰা কোনো পাছৱৰ্ড নাই। আপুনি নিজৰ পাছৱর্ডসমূহ ছেভ কৰিলে Chromiumএ সেইবোৰ পৰীক্ষা কৰিব পাৰে।</translation>
 <translation id="5277894862589591112">আপুনি কৰা সলনি কার্যসমূহ প্ৰযোজ্য কৰিবলৈ Chromium পুনৰ লঞ্চ কৰক</translation>
 <translation id="5358375970380395591">আপুনি এটা পৰিচালিত একাউণ্টৰ জৰিয়তে ছাইন ইন কৰি আছে আৰু আপোনাৰ Chromium প্ৰ’ফাইলৰ জৰিয়তে ইয়াৰ প্ৰশাসনিক নিয়ন্ত্ৰণ দি আছে। আপোনাৰ এপ্, বুকমার্ক, ইতিহাস, পাছৱর্ড আৰু অন্য ছেটিংসমূহৰ দৰে নিজৰ Chromium ডেটা স্থায়ীভাৱে <ph name="USER_NAME" />ৰ সৈতে সংযুক্ত হ’ব। আপুনি Google একাউণ্ট ডেশ্বব’ৰ্ডৰ জৰিয়তে এই ডেটা মচিব পাৰিব কিন্তু আপুনি এই ডেটা অন্য একাউণ্টৰ সৈতে সংলগ্ন কৰিব নোৱাৰিব। <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">অন্তৰ্নিমিত PDF ভিউৱাৰ নাথাকিলে Chromiumএ প্ৰিণ্টৰ পূর্বদর্শন প্ৰদর্শন কৰিব নোৱাৰে।</translation>
 <translation id="5427571867875391349">আপোনাৰ ডিফ'ল্ট ব্ৰাউজাৰ হিচাপে Chromiumক ছেট কৰক</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium বিটা</translation>
-<translation id="544968170749360982">আপুনি <ph name="EXISTING_USER" />ৰ স্পেচত এটা নতুন একাউণ্টেৰে ছাইন ইন কৰিছে। আপুনি নিজৰ ডেটা বেলেগে ৰাখিবলৈ <ph name="NEW_USER" />ৰ বাবে Chromiumৰ এটা নতুন স্পেচ সৃষ্টি কৰিব বিচাৰেনে?</translation>
 <translation id="5479196819031988440">Chromium OSএ এই পৃষ্ঠাটো খুলিব নোৱাৰে।</translation>
 <translation id="5480860683791598150">আপোনাৰ অৱস্থান এই ছাইটটোৰ সৈতে শ্বেয়াৰ কৰিবলৈ Chromiumএ আপোনাৰ অৱস্থান এক্সেছ কৰাৰ আৱশ্যক</translation>
 <translation id="549669000822060376">Chromiumএ শেহতীয়া ছিষ্টেম আপডে’ট ইনষ্টল কৰালৈ কিছুসময় অপেক্ষা কৰক।</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">ছাইন ইন কৰোঁতে কিবা আসোঁৱাহ হোৱাৰ কাৰণে Chromiumএ আপোনাৰ ডেটা ছিংক কৰিব নোৱাৰিলে।</translation>
 <translation id="6096348254544841612">Chromium কাষ্টমাইজ আৰু নিয়ন্ত্ৰণ কৰক। আপডে'ট আছে।</translation>
 <translation id="6120345080069858279">Chromiumএ এই পাছৱৰ্ডটো আপোনাৰ Google একাউণ্টত ছেভ কৰিব৷ আপুনি ইয়াক মনত ৰাখিব নালাগে৷</translation>
-<translation id="6128834065531097268">আপুনি <ph name="EXISTING_USER" />ৰ স্পেচত এটা কৰ্মস্থানৰ একাউণ্টেৰে ছাইন ইন কৰিছে। আপুনি নিজৰ ডেটা বেলেগে ৰাখিবলৈ <ph name="WORK_DOMAIN" />ৰ বাবে Chromiumৰ এটা নতুন স্পেচ সৃষ্টি কৰিব বিচাৰেনে?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> ক্ষতিকাৰক বাবে Chromiumএ ইয়াক অৱৰোধ কৰিছে।</translation>
 <translation id="6134968993075716475">সুৰক্ষিত ব্ৰাউজিং অফ আছে। Chromiumএ ইয়াক অন কৰাটো চুপাৰিছ কৰে।</translation>
 <translation id="6212496753309875659">এই কম্পিউটাৰটোত ইতিমধ্যে Chromiumৰ অধিক শেহতীয়া সংস্কৰণ আছে। যদি ছফ্টৱেৰটোৱে কাম কৰা নাই তেন্তে Chromium আনইনষ্টল কৰি আকৌ চেষ্টা কৰক।</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">লগতে Chromium (<ph name="URL" />)ৰ ডেটাও মচক</translation>
 <translation id="7585853947355360626">এই পৃষ্ঠাখনত যদি কোনোটো ছেটিং দেখা পোৱা নাযায়, তেন্তে আপোনাৰ <ph name="LINK_BEGIN" />
     Chromium ব্ৰাউজাৰৰ ছেটিংসমূহ<ph name="LINK_END" />ত চাওক</translation>
-<translation id="7607142834923530546">আপুনি এটা কৰ্মস্থানৰ একাউণ্টেৰে ছাইন ইন কৰিছে। আপুনি নিজৰ ব্যক্তিগত ডেটা বেলেগে ৰাখিবলৈ <ph name="NEW_USER" />ৰ বাবে Chromiumৰ এটা নতুন স্পেচ সৃষ্টি কৰিব বিচাৰেনে?</translation>
 <translation id="761356813943268536">Chromiumএ আপোনাৰ কেমেৰা আৰু মাইক্ৰ'ফ'ন ব্যৱহাৰ কৰি আছে।</translation>
 <translation id="7617377681829253106">Chromium অধিক উৎকৃষ্ট হৈছে</translation>
 <translation id="7628001322379820951">Chromiumএ আপোনাৰ কম্পিউটাৰত ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি পাইছে</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">এয়া Chromiumৰ এক গৌণ ইনষ্টলেশ্বন আৰু ইয়াক আপোনাৰ ডিফ’ল্ট ব্ৰাউজাৰ কৰিব নোৱাৰি।</translation>
 <translation id="7979877361127045932">Chromium মেনুত লুকুৱাওক</translation>
 <translation id="8013436988911883588">Chromiumএ এক্সেছ পোৱাৰ পাছতেই ৱেবছাইটসমূহে আপোনাক এক্সেছৰ বাবে অনুমতি বিচাৰিব পাৰিব।</translation>
-<translation id="8022442821873033760">আপোনাৰ নতুন Chromium Space ছেট আপ কৰক</translation>
 <translation id="81770708095080097">এই ফাইলটো বিপজ্জনক, সেয়েহে Chromiumএ সেইটো অৱৰোধ কৰিছে।</translation>
 <translation id="8248265253516264921">যদি কোনো প্ৰতিচ্ছবিত উপযোগী বিৱৰণ নাই তেন্তে Chromiumএ আপোনাক সেয়া প্ৰদান কৰিবলৈ চেষ্টা কৰিব। বিৱৰণ সৃষ্টি কৰিবলৈ প্ৰতিচ্ছবি Googleলৈ প্ৰেৰণ কৰা হয়। আপুনি যিকোনো সময়তে ছেটিঙলৈ গৈ ইয়াক অফ কৰিব পাৰে।</translation>
 <translation id="8266560134891435528">আপুনি ছাইন ইন হৈ নথকাৰ বাবে Chromiumএ আপোনাৰ পাছৱর্ডসমূহ পৰীক্ষা কৰিব নোৱাৰে</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{এদিনৰ ভিতৰত Chromium পুনৰ লঞ্চ কৰক}one{# দিনৰ ভিতৰত Chromium পুনৰ লঞ্চ কৰক}other{# দিনৰ ভিতৰত Chromium পুনৰ লঞ্চ কৰক}}</translation>
 <translation id="8453117565092476964">ইনষ্টলাৰ আৰ্কাইভটো ব্যৱহাৰযোগ্য নহয় বা অমান্য। অনুগ্ৰহ কৰি Chromium আকৌ ডাউনল’ড কৰক।</translation>
 <translation id="8493179195440786826">Chromiumটো অতি পুৰণি</translation>
-<translation id="8545858702702650646">আপোনাৰ Chromium Space বাছনি কৰক</translation>
 <translation id="8558383651099478961">আপোনাৰ অভিভাৱকে Chromiumত "ছাইট, এপ্ আৰু এক্সটেনশ্বনসমূহৰ বাবে অনুমতি" অফ কৰিছে। এই <ph name="EXTENSION_TYPE_PARAMETER" />টো যোগ দিয়াৰ অনুমতি নাই।</translation>
 <translation id="8568283329061645092">আপুনি নিজৰ Google একাউণ্টটোৰ জৰিয়তে ছাইন ইন কৰোঁতে Chromiumএ আপোনাৰ পাছৱর্ডসমূহ পৰীক্ষা কৰিব পাৰে</translation>
 <translation id="8586442755830160949">স্বত্ত্বাধিকাৰ <ph name="YEAR" /> The Chromium Authors. সর্বস্বত্ব সংৰক্ষিত।</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">আপোনাৰ ছিষ্টেমৰ প্ৰশাসকে <ph name="TARGET_URL_HOSTNAME" /> এক্সেছ কৰিবলৈ Chromiumক এটা বিকল্প ব্ৰাউজাৰ খুলিবলৈ কনফিগাৰ কৰিছে।</translation>
 <translation id="9164845895615421500">Chromiumএ সপ্তাহত এবাৰকৈ অনাকাংক্ষিত ছফ্টৱেৰৰ বাবে পৰীক্ষা কৰে। অন্তিমবাৰ পৰীক্ষা কৰা হৈছিল: এক মুহূৰ্তৰ আগত।</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">এই ডিভাইচটোত আপোনাৰ ব্ৰাউজিং শৃংখলাবদ্ধ কৰি ৰাখিবলৈ Chromium Spaces ব্যৱহাৰ কৰক</translation>
 <translation id="93478295209880648">Chromiumএ সঠিকভাৱে কাম নকৰিবও পাৰে কাৰণ এই সংস্কৰণটো Windows XP বা Windows Vistaত আৰু নচলে</translation>
 <translation id="95514773681268843">আপুনি এই ডিভাইচ ব্যৱহাৰ কৰাৰ পূর্বে আপুনি তলত উল্লেখ কৰা সেৱাৰ চর্তাৱলী পঢ়ি সন্মত হোৱাটো <ph name="DOMAIN" />এ বিচাৰে। এই চর্তাৱলীয়ে Chromium OSৰ চর্তাৱলী সম্প্ৰসাৰণ, সংশোধন বা সীমিত নকৰে।</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_az.xtb b/chrome/app/resources/chromium_strings_az.xtb
index f17bacd..02244b8 100644
--- a/chrome/app/resources/chromium_strings_az.xtb
+++ b/chrome/app/resources/chromium_strings_az.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">İstəyə görə: Diaqnostika və istifadəçi datasını avtomatik Google'a göndərməklə Chromium ƏS funksiyalarını təkmilləşdirməyə yardım edin.</translation>
 <translation id="2347108572062610441">Bu artırma Chromium'u başlatdığınız zaman hansı səhifənin göstərildiyini dəyişdi.</translation>
 <translation id="2396765026452590966">"<ph name="EXTENSION_NAME" />" artırması Chromium'u başlatdığınız zaman hansı səhifənin göstərildiyini dəyişdi.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> üçün yeni Chromium sahəsi yaradılsın?</translation>
 <translation id="2483889755041906834">Chromium'da</translation>
 <translation id="2485422356828889247">Sistemdən silin</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> plaqinini aktiv etmək üçün Chromium'u yenidən başladın</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Profil başqa kompüterdə başqa Chromium prosesi tərəfindən (<ph name="PROCESS_ID" />)istifadə olunur (<ph name="HOST_NAME" />). Chromium profili xəta almaması üçün qapadıb. Əgər bu profilin başqa proseslər tərəfindən istifadə olunmadığına əminsinizsə, profili blokdan çıxarın və Chromium'u yenidən başladın.</translation>
 <translation id="469338717132742108">Chromium OS ilə yardım alın</translation>
 <translation id="4708774505295300557">Kimsə bu kompüterdə <ph name="ACCOUNT_EMAIL_LAST" /> kimi Chromium'a daxil olub. Məlumatınızı ayrı saxlamaq üçün yeni Chromium istifadəçisi yaradın.</translation>
-<translation id="4745225042341419983">Bu məkanın baxış datası bu cihazdan silinəcək. Datanı bərpa etmək üçün Chromium'a belə daxil olun:</translation>
 <translation id="4746050847053251315">Chromium'dan istənilən halda çıxılsın?</translation>
 <translation id="4748217263233248895">Chromium üçün xüsusi təhlükəsizlik yeniləməsi indicə tətbiq edildi. İndi yenidən başladın və açdığınız tablar bərpa ediləcək.</translation>
 <translation id="4750035648288509542">Güncəllənmək üzrədir! Güncəlləməni tamamlamaq üçün Chromium'u yenidən başladın. Anonim pəncərələr yenidən açılmayacaq.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium arxa fon rejimindədir.</translation>
 <translation id="4987820182225656817">Qonaqlar geridə heç nə buraxmadan Chromium istifadə edə bilər.</translation>
 <translation id="4994636714258228724">Özünüzü Chromium'a əlavə edin</translation>
-<translation id="5053724573690775822">Yeni Chromium İş sahəsi yaradılsın?</translation>
 <translation id="5224391634244552924">Yadda saxlanmış parol yoxdur. Parollarınızı yadda saxladıqda Chromium onları yoxlaya bilər.</translation>
 <translation id="5277894862589591112">Dəyişiklikləri tətbiq etmək üçün Chromium'u yenidən başladın</translation>
 <translation id="5358375970380395591">İdarə olunan hesabla daxil olursnuz və onun inzibati idarəetməsini Chromium profilinizə verirsiniz. Tətbiqləriniz, əlfəcinləriniz, tarixçəniz və digər ayarlarınız Chromimum datanızla birlikdə <ph name="USER_NAME" /> üzərinə həmişəlik bənd olacaq. Bu datanı Google Hesabları Paneli vasitəsilə silə bilərsiniz, lakin bu datanı digər hesabla əlaqəli edə bilməzsiniz. Mövcud Chrome datanızı ayrı saxlamaq üçün yeni profil yarada bilərsiniz. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Daxili PDF görüntüləyən əskik olduqda Chromium çap önizləməsini göstərə bilməz.</translation>
 <translation id="5427571867875391349">Chromium'u defolt brauzer təyin edin</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982"><ph name="EXISTING_USER" /> sahəsində yeni hesab ilə daxil olmusunuz. Datanızı ayrı saxlamaq üçün <ph name="NEW_USER" /> üçün yeni Chromium sahəsi yaratmaq istərdinizmi?</translation>
 <translation id="5479196819031988440">Chromium OS bu səhifəni aça bilməz.</translation>
 <translation id="5480860683791598150">Chromium məkanı bu saytla paylaşmaq üçün ona giriş tələb edir</translation>
 <translation id="549669000822060376">Chromium'um ən son sistem güncəlləşmələrini quraşdırmasını gözləyin.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Giriş xətası səbəbindən Chromium datanızı sinxronizasiya edə bilmədi.</translation>
 <translation id="6096348254544841612">Chromium'u fərdiləşdirin və idarə edin. Güncəlləmə əlçatandır.</translation>
 <translation id="6120345080069858279">Chromium bu parolu Google Hesabında yadda saxlayacaq. Onu yadda saxlamalı olmayacaqsınız.</translation>
-<translation id="6128834065531097268"><ph name="EXISTING_USER" /> sahəsində İş hesabı ilə daxil olmusunuz. Datanızı ayrı saxlamaq üçün <ph name="WORK_DOMAIN" /> üçün yeni Chromium sahəsi yaratmaq istərdinizmi?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> təklükəli olduğu üçün Chromium onu blok etdi.</translation>
 <translation id="6134968993075716475">Təhlükəsiz Baxış deaktivdir. Chromium onu aktiv etməyi tövsiyə edir.</translation>
 <translation id="6212496753309875659">Bu kompüterdə Chromium'um daha son versiyası var. Proqram təminatı işləmirsə, Chroimum'u sistemdən silin və yenidən cəhd edin.</translation>
@@ -199,7 +194,6 @@
 <translation id="7561906087460245826">Chromium'dan datanı silin (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ayar bu səhifədə göstərilməsə, <ph name="LINK_BEGIN" />
       Chromium OS ayarlarına<ph name="LINK_END" /> baxın</translation>
-<translation id="7607142834923530546">İş hesabı ilə daxil olmusunuz. Şəxsi datanızı ayrı saxlamaq üçün <ph name="NEW_USER" /> üçün yeni Chromium sahəsi yaratmaq istərdinizmi?</translation>
 <translation id="761356813943268536">Chromium kameranızı və mikrofonunuzu işlədir.</translation>
 <translation id="7617377681829253106">Chromium daha da keyfiyyətli oldu</translation>
 <translation id="7628001322379820951">Chromium kompüterdə zərərli proqram tapıb</translation>
@@ -217,7 +211,6 @@
 <translation id="7975919845073681630">Bu Chromium'un ikinci quraşdırmasıdır və defolt brauzer kimi ayarlana bilmir.</translation>
 <translation id="7979877361127045932">Chromium menyusunda gizlədin</translation>
 <translation id="8013436988911883588">Chromium'un giriş imkanı olduqda veb saytlar giriş üçün Sizdən icazə istəyəcək.</translation>
-<translation id="8022442821873033760">Yeni Chromium Space'inizi ayarlayın</translation>
 <translation id="81770708095080097">Bu fayl təklükəlidir, bu səbəbdən Chromium onu blok etdi.</translation>
 <translation id="8248265253516264921">Şəklin təsviri faydalı deyilsə, Chromium Sizin üçün təsviri təmin etməyə çalışacaq. Təsvir yaratmaq üçün şəkillər Google'a göndərilir. Bunu istənilən vaxt ayarlardan deaktiv edə bilərsiniz.</translation>
 <translation id="8266560134891435528">Hesaba daxil olmadığınız üçün Chromium parollarınızı yoxlaya bilmir</translation>
@@ -228,7 +221,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium'u bir gün ərzində yenidən başladın}other{Chromium'u # gün ərzində yenidən başladın}}</translation>
 <translation id="8453117565092476964">Quraşdırıcı arxivi zədələnib və ya yanlışdır. Lütfən, Chromium'u yenidən endirin.</translation>
 <translation id="8493179195440786826">Chromium'um vaxtı keçib</translation>
-<translation id="8545858702702650646">Chromium Sahənizi seçin</translation>
 <translation id="8558383651099478961">Valideyniniz Chromium üçün "Saytlar, tətbiqlər və artırmalar üçün icazələri" deaktiv edib. Bu <ph name="EXTENSION_TYPE_PARAMETER" /> artırmasının əlavə edilməsinə icazə verilmir.</translation>
 <translation id="8568283329061645092">Google Hesabınız ilə daxil olduqda Chromium parollarınızı yoxlaya bilər</translation>
 <translation id="8586442755830160949">Müəlliflik Hüququ <ph name="YEAR" /> Chromium Müəllifləri. Bütün hüquqlar qorunur.</translation>
@@ -254,7 +246,6 @@
 <translation id="9158494823179993217">Sistem administratoru Chromium'u <ph name="TARGET_URL_HOSTNAME" /> ünvanına daxil olmaq məqsədilə alternativ brauzer açmaq üçün konfiqurasiya edib.</translation>
 <translation id="9164845895615421500">Chromium arzuolunmaz proqram olub-olmadığını həftədə bir dəfə yoxlayır. Son yoxlanma: 1 saniyə əvvəl.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Bu cihazda baxışın yaxşı təşkil olunması üçün Chromium Sahələr istifadə edin</translation>
 <translation id="93478295209880648">Chromium düzgün işləməyə bilər, çünki daha Windows XP və ya Windows Vista'da dəstəklənmir</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> bu cihazı istifadə etməzdən əvvəl aşağıdakı Xidmət Şərtlərini oxuyub razılaşmağı tələb edir. Bu şərtlər Chromium OS Şərtlərini artırmır, dəyişdirmir və ya məhdudlaşdırmır.</translation>
 <translation id="985602178874221306">Chromium Müəllifləri</translation>
diff --git a/chrome/app/resources/chromium_strings_be.xtb b/chrome/app/resources/chromium_strings_be.xtb
index d0a9684..7123be8c 100644
--- a/chrome/app/resources/chromium_strings_be.xtb
+++ b/chrome/app/resources/chromium_strings_be.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Дапамагаць паляпшаць функцыі і прадукцыйнасць Chromium OS шляхам аўтаматычнай адпраўкі ў Google даных пра выкарыстанне і дыягностыку (неабавязкова).</translation>
 <translation id="2347108572062610441">Гэта пашырэнне змяніла старонку, якая паказваецца пры запуску Chromium.</translation>
 <translation id="2396765026452590966">Пашырэнне "<ph name="EXTENSION_NAME" />" змяніла старонку, якая паказваецца пры запуску Chromium.</translation>
-<translation id="2442081746662839303">Стварыць новы профіль Chromium для карыстальніка <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">У Chromium</translation>
 <translation id="2485422356828889247">Выдаліць</translation>
 <translation id="2527042973354814951">Каб уключыць убудову "<ph name="PLUGIN_NAME" />", перазапусціце Chromium</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Здаецца, профіль выкарыстоўваецца іншым працэсам Chromium (<ph name="PROCESS_ID" />) на іншым камп'ютары (<ph name="HOST_NAME" />). Chromium заблакіраваў профіль, каб яго нельга было пашкодзіць. Калі вы ўпэўненыя, што іншыя працэсы гэты профіль не выкарыстоўваюць, можна разблакіраваць профіль і перазапусціць Chromium.</translation>
 <translation id="469338717132742108">Дапамога па Chromium OS</translation>
 <translation id="4708774505295300557">Нехта раней увайшоў у Chromium на гэтым камп'ютары як <ph name="ACCOUNT_EMAIL_LAST" />. Стварыце новага карыстальніка Chromium, каб трымаць сваю інфармацыю асобна.</translation>
-<translation id="4745225042341419983">Звязаная з гэтым профілем гісторыя праглядаў будзе выдалена з прылады. Каб аднавіць гэтыя даныя, увайдзіце ў Chromium як</translation>
 <translation id="4746050847053251315">Усё роўна закрыць Chromium?</translation>
 <translation id="4748217263233248895">Толькі што было прыменена спецыяльнае абнаўленне бяспекі для Chromium. Перазапусціце браўзер, і вашы ўкладкі будуць адноўлены.</translation>
 <translation id="4750035648288509542">Амаль гатова! Каб завяршыць абнаўленне, перазапусціце Chromium. Вокны ў рэжыме інкогніта не будуць адкрыты паўторна.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium працуе ў фонавым рэжыме.</translation>
 <translation id="4987820182225656817">Госці могуць выкарыстоўваць Chromium, не пакідаючы нічога пасля сябе.</translation>
 <translation id="4994636714258228724">Дадаць мяне ў Chromium</translation>
-<translation id="5053724573690775822">Стварыць новы працоўны профіль Chromium?</translation>
 <translation id="5224391634244552924">Няма захаваных пароляў. Chromium можа правяраць толькі захаваныя паролі.</translation>
 <translation id="5277894862589591112">Каб прымяніць змяненні, перазапусціце Chromium</translation>
 <translation id="5358375970380395591">Вы ўваходзіце праз уліковы запіс пад кіраваннем, што дае адміністратару кантроль над вашым профілем у браўзеры Chromium. Даныя Chromium (праграмы, закладкі, гісторыя, паролі і іншыя налады) будуць назаўсёды прывязаны да ўліковага запісу <ph name="USER_NAME" />. Вы зможаце выдаліць гэтыя даныя праз панэль кіравання Уліковымі запісамі Google, але іх нельга будзе звязаць з іншым уліковым запісам. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium не можа паказаць перадпрагляд друку: убудаваны сродак прагляду PDF адсутнічае.</translation>
 <translation id="5427571867875391349">Зрабіць Chromium стандартным браўзерам</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium (бэта-версія)</translation>
-<translation id="544968170749360982">Вы ўвайшлі ў профіль карыстальніка <ph name="EXISTING_USER" />, выкарыстаўшы новы ўліковы запіс. Ці не хочаце стварыць новы профіль Chromium для карыстальніка <ph name="NEW_USER" />, каб трымаць свае даныя асобна?</translation>
 <translation id="5479196819031988440">Сістэме Chromium OS не ўдалося адкрыць гэту старонку.</translation>
 <translation id="5480860683791598150">Chromium патрабуецца доступ да геаданых, каб абагуліць звесткі аб вашым месцазнаходжанні з гэтым сайтам</translation>
 <translation id="549669000822060376">Пачакайце, пакуль Chromium усталюе апошнія абнаўленні сістэмы.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium не змог сінхранізаваць даныя з-за памылкі ўваходу.</translation>
 <translation id="6096348254544841612">Наладжвайце Chromium і кіруйце ім. Ёсць абнаўленне.</translation>
 <translation id="6120345080069858279">Chromium захавае гэты пароль у вашым Уліковым запісе Google. Вам не трэба запамінаць яго.</translation>
-<translation id="6128834065531097268">Вы ўвайшлі ў профіль карыстальніка <ph name="EXISTING_USER" />, выкарыстаўшы працоўны ўліковы запіс. Ці не хочаце стварыць новы профіль Chromium для дамена <ph name="WORK_DOMAIN" />, каб трымаць свае даныя асобна?</translation>
 <translation id="6129621093834146363">Файл <ph name="FILE_NAME" /> небяспечны, таму Chromium заблакіраваў яго.</translation>
 <translation id="6134968993075716475">"Бяспечны прагляд" выключаны. Chromium рэкамендуе ўключыць гэты рэжым.</translation>
 <translation id="6212496753309875659">На гэтым камп'ютары ўжо ўсталявана навейшая версія Chromium. Калі праграма не працуе, выдаліце Chromium і паўтарыце спробу.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Таксама выдаліць даныя з Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Калі налада адсутнічае на гэтай старонцы, перайдзіце ў <ph name="LINK_BEGIN" />
       налады Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Вы ўвайшлі ў працоўны ўліковы запіс. Ці не хочаце стварыць новы профіль Chromium для карыстальніка <ph name="NEW_USER" />, каб трымаць свае асабістыя даныя асобна?</translation>
 <translation id="761356813943268536">Chromium выкарыстоўвае камеру і мікрафон.</translation>
 <translation id="7617377681829253106">Chromium стаў яшчэ лепшым</translation>
 <translation id="7628001322379820951">Chromium знайшоў шкоднае праграмнае забеспячэнне на вашым камп'ютары</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Гэта другасны ўсталяваны экзэмпляр Chromium – яго нельга зрабіць стандартным браўзерам.</translation>
 <translation id="7979877361127045932">Схаваць у меню Chromium</translation>
 <translation id="8013436988911883588">Як толькі Chromium атрымае дазвол, вэб-сайты змогуць запытваць у вас доступ.</translation>
-<translation id="8022442821873033760">Наладзьце свой профіль Chromium Space</translation>
 <translation id="81770708095080097">Файл небяспечны, таму Chromium заблакіраваў яго.</translation>
 <translation id="8248265253516264921">Калі відарыс не мае прыдатнага апісання, Chromium паспрабуе дадаць яго для вас. Каб стварыць апісанні, відарысы адпраўляюцца ў Google. Гэты параметр можна адключыць у наладах у любы час.</translation>
 <translation id="8266560134891435528">Chromium не можа праверыць вашы паролі, пакуль вы не ўвойдзеце ва ўліковы запіс</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Перазапусціце Chromium на працягу дня}one{Перазапусціце Chromium на працягу # дня}few{Перазапусціце Chromium на працягу # дзён}many{Перазапусціце Chromium на працягу # дзён}other{Перазапусціце Chromium на працягу # дня}}</translation>
 <translation id="8453117565092476964">Архіў усталёўшчыка пашкоджаны або мае няправільны фармат. Спампуйце Chromium зноў.</translation>
 <translation id="8493179195440786826">Chromium састарэў</translation>
-<translation id="8545858702702650646">Выберыце свой профіль Chromium Space</translation>
 <translation id="8558383651099478961">Вашы бацькі выключылі "Дазволы для сайтаў, праграм і пашырэнняў" для Chromium. Дадаванне гэтага элемента (<ph name="EXTENSION_TYPE_PARAMETER" />) забаронена.</translation>
 <translation id="8568283329061645092">Chromium зможа праверыць паролі толькі пасля таго, як вы ўвойдзеце ва Уліковы запіс Google</translation>
 <translation id="8586442755830160949">Аўтарскія правы: стваральнікі Chromium, <ph name="YEAR" />. Усе правы абароненыя.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Ваш сістэмны адміністратар наладзіў Chromium, каб адкрыць альтэрнатыўны браўзер для доступу да <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium правярае наяўнасць непажаданых праграм раз у тыдзень. Апошні раз праверка праводзілася толькі што.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Выкарыстоўвайце профілі Chromium Space, каб спрасціць сабе прагляд вэб-старонак на гэтай прыладзе</translation>
 <translation id="93478295209880648">Браўзер Chromium больш не падтрымліваецца на Windows XP і Windows Vista, таму можа працаваць няправільна</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> патрабуе ад вас прачытаць і прыняць наступныя Умовы выкарыстання, перш чым пачаць карыстацца прыладай. Гэтыя ўмовы не пашыраюць, не змяняюць і не абмяжоўваюць Умовы выкарыстання Chromium OS.</translation>
 <translation id="985602178874221306">Аўтары Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_bg.xtb b/chrome/app/resources/chromium_strings_bg.xtb
index 62298ef65..9bc7a6b5 100644
--- a/chrome/app/resources/chromium_strings_bg.xtb
+++ b/chrome/app/resources/chromium_strings_bg.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">По избор: Помогнете за подобряването на функциите и ефективността на Chromium OS, като автоматично изпращате до Google данни за диагностиката и употребата.</translation>
 <translation id="2347108572062610441">Това разширение промени страницата, която се показва при стартиране на Chromium.</translation>
 <translation id="2396765026452590966">Разширението „<ph name="EXTENSION_NAME" />“ промени страницата, която се показва при стартиране на Chromium.</translation>
-<translation id="2442081746662839303">Да се създаде ли нова работна област в Chromium за <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">В Chromium</translation>
 <translation id="2485422356828889247">Деинсталиране</translation>
 <translation id="2527042973354814951">Рестартирайте Chromium, за да активирате <ph name="PLUGIN_NAME" /></translation>
@@ -94,7 +93,6 @@
 <translation id="4677944499843243528">Изглежда, че потребителският профил се използва от друг процес на Chromium  (<ph name="PROCESS_ID" />) на друг компютър (<ph name="HOST_NAME" />). Chromium заключи потребителския профил, за да не се повреди. Ако сте сигурни, че нито един друг процес не го използва, можете да отключите потребителския профил и да стартирате Chromium повторно.</translation>
 <translation id="469338717132742108">Получаване на помощ за Chromium OS</translation>
 <translation id="4708774505295300557">По-рано някой влезе в Chromium на този компютър като <ph name="ACCOUNT_EMAIL_LAST" />. Моля, създайте нов потребител в браузъра, така че информацията ви да се съхранява отделно.</translation>
-<translation id="4745225042341419983">Данните за сърфирането за това пространство ще бъдат изтрити от устройството. За да ги възстановите, влезте в Chromium като</translation>
 <translation id="4746050847053251315">Искате ли да затворите Chromium въпреки това?</translation>
 <translation id="4748217263233248895">Току-що бе приложена специална актуализация за сигурност за Chromium. Рестартирайте сега – ще възстановим разделите ви.</translation>
 <translation id="4750035648288509542">Почти приключихме! Стартирайте отново Chromium, за да завършите актуализирането. Прозорците в режим „инкогнито“ няма да бъдат отворени отново.</translation>
@@ -104,7 +102,6 @@
 <translation id="4943838377383847465">Chromium работи на заден план.</translation>
 <translation id="4987820182225656817">Гостите могат да използват Chromium, без да оставят следи.</translation>
 <translation id="4994636714258228724">Добавяне на вас към Chromium</translation>
-<translation id="5053724573690775822">Да се създаде ли нова работна област в Chromium?</translation>
 <translation id="5224391634244552924">Няма запазени пароли. Chromium може да проверява паролите ви, когато ги запазите.</translation>
 <translation id="5277894862589591112">За да приложите промените си, рестартирайте Chromium</translation>
 <translation id="5358375970380395591">Влизате с управляван профил и давате на администратора му контрол над потребителския си профил в Chromium. Данните ви там, като например приложения, отметки, история, пароли и други настройки, ще се свържат за постоянно с/ъс <ph name="USER_NAME" />. Ще можете да ги изтриете чрез таблото за управление на Google Профили, но не и да ги свържете с друг профил. <ph name="LEARN_MORE" /></translation>
@@ -114,7 +111,6 @@
 <translation id="5416696090975899932">Chromium не може да покаже визуализацията за печат, когато вграденият визуализатор на PDF файлове липсва.</translation>
 <translation id="5427571867875391349">Задаване на Chromium като браузър по подразбиране</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium бета</translation>
-<translation id="544968170749360982">Влязохте с нов профил в работната област на <ph name="EXISTING_USER" />. Искате ли да създадете нова работна област в Chromium за <ph name="NEW_USER" />, за да поддържате данните си отделно?</translation>
 <translation id="5479196819031988440">Chromium OS не може да отвори тази страница.</translation>
 <translation id="5480860683791598150">Chromium се нуждае от достъп до данните за местоположението ви, за да ги сподели с този сайт</translation>
 <translation id="549669000822060376">Моля, изчакайте, докато Chromium инсталира най-новите системни актуализации.</translation>
@@ -137,7 +133,6 @@
 <translation id="608189560609172163">Chromium не можа да синхронизира данните ви поради грешка при влизането.</translation>
 <translation id="6096348254544841612">Персонализиране и управление на Chromium. Налице е актуализация.</translation>
 <translation id="6120345080069858279">Chromium ще запази тази парола в профила ви в Google. Няма да се налага да я помните.</translation>
-<translation id="6128834065531097268">Влязохте със служебен профил в работната област на <ph name="EXISTING_USER" />. Искате ли да създадете нова работна област в Chromium за <ph name="WORK_DOMAIN" />, за да поддържате данните си отделно?</translation>
 <translation id="6129621093834146363">Chromium блокира „<ph name="FILE_NAME" />“, тъй като файлът е опасен.</translation>
 <translation id="6134968993075716475">Функцията „Безопасно сърфиране“ е изключена. Chromium препоръчва да я включите.</translation>
 <translation id="6212496753309875659">На този компютър вече има по-скорошна версия на Chromium. Ако софтуерът не работи, моля, деинсталирайте Chromium и опитайте отново.</translation>
@@ -194,7 +189,6 @@
 <translation id="7549178288319965365">Всичко за Chromium OS</translation>
 <translation id="7561906087460245826">Да се изчистят и данните от Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ако дадена настройка не се показва на тази страница, потърсете в <ph name="LINK_BEGIN" />настройките на Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Влязохте със служебен профил. Искате ли да създадете нова работна област в Chromium за <ph name="NEW_USER" />, за да поддържате личните си данни отделно?</translation>
 <translation id="761356813943268536">Chromium използва камерата и микрофона ви.</translation>
 <translation id="7617377681829253106">Chromium се подобри</translation>
 <translation id="7628001322379820951">Chromium откри опасен софтуер на компютъра ви</translation>
@@ -212,7 +206,6 @@
 <translation id="7975919845073681630">Тази инсталация на Chromium е алтернативна и не може да се зададе като браузър по подразбиране.</translation>
 <translation id="7979877361127045932">Скриване в менюто на Chromium</translation>
 <translation id="8013436988911883588">След като Chromium получи достъп, уебсайтовете ще могат да искат достъп от вас.</translation>
-<translation id="8022442821873033760">Настройване на новата ви работна област в Chromium</translation>
 <translation id="81770708095080097">Chromium блокира този файл, тъй като е опасен.</translation>
 <translation id="8248265253516264921">Ако няма полезно описание за дадено изображение, Chromium ще се опита да предостави такова. За да бъдат създадени описания, съответните изображения се изпращат до Google. По всяко време можете да изключите тази функция от настройките.</translation>
 <translation id="8266560134891435528">Chromium не може да провери паролите ви, защото не сте влезли в профила си</translation>
@@ -223,7 +216,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Повторно стартиране на Chromium до 1 ден}other{Повторно стартиране на Chromium до # дни}}</translation>
 <translation id="8453117565092476964">Архивът на инсталационната програма е повреден или невалиден. Моля, изтеглете отново Chromium.</translation>
 <translation id="8493179195440786826">Chromium не е актуален</translation>
-<translation id="8545858702702650646">Изберете работната си област в Chromium</translation>
 <translation id="8558383651099478961">Някой от родителите ви е изключил разрешенията за сайтове, приложения и разширения за Chromium. Добавянето на <ph name="EXTENSION_TYPE_PARAMETER" /> не е разрешено.</translation>
 <translation id="8568283329061645092">Chromium може да проверява паролите ви, когато влезете с профила си в Google</translation>
 <translation id="8586442755830160949">Авторски права <ph name="YEAR" /> Авторите на Chromium. Всички права запазени.</translation>
@@ -249,7 +241,6 @@
 <translation id="9158494823179993217">Системният ви администратор е конфигурирал Chromium да отваря алтернативен браузър за достъп до <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium проверява за нежелан софтуер веднъж седмично. Последна проверка: преди малко.</translation>
 <translation id="9190841055450128916">Chromium (входящ трафик за mDNS)</translation>
-<translation id="9191317372410544836">Използвайте работни области в Chromium, за да организирате сърфирането си на това устройство</translation>
 <translation id="93478295209880648">Chromium може да не функционира правилно, тъй като вече не се поддържа под Windows XP и Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> изисква да прочетете и приемете следните Общи условия, преди да използвате това устройство. Те не разширяват, не променят, нито ограничават Условията на Chromium OS.</translation>
 <translation id="985602178874221306">Авторите на Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_bn.xtb b/chrome/app/resources/chromium_strings_bn.xtb
index 5561eef..b22b8e5b 100644
--- a/chrome/app/resources/chromium_strings_bn.xtb
+++ b/chrome/app/resources/chromium_strings_bn.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">ঐচ্ছিক: ডায়াগনস্টিক ও ব্যবহারের ডেটা অটোমেটিক Google-এ পাঠিয়ে Chromium OS-এর ফিচার ও পারফরম্যান্স আরও উন্নত করে তুলতে সাহায্য করুন।</translation>
 <translation id="2347108572062610441">আপনি Chromium চালু করলে কোন পৃষ্ঠাটি দেখানো হবে তা এই এক্সটেনশনটি পরিবর্তন করেছে।</translation>
 <translation id="2396765026452590966">আপনি Chromium চালু করলে কোন পৃষ্ঠাটি দেখানো হবে তা "<ph name="EXTENSION_NAME" />" এক্সটেনশনটি পরিবর্তন করেছে।</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" />-এর জন্য নতুন Chromium স্পেস তৈরি করতে চান?</translation>
 <translation id="2483889755041906834">Chromium এ</translation>
 <translation id="2485422356828889247">আনইনস্টল</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> কে সক্ষম করতে Chromium আবার চালু করুন</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">অন্য একটি কম্পিউটারে (<ph name="HOST_NAME" />) প্রোফাইলটি অন্য Chromium প্রক্রিয়া (<ph name="PROCESS_ID" />) দ্বারা ব্যবহৃত হচ্ছে বলে মনে হচ্ছে৷ Chromium প্রোফাইলটিকে লক করেছে যাতে এটি বিকৃত না হয়ে যায়৷ যদি আপনি নিশ্চিত হন যে আর কোনো প্রক্রিয়া এই প্রোফাইলটিকে ব্যবহার করছে না, তবে আপনি প্রোফাইলটিকে আনলক করতে পারেন এবং Chromium কে পুনরায় লঞ্চ করতে পারেন৷</translation>
 <translation id="469338717132742108">Chromium OS বিষয়ে সাহায্য পান</translation>
 <translation id="4708774505295300557">আগে কোনো একজন এই কম্পিউটারে <ph name="ACCOUNT_EMAIL_LAST" /> হিসাবে Chromium-এ সাইন-ইন করেছেন। আপনার তথ্য পৃথক রাখার জন্য অনুগ্রহ করে একটি Chromium ব্যবহারকারী তৈরি করুন।</translation>
-<translation id="4745225042341419983">ডিভাইসটি থেকে এই 'Chromium স্পেস'-এর ব্রাউজিং ডেটা মুছে ফেলা হবে। ডেটা ফিরিয়ে আনতে Chromium-এ এই হিসেবে সাইন-ইন করুন:</translation>
 <translation id="4746050847053251315">তা স্বত্তেও Chromium বন্ধ করবেন?</translation>
 <translation id="4748217263233248895">Chromium-এর জন্য একটি বিশেষ নিরাপত্তা আপডেট এইমাত্র প্রয়োগ করা হয়েছে। এখনি রিস্টার্ট করুন এবং আপনার ট্যাব আমরা রিস্টোর করব।</translation>
 <translation id="4750035648288509542">প্রায় আপডেট হয়ে গেছে! আপডেট সম্পূর্ণ করতে Chromium আবার চালু করুন। বন্ধ করা একই ছদ্মবেশী উইন্ডো আবার খোলা যায় না।</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium পটভূমিতে চলছে৷</translation>
 <translation id="4987820182225656817">অতিথিগণ কোনো কিছুর জন্য অভাব বোধ না করেই Chromium ব্যবহার করতে পারবেন৷</translation>
 <translation id="4994636714258228724">Chromium এর সাথে নিজেকে যোগ করুন</translation>
-<translation id="5053724573690775822">নতুন Chromium অফিস স্পেস তৈরি করতে চান?</translation>
 <translation id="5224391634244552924">কোনও পাসওয়ার্ড সেভ করা নেই। আপনি পাসওয়ার্ড সেভ করলে Chromium সেটি চেক করতে পারবে।</translation>
 <translation id="5277894862589591112">আপনার পরিবর্তনগুলি প্রয়োগ করতে, Chromium রিলঞ্চ করুন</translation>
 <translation id="5358375970380395591">আপনি একটি পরিচালিত অ্যাকাউন্টের মাধ্যমে সাইন-ইন  করছেন এবং এর অ্যাডমিনিস্ট্রেটরকে আপনার Chromium প্রোফাইলের উপরে নিয়ন্ত্রণ দিচ্ছেন৷ আপনার Chromium ডেটা, যেমন অ্যাপ, বুকমার্ক, ইতিহাস, পাসওয়ার্ড এবং অন্যান্য সেটিংস <ph name="USER_NAME" /> এতে স্থায়ীভাবে সম্পৃক্ত হবে৷ আপনি Google অ্যাকাউন্টগুলির ড্যাশবোর্ডের মাধ্যমে এই ডেটাগুলি মুছতে চালু হবেন, কিন্তু অন্য অ্যাকাউন্টের সাথে এই ডেটা সংশ্লিষ্ট করতে পারবেন না৷ <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">বিল্ট-ইন পিডিএফ ভিউয়ার অনুপস্থিত থাকলে Chromium প্রিন্ট প্রিভিউ দেখাতে পারে না৷</translation>
 <translation id="5427571867875391349">Chromium-কে আপনার ডিফল্ট ব্রাউজার হিসাবে সেট করুন</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium বিটা</translation>
-<translation id="544968170749360982">আপনি <ph name="EXISTING_USER" />-এর স্পেসে নতুন অ্যাকাউন্ট ব্যবহার করে সাইন-ইন করেছেন। নিজের ডেটা আলাদা রাখতে আপনি কি <ph name="NEW_USER" />-এর জন্য নতুন Chromium স্পেস তৈরি করতে চান?</translation>
 <translation id="5479196819031988440">Chromium OS এই পৃষ্ঠাটি খুলতে পারবে না।</translation>
 <translation id="5480860683791598150">এই সাইটটির সাথে আপনার লোকেশন শেয়ার করার জন্য Chromium কে আপনার লোকেশনের তথ্যে অ্যাক্সেস দিতে হবে</translation>
 <translation id="549669000822060376">Chromium যখন সিস্টেম আপডেটগুলিকে ইনস্টল করে তখন দয়া করে অপেক্ষা করুন৷</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">সাইন ইনে ত্রুটির কারণে Chromium আপনার ডেটা সিঙ্ক করতে পারেনি৷</translation>
 <translation id="6096348254544841612">Chromium কে কাস্টমাইজ এবং নিয়ন্ত্রণ করুন৷ আপডেট পাওয়া যাবে৷</translation>
 <translation id="6120345080069858279">Chromium আপনার Google অ্যাকাউন্টে এই পাসওয়ার্ডটি সেভ করবে। আপনাকে এটি মনে রাখতে হবে না।</translation>
-<translation id="6128834065531097268">আপনি <ph name="EXISTING_USER" />-এর স্পেসে অফিস অ্যাকাউন্ট ব্যবহার করে সাইন-ইন করেছেন। নিজের ডেটা আলাদা রাখতে আপনি কি <ph name="WORK_DOMAIN" /> ডোমেনের জন্য নতুন Chromium স্পেস তৈরি করতে চান?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> বিপজ্জনক, তাই Chromium এটিকে অবরুদ্ধ করেছে।</translation>
 <translation id="6134968993075716475">'Safe Browsing'-এর সুবিধা বন্ধ করা আছে। তবে এটি চালু রাখার জন্য Chromium আপনাকে সাজেস্ট করছে।</translation>
 <translation id="6212496753309875659">এই কম্পিউটারে ইতিমধ্যে Chromium-এর আরও একটি সাম্প্রতিক ভার্সন রয়েছে৷ যদি সফ্টওয়্যার কাজ না করে, দয়া করে Chromium আনইনস্টল করুন এবং আবার চেষ্টা করুন৷</translation>
@@ -199,7 +194,6 @@
 <translation id="7561906087460245826">এর পাশাপাশি, Chromium থেকেও ডেটা সরিয়ে দিন (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">এই পৃষ্ঠাতে কোনও একটি সেটিং দেখতে না পেলে আপনার <ph name="LINK_BEGIN" />
       Chromium OS সেটিংস<ph name="LINK_END" /> বিকল্পটি দেখুন</translation>
-<translation id="7607142834923530546">আপনি অফিস অ্যাকাউন্ট ব্যবহার করে সাইন-ইন করেছেন। ব্যক্তিগত ডেটা আলাদা রাখতে আপনি কি <ph name="NEW_USER" />-এর জন্য নতুন Chromium স্পেস তৈরি করতে চান?</translation>
 <translation id="761356813943268536">Chromium আপনার ক্যামেরা এবং মাইক্রোফোন ব্যবহার করছে৷</translation>
 <translation id="7617377681829253106">Chromium আরও ভাল হয়ে উঠেছে</translation>
 <translation id="7628001322379820951">Chromium আপনার কম্পিউটারে ক্ষতিকর সফ্টওয়্যার খুঁজে পেয়েছে</translation>
@@ -217,7 +211,6 @@
 <translation id="7975919845073681630">এটা Chromium এর সেকেন্ডারি ইনস্টলেশন এবং একে আপনার ডিফল্ট ব্রাউজার করা যাবে না।</translation>
 <translation id="7979877361127045932">Chromium মেনুর মধ্যে লুকান</translation>
 <translation id="8013436988911883588">Chromium অ্যাক্সেস পেলেই, ওয়েবসাইটগুলি আপনাকে অ্যাক্সেসের অনুরোধ করতে পারবে।</translation>
-<translation id="8022442821873033760">আপনার নতুন Chromium Space সেট আপ করুন</translation>
 <translation id="81770708095080097">এই ফাইলটি বিপজ্জনক, তাই Chromium এটিকে অবরুদ্ধ করেছে।</translation>
 <translation id="8248265253516264921">কোনও ছবিতে যদি প্রয়োজনীয় বিবরণ দেওয়া না থাকে, তাহলে Chromium আপনাকে একটি বিবরণ দেওয়ার চেষ্টা করবে। বিবরণ তৈরির জন্য, Google-এ ছবি পাঠানো হয়। সেটিংসে গিয়ে আপনি যেকোনও সময়ে এটি বন্ধ করতে পারেন।</translation>
 <translation id="8266560134891435528">আপনি সাইন-ইন করে না থাকার কারণে Chromium আপনার পাসওয়ার্ড চেক করতে পারছে না</translation>
@@ -228,7 +221,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium এক দিনের মধ্যে আবার লঞ্চ করুন}one{Chromium # দিনের মধ্যে আবার লঞ্চ করুন}other{Chromium # দিনের মধ্যে আবার লঞ্চ করুন}}</translation>
 <translation id="8453117565092476964">ইনস্টলার আর্কাইভ অবিশুদ্ধ বা ভুল৷ Chromium পুনরায় ডাউনলোড করুন৷</translation>
 <translation id="8493179195440786826">Chromium পুরানো হয়ে গেছে</translation>
-<translation id="8545858702702650646">আপনার Chromium Space বেছে নিন</translation>
 <translation id="8558383651099478961">তোমার অভিভাবক Chromium-এ "সাইট, অ্যাপ ও এক্সটেনশনের অনুমতি" বন্ধ করে দিয়েছেন। এই <ph name="EXTENSION_TYPE_PARAMETER" /> যোগ করার অনুমতি নেই।</translation>
 <translation id="8568283329061645092">আপনি যখন নিজের Google অ্যাকাউন্টের মাধ্যমে সাইন-ইন করবেন, Chromium তখন আপনার পাসওয়ার্ড চেক করে দেখতে পারবে</translation>
 <translation id="8586442755830160949">কপিরাইট <ph name="YEAR" /> Chromium রচয়িতা৷ সর্বস্বত্ত্ব সংরক্ষিত৷</translation>
@@ -254,7 +246,6 @@
 <translation id="9158494823179993217"><ph name="TARGET_URL_HOSTNAME" /> অ্যাক্সেস করতে অন্য ব্রাউজার খোলার জন্য আপনার সিস্টেম অ্যাডমিনিস্ট্রেটর Chromium কনফিগার করেছেন।</translation>
 <translation id="9164845895615421500">Chromium সপ্তাহে একবার ডিভাইসে কোনও অযাচিত সফ্টওয়্যার আছে কিনা তা চেক করে দেখে। শেষবার চেক করা হয়েছে: একটু আগে।</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">এই ডিভাইসে আপনার ব্রাউজ করার কাজকে সহজ করার জন্য Chromium Space ব্যবহার করুন</translation>
 <translation id="93478295209880648">Chromium সঠিকভাবে কাজ নাও করতে পারে কারণ এটি এখন আর Windows XP বা Windows Vista আর সমর্থিত নয়</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" />-এ এই ডিভাইসটি ব্যবহার করার আগে আপনাকে নিম্নলিখিত পরিষেবার শর্তাদি পড়তে হবে এবং এটিকে স্বীকার করতে হবে৷ এই শর্তাদি Chromium OS-এর শর্তাদিকে প্রসারণ, সংশোধন বা সীমাবদ্ধ করে না৷</translation>
 <translation id="985602178874221306">Chromium রচয়িতা</translation>
diff --git a/chrome/app/resources/chromium_strings_bs.xtb b/chrome/app/resources/chromium_strings_bs.xtb
index 830790a..bbc90a9 100644
--- a/chrome/app/resources/chromium_strings_bs.xtb
+++ b/chrome/app/resources/chromium_strings_bs.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Nije obavezno: Pomozite nam da poboljšamo funkcije i performanse Chromium OS-a automatskim slanjem podataka o dijagnostici i korištenju Googleu.</translation>
 <translation id="2347108572062610441">Ova ekstenzija je promijenila stranicu koja se prikazuje prilikom pokretanja Chromiuma.</translation>
 <translation id="2396765026452590966">Ekstenzija "<ph name="EXTENSION_NAME" />" je promijenila stranicu koja se prikazuje prilikom pokretanja Chromiuma.</translation>
-<translation id="2442081746662839303">Kreirati novi prostor u Chromiumu za korisnika <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">U Chromiumu</translation>
 <translation id="2485422356828889247">Deinstaliraj</translation>
 <translation id="2527042973354814951">Ponovo pokrenite Chromium da omogućite <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Izgleda da drugi Chromium proces (<ph name="PROCESS_ID" />) na drugom računaru (<ph name="HOST_NAME" />) koristi profil. Chromium je zaključao profil da se ne ošteti. Ako ste sigurni da nijedan drugi proces ne koristi ovaj profil, možete ga otključati i ponovo pokrenuti Chromium.</translation>
 <translation id="469338717132742108">Primite pomoć za Chromium OS</translation>
 <translation id="4708774505295300557">Neko se prethodno prijavio na Chromium s ovog računara kao <ph name="ACCOUNT_EMAIL_LAST" />. Kreirajte novog korisnika za Chromium da odvojite svoje informacije.</translation>
-<translation id="4745225042341419983">Podaci pregledanja u ovom prostoru će se izbrisati s ovog uređaja. Da oporavite podatke, prijavite se u Chromium kao</translation>
 <translation id="4746050847053251315">Ipak napustiti Chromium?</translation>
 <translation id="4748217263233248895">Upravo je primijenjeno posebno sigurnosno ažuriranje za Chromium. Ponovo pokrenite sustav i vratit ćemo vaše kartice.</translation>
 <translation id="4750035648288509542">Još malo pa je ažurirano! Ponovo pokrenite Chromium da završite ažuriranje. Anonimni prozori se neće ponovo otvoriti.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium je u pozadinskom načinu rada.</translation>
 <translation id="4987820182225656817">Gosti mogu koristiti Chromium, a da ne ostave tragove o korištenju.</translation>
 <translation id="4994636714258228724">Dodajte se u Chromium</translation>
-<translation id="5053724573690775822">Kreirati novi radni prostor u Chromiumu?</translation>
 <translation id="5224391634244552924">Nema sačuvanih lozinki. Chromium može provjeravati vaše lozinke kada ih sačuvate.</translation>
 <translation id="5277894862589591112">Za primjenu promjena, ponovo pokrenite Chromium</translation>
 <translation id="5358375970380395591">Prijavljujete se s upravljanim računom i dajete njegovom administratoru kontrolu nad svojim Chromium profilom. Vaši podaci iz Chromiuma, kao što su vaše aplikacije, oznake, historija, lozinke i druge postavke, trajno će se vezati za račun <ph name="USER_NAME" />. Moći ćete izbrisati ove podatke na kontrolnoj tabli Google računa, ali nećete moći povezati ove podatke s drugim računom. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium ne može prikazati pregled prije štampanja dok nedostaje ugrađeni preglednik za PDF.</translation>
 <translation id="5427571867875391349">Postavite Chromium kao zadani preglednik</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">Prijavili ste se pomoću novog računa u prostoru korisnika <ph name="EXISTING_USER" />. Želite li kreirati novi prostor u Chromiumu za korisnika <ph name="NEW_USER" /> da odvojite podatke?</translation>
 <translation id="5479196819031988440">Chromium OS ne može otvoriti ovu stranicu.</translation>
 <translation id="5480860683791598150">Chromiumu treba pristup vašoj lokaciji da bi je dijelio s ovom web lokacijom</translation>
 <translation id="549669000822060376">Sačekajte dok Chromium instalira najnovija ažuriranja sistema.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium nije uspio sinhronizirati vaše podatke zbog greške prilikom prijave.</translation>
 <translation id="6096348254544841612">Prilagodite i kontrolirajte Chromium. Dostupno je ažuriranje.</translation>
 <translation id="6120345080069858279">Chromium će sačuvati ovu lozinku na vašem Google računu. Nećete je morati zapamtiti.</translation>
-<translation id="6128834065531097268">Prijavili ste se pomoću poslovnog računa u prostoru korisnika <ph name="EXISTING_USER" />. Želite li kreirati novi prostor u Chromiumu za domenu <ph name="WORK_DOMAIN" /> da odvojite podatke?</translation>
 <translation id="6129621093834146363">Fajl <ph name="FILE_NAME" /> je opasan pa ga je Chromium blokirao.</translation>
 <translation id="6134968993075716475">Sigurno pregledanje je isključeno. Chromium preporučuje da ga uključite.</translation>
 <translation id="6212496753309875659">Na ovom računaru se već nalazi novija verzija Chromiuma. Ako softver ne funkcionira, deinstalirajte Chromium i pokušajte ponovo.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Obriši i podatke iz Chromiuma (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ako se postavka ne prikazuje na ovoj stranici, pogledajte u <ph name="LINK_BEGIN" />
     postavkama Chromium OS-a<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Prijavili ste se pomoću poslovnog računa. Želite li kreirati novi prostor u Chromiumu za korisnika <ph name="NEW_USER" /> da odvojite lične podatke?</translation>
 <translation id="761356813943268536">Chromium koristi vašu kameru i mikrofon.</translation>
 <translation id="7617377681829253106">Chromium je sada još bolji</translation>
 <translation id="7628001322379820951">Chromium je pronašao štetni softver na vašem računaru</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Ovo je sekundarno instaliranje Chromiuma i stoga on ne može biti vaš zadani preglednik.</translation>
 <translation id="7979877361127045932">Sakrij u meniju Chromiuma</translation>
 <translation id="8013436988911883588">Kada Chromium dobije pristup, web lokacije će vam moći zatražiti pristup.</translation>
-<translation id="8022442821873033760">Postavite novi Chromium prostor</translation>
 <translation id="81770708095080097">Ovaj fajl je opasan pa ga je Chromium blokirao.</translation>
 <translation id="8248265253516264921">Ako slika ne sadrži koristan opis, Chromium će ga pokušati pružiti. Slike se šalju Googleu radi kreiranja opisa. To možete isključiti u postavkama kad god želite.</translation>
 <translation id="8266560134891435528">Chromium ne može provjeravati vaše lozinke jer niste prijavljeni</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Ponovo pokreni Chromium u roku od jednog dana}one{Ponovo pokreni Chromium u roku od # dana}few{Ponovo pokreni Chromium u roku od # dana}other{Ponovo pokreni Chromium u roku od # dana}}</translation>
 <translation id="8453117565092476964">Arhiva alata za instaliranje je oštećena ili nevažeća. Ponovo preuzmite Chromium.</translation>
 <translation id="8493179195440786826">Chromium nije ažuriran</translation>
-<translation id="8545858702702650646">Odaberite Chromium prostor</translation>
 <translation id="8558383651099478961">Tvoj roditelj je isključio "Odobrenja za web lokacije, aplikacije i ekstenzije" za Chromium. Dodavanje ove stavke (<ph name="EXTENSION_TYPE_PARAMETER" />) nije dozvoljeno.</translation>
 <translation id="8568283329061645092">Chromium može provjeravati vaše lozinke kada se prijavljujete putem Google računa</translation>
 <translation id="8586442755830160949">Autorska prava <ph name="YEAR" /> Autori Chromiuma. Sva prava zadržana.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Vaš administrator sistema je konfigurirao Chromium da otvori alternativni preglednik za pristup URL-u<ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium jednom sedmično provjerava je li prisutan neželjeni softver. Posljednja provjera: maloprije.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Koristite Chromium prostore da organizirate svoje pregledanje na ovom uređaju</translation>
 <translation id="93478295209880648">Chromium možda neće ispravno raditi jer više nije podržan na sistemima Windows XP ili Windows Vista</translation>
 <translation id="95514773681268843">Domena <ph name="DOMAIN" /> zahtijeva da prije korištenja uređaja pročitate i prihvatite sljedeće Uslove korištenja usluge. Ovi uslovi ne predstavljaju dodatak, izmjenu ili ograničenje uslova za Chromium OS.</translation>
 <translation id="985602178874221306">Autori Chromiuma</translation>
diff --git a/chrome/app/resources/chromium_strings_ca.xtb b/chrome/app/resources/chromium_strings_ca.xtb
index a02f9eb..f0cf11a2 100644
--- a/chrome/app/resources/chromium_strings_ca.xtb
+++ b/chrome/app/resources/chromium_strings_ca.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Opcional: ajuda a millorar les funcions i el rendiment de Chromium OS enviant automàticament dades de diagnòstic i d'ús a Google.</translation>
 <translation id="2347108572062610441">Aquesta extensió ha canviat la pàgina que es mostra quan inicieu Chromium.</translation>
 <translation id="2396765026452590966">L'extensió <ph name="EXTENSION_NAME" /> ha canviat la pàgina que es mostra quan inicieu Chromium.</translation>
-<translation id="2442081746662839303">Vols crear un espai de Chromium nou per a <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">A Chromium</translation>
 <translation id="2485422356828889247">Desinstal·la</translation>
 <translation id="2527042973354814951">Reinicia Chromium per activar <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Sembla que un altre procés de Chromium (<ph name="PROCESS_ID" />) està fent servir el perfil en un altre ordinador (<ph name="HOST_NAME" />). Chromium ha bloquejat el perfil perquè no es malmeti. Si esteu segur que no hi ha cap altre procés que utilitzi el perfil, podeu desbloquejar-lo i tornar a iniciar Chromium.</translation>
 <translation id="469338717132742108">Obtén ajuda per a Chromium OS</translation>
 <translation id="4708774505295300557">Algú ha iniciat anteriorment la sessió a Chromium en aquest ordinador com a <ph name="ACCOUNT_EMAIL_LAST" />. Crea un usuari de Chromium per mantenir la informació separada.</translation>
-<translation id="4745225042341419983">Les dades de navegació d'aquest espai se suprimiran d'aquest dispositiu. Per recuperar-les, inicia la sessió a Chromium com a</translation>
 <translation id="4746050847053251315">Vols sortir de Chromium igualment?</translation>
 <translation id="4748217263233248895">S'acaba d'aplicar una actualització de seguretat especial per a Chromium. Reinicia el navegador i restaurarem les pestanyes.</translation>
 <translation id="4750035648288509542">Gairebé has acabat amb l'actualització. Reinicia Chromium per completar-la. Les finestres d'incògnit no es tornaran a obrir.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium està en mode de segon pla.</translation>
 <translation id="4987820182225656817">Els convidats poden utilitzar Chromium sense deixar-hi rastre.</translation>
 <translation id="4994636714258228724">Afegeix-me a Chromium</translation>
-<translation id="5053724573690775822">Vols crear un espai de treball de Chromium nou?</translation>
 <translation id="5224391634244552924">No hi ha cap contrasenya desada. Chromium pot comprovar les teves contrasenyes quan les deses.</translation>
 <translation id="5277894862589591112">Torna a iniciar Chromium perquè s'apliquin els canvis</translation>
 <translation id="5358375970380395591">Esteu a punt d'iniciar la sessió amb un compte gestionat i d'atorgar el control del vostre perfil de Chromium a l'administrador corresponent. Les dades de Chromium, com ara aplicacions, adreces d'interès, historial, contrasenyes i altres configuracions, s'enllaçaran permanentment amb <ph name="USER_NAME" />. Podreu suprimir aquestes dades mitjançant el Tauler de Comptes de Google, però no les podreu associar amb un altre compte. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium no pot mostrar la previsualització d'impressió perquè falta el lector de PDF integrat.</translation>
 <translation id="5427571867875391349">Defineix Chromium com a navegador predeterminat</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">Has iniciat la sessió amb un compte nou a l'espai de: <ph name="EXISTING_USER" />. T'agradaria crear un espai de Chromium nou per a <ph name="NEW_USER" /> que et permeti mantenir les dades separades?</translation>
 <translation id="5479196819031988440">Chromium OS no pot obrir aquesta pàgina.</translation>
 <translation id="5480860683791598150">Chromium necessita accedir a la teva ubicació per compartir-la amb aquest lloc web</translation>
 <translation id="549669000822060376">Espereu mentre Chromium instal·la les darreres actualitzacions del sistema.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium no ha pogut sincronitzar les dades a causa d'un error amb l'inici de sessió.</translation>
 <translation id="6096348254544841612">Personalitza i controla Chromium. Hi ha una actualització disponible.</translation>
 <translation id="6120345080069858279">Chromium desarà aquesta contrasenya al Compte de Google. No caldrà que la recordis.</translation>
-<translation id="6128834065531097268">Has iniciat la sessió amb un compte de la feina a l'espai de: <ph name="EXISTING_USER" />. T'agradaria crear un espai de Chromium nou per a <ph name="WORK_DOMAIN" /> que et permeti mantenir les dades separades?</translation>
 <translation id="6129621093834146363">Chromium ha bloquejat <ph name="FILE_NAME" /> perquè és perillós.</translation>
 <translation id="6134968993075716475">Navegació segura està desactivada. Chromium recomana activar-la.</translation>
 <translation id="6212496753309875659">Aquest equip ja té una versió més recent de Chromium. Si el programari no funciona, desinstal·leu Chromium i torneu-ho a provar.</translation>
@@ -200,7 +195,6 @@
 <translation id="7549178288319965365">About Chromium OS</translation>
 <translation id="7561906087460245826">Esborra també les dades de Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Si alguna opció de configuració no es mostra en aquesta pàgina, consulta la <ph name="LINK_BEGIN" />configuració de Chromium OS<ph name="LINK_END" />.</translation>
-<translation id="7607142834923530546">Has iniciat la sessió amb un compte de la feina. T'agradaria crear un espai de Chromium nou per a <ph name="NEW_USER" /> que et permeti mantenir les dades personals separades?</translation>
 <translation id="761356813943268536">Chromium està utilitzant la càmera i el micròfon.</translation>
 <translation id="7617377681829253106">Chromium és millor que mai</translation>
 <translation id="7628001322379820951">Chromium ha trobat programari maliciós a l'ordinador</translation>
@@ -218,7 +212,6 @@
 <translation id="7975919845073681630">Aquesta és una instal·lació secundària de Chromium i no pot definir-se com a navegador predeterminat.</translation>
 <translation id="7979877361127045932">Amaga al menú de Chromium</translation>
 <translation id="8013436988911883588">Un cop Chromium tingui accés, els llocs web et podran demanar accés.</translation>
-<translation id="8022442821873033760">Configura el teu espai de Chromium nou</translation>
 <translation id="81770708095080097">Chromium ha bloquejat aquest fitxer perquè és perillós.</translation>
 <translation id="8248265253516264921">Si una imatge no té una descripció útil, Chromium provarà d'oferir-te'n una. Per crear les descripcions, les imatges s'envien a Google. Pots desactivar aquesta funció en qualsevol moment a la configuració.</translation>
 <translation id="8266560134891435528">Chromium no pot comprovar les teves contrasenyes perquè no tens la sessió iniciada</translation>
@@ -229,7 +222,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Reinicia Chromium en 1 dia}other{Reinicia Chromium en # dies}}</translation>
 <translation id="8453117565092476964">L'arxiu d'instal·lació està malmès o no és vàlid. Torneu a baixar Chromium.</translation>
 <translation id="8493179195440786826">Chromium no està actualitzat</translation>
-<translation id="8545858702702650646">Tria el teu espai de Chromium</translation>
 <translation id="8558383651099478961">Els teus pares han desactivat Permisos per a llocs web, aplicacions i extensions en relació amb Chromium. No es permet afegir aquesta <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium pot comprovar les teves contrasenyes quan inicies la sessió amb el Compte de Google</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Els autors de Chromium. Tots els drets reservats.</translation>
@@ -255,7 +247,6 @@
 <translation id="9158494823179993217">L'administrador del sistema ha configurat Chromium perquè obri un navegador alternatiu per accedir a <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium comprova si hi ha programari no desitjat un cop per setmana. Darrera comprovació: fa un moment.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Fes servir els espais de Chromium per mantenir la teva navegació organitzada en aquest dispositiu</translation>
 <translation id="93478295209880648">Pot ser que Chromium no funcioni correctament perquè ja no és compatible amb Windows XP ni Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> exigeix que llegiu i accepteu els Termes i condicions següents abans no utilitzeu el dispositiu. Aquestes condicions no amplien, modifiquen ni restringeixen les condicions de Chromium OS.</translation>
 <translation id="985602178874221306">Els autors de Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_cs.xtb b/chrome/app/resources/chromium_strings_cs.xtb
index 3ec0361..6965a41 100644
--- a/chrome/app/resources/chromium_strings_cs.xtb
+++ b/chrome/app/resources/chromium_strings_cs.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Volitelné: Pomozte se zlepšováním funkcí a výkonu operačního systému Chromium OS tím, že budete do Googlu automaticky odesílat diagnostické údaje a údaje o využití.</translation>
 <translation id="2347108572062610441">Toto rozšíření změnilo stránku, která se zobrazí při spuštění prohlížeče Chromium.</translation>
 <translation id="2396765026452590966">Rozšíření <ph name="EXTENSION_NAME" /> změnilo stránku, která se zobrazí při spuštění prohlížeče Chromium.</translation>
-<translation id="2442081746662839303">Vytvořit v prohlížeči Chromium nový prostor pro uživatele <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">V prohlížeči Chromium</translation>
 <translation id="2485422356828889247">Odinstalovat</translation>
 <translation id="2527042973354814951">Chcete-li aktivovat plugin <ph name="PLUGIN_NAME" />, restartujte prohlížeč Chromium</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Profil je zřejmě využíván jiným procesem aplikace Chromium (<ph name="PROCESS_ID" />) nebo v jiném počítači (<ph name="HOST_NAME" />). Aplikace Chromium profil uzamkla, aby nedošlo k jeho poškození. Pokud jste si jisti, že žádný jiný proces tento profil nevyužívá, můžete jej odemknout a aplikaci Chromium znovu spustit.</translation>
 <translation id="469338717132742108">Pomoc se systémem Chromium OS</translation>
 <translation id="4708774505295300557">Prohlížeč Chromium v tomto počítači je již přihlášen k účtu <ph name="ACCOUNT_EMAIL_LAST" />. Chcete-li své informace uchovat odděleně, vytvořte nového uživatele prohlížeče Chromium.</translation>
-<translation id="4745225042341419983">Ze zařízení budou vymazány údaje o prohlížení v tomto profilu. Pokud je budete chtít znovu získat, přihlaste se do prohlížeče Chromium jako</translation>
 <translation id="4746050847053251315">Přesto Chromium ukončit?</translation>
 <translation id="4748217263233248895">Právě byla nainstalována mimořádná bezpečnostní aktualizace prohlížeče Chromium. Restartujte jej, vaše karty budou obnoveny.</translation>
 <translation id="4750035648288509542">Aktualizace je téměř dokončena. Aktualizaci dokončíte restartováním prohlížeče Chromium. Anonymní okna se neobnoví.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium je v režimu na pozadí.</translation>
 <translation id="4987820182225656817">Hosté mohou Chromium používat, aniž by po nich zůstaly jakékoliv stopy.</translation>
 <translation id="4994636714258228724">Přidejte do prohlížeče Chromium svůj účet</translation>
-<translation id="5053724573690775822">Vytvořit v prohlížeči Chromium nový pracovní prostor?</translation>
 <translation id="5224391634244552924">Nemáte žádná uložená hesla. Chromium může hesla zkontrolovat, pouze když si je uložíte.</translation>
 <translation id="5277894862589591112">Chcete-li změny použít, restartujte Chromium</translation>
 <translation id="5358375970380395591">Přihlašujete se pomocí spravovaného účtu a poskytujete jeho správci kontrolu nad vaším profilem prohlížeče Chromium. Vaše údaje prohlížeče Chromium, například aplikace, záložky, historie, hesla a jiná nastavení, budou trvale přidružena k účtu <ph name="USER_NAME" />. Tyto údaje budete moci smazat pomocí Hlavního panelu v Účtech Google, ale nebudete je moci přidružit k jinému účtu. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Pokud chybí integrovaný program k zobrazení souborů PDF, nemůže prohlížeč Chromium zobrazit náhled tisku.</translation>
 <translation id="5427571867875391349">Nastavit Chromium jako výchozí prohlížeč</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">V prostoru uživatele <ph name="EXISTING_USER" /> jste se přihlásili pomocí nového účtu. Chcete v prohlížeči Chromium pro doménu <ph name="NEW_USER" /> vytvořit nový prostor, aby data zůstala oddělená?</translation>
 <translation id="5479196819031988440">Chromium OS tuto stránku nedokáže otevřít</translation>
 <translation id="5480860683791598150">Prohlížeč Chromium potřebuje přístup k vaší poloze, aby ji mohl sdílet s tímto webem</translation>
 <translation id="549669000822060376">Počkejte prosím, než Chromium nainstaluje nejnovější aktualizace systému.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Přihlížeč Chromium vaše data nemohl synchronizovat, protože při přihlašování došlo k chybě.</translation>
 <translation id="6096348254544841612">Přizpůsobte si prohlížeč Chromium a ovládejte jej. Je k dispozici aktualizace.</translation>
 <translation id="6120345080069858279">Chromium vám toto heslo uloží do účtu Google. Nebudete si ho muset pamatovat.</translation>
-<translation id="6128834065531097268">V prostoru uživatele <ph name="EXISTING_USER" /> jste se přihlásili pomocí pracovního účtu. Chcete v prohlížeči Chromium pro doménu <ph name="WORK_DOMAIN" /> vytvořit nový prostor, aby data zůstala oddělená?</translation>
 <translation id="6129621093834146363">Soubor <ph name="FILE_NAME" /> je nebezpečný, proto jej prohlížeč Chromium zablokoval.</translation>
 <translation id="6134968993075716475">Bezpečné prohlížení je vypnuté. Chromium ho doporučuje zapnout.</translation>
 <translation id="6212496753309875659">V tomto počítači je již nainstalována novější verze prohlížeče Chromium. Jestliže tento software nefunguje, odinstalujte Chromium a zkuste to znovu.</translation>
@@ -202,7 +197,6 @@
 <translation id="7549178288319965365">O systému Chromium OS</translation>
 <translation id="7561906087460245826">Také vymazat data z prohlížeče Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Pokud některé nastavení na této stránce není zobrazeno, podívejte se do <ph name="LINK_BEGIN" />nastavení systému Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Přihlásili jste se pomocí pracovního účtu. Chcete v prohlížeči Chromium pro doménu <ph name="NEW_USER" /> vytvořit nový prostor, aby osobní data zůstala oddělená?</translation>
 <translation id="761356813943268536">Chromium používá vaši kameru a mikrofon.</translation>
 <translation id="7617377681829253106">Prohlížeč Chromium je opět o něco lepší</translation>
 <translation id="7628001322379820951">Prohlížeč Chromium ve vašem počítači našel škodlivý software</translation>
@@ -220,7 +214,6 @@
 <translation id="7975919845073681630">Toto je druhá instalace prohlížeče Chromium. Tuto instalaci nelze nastavit jako výchozí prohlížeč.</translation>
 <translation id="7979877361127045932">Skrýt v nabídce Chromium</translation>
 <translation id="8013436988911883588">Až bude mít Chromium přístup, budou vás weby moci požádat o přístup.</translation>
-<translation id="8022442821873033760">Nastavení nového profilu Chromium Space</translation>
 <translation id="81770708095080097">Tento soubor je nebezpečný, proto jej prohlížeč Chromium zablokoval.</translation>
 <translation id="8248265253516264921">Pokud obrázek nemá užitečný popis, Chromium se vám jej pokusí poskytnout. Za účelem vytváření popisů jsou obrázky odesílány do Googlu. Tuto funkci můžete kdykoliv vypnout v nastavení.</translation>
 <translation id="8266560134891435528">Chromium nemůže zkontrolovat vaše hesla, protože nejste přihlášeni</translation>
@@ -231,7 +224,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Do jednoho dne Chromium restartujte}few{Do # dní Chromium restartujte}many{Do # dne Chromium restartujte}other{Do # dní Chromium restartujte}}</translation>
 <translation id="8453117565092476964">Archiv instalačního programu je poškozený nebo neplatný. Stáhněte prosím Chromium znovu.</translation>
 <translation id="8493179195440786826">Prohlížeč Chromium je zastaralý</translation>
-<translation id="8545858702702650646">Vyberte profil Chromium Space</translation>
 <translation id="8558383651099478961">Tvůj rodič pro prohlížeč Chromium vypnul možnost Oprávnění pro weby, aplikace a rozšíření. Přidání tohoto <ph name="EXTENSION_TYPE_PARAMETER" /> není povoleno.</translation>
 <translation id="8568283329061645092">Když se přihlásíte pomocí účtu Google, může vám Chromium kontrolovat hesla</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Autoři prohlížeče Chromium. Všechna práva vyhrazena.</translation>
@@ -257,7 +249,6 @@
 <translation id="9158494823179993217">Administrátor systému nakonfiguroval prohlížeč Chromium tak, aby pro přístup k adrese <ph name="TARGET_URL_HOSTNAME" /> otevřel alternativní prohlížeč.</translation>
 <translation id="9164845895615421500">Chromium jednou týdně kontroluje, zda počítač neobsahuje nevyžádaný software. Naposledy zkontrolováno: před chvílí.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Pomocí profilů Chromium Space můžete procházení na tomto zařízení uspořádat</translation>
 <translation id="93478295209880648">Prohlížeč Chromium nemusí fungovat správně, protože v systémech Windows XP a Windows Vista již není podporován</translation>
 <translation id="95514773681268843">Doména <ph name="DOMAIN" /> vyžaduje, abyste si před použitím tohoto zařízení přečetli následující smluvní podmínky a odsouhlasili je. Tyto smluvní podmínky nerozšiřují, neupravují ani neomezují smluvní podmínky systému Chromium OS.</translation>
 <translation id="985602178874221306">Autoři prohlížeče Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_da.xtb b/chrome/app/resources/chromium_strings_da.xtb
index 9aca9ad..69daed64 100644
--- a/chrome/app/resources/chromium_strings_da.xtb
+++ b/chrome/app/resources/chromium_strings_da.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Valgfrit: Vær med til at forbedre funktioner og ydeevne i Chromium OS ved automatisk at sende diagnostik og brugsdata til Google.</translation>
 <translation id="2347108572062610441">Denne udvidelse har ændret din startside i Chromium.</translation>
 <translation id="2396765026452590966">Udvidelsen "<ph name="EXTENSION_NAME" />" har ændret din startside i Chromium.</translation>
-<translation id="2442081746662839303">Vil du oprette et nyt Chromium Space til <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">I Chromium</translation>
 <translation id="2485422356828889247">Afinstaller</translation>
 <translation id="2527042973354814951">Genstart Chromium for at aktivere <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Profilen ser ud til at være i brug i en anden Chromium-proces (<ph name="PROCESS_ID" />) på en anden computer (<ph name="HOST_NAME" />). Chromium har låst profilen, så den ikke bliver beskadiget. Hvis du er sikker på, at ingen andre processer anvender denne profil, kan du fjerne blokeringen af profilen og genstarte Chromium.</translation>
 <translation id="469338717132742108">Få hjælp til Chromium OS</translation>
 <translation id="4708774505295300557">Nogen har tidligere logget ind på Chromium på denne computer som <ph name="ACCOUNT_EMAIL_LAST" />. Opret en ny Chromium-bruger for at holde dine oplysninger adskilt.</translation>
-<translation id="4745225042341419983">Browserdataene for dette space slettes fra denne enhed. Du kan gendanne dataene ved at logge ind på Chromium som</translation>
 <translation id="4746050847053251315">Vil du slutte Chromium alligevel?</translation>
 <translation id="4748217263233248895">En særlig sikkerhedsopdatering til Chromium blev netop anvendt. Genstart nu, hvorefter vi gendanner dine faner.</translation>
 <translation id="4750035648288509542">Næsten opdateret! Genstart Chromium for at fuldføre opdateringen. Inkognitovinduer åbnes ikke igen.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium kører i baggrunden.</translation>
 <translation id="4987820182225656817">Gæster kan bruge Chromium uden at efterlade noget.</translation>
 <translation id="4994636714258228724">Tilføj dig selv i Chromium</translation>
-<translation id="5053724573690775822">Vil du oprette et nyt Chromium-arbejdsområde?</translation>
 <translation id="5224391634244552924">Der er ingen gemte adgangskoder. Chromium kan tjekke dine adgangskoder, når du gemmer dem.</translation>
 <translation id="5277894862589591112">Åbn Chromium igen for at anvende ændringerne</translation>
 <translation id="5358375970380395591">Du er ved at logge ind med en managerstyret konto og giver dens administrator kontrol over din profil i Chromium. Dine Chromium-data, f.eks. dine apps, bogmærker, historikdata, adgangskoder og andre indstillinger, knyttes permanent til <ph name="USER_NAME" />. Du kan slette disse data via kontrolpanelet for Google Konti, men du kan ikke knytte disse data til en anden konto. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium kan ikke vise udskrifter, når den indbyggede PDF-fremviser mangler.</translation>
 <translation id="5427571867875391349">Angiv Chromium som din standardbrowser</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium beta</translation>
-<translation id="544968170749360982">Du er logget ind med en ny konto i det Space, der tilhører <ph name="EXISTING_USER" />. Vil du oprette et nyt Chromium Space til <ph name="NEW_USER" /> for at holde dine data adskilt?</translation>
 <translation id="5479196819031988440">Chromium OS kan ikke åbne denne side.</translation>
 <translation id="5480860683791598150">Chromium skal have adgang til din placering for at dele din placering med dette website</translation>
 <translation id="549669000822060376">Vent, mens Chromium installerer de nyeste systemopdateringer.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium kunne ikke synkronisere dine data på grund af en loginfejl.</translation>
 <translation id="6096348254544841612">Tilpas og administrer Chromium. Der er en tilgængelig opdatering.</translation>
 <translation id="6120345080069858279">Chromium gemmer denne adgangskode på din Google-konto. Du behøver ikke at huske den.</translation>
-<translation id="6128834065531097268">Du er logget ind med en arbejdskonto i det Space, der tilhører <ph name="EXISTING_USER" />. Vil du oprette et nyt Chromium Space til <ph name="WORK_DOMAIN" /> for at holde dine data adskilt?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> er skadelig, så Chromium har blokeret den.</translation>
 <translation id="6134968993075716475">Beskyttet browsing er deaktiveret. Chromium anbefaler, at du aktiverer funktionen.</translation>
 <translation id="6212496753309875659">Computeren har allerede en nyere version af Chromium. Hvis softwaren ikke virker, skal du afinstallere Chromium og prøve igen.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Ryd også data fra Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Hvis en indstilling ikke vises på denne side, kan du kigge i <ph name="LINK_BEGIN" />
       indstillingerne for Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Du er logget ind med en arbejdskonto. Vil du oprette et nyt Chromium Space til <ph name="NEW_USER" /> for at holde dine personoplysninger adskilt?</translation>
 <translation id="761356813943268536">Chromium bruger dit kamera og din mikrofon.</translation>
 <translation id="7617377681829253106">Chromium er blevet bedre</translation>
 <translation id="7628001322379820951">Chromium har registreret skadelig software på din computer</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Dette er en sekundær installation af Chromium, og den kan ikke gøres til din standardbrowser.</translation>
 <translation id="7979877361127045932">Skjul i Chromium-menuen</translation>
 <translation id="8013436988911883588">Når Chromium har adgang, kan websites bede dig om adgang.</translation>
-<translation id="8022442821873033760">Konfigurer dit nye Chromium Space</translation>
 <translation id="81770708095080097">Denne fil er farlig, så Chromium har blokeret den.</translation>
 <translation id="8248265253516264921">Hvis et billede ikke har en brugbar beskrivelse, forsøger Chromium at angive en for dig. Billederne sendes til Google, så der kan oprettes beskrivelser. Du kan til enhver tid deaktivere denne funktion i indstillingerne.</translation>
 <translation id="8266560134891435528">Chromium kan ikke tjekke dine adgangskoder, da du ikke er logget ind</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Genstart Chromium inden for en dag}one{Genstart Chromium inden for # dag}other{Genstart Chromium inden for # dag}}</translation>
 <translation id="8453117565092476964">Installationsarkivet er beskadiget eller ugyldigt. Download Chromium igen.</translation>
 <translation id="8493179195440786826">Chromium er forældet</translation>
-<translation id="8545858702702650646">Vælg dit Chromium Space</translation>
 <translation id="8558383651099478961">Din forælder har deaktiveret "Tilladelser til websites, apps og udvidelser" for Chromium. Det er ikke tilladt at tilføje denne <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium kan tjekke dine adgangskoder, når du er logget ind med din Google-konto</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Forfatterne bag Chromium. Alle rettigheder forbeholdes.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Din systemadministrator har konfigureret Chromium til at åbne en anden browser for at få adgang til <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium tjekker, om du har uønsket software, én gang om ugen. Seneste tjek: For et øjeblik siden.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Brug Chromium Spaces for at holde styr på din browsing på denne enhed</translation>
 <translation id="93478295209880648">Chromium fungerer muligvis ikke korrekt på grund af manglende understøttelse i Windows XP og Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> kræver, at du læser og accepterer følgende servicevilkår, inden du bruger denne enhed. Disse vilkår udvider, ændrer eller begrænser på ingen måde vilkårene for Chromium OS.</translation>
 <translation id="985602178874221306">Forfatterne til Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_de.xtb b/chrome/app/resources/chromium_strings_de.xtb
index eb5317f..3f08e21c 100644
--- a/chrome/app/resources/chromium_strings_de.xtb
+++ b/chrome/app/resources/chromium_strings_de.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Optional: Diagnose- und Nutzungsdaten automatisch an Google senden, um die Funktionen und die Leistung von Chromium OS zu verbessern.</translation>
 <translation id="2347108572062610441">Die beim Start von Chromium angezeigte Seite wurde durch diese Erweiterung geändert.</translation>
 <translation id="2396765026452590966">Die beim Start von Chromium angezeigte Seite wurde durch die Erweiterung <ph name="EXTENSION_NAME" /> geändert.</translation>
-<translation id="2442081746662839303">Neues Chromium-Profil für <ph name="NEW_USER" /> erstellen?</translation>
 <translation id="2483889755041906834">In Chromium</translation>
 <translation id="2485422356828889247">Deinstallieren</translation>
 <translation id="2527042973354814951">Chromium neu starten, um <ph name="PLUGIN_NAME" /> zu aktivieren</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Das Profil wird offenbar gerade von einem Chromium-Prozess (<ph name="PROCESS_ID" />) auf einem anderen Computer (<ph name="HOST_NAME" />) verwendet. Das Profil wurde von Chromium gesperrt, damit es nicht beschädigt wird. Wenn Sie sicher sind, dass das Profil nicht von anderen Prozessen verwendet wird, können Sie das Profil entsperren und Chromium neu starten.</translation>
 <translation id="469338717132742108">Hilfe für Chromium OS aufrufen</translation>
 <translation id="4708774505295300557">Auf diesem Computer war zuvor ein Nutzer mit dem Konto <ph name="ACCOUNT_EMAIL_LAST" /> in Chromium angemeldet. Erstellen Sie einen neuen Chromium-Nutzer, um Ihre Daten getrennt zu verwenden.</translation>
-<translation id="4745225042341419983">Die Browserdaten dieses Profils werden von diesem Gerät gelöscht. Um die Daten wiederherzustellen, bitte in Chromium anmelden als</translation>
 <translation id="4746050847053251315">Chromium trotzdem beenden?</translation>
 <translation id="4748217263233248895">Da soeben ein kritisches Sicherheitsupdate für Chromium installiert wurde, sollten Sie jetzt einen Neustart durchführen. Ihre Tabs werden dann automatisch wiederhergestellt.</translation>
 <translation id="4750035648288509542">Fast geschafft! Chromium zum Abschluss der Aktualisierung neu starten. Inkognitofenster werden nicht wieder geöffnet.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium wird im Hintergrundmodus ausgeführt.</translation>
 <translation id="4987820182225656817">Gastnutzer können Chromium verwenden, ohne Daten zu hinterlassen.</translation>
 <translation id="4994636714258228724">Mich zu Chromium hinzufügen</translation>
-<translation id="5053724573690775822">Neues Chromium-Arbeitsprofil erstellen?</translation>
 <translation id="5224391634244552924">Keine gespeicherten Passwörter. Chromium kann Ihre Passwörter prüfen, wenn Sie sie speichern.</translation>
 <translation id="5277894862589591112">Starten Sie Chromium neu, um die Änderungen zu übernehmen</translation>
 <translation id="5358375970380395591">Sie melden sich mit einem verwalteten Konto an und ermöglichen dessen Administrator Zugriff auf Ihr Chromium-Profil. Ihre Chromium-Daten, wie Apps, Lesezeichen, Verlauf, Passwörter und andere Einstellungen, werden dauerhaft mit <ph name="USER_NAME" /> verknüpft. Sie können diese Daten über das Google Konten-Dashboard löschen, aber nicht mit einem anderen Konto verknüpfen. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium kann ohne den integrierten PDF-Viewer keine Druckvorschau anzeigen.</translation>
 <translation id="5427571867875391349">Chromium als Standardbrowser festlegen</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">Sie haben sich mit einem neuen Konto im Profil von <ph name="EXISTING_USER" /> angemeldet. Möchten Sie ein neues Chromium-Profil für <ph name="NEW_USER" /> erstellen, um Ihre Daten getrennt zu halten?</translation>
 <translation id="5479196819031988440">Chromium OS kann diese Seite nicht öffnen.</translation>
 <translation id="5480860683791598150">Chromium benötigt Zugriff auf Ihren Standort, um ihn mit dieser Website zu teilen</translation>
 <translation id="549669000822060376">Bitte warten Sie, bis die aktuellen Systemupdates von Chromium installiert wurden.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium konnte Ihre Daten aufgrund eines Fehlers bei der Anmeldung nicht synchronisieren.</translation>
 <translation id="6096348254544841612">Chromium anpassen und Einstellungen festlegen. Ein Update ist verfügbar.</translation>
 <translation id="6120345080069858279">Chromium speichert dieses Passwort in Ihrem Google-Konto. Sie müssen es sich also nicht merken.</translation>
-<translation id="6128834065531097268">Sie haben sich mit einem Arbeitskonto im Profil von <ph name="EXISTING_USER" /> angemeldet. Möchten Sie ein neues Chromium-Profil für <ph name="WORK_DOMAIN" /> erstellen, um Ihre Daten getrennt zu halten?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> ist schädlich und wurde daher von Chromium blockiert.</translation>
 <translation id="6134968993075716475">Safe Browsing ist deaktiviert. Es wird empfohlen, diese Funktion zu aktivieren.</translation>
 <translation id="6212496753309875659">Auf diesem Computer befindet sich bereits eine neuere Version von Chromium. Falls die Software nicht funktioniert, deinstallieren Sie Chromium bitte und versuchen Sie es erneut.</translation>
@@ -200,7 +195,6 @@
 <translation id="7549178288319965365">Über Chromium OS</translation>
 <translation id="7561906087460245826">Daten aus Chromium ebenfalls löschen (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Wenn Sie auf dieser Seite eine Einstellung nicht finden können, sehen Sie in den <ph name="LINK_BEGIN" />Einstellungen von Chromium OS<ph name="LINK_END" /> nach</translation>
-<translation id="7607142834923530546">Sie haben sich mit einem Arbeitskonto angemeldet. Möchten Sie ein neues Chromium-Profil für <ph name="NEW_USER" /> erstellen, um Ihre persönlichen Daten getrennt zu halten?</translation>
 <translation id="761356813943268536">Chromium verwendet Ihre Kamera und Ihr Mikrofon.</translation>
 <translation id="7617377681829253106">Chromium ist jetzt noch besser</translation>
 <translation id="7628001322379820951">Chromium hat auf Ihrem Computer schädliche Software gefunden</translation>
@@ -218,7 +212,6 @@
 <translation id="7975919845073681630">Dies ist eine Zweitinstallation, daher kann Chromium nicht als Standardbrowser festgelegt werden.</translation>
 <translation id="7979877361127045932">Im Chromium-Menü ausblenden</translation>
 <translation id="8013436988911883588">Sobald Chromium Zugriff hat, können Websites Sie um Zugriff bitten.</translation>
-<translation id="8022442821873033760">Ihren neuen Chromium Space einrichten</translation>
 <translation id="81770708095080097">Diese Datei ist schädlich und wurde von Chromium blockiert.</translation>
 <translation id="8248265253516264921">Wenn ein Bild keine brauchbare Beschreibung hat, versucht Chromium, eine für Sie zu finden. Damit entsprechende Beschreibungen erstellt werden können, werden die Bilder an Google gesendet. Sie können dies jederzeit in den Einstellungen deaktivieren.</translation>
 <translation id="8266560134891435528">Chromium kann Ihre Passwörter nicht prüfen, da Sie nicht angemeldet sind</translation>
@@ -229,7 +222,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium innerhalb eines Tages neu starten}other{Chromium innerhalb von # Tagen neu starten}}</translation>
 <translation id="8453117565092476964">Das Installationsarchiv ist beschädigt oder ungültig. Bitte laden Sie Chromium erneut herunter.</translation>
 <translation id="8493179195440786826">Chromium ist veraltet.</translation>
-<translation id="8545858702702650646">Chromium Space auswählen</translation>
 <translation id="8558383651099478961">Dein Elternteil hat "Berechtigungen für Websites, Apps und Erweiterungen" für Chromium deaktiviert. Das Hinzufügen dieser <ph name="EXTENSION_TYPE_PARAMETER" /> ist nicht zulässig.</translation>
 <translation id="8568283329061645092">Chromium kann Ihre Passwörter prüfen, wenn Sie sich mit Ihrem Google-Konto anmelden</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Die Chromium-Autoren. Alle Rechte vorbehalten.</translation>
@@ -255,7 +247,6 @@
 <translation id="9158494823179993217">Ihr Systemadministrator hat Chromium so konfiguriert, dass ein alternativer Browser für den Zugriff auf <ph name="TARGET_URL_HOSTNAME" /> geöffnet wird.</translation>
 <translation id="9164845895615421500">Chromium prüft Ihr Gerät einmal pro Woche auf unerwünschte Software. Zuletzt geprüft: vor Kurzem.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Mit Chromium Spaces können Sie auf diesem Gerät organisierter surfen</translation>
 <translation id="93478295209880648">Chromium funktioniert unter Umständen nicht ordnungsgemäß, da es unter Windows XP und Windows Vista nicht mehr unterstützt wird</translation>
 <translation id="95514773681268843">Vor der Verwendung dieses Geräts ist es erforderlich, dass Sie die folgenden Nutzungsbedingungen von <ph name="DOMAIN" /> akzeptieren. Durch diese Nutzungsbedingungen werden die Chromium OS-Nutzungsbedingungen nicht erweitert, geändert oder eingeschränkt.</translation>
 <translation id="985602178874221306">Die Chromium-Autoren</translation>
diff --git a/chrome/app/resources/chromium_strings_el.xtb b/chrome/app/resources/chromium_strings_el.xtb
index 744a28c..4ab63ac 100644
--- a/chrome/app/resources/chromium_strings_el.xtb
+++ b/chrome/app/resources/chromium_strings_el.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Προαιρετικό: Συμβάλετε στη βελτίωση των λειτουργιών και της απόδοσης του Chromium OS με αυτόματη αποστολή διαγνωστικών και δεδομένων χρήσης στην Google.</translation>
 <translation id="2347108572062610441">Αυτή η επέκταση άλλαξε τη σελίδα που εμφανίζεται κατά την εκκίνηση του Chromium.</translation>
 <translation id="2396765026452590966">Η επέκταση <ph name="EXTENSION_NAME" /> άλλαξε τη σελίδα που εμφανίζεται κατά την εκκίνηση του Chromium.</translation>
-<translation id="2442081746662839303">Να δημιουργηθεί ένας νέος χώρος Chromium για τον χρήστη <ph name="NEW_USER" />;</translation>
 <translation id="2483889755041906834">Στο Chromium</translation>
 <translation id="2485422356828889247">Απεγκατάσταση</translation>
 <translation id="2527042973354814951">Επανεκκίνηση του Chromium για την ενεργοποίηση του <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Το προφίλ φαίνεται ότι χρησιμοποιείται από άλλη διεργασία του Chromium (<ph name="PROCESS_ID" />) σε άλλο υπολογιστή (<ph name="HOST_NAME" />). Το Chromium έχει κλειδώσει το προφίλ, για να μην καταστραφεί. Αν είστε σίγουροι ότι το προφίλ δεν χρησιμοποιείται από κάποια άλλη διεργασία, μπορείτε να το ξεκλειδώσετε και να επανεκκινήσετε το Chromium.</translation>
 <translation id="469338717132742108">Λήψη βοήθειας σχετικά με το Chromium OS</translation>
 <translation id="4708774505295300557">Κάποιο άτομο συνδέθηκε προηγουμένως στο Chromium σε αυτόν τον υπολογιστή ως <ph name="ACCOUNT_EMAIL_LAST" />. Δημιουργήστε έναν νέο χρήστη του Chromium, για να διατηρείτε τις πληροφορίες σας ξεχωριστά.</translation>
-<translation id="4745225042341419983">Τα δεδομένα περιήγησης αυτού του χώρου θα διαγραφούν από αυτήν τη συσκευή. Για να επαναφέρετε τα δεδομένα, συνδεθείτε στο Chromium ως</translation>
 <translation id="4746050847053251315">Να τερματιστεί η λειτουργία του Chromium ούτως ή άλλως;</translation>
 <translation id="4748217263233248895">Μόλις εφαρμόστηκε μια ειδική ενημέρωση ασφαλείας για το Chromium. Επανεκκινήστε τώρα και θα γίνει επαναφορά των καρτελών σας.</translation>
 <translation id="4750035648288509542">Η ενημέρωση έχει σχεδόν ολοκληρωθεί! Κάντε επανεκκίνηση του Chromium για να ολοκληρωθεί η διαδικασία ενημέρωσης. Τα παράθυρα για ανώνυμη περιήγηση δεν θα ανοίξουν ξανά.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Το Chromium εκτελείται στο παρασκήνιο.</translation>
 <translation id="4987820182225656817">Οι επισκέπτες μπορούν να χρησιμοποιούν το Chromium χωρίς να αφήνουν κανένα ίχνος.</translation>
 <translation id="4994636714258228724">Προσθήκη του εαυτού σας στο Chromium</translation>
-<translation id="5053724573690775822">Να δημιουργηθεί ένας νέος χώρος εργασίας Chromium;</translation>
 <translation id="5224391634244552924">Δεν υπάρχουν αποθηκευμένοι κωδικοί πρόσβασης. Το Chromium μπορεί να ελέγξει τους κωδικούς πρόσβασής σας όταν τους αποθηκεύσετε.</translation>
 <translation id="5277894862589591112">Για να εφαρμόσετε τις αλλαγές σας, επανεκκινήστε το Chromium</translation>
 <translation id="5358375970380395591">Είστε συνδεδεμένοι με έναν διαχειριζόμενο λογαριασμό και παραχωρείτε στο διαχειριστή του τον έλεγχο του προφίλ σας στο Chromium. Τα δεδομένα σας στο Chromium, όπως οι εφαρμογές, οι σελιδοδείκτες, το ιστορικό, οι κωδικοί πρόσβασης και άλλες ρυθμίσεις θα συνδεθούν μόνιμα με το όνομα χρήστη <ph name="USER_NAME" />. Θα έχετε τη δυνατότητα να διαγράψετε αυτά τα δεδομένα μέσω του Πίνακα ελέγχου των Λογαριασμών Google, αλλά δεν θα μπορείτε να τα συσχετίσετε με άλλο λογαριασμό. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Δεν είναι δυνατή η εμφάνιση της προεπισκόπησης εκτύπωσης στο Chromium, όταν το ενσωματωμένο πρόγραμμα προβολής αρχείων PDF λείπει.</translation>
 <translation id="5427571867875391349">Ορισμός του Chromium ως προεπιλεγμένου προγράμματος περιήγησης</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">Συνδεθήκατε με έναν νέο λογαριασμό στον χώρο του χρήστη <ph name="EXISTING_USER" />. Θέλετε να δημιουργήσετε έναν νέο χώρο Chromium για τον χρήστη <ph name="NEW_USER" /> για να διατηρείτε τα δεδομένα σας χωριστά;</translation>
 <translation id="5479196819031988440">Το Chromium OS δεν μπορεί να ανοίξει αυτήν τη σελίδα.</translation>
 <translation id="5480860683791598150">Το Chromium χρειάζεται πρόσβαση στην τοποθεσία σας, για να την κοινοποιήσει σε αυτόν τον ιστότοπο</translation>
 <translation id="549669000822060376">Περιμένετε μέχρι να γίνει εγκατάσταση των πιο πρόσφατων ενημερώσεων συστήματος από το Chromium.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Το Chromium δεν κατάφερε να συγχρονίσει τα δεδομένα σας λόγω σφάλματος κατά τη σύνδεση.</translation>
 <translation id="6096348254544841612">Προσαρμόστε και ελέγξτε το Chromium. Υπάρχει διαθέσιμη ενημέρωση.</translation>
 <translation id="6120345080069858279">Το Chromium θα αποθηκεύσει αυτόν τον κωδικό πρόσβασης στον Λογαριασμό σας Google. Δεν χρειάζεται να τον απομνημονεύσετε.</translation>
-<translation id="6128834065531097268">Συνδεθήκατε με έναν λογαριασμό εργασίας στον χώρο του χρήστη <ph name="EXISTING_USER" />. Θέλετε να δημιουργήσετε έναν νέο χώρο Chromium για τον τομέα <ph name="WORK_DOMAIN" /> για να διατηρείτε τα δεδομένα σας χωριστά;</translation>
 <translation id="6129621093834146363">Το αρχείο <ph name="FILE_NAME" /> είναι επικίνδυνο, επομένως έχει αποκλειστεί από το Chromium.</translation>
 <translation id="6134968993075716475">Η Ασφαλής περιήγηση είναι απενεργοποιημένη. Το Chromium συνιστά να την ενεργοποιήσετε.</translation>
 <translation id="6212496753309875659">Αυτός ο υπολογιστής διαθέτει ήδη μια πιο πρόσφατη έκδοση του Chromium. Αν το λογισμικό δεν λειτουργεί, απεγκαταστήστε το Chromium και κατεβάστε το ξανά.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Επίσης, να διαγραφούν δεδομένα από το Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Εάν μια ρύθμιση δεν εμφανίζεται σε αυτήν τη σελίδα, αναζητήστε την στις <ph name="LINK_BEGIN" />
       ρυθμίσεις του Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Συνδεθήκατε με έναν λογαριασμό εργασίας. Θέλετε να δημιουργήσετε έναν νέο χώρο Chromium για τον χρήστη <ph name="NEW_USER" /> για να διατηρείτε τα προσωπικά δεδομένα σας χωριστά;</translation>
 <translation id="761356813943268536">Το Chromium χρησιμοποιεί την κάμερα και το μικρόφωνό σας.</translation>
 <translation id="7617377681829253106">Το Chromium έγινε ακόμα καλύτερο</translation>
 <translation id="7628001322379820951">To Chromium εντόπισε επιβλαβές λογισμικό στον υπολογιστή σας</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Αυτή είναι μια δευτερεύουσα εγκατάσταση του Chromium και δεν μπορεί να γίνει το προεπιλεγμένο πρόγραμμα περιήγησης.</translation>
 <translation id="7979877361127045932">Απόκρυψη από το μενού του Chromium</translation>
 <translation id="8013436988911883588">Όταν το Chromium αποκτήσει πρόσβαση, οι ιστότοποι θα μπορούν να σας ζητήσουν πρόσβαση.</translation>
-<translation id="8022442821873033760">Ρύθμιση του νέου Chromium Space</translation>
 <translation id="81770708095080097">Αυτό το αρχείο είναι επικίνδυνο και έχει αποκλειστεί από το Chromium.</translation>
 <translation id="8248265253516264921">Εάν μια εικόνα δεν έχει κάποια χρήσιμη περιγραφή, το Chromium θα προσπαθήσει να σας προσφέρει μια περιγραφή. Για τη δημιουργία περιγραφών, αποστέλλονται εικόνες στην Google. Μπορείτε να απενεργοποιήσετε αυτήν τη λειτουργία στις ρυθμίσεις οποιαδήποτε στιγμή.</translation>
 <translation id="8266560134891435528">Το Chromium δεν μπορεί να ελέγξει τους κωδικούς πρόσβασής σας επειδή δεν είστε συνδεδεμένοι.</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Επανεκκίνηση του Chromium σε μία ημέρα}other{Επανεκκίνηση του Chromium σε # ημέρες}}</translation>
 <translation id="8453117565092476964">Το αρχείο του προγράμματος εγκατάστασης είναι κατεστραμμένο ή μη έγκυρο. Κατεβάστε το Chromium ξανά.</translation>
 <translation id="8493179195440786826">Το Chromium δεν είναι ενημερωμένο</translation>
-<translation id="8545858702702650646">Επιλέξτε Chromium Space</translation>
 <translation id="8558383651099478961">Ο γονέας σου απενεργοποίησε την επιλογή "Άδειες για ιστοτόπους, εφαρμογές και επεκτάσεις" για το Chromium. Η προσθήκη του στοιχείου <ph name="EXTENSION_TYPE_PARAMETER" /> δεν επιτρέπεται.</translation>
 <translation id="8568283329061645092">Το Chromium μπορεί να ελέγξει τους κωδικούς πρόσβασής σας όταν συνδέεστε με τον Λογαριασμό σας Google.</translation>
 <translation id="8586442755830160949">Πνευματικά δικαιώματα <ph name="YEAR" /> Οι συντάκτες του Chromium. Με επιφύλαξη παντός δικαιώματος.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Ο διαχειριστής συστήματος έχει διαμορφώσει το Chromium έτσι ώστε να ανοίγει άλλο πρόγραμμα περιήγησης για την πρόσβαση στη διεύθυνση <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">To Chromium ελέγχει για ανεπιθύμητο λογισμικό μία φορά την εβδομάδα. Τελευταίος έλεγχος: πριν από ένα λεπτό.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Χρησιμοποιήστε τα Chromium Space, για να διατηρείτε οργανωμένη την περιήγησή σας σε αυτήν τη συσκευή.</translation>
 <translation id="93478295209880648">Το Chromium μπορεί να μην λειτουργεί σωστά, επειδή δεν υποστηρίζεται πια σε Windows XP και Windows Vista</translation>
 <translation id="95514773681268843">Το <ph name="DOMAIN" /> απαιτεί να διαβάσετε και να αποδεχτείτε τους ακόλουθους Όρους Παροχής Υπηρεσιών πριν από τη χρήση αυτής της συσκευής. Οι συγκεκριμένοι όροι δεν επεκτείνουν, τροποποιούν ή περιορίζουν τους όρους του Chromium OS.</translation>
 <translation id="985602178874221306">Οι συντάκτες του Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_en-GB.xtb b/chrome/app/resources/chromium_strings_en-GB.xtb
index 33a67e0..5b40cca2 100644
--- a/chrome/app/resources/chromium_strings_en-GB.xtb
+++ b/chrome/app/resources/chromium_strings_en-GB.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Optional: Help improve Chromium OS features and performance by automatically sending diagnostic and usage data to Google.</translation>
 <translation id="2347108572062610441">This extension has changed the page that is shown when you start Chromium.</translation>
 <translation id="2396765026452590966">The extension "<ph name="EXTENSION_NAME" />" has changed the page that is shown when you start Chromium.</translation>
-<translation id="2442081746662839303">Create new Chromium space for <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">In Chromium</translation>
 <translation id="2485422356828889247">Uninstall</translation>
 <translation id="2527042973354814951">Restart Chromium to enable <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">The profile appears to be in use by another Chromium process (<ph name="PROCESS_ID" />) on another computer (<ph name="HOST_NAME" />). Chromium has locked the profile so that it doesn't get corrupted. If you are sure that no other processes are using this profile, you can unlock the profile and relaunch Chromium.</translation>
 <translation id="469338717132742108">Get help with Chromium OS</translation>
 <translation id="4708774505295300557">Someone previously signed in to Chromium on this computer as <ph name="ACCOUNT_EMAIL_LAST" />. Please create a new Chromium user to keep your information separate.</translation>
-<translation id="4745225042341419983">This space’s browsing data will be deleted from this device. To recover the data, sign in to Chromium as</translation>
 <translation id="4746050847053251315">Quit Chromium anyway?</translation>
 <translation id="4748217263233248895">A special security update for Chromium was just applied. Restart now and we'll restore your tabs.</translation>
 <translation id="4750035648288509542">Nearly up to date! Relaunch Chromium to finish updating. Incognito windows won't reopen.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium is in background mode.</translation>
 <translation id="4987820182225656817">Guests can use Chromium without leaving anything behind.</translation>
 <translation id="4994636714258228724">Add yourself to Chromium</translation>
-<translation id="5053724573690775822">Create new Chromium work space?</translation>
 <translation id="5224391634244552924">No saved passwords. Chromium can check your passwords when you save them.</translation>
 <translation id="5277894862589591112">To apply your changes, relaunch Chromium</translation>
 <translation id="5358375970380395591">You are signing in with a managed account and giving its administrator control over your Chromium profile. Your Chromium data, such as your apps, bookmarks, history, passwords and other settings will become permanently tied to <ph name="USER_NAME" />. You will be able to delete this data via the Google Accounts Dashboard, but you will not be able to associate this data with another account. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium cannot show the print preview when the built-in PDF viewer is missing.</translation>
 <translation id="5427571867875391349">Set Chromium as your default browser</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">You signed in with a new account in <ph name="EXISTING_USER" />’s space. Would you like to create a new Chromium space for <ph name="NEW_USER" /> to keep your data separate?</translation>
 <translation id="5479196819031988440">Chromium OS can't open this page.</translation>
 <translation id="5480860683791598150">Chromium needs access to your location to share your location with this site</translation>
 <translation id="549669000822060376">Please wait while Chromium installs the latest system updates.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium could not sync your data due to an error signing in.</translation>
 <translation id="6096348254544841612">Customise and control Chromium. Update is available.</translation>
 <translation id="6120345080069858279">Chromium will save this password in your Google Account. You won’t have to remember it.</translation>
-<translation id="6128834065531097268">You signed in with a work account in <ph name="EXISTING_USER" />’s space. Would you like to create a new Chromium space for <ph name="WORK_DOMAIN" /> to keep your data separate?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> is dangerous, so Chromium has blocked it.</translation>
 <translation id="6134968993075716475">Safe Browsing is off. Chromium recommends turning it on.</translation>
 <translation id="6212496753309875659">This computer already has a more recent version of Chromium. If the software is not working, please uninstall Chromium and try again.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Also clear data from Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">If a setting doesn't show on this page, look in your <ph name="LINK_BEGIN" />
       Chromium OS settings<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">You signed in with a work account. Would you like to create a new Chromium space for <ph name="NEW_USER" /> to keep your personal data separate?</translation>
 <translation id="761356813943268536">Chromium is using your camera and microphone.</translation>
 <translation id="7617377681829253106">Chromium just got better</translation>
 <translation id="7628001322379820951">Chromium found harmful software on your computer</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">This is a secondary installation of Chromium, and cannot be made your default browser.</translation>
 <translation id="7979877361127045932">Hide in Chromium menu</translation>
 <translation id="8013436988911883588">Once Chromium has access, websites will be able to ask you for access.</translation>
-<translation id="8022442821873033760">Set up your new Chromium space</translation>
 <translation id="81770708095080097">This file is dangerous, so Chromium has blocked it.</translation>
 <translation id="8248265253516264921">If an image doesn’t have a useful description, Chromium will try to provide one for you. To create descriptions, images are sent to Google. You can turn this off in settings at any time.</translation>
 <translation id="8266560134891435528">Chromium can't check your passwords because you're not signed in</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Relaunch Chromium within a day}other{Relaunch Chromium within # days}}</translation>
 <translation id="8453117565092476964">The installer archive is corrupted or invalid. Please download Chromium again.</translation>
 <translation id="8493179195440786826">Chromium is Out of Date</translation>
-<translation id="8545858702702650646">Pick your Chromium space</translation>
 <translation id="8558383651099478961">Your parent has turned off 'Permissions for sites, apps and extensions' for Chromium. Adding this <ph name="EXTENSION_TYPE_PARAMETER" /> is not allowed.</translation>
 <translation id="8568283329061645092">Chromium can check your passwords when you sign in with your Google Account</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. All rights reserved.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Your system administrator has configured Chromium to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium checks for unwanted software once a week. Last checked: a moment ago.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Use Chromium spaces to keep your browsing organised on this device</translation>
 <translation id="93478295209880648">Chromium may not function correctly because it is no longer supported on Windows XP or Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> requires that you read and accept the following Terms of Service before using this device. These terms do not expand, modify or limit the Chromium OS Terms.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_es-419.xtb b/chrome/app/resources/chromium_strings_es-419.xtb
index efd4cdd..b7adb57 100644
--- a/chrome/app/resources/chromium_strings_es-419.xtb
+++ b/chrome/app/resources/chromium_strings_es-419.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Opcional: Para ayudarnos a mejorar las funciones y el rendimiento del Sistema operativo Chromium, envía automáticamente datos de uso y diagnóstico a Google.</translation>
 <translation id="2347108572062610441">Esta extensión cambió la página que se muestra al iniciar Chromium.</translation>
 <translation id="2396765026452590966">La extensión "<ph name="EXTENSION_NAME" />" cambió la página que se muestra al iniciar Chromium.</translation>
-<translation id="2442081746662839303">¿Deseas crear un nuevo espacio de Chromium para <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">En Chromium</translation>
 <translation id="2485422356828889247">Desinstalación</translation>
 <translation id="2527042973354814951">Reiniciar Chromium para habilitar <ph name="PLUGIN_NAME" /></translation>
@@ -94,7 +93,6 @@
 <translation id="4677944499843243528">Parece que otro proceso de Chromium (<ph name="PROCESS_ID" />) está utilizando el perfil en otra computadora (<ph name="HOST_NAME" />). Chromium bloqueó el perfil para que no se dañe. Si puedes confirmar que ningún otro proceso está utilizando este perfil, puedes desbloquearlo y volver a iniciar Chromium.</translation>
 <translation id="469338717132742108">Obtener ayuda con el Sistema operativo Chromium</translation>
 <translation id="4708774505295300557">Alguien accedió anteriormente a Chromium en esta computadora como <ph name="ACCOUNT_EMAIL_LAST" />. Crea un usuario de Chromium nuevo para mantener tu información por separado.</translation>
-<translation id="4745225042341419983">Los datos de navegación de este espacio se borrarán de este dispositivo. Para recuperarlos, accede a Chromium como</translation>
 <translation id="4746050847053251315">¿Deseas salir de Chromium de todos modos?</translation>
 <translation id="4748217263233248895">Se acaba de instalar una actualización de seguridad especial para Chromium. Reinícialo ahora (se restablecerán tus pestañas).</translation>
 <translation id="4750035648288509542">Falta poco para finalizar el proceso. Reinicia Chromium para completar la actualización. No se volverán a abrir las ventanas de incógnito.</translation>
@@ -104,7 +102,6 @@
 <translation id="4943838377383847465">Chromium está en modo de segundo plano</translation>
 <translation id="4987820182225656817">Los invitados pueden utilizar Chromium sin dejar nada detrás.</translation>
 <translation id="4994636714258228724">Agregarte a Chromium</translation>
-<translation id="5053724573690775822">¿Deseas crear un nuevo espacio de trabajo de Chromium?</translation>
 <translation id="5224391634244552924">No hay contraseñas guardadas. Chromium puede revisar las contraseñas cuando las guardas.</translation>
 <translation id="5277894862589591112">Para aplicar los cambios, vuelve a ejecutar Chromium</translation>
 <translation id="5358375970380395591">Estás por acceder con una cuenta administrada, lo que significa que proporcionarás al administrador el control sobre tu perfil de Chromium. Tus datos de Chromium, como las aplicaciones, los favoritos, el historial, las contraseñas y otros parámetros de configuración quedarán vinculados a <ph name="USER_NAME" /> de forma permanente. Podrás eliminar estos datos a través del Panel de control de Cuentas de Google, pero no podrás asociarlos a otra cuenta. <ph name="LEARN_MORE" /></translation>
@@ -114,7 +111,6 @@
 <translation id="5416696090975899932">Chromium no puede mostrar la vista previa de impresión si falta el visor de PDF incorporado.</translation>
 <translation id="5427571867875391349">Establecer Chromium como navegador predeterminado</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" />: Versión Beta de Chromium</translation>
-<translation id="544968170749360982">Accediste con una cuenta nueva en el espacio de <ph name="EXISTING_USER" />. ¿Deseas crear un nuevo espacio de Chromium para <ph name="NEW_USER" /> a fin de que se conserven separados tus datos?</translation>
 <translation id="5479196819031988440">El Sistema operativo Chromium no puede abrir esta página.</translation>
 <translation id="5480860683791598150">Chromium necesita acceder a tu ubicación para compartirla con este sitio</translation>
 <translation id="549669000822060376">Espera mientras Chromium instala las últimas actualizaciones del sistema.</translation>
@@ -137,7 +133,6 @@
 <translation id="608189560609172163">Chromium no pudo sincronizar los datos porque se produjo un error de acceso.</translation>
 <translation id="6096348254544841612">Personaliza y controla Chromium. Hay una actualización disponible.</translation>
 <translation id="6120345080069858279">Chromium guardará esta contraseña en tu cuenta de Google, por lo que no tendrás que recordarla.</translation>
-<translation id="6128834065531097268">Accediste con una cuenta de trabajo en el espacio de <ph name="EXISTING_USER" />. ¿Deseas crear un nuevo espacio de Chromium para <ph name="WORK_DOMAIN" /> a fin de que se conserven separados tus datos?</translation>
 <translation id="6129621093834146363">Chromium bloqueó <ph name="FILE_NAME" /> porque es un archivo peligroso.</translation>
 <translation id="6134968993075716475">La Navegación segura está desactivada. Chromium recomienda activarla.</translation>
 <translation id="6212496753309875659">Este equipo ya tiene una versión más reciente de Chromium. Si el software no funciona, desinstala Chromium y vuelve a intentarlo.</translation>
@@ -195,7 +190,6 @@
 <translation id="7561906087460245826">También borrar los datos de Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Si no ves una opción de configuración en esta página, consulta la <ph name="LINK_BEGIN" />
       configuración del Sistema operativo Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Accediste con una cuenta de trabajo. ¿Deseas crear un nuevo espacio de Chromium para <ph name="NEW_USER" /> a fin de que se conserven separados tus datos personales?</translation>
 <translation id="761356813943268536">Chromium está usando tu cámara y tu micrófono.</translation>
 <translation id="7617377681829253106">Chromium mejorado</translation>
 <translation id="7628001322379820951">Chromium encontró software dañino en tu computadora</translation>
@@ -213,7 +207,6 @@
 <translation id="7975919845073681630">Como esta es una instalación secundaria de Chromium, no puede establecerse como tu navegador predeterminado.</translation>
 <translation id="7979877361127045932">Ocultar en el menú de Chromium</translation>
 <translation id="8013436988911883588">Una vez que Chromium tenga acceso, los sitios web podrán solicitarte acceso.</translation>
-<translation id="8022442821873033760">Configura tu nuevo espacio de Chromium</translation>
 <translation id="81770708095080097">Chromium bloqueó este archivo porque es peligroso.</translation>
 <translation id="8248265253516264921">Si una imagen no tiene una descripción útil, Chromium intentará proporcionarte una. Para crear descripciones, se envían las imágenes a Google. Puedes desactivar esta opción en la configuración en cualquier momento.</translation>
 <translation id="8266560134891435528">Chromium no puede revisar las contraseñas porque no accediste a tu cuenta</translation>
@@ -224,7 +217,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Reinicia Chromium en el transcurso de un día}other{Reinicia Chromium en el transcurso de # días}}</translation>
 <translation id="8453117565092476964">El instalador está dañado o no es válido. Descarga Chromium nuevamente.</translation>
 <translation id="8493179195440786826">Chromium no actualizado</translation>
-<translation id="8545858702702650646">Elige tu espacio de Chromium</translation>
 <translation id="8558383651099478961">Tu padre o madre desactivaron la opción "Permisos para sitios, apps y extensiones" para Chromium. No se permite agregar esta <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium puede revisar las contraseñas solo cuando accedes con tu Cuenta de Google</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Los autores de Chromium. Todos los derechos reservados.</translation>
@@ -250,7 +242,6 @@
 <translation id="9158494823179993217">El administrador del sistema configuró Chromium de manera que abriera un navegador alternativo para acceder a <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium busca software no deseado una vez a la semana. Última verificación: hace un momento.</translation>
 <translation id="9190841055450128916">Chromium (tráfico mDNS entrante)</translation>
-<translation id="9191317372410544836">Usa los espacios de Chromium para organizar tu forma de navegar en este dispositivo</translation>
 <translation id="93478295209880648">Es posible que Chromium no funcione correctamente porque ya no es compatible con Windows XP ni Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> requiere que leas y aceptes las siguientes Condiciones del Servicio antes de usar este dispositivo. Estas condiciones no amplían, modifican ni limitan las Condiciones de Chromium OS.</translation>
 <translation id="985602178874221306">Los creadores de Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_es.xtb b/chrome/app/resources/chromium_strings_es.xtb
index a32dffe..826e19e 100644
--- a/chrome/app/resources/chromium_strings_es.xtb
+++ b/chrome/app/resources/chromium_strings_es.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Opcional: Envía datos de uso y diagnóstico automáticamente a Google para ayudarnos a mejorar las funciones y el rendimiento de Chromium OS.</translation>
 <translation id="2347108572062610441">Esta extensión ha cambiado la página que se muestra al iniciar Chromium.</translation>
 <translation id="2396765026452590966">La extensión <ph name="EXTENSION_NAME" /> ha cambiado la página que se muestra al iniciar Chromium.</translation>
-<translation id="2442081746662839303">¿Crear espacio Chromium para <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">En Chromium</translation>
 <translation id="2485422356828889247">Desinstalar</translation>
 <translation id="2527042973354814951">Reiniciar Chromium para habilitar <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Parece que otro proceso de Chromium (<ph name="PROCESS_ID" />) está utilizando el perfil en otro ordenador (<ph name="HOST_NAME" />). Chromium ha bloqueado el perfil para que no se dañe. Si estás seguro de que ningún otro proceso está utilizando este perfil, puedes desbloquearlo y volver a iniciar Chromium.</translation>
 <translation id="469338717132742108">Obtener ayuda de Chromium OS</translation>
 <translation id="4708774505295300557">Otro usuario ha iniciado sesión anteriormente en Chromium con la cuenta <ph name="ACCOUNT_EMAIL_LAST" /> a través de este ordenador. Debes crear un usuario de Chromium para proteger tu información.</translation>
-<translation id="4745225042341419983">Los datos de navegación de este espacio se eliminarán de este dispositivo. Para recuperar los datos, inicia sesión en Chromium como</translation>
 <translation id="4746050847053251315">¿Quieres cerrar Chromium de todas formas?</translation>
 <translation id="4748217263233248895">Se acaba de instalar una actualización de seguridad especial para Chromium. Reinicia ahora y restauraremos las pestañas.</translation>
 <translation id="4750035648288509542">La actualización ya casi ha terminado. Reinicia Chromium para completar la actualización. Las ventanas de incógnito no se volverán a abrir.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium está en modo de segundo plano.</translation>
 <translation id="4987820182225656817">Los invitados pueden utilizar Chromium sin dejar nada atrás.</translation>
 <translation id="4994636714258228724">Añadirte a Chromium</translation>
-<translation id="5053724573690775822">¿Crear espacio de trabajo Chromium?</translation>
 <translation id="5224391634244552924">No hay ninguna contraseña guardada. Chromium puede comprobar tus contraseñas si las guardas.</translation>
 <translation id="5277894862589591112">Reinicia Chromium para aplicar los cambios</translation>
 <translation id="5358375970380395591">Vas a iniciar sesión con una cuenta gestionada, lo que significa que proporcionarás a su administrador control sobre tu perfil de Chromium. Tus datos de Chromium como, por ejemplo, tus aplicaciones, tus marcadores, tu historial, tus contraseñas y otras opciones se vincularán de forma permanente a la cuenta <ph name="USER_NAME" />. Podrás eliminar estos datos a través del Panel de control de cuentas de Google, pero no podrás asociarlos a otra cuenta. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium no puede mostrar la vista previa de impresión si falta el visor de PDF integrado.</translation>
 <translation id="5427571867875391349">Establecer Chromium como navegador predeterminado</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> ‑ Chromium Beta</translation>
-<translation id="544968170749360982">Has iniciado sesión con otra cuenta en el espacio de <ph name="EXISTING_USER" />. ¿Quieres crear un espacio Chromium para <ph name="NEW_USER" /> y mantener tus datos de forma separada?</translation>
 <translation id="5479196819031988440">Chromium OS no puede abrir esta página.</translation>
 <translation id="5480860683791598150">Chromium necesita acceder a tu ubicación para compartirla con este sitio web</translation>
 <translation id="549669000822060376">Espera mientras Chromium instala las últimas actualizaciones del sistema.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium no ha podido sincronizar los datos debido a un error de inicio de sesión.</translation>
 <translation id="6096348254544841612">Personaliza y controla Chromium. Hay una actualización disponible.</translation>
 <translation id="6120345080069858279">Chromium guardará esta contraseña en tu cuenta de Google para que no tengas que recordarla.</translation>
-<translation id="6128834065531097268">Has iniciado sesión con una cuenta de trabajo en el espacio de <ph name="EXISTING_USER" />. ¿Quieres crear un espacio Chromium para <ph name="WORK_DOMAIN" /> y mantener tus datos de forma separada?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> es peligroso, por lo que Chromium lo ha bloqueado.</translation>
 <translation id="6134968993075716475">La función Navegación Segura está desactivada. Chromium recomienda activarla.</translation>
 <translation id="6212496753309875659">Este ordenador ya cuenta con una versión más reciente de Chromium. Si el software no funciona, desinstala Chromium y vuelve a intentarlo.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Borrar también los datos de Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Si no se muestra algún ajuste en esta página, consulta la <ph name="LINK_BEGIN" />
       configuración de Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Has iniciado sesión con una cuenta de trabajo. ¿Quieres crear un espacio Chromium para <ph name="NEW_USER" /> y mantener tus datos de forma separada?</translation>
 <translation id="761356813943268536">Chromium está utilizando la cámara y el micrófono.</translation>
 <translation id="7617377681829253106">Chromium mejor que nunca</translation>
 <translation id="7628001322379820951">Chromium ha detectado software dañino en tu ordenador</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Esta instalación de Chromium es secundaria, por lo que no se puede establecer como navegador predeterminado.</translation>
 <translation id="7979877361127045932">Ocultar en el menú de Chromium</translation>
 <translation id="8013436988911883588">Una vez que Chromium tenga acceso, los sitios web podrán solicitarlo también.</translation>
-<translation id="8022442821873033760">Configura tu nuevo Espacio Chromium</translation>
 <translation id="81770708095080097">Este archivo es peligroso, por lo que Chromium lo ha bloqueado.</translation>
 <translation id="8248265253516264921">Si una imagen no tiene ninguna descripción útil, Chromium intentará proporcionártela. Para crear las descripciones, las imágenes se envían a Google. Puedes desactivar esta opción cuando quieras desde la configuración.</translation>
 <translation id="8266560134891435528">Chromium no puede comprobar tus contraseñas porque no has iniciado sesión</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Reinicia Chromium en el próximo día}other{Reinicia Chromium en los próximos # días}}</translation>
 <translation id="8453117565092476964">El archivo de instalación está dañado o no es válido. Vuelve a descargar Chromium.</translation>
 <translation id="8493179195440786826">Chromium no está actualizado</translation>
-<translation id="8545858702702650646">Elige tu Espacio Chromium</translation>
 <translation id="8558383651099478961">Tus padres han desactivado "Permisos de sitios web, aplicaciones y extensiones" en Chromium. No se permite añadir <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium puede comprobar tus contraseñas si inicias sesión con tu cuenta de Google</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Los creadores de Chromium. Todos los derechos reservados.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">El administrador del sistema ha configurado Chromium para que abra otro navegador al acceder a <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium comprueba si hay software no deseado una vez a la semana. Última comprobación: hace un momento.</translation>
 <translation id="9190841055450128916">Chromium (tráfico mDNS entrante)</translation>
-<translation id="9191317372410544836">Usa los Espacios Chromium para navegar de forma organizada en este dispositivo</translation>
 <translation id="93478295209880648">Es posible que Chromium no funcione correctamente porque ya no es compatible con Windows XP ni Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> requiere que leas y aceptes las siguientes Condiciones de Servicio para poder utilizar este dispositivo. Estas condiciones no amplían, modifican ni limitan los términos de Chromium OS.</translation>
 <translation id="985602178874221306">Los creadores de Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_et.xtb b/chrome/app/resources/chromium_strings_et.xtb
index 38dbcfb5..db514c5 100644
--- a/chrome/app/resources/chromium_strings_et.xtb
+++ b/chrome/app/resources/chromium_strings_et.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Valikuline. Aidake Chromium OS-i funktsioone ning toimivust täiustada, saates Google'ile automaatselt diagnostika- ja kasutusandmeid.</translation>
 <translation id="2347108572062610441">See laiendus muutis seda, milline leht kuvatakse Chromiumi käivitamisel.</translation>
 <translation id="2396765026452590966">Laiendus „<ph name="EXTENSION_NAME" />” muutis seda, milline leht kuvatakse Chromiumi käivitamisel.</translation>
-<translation id="2442081746662839303">Kas luua kasutajale <ph name="NEW_USER" /> uus Chromiumi ruum?</translation>
 <translation id="2483889755041906834">Chromiumis</translation>
 <translation id="2485422356828889247">Desinstalli</translation>
 <translation id="2527042973354814951">Taaskäivitage pistikprogrammi <ph name="PLUGIN_NAME" /> lubamiseks Chromium</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Näib, et profiili kasutab Chromiumi muu protsess (<ph name="PROCESS_ID" />) mingis muus arvutis (<ph name="HOST_NAME" />). Chromium on profiili lukustanud, et seda ei saaks rikkuda. Kui olete kindel, et ükski muu protsess seda profiili ei kasuta, saate profiili avada ja Chromiumi taaskäivitada.</translation>
 <translation id="469338717132742108">Chromium OS-i puhul abi hankimine</translation>
 <translation id="4708774505295300557">Keegi on varem selles arvutis Chromiumi sisse loginud kasutajana <ph name="ACCOUNT_EMAIL_LAST" />. Looge uus Chromiumi kasutaja, et oma teave eraldi hoida.</translation>
-<translation id="4745225042341419983">Selle ruumi sirvimisandmed kustutatakse sellest seadmest. Andmete taastamiseks logige Chromiumi sisse kasutajana</translation>
 <translation id="4746050847053251315">Kas väljuda Chromiumist ikkagi?</translation>
 <translation id="4748217263233248895">Äsja rakendati Chromiumi spetsiaalne turvavärskendus. Taaskäivitage brauser, misjärel teie vahelehed taastatakse.</translation>
 <translation id="4750035648288509542">Peaaegu värskendatud! Värskendamise lõpuleviimiseks taaskäivitage Chromium. Inkognito aknaid ei avata uuesti.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium on taustarežiimis.</translation>
 <translation id="4987820182225656817">Külastajad saavad kasutada Chromiumi jälgi jätmata.</translation>
 <translation id="4994636714258228724">Lisa Chromiumi</translation>
-<translation id="5053724573690775822">Kas luua uus Chromiumi tööruum?</translation>
 <translation id="5224391634244552924">Salvestatud paroole ei ole. Chromium saab teie paroole kontrollida, kui olete need salvestanud.</translation>
 <translation id="5277894862589591112">Muudatuste rakendamiseks käivitage Chromium uuesti</translation>
 <translation id="5358375970380395591">Logite sisse hallatud kontoga ja annate selle administraatorile üle Chromiumi profiili juhtimise. Teie Chromiumi andmed, näiteks rakendused, järjehoidjad, ajalugu, paroolid ja muud seaded seotakse jäädavalt kasutajaga <ph name="USER_NAME" />. Saate need andmed kustutada Google'i kontode juhtpaneeli kaudu, kuid te ei saa neid seostada teise kontoga. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium ei saa printimise eelvaadet kuvada, kui sisseehitatud PDF-vaatur puudub.</translation>
 <translation id="5427571867875391349">Määra Chromium vaikebrauseriks</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromiumi beetaversioon</translation>
-<translation id="544968170749360982">Logisite kasutaja <ph name="EXISTING_USER" /> ruumis sisse uue kontoga. Kas soovite kasutaja <ph name="NEW_USER" /> jaoks luua uue Chromiumi ruumi, et oma andmed eraldi hoida?</translation>
 <translation id="5479196819031988440">Chromium OS ei saa seda lehte avada.</translation>
 <translation id="5480860683791598150">Chromium vajab juurdepääsu teie asukohale, et seda selle saidiga jagada</translation>
 <translation id="549669000822060376">Oodake, kuni Chromium installib uusimad süsteemivärskendused.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium ei saanud sisselogimisvea tõttu teie andmeid sünkroonida.</translation>
 <translation id="6096348254544841612">Kohandage ja juhtige Chromiumi. Saadaval on värskendus.</translation>
 <translation id="6120345080069858279">Chromium salvestab selle parooli teie Google'i kontole. Te ei pea seda meeles pidama.</translation>
-<translation id="6128834065531097268">Logisite kasutaja <ph name="EXISTING_USER" /> ruumis sisse töökontoga. Kas soovite domeeni <ph name="WORK_DOMAIN" /> jaoks luua uue Chromiumi ruumi, et oma andmed eraldi hoida?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> on ohtlik, mistõttu Chromium blokeeris selle.</translation>
 <translation id="6134968993075716475">Google'i ohutu sirvimine on välja lülitatud. Chromium soovitab selle sisse lülitada.</translation>
 <translation id="6212496753309875659">Arvutis on juba Chromiumi uuem versioon. Kui tarkvara ei tööta, siis desinstallige Chromium ja proovige uuesti.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Kustuta andmed ka Chromiumist (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Kui seadet sellel lehel ei kuvata, vaadake oma <ph name="LINK_BEGIN" />
       Chromium OS-i seadeid<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Logisite sisse töökontoga. Kas soovite kasutaja <ph name="NEW_USER" /> jaoks luua uue Chromiumi ruumi, et oma isiklikud andmed eraldi hoida?</translation>
 <translation id="761356813943268536">Chromium kasutab kaamerat ja mikrofoni.</translation>
 <translation id="7617377681829253106">Chromium muutus just paremaks</translation>
 <translation id="7628001322379820951">Chromium leidis teie arvutist kahjulikku tarkvara</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">See on Chromiumi sekundaarne install ja seda ei saa määrata vaikebrauseriks.</translation>
 <translation id="7979877361127045932">Chromiumi menüüs peitmine</translation>
 <translation id="8013436988911883588">Kui annate Chromiumile juurdepääsu, saavad veebisaidid küsida teilt juurdepääsuluba.</translation>
-<translation id="8022442821873033760">Uue Chromiumi ruumi seadistamine</translation>
 <translation id="81770708095080097">Chromium blokeeris faili, kuna see on ohtlik.</translation>
 <translation id="8248265253516264921">Kui pildil puudub kasulik kirjeldus, üritab Chromium selle ise luua. Kirjelduste loomiseks saadetakse pildid Google'ile. Võite selle seadetes igal ajal välja lülitada.</translation>
 <translation id="8266560134891435528">Chromium ei saa teie paroole kontrollida, kuna te pole sisse logitud</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Käivitage Chromium uuesti päeva jooksul}other{Käivitage Chromium uuesti # päeva jooksul}}</translation>
 <translation id="8453117565092476964">Installeri arhiiv on rikutud või kehtetu. Laadige Chromium uuesti alla.</translation>
 <translation id="8493179195440786826">Chromium on aegunud</translation>
-<translation id="8545858702702650646">Chromiumi ruumi valimine</translation>
 <translation id="8558383651099478961">Sinu vanem lülitas valiku „Saitide, rakenduste ja laienduste load” Chromiumi puhul välja. Laienduse <ph name="EXTENSION_TYPE_PARAMETER" /> lubamine on keelatud.</translation>
 <translation id="8568283329061645092">Chromium saab teie paroole kontrollida siis, kui logite sisse oma Google'i kontoga</translation>
 <translation id="8586442755830160949">Autoriõigus <ph name="YEAR" /> The Chromium Authors. Kõik õigused on kaitstud.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Teie süsteemiadministraator on konfigureerinud Chromiumi avama alternatiivset brauserit, et saada juurdepääs lehele <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium kontrollib soovimatu tarkvara olemasolu kord nädalas. Viimati kontrolliti: hetk tagasi</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Kasutage Chromiumi ruume, et oma sirvimist selles seadmes korrastatuna hoida</translation>
 <translation id="93478295209880648">Chromium ei pruugi õigesti töötada, kuna seda ei toetata enam Windows XP-s ega Windows Vistas</translation>
 <translation id="95514773681268843">Domeen <ph name="DOMAIN" /> nõuab, et loete enne selle seadme kasutamist läbi järgmised teenusetingimused ja nõustute nendega. Need tingimused ei laienda, muuda ega piira Chromium OS-i tingimusi.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_eu.xtb b/chrome/app/resources/chromium_strings_eu.xtb
index d07ee89..a8d93b6f 100644
--- a/chrome/app/resources/chromium_strings_eu.xtb
+++ b/chrome/app/resources/chromium_strings_eu.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Aukerakoa: lagundu Chromium OS sistemaren eginbideak eta funtzionamendua hobetzen Google-ri diagnostikoak eta erabilera-datuak automatikoki bidalita.</translation>
 <translation id="2347108572062610441">Luzapenak aldatu egin du Chromium abiarazten duzunean agertzen den orria.</translation>
 <translation id="2396765026452590966"><ph name="EXTENSION_NAME" /> luzapenak aldatu egin du Chromium abiarazten duzunean agertzen den orria.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> erabiltzailearentzat Chromium-eko eremu bat sortu nahi duzu?</translation>
 <translation id="2483889755041906834">Chromium-en</translation>
 <translation id="2485422356828889247">Desinstalatu</translation>
 <translation id="2527042973354814951">Berrabiarazi Chromium <ph name="PLUGIN_NAME" /> gaitzeko</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Beste Chromium prozesu bat (<ph name="PROCESS_ID" />) beste ordenagailu batean (<ph name="HOST_NAME" />) profila erabiltzen ari dela dirudi. Chromium-ek profila blokeatu du honda ez dadin. Ziur badakizu ez dela beste inongo prozesurik profila erabiltzen ari, profila desblokea dezakezu eta Chromium berrabiarazi.</translation>
 <translation id="469338717132742108">Lortu Chromium sistema eragilea erabiltzeko laguntza</translation>
 <translation id="4708774505295300557">Norbaitek <ph name="ACCOUNT_EMAIL_LAST" /> gisa hasi du saioa Chromium-en ordenagailu hau erabilita. Zure informazioa bereizita izateko, sortu beste Chromium erabiltzaile bat.</translation>
-<translation id="4745225042341419983">Eremu honetako arakatze-datuak gailutik ezabatuko dira. Haiek berreskuratzeko, hasi saioa Chromium-en kontu honekin:</translation>
 <translation id="4746050847053251315">Chromium-etik irten nahi duzu hala ere?</translation>
 <translation id="4748217263233248895">Chromium-en segurtasun-eguneratze berezi bat aplikatu berri da. Berrabiarazi gailua, eta fitxak leheneratuko dizkizugu.</translation>
 <translation id="4750035648288509542">Ia amaitu dugu eguneratzen. Abiarazi berriro Chromium eguneratzen amaitzeko. Ezkutuko moduko leihoak ez dira berriro irekiko.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium atzeko planoko moduan dago.</translation>
 <translation id="4987820182225656817">Gonbidatuek Chromium erabil dezakete aztarnarik utzi gabe.</translation>
 <translation id="4994636714258228724">Gaitu zure burua Chromium-en</translation>
-<translation id="5053724573690775822">Chromium-eko laneko eremu bat sortu nahi duzu?</translation>
 <translation id="5224391634244552924">Ez dago pasahitzik gordeta. Gordeta dituzun pasahitzak egiaztatu egin ditzake Chromium-ek.</translation>
 <translation id="5277894862589591112">Aldaketak aplikatzeko, berrabiarazi Chromium</translation>
 <translation id="5358375970380395591">Kontu kudeatu batekin hasten ari zara saioa eta kontuaren administratzaileari zure Chromium profila kontrolatzeko ahalmena ematera zoaz. Chromium aplikazioan dituzun datuak, esaterako, aplikazioak, laster-markak, historia, pasahitzak eta beste ezarpen batzuk betiko lotuko zaizkio <ph name="USER_NAME" /> erabiltzaileari. Google-ko kontuetako Panelaren bidez ezabatu ahalko dituzu datu horiek, baina ezingo dituzu beste kontu batekin lotu. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium-ek ezin du erakutsi inprimatze-aurrebista PDF dokumentuen ikustaile integratua falta bada.</translation>
 <translation id="5427571867875391349">Ezarri Chromium arakatzaile lehenetsi gisa</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">Beste kontu batekin hasi duzu saioa <ph name="EXISTING_USER" /> erabiltzailearen eremuan. <ph name="NEW_USER" /> erabiltzailearentzat Chromium-eko eremu bat sortu nahi duzu datuak bereiz gordetzeko?</translation>
 <translation id="5479196819031988440">Chromium sistema eragileak ezin du ireki orri hau.</translation>
 <translation id="5480860683791598150">Chromium-ek zure kokapena webgune honekin partekatzeko baimena behar du</translation>
 <translation id="549669000822060376">Itxaron Chromium-ek sistemaren azken eguneratzeak instalatu arte.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Saio-hasieraren errore bat dela-eta, Chromium arakatzaileak ezin izan ditu sinkronizatu zure datuak.</translation>
 <translation id="6096348254544841612">Pertsonalizatu eta kontrolatu Chromium. Eguneratze bat erabilgarri dago.</translation>
 <translation id="6120345080069858279">Chromium-ek Google-ko kontuan gordeko du pasahitz hau. Ez duzu gogoratu beharko.</translation>
-<translation id="6128834065531097268">Laneko kontu batekin hasi duzu saioa <ph name="EXISTING_USER" /> erabiltzailearen eremuan. <ph name="WORK_DOMAIN" /> domeinurako Chromium-eko eremu bat sortu nahi duzu datuak bereiz gordetzeko?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> arriskutsua da; horregatik, blokeatu egin du Chromium-ek.</translation>
 <translation id="6134968993075716475">Arakatze segurua desaktibatuta dago. Aktibatzea gomendatzen du Chromium-ek.</translation>
 <translation id="6212496753309875659">Ordenagailuak Chromium arakatzailearen bertsio berriagoa du. Softwareak ez badu funtzionatzean, desinstalatu Chromium eta saiatu berriro.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Halaber, garbitu Chromium-eko datuak (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ezarpenen bat orri honetan agertzen ez bada, bila ezazu <ph name="LINK_BEGIN" />
       Chromium-en sistema eragilearen ezarpenetan.<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Laneko kontu batekin hasi duzu saioa. <ph name="NEW_USER" /> erabiltzailearentzat Chromium-eko eremu bat sortu nahi duzu datu pertsonalak bereiz gordetzeko?</translation>
 <translation id="761356813943268536">Chromium kamera eta mikrofonoa erabiltzen ari da.</translation>
 <translation id="7617377681829253106">Chromium hobetu egin dugu</translation>
 <translation id="7628001322379820951">Chromium-ek software kaltegarria aurkitu du ordenagailuan</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Chromium-en bigarren mailako instalazio bat da hau; beraz, ezin duzu ezarri arakatzaile lehenetsi gisa.</translation>
 <translation id="7979877361127045932">Ezkutatu Chromium menuan</translation>
 <translation id="8013436988911883588">Chromium-ek sarbidea duenean, webguneek sarbidea eskatuko dizute.</translation>
-<translation id="8022442821873033760">Konfiguratu Chromium-eko eremu berria</translation>
 <translation id="81770708095080097">Fitxategia arriskutsua da; horregatik, blokeatu egin du Chromium-ek.</translation>
 <translation id="8248265253516264921">Irudiren batek ez badu azalpen lagungarririk, halako bat lortzen ahaleginduko da Chromium. Azalpen horiek sortzeko, irudiak Google-ri bidaltzen zaizkio. Aukera hori desaktibatu nahi baduzu, joan ezarpenetara.</translation>
 <translation id="8266560134891435528">Chromium-ek ezin ditu egiaztatu pasahitzak saioa hasi ez duzulako</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Berrabiarazi Chromium egun bateko epean}other{Berrabiarazi Chromium # eguneko epean}}</translation>
 <translation id="8453117565092476964">Instalatzailearen artxiboa hondatuta dago edo baliogabea da. Deskargatu Chromium berriro.</translation>
 <translation id="8493179195440786826">Chromium zaharkituta dago</translation>
-<translation id="8545858702702650646">Hautatu zure Chromium-eko eremua</translation>
 <translation id="8558383651099478961">Zure gurasoak "Webguneen, aplikazioen eta luzapenen baimenak" desaktibatu ditu Chromium-en. Ezin da gehitu <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Google-ko kontu batekin saioa hasten duzunean egiazta ditzake Chromium-ek pasahitzak</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Chromium-en egileak. Eskubide guztiak erreserbatuta.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Sistemaren administratzailearen konfigurazioaren arabera, Chromium-ek beste arakatzaile bat ireki behar du <ph name="TARGET_URL_HOSTNAME" /> helbidera joateko.</translation>
 <translation id="9164845895615421500">Chromium-ek nahi ez den softwarerik baden begiratzen du astean behin. Duela gutxi egiaztatu du azkenengoz.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Erabili Chromium-eko eremuak gailuko arakatze-jarduerak antolatuta edukitzeko</translation>
 <translation id="93478295209880648">Chromium-ek agian ez du behar bezala funtzionatuko, jada ez baita bateragarria Windows XP eta Windows Vista-rekin</translation>
 <translation id="95514773681268843">Gailua erabili aurretik, <ph name="DOMAIN" /> domeinuak jarraian azalduko diren Zerbitzu-baldintza irakurtzeko eta onartzeko eskatzen dizu. Baldintzok ez dituzte Chromium OS Baldintzak hedatuko, aldatuko edo mugatuko.</translation>
 <translation id="985602178874221306">Chromium egileak</translation>
diff --git a/chrome/app/resources/chromium_strings_fa.xtb b/chrome/app/resources/chromium_strings_fa.xtb
index d6655988..29855ac0 100644
--- a/chrome/app/resources/chromium_strings_fa.xtb
+++ b/chrome/app/resources/chromium_strings_fa.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">‏اختیاری: با ارسال خودکار داده‌های استفاده و عیب‌یابی به Google، به بهبود ویژگی‌ها و عملکرد سیستم‌عامل Chromium کمک کنید.</translation>
 <translation id="2347108572062610441">‏این افزونه، صفحه‌ای را تغییر داده است که هنگام راه‌اندازی Chromium نشان داده می‌شود.</translation>
 <translation id="2396765026452590966">‏افزونه «<ph name="EXTENSION_NAME" />»، صفحه‌ای را تغییر داده است که هنگام راه‌اندازی Chromium نشان داده می‌شود.</translation>
-<translation id="2442081746662839303">‏فضای جدیدی در Chromium برای <ph name="NEW_USER" /> ایجاد شود؟</translation>
 <translation id="2483889755041906834">‏در Chromium</translation>
 <translation id="2485422356828889247">حذف نصب</translation>
 <translation id="2527042973354814951">‏برای فعال کردن <ph name="PLUGIN_NAME" />، ‏Chromium را راه‌اندازی مجدد کنید</translation>
@@ -95,7 +94,6 @@
 <translation id="4677944499843243528">‏ظاهراً نمایه توسط فرآیند Chromium دیگری (<ph name="PROCESS_ID" />) در رایانه‌ای دیگر (<ph name="HOST_NAME" />) در حال استفاده است. Chromium نمایه را قفل کرده است تا خراب نشود. اگر مطمئنید فرآیندهای دیگری از این نمایه استفاده نمی‌کنند، می‌توانید قفل نمایه را باز کنید و Chromium را مجدداً راه‌اندازی نمایید.</translation>
 <translation id="469338717132742108">‏دریافت کمک برای سیستم عامل Chromium</translation>
 <translation id="4708774505295300557">‏شخصی قبلاً به‌عنوان <ph name="ACCOUNT_EMAIL_LAST" /> به سیستم Chromium در این رایانه وارد شده است. برای اینکه اطلاعاتتان جدا حفظ شود، لطفاً کاربر Chrome جدیدی ایجاد کنید.</translation>
-<translation id="4745225042341419983">‏داده‌های محصول مرور این فضا از این دستگاه حذف خواهد شد. برای بازیابی داده‌ها، با حساب زیر به سیستم Chromium وارد شوید:</translation>
 <translation id="4746050847053251315">‏درهرصورت از Chromium خارج می‌شوید؟</translation>
 <translation id="4748217263233248895">‏لحظاتی پیش به‌روزرسانی امنیتی ویژه‌ای برای Chromium اعمال شد. هم‌اکنون بازراه‌اندازی کنید و ما برگه‌هایتان را بازیابی خواهیم کرد.</translation>
 <translation id="4750035648288509542">‏تقریباً به‌روزرسانی شده است! برای اتمام به‌روزرسانی، Chromium را راه‌اندازی مجدد کنید. پنجره‌های ناشناس دوباره باز نخواهند شد.</translation>
@@ -105,7 +103,6 @@
 <translation id="4943838377383847465">‏Chromium در حالت پس‌زمینه است.</translation>
 <translation id="4987820182225656817">‏مهمان‌ها می توانند از Chromium استفاده کنند بدون این‌که اثری از خود به جا بگذارند.</translation>
 <translation id="4994636714258228724">‏افرودن خودتان به Chromium</translation>
-<translation id="5053724573690775822">‏«فضای کاری» جدیدی در Chromium ایجاد شود؟</translation>
 <translation id="5224391634244552924">‏گذرواژه ذخیره‌شده‌ای وجود ندارد. Chromium زمانی می‌تواند گذرواژه‌هایتان را بررسی کند که آن‌ها را ذخیره کرده باشید.</translation>
 <translation id="5277894862589591112">‏برای اعمال تغییراتتان، Chromium را راه‌اندازی مجدد کنید</translation>
 <translation id="5358375970380395591">‏شما با حساب مدیریت‌شده وارد سیستم می‌شوید و به سرپرست آن اجازه کنترل بر نمایه Chromium خود را می‌دهید. داده‌های Chromium شما شامل برنامه‌ها، نشانک‌ها، سابقه، گذرواژه‌ها و سایر تنظیمات برای همیشه به <ph name="USER_NAME" /> مرتبط خواهد شد. می‌توانید این داده‌ها را از طریق داشبورد حساب‌های Google حذف کنید اما نمی‌توانید این داده‌ها را به حساب دیگری مرتبط سازید. <ph name="LEARN_MORE" /></translation>
@@ -115,7 +112,6 @@
 <translation id="5416696090975899932">‏وقتی نمایشگر داخلی PDF وجود نداشته باشد، Chromium نمی‌تواند پیش‌نمای چاپ را نشان دهد.</translation>
 <translation id="5427571867875391349">‏تنظیم Chromium به عنوان مرورگر پیش‌فرضتان</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">‏با حساب جدیدی در فضای <ph name="EXISTING_USER" /> به سیستم وارد شدید. مایلید فضای جدیدی در Chromium برای <ph name="NEW_USER" /> ایجاد کنید تا داده‌هایتان به‌صورت جداگانه نگهداری شود؟</translation>
 <translation id="5479196819031988440">‏Chromium OS نمی‌تواند این صفحه را باز کند.</translation>
 <translation id="5480860683791598150">‏Chromium برای هم‌رسانی مکانتان با این سایت باید به مکان شما دسترسی داشته باشد</translation>
 <translation id="549669000822060376">‏وقتی Chromium جدیدترین به‌روزرسانی‌های سیستم را نصب می‌کند، لطفاً صبر کنید.</translation>
@@ -138,7 +134,6 @@
 <translation id="608189560609172163">‏به دلیل وجود خطا در ورود به سیستم، Chromium قادر به همگام‌سازی داده‌های شما نبود.</translation>
 <translation id="6096348254544841612">‏سفارشی کردن و کنترل Chromium. به‌روزرسانی‌ در دسترس است.</translation>
 <translation id="6120345080069858279">‏Chromium این گذرواژه را در حساب Google شما ذخیره می‌کند. لازم نیست آن را به خاطر بسپارید.</translation>
-<translation id="6128834065531097268">‏با «حساب کاری» در فضای <ph name="EXISTING_USER" /> به سیستم وارد شدید. مایلید فضای جدیدی در Chromium برای <ph name="WORK_DOMAIN" /> ایجاد کنید تا داده‌هایتان به‌صورت جداگانه نگهداری شود؟</translation>
 <translation id="6129621093834146363">‏<ph name="FILE_NAME" /> خطرناک است، بنابراین Chromium آن را مسدود کرده است.</translation>
 <translation id="6134968993075716475">‏«مرور ایمن» خاموش است. Chromium توصیه می‌کند آن را روشن کنید.</translation>
 <translation id="6212496753309875659">‏این رایانه در حال حاضر دارای یک نسخه جدیدتر از Chromium است. درصورتی‌که نرم‌افزار کار نمی‌کند، لطفاً Chromium را حذف نصب کنید و دوباره سعی کنید.</translation>
@@ -199,7 +194,6 @@
 <translation id="7561906087460245826">‏همچنین داده‌ها از Chromium پاک شود (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">‏اگر تنظیمی در این صفحه نشان داده نمی‌شود، در <ph name="LINK_BEGIN" />
       تنظیمات مرورگر Chromium<ph name="LINK_END" /> آن را کنید</translation>
-<translation id="7607142834923530546">‏با حساب کاری به سیستم وارد شدید. مایلید فضای جدیدی در Chromium برای <ph name="NEW_USER" /> ایجاد کنید تا داده‌های شخصی‌تان به‌صورت جداگانه نگهداری شود؟</translation>
 <translation id="761356813943268536">‏Chromium درحال استفاده از دوربین و میکروفون شما است.</translation>
 <translation id="7617377681829253106">‏Chromium اکنون بهتر شده است</translation>
 <translation id="7628001322379820951">‏Chromium نرم‌افزار مضری در رایانه‌تان پیدا کرده است</translation>
@@ -217,7 +211,6 @@
 <translation id="7975919845073681630">‏این نصب ثانویه Chromium است و نمی‌تواند مرورگر پیش‌فرضتان شود.</translation>
 <translation id="7979877361127045932">‏پنهان در منوی Chromium</translation>
 <translation id="8013436988911883588">‏وقتی Chromium دسترسی داشته باشد، وب‌سایت‌ها می‌توانند مجوز دسترسی درخواست کنند.</translation>
-<translation id="8022442821873033760">‏«فضای Chromium» جدید را راه‌اندازی کنید</translation>
 <translation id="81770708095080097">‏این فایل خطرناک است، بنابراین Chromium آن را مسدود کرده است.</translation>
 <translation id="8248265253516264921">‏اگر تصویری توضیح مفیدی نداشته باشد، Chromium توضیحی برای شما ارائه خواهد کرد. برای ایجاد توضیحات، تصاویر به Google ارسال می‌شود. هروقت خواستید می‌توانید این گزینه را در تنظیمات خاموش کنید.</translation>
 <translation id="8266560134891435528">‏چون به سیستم وارد نشده‌اید، Chromium نمی‌تواند گذرواژه‌هایتان را بررسی کند</translation>
@@ -228,7 +221,6 @@
 <translation id="8417404458978023919">{0,plural, =1{‏Chromium را ظرف یک روز راه‌اندازی مجدد کنید}one{‏Chromium را ظرف # روز راه‌اندازی مجدد کنید}other{‏Chromium را ظرف # روز راه‌اندازی مجدد کنید}}</translation>
 <translation id="8453117565092476964">‏بایگانی نصب‌کننده خراب یا نامعتبر است. لطفاً Chromium را دوباره را بارگیری کنید.</translation>
 <translation id="8493179195440786826">‏نسخه Chromium قدیمی است</translation>
-<translation id="8545858702702650646">‏انتخاب «فضای Chromium»</translation>
 <translation id="8558383651099478961">‏ولی‌تان «اجازه‌های مربوط به سایت‌ها، برنامه‌ها، و افزونه‌ها» را برای Chromium خاموش کرده است. افزودن این <ph name="EXTENSION_TYPE_PARAMETER" /> مجاز نیست.</translation>
 <translation id="8568283329061645092">‏وقتی با «حساب Google» خود به سیستم وارد می‌شوید، Chromium می‌تواند گذرواژه‌هایتان را بررسی کند</translation>
 <translation id="8586442755830160949">‏حق نسخه‌برداری <ph name="YEAR" /> نویسندگان Chromium. کلیه حقوق محفوظ است.</translation>
@@ -254,7 +246,6 @@
 <translation id="9158494823179993217">‏سرپرست سیستم شما برای باز شدن مرورگر جایگزین برای دسترسی به <ph name="TARGET_URL_HOSTNAME" />، Chromium را پیکربندی کرده است.</translation>
 <translation id="9164845895615421500">‏Chromium هفته‌ای یک‌بار وجود نرم‌افزارهای ناخواسته را بررسی می‌کند. آخرین بررسی: چند لحظه قبل.</translation>
 <translation id="9190841055450128916">‏Chromium‏ (mDNS ورودی)</translation>
-<translation id="9191317372410544836">‏بااستفاده از «فضاهای Chromium»، مرورتان را در این دستگاه سازمان‌دهی کنید</translation>
 <translation id="93478295209880648">‏Chromium ممکن است درست کار نکند زیرا دیگر در Windows XP یا Windows Vista پشتیبانی نمی‌شود</translation>
 <translation id="95514773681268843">‏<ph name="DOMAIN" /> از شما می‌خواهد قبل از استفاده از دستگاه، شرایط خدمات زیر را خوانده و بپذیرید. این شرایط بسط داده نمی‌شوند، اصلاح نمی‌شوند و شرایط سیستم عامل Chromium را محدود نمی‌کنند.</translation>
 <translation id="985602178874221306">Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_fi.xtb b/chrome/app/resources/chromium_strings_fi.xtb
index d204b6e..e38b497f 100644
--- a/chrome/app/resources/chromium_strings_fi.xtb
+++ b/chrome/app/resources/chromium_strings_fi.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Valinnainen: Auta parantamaan Chromium-käyttöjärjestelmän ominaisuuksia ja suorituskykyä lähettämällä automaattisesti diagnostiikka- ja käyttödataa Googlelle.</translation>
 <translation id="2347108572062610441">Tämä laajennus on vaihtanut Chromiumin aloitussivun.</translation>
 <translation id="2396765026452590966">Laajennus <ph name="EXTENSION_NAME" /> on vaihtanut Chromiumin aloitussivun.</translation>
-<translation id="2442081746662839303">Luodaanko käyttäjälle <ph name="NEW_USER" /> uusi Chromium-tila?</translation>
 <translation id="2483889755041906834">Chromiumissa</translation>
 <translation id="2485422356828889247">Poista</translation>
 <translation id="2527042973354814951">Käynnistä Chromium uudelleen, jotta <ph name="PLUGIN_NAME" /> voidaan ottaa käyttöön.</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Profiili näyttäisi olevan toisen Chromium-prosessin (<ph name="PROCESS_ID" />) käytössä toisella tietokoneella (<ph name="HOST_NAME" />). Chromium on lukinnut profiilin, jotta se ei vioitu. Jos olet varma, että mikään toinen prosessi ei käytä tätä profiilia, voit poistaa profiilin lukituksen ja käynnistää Chromiumin uudelleen.</translation>
 <translation id="469338717132742108">Ohjeita Chromium-käyttöjärjestelmän käyttöön</translation>
 <translation id="4708774505295300557">Joku on jo kirjautunut tällä tietokoneella Chromiumiin käyttäjätilillä <ph name="ACCOUNT_EMAIL_LAST" />. Luo uusi Chromium-käyttäjä, jos haluat pitää tiedot erillään.</translation>
-<translation id="4745225042341419983">Tämän tilan selausdata poistetaan tältä laitteelta. Jos haluat palauttaa datan myöhemmin, kirjaudu Chromiumiin käyttäjänä</translation>
 <translation id="4746050847053251315">Suljetaanko Chromium silti?</translation>
 <translation id="4748217263233248895">Chromiumin tärkeä tietoturvapäivitys on asennettu. Käynnistä selain uudelleen – palautamme avoimet välilehdet.</translation>
 <translation id="4750035648288509542">Melkein ajan tasalla. Viimeistele päivitys käynnistämällä Chromium uudelleen. Incognito-ikkunoita ei avata uudelleen.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium on käynnissä taustalla</translation>
 <translation id="4987820182225656817">Vierailijat voivat käyttää Chromiumia jälkiä jättämättä.</translation>
 <translation id="4994636714258228724">Lisää itsesi Chromiumiin</translation>
-<translation id="5053724573690775822">Luodaanko uusi Chromium-työtila?</translation>
 <translation id="5224391634244552924">Ei tallennettuja salasanoja. Chromium voi tarkistaa salasanasi, kun tallennat niitä.</translation>
 <translation id="5277894862589591112">Ota muutokset käyttöön käynnistämällä Chromium uudelleen</translation>
 <translation id="5358375970380395591">Olet kirjautumassa sisään hallinnoidulla tilillä ja antamassa tilin järjestelmänvalvojalle oikeuden hallita Chromium-profiiliasi. Chromium-tietosi, kuten sovelluksesi, kirjanmerkkisi, historiasi, salasanasi ja muut asetuksesi, yhdistetään pysyvästi käyttäjätiliin <ph name="USER_NAME" />. Voit poistaa nämä tiedot Google-tilien Hallintapaneelissa, mutta et voi liittää tietoja toiseen tiliin. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium ei voi näyttää tulostusesikatselua, koska PDF-katseluohjelma puuttuu.</translation>
 <translation id="5427571867875391349">Aseta Chromium oletusselaimeksi</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">Kirjauduit sisään uudella tilillä käyttäjän <ph name="EXISTING_USER" /> tilaan. Haluatko luoda uuden Chromium-tilan (<ph name="NEW_USER" />) pitääksesi datasi erillisenä?</translation>
 <translation id="5479196819031988440">Chromium-käyttöjärjestelmä ei voi avata tätä sivua.</translation>
 <translation id="5480860683791598150">Chromium tarvitsee oikeuden käyttää sijaintiasi, jotta se voidaan jakaa tämän sivuston kanssa.</translation>
 <translation id="549669000822060376">Odota hetki, Chromium asentaa uusimpia järjestelmäpäivityksiä.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium ei voinut synkronoida tietoja kirjautumisvirheen vuoksi.</translation>
 <translation id="6096348254544841612">Muokkaa ja hallinnoi Chromiumia. Päivitys on saatavilla.</translation>
 <translation id="6120345080069858279">Chromium tallentaa tämän salasanan Google-tilillesi. Sinun ei tarvitse muistaa sitä.</translation>
-<translation id="6128834065531097268">Kirjauduit sisään työtilillä käyttäjän <ph name="EXISTING_USER" /> tilaan. Haluatko luoda uuden Chromium-tilan (<ph name="WORK_DOMAIN" />) pitääksesi datasi erillisenä?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> on vaarallinen, joten Chromium on estänyt sen.</translation>
 <translation id="6134968993075716475">Selaussuoja on pois päältä. Chromium suosittelee laittamaan sen päälle.</translation>
 <translation id="6212496753309875659">Tälle tietokoneelle on jo asennettu Chromiumin uudempi versio. Jos Chromium ei toimi, poista sen asennus ja yritä uudelleen.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Poista data myös Chromiumista (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Jos asetus ei näy tällä sivulla, siirry <ph name="LINK_BEGIN" />
     Chromium-käyttöjärjestelmän asetuksiin<ph name="LINK_END" />.</translation>
-<translation id="7607142834923530546">Kirjauduit sisään työtilillä. Haluatko luoda uuden Chromium-tilan (<ph name="NEW_USER" />) pitääksesi henkilökohtaiset tietosi erillisinä?</translation>
 <translation id="761356813943268536">Chromium käyttää kameraasi ja mikrofoniasi.</translation>
 <translation id="7617377681829253106">Chromium on nyt entistä parempi</translation>
 <translation id="7628001322379820951">Chromium löysi tietokoneeltasi haitallisen ohjelmiston</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Tämä on Chromiumin toissijainen asennus, eikä sitä voi asettaa oletusselaimeksi.</translation>
 <translation id="7979877361127045932">Piilota Chromium-valikossa</translation>
 <translation id="8013436988911883588">Kun Chromiumilla on käyttöoikeus, sivustot voivat pyytää sitä sinulta.</translation>
-<translation id="8022442821873033760">Aloita uuden Chromium-tilasi käyttö</translation>
 <translation id="81770708095080097">Tämä tiedosto on vaarallinen, joten Chromium on estänyt sen.</translation>
 <translation id="8248265253516264921">Jos kuvalla ei ole hyödyllistä kuvausta, Chromium yrittää luoda sellaisen. Kuvat lähetetään Googlelle kuvausten luomista varten. Voit milloin tahansa poistaa tämän käytöstä asetuksissa.</translation>
 <translation id="8266560134891435528">Chromium ei voi tarkistaa salasanojasi, koska et ole kirjautuneena sisään</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Käynnistä Chromium uudelleen vuorokauden kuluessa}other{Käynnistä Chromium uudelleen # vuorokauden kuluessa}}</translation>
 <translation id="8453117565092476964">Asennusarkisto on virheellinen. Lataa Chromium uudelleen.</translation>
 <translation id="8493179195440786826">Chromium on vanhentunut</translation>
-<translation id="8545858702702650646">Valitse Chromium-tilasi</translation>
 <translation id="8558383651099478961">Vanhempasi ovat laittaneet Chromiumin sivustojen, sovellusten ja laajennusten käyttöluvat pois päältä. Lisäämistä (<ph name="EXTENSION_TYPE_PARAMETER" />) ei sallita.</translation>
 <translation id="8568283329061645092">Chromium voi tarkistaa salasanasi, kun kirjaudut sisään Google-tililläsi</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. Kaikki oikeudet pidätetään.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Järjestelmänvalvojasi on määrittänyt Chromiumin avaamaan toisen selaimen, jolla <ph name="TARGET_URL_HOSTNAME" /> avataan.</translation>
 <translation id="9164845895615421500">Chromium tarkistaa ei-toivotut ohjelmistot kerran viikossa. Tarkistettu viimeksi hetki sitten.</translation>
 <translation id="9190841055450128916">Chromium (saapuva mDNS)</translation>
-<translation id="9191317372410544836">Pidä selaaminen laitteella järjestyksessä Chromiumin tilojen avulla</translation>
 <translation id="93478295209880648">Chromium ei välttämättä toimi oikein, koska se ei enää tue Windows XP:tä tai Windows Vistaa.</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> edellyttää, että luet ja hyväksyt seuraavat käyttöehdot ennen tämän laitteen käyttöä. Nämä ehdot eivät laajenna, muokkaa tai rajoita Chromium-käyttöliittymän ehtoja.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_fil.xtb b/chrome/app/resources/chromium_strings_fil.xtb
index dcc3c17..db2f23c 100644
--- a/chrome/app/resources/chromium_strings_fil.xtb
+++ b/chrome/app/resources/chromium_strings_fil.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Opsyonal: Tumulong na pahusayin ang mga feature at performance ng Chromium OS sa pamamagitan ng awtomatikong pagpapadala sa Google ng data ng diagnostic at paggamit.</translation>
 <translation id="2347108572062610441">Binago ng extension na ito ang ipinapakitang page kapag sinimulan mo ang Chronium.</translation>
 <translation id="2396765026452590966">Binago ng extension na "<ph name="EXTENSION_NAME" />" ang ipinapakitang page kapag sinimulan mo ang Chromium.</translation>
-<translation id="2442081746662839303">Gumawa ng bagong Chromium space para kay <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">Sa Chromium</translation>
 <translation id="2485422356828889247">I-uninstall</translation>
 <translation id="2527042973354814951">I-restart ang Chromium upang ma-enable ang <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Mukhang ginagamit ang profile ng iba pang proseso ng Chromium (<ph name="PROCESS_ID" />) sa iba pang computer (<ph name="HOST_NAME" />).  Ni-lock ng Chromium ang profile upang hindi ito ma-corrupt.  Kung nakakatiyak ka na walang ibang mga proseso ang gumagamit sa profile na ito, maaari mong i-unlock ang profile at ilunsad muli ang Chromium.</translation>
 <translation id="469338717132742108">Humingi ng tulong sa Chromium OS</translation>
 <translation id="4708774505295300557">May nag-sign in dati sa Chromium sa computer na ito bilang <ph name="ACCOUNT_EMAIL_LAST" />. Mangyaring gumawa ng bagong user ng Chromium upang ihiwalay ang iyong impormasyon.</translation>
-<translation id="4745225042341419983">Made-delete sa device na ito ang data sa pag-browse ng space na ito. Para ma-recover ang data, mag-sign in sa Chromium bilang</translation>
 <translation id="4746050847053251315">Umalis pa rin sa Chromium?</translation>
 <translation id="4748217263233248895">Naglapat ng espesyal na update sa seguridad para sa Chromium. Mag-restart na at ire-restore namin ang iyong mga tab.</translation>
 <translation id="4750035648288509542">Malapit nang maging up to date! Ilunsad ulit ang Chromium para tapusin ang pag-update. Hindi bubukas ulit ang mga incognito window.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Nasa background mode ang Chromium.</translation>
 <translation id="4987820182225656817">Makakagamit ng Chromium ang mga bisita nang hindi nag-iiwan ng anumang bakas.</translation>
 <translation id="4994636714258228724">Idagdag ang iyong sarili sa Chromium</translation>
-<translation id="5053724573690775822">Gumawa ng bagong Chromium Work space?</translation>
 <translation id="5224391634244552924">Walang naka-save na password. Masusuri ng Chromium ang iyong mga password kapag na-save mo ang mga ito.</translation>
 <translation id="5277894862589591112">Para ilapat ang iyong mga pagbabago, muling ilunsad ang Chromium</translation>
 <translation id="5358375970380395591">Nagsa-sign in ka gamit ang isang pinamamahalaang account at nagbibigay sa administrator nito ng kontrol sa iyong profile sa Chromium. Permanenteng mauugnay ang iyong data sa Chromium, gaya ng iyong apps, mga bookmark, kasaysayan, password, at iba pang mga setting sa <ph name="USER_NAME" />. Matatanggal mo ang data na ito sa Google Accounts Dashboard, ngunit hindi mo maiuugnay ang data na ito sa isa pang account. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Hindi maipapakita ng Chromium ang preview ng pag-print kapag nawawala ang built-in na PDF viewer.</translation>
 <translation id="5427571867875391349">Itakda ang Chromium bilang iyong default na browser</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">Nag-sign in ka gamit ang isang bagong account sa space ni <ph name="EXISTING_USER" />. Gusto mo bang gumawa ng bagong Chromium space para kay <ph name="NEW_USER" /> para mapanatiling nakahiwalay ang iyong data?</translation>
 <translation id="5479196819031988440">Hindi mabuksan ng Chromium OS ang page na ito.</translation>
 <translation id="5480860683791598150">Kailangan ng Chromium ng access sa iyong lokasyon upang maibahagi ang lokasyon mo sa site na ito</translation>
 <translation id="549669000822060376">Mangyaring maghintay habang ini-install ng Chromium ang mga pinakabagong update sa system.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Hindi mai-sync ng Chromium ang iyong data dahil sa isang error sa pagsa-sign in.</translation>
 <translation id="6096348254544841612">I-customize at kontrolin ang Chromium. May available na update.</translation>
 <translation id="6120345080069858279">Ise-save ng Chromium ang password na ito sa iyong Google Account. Hindi mo na ito kailangang tandaan.</translation>
-<translation id="6128834065531097268">Nag-sign in ka gamit ang isang Account sa trabaho sa space ni <ph name="EXISTING_USER" />. Gusto mo bang gumawa ng bagong Chromium space para sa <ph name="WORK_DOMAIN" /> para mapanatiling nakahiwalay ang iyong data?</translation>
 <translation id="6129621093834146363">Mapanganib ang <ph name="FILE_NAME" />, kaya na-block ito ng Chromium.</translation>
 <translation id="6134968993075716475">Naka-off ang Ligtas na Pag-browse. Inirerekomenda ng Chromium na i-on ito.</translation>
 <translation id="6212496753309875659">May mas bagong bersyon ng Chromium na ang computer na ito. Kung hindi gumagana ang software, mangyaring i-uninstall ang Chromium at subukang muli.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">I-clear din ang data sa Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Kung hindi lumalabas ang isang setting sa page na ito, tingnan sa iyong <ph name="LINK_BEGIN" />
       mga setting ng Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Nag-sign in ka gamit ang isang account sa trabaho. Gusto mo bang gumawa ng bagong Chromium space para kay <ph name="NEW_USER" /> para mapanatiling nakahiwalay ang iyong personal na data?</translation>
 <translation id="761356813943268536">Ginagamit ng Chromium ang iyong camera at mikropono.</translation>
 <translation id="7617377681829253106">Mas mahusay na ang Chromium</translation>
 <translation id="7628001322379820951">May nakitang mapaminsalang software ang Chromium sa iyong computer</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Pangalawang pag-install ito ng Chromium at hindi ito maaaring gawing iyong default na browser.</translation>
 <translation id="7979877361127045932">Itago sa menu ng Chromium</translation>
 <translation id="8013436988911883588">Kapag mayroon nang access ang Chromium, makakahingi na ang mga website ng access sa iyo.</translation>
-<translation id="8022442821873033760">I-set up ang iyong bagong Chromium Space</translation>
 <translation id="81770708095080097">Mapanganib ang file na ito, kaya na-block ito ng Chromium.</translation>
 <translation id="8248265253516264921">Kung hindi sapat ang deskripsyon ng isang larawan, susubukan ng Chromium na ayusin ito para sa iyo. Para gumawa ng mga deskripsyon, ipinapadala ang mga larawan sa Google. Puwede mo itong i-off sa mga setting anumang oras.</translation>
 <translation id="8266560134891435528">Hindi masusuri ng Chromium ang iyong mga password dahil hindi ka naka-sign in</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Muling ilunsad ang Chromium sa loob ng isang araw}one{Muling ilunsad ang Chromium sa loob ng # araw}other{Muling ilunsad ang Chromium sa loob ng # na araw}}</translation>
 <translation id="8453117565092476964">Sira o di-wasto ang archive ng installer. Mangyaring i-download muli ang Chromium.</translation>
 <translation id="8493179195440786826">Luma na ang Chromium</translation>
-<translation id="8545858702702650646">Pumili ng iyong Chromium Space</translation>
 <translation id="8558383651099478961">Na-off ng iyong magulang ang "Mga pahintulot para sa mga site, app, at extension" para sa Chromium. Hindi pinapayagang idagdag ang <ph name="EXTENSION_TYPE_PARAMETER" /> na ito.</translation>
 <translation id="8568283329061645092">Masusuri ng Chromium ang iyong mga password kapag nag-sign in ka sa Google Account mo</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Ang Mga May-akda ng Chromium. Nakalaan ang lahat ng karapatan.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Na-configure ng iyong system administrator ang Chromium na magbukas ng alternatibong browser para i-access ang <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Nagsusuri ang Chromium para sa hindi gustong software nang isang beses sa isang linggo. Huling nagsuri: kamakailan lang.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Gumamit ng mga Chromium Space para mapanatiling maayos ang iyong pag-browse sa device na ito</translation>
 <translation id="93478295209880648">Maaaring hindi gumana nang maayos ang Chromium dahil hindi na ito sinusuportahan sa Windows XP o Windows Vista</translation>
 <translation id="95514773681268843">Kinakailangan ng <ph name="DOMAIN" /> na basahin mo at tanggapin ang sumusunod na Mga Tuntunin ng Serbisyo bago gamitin ang device na ito. Hindi pinapalawak, binabago o nililimitahan ng mga tuntuning ito ang Mga Tuntunin ng Chromium OS.</translation>
 <translation id="985602178874221306">Ang Mga May-akda ng Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_fr-CA.xtb b/chrome/app/resources/chromium_strings_fr-CA.xtb
index 2d014d0..85d02c64 100644
--- a/chrome/app/resources/chromium_strings_fr-CA.xtb
+++ b/chrome/app/resources/chromium_strings_fr-CA.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Facultatif : aidez-nous à améliorer les fonctionnalités et les performances de Chromium OS en envoyant automatiquement les données de diagnostic et d'utilisation à Google.</translation>
 <translation id="2347108572062610441">Cette extension a modifié la page qui s'affiche au démarrage de Chromium.</translation>
 <translation id="2396765026452590966">L'extension « <ph name="EXTENSION_NAME" /> » a modifié la page qui s'affiche au démarrage de Chromium.</translation>
-<translation id="2442081746662839303">Créer un espace Chromium pour <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">Dans Chromium</translation>
 <translation id="2485422356828889247">Désinstaller</translation>
 <translation id="2527042973354814951">Redémarrer Chromium pour activer le plugiciel <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Le profil semble être utilisé par un autre processus de Chromium (<ph name="PROCESS_ID" />) sur un autre ordinateur (<ph name="HOST_NAME" />). Chromium a verrouillé ce profil pour éviter qu'il ne soit endommagé. Si vous êtes sûr qu'aucun autre processus n'utilise ce profil, vous pouvez le déverrouiller et relancer Chromium.</translation>
 <translation id="469338717132742108">Obtenir de l'aide pour Chromium OS</translation>
 <translation id="4708774505295300557">Un utilisateur s'est récemment connecté à Chromium sur cet ordinateur en tant que <ph name="ACCOUNT_EMAIL_LAST" />. Veuillez créer un autre utilisateur Chromium pour séparer vos données.</translation>
-<translation id="4745225042341419983">Les données de navigation de cet espace seront supprimées de cet appareil. Pour récupérer ces données, connectez-vous à Chromium en tant que</translation>
 <translation id="4746050847053251315">Quitter Chromium quand même?</translation>
 <translation id="4748217263233248895">Une mise à jour de sécurité spéciale pour Chromium vient d'être effectuée. Redémarrez maintenant, et nous restaurerons vos onglets.</translation>
 <translation id="4750035648288509542">La mise à jour est presque terminée! Relancez Chromium pour terminer la mise à jour. Vos fenêtres de navigation privée ne seront pas rouvertes.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium fonctionne en mode arrière-plan.</translation>
 <translation id="4987820182225656817">Les invités peuvent utiliser Chromium sans rien laisser derrière eux.</translation>
 <translation id="4994636714258228724">Ajouter un utilisateur à Chromium</translation>
-<translation id="5053724573690775822">Créer un espace professionnel Chromium?</translation>
 <translation id="5224391634244552924">Aucun mot de passe enregistré. Chromium ne peut vérifier vos mots de passe que si vous les enregistrez.</translation>
 <translation id="5277894862589591112">Pour appliquer vos modifications, relancez Chromium</translation>
 <translation id="5358375970380395591">Vous vous connectez avec un compte géré et rendez son administrateur maître de votre profil Chromium. Vos données de Chromium, comme vos applications, vos favoris, votre historique, vos mots de passe et vos autres paramètres, vont être associées de manière permanente à <ph name="USER_NAME" />. Vous pourrez supprimer ces données à l'aide du tableau de bord des comptes Google, mais vous ne pourrez pas les associer à un autre compte. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium ne peut pas afficher l'aperçu avant impression lorsque le visualiseur de documents PDF intégré n'est pas installé.</translation>
 <translation id="5427571867875391349">Faire de Chromium le navigateur par défaut</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium bêta</translation>
-<translation id="544968170749360982">Vous vous êtes connecté à l'aide d'un nouveau compte dans l'espace de <ph name="EXISTING_USER" />. Voulez-vous créer un espace Chromium pour <ph name="NEW_USER" /> afin de garder vos données distinctes?</translation>
 <translation id="5479196819031988440">Chromium OS ne peut pas ouvrir cette page.</translation>
 <translation id="5480860683791598150">Chromium a besoin d'accéder à votre position afin de la partager avec ce site</translation>
 <translation id="549669000822060376">Veuillez patienter pendant que Chromium installe les dernières mises à jour système.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium n'a pas pu synchroniser vos données, car une erreur s'est produite lors de la connexion.</translation>
 <translation id="6096348254544841612">Personnalisez et contrôlez Chromium. Une mise à jour est disponible.</translation>
 <translation id="6120345080069858279">Chromium enregistrera ce mot de passe dans votre compte Google. Vous n'aurez pas à le retenir.</translation>
-<translation id="6128834065531097268">Vous vous êtes connecté à l'aide d'un compte professionnel dans l'espace de <ph name="EXISTING_USER" />. Voulez-vous créer un espace Chromium pour <ph name="WORK_DOMAIN" /> afin de garder vos données distinctes?</translation>
 <translation id="6129621093834146363">Chromium a bloqué le fichier <ph name="FILE_NAME" />, car il est dangereux.</translation>
 <translation id="6134968993075716475">La navigation sécurisée est désactivée. Chromium vous recommande de l'activer.</translation>
 <translation id="6212496753309875659">Cet ordinateur dispose déjà d'une version plus récente de Chromium. Si le logiciel ne fonctionne pas, veuillez le désinstaller, puis réessayer.</translation>
@@ -202,7 +197,6 @@
 <translation id="7549178288319965365">À propos de Chromium OS</translation>
 <translation id="7561906087460245826">Effacer les données également dans Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Si un paramètre ne s'affiche pas sur cette page, consultez les <ph name="LINK_BEGIN" />paramètres de Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Vous vous êtes connecté à l'aide d'un compte professionnel. Voulez-vous créer un espace Chromium pour <ph name="NEW_USER" /> afin de garder vos données personnelles distinctes?</translation>
 <translation id="761356813943268536">Chromium utilise votre caméra et votre microphone</translation>
 <translation id="7617377681829253106">Chrome vient de s'améliorer</translation>
 <translation id="7628001322379820951">Chromium a trouvé des logiciels nuisibles sur votre ordinateur</translation>
@@ -220,7 +214,6 @@
 <translation id="7975919845073681630">Cette installation de Chromium est secondaire. Celui-ci ne peut donc pas servir de navigateur par défaut.</translation>
 <translation id="7979877361127045932">Masquer dans le menu Chromium</translation>
 <translation id="8013436988911883588">Lorsque Chromium y aura accès, les sites Web pourront vous demander l'accès.</translation>
-<translation id="8022442821873033760">Configurez votre nouvel espace Chromium</translation>
 <translation id="81770708095080097">Chromium a bloqué ce fichier, car il est dangereux.</translation>
 <translation id="8248265253516264921">Si une image n'est pas accompagnée d'une description utile, Chromium essaiera de vous en proposer une. Pour créer des descriptions, les images sont envoyées à Google. Vous pouvez désactiver cette option dans les paramètres à tout moment.</translation>
 <translation id="8266560134891435528">Chromium ne peut pas vérifier vos mots de passe parce que vous n'êtes pas connecté.</translation>
@@ -231,7 +224,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Redémarrer Chromium d'ici un jour}one{Redémarrer Chromium d'ici # jour}other{Redémarrer Chromium d'ici # jours}}</translation>
 <translation id="8453117565092476964">L'archive du programme d'installation est corrompue ou n'est pas valide. Veuillez télécharger Chromium à nouveau.</translation>
 <translation id="8493179195440786826">Chromium n'est pas à jour</translation>
-<translation id="8545858702702650646">Choisir votre espace Chromium</translation>
 <translation id="8558383651099478961">Ton parent a désactivé le paramètre « Autorisations pour les sites, les applications et les extensions » dans Chromium. L'activation de ce <ph name="EXTENSION_TYPE_PARAMETER" /> n'est pas autorisée.</translation>
 <translation id="8568283329061645092">Chromium peut vérifier vos mots de passe lorsque vous vous connectez avec votre compte Google</translation>
 <translation id="8586442755830160949">© <ph name="YEAR" /> Les auteurs de Chrome. Tous droits réservés.</translation>
@@ -257,7 +249,6 @@
 <translation id="9158494823179993217">Votre administrateur système a configuré Chromium pour ouvrir un autre navigateur afin d'accéder à <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium vérifie la présence de logiciels indésirables une fois par semaine. Dernière vérification : il y a quelques instants.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Servez-vous des espaces Chromium pour organiser votre navigation sur cet appareil</translation>
 <translation id="93478295209880648">Il se peut que Chromium ne fonctionne pas correctement, car il n'est plus compatible avec Windows XP ni Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> exige que vous lisiez et acceptiez les présentes conditions d'utilisation pour utiliser cet appareil. Ces dernières n'étendent, ne modifient ni ne restreignent les conditions d'utilisation de Chrome OS.</translation>
 <translation id="985602178874221306">Les auteurs de Chrome</translation>
diff --git a/chrome/app/resources/chromium_strings_fr.xtb b/chrome/app/resources/chromium_strings_fr.xtb
index 3a1adc5..a8fecf10 100644
--- a/chrome/app/resources/chromium_strings_fr.xtb
+++ b/chrome/app/resources/chromium_strings_fr.xtb
@@ -29,7 +29,6 @@
 <translation id="2294245788148774212">Facultatif : contribuez à améliorer les fonctionnalités et les performances de Chromium OS en envoyant automatiquement des données de diagnostic et d'utilisation à Google.</translation>
 <translation id="2347108572062610441">Cette extension a modifié la page qui s'affiche lorsque vous démarrez Chromium.</translation>
 <translation id="2396765026452590966">L'extension <ph name="EXTENSION_NAME" /> a modifié la page qui s'affiche lorsque vous démarrez Chromium.</translation>
-<translation id="2442081746662839303">Créer un espace Chromium pour <ph name="NEW_USER" /> ?</translation>
 <translation id="2483889755041906834">Dans Chromium</translation>
 <translation id="2485422356828889247">Désinstaller</translation>
 <translation id="2527042973354814951">Redémarrer Chromium pour activer <ph name="PLUGIN_NAME" /></translation>
@@ -97,7 +96,6 @@
 <translation id="4677944499843243528">Le profil semble être utilisé dans le cadre d'un autre processus Chromium (<ph name="PROCESS_ID" />) sur un autre ordinateur (<ph name="HOST_NAME" />). Ce profil a été verrouillé de sorte qu'il ne soit pas endommagé. Si vous êtes sûr que le profil n'est utilisé dans le cadre d'aucun autre processus, vous pouvez le déverrouiller et relancer Chromium.</translation>
 <translation id="469338717132742108">Obtenir de l'aide avec Chromium OS</translation>
 <translation id="4708774505295300557">Un utilisateur s'est récemment connecté à Chromium sur cet ordinateur en tant que <ph name="ACCOUNT_EMAIL_LAST" />. Veuillez créer un autre utilisateur Chromium pour séparer vos informations.</translation>
-<translation id="4745225042341419983">Les données de navigation de cet espace vont être supprimées de cet appareil. Pour les récupérer, connectez-vous à Chromium en tant que</translation>
 <translation id="4746050847053251315">Quitter Chromium quand même ?</translation>
 <translation id="4748217263233248895">Une mise à jour spéciale de sécurité pour Chromium vient d'être installée. Veuillez redémarrer le navigateur. Vos onglets seront restaurés.</translation>
 <translation id="4750035648288509542">Presque à jour ! Relancez Chromium pour terminer la mise à jour. Sachez que les fenêtres de navigation privée ne seront pas rouvertes.</translation>
@@ -107,7 +105,6 @@
 <translation id="4943838377383847465">Chromium est exécuté en mode arrière-plan</translation>
 <translation id="4987820182225656817">Les invités peuvent utiliser Chromium sans laisser aucune trace.</translation>
 <translation id="4994636714258228724">Ajouter un utilisateur à Chromium</translation>
-<translation id="5053724573690775822">Créer un espace professionnel Chromium ?</translation>
 <translation id="5224391634244552924">Aucun mot de passe enregistré. Chromium ne peut vérifier vos mots de passe que si vous les enregistrez.</translation>
 <translation id="5277894862589591112">Pour appliquer vos modifications, relancez Chromium</translation>
 <translation id="5358375970380395591">Vous vous connectez avec un compte géré et donnez le contrôle de votre profil Chromium à son administrateur. Vos données Chromium, telles que les applications, les favoris, l'historique, les mots de passe et les autres paramètres, vont être définitivement associées à <ph name="USER_NAME" />. Vous pouvez supprimer ces données via le tableau de bord des comptes Google, mais vous ne pouvez pas les associer à un autre compte. <ph name="LEARN_MORE" /></translation>
@@ -117,7 +114,6 @@
 <translation id="5416696090975899932">Impossible d'afficher l'aperçu avant impression dans Chromium, car la visionneuse de PDF intégrée est absente.</translation>
 <translation id="5427571867875391349">Définir Chromium comme navigateur par défaut</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Bêta</translation>
-<translation id="544968170749360982">Vous vous êtes connecté avec un nouveau compte dans l'espace d'un autre utilisateur (<ph name="EXISTING_USER" />). Souhaitez-vous créer un espace Chromium pour <ph name="NEW_USER" /> afin de conserver vos données dans un emplacement séparé ?</translation>
 <translation id="5479196819031988440">Chromium OS ne peut pas ouvrir cette page</translation>
 <translation id="5480860683791598150">Chromium a besoin d'accéder à votre position pour la partager avec ce site</translation>
 <translation id="549669000822060376">Veuillez patienter pendant que Chromium installe les dernières mises à jour du système.</translation>
@@ -140,7 +136,6 @@
 <translation id="608189560609172163">Impossible de synchroniser vos données dans Chromium, car une erreur s'est produite lors de la connexion.</translation>
 <translation id="6096348254544841612">Personnalisez et contrôlez Chromium. Une mise à jour est disponible.</translation>
 <translation id="6120345080069858279">Chromium va enregistrer ce mot de passe dans votre compte Google. Vous n'avez pas besoin de le retenir.</translation>
-<translation id="6128834065531097268">Vous vous êtes connecté avec un compte professionnel dans l'espace d'un autre utilisateur (<ph name="EXISTING_USER" />). Souhaitez-vous créer un espace Chromium pour <ph name="WORK_DOMAIN" /> afin que vos données soient conservées dans un emplacement séparé ?</translation>
 <translation id="6129621093834146363">Chromium a bloqué <ph name="FILE_NAME" />, car ce fichier est dangereux.</translation>
 <translation id="6134968993075716475">La navigation sécurisée étant désactivée, Chromium vous recommande de l'activer.</translation>
 <translation id="6212496753309875659">Cet ordinateur dispose déjà d'une version plus récente de Chromium. Si le logiciel ne fonctionne pas, veuillez le désinstaller, puis réessayer.</translation>
@@ -201,7 +196,6 @@
 <translation id="7549178288319965365">À propos de Chromium OS</translation>
 <translation id="7561906087460245826">Effacer également les données issues de Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Si un paramètre ne s'affiche pas sur cette page, accédez aux <ph name="LINK_BEGIN" />paramètres Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Vous vous êtes connecté avec un compte professionnel. Souhaitez-vous créer un espace Chromium pour <ph name="NEW_USER" /> afin que vos données à caractère personnel soient conservées dans un emplacement séparé ?</translation>
 <translation id="761356813943268536">Votre webcam et votre micro sont en cours d'utilisation dans Chromium.</translation>
 <translation id="7617377681829253106">Chromium s'est amélioré</translation>
 <translation id="7628001322379820951">Chromium a détecté un logiciel malveillant sur votre ordinateur</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Ceci est une installation secondaire de Chromium. Vous ne pouvez pas le définir comme navigateur par défaut.</translation>
 <translation id="7979877361127045932">Masquer dans le menu Chromium</translation>
 <translation id="8013436988911883588">Une fois l'accès à une ressource accordé à Chromium, les sites Web sont également en mesure de vous demander l'accès.</translation>
-<translation id="8022442821873033760">Configurer votre nouvel espace Chromium</translation>
 <translation id="81770708095080097">Chromium a bloqué ce fichier, car ce dernier est dangereux.</translation>
 <translation id="8248265253516264921">Si une image n'est pas accompagnée d'une description utile, Chromium essaiera de vous en proposer une. Pour nous permettre de créer des descriptions, les images sont envoyées à Google. Vous pouvez désactiver à tout moment cette option dans les paramètres.</translation>
 <translation id="8266560134891435528">Chromium ne peut pas vérifier vos mots de passe, car vous n'êtes pas connecté</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Relancer Chromium d'ici un jour}one{Relancer Chromium d'ici # jour}other{Relancer Chromium d'ici # jours}}</translation>
 <translation id="8453117565092476964">L'archive du programme d'installation est corrompue ou n'est pas valide. Veuillez télécharger Chromium à nouveau.</translation>
 <translation id="8493179195440786826">Version de Chromium obsolète</translation>
-<translation id="8545858702702650646">Sélectionnez votre espace Chromium</translation>
 <translation id="8558383651099478961">L'un de tes parents a désactivé l'option "Autorisations des sites, applications et extensions" pour Chromium. Tu ne peux pas ajouter cette <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium peut vérifier vos mots de passe lorsque vous vous connectez à votre compte Google</translation>
 <translation id="8586442755830160949">Copyright Auteurs de Chromium <ph name="YEAR" />. Tous droits réservés.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Votre administrateur système a configuré Chromium pour que <ph name="TARGET_URL_HOSTNAME" /> s'ouvre dans un autre navigateur.</translation>
 <translation id="9164845895615421500">Chromium vérifie la présence de logiciels indésirables une fois par semaine. Dernière vérification : il y a quelques instants.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Utilisez les espaces Chromium pour bien organiser votre navigation sur cet appareil</translation>
 <translation id="93478295209880648">Chromium risque de ne pas fonctionner correctement, car la compatibilité n'est plus assurée sur Windows XP et Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> exige que vous lisiez et acceptiez les présentes conditions d'utilisation pour utiliser cet appareil. Ces dernières n'étendent, ne modifient ni ne restreignent les conditions d'utilisation de Chromium OS.</translation>
 <translation id="985602178874221306">Auteurs de Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_gl.xtb b/chrome/app/resources/chromium_strings_gl.xtb
index dea5423..55df357 100644
--- a/chrome/app/resources/chromium_strings_gl.xtb
+++ b/chrome/app/resources/chromium_strings_gl.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Opcional: Axuda a mellorar as funcións e o rendemento de Chromium OS enviando automaticamente datos de uso e diagnóstico a Google.</translation>
 <translation id="2347108572062610441">Esta extensión cambiou a páxina que se mostra ao iniciar Chromium.</translation>
 <translation id="2396765026452590966">A extensión "<ph name="EXTENSION_NAME" />" cambiou a páxina que se mostra ao iniciar Chromium.</translation>
-<translation id="2442081746662839303">Queres crear un espazo de Chromium novo para <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">En Chromium</translation>
 <translation id="2485422356828889247">Desinstalar</translation>
 <translation id="2527042973354814951">Reinicia Chromium para activar <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Parece que outro proceso de Chromium (<ph name="PROCESS_ID" />) está utilizando o perfil noutro ordenador (<ph name="HOST_NAME" />). Chromium bloqueou o perfil para que non se dane. Se estás seguro de que ningún outro proceso está utilizando este perfil, podes desbloquear o perfil e volver iniciar Chromium.</translation>
 <translation id="469338717132742108">Obter axuda sobre Chromium OS</translation>
 <translation id="4708774505295300557">Anteriormente, alguén iniciou sesión como <ph name="ACCOUNT_EMAIL_LAST" /> en Chromium neste ordenador. Crea un novo usuario de Chromium para manter a túa información por separado.</translation>
-<translation id="4745225042341419983">Os datos de navegación deste espazo eliminaranse deste dispositivo. Para recuperalos, inicia sesión en Chromium como</translation>
 <translation id="4746050847053251315">Queres saír de Chromium de todas formas?</translation>
 <translation id="4748217263233248895">Acábase de aplicar unha actualización de seguranza especial para Chromium. Reinicia agora e restauraremos as túas pestanas.</translation>
 <translation id="4750035648288509542">A actualización está a piques de rematar. Reinicia Chromium para completala. As ventás do modo de incógnito non se volverán abrir.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium está no modo de segundo plano.</translation>
 <translation id="4987820182225656817">Os invitados poden utilizar Chromium sen perder información.</translation>
 <translation id="4994636714258228724">Engádete a Chromium</translation>
-<translation id="5053724573690775822">Queres crear un espazo de traballo de Chromium novo?</translation>
 <translation id="5224391634244552924">Non hai contrasinais gardados. Chromium pode comprobar os teus contrasinais cando os gardes.</translation>
 <translation id="5277894862589591112">Para aplicar os cambios, reinicia Chromium</translation>
 <translation id="5358375970380395591">Estás iniciando sesión cunha conta xestionada e concedendo control ao seu administrador sobre o teu perfil de Chromium. Os teus datos de Chromium, como as túas aplicacións, marcadores, historial, contrasinais e outras configuracións ligaranse permanentemente a <ph name="USER_NAME" />. Poderás eliminar estes datos a través do Panel de control das contas de Google, pero non poderás asociar estes datos a outra conta. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium non pode mostrar a vista previa de impresión se falta o visor de PDF integrado.</translation>
 <translation id="5427571867875391349">Establecer Chromium como o teu navegador predeterminado</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> (versión beta de Chromium)</translation>
-<translation id="544968170749360982">Iniciaches sesión cunha conta nova no espazo de <ph name="EXISTING_USER" />. Queres crear un espazo de Chromium novo para <ph name="NEW_USER" /> co fin de manter separados os datos?</translation>
 <translation id="5479196819031988440">Chromium OS non pode abrir esta páxina.</translation>
 <translation id="5480860683791598150">Chromium necesita acceder á túa localización para compartila con este sitio</translation>
 <translation id="549669000822060376">Espera a que Chromium instale as actualizacións do sistema máis recentes.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium non puido sincronizar os teus datos debido a un erro ao iniciar sesión.</translation>
 <translation id="6096348254544841612">Personalizar e controlar Chromium. Hai una actualización dispoñible.</translation>
 <translation id="6120345080069858279">Chromium gardará este contrasinal na túa Conta de Google. Non terás que recordalo.</translation>
-<translation id="6128834065531097268">Iniciaches sesión cunha conta do traballo no espazo de <ph name="EXISTING_USER" />. Queres crear un espazo de Chromium novo para <ph name="WORK_DOMAIN" /> co fin de manter separados os datos?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> é perigoso, así que Chromium bloqueouno.</translation>
 <translation id="6134968993075716475">A opción Navegación segura está desactivada. Chromium recomenda activala.</translation>
 <translation id="6212496753309875659">Este ordenador xa conta cunha versión máis recente de Chromium. Se o software non funciona, desinstala Chromium e téntao de novo.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Borrar tamén os datos de Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Se non se mostra algunha opción de configuración nesta páxina, accede á <ph name="LINK_BEGIN" />
       configuración de Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Iniciaches sesión cunha conta do traballo. Queres crear un espazo de Chromium novo para <ph name="NEW_USER" /> co fin de manter separados os teus datos persoais?</translation>
 <translation id="761356813943268536">Chromium está utilizando a túa cámara e micrófono.</translation>
 <translation id="7617377681829253106">Chromium introduciu melloras</translation>
 <translation id="7628001322379820951">Chromium atopou software daniño no teu ordenador</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Esta é unha instalación secundaria de Chromium e non se pode converter no teu navegador predeterminado.</translation>
 <translation id="7979877361127045932">Ocultar no menú de Chromium</translation>
 <translation id="8013436988911883588">Unha vez que Chromium teña acceso, os sitios web poderán solicitalo tamén.</translation>
-<translation id="8022442821873033760">Configura o teu novo espazo de Chromium</translation>
 <translation id="81770708095080097">Este ficheiro é perigoso, así que Chromium bloqueouno.</translation>
 <translation id="8248265253516264921">Se unha imaxe non ten unha descrición útil, Chromium tentará proporcionarche unha. Para crear descricións, envíanse imaxes a Google. Podes desactivar esta función na configuración cando queiras.</translation>
 <translation id="8266560134891435528">Chromium non puido comprobar os teus contrasinais porque non iniciaches sesión</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Reinicia Chromium en 1 día}other{Reinicia Chromium en # días}}</translation>
 <translation id="8453117565092476964">O arquivo do instalador está danado ou non é válido. Volve descargar Chromium.</translation>
 <translation id="8493179195440786826">Chromium está desactualizado</translation>
-<translation id="8545858702702650646">Escolle o teu espazo de Chromium</translation>
 <translation id="8558383651099478961">O teu pai ou nai desactivou esta opción en Chromium: Permisos para sitios, aplicacións e extensións. Non está permitido engadir esta <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium pode comprobar os teus contrasinais cando inicies sesión coa túa Conta de Google</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. Reservados todos os dereitos.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">O teu administrador do sistema configurou Chromium para abrir outro navegador co obxectivo de acceder a <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium comproba se hai software non desexado unha vez á semana. Última comprobación: hai un momento.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Utiliza os espazos de Chromium para navegar de xeito organizado neste dispositivo</translation>
 <translation id="93478295209880648">É posible que Chromium non funcione correctamente porque xa non admite Windows XP nin Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> require que leas e aceptes as seguintes Condicións de servizo antes de utilizar este dispositivo. Estas condicións non amplían, modifican nin limitan as condicións de Chromium OS.</translation>
 <translation id="985602178874221306">Os autores de Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_gu.xtb b/chrome/app/resources/chromium_strings_gu.xtb
index fb2bfa0..a5fb96b 100644
--- a/chrome/app/resources/chromium_strings_gu.xtb
+++ b/chrome/app/resources/chromium_strings_gu.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">વૈકલ્પિક: Googleને નિદાન અને વપરાશ ડેટા ઑટોમૅટિક રીતે મોકલીને Chromium OSની સુવિધાઓ અને કાર્યપ્રદર્શનને સુધારવામાં સહાય કરો.</translation>
 <translation id="2347108572062610441">જ્યારે તમે Chromium શરૂ કરો છો ત્યારે જે પૃષ્ઠ દર્શાવવામાં આવે છે તે આ એક્સટેન્શને બદલ્યું છે.</translation>
 <translation id="2396765026452590966">જ્યારે તમે Chromium શરૂ કરો છો ત્યારે જે પૃષ્ઠ દર્શાવવામાં આવે છે તે <ph name="EXTENSION_NAME" /> એક્સટેન્શને બદલ્યું છે.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> માટે નવી Chromium સ્પેસ બનાવીએ?</translation>
 <translation id="2483889755041906834">Chromium માં</translation>
 <translation id="2485422356828889247">અનઇન્સ્ટૉલ કરો</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" />ને ચાલુ કરવા માટે Chromium ફરી શરૂ કરો</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">બીજા કમ્પ્યુટર (<ph name="HOST_NAME" />) પર પ્રોફાઇલ બીજી Chromium પ્રક્રિયા (<ph name="PROCESS_ID" />) દ્વારા ઉપયોગમાં હોય એવું લાગે છે. Chromium એ પ્રોફાઇલને લૉક કરી છે જેથી તે દૂષિત ન થઈ જાય. જો તમને ખાતરી છે કે કોઈ અન્ય પ્રક્રિયાઓ આ પ્રોફાઇલનો ઉપયોગ કરી રહી નથી, તો તમે પ્રોફાઇલને અનલૉક કરી અને Chromium ને ફરીથી લોંચ કરી શકો છો.</translation>
 <translation id="469338717132742108">Chromium OS સાથે સહાય મેળવો</translation>
 <translation id="4708774505295300557">કોઈએ આ કોમ્પ્યુટર પર પહેલા <ph name="ACCOUNT_EMAIL_LAST" /> તરીકે Chromiumમાં સાઇન ઇન કર્યું છે. તમારી માહિતી અલગ રાખવા માટે કૃપા કરીને નવો Chromium વપરાશકર્તા બનાવો.</translation>
-<translation id="4745225042341419983">આ સ્પેસનો બ્રાઉઝિંગ ડેટા આ ડિવાઇસમાંથી ડિલીટ કરવામાં આવશે. આ ડેટા પાછો મેળવવા માટે, Chromiumમાં આના તરીકે સાઇન ઇન કરો</translation>
 <translation id="4746050847053251315">છતાં પણ Chromium બંધ કરવું છે?</translation>
 <translation id="4748217263233248895">Chromium માટેનું એક વિશિષ્ટ સુરક્ષા અપડેટ હમણાં જ લાગુ કરવામાં આવ્યું. હવે ફરી શરૂ કરો અને અમે તમારાં ટૅબની પુનઃસ્થાપના કરીશું.</translation>
 <translation id="4750035648288509542">લગભગ અપ ટૂ ડેટ છે! અપડેટ કરવાનું સમાપ્ત કરવા માટે Chromium ફરી શરૂ કરો. છૂપી વિંડો ફરીથી ખૂલશે નહીં.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium પૃષ્ઠભૂમિ મોડમાં છે.</translation>
 <translation id="4987820182225656817">અતિથિઓ કંઈપણ પાછળ છોડ્યાં વિના Chromium નો ઉપયોગ કરી શકે છે.</translation>
 <translation id="4994636714258228724">સ્વયંને Chromium માં ઉમેરો</translation>
-<translation id="5053724573690775822">નવી Chromium ઑફિસ સ્પેસ બનાવીએ?</translation>
 <translation id="5224391634244552924">કોઈ સાચવેલા પાસવર્ડ નથી. જ્યારે તમે તમારા પાસવર્ડ સાચવો ત્યારે Chromium તેને ચેક કરી શકે છે.</translation>
 <translation id="5277894862589591112">તમારા ફેરફારો લાગુ કરવા માટે, Chromiumને ફરી લૉન્ચ કરો</translation>
 <translation id="5358375970380395591">તમે મેનેજ કરેલા એકાઉન્ટ સાથે સાઇન ઇન કરી રહ્યાં છો અને તમારી Chromium પ્રોફાઇલ પર એનું એડમિન નિયંત્રણ આપી રહ્યાં છો. તમારો Chromium ડેટા, જેમ કે ઍપ, બુકમાર્ક, ઇતિહાસ, પાસવર્ડ અને બીજા સેટિંગ, કાયમ માટે <ph name="USER_NAME" /> થી બંધાયેલ રહેશે. તમે Google એકાઉન્ટ ડૅશબોર્ડથી આ ડેટાને કાઢી શકશો, પરંતુ તમે આ ડેટાને બીજા એકાઉન્ટ સાથે સાંકળી શકશો નહિ. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">જ્યારે બિલ્ટ-ઇન PDF વ્યૂઅર ઉપલબ્ધ ન હોય, ત્યારે Chromium પ્રિન્ટ પ્રીવ્યૂ બતાવી શકાતું નથી.</translation>
 <translation id="5427571867875391349">Chromium ને તમારા ડિફોલ્ટ બ્રાઉઝર તરીકે સેટ કરો</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium બીટા</translation>
-<translation id="544968170749360982">તમે <ph name="EXISTING_USER" />ની સ્પેસમાં નવા એકાઉન્ટ વડે સાઇન ઇન કર્યું છે. તમારો ડેટા અલગ રાખવા માટે, શું તમે <ph name="NEW_USER" /> માટે નવી Chromium સ્પેસ બનાવવા માગો છો?</translation>
 <translation id="5479196819031988440">Chromium OS, આ પેજને ખોલી શકતું નથી.</translation>
 <translation id="5480860683791598150">Chromiumને આ સાઇટ સાથે તમારું સ્થાન શેર કરવા માટે તમારા સ્થાનના ઍક્સેસની જરૂર પડે છે</translation>
 <translation id="549669000822060376">કૃપા કરીને Chromium, નવીનતમ સિસ્ટમ અપડેટ્સ ઇન્સ્ટોલ કરે ત્યાં સુધી રાહ જુઓ.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">સાઇન ઇનમાં ભૂલ આવવાને કારણે Chromium તમારા ડેટાને સમન્વયિત કરી શક્યું નથી.</translation>
 <translation id="6096348254544841612">Chromiumને કસ્ટમાઇઝ અને નિયંત્રિત કરો. અપડેટ ઉપલબ્ધ છે.</translation>
 <translation id="6120345080069858279">Chromium આ પાસવર્ડ તમારા Google એકાઉન્ટમાં સાચવશે. તમારે તેને યાદ રાખવો જરૂરી નથી.</translation>
-<translation id="6128834065531097268">તમે <ph name="EXISTING_USER" />ની સ્પેસમાં ઑફિસના એકાઉન્ટ વડે સાઇન ઇન કર્યું છે. તમારો ડેટા અલગ રાખવા માટે, શું તમે <ph name="WORK_DOMAIN" /> માટે નવી Chromium સ્પેસ બનાવવા માગો છો?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> જોખમી છે, તેથી Chromium એ તેને અવરોધિત કરેલ છે.</translation>
 <translation id="6134968993075716475">Safe Browsingની સુવિધા બંધ છે. Chromium તેને ચાલુ રાખવાનો સુઝાવ આપે છે.</translation>
 <translation id="6212496753309875659">આ કમ્પ્યુટર પર પહેલાંથી જ Chromiumનું સૌથી તાજેતરનું વર્ઝન છે. જો સૉફ્ટવેર કાર્ય કરી રહ્યું નથી, તો કૃપા કરીને Chromiumને અનઇન્સ્ટૉલ કરો અને ફરીથી પ્રયાસ કરો.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Chromiumમાંથી પણ ડેટા કાઢી નાખો (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">જો આ પેજ પર સેટિંગ બતાવેલું ન હોય, તો તમારા <ph name="LINK_BEGIN" />
       Chromium OS સેટિંગ<ph name="LINK_END" />માં જુઓ</translation>
-<translation id="7607142834923530546">તમે ઑફિસના એકાઉન્ટ વડે લૉગ ઇન કર્યું છે. તમારો વ્યક્તિગત ડેટા અલગ રાખવા માટે, શું તમે <ph name="NEW_USER" /> માટે નવી Chromium સ્પેસ બનાવવા માગો છો?</translation>
 <translation id="761356813943268536">Chromium તમારા કેમેરા અને માઇક્રોફોનનો ઉપયોગ કરી રહ્યું છે.</translation>
 <translation id="7617377681829253106">Chromium હવે પહેલાંથી બહેતર બન્યું છે</translation>
 <translation id="7628001322379820951">Chromiumને તમારા કમ્પ્યુટરમાં હાનિકારક સૉફ્ટવેર મળી આવ્યું છે</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">આ Google Chrome નું દ્વિતીય ઇન્સ્ટૉલેશન છે અને આને તમારું ડિફૉલ્ટ બ્રાઉઝર બનાવી શકાતું નથી.</translation>
 <translation id="7979877361127045932">Chromium મેનૂમાં છુપાવો</translation>
 <translation id="8013436988911883588">એકવાર Chromiumને ઍક્સેસ મળે, તે પછી વેબસાઇટ તમારી પાસે ઍક્સેસ માગી શકશે.</translation>
-<translation id="8022442821873033760">તમારી નવી Chromium Space માટે સેટઅપ કરો</translation>
 <translation id="81770708095080097">આ ફાઇલ જોખમી છે, તેથી Chromium એ તેને અવરોધિત કરેલ છે.</translation>
 <translation id="8248265253516264921">જો છબીમાં ઉપયોગી વર્ણન ન હોય, તો Chromium તમને વર્ણન પૂરું પાડવાનો પ્રયાસ કરશે. વર્ણન બનાવવા માટે, Googleને છબીઓ મોકલવામાં આવે છે. તમે આને કોઈપણ સમયે સેટિંગમાં જઈને બંધ કરી શકો છો.</translation>
 <translation id="8266560134891435528">તમે સાઇન ઇન કરેલું ન હોવાને કારણે Chromium તમારા પાસવર્ડ ચેક કરી શકતું નથી</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{એક દિવસની અંદર Chromiumને ફરીથી લૉન્ચ કરો}one{# દિવસની અંદર Chromiumને ફરીથી લૉન્ચ કરો}other{# દિવસની અંદર Chromiumને ફરીથી લૉન્ચ કરો}}</translation>
 <translation id="8453117565092476964">ઇન્સ્ટૉલર આર્કાઇવ ખરાબ અથવા અમાન્ય છે. કૃપા કરીને Chromium ફરીથી ડાઉનલોડ કરો.</translation>
 <translation id="8493179195440786826">Chromium જૂનું થઈ ગયું છે</translation>
-<translation id="8545858702702650646">તમારું Chromium Space ચૂંટો</translation>
 <translation id="8558383651099478961">તમારા માતાપિતાએ Chromium માટે "સાઇટ, ઍપ અને એક્સ્ટેન્શન માટેની પરવાનગીઓ" બંધ કરી છે. આ <ph name="EXTENSION_TYPE_PARAMETER" /> ઉમેરવાની મંજૂરી નથી.</translation>
 <translation id="8568283329061645092">જ્યારે તમે તમારા Google એકાઉન્ટ વડે સાઇન ઇન કરો ત્યારે Chromium તમારા પાસવર્ડ ચેક કરી શકે છે</translation>
 <translation id="8586442755830160949">કોપિરાઇટ <ph name="YEAR" /> The Chromium Authors. સર્વાધિકાર સુરક્ષિત.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">તમારા સિસ્ટમ વ્યવસ્થાપકે <ph name="TARGET_URL_HOSTNAME" />ને ઍક્સેસ કરવા Chromiumને વૈકલ્પિક બ્રાઉઝર ખોલવા માટે ગોઠવેલું છે.</translation>
 <translation id="9164845895615421500">Chromium વણજોઈતા સૉફ્ટવેર શોધવા માટે અઠવાડિયામાં એક વાર ચેક કરે છે. છેલ્લે ચેક કર્યું: એક પળ પહેલાં.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">આ ડિવાઇસ પર તમારા બ્રાઉઝિંગને સુવ્યવસ્થિત રાખવા માટે Chromium Spacesનો ઉપયોગ કરો</translation>
 <translation id="93478295209880648">Chromium યોગ્ય રીતે કાર્ય ન કરે તેવું બની શકે કારણ કે તે હવેથી Windows XP અથવા Windows Vista પર સમર્થિત નથી</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> માટે જરૂરી છે કે તમે આ ડિવાઇસનો ઉપયોગ કરતાં પહેલાં નીચેની સેવાની શરતોને વાંચો અને સ્વીકારો. આ શરતો Chromium OS શરતોને વિસ્તૃત, સંશોધિત અથવા મર્યાદિત કરતી નથી.</translation>
 <translation id="985602178874221306">Chromium લેખકો</translation>
diff --git a/chrome/app/resources/chromium_strings_hi.xtb b/chrome/app/resources/chromium_strings_hi.xtb
index 32f1271d..eb9c126 100644
--- a/chrome/app/resources/chromium_strings_hi.xtb
+++ b/chrome/app/resources/chromium_strings_hi.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">आप चाहें, तो: क्रोमियम ओएस को यह अनुमति दे सकते हैं कि वह गड़बड़ी की जानकारी और इस्तेमाल से जुड़ा डेटा Google को अपने-आप भेज सके. ऐसा करके आप क्रोमियम ओएस की सुविधाओं और परफ़ॉर्मेंस को बेहतर बनाने में मदद कर सकते हैं.</translation>
 <translation id="2347108572062610441">इस एक्सटेंशन ने यह बदल दिया है कि जब आप क्रोमियम प्रारंभ करते हैं तब कौन सा पृष्‍ठ दिखाया जाए.</translation>
 <translation id="2396765026452590966">एक्सटेंशन "<ph name="EXTENSION_NAME" />" ने यह बदल दिया है कि जब आप क्रोमियम प्रारंभ करते हैं तब कौन सा पृष्‍ठ दिखाया जाए.</translation>
-<translation id="2442081746662839303">क्या आप <ph name="NEW_USER" /> के लिए नया क्रोमियम स्पेस बनाना चाहते हैं?</translation>
 <translation id="2483889755041906834">क्रोमियम में</translation>
 <translation id="2485422356828889247">विस्थापित करें</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> चालू करने के लिए क्रोमियम को रीस्टार्ट करें</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">ऐसा लगता है कि प्रोफ़ाइल का उपयोग अन्य क्रोमियम प्रोसेस (<ph name="PROCESS_ID" />) द्वारा किसी अन्य कंप्यूटर (<ph name="HOST_NAME" />) पर किया जा रहा है. क्रोमियम ने प्रोफ़ाइल को लॉक कर दिया है ताकि वह दूषित न हो. अगर आप पक्का हैं कि कोई अन्य प्रोसेस इस प्रोफ़ाइल का उपयोग नहीं कर रही हैं, तो आप प्रोफ़ाइल को अनलॉक कर सकते हैं और क्रोमियम को फिर से लॉन्च कर सकते हैं.</translation>
 <translation id="469338717132742108">क्रोमियम OS के लिए सहायता पाएं</translation>
 <translation id="4708774505295300557">इस कंप्यूटर पर पहले किसी अन्य व्यक्ति ने <ph name="ACCOUNT_EMAIL_LAST" /> के रूप में Chromium में साइन इन किया. अपनी जानकारी अलग रखने के लिए कृपया नया Chromium उपयोगकर्ता बनाएं.</translation>
-<translation id="4745225042341419983">इस स्पेस का ब्राउज़िंग डेटा इस डिवाइस से मिटा दिया जाएगा. डेटा वापस पाने के लिए, क्रोमियम में इसके तौर पर साइन इन करें</translation>
 <translation id="4746050847053251315">फिर भी क्रोमियम छोड़ें?</translation>
 <translation id="4748217263233248895">क्रोमियम के लिए एक खास सुरक्षा अपडेट अभी लागू किया गया था. अभी रीस्टार्ट करें और हम आपके टैब बहाल कर देंगे.</translation>
 <translation id="4750035648288509542">करीब-करीब अपडेट हो गया है! अपडेट पूरा करने के लिए क्रोमियम को फिर से लॉन्च करें. गुप्त विंडो फिर से नहीं खुलेंगी.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">क्रोमियम पृष्ठभूमि मोड में है.</translation>
 <translation id="4987820182225656817">अतिथि कुछ भी छोड़े बिना क्रोमियम का उपयोग कर सकते हैं.</translation>
 <translation id="4994636714258228724">स्वयं को क्रोमियम में जोड़ें</translation>
-<translation id="5053724573690775822">क्या आप क्रोमियम पर काम से जुड़ा नया स्पेस बनाना चाहते हैं?</translation>
 <translation id="5224391634244552924">कोई भी पासवर्ड सेव नहीं किया गया है. आप जब अपने पासवर्ड सेव करते हैं, तो क्रोमियम उनकी जांच कर सकता है.</translation>
 <translation id="5277894862589591112">अपने बदलाव लागू करने के लिए, क्रोमियम को फिर से लॉन्च करें</translation>
 <translation id="5358375970380395591">आप प्रबंधित खाते से साइन इन कर रहे हैं और उसके एडमिन को अपनी क्रोमियम प्रोफ़ाइल पर नियंत्रण दे रहे हैं. आपका क्रोमियम डेटा, जैसे आपके ऐप्लिकेशन, बुकमार्क, इतिहास, पासवर्ड, और दूसरे सेटिंग स्थायी रूप से <ph name="USER_NAME" /> से जुड़ जाएंगे. आप Google खाता डैशबोर्ड के ज़रिए इस डेटा को मिटा सकेंगे, लेकिन आप किसी अन्य खाते से इस डेटा को जोड़ नहीं सकेंगे. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">अगर क्रोमियम के साथ आने वाला पीडीएफ़ व्यूअर मौजूद न हो, तो क्रोमियम प्रिंट की झलक नहीं दिखा पाएगा.</translation>
 <translation id="5427571867875391349">क्रोमियम को अपने डिफ़ॉल्ट ब्राउज़र के रूप में सेट करें</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - क्रोमियम बीटा</translation>
-<translation id="544968170749360982">आपने <ph name="EXISTING_USER" /> के स्पेस में नए खाते से साइन इन किया था. क्या आप अपने डेटा को अलग रखने के लिए, <ph name="NEW_USER" /> के लिए नया क्रोमियम स्पेस बनाना चाहते हैं?</translation>
 <translation id="5479196819031988440">क्रोमियम OS यह पेज नहीं खोल सकता.</translation>
 <translation id="5480860683791598150">इस साइट से आपकी जगह की जानकारी शेयर करने के लिए क्रोमियम को आपकी जगह की जानकारी का एक्सेस चाहिए</translation>
 <translation id="549669000822060376">कृपया क्रोमियम द्वारा नवीनतम सिस्टम अपडेट इंस्टॉल करने के दौरान प्रतीक्षा करें.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">प्रवेश करने में किसी गड़बड़ी के कारण क्रोमियम आपका डेटा समन्‍वयित नहीं कर सका.</translation>
 <translation id="6096348254544841612">क्रोमियम को पसंद के मुताबिक बनाएं और नियंत्रित करें. अपडेट उपलब्ध है.</translation>
 <translation id="6120345080069858279">क्रोमियम इस पासवर्ड को आपके Google खाते में सेव कर लेगा. आपको इसे याद रखने की ज़रूरत नहीं है.</translation>
-<translation id="6128834065531097268">आपने <ph name="EXISTING_USER" /> के स्पेस में, काम से जुड़े खाते से साइन इन किया था. क्या आप अपने डेटा को अलग रखने के लिए, <ph name="WORK_DOMAIN" /> के लिए नया क्रोमियम स्पेस बनाना चाहते हैं?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> खतरनाक है, इसलिए क्रोमियम ने उसे अवरोधित कर दिया है.</translation>
 <translation id="6134968993075716475">सुरक्षित ब्राउज़िंग की सुविधा बंद है. 'क्रोमियम' इसे चालू करने का सुझाव देता है.</translation>
 <translation id="6212496753309875659">इस कंप्‍यूटर में पहले से क्रोमियम का ज़्यादा नया वर्शन है. अगर सॉफ़्टवेयर काम नहीं कर रहा है, तो कृपया क्रोमियम अनइंस्‍टॉल करें और फिर से प्रयास करें.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">साथ ही, क्रोमियम (<ph name="URL" />) का डेटा साफ़ करें</translation>
 <translation id="7585853947355360626">अगर इस पेज पर सेटिंग नहीं दिखती है, तो अपनी <ph name="LINK_BEGIN" />
      क्रोमियम OS सेटिंग<ph name="LINK_END" /> देखें</translation>
-<translation id="7607142834923530546">आपने काम से जुड़े खाते से साइन इन किया है. क्या आप अपने निजी डेटा को अलग रखने के लिए, <ph name="NEW_USER" /> के लिए नया क्रोमियम स्पेस बनाना चाहते हैं?</translation>
 <translation id="761356813943268536">Chromium आपके कैमरे और माइक्रोफ़ोन का उपयोग कर रहा है.</translation>
 <translation id="7617377681829253106">क्रोमियम पहले से बेहतर हो गया है</translation>
 <translation id="7628001322379820951">क्रोमियम को आपके कंप्यूटर पर, नुकसान पहुंचाने वाला सॉफ़्टवेयर मिला है</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">यह क्रोमियम का द्वितीयक इंस्टॉलेशन है और इसे आपका डिफ़ॉल्ट ब्राउज़र नहीं बनाया जा सकता.</translation>
 <translation id="7979877361127045932">क्रोमियम मेन्यू में छिपाएं</translation>
 <translation id="8013436988911883588">क्रोमियम को ऐक्सेस मिलने के बाद, वेबसाइटें आपसे ऐक्सेस मांग सकेंगी.</translation>
-<translation id="8022442821873033760">क्रोमियम पर अपनी नई प्रोफ़ाइल सेट अप करें</translation>
 <translation id="81770708095080097">यह फ़ाइल खतरनाक है, इसलिए क्रोमियम ने इसे रोक दिया है.</translation>
 <translation id="8248265253516264921">अगर किसी इमेज के बारे में मददगार जानकारी मौजूद नहीं है, तो 'क्रोमियम' उसके बारे में जानकारी देने की कोशिश करेगा. जानकारी तैयार करने के लिए, इमेज Google को भेजी जाती हैं. आप किसी भी समय सेटिंग में जाकर इसे बंद कर सकते हैं.</translation>
 <translation id="8266560134891435528">क्रोमियम आपके पासवर्ड की जांच नहीं कर सकता, क्योंकि आपने साइन इन नहीं किया है</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{एक दिन के अंदर क्रोमियम को फिर से लॉन्च करें}one{# दिनों के अंदर क्रोमियम को फिर से लॉन्च करें}other{# दिनों के अंदर क्रोमियम को फिर से लॉन्च करें}}</translation>
 <translation id="8453117565092476964">इंस्‍टॉलर संग्रह खराब या अमान्‍य है. कृपया क्रोमियम फिर से डाउनलोड करें.</translation>
 <translation id="8493179195440786826">क्रोमियम पुराना हो गया है</translation>
-<translation id="8545858702702650646">क्रोमियम की कई जगहों पर खाता बनाने वाली सुविधा में से अपने लिए चुनें</translation>
 <translation id="8558383651099478961">आपके अभिभावक ने क्रोमियम के लिए, "साइट, ऐप्लिकेशन, और एक्सटेंशन के लिए अनुमतियां" को बंद कर दिया है. इस <ph name="EXTENSION_TYPE_PARAMETER" /> को जोड़ने की अनुमति नहीं है.</translation>
 <translation id="8568283329061645092">आप जब अपने Google खाते से साइन इन करते हैं, तब क्रोमियम आपके पासवर्ड की जांच कर सकता है</translation>
 <translation id="8586442755830160949">कॉपीराइट <ph name="YEAR" /> The Chromium Authors. सर्वाधिकार सुरक्षित.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">आपके सिस्टम एडमिन ने 'क्रोमियम' को इस तरह कॉन्फ़िगर किया है कि वह <ph name="TARGET_URL_HOSTNAME" /> को ऐक्सेस करने के लिए कोई दूसरा ब्राउज़र खोले.</translation>
 <translation id="9164845895615421500">क्रोमियम हफ़्ते में एक बार अनचाहे सॉफ़्टवेयर की जांच करता है. पिछली जांच: कुछ सेकंड पहले की गई.</translation>
 <translation id="9190841055450128916">क्रोमियम (mDNS-In)</translation>
-<translation id="9191317372410544836">क्रोमियम की कई जगहों पर खाता बनाने वाली सुविधा का इस्तेमाल करके, इस डिवाइस पर अपनी ब्राउज़िंग को आसान बनाएं</translation>
 <translation id="93478295209880648">हो सकता है क्रोमियम सही तरीके से काम ना करें क्‍योंकि अब वह Windows XP या Windows Vista पर काम नहीं करता है</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> चाहता है कि इस डिवाइस का उपयोग करने से पहले आप इन सेवा की शर्तों को पढ़ लें और उन्हें स्वीकार करें. ये शर्तें क्रोमियम OS शर्तों का विस्तार, उनमें बदलाव या उन्हें सीमित नहीं करतीं.</translation>
 <translation id="985602178874221306">क्रोमियम लेखक</translation>
diff --git a/chrome/app/resources/chromium_strings_hr.xtb b/chrome/app/resources/chromium_strings_hr.xtb
index 0c44e04..fcd68cf 100644
--- a/chrome/app/resources/chromium_strings_hr.xtb
+++ b/chrome/app/resources/chromium_strings_hr.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Nije obavezno: pomozite poboljšati značajke i izvedbu OS-a Chromium automatskim slanjem podataka o upotrebi i dijagnostici Googleu.</translation>
 <translation id="2347108572062610441">Ovo proširenje promijenilo je stranicu koja se prikazuje prilikom pokretanja Chromiuma.</translation>
 <translation id="2396765026452590966">Proširenje "<ph name="EXTENSION_NAME" />" promijenilo je stranicu koja se prikazuje prilikom pokretanja Chromiuma.</translation>
-<translation id="2442081746662839303">Izraditi novi prostor u Chromiumu kojim će se koristiti <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">U Chromiumu</translation>
 <translation id="2485422356828889247">Deinstaliraj</translation>
 <translation id="2527042973354814951">Ponovo pokrenite Chromium da biste omogućili dodatak <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Izgleda da neki drugi proces Chromiuma (<ph name="PROCESS_ID" />) na nekom drugom računalu (<ph name="HOST_NAME" />) upotrebljava taj profil. Chromium je zaključao profil da se profil ne bi promijenio. Ako ste sigurni da nijedan drugi proces ne upotrebljava taj profil, možete ga otključati i ponovo pokrenuti Chromium.</translation>
 <translation id="469338717132742108">Potraži pomoć za upotrebu OS-a Chromium</translation>
 <translation id="4708774505295300557">Netko se prethodno prijavio na Chromium na ovom računalu kao <ph name="ACCOUNT_EMAIL_LAST" />. Izradite novog korisnika Chromiuma kako bi vaši podaci bili odvojeni.</translation>
-<translation id="4745225042341419983">Podaci o pregledavanju ovog prostora izbrisat će se s ovog uređaja. Da biste vratili te podatke, prijavite se na Chromium kao</translation>
 <translation id="4746050847053251315">Želite li ipak zatvoriti Chromium?</translation>
 <translation id="4748217263233248895">Upravo je primijenjeno posebno sigurnosno ažuriranje za Chromium. Ponovo pokrenite sustav i vratit ćemo vaše kartice.</translation>
 <translation id="4750035648288509542">Ažuriranje je skoro gotovo! Ponovo pokrenite Chromium da biste završili ažuriranje. Anonimni prozori neće se ponovno otvoriti.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium radi u pozadini.</translation>
 <translation id="4987820182225656817">Gosti mogu upotrebljavati Chromium bez ostavljanja tragova o upotrebi.</translation>
 <translation id="4994636714258228724">Dodajte sebe kao korisnika Chromiuma</translation>
-<translation id="5053724573690775822">Izraditi novi poslovni prostor u Chromiumu?</translation>
 <translation id="5224391634244552924">Nema nijedne spremljene zaporke. Chromium može provjeriti vaše zaporke kad ih spremite.</translation>
 <translation id="5277894862589591112">Da bi se vaše promjene primijenile, ponovo pokrenite Chromium</translation>
 <translation id="5358375970380395591">Prijavljujete se upravljanim računom i dajete administratoru kontrolu nad svojim profilom u sustavu Chromium. Vaši podaci u sustavu Chromium, primjerice, aplikacije, oznake, povijest, zaporke i ostale postavke, trajno će se povezati s korisnikom <ph name="USER_NAME" />. Moći ćete izbrisati te podatke putem Nadzorne ploče Google računa, ali ih nećete moći povezati s nekim drugim računom. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium ne može prikazati pregled ispisa kad nedostaje ugrađeni PDF preglednik.</translation>
 <translation id="5427571867875391349">Postavite Chrome kao zadani preglednik</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">Prijavili ste se novim računom u prostor kojim se koristi <ph name="EXISTING_USER" />. Želite li izraditi novi prostor u Chromiumu kojim će se koristiti <ph name="NEW_USER" /> da bi vaši podaci ostali odvojeni?</translation>
 <translation id="5479196819031988440">OS Chromium ne može otvoriti ovu stranicu.</translation>
 <translation id="5480860683791598150">Chromium treba dopuštenje za pristup vašoj lokaciji da bi je podijelio s ovom web-lokacijom</translation>
 <translation id="549669000822060376">Pričekajte da Chromium instalira najnovija ažuriranja sustava.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium nije mogao sinkronizirati vaše podatke zbog pogreške prilikom prijave.</translation>
 <translation id="6096348254544841612">Prilagodite i kontrolirajte Chromium. Dostupno je ažuriranje.</translation>
 <translation id="6120345080069858279">Chromium će spremiti tu zaporku na vaš Google račun. Ne morate je pamtiti.</translation>
-<translation id="6128834065531097268">Prijavili ste se poslovnim računom u prostor kojim se koristi <ph name="EXISTING_USER" />. Želite li izraditi novi prostor u Chromiumu za <ph name="WORK_DOMAIN" /> da bi vaši podaci ostali odvojeni?</translation>
 <translation id="6129621093834146363">Datoteka <ph name="FILE_NAME" /> opasna je, pa ju je Chromium blokirao.</translation>
 <translation id="6134968993075716475">Sigurno je pregledavanje isključeno. Chromium preporučuje da ga uključite.</translation>
 <translation id="6212496753309875659">Ovo računalo već ima noviju verziju Chromiuma. Ako softver ne funkcionira, deinstalirajte Chromium i pokušajte ponovo.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Izbriši i podatke s Chromiuma (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ako se postavka ne prikazuje na ovoj stranici, pogledajte <ph name="LINK_BEGIN" />
       postavke OS-a Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Prijavili ste se poslovnim računom. Želite li izraditi novi prostor u Chromiumu kojim će se koristiti <ph name="NEW_USER" /> da bi vaši osobni podaci ostali odvojeni?</translation>
 <translation id="761356813943268536">Chromium upotrebljava vašu kameru i mikrofon.</translation>
 <translation id="7617377681829253106">Chromium je upravo postao bolji</translation>
 <translation id="7628001322379820951">Chromium je pronašao štetan softver na vašem računalu</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Ovo je sekundarna instalacija Chromiuma, pa on ne može biti vaš zadani preglednik.</translation>
 <translation id="7979877361127045932">Sakrij u izborniku Chromiuma</translation>
 <translation id="8013436988911883588">Kada Chromium dobije pristup, web-lokacije će vas moći tražiti pristup.</translation>
-<translation id="8022442821873033760">Postavljanje novog Chromium Spacea</translation>
 <translation id="81770708095080097">Datoteka je opasna i Chromium ju je blokirao.</translation>
 <translation id="8248265253516264921">Ako slika nema koristan opis, Chromium će ga pokušati pružiti. Da bi se izradili opisi, slike se šalju Googleu. To možete isključiti u bilo kojem trenutku u postavkama.</translation>
 <translation id="8266560134891435528">Chromium ne može provjeriti vaše zaporke jer niste prijavljeni</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Ponovo pokrenite Chromium u roku od jednog dana}one{Ponovo pokrenite Chromium u roku od # dana}few{Ponovo pokrenite Chromium u roku od # dana}other{Ponovo pokrenite Chromium u roku od # dana}}</translation>
 <translation id="8453117565092476964">Arhiva programa za instalaciju oštećena je ili nevažeća. Ponovo preuzmite Chromium.</translation>
 <translation id="8493179195440786826">Chromium je zastario</translation>
-<translation id="8545858702702650646">Odaberite svoj Chromium Space</translation>
 <translation id="8558383651099478961">Tvoj je roditelj isključio "Dopuštenja za web-lokacije, aplikacije i proširenja" za Chromium. Nije dopušteno dodati <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium može provjeriti vaše zaporke kad se prijavite Google računom</translation>
 <translation id="8586442755830160949">Autorska prava <ph name="YEAR" />. Autori Chromiuma. Sva prava pridržana.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Vaš administrator sustava konfigurirao je Chromium tako da otvara zamjenski preglednik radi pristupa URL-u<ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium provjerava ima li neželjenog softvera jednom tjedno. Posljednja provjera upravo je izvršena.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Koristite Chromium Spaces za organiziranje pregledavanja na ovom uređaju</translation>
 <translation id="93478295209880648">Chromium možda neće ispravno raditi jer više nije podržan na sustavima Windows XP i Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> zahtijeva da pročitate i prihvatite sljedeće Uvjete pružanja usluge prije upotrebe ovog uređaja. Ti uvjeti ne predstavljaju proširenje, izmjenu ili ograničenje Uvjeta OS-a Chromium.</translation>
 <translation id="985602178874221306">Autori Chromiuma</translation>
diff --git a/chrome/app/resources/chromium_strings_hu.xtb b/chrome/app/resources/chromium_strings_hu.xtb
index b3e08f0..b349675 100644
--- a/chrome/app/resources/chromium_strings_hu.xtb
+++ b/chrome/app/resources/chromium_strings_hu.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Nem kötelező: segítse a Chromium OS funkcióinak és teljesítményének javítását azzal, hogy automatikusan elküldi a diagnosztikai és használati adatokat a Google-nak.</translation>
 <translation id="2347108572062610441">Ez a bővítmény módosította, hogy melyik oldal jelenjen meg a Chromium indításakor.</translation>
 <translation id="2396765026452590966">A(z) <ph name="EXTENSION_NAME" /> bővítmény módosította, hogy melyik oldal jelenjen meg a Chromium indításakor.</translation>
-<translation id="2442081746662839303">Létrehoz új Chromium Space-profilt <ph name="NEW_USER" /> számára?</translation>
 <translation id="2483889755041906834">A Chromiumban</translation>
 <translation id="2485422356828889247">Eltávolítás</translation>
 <translation id="2527042973354814951">A Chromium újraindítása a(z) <ph name="PLUGIN_NAME" /> engedélyezéséhez</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Úgy tűnik, a profilt egy másik Chromium-folyamat (<ph name="PROCESS_ID" />) használja egy másik számítógépen (<ph name="HOST_NAME" />). A Chromium zárolta a profilt, hogy az ne sérülhessen. Ha biztos benne, hogy nem használja másik folyamat a profilt, feloldhatja azt, és újraindíthatja a Chromiumot.</translation>
 <translation id="469338717132742108">Segítség a Chromium OS használatával kapcsolatban</translation>
 <translation id="4708774505295300557">Valaki korábban <ph name="ACCOUNT_EMAIL_LAST" /> néven bejelentkezett a Chromiumba erről a számítógépről. Az adatai elkülönítéséhez hozzon létre új Chromium-felhasználót.</translation>
-<translation id="4745225042341419983">Az ehhez a profilhoz tartozó böngészési adatok törlődnek majd erről az eszközről. Az adatok visszaállításához jelentkezzen be a Chromiumba a következő felhasználóként:</translation>
 <translation id="4746050847053251315">Biztosan kilép a Chromiumból?</translation>
 <translation id="4748217263233248895">A rendszer egy speciális biztonsági frissítést alkalmazott a Chromiumon. Indítsa újra a számítógépet, a lapokat majd mi visszaállítjuk.</translation>
 <translation id="4750035648288509542">Már majdnem naprakész! Indítsa újra a Chromiumot a frissítés befejezéséhez. Az inkognitó ablakok nem fognak újra megnyílni.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">A Chromium háttérmódban van.</translation>
 <translation id="4987820182225656817">A vendégek úgy használhatják a Chromiumot, hogy nem hagynak hátra semmit.</translation>
 <translation id="4994636714258228724">Adja hozzá magát a Chromiumban</translation>
-<translation id="5053724573690775822">Új munkahelyi Chromium Space-profilt szeretne létrehozni?</translation>
 <translation id="5224391634244552924">Nincsenek mentett jelszavak. A Chromium képes a jelszavak ellenőrzésére, ha Ön elmenti őket.</translation>
 <translation id="5277894862589591112">A módosítások alkalmazásához indítsa újra a Chromiumot</translation>
 <translation id="5358375970380395591">Kezelt fiókkal jelentkezik be, és annak adminisztrátora számára hozzáférést biztosít Chromium-profiljához. Chromium-adatait – például alkalmazásait, könyvjelzőit, előzményeit, jelszavait és más beállításait – a rendszer véglegesen társítja a(z) <ph name="USER_NAME" /> fiókhoz. Ezen adatokat a Google-fiók Irányítópultján törölheti, de más fiókhoz nem társíthatja őket. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">A Chromium nem tudja megjeleníteni a nyomtatási előnézetet, ha nincs beépített PDF-megjelenítő.</translation>
 <translation id="5427571867875391349">A Chromium beállítása alapértelmezett böngészőként</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Béta</translation>
-<translation id="544968170749360982">Új fiókkal jelentkezett be <ph name="EXISTING_USER" /> Space-profiljába. Szeretne új Chromium Space-profilt létrehozni <ph name="NEW_USER" /> felhasználóhoz, hogy adatait elkülönítve tárolhassa?</translation>
 <translation id="5479196819031988440">A Chromium OS nem tudja megnyitni ezt az oldalt.</translation>
 <translation id="5480860683791598150">A Chromiumnak a helyadatokhoz való hozzáférésre van szüksége ahhoz, hogy megoszthassa az Ön tartózkodási helyét a webhellyel</translation>
 <translation id="549669000822060376">Kérjük, várjon, amíg a Chromium telepíti a legutóbbi rendszerfrissítéseket.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">A Chromium egy bejelentkezési hiba miatt nem tudta szinkronizálni az adatokat.</translation>
 <translation id="6096348254544841612">A Chromium személyre szabása és vezérlése. Van rendelkezésre álló frissítés.</translation>
 <translation id="6120345080069858279">A Chromium ezt a jelszót Google-fiókjába menti. Nem kell megjegyeznie.</translation>
-<translation id="6128834065531097268">Ön munkahelyi fiókkal jelentkezett be <ph name="EXISTING_USER" /> Space-profiljába. Szeretne új Chromium Space-profilt létrehozni a(z) <ph name="WORK_DOMAIN" /> domainhez, hogy adatait elkülönítve tárolhassa?</translation>
 <translation id="6129621093834146363">A(z) <ph name="FILE_NAME" /> veszélyes, ezért a Chromium letiltotta.</translation>
 <translation id="6134968993075716475">A Biztonságos Böngészés ki van kapcsolva. A Chromium a szolgáltatás bekapcsolását javasolja.</translation>
 <translation id="6212496753309875659">A számítógépen már megtalálható a Chromium újabb verziója. Ha a szoftver nem működik, kérjük, távolítsa el a Chromiumot, majd próbálkozzon újra.</translation>
@@ -198,7 +193,6 @@
 <translation id="7549178288319965365">A Chromium OS névjegye</translation>
 <translation id="7561906087460245826">Az adatokat is törölje a Chromiumból (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ha valamelyik beállítás nem látható ezen az oldalon, keresse a <ph name="LINK_BEGIN" />Chromium OS beállításai<ph name="LINK_END" /> között</translation>
-<translation id="7607142834923530546">Ön munkahelyi fiókkal jelentkezett be. Szeretne új Chromium Space-profilt létrehozni <ph name="NEW_USER" /> felhasználóhoz, hogy személyes adatait elkülönítve tárolhassa?</translation>
 <translation id="761356813943268536">A Chromium használja a kamerát és a mikrofont.</translation>
 <translation id="7617377681829253106">A Chromium még jobb lett</translation>
 <translation id="7628001322379820951">A Chromium kártékony szoftvert talált az Ön számítógépén</translation>
@@ -216,7 +210,6 @@
 <translation id="7975919845073681630">Ez a Chromium második telepítése, amelyet nem állíthat be az alapértelmezett böngészővé.</translation>
 <translation id="7979877361127045932">Elrejtés a Chromium-menüben</translation>
 <translation id="8013436988911883588">Miután hozzáférést biztosított a Chromiumnak, a webhelyek is hozzáférést kérhetnek.</translation>
-<translation id="8022442821873033760">Új Chromium Space-profil beállítása</translation>
 <translation id="81770708095080097">Ez a fájl veszélyes, ezért a Chromium letiltotta.</translation>
 <translation id="8248265253516264921">Ha valamelyik kép nem rendelkezik hasznos leírással, akkor a Chromium igyekszik leírást adni róla. A Google automatikusan megkapja a leírások létrehozásához szükséges képeket. A funkciót a beállítások között bármikor kikapcsolhatja.</translation>
 <translation id="8266560134891435528">A Chromium nem tudja ellenőrizni az Ön jelszavait, mert nincs bejelentkezve</translation>
@@ -227,7 +220,6 @@
 <translation id="8417404458978023919">{0,plural, =1{A Chromiumot 1 napon belül újra kell indítani}other{A Chromiumot # napon belül újra kell indítani}}</translation>
 <translation id="8453117565092476964">A telepítő tömörített állománya megsérült vagy érvénytelen. Kérjük, töltse le újra a Chromium böngészőt.</translation>
 <translation id="8493179195440786826">A Chromium elavult</translation>
-<translation id="8545858702702650646">Chromium Space-profil kiválasztása</translation>
 <translation id="8558383651099478961">Szülőd kikapcsolta a Chromium „Engedélyek webhelyek, alkalmazások és bővítmények számára” beállítását. A(z) <ph name="EXTENSION_TYPE_PARAMETER" /> nem telepíthető.</translation>
 <translation id="8568283329061645092">A Chromium ellenőrizni tudja a mentett jelszavakat, ha Ön bejelentkezik Google-fiókjával</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> – A Chromium szerzői. Minden jog fenntartva.</translation>
@@ -253,7 +245,6 @@
 <translation id="9158494823179993217">Rendszergazdája úgy állította be a Chromiumot, hogy másik böngészőt nyisson meg a(z) <ph name="TARGET_URL_HOSTNAME" /> eléréséhez.</translation>
 <translation id="9164845895615421500">A Chromium hetente egyszer keres nemkívánatos szoftvereket. Legutóbb frissítve: az imént.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">A Chromium Space-profilok segítségével rendszerezheti böngészési tevékenységeit ezen az eszközön</translation>
 <translation id="93478295209880648">Előfordulhat, hogy a Chromium nem működik majd megfelelően, mert a továbbiakban már nem támogatja a következő rendszereket: Windows XP és Windows Vista</translation>
 <translation id="95514773681268843">A(z) <ph name="DOMAIN" /> megköveteli, hogy olvassa, majd fogadja el a következő Általános Szerződési Feltételeket, mielőtt használná ezt az eszközt. Ezek a feltételek nem bővítik, módosítják vagy korlátozzák a Chromium OS feltételeit.</translation>
 <translation id="985602178874221306">A Chromium szerzői</translation>
diff --git a/chrome/app/resources/chromium_strings_hy.xtb b/chrome/app/resources/chromium_strings_hy.xtb
index d7f0c52..f860ddc 100644
--- a/chrome/app/resources/chromium_strings_hy.xtb
+++ b/chrome/app/resources/chromium_strings_hy.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Ըստ ցանկության. օգնեք ավելի լավը դարձնել Chromium OS-ի գործառույթներն ու աշխատանքը՝ Google-ին ավտոմատ ուղարկելով ախտորոշման և օգտագործման տվյալները։</translation>
 <translation id="2347108572062610441">Այս ընդլայնումը փոխել է Chromium-ի մեկնարկի ժամանակ ցուցադրվող էջը:</translation>
 <translation id="2396765026452590966">«<ph name="EXTENSION_NAME" />» ընդլայնումը փոխել է Chromium-ի մեկնարկի ժամանակ ցուցադրվող էջը:</translation>
-<translation id="2442081746662839303">Ստեղծե՞լ Chromium-ի նոր տարածք <ph name="NEW_USER" />-ի համար</translation>
 <translation id="2483889755041906834">Chromium-ի մեջ</translation>
 <translation id="2485422356828889247">Ապատեղադրել</translation>
 <translation id="2527042973354814951">Վերագործարկեք Chromium-ը՝ <ph name="PLUGIN_NAME" /> փլագինը միացնելու համար</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Կարծես թե պրոֆիլն օգտագործվում է Chromium-ի այլ գործընթացի կողմից (<ph name="PROCESS_ID" />) այլ համակարգչում (<ph name="HOST_NAME" />): Chromium-ը կողպել է պրոֆիլը, որպեսզի այն չվնասվի: Եթե համոզված եք, որ պրոֆիլը չի օգտագործվում այլ գործընթացների կողմից, կարող եք ապակողպել պրոֆիլը և նորից գործարկել Chromium-ը:</translation>
 <translation id="469338717132742108">Chromium OS-ի օգնության էջ</translation>
 <translation id="4708774505295300557">Ինչ-որ մեկն այս համակարգչում <ph name="ACCOUNT_EMAIL_LAST" /> հասցեով մուտք է գործել Chromium: Ստեղծեք Chromium-ի նոր պրոֆիլ` ձեր տվյալներն առանձին պահելու համար:</translation>
-<translation id="4745225042341419983">Այս տարածքի այցելությունների պատմությունը կջնջվի սարքից։ Տվյալները վերականգնելու համար Chromium-ում մտեք հետևյալ հաշիվ՝</translation>
 <translation id="4746050847053251315">Փակե՞լ Chromium-ը։</translation>
 <translation id="4748217263233248895">Chromium-ի անվտանգության կարգավորումները հենց նոր թարմացվել են: Վերագործարկեք Chrome-ը, և ձեր ներդիրները կվերականգնվեն:</translation>
 <translation id="4750035648288509542">Գրեթե պատրաստ է։ Թարմացումն ավարտելու համար վերագործարկեք Chromium-ը։ Ինկոգնիտո պատուհանները նորից չեն բացվի։</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium-ն աշխատում է ֆոնային ռեժիմում:</translation>
 <translation id="4987820182225656817">Օգտագործելով Chromium-ը հյուրի ռեժիմում՝ դուք ոչ մի հետք չեք թողնում:</translation>
 <translation id="4994636714258228724">Ավելացրեք ձեր հաշիվը Chromium-ին</translation>
-<translation id="5053724573690775822">Ստեղծե՞լ Chromium-ի նոր աշխատանքային տարածք</translation>
 <translation id="5224391634244552924">Պահված գաղտնաբառեր չկան։ Chromium-ը կարող է ստուգել ձեր գաղտնաբառերը, երբ պահում եք դրանք։</translation>
 <translation id="5277894862589591112">Փոփոխությունները կիրառելու համար վերագործարկեք Chromium-ը</translation>
 <translation id="5358375970380395591">Դուք մուտք եք գործում վերահսկվող հաշիվ՝ թույլ տալով ադմինիստրատորին կառավարել ձեր Chromium պրոֆիլը: Ձեր Chromium-ի տվյալները, ինչպես օրինակ՝ հավելվածները, էջանիշները, պատմությունը, գաղտնաբառերը և այլ կարգավորումները, մշտապես կկապվեն <ph name="USER_NAME" />-ի հետ: Դուք կկարողանաք ջնջել այս տվյալները Google Dashboard-ի միջոցով, սակայն չեք կարողանա համակցել դրանք այլ հաշվի հետ: <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium-ը չի կարող ցույց տալ տպման նախադիտումը` առանց PDF-ի ներկառուցված դիտակի:</translation>
 <translation id="5427571867875391349">Դարձնել Chromium-ը կանխադրված դիտարկիչը</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium բետա</translation>
-<translation id="544968170749360982">Դուք <ph name="EXISTING_USER" />-ի տարածքում մուտք եք գործել նոր հաշվով։ Ուզո՞ւմ եք ստեղծել Chromium-ի նոր տարածք <ph name="NEW_USER" />-ի համար, որպեսզի ձեր տվյալներն առանձին պահվեն։</translation>
 <translation id="5479196819031988440">Chromium OS-ը չի կարող բացել այս էջը:</translation>
 <translation id="5480860683791598150">Chromium-ին այս կայքի համար անհրաժեշտ է ձեզ տեղորոշելու թույլտվություն</translation>
 <translation id="549669000822060376">Սպասեք` մինչ Chromium-ը տեղադրում է համակարգի նորագույն թարմացումները:</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium-ին չհաջողվեց համաժամացնել ձեր տվյալները՝ մուտք գործելիս առաջացած սխալի պատճառով:</translation>
 <translation id="6096348254544841612">Հասանելի է Chromium-ի նոր տարբերակը։</translation>
 <translation id="6120345080069858279">Chromium-ը կպահի այս գաղտնաբառը ձեր Google հաշվում: Գաղտնաբառը հիշելու կարիք չի լինի:</translation>
-<translation id="6128834065531097268">Դուք <ph name="EXISTING_USER" />-ի տարածքում մուտք եք գործել աշխատանքային հաշվով։ Ուզո՞ւմ եք ստեղծել Chromium-ի նոր տարածք <ph name="WORK_DOMAIN" /> տիրույթի համար, որպեսզի ձեր տվյալներն առանձին պահվեն։</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> ֆայլը վտանգավոր է, և Chromium-ն արգելափակել է այն:</translation>
 <translation id="6134968993075716475">Անվտանգ դիտարկումն անջատված է։ Chromium-ը խորհուրդ է տալիս միացնել այն։</translation>
 <translation id="6212496753309875659">Այս համակարգչում արդեն տեղադրված է Chromium-ի ավելի նոր տարբերակը: Եթե ծրագրակազմը չի աշխատում, ապատեղադրեք Chromium-ը և նորից փորձեք:</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Ջնջել նաև Chromium-ի տվյալները (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Եթե որևէ կարգավորում չտեսնեք այս էջում, փնտրեք այն ձեր <ph name="LINK_BEGIN" />
       Chromium OS-ի կարգավորումներում<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Դուք մուտք եք գործել աշխատանքային հաշվով։ Ուզո՞ւմ եք ստեղծել Chromium-ի նոր տարածք <ph name="NEW_USER" />-ի համար, որպեսզի ձեր անձնական տվյալներն առանձին պահվեն։</translation>
 <translation id="761356813943268536">Chromium-ն օգտագործում է ձեր տեսախցիկն ու խոսափողը:</translation>
 <translation id="7617377681829253106">Chromium-ը կատարելագործվել է</translation>
 <translation id="7628001322379820951">Chromium-ը ձեր համակարգչում վնասաբեր ծրագիր է հայտնաբերել։</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Սա Chromium-ի երկրորդային տեղադրումն է: Այն չի կարող դառնալ ձեր կանխադրված դիտարկիչը:</translation>
 <translation id="7979877361127045932">Թաքցնել Chromium-ի ընտրացանկից</translation>
 <translation id="8013436988911883588">Երբ Chromium-ը հասանելիություն ստանա, կայքերը կկարողանան ձեզնից հասանելիություն խնդրել։</translation>
-<translation id="8022442821873033760">Կարգավորեք ձեր նոր տարածքը Chromium-ում</translation>
 <translation id="81770708095080097">Այս ֆայլը վտանգավոր է, և Chromium-ն արգելափակել է այն:</translation>
 <translation id="8248265253516264921">Եթե պատկերն օգտակար նկարագրություն չունի, Chromium-ը կփորձի նոր նկարագրություն տրամադրել: Պատկերներն ուղարկվում են Google-ին՝ նկարագրություններ ստեղծելու համար։ Ցանկացած պահի կարգավորումներում կարող եք անջատել սա:</translation>
 <translation id="8266560134891435528">Chromium-ը չի կարող ստուգել ձեր գաղտնաբառերը, քանի որ դուք հաշիվ չեք մտել։</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Վերագործարկեք Chromium-ը մեկ օրվա ընթացքում}one{Վերագործարկեք Chromium-ը # օրվա ընթացքում}other{Վերագործարկեք Chromium-ը # օրվա ընթացքում}}</translation>
 <translation id="8453117565092476964">Տեղադրիչի արխիվը վնասված է կամ անվավեր: Նորից ներբեռնեք Chromium-ը:</translation>
 <translation id="8493179195440786826">Chromium-ը հնացած է</translation>
-<translation id="8545858702702650646">Ընտրեք ձեր տարածքը Chromium-ում</translation>
 <translation id="8558383651099478961">Ձեր ծնողն անջատել է «Թույլտվություններ կայքերի, հավելվածների և ընդլայնումների համար» պարամետրը Chromium-ում։ Այս <ph name="EXTENSION_TYPE_PARAMETER" />ն արգելափակված է և չի կարող ավելացվել։</translation>
 <translation id="8568283329061645092">Chromium-ը կարող է ստուգել ձեր գաղտնաբառերը, երբ մտնեք ձեր Google հաշիվ։</translation>
 <translation id="8586442755830160949">© <ph name="YEAR" /> The Chromium Authors: Բոլոր իրավունքները պահպանված են:</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Ձեր համակարգի ադմինիստրատորն այնպես է կարգավորել Chromium-ը, որ <ph name="TARGET_URL_HOSTNAME" /> կայքը բացվի մեկ այլ դիտարկիչով:</translation>
 <translation id="9164845895615421500">Chromium-ը ստուգում է անցանկալի ծրագրերի առկայությունը շաբաթը մեկ անգամ։ Վերջին անգամ ստուգվել է քիչ առաջ։</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Օգտագործեք Chromium Spaces-ը, որպեսզի ձեր աշխատանքը համացանցում այս սարքից ավելի կազմակերպված լինի</translation>
 <translation id="93478295209880648">Chromium-ը հնարավոր է չաշխատի ինչպես հարկն է, քանի որ այն այլևս չի աջակցվում Windows XP և Windows Vista համակարգերում</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" />-ը պահանջում է, որ նախքան սարքն օգտագործելը կարդաք և ընդունեք հետևյալ Օգտագործման պայմանները: Այս պայմանները չեն ընդլայնում, փոփոխում կամ սահմանափակում Chromium OS-ի պայմանները:</translation>
 <translation id="985602178874221306">Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_id.xtb b/chrome/app/resources/chromium_strings_id.xtb
index 911b501c..121c016 100644
--- a/chrome/app/resources/chromium_strings_id.xtb
+++ b/chrome/app/resources/chromium_strings_id.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Opsional: Bantu sempurnakan fitur dan performa Chromium OS dengan mengirimkan data diagnostik dan penggunaan secara otomatis ke Google.</translation>
 <translation id="2347108572062610441">Ekstensi ini telah mengubah apa yang ditampilkan oleh halaman saat Anda memulai Chromium.</translation>
 <translation id="2396765026452590966">Ekstensi "<ph name="EXTENSION_NAME" />" telah mengubah apa yang ditampilkan oleh halaman saat Anda memulai Chromium.</translation>
-<translation id="2442081746662839303">Buat space Chromium baru untuk <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">Di Chromium</translation>
 <translation id="2485422356828889247">Uninstal</translation>
 <translation id="2527042973354814951">Muat ulang Chromium untuk mengaktifkan <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Profil tersebut mungkin digunakan pada proses Chromium lainnya (<ph name="PROCESS_ID" />) pada komputer lain (<ph name="HOST_NAME" />). Chromium telah mengunci profil tersebut agar tidak rusak. Jika yakin tidak ada proses lain yang menggunakan profil tersebut, Anda dapat membuka profil dan meluncurkan Chromium kembali.</translation>
 <translation id="469338717132742108">Dapatkan bantuan Chromium OS</translation>
 <translation id="4708774505295300557">Sebelumnya ada seseorang yang masuk ke Chromium di komputer ini sebagai <ph name="ACCOUNT_EMAIL_LAST" />. Buat pengguna Chromium baru agar informasi Anda tetap terpisah.</translation>
-<translation id="4745225042341419983">Data penjelajahan space ini akan dihapus dari perangkat ini. Untuk memulihkan data, login ke Chromium sebagai</translation>
 <translation id="4746050847053251315">Tetap tutup Chromium?</translation>
 <translation id="4748217263233248895">Update keamanan khusus untuk Chromium baru saja diterapkan. Mulai ulang Chromium sekarang dan kami akan memulihkan tab Anda.</translation>
 <translation id="4750035648288509542">Update hampir selesai. Luncurkan ulang Chromium untuk menyelesaikan update. Jendela Samaran tidak akan dibuka kembali.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium berjalan di mode latar belakang.</translation>
 <translation id="4987820182225656817">Tamu dapat menggunakan Chromium tanpa meninggalkan apa pun.</translation>
 <translation id="4994636714258228724">Tambahkan diri Anda ke Chromium</translation>
-<translation id="5053724573690775822">Buat space Chromium Work baru?</translation>
 <translation id="5224391634244552924">Tidak ada sandi yang tersimpan. Chromium dapat memeriksa sandi Anda jika Anda menyimpannya.</translation>
 <translation id="5277894862589591112">Untuk menerapkan perubahan Anda, luncurkan ulang Chromium</translation>
 <translation id="5358375970380395591">Anda masuk dengan akun terkelola dan memberikan administratornya kontrol atas profil Chromium Anda. Data Chromium Anda, seperti aplikasi, bookmark, histori, sandi, dan setelan lain selamanya akan dikaitkan ke <ph name="USER_NAME" />. Anda dapat menghapus data ini melalui Dasbor Akun Google, namun Anda tidak akan dapat mengaitkan data ini dengan akun yang lain. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium tidak dapat menampilkan pratinjau cetak jika penampil PDF bawaan tidak ada.</translation>
 <translation id="5427571867875391349">Setel Chromium sebagai browser default</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">Anda login dengan akun baru di space <ph name="EXISTING_USER" />. Ingin membuat space Chromium baru untuk <ph name="NEW_USER" /> agar data Anda tetap terpisah?</translation>
 <translation id="5479196819031988440">Chromium OS tidak dapat membuka halaman ini.</translation>
 <translation id="5480860683791598150">Chromium memerlukan akses ke lokasi Anda untuk berbagi lokasi dengan situs ini</translation>
 <translation id="549669000822060376">Harap tunggu selagi Chromium memasang pembaruan sistem terkini.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium tidak dapat menyinkronkan data Anda karena kesalahan saat masuk.</translation>
 <translation id="6096348254544841612">Sesuaikan dan kontrol Chromium. Update tersedia.</translation>
 <translation id="6120345080069858279">Chromium akan menyimpan sandi ini di Akun Google. Anda tidak perlu mengingatnya.</translation>
-<translation id="6128834065531097268">Anda login dengan akun Kerja di space <ph name="EXISTING_USER" />. Ingin membuat space Chromium baru untuk <ph name="WORK_DOMAIN" /> agar data Anda tetap terpisah?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> berbahaya, sehingga Chromium memblokirnya.</translation>
 <translation id="6134968993075716475">Safe Browsing nonaktif. Chromium merekomendasikan untuk mengaktifkannya.</translation>
 <translation id="6212496753309875659">Komputer ini sudah memiliki versi Chromium yang lebih baru. Jika software tidak bekerja, harap coba uninstal Chromium, lalu cobalah kembali.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Hapus juga data dari Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Jika setelan tidak muncul di halaman ini, buka <ph name="LINK_BEGIN" />
       setelan Chromium OS<ph name="LINK_END" /> Anda</translation>
-<translation id="7607142834923530546">Anda login dengan akun kerja. Ingin membuat space Chromium baru untuk <ph name="NEW_USER" /> agar data pribadi Anda tetap terpisah?</translation>
 <translation id="761356813943268536">Chromium menggunakan kamera dan mikrofon Anda.</translation>
 <translation id="7617377681829253106">Chromium menjadi lebih baik</translation>
 <translation id="7628001322379820951">Chromium menemukan software berbahaya di komputer Anda</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Ini adalah pemasangan Chromium sekunder, dan tidak dapat digunakan sebagai browser default.</translation>
 <translation id="7979877361127045932">Sembunyikan di menu Chromium</translation>
 <translation id="8013436988911883588">Setelah Chromium memiliki akses, situs dapat meminta akses dari Anda.</translation>
-<translation id="8022442821873033760">Siapkan Chromium Space baru Anda</translation>
 <translation id="81770708095080097">File ini berbahaya, jadi Chromium telah memblokirnya.</translation>
 <translation id="8248265253516264921">Jika gambar tidak memiliki deskripsi yang berguna, Chromium akan mencoba memberikan deskripsi untuk Anda. Untuk membuat deskripsi, gambar akan dikirim ke Google. Anda dapat menonaktifkannya kapan saja di setelan.</translation>
 <translation id="8266560134891435528">Chromium tidak dapat memeriksa sandi karena Anda tidak login</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Luncurkan ulang Chromium dalam 1 hari}other{Luncurkan ulang Chromium dalam # hari}}</translation>
 <translation id="8453117565092476964">Arsip pemasang rusak atau tidak valid. Download Chromium lagi.</translation>
 <translation id="8493179195440786826">Chromium Terlalu Lawas</translation>
-<translation id="8545858702702650646">Pilih Chromium Space Anda</translation>
 <translation id="8558383651099478961">Orang tuamu telah menonaktifkan "Izin untuk situs, aplikasi, dan ekstensi" untuk Chromium. Tindakan menambahkan <ph name="EXTENSION_TYPE_PARAMETER" /> ini tidak diizinkan.</translation>
 <translation id="8568283329061645092">Chromium dapat memeriksa sandi saat Anda login dengan Akun Google</translation>
 <translation id="8586442755830160949">Hak Cipta <ph name="YEAR" /> Pengarang Chromium. Semua hak dilindungi undang-undang.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Administrator sistem Anda telah mengonfigurasi Chromium untuk membuka browser alternatif guna mengakses <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium memeriksa software yang tidak diinginkan seminggu sekali. Terakhir diperiksa: sesaat yang lalu.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Gunakan Chromium Space agar penjelajahan Anda tetap terkelola di perangkat ini</translation>
 <translation id="93478295209880648">Chromium mungkin tidak berfungsi dengan semestinya karena sudah tidak didukung di Windows XP atau Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> mewajibkan Anda membaca dan menyetujui Persyaratan Layanan sebelum menggunakan perangkat ini. Persyaratan ini tidak memperluas, mengubah, atau membatasi Persyaratan Chromium OS.</translation>
 <translation id="985602178874221306">Pengarang Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_is.xtb b/chrome/app/resources/chromium_strings_is.xtb
index edfc1f4..f63690f 100644
--- a/chrome/app/resources/chromium_strings_is.xtb
+++ b/chrome/app/resources/chromium_strings_is.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Valfrjálst: Hjálpa til við að bæta eiginleika og afköst Chromium OS með því að senda greiningar- og notkunargögn sjálfkrafa til Google.</translation>
 <translation id="2347108572062610441">Þessi viðbót hefur breytt því hvaða síða birtist þegar þú ræsir Chromium.</translation>
 <translation id="2396765026452590966">Viðbótin „<ph name="EXTENSION_NAME" />“ hefur breytt því hvaða síða birtist þegar þú ræsir Chromium.</translation>
-<translation id="2442081746662839303">Búa til nýtt Chromium svæði fyrir <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">í Chromium</translation>
 <translation id="2485422356828889247">Fjarlægja</translation>
 <translation id="2527042973354814951">Endurræstu Chromium til að kveikja á <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Annað Chromium ferli (<ph name="PROCESS_ID" />) virðist vera að nota þennan prófíl í annarri tölvu (<ph name="HOST_NAME" />). Chromium hefur læst prófílnum svo hann skemmist ekki. Ef þú ert viss um að engin önnur ferli séu að nota þennan prófíl geturðu tekið hann úr lás og endurræst Chromium.</translation>
 <translation id="469338717132742108">Fá hjálp með Chromium OS</translation>
 <translation id="4708774505295300557">Einhver skráði sig inn á Chromium úr þessari tölvu sem <ph name="ACCOUNT_EMAIL_LAST" />. Stofnaðu nýjan notanda í Chromium til að halda þínum upplýsingum aðskildum frá hinum notandanum.</translation>
-<translation id="4745225042341419983">Vefskoðunargögnum þessa svæðis verður eytt úr tækinu. Til að endurheimta gögn skaltu skrá þig inn í Chromium sem</translation>
 <translation id="4746050847053251315">Viltu samt loka Chromium?</translation>
 <translation id="4748217263233248895">Sérstök öryggisuppfærsla fyrir Chromium var tekin í notkun. Endurræstu núna og við opnum flipana þína aftur.</translation>
 <translation id="4750035648288509542">Næstum því uppfært! Endurræstu Chromium til að ljúka við uppfærslu. Huliðsgluggar enduropnast ekki.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium er í bakgrunnsstillingu.</translation>
 <translation id="4987820182225656817">Gestir geta notað Chromium án þess að skilja eftir sig nokkur spor.</translation>
 <translation id="4994636714258228724">Bættu þér við Chromium</translation>
-<translation id="5053724573690775822">Búa til nýtt vinnusvæði í Chromium?</translation>
 <translation id="5224391634244552924">Engin vistuð aðgangsorð. Chromium getur athugað aðgangsorðin þín þegar þú vistar þau.</translation>
 <translation id="5277894862589591112">Endurræstu Chromium til að breytingarnar taki gildi</translation>
 <translation id="5358375970380395591">Þú ert að skrá þig inn með stýrðum reikningi og veitir stjórnanda hans vald yfir Chromium prófílnum þínum. Chromium gögnin þín, s.s. forrit, bókamerki, ferill, aðgangsorð og aðrar stillingar, verða tengd varanlega við <ph name="USER_NAME" />. Þú getur eytt þessum gögnum á stjórnborði Google reikninga en getur ekki tengt þau öðrum reikningi. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium getur ekki birt prentforskoðun ef innbyggðan PDF-skoðara vantar.</translation>
 <translation id="5427571867875391349">Stilla Chromium sem sjálfgefinn vafra</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - tilraunaútgáfa Chromium</translation>
-<translation id="544968170749360982">Þú skráðir þig inn með nýjum reikningi á svæði sem <ph name="EXISTING_USER" /> á. Viltu búa til nýtt Chromium svæði sem <ph name="NEW_USER" /> getur notað til að halda gögnunum þínum aðskildum?</translation>
 <translation id="5479196819031988440">Stýrikerfi Chromium getur ekki opnað þessa síðu.</translation>
 <translation id="5480860683791598150">Chromium þarf staðsetningaraðgang til að deila staðsetningu þinni með þessu vefsvæði</translation>
 <translation id="549669000822060376">Bíddu á meðan Chromium setur upp nýjustu kerfisuppfærslunar.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium gat ekki samstillt gögnin þín vegna innskráningarvillu.</translation>
 <translation id="6096348254544841612">Sérstilltu og stjórnaðu Chromium. Uppfærsla er í boði.</translation>
 <translation id="6120345080069858279">Chromium mun vista þetta aðgangsorð á Google reikningnum þínum. Þú þarft ekki að muna það.</translation>
-<translation id="6128834065531097268">Þú skráðir þig inn með vinnureikningi á svæði sem <ph name="EXISTING_USER" /> á. Viltu búa til nýtt Chromium svæði fyrir <ph name="WORK_DOMAIN" /> til að halda gögnunum þínum aðskildum?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> er skaðleg skrá og Chromium útilokaði hana.</translation>
 <translation id="6134968993075716475">Slökkt er á öruggri vefskoðun. Chromium mælir með því að kveikt sé á henni.</translation>
 <translation id="6212496753309875659">Á þessari tölvu er þegar nýrri útgáfa af Chromium. Ef hugbúnaðurinn virkar ekki skaltu fjarlægja Chromium og reyna aftur.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Hreinsa líka gögn úr Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ef stilling sést ekki á þessari síðu skaltu athuga <ph name="LINK_BEGIN" />
       stillingar Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Þú skráðir þig inn með vinnureikningi. Viltu búa til nýtt Chromium svæði sem <ph name="NEW_USER" /> getur notað til að halda persónulegu gögnunum þínum aðskildum?</translation>
 <translation id="761356813943268536">Chromium er að nota myndavélina þína og hljóðnema.</translation>
 <translation id="7617377681829253106">Chromium er nú enn betra</translation>
 <translation id="7628001322379820951">Chromium fann skaðlegan hugbúnað í tölvunni þinni</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Þetta er aukaleg uppsetning á Chromium sem ekki er hægt að gera að sjálfgefnum vafra.</translation>
 <translation id="7979877361127045932">Fela í valmynd Chromium</translation>
 <translation id="8013436988911883588">Þegar Chromium hefur aðgang munu vefsvæði geta beðið þig um aðgang.</translation>
-<translation id="8022442821873033760">Setja upp nýja Chromium svæðið þitt</translation>
 <translation id="81770708095080097">Þessi skrá er hættuleg og þess vegna útilokaði Chromium hana.</translation>
 <translation id="8248265253516264921">Ef gagnlega lýsingu vantar við mynd reynir Chromium að útvega þér lýsingu. Til að búa til lýsingar eru myndir sendar til Google. Þú getur slökkt á þessu hvenær sem er í stillingunum.</translation>
 <translation id="8266560134891435528">Chromium getur ekki athugað aðgangsorðin þín því þú ert ekki skráð(ur) inn</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Endurræstu Chromium innan dags}one{Endurræstu Chromium innan # dags}other{Endurræstu Chromium innan # daga}}</translation>
 <translation id="8453117565092476964">Uppsetningarsafnskráin er skemmd eða ógild. Sæktu Chromium aftur.</translation>
 <translation id="8493179195440786826">Chromium er úrelt</translation>
-<translation id="8545858702702650646">Veldu Chromium svæðið þitt</translation>
 <translation id="8558383651099478961">Foreldrar þínir hafa slökkt á „Heimildum fyrir vefsvæði, forrit og viðbætur" fyrir Chromium. Ekki er leyfilegt að bæta við þessu <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium getur athugað aðgangsorðin þín þegar þú skráir þig inn með Google reikningnum þínum</translation>
 <translation id="8586442755830160949">Höfundarréttur <ph name="YEAR" /> höfundar Chromium. Allur réttur áskilinn.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Kerfisstjórinn þinn hefur stillt Chromium á að opna annan vafra fyrir <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium leitar að óæskilegum hugbúnaði einu sinni í viku. Síðast athugað: fyrir augnabliki.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-inn)</translation>
-<translation id="9191317372410544836">Notaðu Chromium svæði til að halda skipulagi á vefskoðun þinni í þessu tæki</translation>
 <translation id="93478295209880648">Vera kann að Chromium virki ekki sem skyldi vegna þess að vafrinn er ekki lengur studdur á Windows XP eða Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> krefst þess að þú lesir og samþykkir eftirfarandi þjónustuskilmála áður en þú notar þetta tæki. Þessir skilmálar auka ekki við, breyta eða takmarka skilmála Chromium OS.</translation>
 <translation id="985602178874221306">Höfundar Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_it.xtb b/chrome/app/resources/chromium_strings_it.xtb
index 7451f38..5510d9c 100644
--- a/chrome/app/resources/chromium_strings_it.xtb
+++ b/chrome/app/resources/chromium_strings_it.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">(Facoltativo) Contribuisci a migliorare le funzionalità e le prestazioni di Chromium OS inviando automaticamente a Google dati diagnostici e sull'utilizzo.</translation>
 <translation id="2347108572062610441">Questa estensione ha cambiato la pagina mostrata all'avvio di Chromium.</translation>
 <translation id="2396765026452590966">L'estensione "<ph name="EXTENSION_NAME" />" ha cambiato la pagina mostrata all'avvio di Chromium.</translation>
-<translation id="2442081746662839303">Vuoi creare un nuovo spazio Chromium per <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">In Chromium</translation>
 <translation id="2485422356828889247">Disinstalla</translation>
 <translation id="2527042973354814951">Riavvia Chromium per attivare <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Sembra che il profilo sia in uso in un altro processo Chromium (<ph name="PROCESS_ID" />) su un altro computer (<ph name="HOST_NAME" />). Chromium ha bloccato il profilo affinché non venga danneggiato. Se sei sicuro che nessun altro processo stia utilizzando questo profilo, puoi sbloccare il profilo e riavviare Chromium.</translation>
 <translation id="469338717132742108">Ricevi assistenza per Chromium OS</translation>
 <translation id="4708774505295300557">Qualcuno ha già eseguito l'accesso a Chromium su questo computer come <ph name="ACCOUNT_EMAIL_LAST" />. Crea un nuovo utente Chromium per tenere separate le tue informazioni.</translation>
-<translation id="4745225042341419983">I dati di navigazione di questo spazio verranno eliminati da questo dispositivo. Per recuperare i dati, accedi a Chromium come</translation>
 <translation id="4746050847053251315">Vuoi chiudere comunque Chromium?</translation>
 <translation id="4748217263233248895">È stato appena applicato un aggiornamento di sicurezza speciale per Chromium. Riavvia ora e le schede verranno ripristinate.</translation>
 <translation id="4750035648288509542">Aggiornamento quasi terminato. Riavvia Chromium per terminare l'aggiornamento. Le finestre di navigazione in incognito non verranno riaperte.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium è in modalità background.</translation>
 <translation id="4987820182225656817">Gli ospiti possono utilizzare Chromium senza lasciare tracce.</translation>
 <translation id="4994636714258228724">Aggiungiti a Chromium</translation>
-<translation id="5053724573690775822">Vuoi creare un nuovo spazio di lavoro Chromium?</translation>
 <translation id="5224391634244552924">Nessuna password salvata. Chromium può controllare le password quando le salvi.</translation>
 <translation id="5277894862589591112">Riavvia Chromium per applicare le modifiche</translation>
 <translation id="5358375970380395591">Stai per accedere con un account gestito e per dare al relativo amministratore il controllo del tuo profilo Chromium. I tuoi dati di Chromium, come app, Preferiti, cronologia, password e altre impostazioni, verranno collegati definitivamente a <ph name="USER_NAME" />. Potrai eliminare questi dati tramite la Dashboard di Google Account, ma non potrai associare questi dati a un altro account. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Impossibile visualizzare l'anteprima di stampa in Chromium senza il visualizzatore PDF integrato.</translation>
 <translation id="5427571867875391349">Imposta Chromium come browser predefinito</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium beta</translation>
-<translation id="544968170749360982">Hai eseguito l'accesso con un nuovo account nello spazio di <ph name="EXISTING_USER" />. Vuoi creare un nuovo spazio Chromium per <ph name="NEW_USER" /> in modo da mantenere separati i tuoi dati?</translation>
 <translation id="5479196819031988440">Chromium OS non è in grado di aprire la pagina.</translation>
 <translation id="5480860683791598150">Chromium deve poter accedere alla tua posizione per condividerla con questo sito</translation>
 <translation id="549669000822060376">Attendi mentre Chromium installa gli aggiornamenti di sistema più recenti.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Impossibile sincronizzare i dati in Chromium a causa di un errore durante l'accesso.</translation>
 <translation id="6096348254544841612">È disponibile un nuovo aggiornamento.</translation>
 <translation id="6120345080069858279">Chromium salverà la password nel tuo Account Google affinché tu non debba memorizzarla.</translation>
-<translation id="6128834065531097268">Hai eseguito l'accesso con un account di lavoro nello spazio di <ph name="EXISTING_USER" />. Vuoi creare un nuovo spazio Chromium per <ph name="WORK_DOMAIN" /> in modo da mantenere separati i tuoi dati?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> è pericoloso, pertanto è stato bloccato da Chromium.</translation>
 <translation id="6134968993075716475">Navigazione sicura è disattivata. Chromium consiglia di attivarla.</translation>
 <translation id="6212496753309875659">Questo computer ha già una versione più recente di Chromium. Se il software non funziona, disinstalla Chromium e riprova.</translation>
@@ -200,7 +195,6 @@
 <translation id="7549178288319965365">Informazioni su Chromium OS</translation>
 <translation id="7561906087460245826">Cancella anche i dati di Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Se un'impostazione non viene mostrata in questa pagina, cercala nelle <ph name="LINK_BEGIN" />impostazioni del sistema operativo Chromium<ph name="LINK_END" />.</translation>
-<translation id="7607142834923530546">Hai eseguito l'accesso con un account di lavoro. Vuoi creare un nuovo spazio Chromium per <ph name="NEW_USER" /> in modo da mantenere separati i tuoi dati personali?</translation>
 <translation id="761356813943268536">Chromium sta utilizzando videocamera e microfono.</translation>
 <translation id="7617377681829253106">Da oggi Chromium è ancora meglio</translation>
 <translation id="7628001322379820951">Chromium ha rilevato software dannoso sul tuo computer</translation>
@@ -218,7 +212,6 @@
 <translation id="7975919845073681630">Questa è un'installazione secondaria, di conseguenza Chromium non può essere impostato come browser predefinito.</translation>
 <translation id="7979877361127045932">Nascondi in menu Chromium</translation>
 <translation id="8013436988911883588">Dopo che Chromium avrà ottenuto l'accesso, i siti web potranno chiederti l'accesso.</translation>
-<translation id="8022442821873033760">Configura il tuo nuovo Spazio Chromium</translation>
 <translation id="81770708095080097">Questo file è pericoloso, pertanto è stato bloccato da Chromium.</translation>
 <translation id="8248265253516264921">Se un'immagine è senza descrizione utile, Chromium proverà a fornirne una. Per la creazione delle descrizioni, le immagini vengono inviate a Google. Puoi disattivare questa funzionalità in qualsiasi momento nelle Impostazioni.</translation>
 <translation id="8266560134891435528">Chromium non può controllare le tue password perché non hai effettuato l'accesso</translation>
@@ -229,7 +222,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Riavvia Chromium entro un giorno}other{Riavvia Chromium entro # giorni}}</translation>
 <translation id="8453117565092476964">L'archivio di installazione è danneggiato o non valido. Scarica di nuovo Chromium.</translation>
 <translation id="8493179195440786826">Chromium non è aggiornato</translation>
-<translation id="8545858702702650646">Scegli il tuo Chromium Space</translation>
 <translation id="8558383651099478961">Uno dei tuoi genitori ha disattivato "Autorizzazioni per siti, app ed estensioni" per Chromium. L'aggiunta di <ph name="EXTENSION_TYPE_PARAMETER" /> non è consentita.</translation>
 <translation id="8568283329061645092">Chromium può controllare le tue password quando accedi con il tuo Account Google</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. Tutti i diritti riservati.</translation>
@@ -255,7 +247,6 @@
 <translation id="9158494823179993217">L'amministratore di sistema ha configurato Chromium per l'apertura di un browser alternativo per accedere a <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium verifica la presenza di software indesiderato una volta a settimana. Ultima verifica: qualche istante fa.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Utilizza i Chromium Space per mantenere organizzata la navigazione su questo dispositivo</translation>
 <translation id="93478295209880648">Chromium potrebbe non funzionare correttamente perché non è più supportato su Windows XP o Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> richiede di leggere e accettare i seguenti Termini di servizio prima di utilizzare il dispositivo. Questi termini non ampliano, modificano o limitano i Termini di Chromium OS.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_iw.xtb b/chrome/app/resources/chromium_strings_iw.xtb
index 173cc93..abc00e5 100644
--- a/chrome/app/resources/chromium_strings_iw.xtb
+++ b/chrome/app/resources/chromium_strings_iw.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">‏אופציונלי: שליחה אוטומטית של נתוני אבחון ושימוש אל Google תעזור לשפר את התכונות ואת הביצועים של Chromium OS.</translation>
 <translation id="2347108572062610441">‏התוסף שינה את הדף שמוצג כשאתה מפעיל את Chromium.</translation>
 <translation id="2396765026452590966">‏התוסף "<ph name="EXTENSION_NAME" />" שינה את הדף שמוצג כשאתה מפעיל את Chromium.</translation>
-<translation id="2442081746662839303">‏ליצור סביבת Chromium חדשה עבור <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">‏ב-Chromium</translation>
 <translation id="2485422356828889247">הסר התקנה</translation>
 <translation id="2527042973354814951">‏הפעל מחדש את Chromium כדי להפעיל את <ph name="PLUGIN_NAME" /></translation>
@@ -94,7 +93,6 @@
 <translation id="4677944499843243528">‏נראה שהפרופיל נמצא בשימוש על ידי תהליך Chromium אחר (<ph name="PROCESS_ID" />) במחשב אחר (<ph name="HOST_NAME" />)‏. Chromium נעל את הפרופיל כדי שלא ייפגם. אם אתה משוכנע שאף תהליך אחר אינו משתמש בפרופיל זה, תוכל לבטל את נעילת הפרופיל ולהפעיל את Chromium מחדש.</translation>
 <translation id="469338717132742108">‏קבל עזרה בנושא Chromium OS</translation>
 <translation id="4708774505295300557">‏מישהו נכנס בעבר ל-Chromium מהמחשב הזה כ-<ph name="ACCOUNT_EMAIL_LAST" />. צור משתמש חדש ל-Chromium כדי לשמור על הפרדת המידע שלך.</translation>
-<translation id="4745225042341419983">‏נתוני הגלישה של הסביבה הזו יימחקו מהמכשיר. כדי לשחזר את הנתונים, צריך להיכנס אל Chromium בתור</translation>
 <translation id="4746050847053251315">‏לסגור את Chromium בכל זאת?</translation>
 <translation id="4748217263233248895">‏בוצע עדכון אבטחה מיוחד של Chromium. עכשיו עליך להפעיל מחדש ואנחנו נשחזר את הכרטיסיות.</translation>
 <translation id="4750035648288509542">‏העדכון כמעט הושלם. כדי להשלים את העדכון, יש להפעיל מחדש את Chromium. החלונות האנונימיים לא ייפתחו מחדש.</translation>
@@ -104,7 +102,6 @@
 <translation id="4943838377383847465">‏Chromium נמצא במצב רקע.</translation>
 <translation id="4987820182225656817">‏אורחים יכולים להשתמש ב-Chromium בלי להשאיר דבר מאחור.</translation>
 <translation id="4994636714258228724">‏הוסף את עצמך ל-Chromium</translation>
-<translation id="5053724573690775822">‏ליצור סביבת עבודה חדשה ב-Chromium?</translation>
 <translation id="5224391634244552924">‏אין סיסמאות שמורות. Chromium יכול לבדוק את הסיסמאות שלך רק אם שמרת אותן.</translation>
 <translation id="5277894862589591112">‏כדי להחיל את השינויים שביצעת, יש להפעיל מחדש את Chromium</translation>
 <translation id="5358375970380395591">‏אתה נכנס עם חשבון מנוהל ונותן למנהל המערכת שלו שליטה על הפרופיל שלך ב-Chromium. הנתונים שלך ב-Chromium, כגון יישומים, סימניות, היסטוריה, סיסמאות והגדרות אחרות ייקשרו באופן קבוע ל-<ph name="USER_NAME" />. תוכל למחוק את הנתונים האלה באמצעות לוח הבקרה של חשבונות Google, אבל לא תוכל לשייך את הנתונים האלה לחשבון אחר. <ph name="LEARN_MORE" /></translation>
@@ -114,7 +111,6 @@
 <translation id="5416696090975899932">‏Chromium לא יכול להראות את התצוגה המקדימה של ההדפסה כשמציג ה-PDF המובנה חסר.</translation>
 <translation id="5427571867875391349">‏הגדר את Chromium כדפדפן ברירת המחדל שלך</translation>
 <translation id="5438241569118040789">‏<ph name="PAGE_TITLE" /> - Chromium בגירסת ביטא</translation>
-<translation id="544968170749360982">‏נכנסת באמצעות חשבון חדש לסביבה של <ph name="EXISTING_USER" />. האם ברצונך ליצור סביבת Chromium חדשה בשביל <ph name="NEW_USER" /> כדי לשמור את הנתונים שלך בנפרד?</translation>
 <translation id="5479196819031988440">‏מערכת ההפעלה של Chromium אינה יכול לפתוח את הדף הזה.</translation>
 <translation id="5480860683791598150">‏Chromium זקוק לגישה למיקום שלך כדי לשתף אותו עם האתר הזה</translation>
 <translation id="549669000822060376">‏המתן בזמן ש-Chromium מתקין את עדכוני המערכת האחרונים.</translation>
@@ -137,7 +133,6 @@
 <translation id="608189560609172163">‏Chromium לא הצליח לסנכרן את הנתונים שלך בשל שגיאת כניסה.</translation>
 <translation id="6096348254544841612">‏כדי להתאים אישית את Google Chrome ולשלוט בו טוב יותר, כדאי להוריד את העדכון החדש.</translation>
 <translation id="6120345080069858279">‏הסיסמה הזאת תישמר על ידי Chromium בחשבון Google שלך. אין צורך לזכור אותה.</translation>
-<translation id="6128834065531097268">‏נכנסת באמצעות חשבון לצורכי עבודה לסביבה של <ph name="EXISTING_USER" />. האם ברצונך ליצור סביבת Chromium חדשה בשביל <ph name="WORK_DOMAIN" /> כדי לשמור את הנתונים שלך בנפרד?</translation>
 <translation id="6129621093834146363">‏<ph name="FILE_NAME" /> מסוכן, ולכן Chromium חסם אותו.</translation>
 <translation id="6134968993075716475">‏הגלישה הבטוחה כבויה. ההמלצה של Chromium היא להפעיל אותה.</translation>
 <translation id="6212496753309875659">‏במחשב זה קיימת כבר גרסה מתקדמת יותר של Chromium. אם התוכנה אינה פועלת, הסר את ההתקנה של Chromium ונסה שוב.</translation>
@@ -199,7 +194,6 @@
 <translation id="7561906087460245826">‏הסרת נתונים גם מ-Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">‏אם הגדרה מסוימת לא מופיעה בדף הזה, אפשר לחפש אותה <ph name="LINK_BEGIN" />
 בהגדרות ה-OS של Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">‏נכנסת באמצעות חשבון לצורכי עבודה. האם ברצונך ליצור סביבת Chromium חדשה בשביל <ph name="NEW_USER" /> כדי לשמור את המידע האישי שלך בנפרד?</translation>
 <translation id="761356813943268536">‏Chromium משתמש במצלמה ובמיקרופון שלך.</translation>
 <translation id="7617377681829253106">‏Chromium השתפר</translation>
 <translation id="7628001322379820951">‏Chromium גילה תוכנות מזיקות במחשב שלך</translation>
@@ -217,7 +211,6 @@
 <translation id="7975919845073681630">‏זוהי התקנה משנית של Chromium, ולא ניתן להפוך אותו לדפדפן ברירת המחדל שלך.</translation>
 <translation id="7979877361127045932">‏הסתר בתפריט Chromium</translation>
 <translation id="8013436988911883588">‏אחרי מתן גישה ל-Chromium, אתרים יוכלו לבקש ממך גישה.</translation>
-<translation id="8022442821873033760">‏הגדרת הסביבה החדשה שלך ב-Chromium</translation>
 <translation id="81770708095080097">‏Chromium‏ חסם את הקובץ הזה כי הוא מסוכן.</translation>
 <translation id="8248265253516264921">‏אם אין לתמונה תיאור מועיל, Chromium ינסה לספק לך תיאור. כדי ליצור תיאורים, התמונות נשלחות אל Google. אפשר להשבית את האפשרות הזו בכל זמן דרך ההגדרות.</translation>
 <translation id="8266560134891435528">‏Chromium לא יכול לבדוק את הסיסמאות שלך כי לא נכנסת לחשבון</translation>
@@ -228,7 +221,6 @@
 <translation id="8417404458978023919">{0,plural, =1{‏צריך להפעיל מחדש את Chromium בתוך יום אחד}two{‏צריך להפעיל מחדש את Chromium בתוך # ימים}many{‏צריך להפעיל מחדש את Chromium בתוך # ימים}other{‏צריך להפעיל מחדש את Chromium בתוך # ימים}}</translation>
 <translation id="8453117565092476964">‏הארכיון של המתקין פגום או שאינו חוקי. הורד שוב את Chromium.</translation>
 <translation id="8493179195440786826">‏Chromium אינו מעודכן</translation>
-<translation id="8545858702702650646">‏בחירת הסביבה שלך ב-Chromium</translation>
 <translation id="8558383651099478961">‏אחד מההורים השבית ב-Chromium את ההגדרה "הרשאות לאתרים, אפליקציות ותוספים". לא ניתן להוסיף את ה<ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">‏Chromium יכול לבדוק את הסיסמאות כשנכנסים באמצעות חשבון Google</translation>
 <translation id="8586442755830160949">‏Copyright <ph name="YEAR" /> The Chromium Authors. כל הזכויות שמורות.</translation>
@@ -254,7 +246,6 @@
 <translation id="9158494823179993217">‏לפי הגדרת מנהל המערכת, Chromium יפתח דפדפן חלופי כדי לגשת אל <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">‏Chromium מבצע בדיקה לאיתור תוכנות לא רצויות פעם בשבוע. בדיקה אחרונה: לפני כמה רגעים.</translation>
 <translation id="9190841055450128916">‏Chromium ‏(mDNS-In)</translation>
-<translation id="9191317372410544836">‏הסביבות שלך ב-Chromium מאפשרות לך לגלוש בצורה מאורגנת במכשיר הזה</translation>
 <translation id="93478295209880648">‏ייתכן ש-Chromium לא יפעל כראוי כי הוא כבר לא נתמך ב-Windows XP וב-Windows Vista</translation>
 <translation id="95514773681268843">‏<ph name="DOMAIN" /> דורש שתקרא ותקבל את התנאים וההגבלות הבאים לפני שתשתמש במכשיר הזה. תנאים אלה אינם מרחיבים, משנים או מגבילים את התנאים של מערכת ההפעלה של Chromium.</translation>
 <translation id="985602178874221306">‏מחברי Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_ja.xtb b/chrome/app/resources/chromium_strings_ja.xtb
index fd977c3..dd27006 100644
--- a/chrome/app/resources/chromium_strings_ja.xtb
+++ b/chrome/app/resources/chromium_strings_ja.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">オプション: 診断と使用状況のデータを Google に自動送信して Chromium OS の機能と動作の改善に役立てる。</translation>
 <translation id="2347108572062610441">この拡張機能により、Chromium の起動時に表示されるページが変更されました。</translation>
 <translation id="2396765026452590966">拡張機能「<ph name="EXTENSION_NAME" />」により、Chromium の起動時に表示されるページが変更されました。</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> 用の Chromium スペースを新しく作成しますか?</translation>
 <translation id="2483889755041906834">Chromium 内</translation>
 <translation id="2485422356828889247">アンインストール</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> を有効にするには Chromium を再起動してください</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">プロフィールは、別のコンピュータ(<ph name="HOST_NAME" />)の別の Chromium プロセス(<ph name="PROCESS_ID" />)で使用されているようです。Chromium はプロフィールが破損しないようにプロフィールをロックしています。他のプロセスがこのプロフィールを使用していないことが確実であれば、プロフィールのロックを解除して Chromium を再起動できます。</translation>
 <translation id="469338717132742108">Chromium OS のヘルプを見る</translation>
 <translation id="4708774505295300557">前回このパソコンで別のユーザー(<ph name="ACCOUNT_EMAIL_LAST" />)が Chromium にログインしました。情報を個別に保持するには、新しい Chromium ユーザーを作成してください。</translation>
-<translation id="4745225042341419983">この操作を行うと、このスペースの閲覧データがこのデバイスから削除されます。データを復元するには、Chromium に次のアカウントでログインしてください:</translation>
 <translation id="4746050847053251315">今すぐ Chromium を終了しますか?</translation>
 <translation id="4748217263233248895">Chromium の特別なセキュリティ アップデートが適用されました。今すぐ再起動してください。タブは復元されます。</translation>
 <translation id="4750035648288509542">アップデートが適用されました。更新を完了するには Chromium を再起動してください。再起動後、シークレット ウィンドウは自動的に開きません。</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium はバックグラウンド モードです。</translation>
 <translation id="4987820182225656817">ゲスト ユーザーは、記録を残さずに Chromium を使用できます。</translation>
 <translation id="4994636714258228724">Chromium に自分を追加</translation>
-<translation id="5053724573690775822">仕事用の Chromium スペースを新しく作成しますか?</translation>
 <translation id="5224391634244552924">保存されているパスワードがありません。パスワードを保存すると、Chromium で確認できるようになります。</translation>
 <translation id="5277894862589591112">変更を適用するには Chromium を再起動してください</translation>
 <translation id="5358375970380395591">現在、管理対象アカウントでログインしており、あなたの Chromium プロフィールを管理者が制御できる状態になっています。あなたの Chromium データ(アプリ、ブックマーク、履歴、パスワードなどの設定)は永続的に <ph name="USER_NAME" /> に関連付けられます。このデータは Google アカウントのダッシュボードを介して削除できますが、このデータを別のアカウントに関連付けることはできなくなります。<ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">組み込みの PDF ビューアがない場合、Chromium では印刷プレビューを表示できません。</translation>
 <translation id="5427571867875391349">Chromium をデフォルト ブラウザに設定する</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">新しいアカウントで <ph name="EXISTING_USER" /> のスペースにログインしています。データを分けて保持できるよう、<ph name="NEW_USER" /> 用の Chromium スペースを新しく作成しますか?</translation>
 <translation id="5479196819031988440">Chromium OS ではこのページを開けません。</translation>
 <translation id="5480860683791598150">このサイトで現在地を共有するには、Chromium で位置情報の使用を許可する必要があります</translation>
 <translation id="549669000822060376">Chromium は最新のシステム アップデートをインストールしています。しばらくお待ちください。</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">ログイン時にエラーが発生したため、Chromium はデータを同期できませんでした。</translation>
 <translation id="6096348254544841612">Chromium をカスタマイズしてご活用ください。アップデートが利用可能です。</translation>
 <translation id="6120345080069858279">このパスワードは Google アカウントに保存されるため、覚えておく必要はありません。</translation>
-<translation id="6128834065531097268">仕事用アカウントで <ph name="EXISTING_USER" /> のスペースにログインしています。データを分けて保持できるよう、<ph name="WORK_DOMAIN" /> 用の Chromium スペースを新しく作成しますか?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> は危険なファイルであるため、Chromium でブロックしました。</translation>
 <translation id="6134968993075716475">セーフ ブラウジングがオフになっています。Chromium はオンにすることをおすすめしています。</translation>
 <translation id="6212496753309875659">新しいバージョンの Chromium が既にインストールされています。ソフトウェアが動作しない場合は、Chromium をアンインストールしてからもう一度お試しください。</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Chromium のデータ(<ph name="URL" />)も消去する</translation>
 <translation id="7585853947355360626">このページに設定が表示されない場合は、<ph name="LINK_BEGIN" />
       Chromium OS の設定<ph name="LINK_END" />を確認してください</translation>
-<translation id="7607142834923530546">仕事用アカウントでログインしています。個人データを分けて保持できるよう、<ph name="NEW_USER" /> 用の Chromium スペースを新しく作成しますか?</translation>
 <translation id="761356813943268536">Chromium がカメラとマイクを使用しています。</translation>
 <translation id="7617377681829253106">進化する Chromium</translation>
 <translation id="7628001322379820951">お使いのパソコンに有害なソフトウェアが見つかりました</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">この Chromium はセカンダリ インストールのため、既定のブラウザには設定できません。</translation>
 <translation id="7979877361127045932">Chromium メニューで非表示</translation>
 <translation id="8013436988911883588">Chromium にアクセスを許可すると、ウェブサイトからアクセスをリクエストできるようになります。</translation>
-<translation id="8022442821873033760">新しい Chromium スペースをセットアップ</translation>
 <translation id="81770708095080097">このファイルは危険なファイルであるため、Chromium でブロックしました。</translation>
 <translation id="8248265253516264921">画像に有効な説明が設定されていない場合に、Chromium で説明を自動的に生成できるよう Google に画像が送信されます。この機能は設定でいつでも無効にできます。</translation>
 <translation id="8266560134891435528">ログインしていないため、Chromium でパスワードを確認できません</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{1 日以内に Chromium を再起動してください}other{# 日以内に Chromium を再起動してください}}</translation>
 <translation id="8453117565092476964">インストーラ アーカイブが壊れているか無効です。Chromium をダウンロードし直してください。</translation>
 <translation id="8493179195440786826">Chromium は古いバージョンです</translation>
-<translation id="8545858702702650646">Chromium スペースを選択</translation>
 <translation id="8558383651099478961">保護者が Chromium の「サイト、アプリ、拡張機能の権限」をオフにしました。この <ph name="EXTENSION_TYPE_PARAMETER" /> を追加することはできません。</translation>
 <translation id="8568283329061645092">Google アカウントでログインすると、Chromium がパスワードを確認できます。</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. All rights reserved.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">システム管理者が、<ph name="TARGET_URL_HOSTNAME" /> へのアクセスに代替ブラウザを開くよう Chromium を設定しています。</translation>
 <translation id="9164845895615421500">Chromium で週 1 回、望ましくないソフトウェアがないか確認します。前回の確認: 数秒前。</translation>
 <translation id="9190841055450128916">Chromium(mDNS インバウンド)</translation>
-<translation id="9191317372410544836">Chromium スペースを使用して、このデバイスでのブラウジングを管理できます</translation>
 <translation id="93478295209880648">Windows XP と Windows Vista はサポートされなくなったため、Chromium は正常に機能しない可能性があります</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> では、このデバイスを使用する前に下記の利用規約を確認しこれに同意していただく必要があります。これらの規約は Chromium OS 利用規約を拡張、変更、制限するものではありません。</translation>
 <translation id="985602178874221306">Chromium 開発者</translation>
diff --git a/chrome/app/resources/chromium_strings_ka.xtb b/chrome/app/resources/chromium_strings_ka.xtb
index e637cbc..dda79b57 100644
--- a/chrome/app/resources/chromium_strings_ka.xtb
+++ b/chrome/app/resources/chromium_strings_ka.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">არასავალდებულო: Chromium OS-ის ფუნქციებისა და წარმადობის გაუმჯობესების ხელშეწყობა დიაგნოსტიკური და გამოყენების მონაცემების Google-ისთვის ავტომატურად გაგზავნის მეშვეობით.</translation>
 <translation id="2347108572062610441">ამ გაფართოებამ თქვენ მიერ Chromium-ის გაშვებისას ნაჩვენები გვერდი შეცვალა.</translation>
 <translation id="2396765026452590966">გაფართოებამ „<ph name="EXTENSION_NAME" />“ თქვენ მიერ Chromium-ის გაშვებისას ნაჩვენები გვერდი შეცვალა.</translation>
-<translation id="2442081746662839303">შეიქმნას ახალი სივრცე Chromium-ში <ph name="NEW_USER" />-ისთვის?</translation>
 <translation id="2483889755041906834">Chromium-ში</translation>
 <translation id="2485422356828889247">დეინსტალაცია</translation>
 <translation id="2527042973354814951">გადატვირთეთ Chromium, რათა ჩართოთ <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">როგორც ჩანს, პროფილი გამოიყენება სხვა Chromium პროცესის მიერ (<ph name="PROCESS_ID" />) სხვა კომპიუტერში (<ph name="HOST_NAME" />). Chromium-მა დაბლოკა პროფილი, რათა არ დაზიანდეს. თუ დარწმუნებული ხართ, რომ სხვა პროცესები არ იყენებენ ამ პროფილს, შეგიძლიათ განბლოკოთ პროფილი და ხელახლა გაუშვათ Chromium.</translation>
 <translation id="469338717132742108">Chromium OS-თან დაკავშირებული დახმარების მიღება</translation>
 <translation id="4708774505295300557">Chromium-ში უკვე განხორციელდა შესვლა ამ კომპიუტერიდან, როგორც <ph name="ACCOUNT_EMAIL_LAST" />. გთხოვთ, შექმნათ Chromium-ის ახალი მომხმარებელი თქვენი ინფორმაციის ცალკე შესანახად.</translation>
-<translation id="4745225042341419983">ამ სამუშაო სივრცის დათვალიერების მონაცემები წაიშლება ამ მოწყობილობიდან. მონაცემების აღსადგენად შედით Chromium-ში, როგორც</translation>
 <translation id="4746050847053251315">მაინც გსურთ Chromium-იდან გასვლა?</translation>
 <translation id="4748217263233248895">Chromium-ს ეს-ესაა მიესადაგა უსაფრთხოების საგანგებო განახლება. გადატვირთეთ ის ახლავე (თქვენი ჩანართები აღდგება).</translation>
 <translation id="4750035648288509542">ყველაფერი თითქმის მზადაა! განახლების დასასრულებლად ხელახლა გაუშვით Chromium. ინკოგნიტო ფანჯრები ხელახლა არ გაიხსნება.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium ფონურ რეჟიმშია.</translation>
 <translation id="4987820182225656817">სტუმრებს შეუძლიათ Chromium-ის გამოყენება და მისი ყველა ფუნქციით სარგებლობა.</translation>
 <translation id="4994636714258228724">საკუთარი თავის დამატება Chromium-ში</translation>
-<translation id="5053724573690775822">შეიქმნას ახალი სამუშაო სივრცე Chromium-ში?</translation>
 <translation id="5224391634244552924">შენახული პაროლები არ არის. პაროლების შემოწმებას Chromium შეძლებს მათი შენახვის შემდეგ.</translation>
 <translation id="5277894862589591112">ცვლილებების მისასადაგებლად ხელახლა გაუშვით Chromium</translation>
 <translation id="5358375970380395591">მართული ანგარიშით შედიხართ სისტემაში და ადმინისტრატორს თქვენს Chromium-ის პროფილზე კონტროლს აძლევთ. თქვენი Chromium ის მონაცემები როგორიცაა თქვენი აპლიკაციები, სანიშნები, ისტორიები, პაროლები, და სხვა პარამეტრები მუდმივად მიბმული გახდება <ph name="USER_NAME" />-თან. ამ მონაცემების წაშლას Google ანგარიშის საინფორმაციო დაფის გზით შეძლებთ, მაგრამ შეუძლებელი იქნება ამ მონაცემების სხვა ანგარიშთან გაერთიანება. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium წინასწარ ვერ გიჩვენებთ ამოსაბეჭდ ვერსიას, ვინაიდან მას აკლია ჩაშენებული PDF მნახველი.</translation>
 <translation id="5427571867875391349">დააყენეთ Chromium ნაგულისხმევ ბრაუზერად</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> — Chromium Beta</translation>
-<translation id="544968170749360982">თქვენ ახალი ანგარიშით შეხვედით <ph name="EXISTING_USER" />-ის სივრცეში. გსურთ, მონაცემების განსაცალკევებლად, შექმნათ ახალი სივრცე Chromium-ში <ph name="NEW_USER" />-ისთვის?</translation>
 <translation id="5479196819031988440">Chromium OS ვერ ხსნის ამ გვერდს.</translation>
 <translation id="5480860683791598150">Chromium საჭიროებს თქვენს მდებარეობაზე წვდომის ნებართვას ამ საიტისთვის გასაზიარებლად</translation>
 <translation id="549669000822060376">დაელოდეთ, სანამ Chromium დააინსტალირებს სისტემის უახლეს განახლებებს.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">შესვლასთან დაკავშირებული არსებული შეცდომის გამო, Chromium მა ვერ შეძლო თქვენი მონაცებების სინქრონიზაცია.</translation>
 <translation id="6096348254544841612">მოირგეთ და გააკონტროლეთ Chromium. ხელმისაწვდომია განახლება.</translation>
 <translation id="6120345080069858279">Chromium შეინახავს ამ პაროლს თქვენს Google ანგარიშში. მისი დამახსოვრება აუცილებელი არ არის.</translation>
-<translation id="6128834065531097268">თქვენ სამსახურის ანგარიშით შეხვედით <ph name="EXISTING_USER" />-ის სივრცეში. გსურთ, მონაცემების განსაცალკევებლად, შექმნათ ახალი სივრცე Chromium-ში <ph name="WORK_DOMAIN" />-ისთვის?</translation>
 <translation id="6129621093834146363">Chromium-მა დაბლოკა <ph name="FILE_NAME" />, რადგან ის სახიფათოა.</translation>
 <translation id="6134968993075716475">Safe Browsing გამორთულია. Chromium გირჩევთ მის ჩართვას.</translation>
 <translation id="6212496753309875659">ამ კომპიუტერს უკვე აქვს Chromium.-ის უფრო ახალი ვერსია. იმ შემთხვევაში, თუ პროგრამა არ მუშაობს, გთხოვთ, განახორციელეთ Chromium-ის დეინსტალაცია და სცადეთ ისევ.</translation>
@@ -202,7 +197,6 @@
 <translation id="7549178288319965365">Chromium-ის OS-ის შესახებ</translation>
 <translation id="7561906087460245826">მონაცემების Chromium-იდანაც გასუფთავება (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">თუ პარამეტრი ამ გვერდზე არ გამოჩნდება, ცადეთ მისი პოვნა <ph name="LINK_BEGIN" />Chromium OS-ის პარამეტრებში<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">თქვენ შეხვედით სამსახურის ანგარიშით. გსურთ, პერსონალური მონაცემების განსაცალკევებლად, შექმნათ ახალი სივრცე Chromium-ში <ph name="NEW_USER" />-ისთვის?</translation>
 <translation id="761356813943268536">Chromium იყენებს თქვენს კამერას და მიკროფონს.</translation>
 <translation id="7617377681829253106">Chromium გაუმჯობესდა</translation>
 <translation id="7628001322379820951">Chromium-მა თქვენს კომპიუტერზე აღმოაჩინა საზიანო პროგრამული უზრუნველყოფა.</translation>
@@ -220,7 +214,6 @@
 <translation id="7975919845073681630">ეს Chromium-ის მეორადი ინსტალაცია არის და ნაგულისხმევ ბრაუზერად ის ვერ დაყენდება.</translation>
 <translation id="7979877361127045932">Chromium-ის მენიუში დამალვა</translation>
 <translation id="8013436988911883588">Chromium-ისთვის წვდომის მინიჭების შემდეგ ცალკეული ვებსაიტები შეძლებს თქვენგან წვდომის მოთხოვნას.</translation>
-<translation id="8022442821873033760">შექმენით ახალი Chromium სივრცე</translation>
 <translation id="81770708095080097">Chromium-მა დაბლოკა ეს ფაილი, რადგან ის სახიფათოა.</translation>
 <translation id="8248265253516264921">თუ სურათს არ ექნება სასარგებლო აღწერილობა, Chromium შეეცდება მის უზრუნველყოფას. აღწერილობების შესაქმნელად სურათები იგზავნება Google-ში. ამის გამორთვა ნებისმიერ დროს შეგიძლიათ პარამეტრებიდან.</translation>
 <translation id="8266560134891435528">Chromium ვერ ახერხებს თქვენი პაროლების შემოწმებას, რადგან შესული არ ხართ</translation>
@@ -231,7 +224,6 @@
 <translation id="8417404458978023919">{0,plural, =1{ხელახლა გაუშვით Chromium დღის განმავლობაში}other{ხელახლა გაუშვით Chromium # დღის განმავლობაში}}</translation>
 <translation id="8453117565092476964">ინსტალაციის პროგრამის არქივი დაზიანებულია ან არასწორია. ხელახლა ჩამოტვირთეთ Chromium.</translation>
 <translation id="8493179195440786826">Chromium მოძველდა</translation>
-<translation id="8545858702702650646">აირჩიეთ თქვენი Chromium სივრცე</translation>
 <translation id="8558383651099478961">თქვენმა მშობელმა გამორთო „ნებართვები საიტებისთვის, აპებისა და გაფართოებებისთვის“ Chromium-ისთვის. ეს <ph name="EXTENSION_TYPE_PARAMETER" /> ვერ დაემატება.</translation>
 <translation id="8568283329061645092">პაროლების Chromium-ის მეშვეობით შესამოწმებლად შედით სისტემაში თქვენი Google ანგარიშით</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. ყველა უფლება დაცულია.</translation>
@@ -257,7 +249,6 @@
 <translation id="9158494823179993217">თქვენი სისტემის ადმინისტრატორმა მოახდინა Chromium-ის კონფიგურაცია იმგვარად, რომ <ph name="TARGET_URL_HOSTNAME" />-ზე წვდომისთვის საჭიროა ალტერნატიული ბრაუზერის გახსნა.</translation>
 <translation id="9164845895615421500">Chromium კვირაში ერთხელ ამოწმებს არასასურველ პროგრამულ უზრუნველყოფას. ბოლო შემოწმება: რამდენიმე წამის წინ.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">გამოიყენეთ Chromium სივრცეები, რათა მოახდინოთ თქვენი დათვალიერების ისტორიის ორგანიზება ამ მოწყობილობაზე</translation>
 <translation id="93478295209880648">Chromium-მა შეიძლება არასწორად იმუშაოს, რადგან ის აღარ არის მხარდაჭერილი Windows XP-სა და Windows Vista-ზე</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> მოითხოვს, რომ დაეთანხმოთ შემდეგ წესებს და პირობებს ამ მოწყობილობის გამოყენებამდე. ეს წესები არ წარმოადგენს Chromium OS-ის პირობების დამატებას, არ ცვლის და არ ზღუდავს მათ.</translation>
 <translation id="985602178874221306">Chromium-ის ავტორები</translation>
diff --git a/chrome/app/resources/chromium_strings_kk.xtb b/chrome/app/resources/chromium_strings_kk.xtb
index 7ab1b6f..c8b3a79 100644
--- a/chrome/app/resources/chromium_strings_kk.xtb
+++ b/chrome/app/resources/chromium_strings_kk.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Қосымша: диагностика және пайдаланылуы туралы деректі Google-ға автоматты түрде жіберу арқылы Chromium операциялық жүйесінің функцияларын және жұмыс өнімділігін жақсартуға көмектесу.</translation>
 <translation id="2347108572062610441">Бұл кеңейтім Chromium браузерін іске қосқан кезде көрсетілетін бетті өзгертті.</translation>
 <translation id="2396765026452590966">«<ph name="EXTENSION_NAME" />» кеңейтімі Chromium браузерін іске қосқан кезде көрсетілетін бетті өзгертті.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> үшін жаңа Chromium жұмыс орны жасалсын ба?</translation>
 <translation id="2483889755041906834">Chromium аясында</translation>
 <translation id="2485422356828889247">Жою</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> плагинін қосу үшін Chromium браузерін қайта іске қосу</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Профиль басқа Chromium процесімен (<ph name="PROCESS_ID" />) басқа компьютерде (<ph name="HOST_NAME" />) пайдаланылып жатыр. Бүлінбеуі үшін Chromium профильді құлыптап қойды. Басқа процестер бұл профильді пайдаланып жатпаса, профильді құлыптан ашып, Chromium қайта іске қосуыңызға болады.</translation>
 <translation id="469338717132742108">Chromium ОЖ жөнінде анықтама алу</translation>
 <translation id="4708774505295300557">Бұрын әлдекім осы компьютерден Chromium браузеріне <ph name="ACCOUNT_EMAIL_LAST" /> болып кірген. Ақпаратты бөлек ұстау үшін жаңа Chromium пайдаланушысын жасаңыз.</translation>
-<translation id="4745225042341419983">Бұл жұмыс орнының браузерді пайдалану деректері осы құрылғыдан жойылады. Деректерді қалпына келтіру үшін Chromium браузеріне келесімен кіріңіз:</translation>
 <translation id="4746050847053251315">Chromium браузерінен бәрібір шығасыз ба?</translation>
 <translation id="4748217263233248895">Chromium браузеріне қазір ғана қауіпсіздік бойынша арнайы жаңартылған нұсқа қолданылды. Оны қазір қайта ашсаңыз, қойындылар қалпына келтіріледі.</translation>
 <translation id="4750035648288509542">Дайын болып қалды! Жаңарту үшін Chromium браузерін қайта іске қосыңыз. Инкогнито терезелері қайта ашылмайды.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium фондық режимде.</translation>
 <translation id="4987820182225656817">Қонақтар Chromium қолданбасын ешқандай дерек қалдырмай пайдалана алады.</translation>
 <translation id="4994636714258228724">Chromium жүйесіне өзіңізді қосу</translation>
-<translation id="5053724573690775822">Жаңа Chromium жұмыс орны жасалсын ба?</translation>
 <translation id="5224391634244552924">Ешқандай құпия сөз сақталмаған. Құпия сөздер сақталған кезде, Chromium оларды тексере алады.</translation>
 <translation id="5277894862589591112">Өзгерістер енуі үшін, Chromium браузерін қайта қосыңыз</translation>
 <translation id="5358375970380395591">Бақыланатын есептік жазба арқылы кірдіңіз және оның әкімшілік бөлігін Chromium профилі арқылы басқару мүмкіндігін бердіңіз. Қолданбалар, бетбелгілер, журнал, құпия сөздер сияқты Chromium деректеріңіз және басқа параметрлер біржола <ph name="USER_NAME" /> пайдаланушысына байланыстырылады. Бұл деректерді Google есептік жазба бақылау тақтасы арқылы жоя аласыз, бірақ бұл деректерді басқа есептік жазбамен байланыстыра алмайсыз. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Ендірілген PDF көру құралы жоқ болса, Chromium басып шығарылатын беттерді алдын ала көрсете алмайды.</translation>
 <translation id="5427571867875391349">Әдепкі браузер ретінде Chromium қолданбасын орнату</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium бета нұсқасы</translation>
-<translation id="544968170749360982"><ph name="EXISTING_USER" /> жұмыс орнына жаңа есептік жазбаңызбен кірдіңіз. Деректеріңіз бөлек сақталуы үшін, <ph name="NEW_USER" /> деген пайдаланушыға жаңа Chromium жұмыс орнын жасағыңыз келе ме?</translation>
 <translation id="5479196819031988440">Chromium ОЖ бұл бетті аша алмайды.</translation>
 <translation id="5480860683791598150">Бұл сайтқа көрсету үшін Chromium браузері орналасқан жеріңізді білуі керек</translation>
 <translation id="549669000822060376">Chromium ең соңғы жүйе жаңартуларын орнатуда, күте тұрыңыз.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Кіру кезіндегі қате себебінен Chromium деректеріңізді синхрондай алмайды.</translation>
 <translation id="6096348254544841612">Chromium браузерін реттеңіз және басқарыңыз. Жаңартылған нұсқа қолжетімді.</translation>
 <translation id="6120345080069858279">Chromium бұл құпия сөзді Google есептік жазбаңызда сақтайды. Оны есте сақтаудың қажеті жоқ.</translation>
-<translation id="6128834065531097268"><ph name="EXISTING_USER" /> жұмыс орнына жұмыс есептік жазбаңызбен кірдіңіз. Деректеріңіз бөлек сақталуы үшін, <ph name="WORK_DOMAIN" /> доменіне жаңа Chromium жұмыс орнын жасағыңыз келе ме?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> қауіпті болғандықтан, Chromium оны бөгеді.</translation>
 <translation id="6134968993075716475">"Қауіпсіз шолу" функциясы өшірулі. Chromium браузері оны қосуды ұсынады.</translation>
 <translation id="6212496753309875659">Бұл компьютерде жаңа Chromium нұсқасы бұрыннан бар. Бағдарламалық жасақтама жұмыс істемесе, Chromium жойып, әрекетті қайталап көріңіз.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Chromium браузеріндегі деректер де өшірілсін (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Егер параметр бұл бетте көрсетілмесе, <ph name="LINK_BEGIN" />
       Chromium операциялық жүйесінің параметрлері<ph name="LINK_END" /> бөлімінен қараңыз.</translation>
-<translation id="7607142834923530546">Жұмыс есептік жазбасымен кірдіңіз. Жеке деректеріңіз бөлек сақталуы үшін, <ph name="NEW_USER" /> үшін жаңа Chromium жұмыс орнын жасағыңыз келе ме?</translation>
 <translation id="761356813943268536">Chromium камераңыз бен микрофоныңызды пайдалануда.</translation>
 <translation id="7617377681829253106">Chromium жақсара түсті</translation>
 <translation id="7628001322379820951">Chromium компьютеріңізден зиянды бағдарламалық құрал тапты.</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Бұл – Chromium браузерінің қайта орнатылған нұсқасы және әдепкі браузер бола алмайды.</translation>
 <translation id="7979877361127045932">Chromium мәзірінде жасыру</translation>
 <translation id="8013436988911883588">Chromium браузерінің кіру рұқсаты болса, веб-сайттар сізден кіру рұқсатын сұрайды.</translation>
-<translation id="8022442821873033760">Жаңа Chromium профилін реттеңіз</translation>
 <translation id="81770708095080097">Бұл файл қауіпті болғандықтан, Chromium оны бөгеді.</translation>
 <translation id="8248265253516264921">Егер суреттің пайдалы сипаттамасы болмаса, Chromium оны өзі ұсынып көреді. Сипаттамалар жасау үшін суреттер Google-ға жіберіледі. Бұл функцияны кез келген уақытта параметрлерден өшіріп қоюға болады.</translation>
 <translation id="8266560134891435528">Есептік жазбаға кірмегендіктен, Chromium сіздің құпия сөздеріңізді тексере алмайды.</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium браузерін бір күннің ішінде қайта іске қосыңыз}other{Chromium браузерін # күннің ішінде қайта іске қосыңыз}}</translation>
 <translation id="8453117565092476964">Орнатқыш мұрағаты бүлінген немесе жарамсыз. Chromium қайтадан жүктеңіз.</translation>
 <translation id="8493179195440786826">Chromium ескірген</translation>
-<translation id="8545858702702650646">Chromium профилін таңдаңыз</translation>
 <translation id="8558383651099478961">Ата-анаңыз Chromium браузері үшін "Сайттар, қолданбалар және кеңейтімдер бойынша рұқсаттар" параметрін өшірді. <ph name="EXTENSION_TYPE_PARAMETER" /> кеңейтімін енгізуге болмайды.</translation>
 <translation id="8568283329061645092">Google есептік жазбаңызбен кіргенде, Chromium сіздің құпия сөздеріңізді тексере алады.</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. Барлық құқықтар қорғалған.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Жүйе әкімшісі Chromium браузерін <ph name="TARGET_URL_HOSTNAME" /> сілтемесіне қосымша браузер арқылы кіре алатындай етіп конфигурациялады.</translation>
 <translation id="9164845895615421500">Chromium браузері қажетсіз бағдарламалық құралдың бар-жоғын аптасына бір рет тексереді. Соңғы тексерілген уақыты: жаңа ғана.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Осы құрылғыда шолу тәртібін сақтау үшін Chromium профильдерін пайдаланыңыз.</translation>
 <translation id="93478295209880648">Chromium дұрыс жұмыс істемеуі мүмкін, себебі оған Windows XP не Windows Vista жүйелерінде қолдау көрсетілмейді</translation>
 <translation id="95514773681268843">Бұл құрылғыны пайдаланудан бұрын <ph name="DOMAIN" /> домені келесі қызмет шарттарын оқып, қабылдауыңызды талап етеді. Бұл шарттар Chromium OS шарттарын толықтырмайды, өзгертпейді және шектемейді.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_km.xtb b/chrome/app/resources/chromium_strings_km.xtb
index 04df9e9..31f8fea 100644
--- a/chrome/app/resources/chromium_strings_km.xtb
+++ b/chrome/app/resources/chromium_strings_km.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">មិនតម្រូវ៖ ជួយ​កែលម្អ​មុខងារ និង​ប្រតិបត្តិការ​របស់ Chromium OS ដោយបញ្ជូនទិន្នន័យប្រើប្រាស់ និងការវិភាគទៅ Google ដោយស្វ័យប្រវត្តិ។</translation>
 <translation id="2347108572062610441">កម្មវិធីបន្ថែមនេះបានប្តូរអ្វីដែលបានបង្ហាញនៅលើទំព័រនៅពេលអ្នកចាប់ផ្តើម Chromium។</translation>
 <translation id="2396765026452590966">កម្មវិធីបន្ថែម "<ph name="EXTENSION_NAME" />" បានប្តូរអ្វីដែលបានបង្ហាញនៅលើទំព័រនៅពេលអ្នកចាប់ផ្តើម Chromium។</translation>
-<translation id="2442081746662839303">បង្កើត​កន្លែង Chromium ថ្មី​សម្រាប់ <ph name="NEW_USER" /> ឬ​?</translation>
 <translation id="2483889755041906834">នៅក្នុង Chromium</translation>
 <translation id="2485422356828889247">លុបការតំឡើង</translation>
 <translation id="2527042973354814951">ចាប់ផ្តើម Chromium ឡើងវិញដើម្បីបើក <ph name="PLUGIN_NAME" /></translation>
@@ -99,7 +98,6 @@
 <translation id="4677944499843243528">ទម្រង់នេះបង្ហាញថាមានការប្រើប្រាស់ដោយដំណើរការ Chromium ដទៃ (<ph name="PROCESS_ID" />) នៅលើកុំព្យូទ័រដទៃ (<ph name="HOST_NAME" />)។ Chromium បានចាក់សោទម្រង់ ដូច្នេះវាមិនជួបបញ្ហា។ ប្រសិនបើអ្នកប្រាកដថាមិនមានដំណើរការដទៃកំពុងប្រើទម្រង់នេះទេ អ្នកអាចដោះសោទម្រង់ ហើយបើកដំណើរការ Chromium ឡើងវិញ។</translation>
 <translation id="469338717132742108">ទទួលយកជំនួយពី Chromium OS</translation>
 <translation id="4708774505295300557">មាននរណាម្នាក់បានចូលទៅកាន់ Chromium នៅលើកុំព្យូទ័រនេះកាលពីមុន ជា <ph name="ACCOUNT_EMAIL_LAST" /> ។ សូមបង្កើតអ្នកប្រើ Chromium ថ្មី ដើម្បីរក្សាព័ត៌មានរបស់អ្នកដាច់ដោយឡែក។</translation>
-<translation id="4745225042341419983">ទិន្នន័យរុករក​របស់កម្រងព័ត៌មាននេះ​នឹង​ត្រូវលុបចេញ​ពីឧបករណ៍​នេះ។ ដើម្បីស្ដារ​ទិន្នន័យនេះ សូមចូល Chromium ជា</translation>
 <translation id="4746050847053251315">នៅ​តែ​​ចង់​ចាក​ចេញពី Chromium ឬ?</translation>
 <translation id="4748217263233248895">ការធ្វើបច្ចុប្បន្នភាព​ផ្នែកសុវត្ថិភាព​ពិសេសសម្រាប់ Chromium ទើបតែ​ត្រូវបានអនុវត្ត។ សូមចាប់ផ្ដើម​ឡើងវិញឥឡូវនេះ នោះយើងនឹង​ស្ដារផ្ទាំង​របស់អ្នក។</translation>
 <translation id="4750035648288509542">ជិតដំឡើង​កំណែរួចរាល់ហើយ! សូមចាប់ផ្ដើម Chromium ឡើងវិញ ដើម្បីបញ្ចប់​ការដំឡើង​កំណែ។ ផ្ទាំងឯកជន​នឹង​មិនបើកឡើងវិញទេ។</translation>
@@ -109,7 +107,6 @@
 <translation id="4943838377383847465">Chromium នៅក្នុងរបៀបផ្ទៃខាងក្រោយ។</translation>
 <translation id="4987820182225656817">ភ្ញៀវអាចប្រើ Chromium ដោយមិនមានបន្សល់ទុកអ្វីឡើយ។</translation>
 <translation id="4994636714258228724">បន្ថែមខ្លួនអ្នកទៅ Chromium</translation>
-<translation id="5053724573690775822">បង្កើត​កន្លែង​ការងារ Chromium ថ្មី​ឬ?</translation>
 <translation id="5224391634244552924">គ្មានពាក្យសម្ងាត់ដែលបានរក្សាទុកទេ។ Chromium អាចពិនិត្យ​ពាក្យសម្ងាត់​របស់អ្នក នៅពេលអ្នក​រក្សាទុកពាក្យសម្ងាត់​ទាំងនោះ។</translation>
 <translation id="5277894862589591112">ដើម្បី​អនុវត្ត​ការផ្លាស់ប្ដូររបស់អ្នក សូម​ចាប់ផ្ដើម​ Chromium ឡើងវិញ</translation>
 <translation id="5358375970380395591">អ្នកកំពុងចូលជាមួយគណនីដែលបានគ្រប់គ្រង ហើយផ្តល់ឲ្យអ្នកគ្រប់គ្រងនូវការគ្រប់គ្រងលើទម្រង់ Chromium របស់អ្នក។ ទិន្នន័យ Chromium របស់អ្នក ដូចជាកម្មវិធី គេហទំព័រ ប្រវត្តិ ពាក្យសម្ងាត់ និងការកំណត់ផ្សេងទៀតរបស់អ្នកនឹងភ្ជាប់ជាមួយ <ph name="USER_NAME" /> ជាអចិន្ត្រៃយ៍។ អ្នកនឹងអាចលុបទិន្នន័យនេះតាមរយៈ Google Accounts Dashboard ប៉ុន្តែអ្នកនឹងមិនអាចភ្ជាប់ទិន្នន័យនេះជាមួយគណនីដ៏ទៃទៀតឡើយ។ <ph name="LEARN_MORE" /></translation>
@@ -119,7 +116,6 @@
 <translation id="5416696090975899932">Chromium មិន​អាច​បង្ហាញ​ការ​មើលការបោះពុម្ព​សាកល្បង​បានទេ នៅពេល​គ្មានកម្មវិធីមើល​ PDF ដែលភ្ជាប់​មក​ជាមួយ។</translation>
 <translation id="5427571867875391349">កំណត់ Chromium ជាកម្មវិធីរុករកលំនាំដើមរបស់អ្នក</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">អ្នក​បានចូល​ដោយប្រើ​គណនីថ្មី​នៅក្នុង​កន្លែង​របស់ <ph name="EXISTING_USER" />។ តើអ្នក​ចង់​បង្កើត​កន្លែង Chromium ថ្មី​សម្រាប់ <ph name="NEW_USER" /> ដើម្បី​រក្សាទុក​ទិន្នន័យ​របស់អ្នក​ដាច់ដោយឡែក​ដែរទេ​?</translation>
 <translation id="5479196819031988440">Chromium OS មិនអាចបើកទំព័រនេះបានទេ។</translation>
 <translation id="5480860683791598150">Chromium ត្រូវការ​សិទ្ធិចូលប្រើ​ទីតាំង​របស់អ្នក ដើម្បីចែករំលែក​ទីតាំង​របស់អ្នក​ជាមួយ​ទំព័រនេះ</translation>
 <translation id="549669000822060376">សូមរង់ចាំ ខណៈពេលដែល Chromium តំឡើងការធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធចុងក្រោយបំផុត។</translation>
@@ -142,7 +138,6 @@
 <translation id="608189560609172163">Chromium មិនអាចធ្វើសមកម្មទិន្នន័យរបស់អ្នកទេដោយសារកំហុសឆ្គងការចូល។</translation>
 <translation id="6096348254544841612">គ្រប់គ្រង និង​ប្ដូរ Chromium តាម​បំណង។ មាន​កំណែថ្មី​ហើយ។</translation>
 <translation id="6120345080069858279">Chromium នឹង​រក្សាទុក​ពាក្យ​សម្ងាត់នេះ​នៅក្នុង​គណនី Google របស់អ្នក ដូច្នេះអ្នកនឹង​មិនចាំបាច់​ចងចាំ​វាទេ។</translation>
-<translation id="6128834065531097268">អ្នក​បានចូល​ដោយប្រើ​គណនីការងារ​នៅក្នុង​កន្លែង​របស់ <ph name="EXISTING_USER" />។ តើអ្នក​ចង់​បង្កើត​កន្លែង Chromium ថ្មី​សម្រាប់ <ph name="WORK_DOMAIN" /> ដើម្បី​រក្សាទុក​ទិន្នន័យ​របស់អ្នក​ដាច់ដោយឡែក​ដែរទេ​?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> មានគ្រោះថ្នាក់ ដូច្នេះ Chromium បានរារាំងវា។</translation>
 <translation id="6134968993075716475">បានបិទមុខងាររុករក​ដោយសុវត្ថិភាព​។ Chromium ណែនាំឱ្យ​បើក​មុខងារនេះ។</translation>
 <translation id="6212496753309875659">កុំព្យូទ័រនេះមានកំណែ Chromium ថ្មីជាងនេះរួចហើយ។ ប្រសិនបើកម្មវិធីនេះមិនដំណើរការ សូមលុបការតំឡើង Chromium ហើយព្យាយាមម្តងទៀត។</translation>
@@ -204,7 +199,6 @@
 <translation id="7561906087460245826">សម្អាតទិន្នន័យពី Chromium (<ph name="URL" />) ផងដែរ</translation>
 <translation id="7585853947355360626">ប្រសិនបើ​ការកំណត់​មិនបង្ហាញនៅលើទំព័រនេះទេ សូមមើលនៅក្នុងការកំណត់កម្មវិធីរុករកតាមអ៊ីនធឺណិត <ph name="LINK_BEGIN" />
       Chromium OS របស់អ្នក<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">អ្នក​បានចូល​ដោយប្រើ​គណនី​ការងារ​។ តើអ្នក​ចង់​បង្កើត​កន្លែង Chromium ថ្មី​សម្រាប់ <ph name="NEW_USER" /> ដើម្បី​រក្សាទុក​ទិន្នន័យ​ផ្ទាល់ខ្លួន​របស់អ្នក​ដាច់ដោយឡែក​ដែរទេ​?</translation>
 <translation id="761356813943268536">Chromium កំពុងប្រើកាមេរ៉ា និងម៉ៃក្រូហ្វូនរបស់អ្នក។</translation>
 <translation id="7617377681829253106">Chromium កាន់តែប្រសើរឡើង</translation>
 <translation id="7628001322379820951">Chromium បានរកឃើញ​កម្មវិធីបង្កគ្រោះថ្នាក់​នៅលើ​កុំព្យូទ័ររបស់អ្នក</translation>
@@ -222,7 +216,6 @@
 <translation id="7975919845073681630">នេះគឺជាការដំឡើេង Chromium បន្ទាប់បន្សំ ហើយវាមិនអាចធ្វើជាកម្មវិធីរុករកលំនាំដើមរបស់អ្នកបានទេ។</translation>
 <translation id="7979877361127045932">លាក់នៅក្នុងម៉ឺនុយ Chromium</translation>
 <translation id="8013436988911883588">បន្ទាប់ពី Chromium មានសិទ្ធិចូលប្រើហើយ គេហទំព័រ​នឹង​អាច​ស្នើ​សុំ​សិទ្ធិ​ចូល​ប្រើពី​អ្នកបាន។</translation>
-<translation id="8022442821873033760">រៀបចំ Chromium Space ថ្មីរបស់អ្នក</translation>
 <translation id="81770708095080097">ឯកសារនេះមានគ្រោះថ្នាក់ ហេតុដូច្នេះហើយបានជា Chromium រារាំងវា។</translation>
 <translation id="8248265253516264921">ប្រសិនបើរូបភាពមិនមាន​ការពណ៌នា​ដែលមានប្រយោជន៍ Chromium នឹង​ព្យាយាមផ្ដល់​ការពណ៌នា​ដែលមានប្រយោជន៍សម្រាប់​អ្នក។ រូបភាព​ត្រូវបានផ្ញើ​ទៅ Google ដើម្បី​បង្កើត​ការពណ៌នា។ អ្នកអាចបិទ​សកម្មភាពនេះ​នៅក្នុងការកំណត់​បានគ្រប់ពេល។</translation>
 <translation id="8266560134891435528">Chromium មិន​អាច​ពិនិត្យពាក្យសម្ងាត់របស់អ្នកបានទេ ដោយសារអ្នកមិនបានចូលគណនី</translation>
@@ -233,7 +226,6 @@
 <translation id="8417404458978023919">{0,plural, =1{ចាប់ផ្ដើម Chromium ឡើងវិញ​ក្នុងរយៈពេល​មួយ​ថ្ងៃទៀត}other{ចាប់ផ្ដើម Chromium ឡើងវិញ​ក្នុងរយៈពេល # ថ្ងៃទៀត}}</translation>
 <translation id="8453117565092476964">កម្មវិធីតំឡើងបណ្ណាសារមានបញ្ហា ឬគ្មានសុពលភាព។ សូមទាញយក Google Chromium ម្តងទៀត។</translation>
 <translation id="8493179195440786826">Chromium ហួសសម័យហើយ</translation>
-<translation id="8545858702702650646">ជ្រើសរើស Chromium Space របស់អ្នក</translation>
 <translation id="8558383651099478961">មាតាបិតា​របស់អ្នក​បានបិទ "ការអនុញ្ញាត​ឱ្យចូលប្រើ​គេហទំព័រ កម្មវិធី និង​កម្មវិធី​បន្ថែម" សម្រាប់ Chromium។ ការបញ្ចូល <ph name="EXTENSION_TYPE_PARAMETER" /> នេះ​មិនត្រូវបាន​អនុញ្ញាតទេ​។</translation>
 <translation id="8568283329061645092">Chromium អាចពិនិត្យពាក្យសម្ងាត់របស់អ្នក នៅពេលអ្នកចូល​ដោយប្រើគណនី Google របស់អ្នក</translation>
 <translation id="8586442755830160949">រក្សាសិទ្ធិគ្រប់យ៉ាងដោយផលិតករ Chromium។ រក្សាសិទ្ធិ <ph name="YEAR" />។</translation>
@@ -259,7 +251,6 @@
 <translation id="9158494823179993217">អ្នក​គ្រប់គ្រង​ប្រព័ន្ធ​របស់អ្នកបាន​កំណត់​រចនាសម្ព័ន្ធ Chromium ឱ្យបើក​កម្មវិធីរុករកតាម​អ៊ីនធឺណិត​ផ្សេងសម្រាប់​ចូលប្រើ <ph name="TARGET_URL_HOSTNAME" /> ។</translation>
 <translation id="9164845895615421500">Chromium ពិនិត្យ​រកមើល​កម្មវិធី​ដែលមិនចង់បានម្ដង​ក្នុងមួយសប្ដាហ៍។ បានពិនិត្យមើល​លើកចុងក្រោយ៖ មុននេះ​បន្តិច។</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">ប្រើ Chromium Spaces ដើម្បីរៀបចំ​ការរុករករបស់អ្នកនៅលើ​ឧបករណ៍នេះ</translation>
 <translation id="93478295209880648">Chromium អាច​នឹង​​ដំណើរការ​មិន​​ត្រឹមត្រូវ​ ដោយសារ​វា​មិន​អាចប្រើ​បាន​នៅលើ Windows XP ឬ Windows Vista ទៀត​ឡើយ។</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> តម្រូវឲ្យអ្នកអាន និងទទួលលក្ខខណ្ឌសេវាកម្មខាងក្រោម មុនពេលប្រើឧបករណ៍នេះ។ លក្ខខណ្ឌនេះមិនបន្ថែម កែសម្រួល ឬកំណត់ដោយលក្ខខណ្ឌ Chromium OS ទេ។</translation>
 <translation id="985602178874221306">ផលិតករ Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_kn.xtb b/chrome/app/resources/chromium_strings_kn.xtb
index b04b6ea..d1f9604 100644
--- a/chrome/app/resources/chromium_strings_kn.xtb
+++ b/chrome/app/resources/chromium_strings_kn.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">ಐಚ್ಛಿಕ: ಡಯಗ್ನೊಸ್ಟಿಕ್ ಮತ್ತು ಬಳಕೆಯ ಡೇಟಾವನ್ನು Google ಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಳುಹಿಸುವ ಮೂಲಕ Chromium OS ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಲು ಸಹಾಯ ಮಾಡಿ.</translation>
 <translation id="2347108572062610441">ನೀವು Chromium ಪ್ರಾರಂಭಿಸಿದಾಗ ಯಾವ ಪುಟ ತೋರಿಸಬೇಕೆಂಬುದನ್ನು ಈ ವಿಸ್ತರಣೆಯು ಬದಲಾಯಿಸಿದೆ.</translation>
 <translation id="2396765026452590966">ನೀವು Chromium ಪ್ರಾರಂಭಿಸಿದಾಗ ತೋರಿಸಬೇಕಾದ ಪುಟವನ್ನು "<ph name="EXTENSION_NAME" />" ವಿಸ್ತರಣೆಯು ಬದಲಾಯಿಸಿದೆ.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> ಅವರಿಗಾಗಿ ಹೊಸ Chromium ಸ್ಪೇಸ್ ರಚಿಸಬೇಕೇ?</translation>
 <translation id="2483889755041906834">Chromium ನಲ್ಲಿ</translation>
 <translation id="2485422356828889247">ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> ಸಕ್ರಿಯಗೊಳಿಸಲು Chromium ಮರುಪ್ರಾರಂಭಿಸಿ</translation>
@@ -94,7 +93,6 @@
 <translation id="4677944499843243528">ಮತ್ತೊಂದು ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ (<ph name="HOST_NAME" />) ಇನ್ನೊಂದು Chromium ಪ್ರಕ್ರಿಯೆಯ (<ph name="PROCESS_ID" />) ಮೂಲಕ ಪ್ರೊಫೈಲ್ ಬಳಕೆಯಲ್ಲಿರುವಂತೆ ತೋರುತ್ತಿದೆ. ಪ್ರೊಫೈಲ್ ದೋಷಪೂರಿತಗೊಳ್ಳದಂತೆ ಅದನ್ನು Chromium ಲಾಕ್ ಮಾಡಿದೆ. ಇತರ ಯಾವುದೇ ಪ್ರಕ್ರಿಯೆಗಳು ಈ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಬಳಸುತ್ತಿಲ್ಲವೆಂದು ನಿಮಗೆ ಖಚಿತವಾಗಿದ್ದರೆ, ನೀವು ಪ್ರೊಫೈಲ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಬಹುದು ಮತ್ತು Chromium ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬಹುದು.</translation>
 <translation id="469338717132742108">Chromium OS ಕುರಿತಾಗಿ ಸಹಾಯ ಪಡೆಯಿರಿ</translation>
 <translation id="4708774505295300557">ಈ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ <ph name="ACCOUNT_EMAIL_LAST" /> ನಂತೆ Chromium ಗೆ ಯಾರೋ ಈ ಹಿಂದೆಯೇ ಸೈನ್ ಇನ್ ಮಾಡಿದ್ದಾರೆ. ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿಕೊಳ್ಳಲು ಹೊಸ Chromium ಬಳಕೆದಾರರನ್ನು ರಚಿಸಿ.</translation>
-<translation id="4745225042341419983">ಈ ಸ್ಥಳದಲ್ಲಿನ ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಈ ಸಾಧನದಿಂದ ಅಳಿಸಲಾಗುತ್ತದೆ. ಡೇಟಾವನ್ನು ಪುನಃ ಪಡೆದುಕೊಳ್ಳಲು, Chromium ನಲ್ಲಿ ಇದರಂತೆ ಸೈನ್ ಇನ್ ಮಾಡಿ:</translation>
 <translation id="4746050847053251315">ಹೇಗಿದ್ದರೂ Chromium ಅನ್ನು ಮುಚ್ಚುವುದೇ?</translation>
 <translation id="4748217263233248895">Chromium ಗೆ ವಿಶೇಷ ಸುರಕ್ಷತೆಯ ಅಪ್‌ಡೇಟ್‌‌ ಅನ್ನು ಈಗ ತಾನೇ ಅನ್ವಯಿಸಲಾಗಿದೆ. ಇದೀಗ ಮರುಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ನಿಮ್ಮ ಟ್ಯಾಬ್‌ಗಳನ್ನು ನಾವು ಮರುಸ್ಥಾಪಿಸುತ್ತೇವೆ.</translation>
 <translation id="4750035648288509542">ಬಹುತೇಕ ಅಪ್ ಟು ಡೇಟ್ ಆಗಿದೆ! ಅಪ್‌ಡೇಟ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು Chromium ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ. ಅಜ್ಞಾತ ವಿಂಡೋಗಳನ್ನು ಮರಳಿ ತೆರೆಯಲಾಗುವುದಿಲ್ಲ.</translation>
@@ -104,7 +102,6 @@
 <translation id="4943838377383847465">Chromium ಹಿನ್ನೆಲೆ ಮೋಡ್‌ನಲ್ಲಿದೆ.</translation>
 <translation id="4987820182225656817">ಅತಿಥಿಗಳು ಏನನ್ನೂ ಉಳಿಸದೆಯೇ Chromium ಬಳಸಬಹುದು.</translation>
 <translation id="4994636714258228724">ನೀವಾಗಿಯೇ Chromium ಗೆ ಸೇರಿಕೊಳ್ಳಿ</translation>
-<translation id="5053724573690775822">ಹೊಸ Chromium ವರ್ಕ್ ಸ್ಪೇಸ್ ರಚಿಸಬೇಕೇ?</translation>
 <translation id="5224391634244552924">ಯಾವುದೇ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಉಳಿಸಿಲ್ಲ. ನೀವು ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಉಳಿಸಿದಾಗ, Chromium ಅವುಗಳನ್ನು ಪರಿಶೀಲಿಸಬಹುದು.</translation>
 <translation id="5277894862589591112">ನಿಮ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ಅನ್ವಯಿಸಲು, Chromium ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="5358375970380395591">ನೀವು ನಿರ್ವಹಿಸಲಾದ ಖಾತೆಯೊಂದಿಗೆ ಸೈನ್ ಇನ್ ಮಾಡುತ್ತಿರುವಿರಿ ಮತ್ತು ನಿಮ್ಮ Chromium ಪ್ರೊಫೈಲ್ ಮೂಲಕ ಅದರ ನಿರ್ವಾಹಕ ನಿಯಂತ್ರಣವನ್ನು ನೀಡುತ್ತಿರುವಿರಿ. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳು, ಇತಿಹಾಸ, ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಹಾಗೂ ಇತರ ಸೆಟ್ಟಿಂಗ್‌ಗಳಂತಹ ನಿಮ್ಮ Chromium ಡೇಟಾವನ್ನು <ph name="USER_NAME" /> ಅವರಿಗೆ ಶಾಶ್ವತವಾಗಿ ಬಂಧಿಸಲಾಗುತ್ತದೆ. Google ಖಾತೆಗಳ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಮೂಲಕ ಈ ಡೇಟಾವನ್ನು ಅಳಿಸಲು ನಿಮಗೆ ಸಾಧ್ಯ, ಆದರೆ ಬೇರೊಂದು ಖಾತೆಯೊಂದಿಗೆ ಈ ಡೇಟಾವನ್ನು ಸಂಯೋಜಿಸಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. <ph name="LEARN_MORE" /></translation>
@@ -114,7 +111,6 @@
 <translation id="5416696090975899932">ಅಂತರ್ನಿರ್ಮಿತ PDF ವೀಕ್ಷಕವು ಇಲ್ಲದಿದ್ದರೆ, ಮುದ್ರಣದ ಪೂರ್ವವೀಕ್ಷಣೆಯನ್ನು ತೋರಿಸಲು Chromium ಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.</translation>
 <translation id="5427571867875391349">Chromium ಅನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್‌ ರೂಪದಲ್ಲಿ ಹೊಂದಿಸಿ</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium ಬೀಟಾ</translation>
-<translation id="544968170749360982"><ph name="EXISTING_USER" /> ಅವರ ಸ್ಪೇಸ್‌ನಲ್ಲಿ ನೀವು ಹೊಸ ಖಾತೆಯ ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿದ್ದೀರಿ. ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಲು <ph name="NEW_USER" /> ಅವರಿಗಾಗಿ ಹೊಸ Chromium ಸ್ಪೇಸ್ ರಚಿಸಲು ಬಯಸುತ್ತೀರಾ?</translation>
 <translation id="5479196819031988440">Chromium OS ಗೆ ಈ ಪುಟ ತೆರೆಯಲಾಗುವುದಿಲ್ಲ.</translation>
 <translation id="5480860683791598150">ಈ ಸೈಟ್‌ ಜೊತೆಗೆ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು Chromium ಗೆ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸುವ ಅಗತ್ಯವಿದೆ</translation>
 <translation id="549669000822060376">ದಯವಿಟ್ಟು ಇತ್ತೀಚಿನ ಸಿಸ್ಟಂ ನವೀಕರಣಗಳನ್ನು Chromium ಸ್ಥಾಪಿಸುವಾಗ ಕಾಯಿರಿ.</translation>
@@ -137,7 +133,6 @@
 <translation id="608189560609172163">ಸೈನ್ ಇನ್ ಮಾಡುವಲ್ಲಿ ದೋಷವಿರುವ ಕಾರಣ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡಲು Chromium ಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.</translation>
 <translation id="6096348254544841612">Chromium ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ ಮತ್ತು ನಿಯಂತ್ರಿಸಿ. ಅಪ್‌ಡೇಟ್ ಲಭ್ಯವಿದೆ.</translation>
 <translation id="6120345080069858279">Chromium, ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿ ಈ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಉಳಿಸುತ್ತದೆ. ನೀವು ಅದನ್ನು ನೆನಪಿಡುವ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ.</translation>
-<translation id="6128834065531097268">ನೀವು <ph name="EXISTING_USER" /> ಅವರ ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಕೆಲಸದ ಖಾತೆಯ ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿದ್ದೀರಿ. ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಲು <ph name="WORK_DOMAIN" /> ಗಾಗಿ ಹೊಸ Chromium ಸ್ಪೇಸ್ ರಚಿಸಲು ಬಯಸುತ್ತೀರಾ?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> ಅಪಾಯಕಾರಿಯಾಗಿದೆ, ಹಾಗಾಗಿ Chromium ಅದನ್ನು ನಿರ್ಬಂಧಿಸಿದೆ.</translation>
 <translation id="6134968993075716475">ಸುರಕ್ಷಿತ ಬ್ರೌಸಿಂಗ್‌ ಆಫ್ ಆಗಿದೆ. ಅದನ್ನು ಆನ್ ಮಾಡಲು Chromium ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ.</translation>
 <translation id="6212496753309875659">ಈ ಕಂಪ್ಯೂಟರ್ Chromium ನ ಇತ್ತೀಚಿನ ಹೆಚ್ಚಿನ ಆವೃತ್ತಿಯನ್ನು ಹೊಂದಿದೆ. ಸಾಫ್ಟ್‌ವೇರ್ ಕಾರ್ಯನಿರ್ವಹಿಸದಿದ್ದರೆ, ದಯವಿಟ್ಟು Chromium ಅನ್ನು ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
@@ -194,7 +189,6 @@
 <translation id="7549178288319965365">Chromium OS ಕುರಿತು</translation>
 <translation id="7561906087460245826">Chromium ನಿಂದಲೂ ಡೇಟಾವನ್ನು ತೆರವುಗೊಳಿಸಿ (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">ಈ ಪುಟದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ ಒಂದು ಕಾಣಿಸದಿದ್ದರೆ, ನಿಮ್ಮ <ph name="LINK_BEGIN" />Chromium OS ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ<ph name="LINK_END" /> ನೋಡಿರಿ</translation>
-<translation id="7607142834923530546">ನೀವು ಕೆಲಸದ ಖಾತೆಯ ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿದ್ದೀರಿ. ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಡೇಟಾವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಲು <ph name="NEW_USER" /> ಅವರಿಗಾಗಿ ಹೊಸ Chromium ಸ್ಪೇಸ್ ಅನ್ನು ರಚಿಸಲು ಬಯಸುತ್ತೀರಾ?</translation>
 <translation id="761356813943268536">Chromium ನಿಮ್ಮ ಕ್ಯಾಮರಾ ಮತ್ತು ಮೈಕ್ರೋಫೋನ್ ಬಳಸುತ್ತಿದೆ.</translation>
 <translation id="7617377681829253106">Chromium ಇದೀಗ ಉತ್ತಮಗೊಂಡಿದೆ</translation>
 <translation id="7628001322379820951">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿರುವ ಹಾನಿಕಾರಕ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು Chromium ಪತ್ತೆಹಚ್ಚಿದೆ</translation>
@@ -212,7 +206,6 @@
 <translation id="7975919845073681630">ಇದು Chromium ನ ದ್ವಿತೀಯ ಸ್ಥಾಪನೆಯಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್ ಆಗಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ.</translation>
 <translation id="7979877361127045932">Chromium ಮೆನುವಿನಲ್ಲಿ ಮರೆಮಾಡು</translation>
 <translation id="8013436988911883588">Chromium ಒಮ್ಮೆ ಪ್ರವೇಶವನ್ನು ಪಡೆದ ಬಳಿಕ, ಪ್ರವೇಶಕ್ಕಾಗಿ ನಿಮ್ಮನ್ನು ಕೇಳಲು ವೆಬ್‍ಸೈಟ್‍ಗಳಿಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ.</translation>
-<translation id="8022442821873033760">ನಿಮ್ಮ ಹೊಸ Chromium ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ</translation>
 <translation id="81770708095080097">ಈ ಫೈಲ್ ಅಪಾಯಕಾರಿಯಾಗಿದೆ, ಹೀಗಾಗಿ Chromium ಇದನ್ನು ನಿರ್ಬಂಧಿಸಿದೆ.</translation>
 <translation id="8248265253516264921">ಚಿತ್ರದಲ್ಲಿ ಉಪಯುಕ್ತ ವಿವರಣೆಯು ಇಲ್ಲದಿದ್ದರೆ, Chromium ನಿಮಗಾಗಿ ಒಂದು ವಿವರಣೆಯನ್ನು ಒದಗಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ವಿವರಣೆಗಳನ್ನು ರಚಿಸಲು, ಚಿತ್ರಗಳನ್ನು Google ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಇದನ್ನು ನೀವು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಯಾವಾಗ ಬೇಕಾದರೂ ಆಫ್ ಮಾಡಬಹುದು.</translation>
 <translation id="8266560134891435528">ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿರದ ಕಾರಣ, Chromium ಗೆ ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ</translation>
@@ -223,7 +216,6 @@
 <translation id="8417404458978023919">{0,plural, =1{ಒಂದು ದಿನದ ಒಳಗೆ Chromium ಮರುಪ್ರಾರಂಭಿಸಿ}one{# ದಿನಗಳ ಒಳಗೆ Chromium ಮರುಪ್ರಾರಂಭಿಸಿ}other{# ದಿನಗಳ ಒಳಗೆ Chromium ಮರುಪ್ರಾರಂಭಿಸಿ}}</translation>
 <translation id="8453117565092476964">ಸ್ಥಾಪಕ ಆರ್ಕೈವ್ ದೋಷಪೂರಿತವಾಗಿದೆ ಅಥವಾ ಅಮಾನ್ಯವಾಗಿದೆ. ದಯವಿಟ್ಟು Chromium ಅನ್ನು ಪುನಃ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ.</translation>
 <translation id="8493179195440786826">Chromium ನ ಅವಧಿ ಮುಗಿದಿದೆ</translation>
-<translation id="8545858702702650646">ನಿಮ್ಮ Chromium ಸ್ಪೇಸ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="8558383651099478961">ನಿಮ್ಮ ಪೋಷಕರು Chromium ನಲ್ಲಿ "ಸೈಟ್‌ಗಳು, ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ವಿಸ್ತರಣೆಗಳಿಗಾಗಿ ಅನುಮತಿಗಳನ್ನು" ಆಫ್ ಮಾಡಿದ್ದಾರೆ. ಈ <ph name="EXTENSION_TYPE_PARAMETER" /> ಅನ್ನು ಸೇರಿಸಲು ಅನುಮತಿಯಿಲ್ಲ.</translation>
 <translation id="8568283329061645092">ನೀವು Google ಖಾತೆಯ ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿದಾಗ, Chromium ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಬಲ್ಲದು</translation>
 <translation id="8586442755830160949">ಹಕ್ಕುಸ್ವಾಮ್ಯ <ph name="YEAR" /> Chromium ಲೇಖಕರು. ಎಲ್ಲಾ ಹಕ್ಕುಗಳನ್ನು ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ.</translation>
@@ -249,7 +241,6 @@
 <translation id="9158494823179993217"><ph name="TARGET_URL_HOSTNAME" /> ಗೆ ಪ್ರವೇಶಿಸಲು ಒಂದು ಪರ್ಯಾಯ ಬ್ರೌಸರ್ ತೆರೆಯುವಂತೆ ನಿಮ್ಮ ಸಿಸ್ಟಂ ನಿರ್ವಾಹಕರು Chromium ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದಾರೆ.</translation>
 <translation id="9164845895615421500">Chromium ಅನಗತ್ಯ ಸಾಫ್ಟ್‌ವೇರ್‌ಗಳನ್ನು ವಾರಕ್ಕೊಮ್ಮೆ ಪರಿಶೀಲಿಸುತ್ತದೆ. ಕೊನೆಯ ಪರಿಶೀಲನೆ: ಸ್ವಲ್ಪ ಸಮಯದ ಹಿಂದೆ.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">ಈ ಸಾಧನದಲ್ಲಿ ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಅನ್ನು ವ್ಯವಸ್ಥಿತಗೊಳಿಸಲು Chromium ಸ್ಪೇಸ್‌ಗಳನ್ನು ಬಳಸಿ</translation>
 <translation id="93478295209880648">Windows XP ಅಥವಾ Windows Vista ದಲ್ಲಿ Chromium ಗೆ ಈಗ ಬೆಂಬಲವಿಲ್ಲದೇ ಇರುವುದರಿಂದ ಅದು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> ಈ ಸಾಧನವನ್ನು ಬಳಸುವ ಮೊದಲು ಕೆಳಗಿನ ಸೇವಾ ನಿಯಗಳನ್ನು ನೀವು ಓದುವ ಹಾಗೂ ಸಮ್ಮತಿಸುವ ಅವಶ್ಯಕತೆ ಇದೆ. ಈ ನಿಯಮಗಳು ವಿಸ್ತರಗೊಳ್ಳುವುದಿಲ್ಲ, ಮಾರ್ಪಡಾಗುವುದಿಲ್ಲ, ಅಥವಾ Chromium OS ನಿಯಮಗಳನ್ನು ಉಲ್ಲಂಘಿಸುವುದಿಲ್ಲ.</translation>
 <translation id="985602178874221306">Chromium ಲೇಖಕರು</translation>
diff --git a/chrome/app/resources/chromium_strings_ko.xtb b/chrome/app/resources/chromium_strings_ko.xtb
index 6257310..5ca16141 100644
--- a/chrome/app/resources/chromium_strings_ko.xtb
+++ b/chrome/app/resources/chromium_strings_ko.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">선택사항: 진단 및 사용 데이터를 Google에 자동으로 전송하여 Chromium OS의 기능 및 성능 개선에 참여합니다.</translation>
 <translation id="2347108572062610441">Chromium을 시작하면 표시되는 페이지가 이 확장 프로그램으로 인해 변경되었습니다.</translation>
 <translation id="2396765026452590966">Chromium을 시작하면 표시되는 페이지가 '<ph name="EXTENSION_NAME" />' 확장 프로그램으로 인해 변경되었습니다.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" />님을 위한 Chromium 공간을 새로 만드시겠습니까?</translation>
 <translation id="2483889755041906834">Chromium에서</translation>
 <translation id="2485422356828889247">제거</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" />을(를) 사용하려면 Chromium을 다시 시작하세요.</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">다른 컴퓨터(<ph name="HOST_NAME" />)의 다른 Chromium 프로세스(<ph name="PROCESS_ID" />)에서 프로필을 사용 중인 것 같습니다. 프로필이 손상되지 않도록 Chromium에서 잠금 설정했습니다. 다른 프로세스에서 프로필을 사용 중이지 않은 것이 확실한 경우 프로필을 잠금 해제하고 Chromium을 다시 시작하세요.</translation>
 <translation id="469338717132742108">Chromium OS 도움말 보기</translation>
 <translation id="4708774505295300557">다른 사용자가 이전에 이 컴퓨터에서 <ph name="ACCOUNT_EMAIL_LAST" />(으)로 Chromium에 로그인했습니다. 새로운 Chromium 사용자를 만들어 정보를 별도로 관리하세요.</translation>
-<translation id="4745225042341419983">선택한 사용자의 인터넷 사용 기록이 이 기기에서 삭제됩니다. 데이터를 복구하려면 다음 프로필로 Chromium에 로그인하세요.</translation>
 <translation id="4746050847053251315">Chromium을 종료하시겠습니까?</translation>
 <translation id="4748217263233248895">Chromium 특별 보안 업데이트를 방금 적용했습니다. 다시 시작하면 탭이 복원됩니다.</translation>
 <translation id="4750035648288509542">업데이트가 거의 완료되었습니다. 업데이트를 마치려면 Chromium을 다시 실행하세요. 시크릿 창은 다시 열리지 않습니다.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium이 백그라운드 모드로 실행 중입니다.</translation>
 <translation id="4987820182225656817">게스트로 사용 기록을 남기지 않고 Chromium을 사용할 수 있습니다.</translation>
 <translation id="4994636714258228724">Chromium에 본인 추가</translation>
-<translation id="5053724573690775822">새로운 Chromium 작업 공간을 만드시겠습니까?</translation>
 <translation id="5224391634244552924">저장된 비밀번호가 없습니다. 비밀번호를 저장하면 Chromium에서 확인할 수 있습니다.</translation>
 <translation id="5277894862589591112">변경사항을 적용하려면 Chromium을 다시 실행하세요.</translation>
 <translation id="5358375970380395591">관리 계정으로 로그인하고 Chromium 프로필에 대한 관리자 제어권을 부여하려고 합니다. 앱, 북마크, 방문 기록, 비밀번호 및 기타 설정 등 Chromium 데이터가 <ph name="USER_NAME" /> 계정에 영구적으로 연결됩니다. 이후 이 데이터를 Google 계정 대시보드에서 삭제할 수는 있지만 다른 계정에 연결할 수는 없습니다. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">기본 제공되는 PDF 뷰어가 없으면 Chromium에서 인쇄 미리보기를 표시할 수 없습니다.</translation>
 <translation id="5427571867875391349">Chromium을 기본 브라우저로 설정</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium 베타</translation>
-<translation id="544968170749360982"><ph name="EXISTING_USER" />님의 공간에 새 계정으로 로그인했습니다. 데이터를 별도로 유지하기 위해 <ph name="NEW_USER" />님을 위한 Chromium 공간을 새로 만드시겠습니까?</translation>
 <translation id="5479196819031988440">Chromium OS에서 이 페이지를 열 수 없음</translation>
 <translation id="5480860683791598150">이 사이트와 위치를 공유하려면 Chromium에 내 위치 액세스 권한이 있어야 합니다</translation>
 <translation id="549669000822060376">Chromium에서 최신 시스템 업데이트를 설치하는 동안 잠시 기다려 주세요.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">로그인 중 오류가 발생하여 Chromium에서 데이터를 동기화하지 못했습니다.</translation>
 <translation id="6096348254544841612">Chromium을 맞춤설정하고 제어하세요. 업데이트가 출시되었습니다.</translation>
 <translation id="6120345080069858279">Chromium에서 내 Google 계정에 이 비밀번호를 저장하므로 기억하지 않아도 됩니다.</translation>
-<translation id="6128834065531097268"><ph name="EXISTING_USER" />님의 공간에 직장 계정으로 로그인했습니다. 데이터를 별도로 유지하기 위해 <ph name="WORK_DOMAIN" />용 Chromium 공간을 새로 만드시겠습니까?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" />은(는) 위험한 파일이므로 Chromium에서 차단했습니다.</translation>
 <translation id="6134968993075716475">세이프 브라우징이 사용 중지되어 있습니다. 사용 설정하는 것이 좋습니다.</translation>
 <translation id="6212496753309875659">컴퓨터에 이미 최신 버전의 Chromium이 있습니다. 소프트웨어가 작동하지 않으면 Chromium의 설치를 제거한 뒤 다시 시도하세요.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Chromium(<ph name="URL" />)에서도 데이터 삭제</translation>
 <translation id="7585853947355360626">페이지에 표시되지 않는 설정이 있다면 <ph name="LINK_BEGIN" />
       Chromium OS 설정<ph name="LINK_END" />을 확인해 보세요.</translation>
-<translation id="7607142834923530546">직장 계정으로 로그인했습니다. 개인 데이터를 별도로 유지하기 위해 <ph name="NEW_USER" />님을 위한 Chromium 공간을 새로 만드시겠습니까?</translation>
 <translation id="761356813943268536">Chromium이 카메라와 마이크를 사용 중입니다.</translation>
 <translation id="7617377681829253106">더욱 업그레이드된 Chromium</translation>
 <translation id="7628001322379820951">Chromium이 컴퓨터에서 유해한 소프트웨어를 발견했습니다.</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Chromium의 보조 설치이며 기본 브라우저로 설정할 수 없습니다.</translation>
 <translation id="7979877361127045932">Chromium 메뉴에서 숨기기</translation>
 <translation id="8013436988911883588">Chromium에 액세스 권한을 부여하면 웹사이트에서 액세스 권한을 요청할 수 있게 됩니다.</translation>
-<translation id="8022442821873033760">새 Chromium 환경을 설정하세요</translation>
 <translation id="81770708095080097">이 파일은 위험하므로 Chromium에서 차단했습니다.</translation>
 <translation id="8248265253516264921">이미지에 유용한 설명이 없으면 Chromium에서 자동으로 설명을 제공하려고 시도합니다. 설명을 생성하기 위해 이미지가 Google로 전송됩니다. 이 기능은 언제든지 설정에서 사용 중지할 수 있습니다.</translation>
 <translation id="8266560134891435528">로그인되어 있지 않으므로 Chromium에서 비밀번호를 확인할 수 없습니다.</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{1일 이내로 Chromium을 다시 시작해 주세요}other{#일 이내로 Chromium을 다시 시작해 주세요}}</translation>
 <translation id="8453117565092476964">설치 프로그램 아카이브가 손상되었거나 잘못되었습니다. Chromium을 다시 다운로드하세요.</translation>
 <translation id="8493179195440786826">Chromium이 이전 버전임</translation>
-<translation id="8545858702702650646">Chromium Space 선택</translation>
 <translation id="8558383651099478961">부모님이 Chromium의 ‘사이트, 앱, 확장 프로그램에 대한 권한’을 사용 중지하셨습니다. 이 <ph name="EXTENSION_TYPE_PARAMETER" /> 추가가 허용되지 않습니다.</translation>
 <translation id="8568283329061645092">Google 계정으로 로그인하면 Chromium에서 비밀번호를 확인할 수 있습니다.</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. All rights reserved.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">시스템 관리자가 <ph name="TARGET_URL_HOSTNAME" /> 액세스를 위해 대체 브라우저를 열도록 Chromium을 구성했습니다.</translation>
 <translation id="9164845895615421500">Chromium에서 일주일에 한 번 원치 않는 소프트웨어가 있는지 확인합니다. 최근 확인: 조금 전</translation>
 <translation id="9190841055450128916">Chromium(mDNS-In)</translation>
-<translation id="9191317372410544836">Chromium Space를 사용하여 기기의 탐색 환경을 정리하세요.</translation>
 <translation id="93478295209880648">Windows XP 또는 Windows Vista에서 더 이상 Chromium을 지원하지 않으므로 Chromium이 올바르게 작동하지 않을 수 있습니다</translation>
 <translation id="95514773681268843">이 기기를 사용하기 전에 <ph name="DOMAIN" />에서 다음 서비스 약관을 읽고 동의해야 합니다. 이 약관은 Chromium OS 약관을 확장, 수정 또는 제한하지 않습니다.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_ky.xtb b/chrome/app/resources/chromium_strings_ky.xtb
index 9942e13..af169f1 100644
--- a/chrome/app/resources/chromium_strings_ky.xtb
+++ b/chrome/app/resources/chromium_strings_ky.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Кошумча: Google'га мүчүлүштүктөрдү аныктоо жана колдонуу статистикасы жөнүндө автоматтык түрдө кабарлоо менен Chromium OS'тун функцияларын жана өндүрүмдүүлүгүн өркүндөтүүгө жардам бериңиз.</translation>
 <translation id="2347108572062610441">Бул кеңейтүү Chromium иштеп баштаганда көрсөтүлө турган бетти өзгөрттү.</translation>
 <translation id="2396765026452590966">"<ph name="EXTENSION_NAME" />" кеңейтүүсү Chromium иштеп баштаганда көрсөтүлө турган бетти өзгөрттү.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> үчүн жаңы Chromium мейкиндиги түзүлсүнбү?</translation>
 <translation id="2483889755041906834">Chromium'да</translation>
 <translation id="2485422356828889247">Орнотуудан чыгаруу</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> плагинин иштетүү үчүн Chromium'ду өчүрүп-күйгүзүңүз</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Chromium процессинде бул профилди (<ph name="PROCESS_ID" />) башка компьютерде (<ph name="HOST_NAME" />) колдонуп жатат окшойт. Chromium профиль бузулбасын деп кулпулап койду. Бул профиль башка процесстерде колдонулбайт деп ишенсеңиз, профилдин кулпусун ачып, Chromium'ду өчүрүп күйгүзүңүз.</translation>
 <translation id="469338717132742108">Chromium OS'тон жардам алыңыз</translation>
 <translation id="4708774505295300557">Буга чейин кимдир бирөө бул компьютерден Chromium'га <ph name="ACCOUNT_EMAIL_LAST" /> аккаунту менен кирген. Маалыматыңызды өзүнчө сактоо үчүн жаңы Chromium колдонуучусун түзүңүз.</translation>
-<translation id="4745225042341419983">Бул адамдын серептөө дайындары бул түзмөктөн биротоло өчүрүлөт. Дайындарды калыбына келтирүү үчүн, Chromium'га төмөнкү аккаунт менен кириңиз:</translation>
 <translation id="4746050847053251315">Баары бир Chromium'ду токтотосузбу?</translation>
 <translation id="4748217263233248895">Жаңы эле Chromium үчүн өзгөчө коопсуздук жаңыртуулары орнотулду. Өтмөктөрдү калыбына келтирүү үчүн аны өчүрүп-күйгүзүңүз.</translation>
 <translation id="4750035648288509542">Жаңыртылганы аз калды! Жаңыртууну аягына чыгаруу үчүн Chromium'ду кайра иштетиңиз. Жашыруун терезелер кайра ачылбайт.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium фондук режимде.</translation>
 <translation id="4987820182225656817">Коноктор Chromium'ду артында эч нерсе калтырбай колдоно алышат.</translation>
 <translation id="4994636714258228724">Өзүңүздү Chromium'га кошуңуз</translation>
-<translation id="5053724573690775822">Chromium'да жаңы Жумуш мейкиндигин ачасызбы?</translation>
 <translation id="5224391634244552924">Сакталган сырсөздөр жок. Сырсөздөрүңүздү сактаганда Chromium аларды текшере алат.</translation>
 <translation id="5277894862589591112">Өзгөртүүлөрдү киргизүү үчүн Chromium'ду кайра иштетиңиз</translation>
 <translation id="5358375970380395591">Башкарылган аккаунт менен кирип, анын администраторуна Chromiun профилиңизди көзөмөлдөө мүмкүнчүлүгүн берип жатасыз. Колдонмолоруңуз, кыстармалар, таржымал, сырсөздөр жана башка жөндөөлөр сыяктуу Chromium дайын-даректериңиз эми биротоло <ph name="USER_NAME" /> менен байланып калат. Бул дайындарды Google Каттоо эсептеринин Жеке кеңсеси аркылуу жок кылсаңыз болот, бирок башка аккаунтка байланыштыра албайсыз.<ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">PDF-файлдары менен иштей турган программа камтылбаган болсо, басылып чыга турган файлды Chromium'да алдын ала көрүүгө мүмкүн болбойт.</translation>
 <translation id="5427571867875391349">Chromium'ду демейки серепчи катары коюп алыңыз</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium бета сынамык версиясы</translation>
-<translation id="544968170749360982"><ph name="EXISTING_USER" /> мейкиндигине жаңы аккаунт менен кирдиңиз. <ph name="NEW_USER" /> үчүн жаңы Chromium мейкиндигин түзүп, маалыматты өзүнчө сактагыңыз келеби?</translation>
 <translation id="5479196819031988440">Chromium OS бул баракты ача албайт.</translation>
 <translation id="5480860683791598150">Бул сайт менен бөлүшүү үчүн Chromium жайгашкан жериңиз тууралуу маалыматты алышы керек</translation>
 <translation id="549669000822060376">Chromium эң акыркы тутум жаңыртууларын орнотуп бүткүчө күтө туруңуз.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Кирүү катасынан улам, Chromium дайын-даректериңизди шайкештештире алган жок.</translation>
 <translation id="6096348254544841612">Chromium'ду ыңгайлаштырып алып, көзөмөлдөңүз. Жаңыртуу бар.</translation>
 <translation id="6120345080069858279">Chromium бул сырсөздү Google аккаунтуңузга сактап коёт. Аны эстеп калуунун кажети жок.</translation>
-<translation id="6128834065531097268"><ph name="EXISTING_USER" /> мейкиндигине Жумуш аккаунту менен кирдиңиз. <ph name="WORK_DOMAIN" /> үчүн жаңы Chromium мейкиндигин түзүп, маалыматты өзүнчө сактагыңыз келеби?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> кооптуу файл болгондуктан, Chromium аны бөгөттөп койду.</translation>
 <translation id="6134968993075716475">Коопсуз серептөө өчүк. Chromium аны күйгүзүүнү сунуштайт.</translation>
 <translation id="6212496753309875659">Бул компьютерде Chromium'дун жаңыраак версиясы мурунтан эле орнотулган. Эгер программа иштебей жатса, Chromium'ду орнотуудан чыгарып, дагы бир жолу аракет кылып көрүңүз.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Chromium'дагы дайындар да тазалансын (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Эгер жөндөө бул баракта көрүнбөсө, <ph name="LINK_BEGIN" />
       Chromium OS жөндөөлөрүнөн<ph name="LINK_END" /> карап көрүңүз</translation>
-<translation id="7607142834923530546">Жумуш аккаунту менен кирдиңиз. <ph name="NEW_USER" /> үчүн жаңы Chromium мейкиндигин түзүп, маалыматты өзүнчө сактагыңыз келеби?</translation>
 <translation id="761356813943268536">Chromium сиздин камера менен микрофонуңузду пайдаланууда.</translation>
 <translation id="7617377681829253106">Chromium жаңы эле жакшыртылды</translation>
 <translation id="7628001322379820951">Chromium компьютериңизде кооптуу программаны тапты</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Бул Chromium'дун кошумча орнотулушу болгондуктан, аны демейки серепчиңиз катары тандай албайсыз.</translation>
 <translation id="7979877361127045932">Chromium менюсунда жашыруу</translation>
 <translation id="8013436988911883588">Chromium'га уруксат берилгенден кийин вебсайттар уруксат сурай алышат.</translation>
-<translation id="8022442821873033760">Жаңы Chromium сактагычын жөндөңүз</translation>
 <translation id="81770708095080097">Бул файл кооптуу, ошондуктан Chromium аны бөгөттөп койду.</translation>
 <translation id="8248265253516264921">Эгер сүрөттөрдүн түшүндүрмөсү жок болсо, Chromium аны түшүндүрүп берүүгө аракет кылат. Түшүндүрмөлөрдү даярдоо үчүн, сүрөттөр Google'га жөнөтүлөт. Аны жөндөөлөрдөн каалаган убакта өчүрүп койсоңуз болот.</translation>
 <translation id="8266560134891435528">Chromium сырсөздөрүңүздү текшере албайт, анткени аккаунтуңузга кирген жоксуз</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium 1 күндүн ичинде кайра иштетилет}other{Chromium # күндүн ичинде кайра иштетилет}}</translation>
 <translation id="8453117565092476964">Орноткуч архиви бузулган же жараксыз. Chromium'ду кайра жүктөп алыңыз.</translation>
 <translation id="8493179195440786826">Chromium эскирип калган.</translation>
-<translation id="8545858702702650646">Chromium сактагычын тандаңыз</translation>
 <translation id="8558383651099478961">Ата-энеңиз Chromium үчүн "Сайттарга, колдонмолорго жана кеңейтүүлөргө уруксаттарды" өчүрүп койгон. Бул <ph name="EXTENSION_TYPE_PARAMETER" /> кеңейтүүсүн кошууга болбойт.</translation>
 <translation id="8568283329061645092">Google аккаунтуңуз менен киргенде Chromium сырсөздөрүңүздү текшерет</translation>
 <translation id="8586442755830160949">Автордук укук <ph name="YEAR" /> Chromium авторлору. Бардык укуктар корголгон.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Тутумуңуздун администратору Chromium'ду <ph name="TARGET_URL_HOSTNAME" /> шилтемесин кошумча серепчиде ачылгыдай кылып конфигурациялады.</translation>
 <translation id="9164845895615421500">Chromium кооптуу программаларды аптасына бир жолу текшерет. Акыркы жолу качан текшерилген: жаңы эле</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Серептеген барактарды иреттүү кармоо үчүн, Chromium сактагычтарын колдонуңуз</translation>
 <translation id="93478295209880648">Chromium туура эмес иштеши мүмкүн, себеби ал Windows XP же Windows Vista'да мындан ары колдоого алынбайт.</translation>
 <translation id="95514773681268843">Бул түзмөктү колдонуудан мурун, <ph name="DOMAIN" /> төмөнкү Тейлөө шарттарын окуп, кабыл алууңузду суранат. Бул шарттар Chromium OS шарттарын кеңейтпейт, өзгөртпөйт же чектебейт.</translation>
 <translation id="985602178874221306">Chromium'дун авторлору</translation>
diff --git a/chrome/app/resources/chromium_strings_lo.xtb b/chrome/app/resources/chromium_strings_lo.xtb
index 7cf40ef..c956df17 100644
--- a/chrome/app/resources/chromium_strings_lo.xtb
+++ b/chrome/app/resources/chromium_strings_lo.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">ບໍ່ບັງຄັບ: ຊ່ວຍປັບປຸງຄຸນສົມບັດ ແລະ ປະສິດທິພາບຂອງ Chromium OS ໂດຍການສົ່ງຂໍ້ມູນການວິເຄາະ ແລະ ການນຳໃຊ້ໃຫ້ Google ໂດຍອັດຕະໂນມັດ.</translation>
 <translation id="2347108572062610441">ສ່ວນຂະຫຍາຍ​ນີ້​ໄດ້ປ່ຽນສິ່ງທີ່ໜ້າສະແດງຂຶ້ນ ເມື່ອທ່ານເລີ່ມຕົ້ນ Chromium​.</translation>
 <translation id="2396765026452590966">ສ່ວນຂະຫຍາຍ "<ph name="EXTENSION_NAME" />" ໄດ້ປ່ຽນສິ່ງທີ່ໜ້າສະແດງຂຶ້ນ ເມື່ອທ່ານເລີ່ມຕົ້ນ Chromium​.</translation>
-<translation id="2442081746662839303">ສ້າງພື້ນທີ່ Chromium ໃໝ່ສຳລັບ <ph name="NEW_USER" /> ບໍ?</translation>
 <translation id="2483889755041906834">ໃນ Chromium</translation>
 <translation id="2485422356828889247">ຖອນ​ຕິດ​ຕັ້ງ</translation>
 <translation id="2527042973354814951">ປິດເປີດ Chromium ຄືນໃໝ່ເພື່ອເປີດນຳໃຊ້ <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">ປະກົດວ່າໂປຣໄຟລ໌ໃຊ້ງານຢູ່ໂດຍຂະບວນການ Chromium ອື່ນ (<ph name="PROCESS_ID" />) ຢູ່ໃນຄອມພິວເຕີອື່ນ (<ph name="HOST_NAME" />). Chromium ໄດ້ລັອກໂປຣໄຟລ໌ໄວ້ ເພື່ອບໍ່ໃຫ້ມັນໄດ້ຮັບການ​ຂັດຂ້ອງ. ຖ້າທ່ານແນ່ໃຈວ່າ ບໍ່ມີຂະບວນການອື່ນໃຊ້ໂປຣໄຟລ໌ນີ້ຢູ່, ທ່ານສາມາດປົດລັອກໂປຣໄຟລ໌ ແລະເລີ່ມເປີດໃຊ້ Chromium ໃໝ່ໄດ້.</translation>
 <translation id="469338717132742108">ຂໍຄວາມຊ່ວຍເຫຼືອເລື່ອງ Chromium OS</translation>
 <translation id="4708774505295300557">ຄົນອື່ນເຄີຍເຂົ້າສູ່ລະບົບ Chromium ໃນຄອມພິວເຕີນີ້ເປັນ <ph name="ACCOUNT_EMAIL_LAST" /> ມາກ່ອນແລ້ວ. ກະລຸນາສ້າງຜູ້ໃຊ້ Chromium ໃໝ່ເພື່ອເກັບຂໍ້ມູນຂອງທ່ານໃຫ້ແຍກກັນຕ່າງຫາກ.</translation>
-<translation id="4745225042341419983">ຂໍ້ມູນການທ່ອງເວັບຂອງພື້ນທີ່ນີ້ຈະຖືກລຶບອອກຈາກອຸປະກອນນີ້. ເພື່ອກູ້ຂໍ້ມູນຄືນມາ, ກະລຸນາເຂົ້າສູ່ລະບົບ Chromium ເປັນ</translation>
 <translation id="4746050847053251315">ຢືນຢັນການອອກຈາກ Chromium ບໍ?</translation>
 <translation id="4748217263233248895">ຫາກໍນຳໃຊ້ການອັບເດດຄວາມປອດໄພພິເສດສຳລັບ Chromium ແລ້ວ. ກະລຸນາປິດເປີດໃໝ່ຕອນນີ້ເລີຍ ແລ້ວພວກເຮົາຈະກູ້ຄືນແຖບຂອງທ່ານ.</translation>
 <translation id="4750035648288509542">ເກືອບໃໝ່ຫຼ້າສຸດແລ້ວ! ເປີດໃຊ້ Chromium ຄືນໃໝ່ເພື່ອສຳເລັດການອັບເດດ. ໜ້າຈໍທີ່ບໍ່ເປີດເຜີຍຕົວຕົນຈະບໍ່ເປີດຄືນໃໝ່.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium ຢູ່ໃນໂໝດພື້ນຫຼັງ.</translation>
 <translation id="4987820182225656817">ແຂກສາມາດໃຊ້ Chromium ໂດຍ​ບໍ່​ມີ​ການປະອັນໃດໄວ້ເບື້ອງຫຼັງ.</translation>
 <translation id="4994636714258228724">ເພີ່ມທ່ານເອງໃສ່ Chromium</translation>
-<translation id="5053724573690775822">ສ້າງພື້ນທີ່ວຽກໃໝ່ໃນ Chromium ບໍ?</translation>
 <translation id="5224391634244552924">ບໍ່ມີລະຫັດຜ່ານທີ່ບັນທຶກໄວ້. Chromium ສາມາດກວດເບິ່ງລະຫັດຜ່ານຂອງທ່ານເມື່ອທ່ານບັນທຶກພວກມັນໄວ້.</translation>
 <translation id="5277894862589591112">ເພື່ອນຳໃຊ້ການປ່ຽນແປງຂອງທ່ານ, ກະລຸນາເປີດ Chromium ຄືນໃໝ່</translation>
 <translation id="5358375970380395591">ທ່ານກໍາລັງລົງຊື່ເຂົ້າ​ໃຊ້ດ້ວຍບັນຊີຄຸ້ມຄອງ ແລະໃຫ້ຜູ້ຄວບຄຸມຂອງມັນຄວບຄຸມໂປຣໄຟລ໌ Chromium ຂອງທ່ານ. ຂໍ້ມູນ Chromium ຂອງທ່ານ, ເຊັ່ນ: ແອັບ, ບຸກມາກສ໌, ປະຫວັດ, ລະຫັດຜ່ານ, ແລະການຕັ້ງຄ່າອື່ນໆຂອງທ່ານຈະຖືກຜູກ​ມັດ​ກັບ <ph name="USER_NAME" /> ຢ່າງຖາວອນ. ທ່ານຈະສາມາດລຶບຂໍ້ມູນນີ້ໄດ້ຜ່ານ Google Accounts Dashboard, ແຕ່ທ່ານຈະບໍ່ສາມາດເອົາຂໍ້ມູນນີ້ເຂົ້າຮ່ວມກັບບັນຊີອື່ນໄດ້. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium ບໍ່ສາມາດສະແດງຕົວຢ່າງການພິມເມື່ອບໍ່ມີໂປຣແກຣມເບິ່ງ PDF ທີ່ມາພ້ອມໃນຕົວ.</translation>
 <translation id="5427571867875391349">ຕັ້ງ Chromium ເປັນບຣາວ​ເຊີມາດຕະຖານຂອງທ່ານ</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">ທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີໃໝ່ໃນພື້ນທີ່ຂອງ <ph name="EXISTING_USER" />. ທ່ານຕ້ອງການສ້າງພື້ນທີ່ Chromium ໃໝ່ສຳລັບ <ph name="NEW_USER" /> ເພື່ອເກັບຮັກສາຂໍ້ມູນຂອງທ່ານແຍກໄວ້ຕ່າງຫາກບໍ?</translation>
 <translation id="5479196819031988440">Chromium OS ບໍ່ສາມາດເປີດໜ້ານີ້ໄດ້.</translation>
 <translation id="5480860683791598150">Chromium ຕ້ອງການເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານເພື່ອແບ່ງປັນສະຖານທີ່ຂອງທ່ານກັບເວັບໄຊນີ້</translation>
 <translation id="549669000822060376">ກະ​ລຸ​ນາ​ລໍ​ຖ້າ​ໃນ​ຂະ​ນະ​ທີ່ Chromium ​ຕິດ​ຕັ້ງ​ການອັບເດດລະບົບຫລ້າ​ສຸດ.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium ບໍ່​ສາ​ມາດຊິງຄ໌ຂໍ້​ມູນ​ຂອງ​ທ່ານໄດ້ ເນື່ອ​ງຈາກ​ການລົງຊື່ເຂົ້າ​ໃຊ້ຜິດພາດ.</translation>
 <translation id="6096348254544841612">ປັບແຕ່ງ ແລະ ຄວບຄຸມ Chromium. ມີການອັບເດດແລ້ວ</translation>
 <translation id="6120345080069858279">Chromium ຈະບັນທຶກລະຫັດຜ່ານນີ້ໄວ້ໃນບັນຊີ Google ຂອງທ່ານ. ທ່ານຈະບໍ່ຈຳເປັນຕ້ອງຈື່ມັນ.</translation>
-<translation id="6128834065531097268">ທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີບ່ອນເຮັດວຽກໃນພື້ນທີ່ຂອງ <ph name="EXISTING_USER" />. ທ່ານຕ້ອງການສ້າງພື້ນທີ່ Chromium ໃໝ່ສຳລັບ <ph name="WORK_DOMAIN" /> ເພື່ອເກັບຮັກສາຂໍ້ມູນຂອງທ່ານແຍກໄວ້ຕ່າງຫາກບໍ?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> ອັນຕະລາຍ, ສະນັ້ນ Chromium ໄດ້ບລັອກມັນໄວ້ແລ້ວ.</translation>
 <translation id="6134968993075716475">Safe Browsing ປິດຢູ່. Chromium ຂໍແນະນຳໃຫ້ເປີດມັນ.</translation>
 <translation id="6212496753309875659">ຄອມພິວເຕີນີ້ມີ Chromium ລຸ້ນໃໝ່ກ່ວາຢູ່ຮຽບຮ້ອຍແລ້ວ. ຖ້າຊອບແວບໍ່ເຮັດວຽກ, ກະລຸນາຖອນຕິດຕັ້ງ Chromium ແລະລອງໃໝ່ອີກ.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">ລຶບລ້າງຂໍ້ມູນອອກຈາກ Chromium (<ph name="URL" />) ນຳ</translation>
 <translation id="7585853947355360626">ຖ້າການຕັ້ງຄ່າບໍ່ສະແດງໃນໜ້ານີ້, ກະລຸນາກວດເບິ່ງໃນ <ph name="LINK_BEGIN" />
     ການຕັ້ງຄ່າ Chromium OS<ph name="LINK_END" /> ຂອງທ່ານ</translation>
-<translation id="7607142834923530546">ທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີບ່ອນເຮັດວຽກ. ທ່ານຕ້ອງການສ້າງພື້ນທີ່ Chromium ໃໝ່ສຳລັບ <ph name="NEW_USER" /> ເພື່ອເກັບຮັກສາຂໍ້ມູນຂອງທ່ານແຍກໄວ້ຕ່າງຫາກບໍ?</translation>
 <translation id="761356813943268536">Chromium ກໍາລັງໃຊ້​ກ້ອງ​ຖ່າຍ​ຮູບ​ ແລະໄມໂຄຣໂຟນຂອງ​ທ່ານ​.</translation>
 <translation id="7617377681829253106">Chromium ​ດີກ​ວ່າແລ້ວ</translation>
 <translation id="7628001322379820951">Chromium ໄດ້ພົບຊອບແວອັນຕະລາຍໃນຄອມພິວເຕີຂອງທ່ານ</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">ນີ້ແມ່ນການຕິດຕັ້ງສຳຮອງຂອງ Chromium ແລະ ບໍ່ສາມາດຖືກຕັ້ງເປັນໂປຣແກຣມທ່ອງເວັບເລີ່ມຕົ້ນໄດ້.</translation>
 <translation id="7979877361127045932">ເຊື່ອງ​ຢູ່​ໃນ​ເມ​ນູ Chromium</translation>
 <translation id="8013436988911883588">ເມື່ອ Chromium ມີການເຂົ້າເຖິງ, ເວັບໄຊຈະສາມາດຮ້ອງຂໍການເຂົ້າເຖິງນຳທ່ານ.</translation>
-<translation id="8022442821873033760">ຕັ້ງຄ່າ Chromium Space ໃໝ່ຂອງທ່ານ</translation>
 <translation id="81770708095080097">ໄຟລ໌ນີ້ເປັນອັນຕະລາຍ, ສະນັ້ນ Chromium ໄດ້ບລັອກມັນໄວ້ແລ້ວ.</translation>
 <translation id="8248265253516264921">ຖ້າຮູບບໍ່ມີລາຍລະອຽດທີ່ເປັນປະໂຫຍດ, Chromium ຈະພະຍາຍາມໃຫ້ລາຍລະອຽດແກ່ທ່ານ. ເພື່ອສ້າງລາຍລະອຽດ, ລະບົບຈະສົ່ງຮູບພາບໃຫ້ Google. ທ່ານສາມາດປິດສິ່ງນີ້ໃນການຕັ້ງຄ່າໄດ້ທຸກເວລາ.</translation>
 <translation id="8266560134891435528">Chromium ບໍ່ສາມາດກວດລະຫັດຜ່ານຂອງທ່ານໄດ້ ເພາະວ່າທ່ານບໍ່ໄດ້ເຂົ້າສູ່ລະບົບ</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{ເປີດໃຊ້ Chromium ຄືນໃໝ່ພາຍໃນໜຶ່ງມື້}other{ເປີດໃຊ້ Chromium ຄືນໃໝ່ພາຍໃນ # ມື້}}</translation>
 <translation id="8453117565092476964">ຄັງຕົວຕິດຕັ້ງຖືກເສຍຫາຍ ຫຼືໃຊ້ບໍ່ໄດ້. ກະລຸນາດາວໂຫຼດ Chromium ອີກ.</translation>
 <translation id="8493179195440786826">Chromium ຫຼ້າສະໄໝແລ້ວ</translation>
-<translation id="8545858702702650646">ເລືອກພື້ນທີ່ Chromium ຂອງທ່ານ</translation>
 <translation id="8558383651099478961">ພໍ່ແມ່ຂອງທ່ານໄດ້ປິດ "ການອະນຸຍາດສຳລັບເວັບໄຊ, ແອັບ ແລະ ສ່ວນຂະຫຍາຍ" ສຳລັບ Chromium ແລ້ວ. ການເພີ່ມ <ph name="EXTENSION_TYPE_PARAMETER" /> ນີ້ບໍ່ໄດ້ຮັບອະນຸຍາດ.</translation>
 <translation id="8568283329061645092">Chromium ສາມາດກວດເບິ່ງລະຫັດຜ່ານຂອງທ່ານ ເມື່ອທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີ Google ຂອງທ່ານໄດ້</translation>
 <translation id="8586442755830160949">ລິຂະສິດ <ph name="YEAR" /> ຜູ້ຂຽນ Chromium. ສະຫງວນລິຂະສິດ.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">ຜູ້ເບິ່ງແຍງລະບົບໄດ້ກຳນົດຄ່າ Chromium ໃຫ້ເປີດໂປຣແກຣມທ່ອງເວັບສຳຮອງເພື່ອເຂົ້າເຖິງ <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium ຈະກວດຫາຊອບແວທີ່ບໍ່ຕ້ອງການໜຶ່ງຄັ້ງຕໍ່ອາທິດ. ກວດຄັ້ງຫຼ້າສຸດ: ເມື່ອກີ້ນີ້.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">ໃຊ້ພື້ນທີ່ Chromium ເພື່ອຮັກສາໃຫ້ການທ່ອງເວັບຂອງທ່ານເປັນລະບຽບຢູ່ໃນອຸປະກອນນີ້</translation>
 <translation id="93478295209880648">Chromium ອາດຈະບໍ່ເຮັດວຽກຢ່າງຖືກຕ້ອງ ເພາະວ່າມັນບໍ່ຖືກຮອງຮັບໃນ Windows XP ຫຼື Windows Vista ອີກຕໍ່ໄປ</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> ຮຽກຮ້ອງໃຫ້ທ່ານອ່ານ ແລະຍອມຮັບ​ເງື່ອນ​ໄຂ​ການ​ໃຫ້ບໍລິການຕໍ່ໄປນີ້ກ່ອນທີ່ຈະໃຊ້ອຸປະກອນນີ້. ​ເງື່ອນ​ໄຂເຫຼົ່ານີ້ບໍ່ຂະຫຍາຍ, ດັດແປງ ຫຼືຈໍາກັດ​ເງື່ອນ​ໄຂ​ກຳນົດຂອງ Chromium OS.</translation>
 <translation id="985602178874221306">ຜູ້ຂຽນ Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_lt.xtb b/chrome/app/resources/chromium_strings_lt.xtb
index 7fee357..326f54d 100644
--- a/chrome/app/resources/chromium_strings_lt.xtb
+++ b/chrome/app/resources/chromium_strings_lt.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Pasirenkama: padėkite patobulinti „Chromium“ OS funkcijas ir našumą automatiškai siųsdami diagnostikos ir naudojimo duomenis į sistemą „Google“.</translation>
 <translation id="2347108572062610441">Šis plėtinys pakeitė, kuris puslapis rodomas paleidus „Chromium“.</translation>
 <translation id="2396765026452590966">Plėtinys „<ph name="EXTENSION_NAME" />“ pakeitė, kuris puslapis rodomas paleidus „Chromium“.</translation>
-<translation id="2442081746662839303">Kurti naują „Chromium“ sritį, skirtą naudotojui (<ph name="NEW_USER" />)?</translation>
 <translation id="2483889755041906834">Naudojant „Chromium“</translation>
 <translation id="2485422356828889247">Pašalinti</translation>
 <translation id="2527042973354814951">Iš naujo paleiskite „Chromium“, kad įgalintumėte „<ph name="PLUGIN_NAME" />“</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Atrodo, kad profilį naudoja kitas „Chromium“ procesas (<ph name="PROCESS_ID" />) kitame kompiuteryje (<ph name="HOST_NAME" />). „Chromium“ užrakino profilį, kad jis nebūtų sugadintas. Jei esate tikri, kad jokie kiti procesai nenaudoja šio profilio, galite atrakinti profilį ir iš naujo paleisti „Chromium“.</translation>
 <translation id="469338717132742108">Gaukite pagalbos dėl „Chromium“ OS</translation>
 <translation id="4708774505295300557">Kažkas anksčiau prisijungė prie „Chromium“ šiame kompiuteryje kaip <ph name="ACCOUNT_EMAIL_LAST" />. Sukurkite naują „Chromium“ naudotoją, kad apsaugotumėte savo informaciją.</translation>
-<translation id="4745225042341419983">Šios srities naršymo duomenys bus ištrinti iš šio įrenginio. Jei norite atkurti duomenis, prisijunkite prie „Chromium“ kaip</translation>
 <translation id="4746050847053251315">Vis tiek išeiti iš „Chromium“?</translation>
 <translation id="4748217263233248895">Ką tik pritaikytas specialus „Chromium“ skirtas saugos naujinys. Paleiskite naršyklę iš naujo ir atkursime visus skirtukus.</translation>
 <translation id="4750035648288509542">Beveik atnaujinta! Paleiskite „Chromium“ iš naujo, kad būtų užbaigtas naujinimas. Inkognito langai nebus atidaryti iš naujo.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">„Chromium“ veikia fono režimu.</translation>
 <translation id="4987820182225656817">Svečiai gali naudoti „Chromium“ nepalikdami jokių duomenų.</translation>
 <translation id="4994636714258228724">Pridėkite save prie „Chromium“</translation>
-<translation id="5053724573690775822">Kurti naują „Chromium“ darbo sritį?</translation>
 <translation id="5224391634244552924">Nėra išsaugotų slaptažodžių. „Chromium“ gali tikrinti jūsų slaptažodžius, kai juos išsaugote.</translation>
 <translation id="5277894862589591112">Norėdami pritaikyti pakeitimus, paleiskite „Chromium“ iš naujo</translation>
 <translation id="5358375970380395591">Prisijungiate su valdoma paskyra ir leidžiate jos administratoriui valdyti jūsų „Chromium“ profilį. „Chromium“ duomenys, pvz., programos, žymės, istorija, slaptažodžiai ir kiti nustatymai, bus visam laikui susieti su <ph name="USER_NAME" />. Galėsite ištrinti šiuos duomenis naudodami „Google“ paskyrų informacijos suvestinę, bet negalėsite susieti šių duomenų su kita paskyra. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">„Chromium“ negalima rodyti spaudinio peržiūros, jei nėra įtaisytos PDF žiūryklės.</translation>
 <translation id="5427571867875391349">Nustatyti „Chromium“ kaip numatytąją naršyklę</translation>
 <translation id="5438241569118040789">„<ph name="PAGE_TITLE" />“ – „Chromium Beta“</translation>
-<translation id="544968170749360982">Prisijungėte naudodami naują paskyrą naudotojo (<ph name="EXISTING_USER" />) srityje. Ar norėtumėte sukurti naują „Chromium“ sritį, skirtą naudotojui (<ph name="NEW_USER" />), kad jūsų duomenys būtų saugomi atskirai?</translation>
 <translation id="5479196819031988440">„Chromium“ OS negali atidaryti šio puslapio.</translation>
 <translation id="5480860683791598150">„Chromium“ reikia leidimo, kad galėtų naudoti jūsų vietovės informaciją ir bendrinti ją su šia svetaine</translation>
 <translation id="549669000822060376">Palaukite, kol „Chromium“ įdiegs naujausius sistemos naujinius.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">„Chromium“ negali sinchronizuoti duomenų, nes prisijungiant įvyko klaida.</translation>
 <translation id="6096348254544841612">Tinkinkite ir valdykite „Chromium“. Pasiekiamas naujinys.</translation>
 <translation id="6120345080069858279">„Chromium“ išsaugos šį slaptažodį „Google“ paskyroje. Jums nereikia jo prisiminti.</translation>
-<translation id="6128834065531097268">Prisijungėte naudodami darbo paskyrą naudotojo (<ph name="EXISTING_USER" />) srityje. Ar norėtumėte sukurti naują „Chromium“ sritį, skirtą <ph name="WORK_DOMAIN" />, kad jūsų duomenys būtų saugomi atskirai?</translation>
 <translation id="6129621093834146363">Failas „<ph name="FILE_NAME" />“ pavojingas, todėl „Chromium“ jį užblokavo.</translation>
 <translation id="6134968993075716475">Saugaus naršymo funkcija išjungta. „Chromium“ rekomenduoja ją įjungti.</translation>
 <translation id="6212496753309875659">Šiame kompiuteryje jau yra naujesnės versijos „Chromium“. Jei programinė įranga neveikia, pašalinkite „Chromium“ ir bandykite dar kartą.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Taip pat išvalyti duomenis iš „Chromium“ (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Jei nustatymai šiame puslapyje nerodomi, jų ieškokite <ph name="LINK_BEGIN" />
       naršyklės „Chromium“ nustatymuose<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Prisijungėte naudodami darbo paskyrą. Ar norėtumėte sukurti naują „Chromium“ sritį, skirtą naudotojui (<ph name="NEW_USER" />) , kad jūsų asmeniniai duomenys būtų saugomi atskirai?</translation>
 <translation id="761356813943268536">„Chromium“ naudoja jūsų fotoaparatą ir mikrofoną.</translation>
 <translation id="7617377681829253106">„Chromium“ dabar dar tobulesnė</translation>
 <translation id="7628001322379820951">„Chromium“ kompiuteryje rado žalingos programinės įrangos</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Tai yra antrinis „Chromium“ diegimas, todėl ji negali būti nustatyta kaip numatytoji naršyklė.</translation>
 <translation id="7979877361127045932">Paslėpti „Chromium“ meniu elementą</translation>
 <translation id="8013436988911883588">Kai „Chromium“ galės pasiekti duomenis, svetainės taip pat galės prašyti suteikti leidimą juos pasiekti.</translation>
-<translation id="8022442821873033760">Naujos „Chromium“ srities nustatymas</translation>
 <translation id="81770708095080097">Šis failas pavojingas, todėl „Chromium“ jį užblokavo.</translation>
 <translation id="8248265253516264921">Jei nebus naudingo vaizdo aprašo, „Chromium“ bandys jums jį pateikti. Kad būtų galima kurti aprašus, vaizdai siunčiami į sistemą „Google“. Šią parinktį galite bet kada išjungti skiltyje „Nustatymai“.</translation>
 <translation id="8266560134891435528">„Chromium“ negali patikrinti jūsų slaptažodžių, nes esate neprisijungę</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{„Chromium“ paleidimas iš naujo po dienos}one{„Chromium“ paleidimas iš naujo po # dienos}few{„Chromium“ paleidimas iš naujo po # dienų}many{„Chromium“ paleidimas iš naujo po # dienos}other{„Chromium“ paleidimas iš naujo po # dienų}}</translation>
 <translation id="8453117565092476964">Diegimo programos archyvas sugadintas arba negalioja. Atsisiųskite „Chromium“ dar kartą.</translation>
 <translation id="8493179195440786826">„Chromium“ versija yra pasenusi</translation>
-<translation id="8545858702702650646">Pasirinkite savo „Chromium Space“</translation>
 <translation id="8558383651099478961">Jūsų tėvai išjungė svetainių, programų ir plėtinių leidimus sistemoje „Chromium“. Neleidžiama pridėti šio <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">„Chromium“ gali tikrinti jūsų slaptažodžius, kai prisijungiate naudodami „Google“ paskyrą</translation>
 <translation id="8586442755830160949">Autorių teisės priklauso „Chromium“ autoriams, <ph name="YEAR" /> m. Visos teisės saugomos.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Sistemos administratorius sukonfigūravo „Chromium“ atidaryti alternatyvią naršyklę, kad būtų galima pasiekti <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Kartą per savaitę „Chromium“ tikrina, ar nėra nepageidaujamos programinės įrangos. Paskutinį kartą tikrinta: ką tik.</translation>
 <translation id="9190841055450128916">„Chromium“ (mDNS-In)</translation>
-<translation id="9191317372410544836">Naudodami „Chromium Spaces“ šiame įrenginyje naršykite organizuotai</translation>
 <translation id="93478295209880648">„Chromium“ gali tinkamai neveikti, nes ji nebepalaikoma naudojant „Windows XP“ arba „Windows Vista“</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> reikia, kad prieš naudodami šį įrenginį perskaitytumėte toliau pateiktas paslaugų teikimo sąlygas. Šios sąlygos neišplečia, nepakeičia ir neapriboja „Chromium“ OS sąlygų.</translation>
 <translation id="985602178874221306">„Chromium“ autoriai</translation>
diff --git a/chrome/app/resources/chromium_strings_lv.xtb b/chrome/app/resources/chromium_strings_lv.xtb
index 5364ced5..e60b428 100644
--- a/chrome/app/resources/chromium_strings_lv.xtb
+++ b/chrome/app/resources/chromium_strings_lv.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Neobligāti: palīdziet uzlabot Chromium OS funkcijas un veiktspēju, automātiski nosūtot Google serveriem diagnostikas un lietojuma datus.</translation>
 <translation id="2347108572062610441">Šis paplašinājums mainīja iestatījumu, kura lapa tiek parādīta, palaižot pārlūku Chromium.</translation>
 <translation id="2396765026452590966">Paplašinājums “<ph name="EXTENSION_NAME" />” mainīja iestatījumu, kura lapa tiek parādīta, palaižot pārlūku Chromium.</translation>
-<translation id="2442081746662839303">Vai vēlaties izveidot jaunu Chromium darbvietu lietotājam <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">Pārlūkā Chromium</translation>
 <translation id="2485422356828889247">Atinstalēt</translation>
 <translation id="2527042973354814951">Restartējiet Chromium, lai iespējotu spraudni <ph name="PLUGIN_NAME" />.</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Šķiet, ka profils tiek izmantots citā Chromium procesā (<ph name="PROCESS_ID" />) citā datorā (<ph name="HOST_NAME" />). Lai profils netiktu bojāts, pārlūkā Chromium tas ir bloķēts. Ja esat pārliecināts, ka šis profils netiek izmantots citos procesos, varat to atbloķēt un restartēt pārlūku Chromium.</translation>
 <translation id="469338717132742108">Saņemt palīdzību par Chromium OS</translation>
 <translation id="4708774505295300557">Kāds iepriekš pierakstījās pārlūkā Chromium šajā datorā, izmantojot e-pasta adresi <ph name="ACCOUNT_EMAIL_LAST" />. Lūdzu, izveidojiet jaunu Chromium lietotāju, lai nošķirtu savu informāciju.</translation>
-<translation id="4745225042341419983">Šīs darbvietas pārlūkošanas dati tiks izdzēsti no šīs ierīces. Lai atkoptu datus, pierakstieties pārlūkprogrammā Chromium kā lietotājs</translation>
 <translation id="4746050847053251315">Vai tik un tā aizvērt pārlūku Chromium?</translation>
 <translation id="4748217263233248895">Tikko tika piemērots īpašs Chromium drošības atjauninājums. Restartējiet tūlīt, un mēs atjaunosim jūsu cilnes.</translation>
 <translation id="4750035648288509542">Gandrīz atjaunināts! Lai pabeigtu atjaunināšanu, atkārtoti palaidiet pārlūkprogrammu Chromium. Inkognito režīma logi netiks atkārtoti atvērti.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium darbojas fona režīmā.</translation>
 <translation id="4987820182225656817">Viesi var izmantot Chromium, neatstājot nekādas pēdas.</translation>
 <translation id="4994636714258228724">Pievienot savu kontu pārlūkā Chromium</translation>
-<translation id="5053724573690775822">Vai vēlaties izveidot jaunu Chromium darbvietu?</translation>
 <translation id="5224391634244552924">Nav saglabātu paroļu. Pārlūkprogrammā Chromium var pārbaudīt jūsu paroles, ja jūs tās saglabājat.</translation>
 <translation id="5277894862589591112">Lai ieviestu veiktās izmaiņas, atkārtoti palaidiet pārlūku Chromium.</translation>
 <translation id="5358375970380395591">Jūs pierakstāties ar pārvaldītu kontu, kura administrators var kontrolēt jūsu profilu. Jūsu Chromium dati, piemēram, lietotnes, grāmatzīmes, vēsture, paroles un citi iestatījumi, tiks neatgriezeniski saistīti ar lietotāju <ph name="USER_NAME" />. Varēsiet dzēst šos datus, izmantojot Google kontu informācijas paneli, taču nevarēsiet šos datus saistīt ar citu kontu. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium nevar parādīt drukas priekšskatījumu, ja nav pieejams iebūvētais PDF skatītājs.</translation>
 <translation id="5427571867875391349">Iestatīt Chromium kā noklusējuma pārlūku</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> — Chromium beta versija</translation>
-<translation id="544968170749360982">Jūs pierakstījāties lietotāja <ph name="EXISTING_USER" /> darbvietā ar jaunu kontu. Vai vēlaties izveidot jaunu Chromium darbvietu lietotājam <ph name="NEW_USER" />, lai glabātu datus atsevišķi?</translation>
 <translation id="5479196819031988440">Chromium OS nevar atvērt šo lapu.</translation>
 <translation id="5480860683791598150">Pārlūkam Chromium ir nepieciešama piekļuve jūsu atrašanās vietas datiem, lai varētu tos kopīgot ar šo vietni.</translation>
 <translation id="549669000822060376">Lūdzu, uzgaidiet, kamēr Chromium instalē jaunākos sistēmas atjauninājumus.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium nevarēja sinhronizēt jūsu datus pierakstīšanās kļūdas dēļ.</translation>
 <translation id="6096348254544841612">Pielāgojiet un pārvaldiet pārlūku Chromium. Ir pieejams atjauninājums.</translation>
 <translation id="6120345080069858279">Pārlūks Chromium saglabās šo paroli jūsu Google kontā. To nav nepieciešams iegaumēt.</translation>
-<translation id="6128834065531097268">Jūs pierakstījāties lietotāja <ph name="EXISTING_USER" /> darbvietā ar darba kontu. Vai vēlaties izveidot jaunu Chromium darbvietu domēnam <ph name="WORK_DOMAIN" />, lai glabātu datus atsevišķi?</translation>
 <translation id="6129621093834146363">Fails <ph name="FILE_NAME" /> ir bīstams, tādēļ Chromium to bloķēja.</translation>
 <translation id="6134968993075716475">Droša pārlūkošana ir izslēgta. Pārlūkā Chromium tiek ieteikts to ieslēgt.</translation>
 <translation id="6212496753309875659">Šim datoram jau ir jaunākā Chromium versija. Ja programmatūra nedarbojas, atinstalējiet pārlūku Chromium un mēģiniet vēlreiz.</translation>
@@ -199,7 +194,6 @@
 <translation id="7561906087460245826">Notīrīt arī datus no Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ja šajā lapā iestatījums nav pieejams, skatiet to sadaļā <ph name="LINK_BEGIN" />
       Chromium OS iestatījumi<ph name="LINK_END" />.</translation>
-<translation id="7607142834923530546">Jūs pierakstījāties ar darba kontu. Vai vēlaties izveidot jaunu Chromium darbvietu lietotājam <ph name="NEW_USER" />, lai glabātu personīgā konta datus atsevišķi?</translation>
 <translation id="761356813943268536">Pārlūkā Chromium tiek izmantota jūsu kamera un mikrofons.</translation>
 <translation id="7617377681829253106">Pārlūkā Chromium ir veikti uzlabojumi</translation>
 <translation id="7628001322379820951">Chromium atrada jūsu datorā kaitīgu programmatūru</translation>
@@ -217,7 +211,6 @@
 <translation id="7975919845073681630">Šī ir Chromium papildu instalācija, un to nevar izmantot kā noklusējuma pārlūku.</translation>
 <translation id="7979877361127045932">Paslēpt Chromium izvēlnē</translation>
 <translation id="8013436988911883588">Tiklīdz pārlūkam Chromium tiks sniegta piekļuve, vietnes varēs lūgt jums piekļuvi.</translation>
-<translation id="8022442821873033760">Jaunas Chromium darbvietas izveide</translation>
 <translation id="81770708095080097">Šis fails ir bīstams, tāpēc Chromium to bloķēja.</translation>
 <translation id="8248265253516264921">Ja attēlam nav vērtīga apraksta, pārlūks Chromium mēģinās jums tādu nodrošināt. Lai izveidotu aprakstus, attēli tiek nosūtīti uzņēmumam Google. Jebkurā brīdī iestatījumos varat izslēgt šo iespēju.</translation>
 <translation id="8266560134891435528">Pārlūkprogrammā Chromium nevar pārbaudīt jūsu paroles, jo jūs neesat pierakstījies.</translation>
@@ -228,7 +221,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Restartējiet pārlūku Chromium vienas dienas laikā}zero{Restartējiet pārlūku Chromium # dienu laikā}one{Restartējiet pārlūku Chromium # dienas laikā}other{Restartējiet pārlūku Chromium # dienu laikā}}</translation>
 <translation id="8453117565092476964">Instalēšanas programmas arhīvs ir bojāts vai nav derīgs. Lejupielādējiet Chromium vēlreiz.</translation>
 <translation id="8493179195440786826">Chromium versija ir novecojusi</translation>
-<translation id="8545858702702650646">Chromium darbvietas izvēle</translation>
 <translation id="8558383651099478961">Viens no jūsu vecākiem ir izslēdzis “Atļaujas vietnēm, lietotnēm un paplašinājumiem” pārlūkam Chromium. Nav atļauts pievienot šo: <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Pārlūkprogrammā Chromium var pārbaudīt jūsu paroles, ja esat pierakstījies savā Google kontā.</translation>
 <translation id="8586442755830160949">Autortiesības <ph name="YEAR" /> Chromium autori. Visas tiesības paturētas.</translation>
@@ -254,7 +246,6 @@
 <translation id="9158494823179993217">Sistēmas administrators ir konfigurējis Chromium, lai vietne <ph name="TARGET_URL_HOSTNAME" /> tiktu atvērta papildu pārlūkā.</translation>
 <translation id="9164845895615421500">Chromium meklē nevēlamu programmatūru vienreiz nedēļā. Pēdējoreiz pārbaudīts: pirms neilga brīža.</translation>
 <translation id="9190841055450128916">Chromium (mDNS ienākošie savienojumi)</translation>
-<translation id="9191317372410544836">Izmantojiet Chromium darbvietas, lai pielāgotu pārlūkošanas pieredzi šajā ierīcē</translation>
 <translation id="93478295209880648">Iespējams, Chromium nedarbosies pareizi, jo tas vairs netiek atbalstīts operētājsistēmās Windows XP un Windows Vista.</translation>
 <translation id="95514773681268843">Pirms šīs ierīces lietošanas jums ir jāizlasa un jāapstiprina tālāk sniegtie domēna <ph name="DOMAIN" /> pakalpojumu sniegšanas noteikumi. Šie noteikumi nepaplašina, nepārveido vai neierobežo operētājsistēmas Chromium OS noteikumus.</translation>
 <translation id="985602178874221306">Chromium autori</translation>
diff --git a/chrome/app/resources/chromium_strings_mk.xtb b/chrome/app/resources/chromium_strings_mk.xtb
index c374506..75951b4 100644
--- a/chrome/app/resources/chromium_strings_mk.xtb
+++ b/chrome/app/resources/chromium_strings_mk.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Незадолжително: помогнете да се подобрат функциите и изведбата на Chromium OS со автоматско испраќање дијагностички податоци и податоци за користењето до Google.</translation>
 <translation id="2347108572062610441">Екстензијата ја смени страницата што се прикажува кога го стартувате Chromium.</translation>
 <translation id="2396765026452590966">Екстензијата „<ph name="EXTENSION_NAME" />“ ја смени страницата што се прикажува кога го стартувате Chromium.</translation>
-<translation id="2442081746662839303">Да се создаде нов простор на Chromium за <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">Во Chromium</translation>
 <translation id="2485422356828889247">Деинсталирај</translation>
 <translation id="2527042973354814951">Рестартирајте го Chromium за да го овозможите <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Изгледа дека друг процес на Chromium го користи профилот (<ph name="PROCESS_ID" />) на друг компјутер (<ph name="HOST_NAME" />). Chromium го заклучи профилот за да не се оштети. Доколку сте сигурни дека други процеси не го користат овој профил, може да го отклучите и повторно да го стартувате Chromium.</translation>
 <translation id="469338717132742108">Добијте помош за Chromium OS</translation>
 <translation id="4708774505295300557">Некој претходно се најави на Chromium од овој компјутер како <ph name="ACCOUNT_EMAIL_LAST" />. Создајте нов корисник на Chromium за да ги чувате информациите одделно.</translation>
-<translation id="4745225042341419983">Податоците од прелистувањето на овој простор ќе се избришат од уредов. За да ги вратите податоците, најавете се на Chromium како</translation>
 <translation id="4746050847053251315">Сепак да се напушти Chromium?</translation>
 <translation id="4748217263233248895">Тукушто применивме посебно безбедносно ажурирање за Chromium. Рестартирајте сега и ќе ви ги вратиме картичките.</translation>
 <translation id="4750035648288509542">Речиси сте готови! Рестартирајте го Chromium за да заврши ажурирањето. Прозорците „Инкогнито“ нема да се отворат повторно.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium е во заднински режим.</translation>
 <translation id="4987820182225656817">Гостите може да го користат Chromium без оставање никакви траги зад нив.</translation>
 <translation id="4994636714258228724">Додај се себеси на Chromium</translation>
-<translation id="5053724573690775822">Да се создаде нов работен простор на Chromium?</translation>
 <translation id="5224391634244552924">Немате зачувани лозинки. Chromium може да ги проверува вашите лозинки ако ги зачувате.</translation>
 <translation id="5277894862589591112">За да се применат измените, рестартирајте го Chromium</translation>
 <translation id="5358375970380395591">Се пријавувате со управувана сметка и му давате контрола на администраторот над вашиот профил на Chromium. Вашите податоци на Chromium, како на пример ваши апликации, обележувачи, историја, лозинки и други поставки ќе бидат трајно поврзани со <ph name="USER_NAME" />. Може да ги бришете овие податоци преку информациската табла со сметки на Google, но нема да може да ги поврзувате овие податоци со друга сметка. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium не може да прикаже преглед на печатење кога недостасува вградениот прегледувач на PDF.</translation>
 <translation id="5427571867875391349">Поставете го Chromium за стандарден прелистувач</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">Се најавивте со нова сметка во просторот на <ph name="EXISTING_USER" />. Дали би сакале да создадете нов простор на Chromium за <ph name="NEW_USER" /> за да ги чувате податоците одделно?</translation>
 <translation id="5479196819031988440">ОС на Chromium не може да ја отвори страницава.</translation>
 <translation id="5480860683791598150">На Chromium му треба пристап до вашата локација за да ја сподели со сајтов</translation>
 <translation id="549669000822060376">Почекајте додека Chromium ги инсталира последните системски ажурирања.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium не може да ги синхронизира вашите податоци поради грешка во пријавувањето.</translation>
 <translation id="6096348254544841612">Приспособете го и контролирајте го Chromium. Достапно е ажурирање.</translation>
 <translation id="6120345080069858279">Chromium ќе ја зачува лозинкава во вашата сметка на Google. Не мора да ја запомните.</translation>
-<translation id="6128834065531097268">Се најавивте со работна сметка во просторот на <ph name="EXISTING_USER" />. Дали би сакале да создадете нов простор на Chromium за <ph name="WORK_DOMAIN" /> за да ги чувате податоците одделно?</translation>
 <translation id="6129621093834146363">Датотеката <ph name="FILE_NAME" /> е опасна, па затоа Chromium ја блокираше.</translation>
 <translation id="6134968993075716475">„Безбедното прелистување“ е исклучено. Chromium препорачува да го вклучите.</translation>
 <translation id="6212496753309875659">Овој компјутер веќе има најнова верзија на Chromium. Доколку софтверот не работи, деинсталирајте го Chromium и обидете се повторно.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Избриши ги и податоците од Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ако некоја поставка не се прикажува на страницава, погледнете во <ph name="LINK_BEGIN" />
     поставките за Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Се најавивте со работна сметка. Дали би сакале да создадете нов простор на Chromium за <ph name="NEW_USER" /> за да ги чувате личните податоци одделно?</translation>
 <translation id="761356813943268536">Chromium ги користи фотоапаратот и микрофонот.</translation>
 <translation id="7617377681829253106">Chromium е подобрен</translation>
 <translation id="7628001322379820951">Chromium најде штетен софтвер на вашиот компјутер</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Ова е второстепена инсталација на Chromium и затоа не може да биде стандарден прелистувач.</translation>
 <translation id="7979877361127045932">Сокриј во мени на Chromium</translation>
 <translation id="8013436988911883588">Ако Chromium има пристап, тогаш и веб-сајтовите ќе може да ви бараат пристап.</translation>
-<translation id="8022442821873033760">Поставете го вашиот нов простор на Chromium</translation>
 <translation id="81770708095080097">Датотекава е опасна, па затоа Chromium ја блокираше.</translation>
 <translation id="8248265253516264921">Ако сликата нема корисен опис, Chromium ќе се обиде да ви обезбеди опис. За да се создаваат описи, сликите се испраќаат до Google. Ова може да го исклучите во „Поставки“ во секое време.</translation>
 <translation id="8266560134891435528">Chromium не може да ги провери вашите лозинки бидејќи не сте најавени</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Рестартирајте го Chromium во рок од еден ден}one{Рестартирајте го Chromium во рок од # ден}other{Рестартирајте го Chromium во рок од # дена}}</translation>
 <translation id="8453117565092476964">Архивата на инсталаторот е оштетена или невалидна. Преземете го Chromium повторно.</translation>
 <translation id="8493179195440786826">Chromium е застарен</translation>
-<translation id="8545858702702650646">Изберете го вашиот простор на Chromium</translation>
 <translation id="8558383651099478961">Родителот ги исклучил „Дозволите за сајтови, апликации и екстензии“ за Chromium. Не е дозволено додавањето на оваа <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium може да ги проверува вашите лозинки кога ќе се најавите со вашата сметка на Google</translation>
 <translation id="8586442755830160949">Авторски права <ph name="YEAR" /> на Авторите на Chromium. Сите права се задржани.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Администраторот на системот го конфигурирал Chromium да отвора друг прелистувач за пристап до <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium проверува дали има несакан софтвер еднаш неделно. Последна проверка: предмалку.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Користете ги просторите на Chromium за да го организирате пребарувањето на уредов</translation>
 <translation id="93478295209880648">Chromium може да не функционира правилно затоа што веќе не е поддржан на Windows XP или Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> бара да ги прочитате и да ги прифатите следните Услови за користење пред да го користите уредот. Условите не ги прошируваат, менуваат или ограничуваат Условите на ОС Chromium.</translation>
 <translation id="985602178874221306">Автори на Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_ml.xtb b/chrome/app/resources/chromium_strings_ml.xtb
index 0f8badc..6e22a78 100644
--- a/chrome/app/resources/chromium_strings_ml.xtb
+++ b/chrome/app/resources/chromium_strings_ml.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">ഓപ്ഷണൽ: പ്രശ്‍നനിർണ്ണയ, ഉപയോഗ വിവരങ്ങൾ Google-ന് സ്വയമേവ അയച്ചുകൊണ്ട് Chromium OS ഫീച്ചറുകളും പ്രകടനവും മെച്ചപ്പെടുത്താൻ സഹായിക്കുക.</translation>
 <translation id="2347108572062610441">നിങ്ങൾ Chromium ആരംഭിക്കുമ്പോൾ ദൃശ്യമാകുന്ന പേജിനെ ഈ വിപുലീകരണം മാറ്റി.</translation>
 <translation id="2396765026452590966">നിങ്ങൾ Chromium ആരംഭിക്കുമ്പോൾ ദൃശ്യമാകുന്ന പേജിനെ "<ph name="EXTENSION_NAME" />" വിപുലീകരണം മാറ്റി.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> എന്നയാൾക്കായി പുതിയൊരു Chromium സ്പെയ്‌സ് സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="2483889755041906834">Chromium-ത്തിൽ</translation>
 <translation id="2485422356828889247">അണ്‍‌ഇന്‍‌സ്റ്റാള്‍‌ ചെയ്യുക</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> പ്രവർത്തനക്ഷമമാക്കാൻ Chromium റീസ്റ്റാർട്ട് ചെയ്യുക</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">മറ്റൊരു കമ്പ്യൂട്ടറിൽ (<ph name="HOST_NAME" />) മറ്റൊരു Chromium പ്രോസസ് (<ph name="PROCESS_ID" />) പ്രൊഫൈൽ ഉപയോഗിക്കുന്നതുപോലെ തോന്നുന്നു. Chromium പ്രൊഫൈൽ ലോക്കുചെയ്‌തതിനാൽ ഇത് കേടാകുകയില്ല. മറ്റ് പ്രോസസുകളൊന്നും ഈ പ്രൊഫൈൽ ഉപയോഗിക്കുന്നില്ലെന്ന് ഉറപ്പാണെങ്കിൽ നിങ്ങൾക്ക് പ്രൊഫൈൽ അൺലോക്ക് ചെയ്‌ത് Chromium വീണ്ടും സമാരംഭിക്കാം.</translation>
 <translation id="469338717132742108">Chromium OS ഉപയോഗിക്കുന്നതിനുള്ള സഹായം തേടുക</translation>
 <translation id="4708774505295300557">ഈ കമ്പ്യൂട്ടറിലെ Chromium-ത്തിൽ മുമ്പ് മറ്റാരോ <ph name="ACCOUNT_EMAIL_LAST" /> എന്നയാളായി സൈൻ ഇൻ ചെയ്‌തിരിക്കുന്നു. നിങ്ങളുടെ വിവരങ്ങൾ പ്രത്യേകം വേർതിരിച്ച് സൂക്ഷിക്കാൻ പുതിയ Chromium ഉപയോക്താവിനെ സൃഷ്‌ടിക്കുക.</translation>
-<translation id="4745225042341419983">ഈ സ്‌പെയ്‌സിന്റെ ബ്രൗസിംഗ് ഡാറ്റ ഈ ഉപകരണത്തിൽ നിന്ന് ഇല്ലാതാക്കപ്പെടും. ഡാറ്റ വീണ്ടെടുക്കാൻ, ഇനിപ്പറയുന്ന ഇമെയിൽ ഉപയോഗിച്ച് Chromium-ത്തിൽ സൈൻ ഇൻ ചെയ്യുക</translation>
 <translation id="4746050847053251315">എന്തായാലും Chromium-ത്തിൽ നിന്ന് പുറത്തുകടക്കണോ?</translation>
 <translation id="4748217263233248895">Chromium-നുള്ള ഒരു പ്രത്യേക സുരക്ഷാ അപ്‌ഡേറ്റ് പ്രയോഗിച്ചിരിക്കുന്നു. ഇപ്പോൾ റീസ്‌റ്റാർട്ട് ചെയ്യുക, ഞങ്ങൾ നിങ്ങളുടെ ടാബുകൾ പുനഃസ്ഥാപിക്കും.</translation>
 <translation id="4750035648288509542">എകദേശം അപ് റ്റു ഡേറ്റാണ്! അപ്‌ഡേറ്റ് ചെയ്യൽ പൂർത്തിയാക്കുന്നതിന് Chromium വീണ്ടും ആരംഭിക്കുക. അദൃശ്യ വിൻഡോകൾ വീണ്ടും തുറക്കില്ല.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium പശ്ചാത്തല മോഡിലാണ്.</translation>
 <translation id="4987820182225656817">അതിഥികൾക്ക് ഒന്നും ശേഷിപ്പിക്കാതെ തന്നെ Chromium ഉപയോഗിക്കാനാകും.</translation>
 <translation id="4994636714258228724">Chromium-ലേക്ക് സ്വയം ചേരുക</translation>
-<translation id="5053724573690775822">പുതിയൊരു Chromium വർക്ക്‌സ്‌പെയ്‌സ് സൃ‌ഷ്‌ടിക്കണോ?</translation>
 <translation id="5224391634244552924">സംരക്ഷിച്ച പാസ്‌വേഡുകളൊന്നുമില്ല. നിങ്ങളുടെ പാസ്‌വേഡുകൾ സംരക്ഷിക്കുകയാണങ്കിൽ, Chromium-ന് അവ പരിശോധിക്കാനാവും.</translation>
 <translation id="5277894862589591112">നിങ്ങളുടെ മാറ്റങ്ങൾ ബാധകമാക്കാൻ Chromium സമാരംഭിക്കുക</translation>
 <translation id="5358375970380395591">നിങ്ങൾ ഒരു നിയന്ത്രിത അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്‌ത് അതിന്റെ അഡ്‌മിന് നിങ്ങളുടെ Chromium പ്രൊഫൈലിന്റെ നിയന്ത്രണം നൽകുന്നു. നിങ്ങളുടെ ആപ്പുകൾ, ബുക്ക്‌മാർക്കുകൾ, ചരിത്രം, പാസ്‌വേഡുകൾ, മറ്റ് ക്രമീകരണങ്ങൾ എന്നിവ പോലെയുള്ള Chromium ഡാറ്റ <ph name="USER_NAME" /> എന്നതുമായി ശാശ്വതമായി ബന്ധിപ്പിച്ചതായിത്തീരും. Google അക്കൗണ്ട്സ് ഡാഷ്‌ബോർഡ് വഴി നിങ്ങൾക്ക് ഈ ഡാറ്റ ഇല്ലാതാക്കാനാകുമെങ്കിലും, ഈ ഡാറ്റ മറ്റൊരു അക്കൗണ്ടുമായി ബന്ധപ്പെടുത്താനാകില്ല. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">അടങ്ങിയ PDF വ്യൂവർ ഇല്ലാതിരിക്കുമ്പോൾ, Chromium-ന് പ്രിന്റ് പ്രിവ്യു കാണിക്കാനാവില്ല.</translation>
 <translation id="5427571867875391349">നിങ്ങളുടെ ഡിഫോൾട്ട് ബ്രൗസറായി Chromium സജ്ജമാക്കുക</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium ബീറ്റ</translation>
-<translation id="544968170749360982">നിങ്ങൾ ഒരു പുതിയ അക്കൗണ്ട് ഉപയോഗിച്ച് <ph name="EXISTING_USER" /> എന്നയാളുടെ സ്പെയ്‌സിൽ സൈൻ ഇൻ ചെയ്‌തു. നിങ്ങളുടെ ഡാറ്റ പ്രത്യേകം വേർതിരിച്ച് സൂക്ഷിക്കാൻ <ph name="NEW_USER" /> എന്നയാൾക്കായി പുതിയൊരു Chromium സ്പെയ്‌സ് സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="5479196819031988440">Chromium OS-ന് ഈ പേജ് തുറക്കാനാവില്ല.</translation>
 <translation id="5480860683791598150">Chromium-ത്തിന് ഈ സൈറ്റുമായി ലൊക്കേഷൻ പങ്കിടുന്നതിന് നിങ്ങളുടെ ലൊക്കേഷനിലേക്കുള്ള ആക്‌സസ് ആവശ്യമാണ്</translation>
 <translation id="549669000822060376">Chromium ഏറ്റവും പുതിയ സിസ്‌റ്റം അപ്‌ഡേറ്റുകൾ ഇൻസ്റ്റാളുചെയ്യുന്നതുവരെ കാത്തിരിക്കുക.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">സൈൻ ഇൻ ചെയ്യുന്നതിലെ പിശകിനാൽ Chromium-ന് നിങ്ങളുടെ ഡാറ്റ സമന്വയിപ്പിക്കാനായില്ല.</translation>
 <translation id="6096348254544841612">Chromium ഇഷ്ടാനുസൃതമാക്കി നിയന്ത്രിക്കുക. അപ്‌ഡേറ്റ് ലഭ്യമാണ്.</translation>
 <translation id="6120345080069858279">നിങ്ങളുടെ Google അക്കൗണ്ടിൽ Chromium ഈ പാസ്‌വേഡ് സംരക്ഷിക്കും. നിങ്ങൾ അത് ഓർത്ത് വയ്ക്കേണ്ടതില്ല.</translation>
-<translation id="6128834065531097268">നിങ്ങൾ ഒരു ഔദ്യോഗിക അക്കൗണ്ട് ഉപയോഗിച്ച് <ph name="EXISTING_USER" /> എന്നയാളുടെ സ്പെയ്‌സിൽ സൈൻ ഇൻ ചെയ്‌തു. നിങ്ങളുടെ ഡാറ്റ പ്രത്യേകം വേർതിരിച്ച് സൂക്ഷിക്കാൻ <ph name="WORK_DOMAIN" /> എന്നതിനായി പുതിയൊരു Chromium സ്പെയ്‌സ് സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> അപകടകരമായതിനാൽ, Chromium ഇതിനെ ബ്ലോക്കുചെയ്‌തു.</translation>
 <translation id="6134968993075716475">സുരക്ഷിത ബ്രൗസിംഗ് ഓഫാണ്. ഇത് ഓണാക്കാൻ Chromium നിർദ്ദേശിക്കുന്നു.</translation>
 <translation id="6212496753309875659">Chromium-ത്തിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് ഈ കമ്പ്യൂട്ടറില്‍ ഇപ്പോൾ തന്നെയുണ്ട്. സോഫ്റ്റ്‌വെയര്‍ പ്രവര്‍ത്തിക്കുന്നില്ലെങ്കില്‍, Chromium അൺഇൻസ്റ്റാൾ ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Chromium-ൽ നിന്നും ഡാറ്റ മായ്ക്കുക (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">ഈ പേജിൽ ക്രമീകരണം കാണിക്കുന്നില്ലെങ്കിൽ <ph name="LINK_BEGIN" />
       Chromium OS ക്രമീകരണത്തിൽ<ph name="LINK_END" /> പരിശോധിക്കുക</translation>
-<translation id="7607142834923530546">നിങ്ങൾ ഒരു ഔദ്യോഗിക അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്‌തു. നിങ്ങളുടെ വ്യക്തിപരമായ ഡാറ്റ പ്രത്യേകം വേർതിരിച്ച് സൂക്ഷിക്കാൻ <ph name="NEW_USER" /> എന്നയാൾക്കായി പുതിയൊരു Chromium സ്പെയ്‌സ് സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="761356813943268536">Chromium നിങ്ങളുടെ ക്യാമറയും മൈക്രോഫോണും ഉപയോഗിക്കുന്നു.</translation>
 <translation id="7617377681829253106">Chromium കൂടുതൽ മികച്ചതായി</translation>
 <translation id="7628001322379820951">Chromium നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ദോഷകരമായ സോഫ്റ്റ്‌വെയർ കണ്ടെത്തി</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">ഇത് Chromium-ത്തിന്റെ ദ്വിതീയ ഇൻസ്‌റ്റലേഷനായതിനാൽ, നിങ്ങളുടെ ഡിഫോൾട്ട് ബ്രൗസറാക്കാൻ കഴിയില്ല.</translation>
 <translation id="7979877361127045932">Chromium മെനുവിൽ മറയ്‌ക്കുക</translation>
 <translation id="8013436988911883588">Chromium-ത്തിന് ആക്‌സസ് ലഭിച്ചുകഴിഞ്ഞാൽ, വെബ്‌സൈറ്റുകൾക്ക് നിങ്ങളോട് ആക്‌സസ് ചോദിക്കാനാകും.</translation>
-<translation id="8022442821873033760">നിങ്ങളുടെ പുതിയ Chromium സ്പെയ്സ് സജ്ജീകരിക്കുക</translation>
 <translation id="81770708095080097">ഈ ഫയൽ അപകടകരമായതിനാൽ Chromium ഇതിനെ ബ്ലോക്കുചെയ്‌തു.</translation>
 <translation id="8248265253516264921">ചിത്രത്തിൽ ഉപകാരപ്രദമായ വിവരണമില്ലെങ്കിൽ നിങ്ങൾക്കായി ഒരു വിവരണം നൽകാൻ Chromium ശ്രമിക്കും. വിവരണങ്ങൾ സൃഷ്‌ടിക്കാൻ, ചിത്രങ്ങൾ Google-ലേക്ക് അയയ്ക്കുന്നു. ഏതുസമയത്തും ക്രമീകരണത്തിൽ നിങ്ങൾക്കിത് ഓഫാക്കാം.</translation>
 <translation id="8266560134891435528">നിങ്ങൾ സൈൻ ഇൻ ചെയ്‌തിട്ടില്ലാത്തതിനാൽ Chromium-ന് നിങ്ങളുടെ പാസ്‌വേഡുകൾ പരിശോധിക്കാനാവില്ല</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{ഒരു ദിവസത്തിനുള്ളിൽ Chromium വീണ്ടും സമാരംഭിക്കുക}other{# ദിവസത്തിനുള്ളിൽ Chromium വീണ്ടും സമാരംഭിക്കുക}}</translation>
 <translation id="8453117565092476964">ഇൻസ്റ്റാളർ ആർക്കൈവ് കേടായതാണ് അല്ലെങ്കിൽ അസാധുവാണ്. Chromium വീണ്ടും ഡൗൺലോഡ് ചെയ്യുക.</translation>
 <translation id="8493179195440786826">Chromium കാലഹരണപ്പെട്ടു</translation>
-<translation id="8545858702702650646">Chromium സ്പെയ്‌സ് തിരഞ്ഞെടുക്കുക</translation>
 <translation id="8558383651099478961">നിങ്ങളുടെ രക്ഷിതാവ് Chromium-നുള്ള "സൈറ്റുകൾക്കും ആപ്പുകൾക്കും വിപുലീകരണങ്ങൾക്കുമുള്ള അനുമതികൾ" ഓഫാക്കി. ഈ <ph name="EXTENSION_TYPE_PARAMETER" /> ചേർക്കുന്നത് അനുവദനീയമല്ല.</translation>
 <translation id="8568283329061645092">Google അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുമ്പോൾ Chromium-ന് നിങ്ങളുടെ പാസ്‌വേഡുകൾ പരിശോധിക്കാനാവും</translation>
 <translation id="8586442755830160949">പകർപ്പവകാശം <ph name="YEAR" /> Chromium രചയിതാക്കൾ. എല്ലാ അവകാശങ്ങളും നിക്ഷിപ്‌തം.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217"><ph name="TARGET_URL_HOSTNAME" /> ആക്‌സസ് ചെയ്യാൻ ഇതര ബ്രൗസർ തുറക്കുന്നതിനായി നിങ്ങളുടെ സിസ്‌റ്റം അഡ്‌മിൻ Chromium കോൺഫിഗർ ചെയ്‌തു.</translation>
 <translation id="9164845895615421500">ആഴ്‌ചയിൽ ഒരിക്കൽ അനാവശ്യ സോഫ്‌റ്റ്‌വെയർ കണ്ടെത്താൻ Chromium പരിശോധിക്കുന്നു. അവസാനം പരിശോധിച്ചത്: അൽപ്പം മുമ്പ്.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">ഈ ഉപകരണത്തിൽ നിങ്ങളുടെ ബ്രൗസ് ചെയ്യൽ ഓർ‌ഗനൈസ് ചെയ്‌ത നിലയിൽ നിലനിർത്താൻ Chromium സ്‌പെയ്‌സുകൾ ഉപയോഗിക്കുക</translation>
 <translation id="93478295209880648">ഇനിയങ്ങോട്ട് Windows XP-യും Windows Vista-യും പിന്തുണയ്‌ക്കാത്തതിനാൽ Chromium ശരിയായി പ്രവർത്തിച്ചേക്കില്ല</translation>
 <translation id="95514773681268843">ഈ ഉപകരണം ഉപയോഗിക്കുന്നതിന് മുമ്പ് നിങ്ങൾ ഇനിപ്പറയുന്ന സേവന നിബന്ധനകൾ വായിച്ച് അംഗീകരിക്കണമെന്ന് <ph name="DOMAIN" /> ആവശ്യപ്പെടുന്നു. Chromium OS നിബന്ധനകൾ വിപുലീകരിക്കുകയോ പരിഷ്‌കരിക്കുകയോ പരിമിതപ്പെടുത്തുകയോ ചെയ്യരുത്.</translation>
 <translation id="985602178874221306">Chromium രചയിതാക്കൾ</translation>
diff --git a/chrome/app/resources/chromium_strings_mn.xtb b/chrome/app/resources/chromium_strings_mn.xtb
index 4931ff6..deac7ccf 100644
--- a/chrome/app/resources/chromium_strings_mn.xtb
+++ b/chrome/app/resources/chromium_strings_mn.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Заавал биш: Оношилгоо болон ашиглалтын өгөгдлийг Google-д автоматаар илгээх замаар Chromium үйлдлийн системийн онцлогууд болон гүйцэтгэлийг сайжруулахад туслах.</translation>
 <translation id="2347108572062610441">Энэ өргөтгөл нь таныг Chromium эхлүүлэх үед хуудас дээр харуулах зүйлийг өөрчилсөн.</translation>
 <translation id="2396765026452590966">"<ph name="EXTENSION_NAME" />" өргөтгөл нь таныг Chromium эхлүүлэх үед хуудасны харуулах зүйлийг өөрчилсөн.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" />-д зориулж Chromium-н шинэ орон зай үүсгэх үү?</translation>
 <translation id="2483889755041906834">Chromium-д</translation>
 <translation id="2485422356828889247">Устгах</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" />-г идэвхжүүлэхийн тулд Chromium-г дахин эхлүүлнэ үү</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Хувийн мэдээллийг (<ph name="HOST_NAME" />) өөр компьютер дээр өөр Chromium үйлдэлд (<ph name="PROCESS_ID" />) ашиглаж байна гэж харагдаж байна. Chromium-аас хувийн мэдээллийг түгжсэн байгаа учраас үүнийг өөр зүйлд ашиглах боломжгүй юм. Хэрэв та өөр ямар ч үйлдэлд энэ хувийн мэдээллийг ашиглахгүй байгаа гэдэгт та итгэлтэй байгаа бол хувийн мэдээллээ цоожилж Chromium-ыг дахин эхлүүлж болно.</translation>
 <translation id="469338717132742108">Chromium үйлдлийн системээс тусламж авах</translation>
 <translation id="4708774505295300557">Хэн нэгэн энэ компьютерт <ph name="ACCOUNT_EMAIL_LAST" /> бүртгэлээр Chromium-д нэвтэрсэн байна. Мэдээллээ тусад нь хадгалахын тулд Chromium-н шинэ хэрэглэгч үүсгэнэ үү.</translation>
-<translation id="4745225042341419983">Тус орон зайн интернэтээр үзсэн өгөгдөл энэ төхөөрөмжөөс устана. Өгөгдлийг сэргээхийн тулд дараах бүртгэлээр Chromium-д нэвтэрнэ үү</translation>
 <translation id="4746050847053251315">Ямар ч байсан Chromium-г орхих уу?</translation>
 <translation id="4748217263233248895">Chromium-н аюулгүй байдлын тусгай шинэчлэлт хийгдэж дууслаа. Одоо дахин эхлүүлнэ үү. Бид таны табыг сэргээх болно.</translation>
 <translation id="4750035648288509542">Шинэчилж дуусаж байна! Шинэчлэлтийг дуусгахын тулд Chromium-г дахин ачаална уу. Нууцлалтай цонхыг дахин нээхгүй.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium нь суурь горимд байна.</translation>
 <translation id="4987820182225656817">Зочид Chromium-ийг ашигласнаар хамгийн сүүлийн үеийн мэдээллийг авна.</translation>
 <translation id="4994636714258228724">Өөрийгөө Chromium руу нэмэх</translation>
-<translation id="5053724573690775822">Chromium-н ажлын шинэ орон зай үүсгэх үү?</translation>
 <translation id="5224391634244552924">Хадгалсан ямар ч нууц үг алга. Таныг нууц үгсээ хадгалах үед Chromium тэднийг шалгах боломжтой.</translation>
 <translation id="5277894862589591112">Өөрчлөлтөө хэрэгжүүлэхийн тулд Chromium-г дахин ажиллуулна уу</translation>
 <translation id="5358375970380395591">Та удирдан ажиллаж буй хаягт нэвтэрч байгаагаас гадна таны Chromium профайлыг хянах эрхийг системийн ажилтанд шилжүүлж байна. Таны апп, хавчуурга, түүх, нууц үг болон бусад тохиргоо гэх мэт таны Chromium өгөгдлийг <ph name="USER_NAME" />-тэй холбох болно. Та энэхүү өгөгдлийг Google Accounts Dashboard-р дамжуулан устгах боломжтой боловч та энэхүү өгөгдлийн өөр хаягтай холбох боломжгүй байна. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Суурилуулсан PDF харагч байхгүй тохиолдолд Chromium хэвлэх байдлаар урьдчилан харуулах боломжгүй.</translation>
 <translation id="5427571867875391349">Chromium-ыг өөрийн анхдагч вэб хөтөч болгон тохируулах</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Бета</translation>
-<translation id="544968170749360982">Та <ph name="EXISTING_USER" />-н орон зайд шинэ бүртгэлээр нэвтэрсэн байна. Өгөгдлөө тусад нь хадгалахын тулд <ph name="NEW_USER" />-д зориулсан Chromium-н шинэ орон зай үүсгэмээр байна уу?</translation>
 <translation id="5479196819031988440">Chromium үйлдлийн систем энэ хуудсыг нээх боломжгүй.</translation>
 <translation id="5480860683791598150">Таны байршлыг энэ сайттай хуваалцахын тулд Chromium-д таны байршилд хандах зөвшөөрөл шаардлагатай</translation>
 <translation id="549669000822060376">Chromium нь хамгийн сүүлийн үеийн системийн шинэчлэлтүүдийг суулгаж байгаа тул түр хүлээнэ үү.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium нь нэвтрэх хэсэгт гарсан алдаатай холбоотойгоор таны өгөгдлийн тохиргоог хийж чадсангүй.</translation>
 <translation id="6096348254544841612">Chromium-г тохируулж, хянана уу. Шинэчлэх боломжтой.</translation>
 <translation id="6120345080069858279">Chromium энэ нууц үгийг таны Google Бүртгэлд хадгалах тул та үүнийг санах шаардлагагүй.</translation>
-<translation id="6128834065531097268">Та <ph name="EXISTING_USER" />-н орон зайд Ажлын бүртгэлээр нэвтэрсэн байна. Та өгөгдлөө тусад нь хадгалахын тулд <ph name="WORK_DOMAIN" />-д зориулсан Chromium-н шинэ орон зай үүсгэмээр байна уу?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> аюултай тул үүнийг Chromium блок хийсэн.</translation>
 <translation id="6134968993075716475">Аюулгүй үзэх онцлог унтраалттай байна. Chromium түүнийг асаахыг зөвлөж байна.</translation>
 <translation id="6212496753309875659">Энэ компьютерт Chromium-ийн хамгийн сүүлийн үеийн хувилбар байна. Хэрэв программ ажиллахгүй байвал Chromium-ийг устгаад, дахин суурьлуулж үзнэ үү.</translation>
@@ -199,7 +194,6 @@
 <translation id="7561906087460245826">Chromium-н (<ph name="URL" />) өгөгдлийг мөн адил устгах</translation>
 <translation id="7585853947355360626">Хэрэв энэ хуудсан дээр тохиргоог харуулахгүй байгаа бол <ph name="LINK_BEGIN" />
       Chromium үйлдлийн системийнхээ тохиргоо<ph name="LINK_END" /> дотроос хайна уу</translation>
-<translation id="7607142834923530546">Та ажлын бүртгэлээр нэвтэрсэн байна. Хувийн мэдээллээ тусад нь хадгалахын тулд та <ph name="NEW_USER" />-д зориулсан Chromium-н шинэ орон зай үүсгэмээр байна уу?</translation>
 <translation id="761356813943268536">Chromium нь таны камер болон микрофоныг ашиглаж байна.</translation>
 <translation id="7617377681829253106">Chromium сайжирлаа</translation>
 <translation id="7628001322379820951">Chromium таны компьютер дээрээс аюултай программ хангамж оллоо</translation>
@@ -217,7 +211,6 @@
 <translation id="7975919845073681630">Энэ нь Chromium-н хоёр дахь суулгалт тул таны өгөгдмөл хөтчөөр сонгох боломжгүй.</translation>
 <translation id="7979877361127045932">Chromium цэсэнд нуух</translation>
 <translation id="8013436988911883588">Chromium-д хандалт олгосны дараа вэб сайтууд таны хандалтыг асуух боломжтой болно.</translation>
-<translation id="8022442821873033760">Өөрийн шинэ Chromium Space-г тохируулах</translation>
 <translation id="81770708095080097">Энэ файл аюултай тул Chromium блоклосон байна.</translation>
 <translation id="8248265253516264921">Хэрэв зурагт хэрэгтэй тайлбар байхгүй бол Chromium танд тайлбар өгөхөөр оролдох болно. Тайлбар үүсгэхийн тулд зургийг Google-д илгээнэ. Та үүнийг хүссэн үедээ тохиргоонд унтрааж болно.</translation>
 <translation id="8266560134891435528">Та нэвтрээгүй байгаа тул Chromium таны нууц үгсийг шалгах боломжгүй байна</translation>
@@ -228,7 +221,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium-г 1 хоногийн дотор дахин ажиллуулна уу}other{Chromium-г # хоногийн дотор дахин ажиллуулна уу}}</translation>
 <translation id="8453117565092476964">Суулгагчийн архив устгагдсан эсвэл хүчингүй болсон байна. Chromium-ыг дахин татаж авна уу.</translation>
 <translation id="8493179195440786826">Chromium нь хуучирсан байна</translation>
-<translation id="8545858702702650646">Chromium-н орон зайгаа сонгох</translation>
 <translation id="8558383651099478961">Таны эцэг эх Chromium-н "Сайтууд, аппууд болон өргөтгөлүүдийн зөвшөөрөл"-ийг унтраасан байна. Энэ <ph name="EXTENSION_TYPE_PARAMETER" />-г нэмэхийг зөвшөөрдөггүй.</translation>
 <translation id="8568283329061645092">Chromium нь таныг Google Бүртгэлээрээ нэвтрэх үед таны нууц үгсийг шалгах боломжтой</translation>
 <translation id="8586442755830160949">Chromium-ийн зохиогчийн эрх <ph name="YEAR" />. Бүх эрхийг хуулиар хамгаалсан.</translation>
@@ -254,7 +246,6 @@
 <translation id="9158494823179993217">Таны системийн админ Chromium-г<ph name="TARGET_URL_HOSTNAME" />-д хандахын тулд өөр хөтөч нээхээр тохируулсан байна.</translation>
 <translation id="9164845895615421500">Chromium нь хүсээгүй программ хангамжийг долоо хоногт нэг удаа шалгадаг. Хамгийн сүүлд нэг хормын өмнө шалгасан.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Энэ төхөөрөмж дээр үзэлтээ цэгцтэй байлгахын тулд Chromium-н орон зайг ашиглаарай</translation>
 <translation id="93478295209880648">Windows XP болон Windows Vista нь цаашид Chromium-г дэмжихгүй тул буруу ажиллаж болзошгүй</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" />-аас танаас энэ төхөөрөмжийг ашиглахаасаа өмнө дараах үйлчилгээний нөхцлийг уншиж, хүлээн зөвшөөрсөн байхыг шаардаж байна. Эдгээр нөхцлүүд нь Google Chrome OS нөхцлүүдийг өргөтгөж, өөрчилж бас хязгаарлахгүй.</translation>
 <translation id="985602178874221306">Chromium-ыг бүтээгчид</translation>
diff --git a/chrome/app/resources/chromium_strings_mr.xtb b/chrome/app/resources/chromium_strings_mr.xtb
index 5cc541d1..1b145baf 100644
--- a/chrome/app/resources/chromium_strings_mr.xtb
+++ b/chrome/app/resources/chromium_strings_mr.xtb
@@ -29,7 +29,6 @@
 <translation id="2294245788148774212">पर्यायी: Google ला निदान आणि वापर डेटा आपोआप पाठवून, Chromium OS ची वैशिष्ट्ये आणि परफॉर्मन्समध्ये सुधारणा करण्यात मदत करा.</translation>
 <translation id="2347108572062610441">तुम्ही Chromium सुरू करता तेव्हा कोणते पेज दर्शविले जाते हे या एक्स्टेंशनने बदलले आहे.</translation>
 <translation id="2396765026452590966">तुम्ही Chromium सुरू करता तेव्हा कोणते पेज दर्शविले जाते हे "<ph name="EXTENSION_NAME" />" एक्स्टेंशनने बदलले आहे.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> साठी नवीन Chromium स्पेस तयार करायची आहे का?</translation>
 <translation id="2483889755041906834">Chromium मध्ये</translation>
 <translation id="2485422356828889247">अनइंस्टॉल करा</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> सुरू करण्यासाठी Chromium रीस्टार्ट करा</translation>
@@ -97,7 +96,6 @@
 <translation id="4677944499843243528">प्रोफाइल दुसर्‍या कॉंप्युटरवरील (<ph name="HOST_NAME" />) दुसर्‍या Chromium प्रक्रियेद्वारे (<ph name="PROCESS_ID" />) वापरले जात असल्याचे दिसते. प्रोफाइल लॉक होऊ नये यासाठी Chromium ने ती लॉक केली आहे. कोणतीही अन्य प्रक्रिया हे प्रोफाइल वापरत नाही याची तुम्हाला खात्री असल्यास, तुम्ही प्रोफाइल अनलॉक करू शकता आणि Chromium पुन्हा एकदा लॉंच करू शकता.</translation>
 <translation id="469338717132742108">Chromium OS सह मदत मिळवा</translation>
 <translation id="4708774505295300557">कोणीतरी यापूर्वी या कॉंप्युटरवरील Chromium मध्ये <ph name="ACCOUNT_EMAIL_LAST" /> म्हणून साइन इन केले. कृपया तुमची माहिती स्वतंत्र ठेवण्यासाठी एक नवीन Chromium वापरकर्ता तयार करा.</translation>
-<translation id="4745225042341419983">या स्पेसचा ब्राउझिंग डेटा या डिव्हाइसवरून हटवला जाईल. डेटा रिकव्हर करण्यासाठी, Chromium वर हे म्हणून साइन इन करा</translation>
 <translation id="4746050847053251315">तरीही Chromium बंद करायचे?</translation>
 <translation id="4748217263233248895">Chromium साठी एक विशिष्ट सुरक्षितता अपडेट आत्ताच लागू केले. आता रीस्टार्ट करा आणि मग आम्ही तुमचे टॅब रिस्टोअर करू.</translation>
 <translation id="4750035648288509542">जवळजवळ अप टू डेट! अपडेट करणे पूर्ण करण्यासाठी Chromium पुन्हा लाँच करा. गुप्त विंडो पुन्हा उघडणार नाहीत.</translation>
@@ -107,7 +105,6 @@
 <translation id="4943838377383847465">Chromium पार्श्वभूमी मोड मध्ये आहे.</translation>
 <translation id="4987820182225656817">अतिथी कोणतीही गोष्ट मागे न सोडता Chromium वापरू शकतात.</translation>
 <translation id="4994636714258228724">आपल्या स्वतःस Chromium वर जोडा</translation>
-<translation id="5053724573690775822">नवीन Chromium कार्य स्पेस तयार करायची आहे का?</translation>
 <translation id="5224391634244552924">सेव्ह केलेले पासवर्ड नाहीत. तुम्ही तुमचे पासवर्ड सेव्ह केल्यावर Chromium ते तपासू शकते.</translation>
 <translation id="5277894862589591112">तुम्ही केलेले बदल लागू करण्यासाठी, Chromium रीलाँच करा</translation>
 <translation id="5358375970380395591">तुम्ही एका व्यवस्थापित खात्यासह साइन इन करत आहात आणि तुमच्या Chromium प्रोफाइलवर त्याच्या ॲडमिनिस्ट्रेटरला नियंत्रण देत आहात. तुमचा Chromium डेटा, जसे की तुमचे अ‍ॅप्स, बुकमार्क, इतिहास, पासवर्ड आणि अन्य सेटिंग्ज <ph name="USER_NAME" /> वर कायमच्या बद्ध होतील. तुम्ही Google खाती डॅशबोर्डद्वारे हा डेटा हटवण्यात सक्षम व्हाल, परंतु तुम्ही दुसर्‍या खात्यासह हा डेटा संबद्ध करण्यात सक्षम असणार नाही. <ph name="LEARN_MORE" /></translation>
@@ -117,7 +114,6 @@
 <translation id="5416696090975899932">बिल्ड इन PDF दर्शक उपस्थित नसतात तेव्हा Chromium मुद्रण पूर्वावलोकन दाखवू शकत नाही.</translation>
 <translation id="5427571867875391349">तुमचा डीफॉल्ट ब्राउझर म्हणून Chromium सेट करा</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium बीटा</translation>
-<translation id="544968170749360982">तुम्ही <ph name="EXISTING_USER" /> यांच्या स्पेसमध्ये नवीन खाते वापरून साइन इन केले आहे. तुमचा डेटा स्वतंत्र ठेवण्यासाठी तुम्हाला <ph name="NEW_USER" /> करिता नवीन Chromium स्पेस तयार करायची आहे का?</translation>
 <translation id="5479196819031988440">Chromium OS हे पृष्ठ उघडू शकत नाही.</translation>
 <translation id="5480860683791598150">या साइटसोबत तुमचे स्थान शेअर करण्यासाठी Chromium ला तुमच्या स्थानाचा ॲक्सेस हवा आहे</translation>
 <translation id="549669000822060376">कृपया Chromium नवीनतम सिस्टम अपडेट इंस्टॉल करेपर्यंत प्रतीक्षा करा.</translation>
@@ -140,7 +136,6 @@
 <translation id="608189560609172163">साइन इन करण्यात एरर आल्यामुळे Chromium तुमचा डेटा सिंक करू शकले नाही.</translation>
 <translation id="6096348254544841612">Chromium कस्टमाइझ करा आणि नियंत्रित करा. अपडेट उपलब्ध आहे.</translation>
 <translation id="6120345080069858279">Chromium हा पासवर्ड तुमच्या Google खात्यामध्ये सेव्ह करेल. तुम्हाला पासवर्ड लक्षात ठेवावा लागणार नाही.</translation>
-<translation id="6128834065531097268">तुम्ही <ph name="EXISTING_USER" /> यांच्या स्पेसमध्ये ऑफिस खाते वापरून साइन इन केले आहे. तुमचा डेटा स्वतंत्र ठेवण्यासाठी तुम्हाला <ph name="WORK_DOMAIN" /> करिता नवीन Chromium स्पेस तयार करायची आहे का?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> धोकादायक आहे, त्यामुळे Chromium ने ते अवरोधित केले आहे.</translation>
 <translation id="6134968993075716475">सुरक्षित ब्राउझिंग बंद आहे. Chromium ते सुरू करण्याची शिफारस करते.</translation>
 <translation id="6212496753309875659">या कॉंप्युटरवर आधीपासून Chromium ची अगदी अलीकडील आवृत्ती आहे. सॉफ्‍टवेअर काम करत नसल्‍यास, कृपया Chromium अनइंस्टॉल करा आणि पुन्‍हा प्रयत्‍न करा.</translation>
@@ -202,7 +197,6 @@
 <translation id="7561906087460245826">तसेच Chromium (<ph name="URL" />) वरील डेटा साफ करा</translation>
 <translation id="7585853947355360626">या पेजवर सेटिंग दिसत नसल्यास, तुमच्या <ph name="LINK_BEGIN" />
       Chromium OS सेटिंग्ज<ph name="LINK_END" /> मध्ये पाहा</translation>
-<translation id="7607142834923530546">तुम्ही ऑफिस खाते वापरून साइन इन केले आहे. तुमचा वैयक्तिक डेटा स्वतंत्र ठेवण्यासाठी तुम्हाला <ph name="NEW_USER" /> करिता नवीन Chromium स्पेस तयार करायची आहे का?</translation>
 <translation id="761356813943268536">Chromium तुमचा कॅमेरा आणि मायक्रोफोन वापरत आहे.</translation>
 <translation id="7617377681829253106">Chromium आता उत्कृष्ट झाले आहे</translation>
 <translation id="7628001322379820951">Chromium ला तुमच्या कॉंप्युटरवर हानिकारक सॉफ्टवेअर आढळले आहे</translation>
@@ -220,7 +214,6 @@
 <translation id="7975919845073681630">ही Chromium ची दुय्यम स्थापना असून त्यास तुमचा डीफॉल्ट ब्राउझर बनवू शकत नाही.</translation>
 <translation id="7979877361127045932">Chromium मेनूमध्‍ये लपवा</translation>
 <translation id="8013436988911883588">एकदा का Chromium ला ॲक्सेस मिळाला की, वेबसाइट तुम्हाला ॲक्सेससाठी विचारू शकतील.</translation>
-<translation id="8022442821873033760">तुमची नवीन Chromium स्पेस सेट करा</translation>
 <translation id="81770708095080097">ही फाईल धोकादायक आहे, त्यामुळे Chromium ने अवरोधित केली आहे.</translation>
 <translation id="8248265253516264921">इमेजचे उपयोगी वर्णन नसल्यास, Chromium तुमच्यासाठी ते देण्याचा प्रयत्न करेल. वर्णने तयार करण्यासाठी, इमेज Google ला पाठवल्या जातात. तुम्ही हे सेटिंग्जमध्ये कधीही बंद करू शकता.</translation>
 <translation id="8266560134891435528">तुम्ही साइन इन केलेले नसल्यामुळे Chromium तुमचे पासवर्ड तपासू शकत नाही</translation>
@@ -231,7 +224,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium एका दिवसामध्ये पुन्हा लाँच करा}other{Chromium # दिवसांमध्ये पुन्हा लाँच करा}}</translation>
 <translation id="8453117565092476964">इन्स्टॉलर संग्रहण दूषित किंवा चुकीचे आहे. कृपया Chromium पुन्हा डाउनलोड करा.</translation>
 <translation id="8493179195440786826">Chromium कालबाह्य आहे</translation>
-<translation id="8545858702702650646">तुमची Chromium स्पेस निवडा</translation>
 <translation id="8558383651099478961">तुमच्या पालकांनी Chromium साठी "साइट, अ‍ॅप्स आणि एक्स्टेंशनकरिता परवानग्या" सुरू केल्या आहेत. हे <ph name="EXTENSION_TYPE_PARAMETER" /> जोडण्याची अनुमती नाही.</translation>
 <translation id="8568283329061645092">तुम्ही तुमचे Google खाते वापरून साइन इन करता तेव्हा, Chromium तुमचे पासवर्ड तपासू शकते</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium लेखक. सर्व हक्क राखीव.</translation>
@@ -257,7 +249,6 @@
 <translation id="9158494823179993217">तुमच्या सिस्टम अ‍ॅडमिनिस्ट्रेटरने <ph name="TARGET_URL_HOSTNAME" />ॲक्सेस करण्याकरिता पर्यायी ब्राउझर उघडण्यासाठी Chromium कॉन्फिगर केले आहे.</translation>
 <translation id="9164845895615421500">Chromium आठवड्यातून एकदा नकोसे सॉफ्टवेअर शोधण्यासाठी तपासणी करते. शेवटची तपासणी: क्षणभरापूर्वी.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-मध्ये)</translation>
-<translation id="9191317372410544836">या डिव्हाइसवर तुमचे ब्राउझिंग संगतवार ठेवण्यासाठी Chromium स्पेस वापरा</translation>
 <translation id="93478295209880648">Chromium ला आता Windows XP किंवा Windows Vista चा सपोर्ट नसल्यामुळे ते आता कदाचित अचूकपणे काम करणार नाही</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> ला तुम्ही हे डिव्हाइस वापरण्यापूर्वी खालील सेवा अटी वाचणे आणि स्वीकारणे आवश्यक आहे. या अटी Chromium OS अटींना विस्तृत, सुधारित किंवा मर्यादित करत नाहीत.</translation>
 <translation id="985602178874221306">Chromium लेखक</translation>
diff --git a/chrome/app/resources/chromium_strings_ms.xtb b/chrome/app/resources/chromium_strings_ms.xtb
index 66d88a7..4a33517 100644
--- a/chrome/app/resources/chromium_strings_ms.xtb
+++ b/chrome/app/resources/chromium_strings_ms.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Pilihan: Bantu kami mempertingkat ciri dan prestasi OS Chromium dengan menghantar data diagnostik dan penggunaan kepada Google secara automatik.</translation>
 <translation id="2347108572062610441">Sambungan ini telah menukar halaman yang ditunjukkan apabila anda memulakan Chromium.</translation>
 <translation id="2396765026452590966">Sambungan "<ph name="EXTENSION_NAME" />" telah menukar halaman yang ditunjukkan apabila anda memulakan Chromium.</translation>
-<translation id="2442081746662839303">Buat ruang Chromium baharu untuk <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">Dalam Chromium</translation>
 <translation id="2485422356828889247">Nyahpasang</translation>
 <translation id="2527042973354814951">Mulakan semula Chromium untuk mendayakan <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Nampaknya profil digunakan oleh proses Chromium lain (<ph name="PROCESS_ID" />) pada komputer lain (<ph name="HOST_NAME" />). Chromium telah mengunci profil supaya profil tidak rosak. Jika anda pasti tiada proses lain yang menggunakan profil ini, anda boleh membuka profil dan melancarkan semula Chromium.</translation>
 <translation id="469338717132742108">Dapatkan bantuan berkenaan Chromium OS</translation>
 <translation id="4708774505295300557">Sebelum ini, seseorang telah log masuk ke Chromium pada komputer ini sebagai <ph name="ACCOUNT_EMAIL_LAST" />. Sila buat pengguna Chromium baharu untuk mengasingkan maklumat anda.</translation>
-<translation id="4745225042341419983">Data semakan imbas ruang ini akan dipadamkan daripada peranti ini. Untuk memulihkan data itu, log masuk ke Chromium sebagai</translation>
 <translation id="4746050847053251315">Keluar daripada Chromium juga?</translation>
 <translation id="4748217263233248895">Kemas kini keselamatan khas untuk Chromium baru sahaja dilakukan. Mulakan semula sekarang dan kami akan memulihkan tab anda.</translation>
 <translation id="4750035648288509542">Kemas kini hampir selesai! Lancarkan semula Chromium untuk menyelesaikan kemas kini. Tetingkap inkognito tidak dapat dibuka semula.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium dalam mod latar belakang.</translation>
 <translation id="4987820182225656817">Tetamu boleh menggunakan Chromium tanpa meninggalkan apa-apa.</translation>
 <translation id="4994636714258228724">Tambahkan diri anda kepada Chromium</translation>
-<translation id="5053724573690775822">Buat ruang Kerja Chromium baharu?</translation>
 <translation id="5224391634244552924">Tiada kata laluan yang disimpan. Chromium boleh menyemak kata laluan anda yang disimpan.</translation>
 <translation id="5277894862589591112">Untuk menggunakan perubahan anda, mulakan semula Chromium</translation>
 <translation id="5358375970380395591">Anda log masuk menggunakan akaun yang terurus dan memberikan pentadbirnya kawalan ke atas profil Chromium anda. Data Chromium anda, seperti apl, penanda halaman, sejarah, kata laluan dan tetapan anda yang lain akan terikat kepada <ph name="USER_NAME" /> secara kekal. Anda akan dapat memadamkan data ini melalui Papan Pemuka Akaun Google, tetapi anda tidak akan dapat mengaitkan data ini dengan akaun lain. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium tidak dapat memaparkan pratonton cetakan apabila alat lihat PDF terbina dalam tiada.</translation>
 <translation id="5427571867875391349">Tetapkan Chromium sebagai penyemak imbas lalai anda</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">Anda dilog masuk dengan akaun baharu di ruang <ph name="EXISTING_USER" />. Adakah anda mahu membuat ruang Chromium baharu untuk <ph name="NEW_USER" /> supaya data anda diasingkan?</translation>
 <translation id="5479196819031988440">OS Chromium tidak boleh membuka halaman ini.</translation>
 <translation id="5480860683791598150">Chromium memerlukan akses kepada lokasi anda untuk berkongsi lokasi dengan tapak ini</translation>
 <translation id="549669000822060376">Sila tunggu sementara Chromium memasang kemas kini sistem terkini.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium tidak dapat menyegerakkan data anda disebabkan ralat melog masuk.</translation>
 <translation id="6096348254544841612">Sesuaikan dan kawal Chromium. Kemas kini tersedia.</translation>
 <translation id="6120345080069858279">Chromium akan menyimpan kata laluan ini dalam Akaun Google anda. Anda tidak perlu mengingati kata laluan tersebut.</translation>
-<translation id="6128834065531097268">Anda dilog masuk dengan akaun Kerja di ruang <ph name="EXISTING_USER" />. Adakah anda mahu membuat ruang Chromium baharu untuk <ph name="WORK_DOMAIN" /> supaya data anda diasingkan?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> berbahaya, jadi Chromium telah menyekat fail itu.</translation>
 <translation id="6134968993075716475">Penyemakan Imbas Selamat dimatikan. Chromium mengesyorkan agar ciri ini dihidupkan.</translation>
 <translation id="6212496753309875659">Komputer ini telah mempunyai versi Chromium yang lebih baharu. Jika perisian tidak berfungsi, sila nyahpasang Chromium dan cuba lagi.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Kosongkan data daripada Chromium (<ph name="URL" />) juga</translation>
 <translation id="7585853947355360626">Jika tetapan tidak ditunjukkan pada halaman ini, lihat dalam <ph name="LINK_BEGIN" />
       tetapan OS Chromium anda<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Anda dilog masuk dengan akaun kerja. Adakah anda mahu membuat ruang Chromium baharu untuk <ph name="NEW_USER" /> supaya data peribadi anda diasingkan?</translation>
 <translation id="761356813943268536">Chromium menggunakan kamera dan mikrofon anda.</translation>
 <translation id="7617377681829253106">Chromium kini lebih baik</translation>
 <translation id="7628001322379820951">Chromium menemukan perisian berbahaya pada komputer anda</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Ini adalah pemasangan kedua Chromium dan tidak boleh dijadikan penyemak imbas lalai anda.</translation>
 <translation id="7979877361127045932">Sembunyikan dalam menu Chromium</translation>
 <translation id="8013436988911883588">Sebaik sahaja Chromium mendapat akses, tapak web akan dapat meminta akses daripada anda.</translation>
-<translation id="8022442821873033760">Sediakan Ruang Chromium baharu anda</translation>
 <translation id="81770708095080097">Fail ini berbahaya, maka Chromium telah menyekatnya.</translation>
 <translation id="8248265253516264921">Jika imej tiada perihalan yang berguna, Chromium akan cuba memberikan perihalan untuk anda. Untuk membuat perihalan, imej dihantar kepada Google. Anda boleh mematikan pilihan ini dalam tetapan pada bila-bila masa.</translation>
 <translation id="8266560134891435528">Chromium tidak dapat menyemak kata laluan anda kerana anda tidak log masuk</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Lancarkan semula Chromium dalam masa sehari}other{Lancarkan semula Chromium dalam masa # hari}}</translation>
 <translation id="8453117565092476964">Arkib pemasang rosak atau tidak sah. Sila muat turun Chromium sekali lagi.</translation>
 <translation id="8493179195440786826">Chromium sudah usang</translation>
-<translation id="8545858702702650646">Pilih Ruang Chromium anda</translation>
 <translation id="8558383651099478961">Ibu/bapa anda telah mematikan "Kebenaran untuk tapak web, apl dan sambungan" untuk Chromium. Tindakan menambah <ph name="EXTENSION_TYPE_PARAMETER" /> ini tidak dibenarkan.</translation>
 <translation id="8568283329061645092">Chromium boleh menyemak kata laluan anda apabila anda log masuk menggunakan Akaun Google anda</translation>
 <translation id="8586442755830160949">Hak Cipta <ph name="YEAR" /> Pengarang Chromium. Hak cipta terpelihara.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Pentadbir sistem anda telah mengkonfigurasikan Chromium agar membuka penyemak imbas alternatif untuk mengakses <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium menyemak perisian yang tidak diingini seminggu sekali. Terakhir disemak: sesaat yang lalu.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Gunakan Ruang Chromium untuk mengatur penyemakan imbas anda pada peranti ini</translation>
 <translation id="93478295209880648">Chromium mungkin tidak akan berfungsi dengan betul kerana tidak lagi disokong pada Windows XP atau Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> menghendaki anda membaca dan menerima Syarat Perkhidmatan berikut sebelum menggunakan peranti ini. Syarat ini tidak meluaskan, mengubah suai atau mengehadkan Syarat OS Chromium.</translation>
 <translation id="985602178874221306">Pengarang Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_my.xtb b/chrome/app/resources/chromium_strings_my.xtb
index 880096d0..af6fd57 100644
--- a/chrome/app/resources/chromium_strings_my.xtb
+++ b/chrome/app/resources/chromium_strings_my.xtb
@@ -31,7 +31,6 @@
 <translation id="2294245788148774212">ချန်လှပ်ထားနိုင်သည်- အမှားရှာဖွေခြင်းနှင့် အသုံးပြုမှုဒေတာများကို Google သို့ အလိုအလျောက်ပို့ပြီး Chromium OS ဝန်ဆောင်မှုနှင့် စွမ်းဆောင်ရည် ပိုမိုကောင်းမွန်လာစေရန် ကူညီပါ။</translation>
 <translation id="2347108572062610441">သင် Chromium အား စသုံးသောအခါ စာမျက်နှာမှ ပြသသည်များကို ဤတိုးချဲလိုင်းမှ ပြောင်းလဲခဲ့၏။</translation>
 <translation id="2396765026452590966">သင် Chromium အား စသုံးသောအခါ စာမျက်နှာမှ ပြသသည်ကို ဤ "<ph name="EXTENSION_NAME" />" တိုးချဲလိုင်းမှ ပြောင်းလဲခဲ့၏။</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> အတွက် Chromium နေရာအသစ်တစ်ခု ပြုလုပ်မလား။</translation>
 <translation id="2483889755041906834">Chromium တွင်</translation>
 <translation id="2485422356828889247">ဖြုတ်ရန်</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> ကို ဖွင့်ရန် Chromium ကို ပြန်လည်စတင်ပါ</translation>
@@ -99,7 +98,6 @@
 <translation id="4677944499843243528">ပရိုဖိုင်ကို အခြား ကွန်ပျူတာ <ph name="HOST_NAME" /> ထဲက (<ph name="PROCESS_ID" />) အခြား Chromium လုပ်ငန်းစဉ် တစ်ခုက သုံးနေပုံရသည်။   ထိုပရိုဖိုင် ပျက်စီး မသွားစေချင်ငှါ Chromium သည် ၎င်းကို ပိတ်ဆို့လိုက်သည်။ သင့်အနေနှင့် အခြား မည်သည့် လုပ်ငန်းစဉ်များကမှ ဒီပရိုဖိုင်ကို မသုံးကြောင်း သေချာလျှင်၊ သင်သည် ပရိုဖိုင်ကို သော့ဖွင့်လျက် Chromium ကို ပြန်ဖွင့်တင်နိုင်ပါသည်။</translation>
 <translation id="469338717132742108">Chromium OS အကူအညီရယူရန်</translation>
 <translation id="4708774505295300557">တစ်စုံတစ်ယောက်သည် ယခင်က ဤကွန်ပျူတာပေါ်တွင် Chromium သို့ <ph name="ACCOUNT_EMAIL_LAST" /> အဖြစ် လက်မှတ်ထိုးဝင်ခဲ့သည်။ သင့်အချက်အလက်များကို ခွဲခြားထားရန် Chromium အသုံးပြုသူ အသစ်သတ်မှတ်ပါ။</translation>
-<translation id="4745225042341419983">ဤ space ၏ ကြည့်ရှုမှုဒေတာများကို ဤကိရိယာမှနေ၍ ဖျက်လိုက်ပါမည်။ ဒေတာကို ပြန်လည်ရယူရန် အောက်ပါဖြင့် Chromium သို့ လက်မှတ်ထိုးဝင်ပါ</translation>
 <translation id="4746050847053251315">မည်သို့ပင်ဖြစ်စေ Chromium ကို ပိတ်လိုပါသလား။</translation>
 <translation id="4748217263233248895">Chromium အတွက် အထူးလုံခြုံရေးအပ်ဒိတ်ကို ယခုလေးတင် ထည့်သွင်းထားသည်။ ယခုပြန်လည်စတင်လိုက်ပါက သင်၏ တဘ်များကို ပြန်ဖွင့်ပေးပါမည်။</translation>
 <translation id="4750035648288509542">အပ်ဒိတ်လုပ်ပြီးပါတော့မည်။ အပ်ဒိတ်လုပ်ခြင်း အပြီးသတ်ရန် Chromium ကို ပြန်ဖွင့်ပါ။ ရုပ်ဖျက် ဝင်ဒိုးများကို ပြန်ဖွင့်မည် မဟုတ်ပါ။</translation>
@@ -109,7 +107,6 @@
 <translation id="4943838377383847465">Chromium သည် နောက်ခံ မုဒ်ထဲမှာ ရှိနေသည်။</translation>
 <translation id="4987820182225656817">ဧည့်သည်များသည် Chromium ကို သုံးနိုင်ကြကာ နောက်မှာ ဘာမှ ကျန်ရစ်မည် မဟုတ်ပါ။</translation>
 <translation id="4994636714258228724">Chromium သို့သင့်ကိုယ်သင် ပေါင်းထည့်ရန်</translation>
-<translation id="5053724573690775822">Chromium 'အလုပ်' နေရာ အသစ် ပြုလုပ်မလား။</translation>
 <translation id="5224391634244552924">သိမ်းထားသော စကားဝှက် မရှိပါ။ သင်စကားဝှက်များကို သိမ်းသည့်အခါ Chromium က ၎င်းတို့ကို စစ်ဆေးနိုင်သည်။</translation>
 <translation id="5277894862589591112">သင့်အပြောင်းအလဲများ ထည့်သွင်းရန် Chromium ကို ပြန်စတင်ပါ</translation>
 <translation id="5358375970380395591">သင်သည်  စီမံကွပ်ကဲထားသည့် အကောင့် ထဲသို့ လက်မှတ် ထိုးဝင်နေကာ စီမံအုပ်ချုပ်သူအား
@@ -120,7 +117,6 @@
 <translation id="5416696090975899932">အသင့်ပါ PDF ကြည့်ရှုမှုစနစ် မရှိသည့်အခါ Chromium သည် ပုံနှိပ်ချက်အစမ်းကြည့်ရှုမှုကို ပြသ၍မရပါ။</translation>
 <translation id="5427571867875391349">Chromium ကို သင်၏ ပုံသေ ဘရောင်ဇာ အဖြစ် သတ်မှတ်ရန်</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982"><ph name="EXISTING_USER" /> ၏နေရာတွင် အကောင့်သစ်တစ်ခုဖြင့် သင်လက်မှတ်ထိုးဝင်ထားသည်။ သင့်ဒေတာကို သီးခြားထားရန် <ph name="NEW_USER" /> အတွက် Chromium နေရာအသစ်တစ်ခု ပြုလုပ်လိုပါသလား။</translation>
 <translation id="5479196819031988440">Chromium OS သည် ဤစာမျက်နှာကို ဖွင့်၍မရပါ။</translation>
 <translation id="5480860683791598150">သင်၏တည်နေရာကို ဤဝဘ်ဆိုက်နှင့် မျှဝေနိုင်ရန် Chromium သည် သင့်တည်နေရာကို အသုံးပြုခွင့်ရရန် လိုအပ်ပါသည်</translation>
 <translation id="549669000822060376">​​ကျေးဇူးပြုပြီး Chromium က စနစ်၏ နောက်ဆုံး မွမ်းမံမှုများကို တပ်ဆင်ပေးနေတာကို စောင့်ပါ။</translation>
@@ -143,7 +139,6 @@
 <translation id="608189560609172163">Chromium သည် ဝင်ရောက်မှု ပြဿနာကြောင့် သင့်ဒေတာကို စင့်ခ်မလုပ်နိုင်ပါ။</translation>
 <translation id="6096348254544841612">Chromium ကို စိတ်ကြိုက်လုပ်ပြီး ထိန်းချုပ်ပါ။ အပ်ဒိတ် ရရှိပါပြီ။</translation>
 <translation id="6120345080069858279">Chromium သည် ဤစကားဝှက်ကို သင်၏ Google အကောင့်သို့ သိမ်းဆည်းသွားပါမည်။ သင်၎င်းကို မှတ်ထားစရာမလိုပါ။</translation>
-<translation id="6128834065531097268"><ph name="EXISTING_USER" /> ၏နေရာတွင် 'အလုပ်သုံး' အကောင့် ဖြင့် သင်လက်မှတ်ထိုးဝင်ထားသည်။ သင့်ဒေတာကို သီးခြားထားရန် <ph name="WORK_DOMAIN" /> အတွက် Chromium နေရာအသစ်တစ်ခု ပြုလုပ်လိုပါသလား။</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> သည် အန္တရာယ်ရှိသောကြောင့် Chromium က ၎င်းကို ပိတ်ဆို့ထားပါသည်။</translation>
 <translation id="6134968993075716475">'လုံခြုံစွာ ကြည့်ရှုခြင်း' ပိတ်ထားသည်။ ၎င်းကိုဖွင့်ရန် Chromium က အကြံပြုပါသည်။</translation>
 <translation id="6212496753309875659">ဒီကွန်ပျူတာ ထဲမှာ ပိုပြီး နောက်ကျသော Chromium  ဗားရှင်း ရှိနေပါပြီ။ ဆော့ဝဲ အလုပ်မလုပ်လျှင်၊ ကျေးဇူးပြုပြီး Chromium ကို ဖြုတ်လိုက်ပြီး ထပ်စမ်းကြည့်ပါ။</translation>
@@ -205,7 +200,6 @@
 <translation id="7561906087460245826">Chromium (<ph name="URL" />) မှ ဒေတာများကိုလည်း ရှင်းထုတ်ရန်</translation>
 <translation id="7585853947355360626">ဤစာမျက်နှာပေါ်တွင် ဆက်တင်ကို မပြလျှင် သင်၏ <ph name="LINK_BEGIN" />
       Chromium OS ဆက်တင်များ<ph name="LINK_END" /> တွင် ကြည့်ပါ</translation>
-<translation id="7607142834923530546">အလုပ်သုံးအကောင့်ဖြင့် သင်လက်မှတ်ထိုးဝင်ခဲ့သည်။ သင်၏ ပုဂ္ဂိုလ်ရေးဒေတာကို သီးခြားထားရန် <ph name="NEW_USER" /> အတွက် Chromium နေရာအသစ်တစ်ခု ပြုလုပ်လိုပါသလား။</translation>
 <translation id="761356813943268536">Chromium သင်သည် သင်၏ ကင်မရာ နှင့် မိုက်ခရိုဖုန်းကို သုံးနေသည်။</translation>
 <translation id="7617377681829253106">Chromium သည် ပိုလို့ကို ကောင်းလာပါပြီ</translation>
 <translation id="7628001322379820951">Chromium က သင့်ကွန်ပျူတာတွင် အန္တရာယ်ရှိသောဆော့ဖ်ဝဲ တွေ့ထားသည်</translation>
@@ -223,7 +217,6 @@
 <translation id="7975919845073681630">ဤသည်မှာ Chromium ကို အရန်သဘော ထည့်သွင်းခြင်းဖြစ်ပြီး သင်၏မူရင်းဘရောင်ဇာအဖြစ် ၎င်းကို အသုံးပြု၍မရနိုင်ပါ။</translation>
 <translation id="7979877361127045932">Chromium မီနူးတွင် သိမ်းထားရန်</translation>
 <translation id="8013436988911883588">Chromium အသုံးပြုခွင့်ရှိသည်နှင့် ဝဘ်ဆိုက်များသည် သင့်ထံခွင့်ပြုချက်တောင်းပါမည်။</translation>
-<translation id="8022442821873033760">သင်၏ Chromium Space အသစ်ကို စတင်သတ်မှတ်ပါ</translation>
 <translation id="81770708095080097">ဤဖိုင်သည် အန္တရာယ်ရှိပါသည်။ ထို့ကြောင့် Chromium သည် ၎င်းကို ပိတ်ဆို့ထားပါသည်။</translation>
 <translation id="8248265253516264921">ပုံတွင် အသုံးဝင်သော အကြောင်းအရာ မပါလျှင် Chromium က သင့်အတွက် ဖော်ပြပေးပါမည်။ အကြောင်းအရာများ ဖော်ပြပေးရန် ပုံများကို Google သို့ပို့လိုက်ပါသည်။ ၎င်းကို ဆက်တင်များတွင် အချိန်မရွေး ပိတ်နိုင်သည်။</translation>
 <translation id="8266560134891435528">လက်မှတ်ထိုးဝင်မထားသဖြင့် Chromium က သင့်စကားဝှက်များကို စစ်ဆေး၍မရပါ</translation>
@@ -234,7 +227,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium ကို တစ်ရက်အတွင်း ပြန်လည်စတင်ပါ}other{Chromium ကို # ရက်အတွင်း ပြန်လည်စတင်ပါ}}</translation>
 <translation id="8453117565092476964">ထည့်သွင်းရာတွင် အသုံးပြုသည့် ချုံ့ထားသောဖိုင်မှတ်တမ်း ပျက်စီးနေသည် သို့မဟုတ် တရားမဝင်ပါ။ ကျေးဇူး၍ Chromium ကို ထပ်ပြီး ဒေါင်းလုဒ် လုပ်ယူပါ။</translation>
 <translation id="8493179195440786826">Chromium မှာ ဟောင်းသွားပြီ</translation>
-<translation id="8545858702702650646">သင့် Chromium Space ကို ယူရန်</translation>
 <translation id="8558383651099478961">Chromium အတွက် "ဝဘ်ဆိုက်၊ အက်ပ်နှင့် နောက်ဆက်တွဲ ခွင့်ပြုချက်များ" ကို သင့်မိဘက ပိတ်လိုက်သည်။ ဤ <ph name="EXTENSION_TYPE_PARAMETER" /> ထည့်ခြင်းကို ခွင့်မပြုပါ။</translation>
 <translation id="8568283329061645092">သင်၏ Google Account နှင့် လက်မှတ်ထိုးဝင်သည့်အခါ Chromium က သင့်စကားဝှက်များကို စစ်ဆေးနိုင်သည်</translation>
 <translation id="8586442755830160949">မူပိုင်ခွင့် <ph name="YEAR" /> The Chromium ပြုစုသူများ။ မူပိုင်ခွင့်များ အားလုံးကို ချုပ်ထိန်းထားသည်။</translation>
@@ -260,7 +252,6 @@
 <translation id="9158494823179993217">စနစ်စီမံခန့်ခွဲသူသည် <ph name="TARGET_URL_HOSTNAME" /> ဖွင့်ကြည့်ရန်အတွက် အစားထိုးဘရောင်ဇာ အသုံးပြုရန် Chromium ကို စီစဉ်သတ်မှတ်ထားသည်။</translation>
 <translation id="9164845895615421500">မလိုချင်သောဆော့ဖ်ဝဲကို Chromium က တစ်ပတ်တစ်ကြိမ် စစ်ဆေးသည်။ နောက်ဆုံးစစ်ဆေးမှု - မကြာမီက။</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">သင်၏ ရှာဖွေမှုကို ဤစက်ပေါ်တွင် စုစည်းထားရန်အတွက် Chromium Spaces ကို သုံးပါ</translation>
 <translation id="93478295209880648">Windows XP သို့မဟုတ် Windows Vista တွင် မပံ့ပိုးတော့သောကြောင့် Chromium လုပ်ဆောင်မှု မှန်ကန်ချင်မှ မှန်ကန်မည်</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" />က သင့်အနေနှင့် ဒီကိရိယာကို မသုံးမီ အောက်ပါ ဝန်ဆောင်မှု စည်းကမ်းချက်များကို ဖတ်ရှုပြီး လက်ခံမှာကို တောင်းဆိုပါသည်။ ဒီစည်းကမ်းချက်များမှာ Chromium OS စည်းကမ်းချက်များကို တိုးချဲ့ခြင်း၊ မွမ်းမံခြင်း သို့မဟုတ် ကန့်သတ်ခြင်း မရှိနိုင်ပါ။</translation>
 <translation id="985602178874221306">Chromium စာရေးသူများ</translation>
diff --git a/chrome/app/resources/chromium_strings_ne.xtb b/chrome/app/resources/chromium_strings_ne.xtb
index 202ac6d5..c687dbc 100644
--- a/chrome/app/resources/chromium_strings_ne.xtb
+++ b/chrome/app/resources/chromium_strings_ne.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">ऐच्छिक: Google लाई निदान र प्रयोगसम्बन्धी डेटा स्वतः पठाएर Chromium OS का सुविधा र कार्यसम्पादनको गुणस्तरमा सुधार ल्याउन मद्दत गर्नुहोस्।</translation>
 <translation id="2347108572062610441">यो विस्तारले तपाईँले Chromium सुरु गर्दा देखाइएको पृष्ठलाई परिवर्तन गरेको छ।</translation>
 <translation id="2396765026452590966">विस्तार "<ph name="EXTENSION_NAME" />" ले तपाईँले Chromium सुरु गर्दा देखाइएको पृष्ठलाई परिवर्तन गरेको छ।</translation>
-<translation id="2442081746662839303">Chromium मा <ph name="NEW_USER" /> का लागि नयाँ स्पेस बनाउन चाहनुहुन्छ?</translation>
 <translation id="2483889755041906834">Chromium मा</translation>
 <translation id="2485422356828889247">विस्थापन गर्नुहोस्</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> लाई सक्षम पार्न Chromium लाई पुन: सुरु गर्नुहोस्</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">यो प्रोफाइल अर्को Chromium प्रक्रिया (<ph name="PROCESS_ID" />) द्वारा अर्को कम्प्युटर (<ph name="HOST_NAME" />) मा प्रयोग गरिएको देखिएको छ। Chromium ले प्रोफाइल लक गरेको छ जसले गर्दा त्यो दूषित हुँदैन। यदि तपाइँ यस प्रोफाइललाई अन्य कुनै प्रक्रियाहरूले प्रयोग गरिरहेको छैन भनेर निश्चय हुनुहुन्छ भमे, तपाइँले प्रोफाइल अनलक गर्न र Chromium फेरि सुरु गर्न सक्नुहुन्छ।</translation>
 <translation id="469338717132742108">Chromium OS को सम्बन्धमा मद्दत प्राप्त गर्नुहोस्</translation>
 <translation id="4708774505295300557">कुनै व्यक्तिले अघिल्लो पटक यस कम्प्युटरमा <ph name="ACCOUNT_EMAIL_LAST" /> को रूपमा Chromium मा साइन इन गरेको थियो। कृपया आफ्नो जानकारी छुट्टै राख्न Chromium मा एउटा नयाँ प्रयोगकर्ता सिर्जना गर्नुहोस्।</translation>
-<translation id="4745225042341419983">यस यन्त्रबाट यो प्रोफाइलको ब्राउजिङ डेटा मेटाइने छ। उक्त डेटा पुनः प्राप्त गर्न निम्न खाता प्रयोग गरी Chromium मा साइन इन गर्नुहोस्</translation>
 <translation id="4746050847053251315">जे भए पनि Chromium छाडेर बाहिरिने हो?</translation>
 <translation id="4748217263233248895">Chromium को एक विशेष सुरक्षा अद्यावधिक भर्खरै लागू गरियो। पुनः सुरु गर्नुहोस् र हामी तपाईंका ट्याबहरू पुनर्स्थापना गर्ने छाैँ।</translation>
 <translation id="4750035648288509542">अद्यावधिक गर्ने कार्य लगभग सम्पन्न भइसक्यो! अद्यावधिक गर्ने कार्य सम्पन्न गर्न Chromium पुनः सुरु गर्नुहोस् इन्कोग्निटो विन्डोहरू पुनः खुल्ने छैनन्।</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium पृष्ठभूमि मोडमा छ।</translation>
 <translation id="4987820182225656817">अतिथिहरूले कुनैपनि कुरालाई पछाडि छोडे बिना Chromium प्रयोग गर्न सक्छन्।</translation>
 <translation id="4994636714258228724">तपाइँ अफैलाई Chromium मा थप्नुहोस्</translation>
-<translation id="5053724573690775822">Chromium मा नयाँ कार्य स्पेस बनाउने हो?</translation>
 <translation id="5224391634244552924">कुनै पनि पासवर्ड सुरक्षित गरिएको छैन। तपाईंले आफ्ना पासवर्डहरू सुरक्षित गर्नुभएको छ भने मात्र Chromium ले तिनको जाँच गर्न सक्छ।</translation>
 <translation id="5277894862589591112">आफूले गरेका परिवर्तनहरू लागू गर्न Chromium पुनः सुरु गर्नुहोस्</translation>
 <translation id="5358375970380395591">तपाइँ एक व्यवस्थापित खाताको साथमा साइनइन गर्दै हुनुहुन्छ र त्यसको प्रशासकलाई तपाइँको Chromium प्रोफाइलमा नियन्त्रण दिँदै हुनुहुन्छ। तपाइँको Chromium लगत, जस्तै की तपाइँका एपहरू, पृष्ठमञ्जूषाहरू, इतिहास, पासवर्डहरू, र अन्य सेटिङहरू स्थायी रूपमा <ph name="USER_NAME" /> मा बाँधिनेछ। तपाइँले यस लगतलाई Google खााता ड्यासबोर्ड मार्पत हटाउन सक्नुहुनेछ, तर तपाइँले यस लगतलाई अर्को खातासँग सम्बन्ध गर्न सक्नुहुनेछैन। <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">अन्तर्निर्मित PDF भ्युअर छुटेको बेला Chromium ले छपाइको पूर्वावलोन देखाउन सक्दैन।</translation>
 <translation id="5427571867875391349">Chromium लाई तपाइँको पूर्वनिर्धारित ब्राउजरको रूपमा सेट गर्नुहोस्</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium बिटा</translation>
-<translation id="544968170749360982">तपाईंले <ph name="EXISTING_USER" /> को स्पेसमा नयाँ खाता प्रयोग गरी साइन इन गर्नुभएको छ। तपाईं आफ्नो डेटा छुट्टै राख्न Chromium मा <ph name="NEW_USER" /> का लागि नयाँ स्पेस बनाउन चाहनुहुन्छ?</translation>
 <translation id="5479196819031988440">Chromium OS ले यो पृष्ठ खोल्न सक्दैन</translation>
 <translation id="5480860683791598150">Chromium लाई यो साइटसँग तपाईंको स्थान आदान प्रदान गर्न तपाईंको स्थानमाथिको पहुँच आवश्यक पर्छ</translation>
 <translation id="549669000822060376">Chromium ले नवीनतम सिस्टम अपडेट स्थापित गर्दै गर्दा प्रतिक्षा गर्नुहोस्।</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">साइनइन गर्नमा एक त्रुटिको कारणले गर्दा Chromium ले तपाइँको लगत समक्रमण गर्न सकेन।</translation>
 <translation id="6096348254544841612">Chromium लाई आफू अनुकूल बनाउने र नियन्त्रण गर्ने कार्य गर्नुहोस्। अद्यावधिक उपलब्ध छ।</translation>
 <translation id="6120345080069858279">Chromium ले यो पासवर्ड तपाईंको Google खातामा सुरक्षित गर्ने छ। तपाईंले यसलाई सम्झिराख्नु पर्ने छैन।</translation>
-<translation id="6128834065531097268">तपाईंले <ph name="EXISTING_USER" /> को स्पेसमा कार्य खाता प्रयोग गरी साइन इन गर्नुभएको छ। तपाईं आफ्नो डेटा छुट्टै राख्न Chromium मा <ph name="WORK_DOMAIN" /> का लागि नयाँ स्पेस बनाउन चाहनुहुन्छ?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> खतरनाक छ, त्यसैले Chromium ले यसमाथि रोक लगाएको छ।</translation>
 <translation id="6134968993075716475">सुरक्षित ब्राउजिङ निष्क्रिय छ। Chromium ले यो सेवा सक्रिय गर्न सिफारिस गर्छ।</translation>
 <translation id="6212496753309875659">यो कम्प्युटरमा पहिले नै Chromium को अझ हालैको संस्करण छ। यदि सफ्टवेयरले काम गरिरहेको छैन भने, कृपया Chromium को स्थापना हटाएर पुन: प्रयास गर्नुहोस्।</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Chromium (<ph name="URL" />) को डेटा पनि खाली गर्नुहोस्</translation>
 <translation id="7585853947355360626">यो पृष्ठमा कुनै सेटिङ देखिएन भने आफ्नो <ph name="LINK_BEGIN" />
     Chromium OS का सेटिङ<ph name="LINK_END" />मा गई हेर्नुहोस्</translation>
-<translation id="7607142834923530546">तपाईंले कार्य खाता प्रयोग गरी साइन इन गर्नुभएको छ। तपाईं आफ्नो व्यक्तिगत डेटा छुट्टै राख्न Chromium मा <ph name="NEW_USER" /> का लागि नयाँ स्पेस बनाउन चाहनुहुन्छ?</translation>
 <translation id="761356813943268536">Chromium ले तपइँको क्यामेरा र माइक्रोफोन प्रयोग गर्दैछ।</translation>
 <translation id="7617377681829253106">Chromium भर्खरै झन राम्रो भयो</translation>
 <translation id="7628001322379820951">Chromium ले तपाईंको कम्प्युटरमा हानिकारक सफ्टवेयर फेला पार्‍यो</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">यो Chromium को एउटा सहायक स्थापना हो र यसलाई तपाईँको पूर्वनिर्धारित ब्राउजर बनाउन सकिँदैन।</translation>
 <translation id="7979877361127045932">Chromium मेनुमा लुकाउनुहोस्</translation>
 <translation id="8013436988911883588">Chromium ले पहुँच प्राप्त गरेपछि, वेबसाइटहरू तपाईंसँग पहुँच माग्न सक्ने छन्।</translation>
-<translation id="8022442821873033760">Chromium मा आफ्नो नयाँ प्रोफाइल सेटअप गर्नुहोस्</translation>
 <translation id="81770708095080097">यो फाइल खतरनाक छ, त्यसैले Chromium ले यसमाथि रोक लगाएको छ।</translation>
 <translation id="8248265253516264921">कुनै छविमा उपयोगी विवरण नभएका खण्डमा Chromium ले तपाईंलाई एउटा विवरण उपलब्ध गराउने प्रयास गर्ने छ। विवरणहरू सिर्जना गर्न छविहरू Google मा पठाइन्छ। तपाईं सेटिङहरूमा गई जुनसुकै बेला यसलाई निष्क्रिय पार्न सक्नुहुन्छ।</translation>
 <translation id="8266560134891435528">तपाईं साइन इन नहुनुभएकाले Chromium ले तपाईंका पासवर्डहरूको जाँच गर्न सकेन</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{एक दिनभित्र Chromium पुनः सुरु गर्नुहोस्}other{# दिनभित्र Chromium पुनः सुरु गर्नुहोस्}}</translation>
 <translation id="8453117565092476964">स्थापना-कर्ता सङ्ग्रह दूषिट वा अवैध छ। कृपया फेरि Chromium डाउनलोड गर्नुहोस्।</translation>
 <translation id="8493179195440786826">Chromium पुरानो भएको छ</translation>
-<translation id="8545858702702650646">आफ्नो रोजाइको Chromium स्पेस छान्नुहोस्</translation>
 <translation id="8558383651099478961">तपाईंका अभिभावकले Chromium का हकमा "साइट, एप तथा एक्सटेन्सनसम्बन्धी अनुमति" निष्क्रिय पार्नुभएको छ। तपाईंसँग यो <ph name="EXTENSION_TYPE_PARAMETER" /> थप्ने अनुमति छैन।</translation>
 <translation id="8568283329061645092">तपाईंले आफ्नो Google खातामा साइन इन गरेपछि मात्र Chromium ले तपाईंका पासवर्डहरूको जाँच गर्न सक्छ</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> क्रोमियम लेखक। सबै अधिकार सुरक्षित।</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">तपाईंको प्रणालीका प्रशासकले <ph name="TARGET_URL_HOSTNAME" /> माथि पहुँच गर्नका लागि वैकल्पिक ब्राउजर खोल्न Chromium कन्फिगर गरेको छ।</translation>
 <translation id="9164845895615421500">Chromium ले हप्तामा एक पटक अवाञ्छित सफ्टवेयर छन् कि छैनन् भनी जाँच गर्छ। पछिल्लो पटक जाँच गरिएको: केही बेरअघि।</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">यो यन्त्रबाट व्यवस्थित तरिकाले इन्टरनेट ब्राउज गर्न Chromium स्पेस प्रयोग गर्नुहोस्</translation>
 <translation id="93478295209880648">Chromium अब उप्रान्त Windows XP वा Windows Vista मा समर्थित नभएका कारण यसले सही ढङ्गले काम नगर्न सक्छ</translation>
 <translation id="95514773681268843">यो यन्त्र प्रयोग गर्नु पूर्व <ph name="DOMAIN" /> ले तपाईंलाई निम्न सेवाका सर्तहरू पढ्न र स्वीकार्न आवश्यक ठान्छ। यी सर्तहरू विस्तार, परिमार्जन हुँदैनन् वा क्रोमियम OS सर्तहरूमा सीमित छैनन्।</translation>
 <translation id="985602178874221306">Chromium लेखकहरू</translation>
diff --git a/chrome/app/resources/chromium_strings_nl.xtb b/chrome/app/resources/chromium_strings_nl.xtb
index ccce479..c5aaa5f 100644
--- a/chrome/app/resources/chromium_strings_nl.xtb
+++ b/chrome/app/resources/chromium_strings_nl.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Optioneel: Help de functies en prestaties van Chromium OS te verbeteren door automatisch diagnostische en gebruiksgegevens naar Google te sturen.</translation>
 <translation id="2347108572062610441">Deze extensie heeft gewijzigd welke pagina wordt weergegeven wanneer je Chromium start.</translation>
 <translation id="2396765026452590966">De extensie '<ph name="EXTENSION_NAME" />' heeft gewijzigd welke pagina wordt weergegeven wanneer je Chromium start.</translation>
-<translation id="2442081746662839303">Nieuwe Chromium-ruimte voor <ph name="NEW_USER" /> maken?</translation>
 <translation id="2483889755041906834">In Chromium</translation>
 <translation id="2485422356828889247">Installatie ongedaan maken</translation>
 <translation id="2527042973354814951">Chromium opnieuw opstarten om <ph name="PLUGIN_NAME" /> in te schakelen</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Het profiel lijkt te worden gebruikt door een ander proces in Chromium (<ph name="PROCESS_ID" />) op een andere computer (<ph name="HOST_NAME" />). Het profiel is vergrendeld zodat het niet wordt beschadigd. Als je zeker weet dat dit profiel niet door andere processen wordt gebruikt, kun je het profiel ontgrendelen en Chromium opnieuw starten.</translation>
 <translation id="469338717132742108">Hulp bij Chromium OS</translation>
 <translation id="4708774505295300557">Iemand heeft eerder bij Chromium op deze computer ingelogd als <ph name="ACCOUNT_EMAIL_LAST" />. Maak een nieuwe Chromium-gebruiker om je informatie gescheiden te houden.</translation>
-<translation id="4745225042341419983">De browsergegevens van deze ruimte worden verwijderd van dit apparaat. Als je de gegevens wilt herstellen, log je in bij Chromium als</translation>
 <translation id="4746050847053251315">Chromium toch sluiten?</translation>
 <translation id="4748217263233248895">Er is zojuist een speciale beveiligingsupdate voor Chromium toegepast. Start nu opnieuw op. Je tabbladen worden hersteld.</translation>
 <translation id="4750035648288509542">Bijna klaar met updaten. Start Chromium opnieuw om de update te voltooien. Incognitovensters worden niet opnieuw geopend.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium bevindt zich in de achtergrondmodus.</translation>
 <translation id="4987820182225656817">Gasten kunnen Chromium gebruiken zonder iets achter te laten.</translation>
 <translation id="4994636714258228724">Jezelf toevoegen aan Chromium</translation>
-<translation id="5053724573690775822">Nieuwe werkruimte voor Chromium maken?</translation>
 <translation id="5224391634244552924">Geen opgeslagen wachtwoorden. Chromium kan je wachtwoorden checken als je deze hebt opgeslagen.</translation>
 <translation id="5277894862589591112">Als je de wijzigingen wilt toepassen, start je Chromium opnieuw</translation>
 <translation id="5358375970380395591">Je logt in op een beheerd account waarmee de eigenaar van dat account beheer krijgt over je Chromium-profiel. Je Chromium-gegevens zoals je apps, bookmarks, geschiedenis, wachtwoorden en andere instellingen worden permanent gekoppeld aan <ph name="USER_NAME" />. Je kunt deze gegevens verwijderen via het Google Accounts Dashboard, maar je kunt deze gegevens niet koppelen aan een ander account.<ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium kan het afdrukvoorbeeld niet weergeven wanneer de ingebouwde pdf-viewer ontbreekt.</translation>
 <translation id="5427571867875391349">Chromium instellen als je standaardbrowser</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium bèta</translation>
-<translation id="544968170749360982">Je bent ingelogd met een nieuw-account in de ruimte van <ph name="EXISTING_USER" />. Wil je een nieuwe Chromium-ruimte voor <ph name="NEW_USER" /> maken zodat je je gegevens gescheiden kunt houden?</translation>
 <translation id="5479196819031988440">Chromium OS kan deze pagina niet openen.</translation>
 <translation id="5480860683791598150">Chromium heeft toegang tot je locatie nodig om je locatie met deze site te delen</translation>
 <translation id="549669000822060376">Wacht terwijl Chromium de nieuwste systeemupdates installeert.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium kan je gegevens niet synchroniseren door een fout tijdens het inloggen.</translation>
 <translation id="6096348254544841612">Chromium aanpassen en beheren. Update is beschikbaar</translation>
 <translation id="6120345080069858279">Chromium slaat dit wachtwoord op in je Google-account. Je hoeft het niet te onthouden.</translation>
-<translation id="6128834065531097268">Je bent ingelogd met een werkaccount in de ruimte van <ph name="EXISTING_USER" />. Wil je een nieuwe Chromium-ruimte voor <ph name="WORK_DOMAIN" /> maken zodat je je gegevens gescheiden kunt houden?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> is gevaarlijk en is daarom door Chromium geblokkeerd.</translation>
 <translation id="6134968993075716475">Safe Browsing is uitgeschakeld. Chromium raadt je aan deze functie in te schakelen.</translation>
 <translation id="6212496753309875659">Deze computer beschikt al over een recentere versie van Chromium. Als de software niet werkt, moet je Chromium verwijderen en het opnieuw proberen.</translation>
@@ -202,7 +197,6 @@
 <translation id="7549178288319965365">Over Chromium OS</translation>
 <translation id="7561906087460245826">Ook gegevens van Chromium wissen (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Kijk je in de <ph name="LINK_BEGIN" />Chromium OS-instellingen<ph name="LINK_END" />als je een instelling niet ziet op deze pagina.</translation>
-<translation id="7607142834923530546">Je bent ingelogd met een werkaccount. Wil je een nieuwe Chromium-ruimte voor <ph name="NEW_USER" /> maken zodat je je persoonlijke gegevens gescheiden kunt houden?</translation>
 <translation id="761356813943268536">Chromium gebruikt je camera en microfoon.</translation>
 <translation id="7617377681829253106">Chromium is nu nog beter</translation>
 <translation id="7628001322379820951">Chromium heeft schadelijke software gevonden op je computer</translation>
@@ -220,7 +214,6 @@
 <translation id="7975919845073681630">Dit is een tweede installatie van Chromium en kan niet als standaardbrowser worden ingesteld.</translation>
 <translation id="7979877361127045932">Verbergen in Chromium-menu</translation>
 <translation id="8013436988911883588">Zodra Chromium toegang heeft, kunnen websites je om toegang vragen.</translation>
-<translation id="8022442821873033760">Je nieuwe Chromium-ruimte instellen</translation>
 <translation id="81770708095080097">Dit bestand is gevaarlijk en is daarom door Chromium geblokkeerd.</translation>
 <translation id="8248265253516264921">Als een afbeelding geen nuttige beschrijving bevat, probeert Chromium je er een te geven. Afbeeldingen worden naar Google verzonden om beschrijvingen te maken. Je kunt dit op elk gewenst moment uitschakelen in Instellingen.</translation>
 <translation id="8266560134891435528">Chromium kan je wachtwoorden niet checken omdat je niet bent ingelogd.</translation>
@@ -231,7 +224,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Start Chromium binnen een dag opnieuw}other{Start Chromium binnen # dagen opnieuw}}</translation>
 <translation id="8453117565092476964">Het archief van het installatieprogramma is beschadigd of ongeldig. Download Chromium opnieuw.</translation>
 <translation id="8493179195440786826">Chromium is verouderd</translation>
-<translation id="8545858702702650646">Je Chromium-ruimte kiezen</translation>
 <translation id="8558383651099478961">Je ouder heeft 'Rechten voor sites, apps en extensies' uitgeschakeld voor Chromium. Je mag deze <ph name="EXTENSION_TYPE_PARAMETER" /> niet toevoegen.</translation>
 <translation id="8568283329061645092">Chromium kan je wachtwoorden checken als je inlogt met je Google-account</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> De auteurs van Chromium. Alle rechten voorbehouden.</translation>
@@ -257,7 +249,6 @@
 <translation id="9158494823179993217">Je systeembeheerder heeft geconfigureerd dat Chromium een alternatieve browser opent voor toegang tot <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium checkt één keer per week op ongewenste software. Laatst gecheckt: minder dan een minuut geleden.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Gebruik Chromium-ruimten om het browsen overzichtelijk te houden op dit apparaat</translation>
 <translation id="93478295209880648">Chromium werkt mogelijk niet naar behoren omdat dit niet langer wordt ondersteund op Windows XP en Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> vereist dat je de volgende Servicevoorwaarden leest en accepteert voordat je dit apparaat gebruikt. Deze voorwaarden zijn geen uitbreiding, aanpassing of beperking van de Voorwaarden van Chromium OS.</translation>
 <translation id="985602178874221306">De auteurs van Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_no.xtb b/chrome/app/resources/chromium_strings_no.xtb
index c63a7a2..54a6fb4 100644
--- a/chrome/app/resources/chromium_strings_no.xtb
+++ b/chrome/app/resources/chromium_strings_no.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Valgfritt: Bidra til å gjøre funksjonene og ytelsen til Chromium OS bedre ved å sende diagnostikk og bruksdata automatisk til Google.</translation>
 <translation id="2347108572062610441">Denne utvidelsen har endret hvilken side som vises når du starter Chromium.</translation>
 <translation id="2396765026452590966">Utvidelsen «<ph name="EXTENSION_NAME" />» har endret hvilken side som vises når du starter Chromium.</translation>
-<translation id="2442081746662839303">Vil du opprette et nytt Chromium-område for <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">I Chromium</translation>
 <translation id="2485422356828889247">Avinstaller</translation>
 <translation id="2527042973354814951">Start Chromium på nytt for å slå på <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Profilen ser ut til å være i bruk av en annen Chromium-prosess (<ph name="PROCESS_ID" />) på en annen datamaskin (<ph name="HOST_NAME" />). Chromium har låst profilen slik at den ikke blir infisert. Hvis du er sikker på at ingen andre prosesser bruker profilen, kan du låse opp profilen og starte Chromium på nytt.</translation>
 <translation id="469338717132742108">Få hjelp med Chromium OS</translation>
 <translation id="4708774505295300557">Noen har tidligere logget på Chromium på denne datamaskinen som <ph name="ACCOUNT_EMAIL_LAST" />. Opprett en ny Chromium-bruker for å holde informasjonen din atskilt.</translation>
-<translation id="4745225042341419983">Nettlesingsdataene for dette området blir slettet fra denne enheten. For å gjenopprette dataene, logg på Chromium som</translation>
 <translation id="4746050847053251315">Vil du avslutte Chromium likevel?</translation>
 <translation id="4748217263233248895">En spesiell sikkerhetsoppdatering for Chromium ble nettopp installert. Start på nytt nå, så gjenoppretter vi fanene dine.</translation>
 <translation id="4750035648288509542">Nesten ferdig oppdatert! Start Chromium på nytt for å fullføre oppdateringen. Inkognitovinduer blir ikke gjenåpnet.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium er i bakgrunnsmodus.</translation>
 <translation id="4987820182225656817">Gjester kan bruke Chromium uten å etterlate seg spor.</translation>
 <translation id="4994636714258228724">Legg til deg selv i Chromium</translation>
-<translation id="5053724573690775822">Vil du opprette et nytt Chromium-arbeidsområde?</translation>
 <translation id="5224391634244552924">Ingen lagrede passord. Chromium kan sjekke passordene dine når du lagrer dem.</translation>
 <translation id="5277894862589591112">For å bruke endringene dine må du starte Chromium på nytt</translation>
 <translation id="5358375970380395591">Du logger deg på med en administrert konto og gir tilhørende administratorer kontroll over Chromium-profilen din. Chromium-dataene dine, slik som apper, bokmerker, loggen, passord og andre innstillinger, knyttes permanent til <ph name="USER_NAME" />. Du kan slette disse dataene via oversikten for Google-kontoer, men du kan ikke knytte disse dataene til en annen konto. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium kan ikke vise forhåndsvisningen av utskrift når det innebygde PDF-visningsprogrammet mangler.</translation>
 <translation id="5427571867875391349">Bruk Chromium som standard nettleser</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – betaversjon av Chromium</translation>
-<translation id="544968170749360982">Du har logget på med en ny konto på området til <ph name="EXISTING_USER" />. Vil du opprette et nytt Chromium-område for <ph name="NEW_USER" /> for å holde dataene dine atskilt?</translation>
 <translation id="5479196819031988440">Chromium OS kan ikke åpne denne siden.</translation>
 <translation id="5480860683791598150">Chromium trenger tilgang til posisjonen din for å kunne dele den med dette nettstedet</translation>
 <translation id="549669000822060376">Vent mens Chromium installerer de nyeste systemoppdateringene.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium kunne ikke synkronisere dataene dine på grunn av en feil under påloggingen.</translation>
 <translation id="6096348254544841612">Tilpass og kontrollér Chromium. Oppdatering er tilgjengelig.</translation>
 <translation id="6120345080069858279">Chromium lagrer dette passordet i Google-kontoen din, så du trenger ikke å huske det.</translation>
-<translation id="6128834065531097268">Du har logget på med en jobbkonto på området til <ph name="EXISTING_USER" />. Vil du opprette et nytt Chromium-område for <ph name="WORK_DOMAIN" /> for å holde dataene dine atskilt?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> er farlig, så Chromium har blokkert den.</translation>
 <translation id="6134968993075716475">Safe Browsing er slått av. Chromium anbefaler at du slår det på.</translation>
 <translation id="6212496753309875659">Denne datamaskinen har allerede en nyere versjon av Chromium. Hvis programvaren ikke fungerer, må du avinstallere Chromium og prøve på nytt.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Fjern dataene fra Chromium også (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Hvis en innstilling ikke vises på denne siden, kan du gå til <ph name="LINK_BEGIN" />
     innstillingene for Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Du har logget på med en jobbkonto. Vil du opprette et nytt Chromium-område for <ph name="NEW_USER" /> for å holde de personlige dataene dine atskilt?</translation>
 <translation id="761356813943268536">Chromium bruker kameraet og mikrofonen din.</translation>
 <translation id="7617377681829253106">Nå er Chromium blitt enda bedre</translation>
 <translation id="7628001322379820951">Chromium fant skadelig programvare på datamaskinen</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Dette er en sekundær installering av Chromium. Den kan ikke brukes som standardnettleser.</translation>
 <translation id="7979877361127045932">Skjul i Chromium-menyen</translation>
 <translation id="8013436988911883588">Når Chromium har fått tilgang, kan nettsteder spørre deg om tilgang.</translation>
-<translation id="8022442821873033760">Konfigurer ditt nye Chromium Space</translation>
 <translation id="81770708095080097">Denne filen er farlig, så Chromium har blokkert den.</translation>
 <translation id="8248265253516264921">Hvis et bilde ikke har noen nyttig beskrivelse, prøver Chromium å finne en til deg. For å opprette beskrivelser blir bilder sendt til Google. Du kan slå av dette i innstillingene når som helst.</translation>
 <translation id="8266560134891435528">Chromium kan ikke sjekke passordene dine, siden du ikke er logget på</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Start Chromium på nytt innen én dag}other{Start Chromium på nytt innen # dager}}</translation>
 <translation id="8453117565092476964">Installasjonsarkivet er skadet eller ugyldig. Last ned Chromium på nytt.</translation>
 <translation id="8493179195440786826">Chromium er utdatert</translation>
-<translation id="8545858702702650646">Velg ditt Chromium Space</translation>
 <translation id="8558383651099478961">Forelderen din har slått av «Tillatelser for nettsteder, apper og utvidelser» for Chromium. Du har ikke tillatelse til å legge til denne <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium kan sjekke passordene dine når du logger på med Google-kontoen din</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> – The Chromium Authors. Med enerett.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Systemadministratoren din har konfigurert Chromium til å åpne en annen nettleser når du går til <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium sjekker én gang i uken om du har uønsket programvare. Sist sjekket for et øyeblikk siden.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-Inn)</translation>
-<translation id="9191317372410544836">Bruk Chromium Spaces til å organisere surfingen din på denne enheten</translation>
 <translation id="93478295209880648">Chromium fungerer kanskje ikke riktig fordi den ikke lenger støttes på Windows XP eller Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> krever at du leser og godtar følgende vilkår før du bruker denne enheten. Disse vilkårene utvider, endrer eller begrenser ikke Chromium OS-vilkårene.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_or.xtb b/chrome/app/resources/chromium_strings_or.xtb
index d636f3c..1e9a7ec 100644
--- a/chrome/app/resources/chromium_strings_or.xtb
+++ b/chrome/app/resources/chromium_strings_or.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">ଇଚ୍ଛାଧୀନ: Googleକୁ ସ୍ୱଚାଳିତ ଭାବେ ଡାଏଗ୍ନୋଷ୍ଟିକ୍ ଏବଂ ବ୍ୟବହାର ଡାଟା ପଠାଇ Chromium OS ଫିଚର୍ ଏବଂ କାର୍ଯ୍ୟଦକ୍ଷତା ଉନ୍ନତ କରିବାରେ ସାହାଯ୍ୟ କରନ୍ତୁ।</translation>
 <translation id="2347108572062610441">ଏହି ଏକ୍ସଟେନ୍‌ସନ୍‌ ଏହା ପରିବର୍ତ୍ତନ କରିଛି ଯେ ଯେତେବେଳେ ଆପଣ Chromium ଆରମ୍ଭ କରନ୍ତି, ସେତେବେଳେ କେଉଁ ପୃଷ୍ଠା ଦେଖାଯିବ।</translation>
 <translation id="2396765026452590966">ଆପଣ ଯେତେବେଳେ Chromium ଆରମ୍ଭ କରିବେ, ସେତେବେଳେ କେଉଁ ପୃଷ୍ଠାଗୁଡ଼ିକ ଦେଖାଯିବ ତାହା "<ph name="EXTENSION_NAME" />" ଏକ୍ସଟେନ୍‌ସନ୍ ବଦଳାଇଦିଏ।</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> ପାଇଁ ନୂଆ Chromium ସ୍ପେସ୍ ତିଆରି କରିବେ?</translation>
 <translation id="2483889755041906834">Chromiumରେ</translation>
 <translation id="2485422356828889247">ଅନ୍‍ଇନ୍‍ଷ୍ଟଲ୍‌ କରନ୍ତୁ</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" />କୁ ସକ୍ଷମ କରିବା ପାଇଁ Chromiumକୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">ଏହି ପ୍ରୋଫାଇଲ୍‍ଟି ଅନ୍ୟ ଏକ କମ୍ପ୍ୟୁଟର୍‍ (<ph name="HOST_NAME" />)ରେ ଭିନ୍ନ Google Chromium ପ୍ରକ୍ରିୟା (<ph name="PROCESS_ID" />) ଦ୍ୱାରା ବ୍ୟବହାର ହେଉଥିବାର ଜଣାପଡୁଛି। Chromium ପ୍ରୋଫାଇଲ୍‍କୁ ଲକ୍‍‍ କରିଦେ‍ଇଛି ଯାହାଦ୍ୱାରା ଏହା ଖରାପ ହେବ ନାହିଁ। ଯଦି ଆପଣ ସୁନିଶ୍ଚିତ ଯେ, ଅନ୍ୟ ପ୍ରକ୍ରିୟାଗୁଡ଼ିକ ଏହି ପ୍ରୋଫାଇଲ୍‍କୁ ବ୍ୟବହାର କରୁନାହାନ୍ତି, ତେବେ ଆପଣ ପ୍ରୋଫାଇଲ୍‍କୁ ଅନ୍‌ଲକ୍‌ କରି Chromiumକୁ ପୁଣି ଲଞ୍ଚ କରିପାରିବେ।</translation>
 <translation id="469338717132742108">Chromium OS ସାହାଯ୍ୟରେ ସହାୟତା ପ୍ରାପ୍ତ କରନ୍ତୁ</translation>
 <translation id="4708774505295300557">ଏହି କମ୍ପ୍ୟୁଟର୍‌ରେ କେହିଜଣେ ପୂର୍ବରୁ Chromiumରେ <ph name="ACCOUNT_EMAIL_LAST" /> ଭାବରେ ସାଇନ୍ ଇନ୍ କରିଛନ୍ତି। ଦୟାକରି ଆପଣଙ୍କର ସୂଚନା ଅଲଗା ରଖିବା ପାଇଁ ଏକ ନୂତନ Chromium ଉପଯୋଗକର୍ତ୍ତା ତିଆରି କରନ୍ତୁ।</translation>
-<translation id="4745225042341419983">ଏହି ଡିଭାଇସରୁ ଏହି ସ୍ପେସର ବ୍ରାଉଜିଂ ଡାଟା ଡିଲିଟ୍ ହୋଇଯିବ। ଡାଟା ପୁନରୁଦ୍ଧାର କରିବାକୁ, ଏପରି ଭାବରେ Chromiumରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ</translation>
 <translation id="4746050847053251315">ଯେକୌଣସିମତେ Chromium ଛାଡିବେ?</translation>
 <translation id="4748217263233248895">Chromium ପାଇଁ ଏକ ବିଶେଷ ସୁରକ୍ଷା ଅପ୍‍‍ଡେଟ୍ ଏବେ ଲାଗୁ କରାଯାଇଛି। ବର୍ତ୍ତମାନ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ ଏବଂ ଆମେ ଆପଣଙ୍କର ଟାବ୍‍ଗୁଡ଼ିକ ପୁନଃସ୍ଥାପନ କରିବୁ।</translation>
 <translation id="4750035648288509542">ପ୍ରାୟ ଅପ୍ ଟୁ ଡେଟ୍! ଅପଡେଟ୍ ସମାପ୍ତ କରିବାକୁ Chromium ପୁଣି ଲଞ୍ଚ କରନ୍ତୁ। ଇନକଗ୍ନିଟୋ ୱିଣ୍ଡୋଗୁଡ଼ିକ ପୁଣି ଖୋଲିବ ନାହିଁ।</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium ପୃଷ୍ଠପଟ ମୋଡ୍‌ରେ ଅଛି।</translation>
 <translation id="4987820182225656817">କିଛି ପଛରେ ନଛାଡ଼ି ଅତିଥି Chromium ବ୍ୟବହାର କରିପାରିବେ।</translation>
 <translation id="4994636714258228724">Chromium ସହ ନିଜକୁ ଯୋଗ କରନ୍ତୁ</translation>
-<translation id="5053724573690775822">ନୂଆ Chromium ୱାର୍କ ସ୍ପେସ୍ ତିଆରି କରିବେ?</translation>
 <translation id="5224391634244552924">ସେଭ୍ କରାଯାଇଥିବା କୌଣସି ପାସୱାର୍ଡ ନାହିଁ। ଆପଣ ପାସୱାର୍ଡଗୁଡ଼ିକ ସେଭ୍ କଲେ Chromium ସେଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରିପାରିବ।</translation>
 <translation id="5277894862589591112">ଆପଣ କରିଥିବା ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ଲାଗୁ କରିବା ପାଇଁ Chromiumକୁ ପୁଣି ଲଞ୍ଚ କରନ୍ତୁ</translation>
 <translation id="5358375970380395591">ଆପଣ ଏକ ପରିଚାଳିତ ଆକାଉଣ୍ଟ ମାଧ୍ୟମରେ ସାଇନ୍ ଇନ୍ କରିଛନ୍ତି ଏବଂ ଏହାର ବ୍ୟବସ୍ଥାପକଙ୍କୁ ଆପଣଙ୍କ Chromium ପ୍ରୋଫାଇଲ୍‌ର ନିୟନ୍ତ୍ରଣ ଦେଇଛନ୍ତି। ଆପଣଙ୍କର Chromium ଡାଟା ଯେପରିକି, ଆପଣଙ୍କର ଆପ୍ସ, ବୁକ୍‌ମାର୍କଗୁଡ଼ିକ, ଇତିବୃତ୍ତି, ପାସ୍‌ୱର୍ଡଗୁଡ଼ିକ ଏବଂ ଅନ୍ୟାନ୍ୟ ସେଟିଂସ୍ ସ୍ଥାୟୀରୂପେ <ph name="USER_NAME" />କୁ ଯୋଡ଼ି ହୋଇଯିବ। ଆପଣ ଏହି ଡାଟାକୁ Google ଆକାଉଣ୍ଟ ଡ୍ୟାସ୍‌ବୋର୍ଡ ମାଧ୍ୟମରେ ଡିଲିଟ୍ କରିପାରିବେ, କିନ୍ତୁ ଆପଣ ଏହି ଡାଟାକୁ ଅନ୍ୟ ଆକାଉଣ୍ଟ ସହିତ ଜଡ଼ିତ କରିପାରିବେ ନାହିଁ। <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">ଯେତେବେଳେ ବିଲ୍ଟ-ଇନ୍‍ PDF ଭ୍ୟୁୟର୍‍ ମିଳୁ ନାହିଁ ସେତେବେଳେ Chromium ପ୍ରିଣ୍ଟ ପ୍ରିଭ୍ୟୁ ଦେଖାଇପାରିବ ନାହିଁ।</translation>
 <translation id="5427571867875391349">Chromiumକୁ ଆପଣଙ୍କର ଡିଫଲ୍ଟ ବ୍ରାଉଜର୍ ଭାବରେ ସେଟ୍ କରନ୍ତୁ</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium ବିଟା</translation>
-<translation id="544968170749360982">ଆପଣ ଏକ ନୂଆ ଆକାଉଣ୍ଟ ସହ <ph name="EXISTING_USER" />ଙ୍କ ସ୍ପେସରେ ସାଇନ୍-ଇନ୍ କରିଛନ୍ତି। ଆପଣ ଆପଣଙ୍କର ଡାଟାକୁ ଅଲଗା ରଖିବା ପାଇଁ <ph name="NEW_USER" /> ନିମନ୍ତେ ଏକ ନୂଆ Chromium ସ୍ପେସ୍ ତିଆରି କରିବାକୁ ଚାହିଁବେ କି?</translation>
 <translation id="5479196819031988440">ଏହି ପୃଷ୍ଠାକୁ Google Chrome OS ଖୋଲିପାରିବ ନାହିଁ।</translation>
 <translation id="5480860683791598150">ଏହି ସାଇଟ୍ ସହ ଆପଣଙ୍କ ଲୋକେସନ୍ ସେୟାର୍ କରିବା ପାଇଁ Chromium ଆପଣଙ୍କ ଲୋକେସନ୍ ଆକ୍ସେସ୍ କରିବାକୁ ଚାହୁଁଛି।</translation>
 <translation id="549669000822060376">Chromium ନବୀନତମ ସିଷ୍ଟମ୍ ଅପ୍‌ଡେଟ୍ ଇନ୍‌ଷ୍ଟଲ୍ କରିବା ସମୟରେ ଦୟାକରି ଅପେକ୍ଷା କରନ୍ତୁ।</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">ସାଇନ୍ ଇନ୍ କରିବାରେ ତ୍ରୁଟି କାରଣରୁ Chromium ଆପଣଙ୍କ ଡାଟା ସିଙ୍କ କରିପାରିଲା ନାହିଁ।</translation>
 <translation id="6096348254544841612">Chromium କଷ୍ଟମାଇଜ୍ ଓ ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ। ଅପ୍‍‍ଡେଟ୍ ଉପଲବ୍ଧ ଅଟେ।</translation>
 <translation id="6120345080069858279">ଆପଣଙ୍କର Google ଆକାଉଣ୍ଟରେ Chromium ଏହି ପାସ୍‌ୱର୍ଡ ସେଭ୍ କରିବ। ଆପଣଙ୍କୁ ଏହା ମନେରଖିବାକୁ ପଡ଼ିବ ନାହିଁ।</translation>
-<translation id="6128834065531097268">ଆପଣ ଏକ କାର୍ଯ୍ୟସ୍ଥଳୀ ଆକାଉଣ୍ଟ ସହ <ph name="EXISTING_USER" />ଙ୍କ ସ୍ପେସରେ ସାଇନ୍-ଇନ୍ କରିଛନ୍ତି। ଆପଣ ଆପଣଙ୍କର ଡାଟାକୁ ଅଲଗା ରଖିବା ପାଇଁ <ph name="WORK_DOMAIN" /> ନିମନ୍ତେ ଏକ ନୂଆ Chromium ସ୍ପେସ୍ ତିଆରି କରିବାକୁ ଚାହିଁବେ କି?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> ବିପଜ୍ଜନକ ଅଟେ, ତେଣୁ Chromium ଏହାକୁ ବ୍ଲକ୍ କରିଛି।</translation>
 <translation id="6134968993075716475">ସେଫ୍ ବ୍ରାଉଜିଂ ବନ୍ଦ ଅଛି। Chromium ଏହାକୁ ଚାଲୁ କରିବାକୁ ସୁପାରିଶ କରେ।</translation>
 <translation id="6212496753309875659">ଏହି କମ୍ପ୍ୟୁଟର୍‌ରେ ପୂର୍ବରୁ Chromiumର ସବୁଠାରୁ ନିକଟତମ ସଂସ୍କରଣ ଅଛି। ଯଦି ସଫ୍ଟୱେର୍‌ଟି କାମ କରୁନାହିଁ, ତେବେ Chromiumକୁ ଅନ୍‌ଇନ୍‌ଷ୍ଟଲ୍ କରି ପୁଣିଥରେ ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
@@ -202,7 +197,6 @@
 <translation id="7549178288319965365">Chromium OS ବିଷୟରେ</translation>
 <translation id="7561906087460245826">Chromium (<ph name="URL" />)ରୁ ମଧ୍ୟ ଡାଟା ଖାଲି କରନ୍ତୁ</translation>
 <translation id="7585853947355360626">ଯଦି ଏହି ପୃଷ୍ଠାରେ ଏକ ସେଟିଂ ଦେଖାଯାଉ ନାହିଁ, ତେବେ ଆପଣଙ୍କର <ph name="LINK_BEGIN" />Chromium OS ସେଟିଂସ୍‌<ph name="LINK_END" />ରେ ଦେଖନ୍ତୁ</translation>
-<translation id="7607142834923530546">ଆପଣ ଏକ କାର୍ଯ୍ୟସ୍ଥଳୀ ଆକାଉଣ୍ଟ ସହ ସାଇନ୍-ଇନ୍ କରିଛନ୍ତି। ଆପଣ ଆପଣଙ୍କର ବ୍ୟକ୍ତିଗତ ଡାଟାକୁ ଅଲଗା ରଖିବା ପାଇଁ <ph name="NEW_USER" /> ନିମନ୍ତେ ଏକ ନୂଆ Chromium ସ୍ପେସ୍ ତିଆରି କରିବାକୁ ଚାହିଁବେ କି?</translation>
 <translation id="761356813943268536">Chromium ଆପଣଙ୍କର କ୍ୟାମେରା ଏବଂ ମାଇକ୍ରୋଫୋନ୍‌ ବ୍ୟବହାର କରୁଛି।</translation>
 <translation id="7617377681829253106">Chromium ବର୍ତ୍ତମାନ ଆହୁରି ଉନ୍ନତ ହୋଇଛି</translation>
 <translation id="7628001322379820951">Chromiumକୁ ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରରେ କ୍ଷତିକାରକ ସଫ୍ଟୱେୟାର ମିଳିଛି</translation>
@@ -220,7 +214,6 @@
 <translation id="7975919845073681630">ଏହା Chromiumର ଏକ ସେକେଣ୍ଡାରୀ ଇନ୍‍ଷ୍ଟଲେସନ୍‌ ଏବଂ ଏହାକୁ ଆପଣଙ୍କ ଡିଫଲ୍ଟ ବ୍ରାଉଜର୍‌ କରାଯାଇପାରିବ ନାହିଁ।</translation>
 <translation id="7979877361127045932">Chromium ମେନୁରେ ଲୁଚାନ୍ତୁ</translation>
 <translation id="8013436988911883588">ଥରେ Chromiumର ଆକ୍ସେସ୍ ହେବା ପରେ, ୱେବ୍‌ସାଇଟ୍ ଆପଣଙ୍କୁ ଆକ୍ସେସ୍ ପାଇଁ ପଚାରିବାରେ ସକ୍ଷମ ହେବେ।</translation>
-<translation id="8022442821873033760">ଆପଣଙ୍କ ନୂଆ Chromium ସ୍ପେସ୍ ସେଟ୍ ଅପ୍ କରନ୍ତୁ</translation>
 <translation id="81770708095080097">ଏହି ଫାଇଲ୍ ବିପଜ୍ଜନକ ଅଟେ, ତେଣୁ Chromium ଏହାକୁ ବ୍ଲକ୍ କରିଛି।</translation>
 <translation id="8248265253516264921">ଯଦି ଗୋଟିଏ ଛବିରେ ବ୍ୟବହାରଯୋଗ୍ୟ ବିବରଣୀ ନାହିଁ, ତେବେ Chromium ଆପଣଙ୍କ ପାଇଁ ଏକ ବିବରଣୀ ପ୍ରଦାନ କରିବାକୁ ଚେଷ୍ଟା କରିବ। ବିବରଣୀ ତିଆରି କରିବାକୁ, ଛବିଗୁଡ଼ିକ Googleକୁ ପଠାଇ ଦିଆଯାଇଛି। ଆପଣ ଯେକୌଣସି ସମୟରେ ସେଟିଂସ୍‌ରେ ଏହାକୁ ବନ୍ଦ କରିପାରିବେ।</translation>
 <translation id="8266560134891435528">ଆପଣ ସାଇନ୍ ଇନ୍ କରିନଥିବା ଯୋଗୁଁ Chromium ଆପଣଙ୍କ ପାସୱାର୍ଡ ଯାଞ୍ଚ କରିପାରିବ ନାହିଁ</translation>
@@ -231,7 +224,6 @@
 <translation id="8417404458978023919">{0,plural, =1{ଗୋଟିଏ ଦିନ ମଧ୍ୟରେ Chromium ପୁଣି ଲଞ୍ଚ କରନ୍ତୁ}other{# ଦିନ ମଧ୍ୟରେ Chromium ପୁଣି ଲଞ୍ଚ କରନ୍ତୁ}}</translation>
 <translation id="8453117565092476964">ଇନ୍‌ଷ୍ଟଲର୍‌ ଆର୍କାଇଭ୍‍ ଖରାପ ହୋ‍ଇଯାଇଛି କିମ୍ବା ଅବୈଧ ଅଟେ। ଦୟାକରି Chromium ପୁଣି ଡାଉନ୍‌ଲୋଡ୍‌ କରନ୍ତୁ।</translation>
 <translation id="8493179195440786826">Chromiumର ସମୟସୀମା ଶେଷ ହୋଇଛି</translation>
-<translation id="8545858702702650646">ଆପଣଙ୍କ Chromium ସ୍ପେସ୍ ବାଛନ୍ତୁ</translation>
 <translation id="8558383651099478961">ଆପଣଙ୍କ ବାପାମା Chromium ପାଇଁ "ସାଇଟ୍, ଆପ୍ ଏବଂ ଏକ୍ସଟେନସନଗୁଡ଼ିକ ନିମନ୍ତେ ଅନୁମତିଗୁଡ଼ିକ" ବନ୍ଦ କରିଦେଇଛନ୍ତି। ଏହି <ph name="EXTENSION_TYPE_PARAMETER" />କୁ ଯୋଗ କରିବା ପାଇଁ ଅନୁମତି ନାହିଁ।</translation>
 <translation id="8568283329061645092">ଆପଣ ଆପଣଙ୍କର Google ଆକାଉଣ୍ଟ ମାଧ୍ୟମରେ ସାଇନ୍ ଇନ୍ କଲେ, Chromium ଆପଣଙ୍କର ପାସୱାର୍ଡ ଯାଞ୍ଚ କରିପାରିବ</translation>
 <translation id="8586442755830160949">କପିରାଇଟ୍ <ph name="YEAR" /> Chromium ଲେଖକ। ସମସ୍ତ ଅଧିକାର ସଂରକ୍ଷିତ ଅଛି।</translation>
@@ -257,7 +249,6 @@
 <translation id="9158494823179993217"><ph name="TARGET_URL_HOSTNAME" />କୁ ଆକ୍ସେସ୍‌ କରିବା ପାଇଁ ଏକ ବିକଳ୍ପ ବ୍ରାଉଜର୍‌ ଖୋଲିବାକୁ ଆପଣଙ୍କର ସିଷ୍ଟମ୍ ବ୍ୟବସ୍ଥାପକ Chromium କନ୍‌ଫିଗର୍‌ କରିଛନ୍ତି।</translation>
 <translation id="9164845895615421500">Chromium ସପ୍ତାହକୁ ଥରେ ଅଦରକାରୀ ସଫ୍ଟୱେରର ଯାଞ୍ଚ କରେ। ଗତ ଥର ଯାଞ୍ଚ କରାଯାଇଛି: କିଛି ସମୟ ପୂର୍ବେ।</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">ଏହି ଡିଭାଇସରେ ଆପଣଙ୍କ ବ୍ରାଉଜିଂକୁ ବ୍ୟବସ୍ଥିତ ରଖିବା ପାଇଁ Chromium ସ୍ପେସ୍ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="93478295209880648">Chromium ହୁଏତ ସଠିକ୍ ଭାବେ କାର୍ଯ୍ୟ କରି ନପାରେ କାରଣ ଏହା ଆଉ Windows XP କିମ୍ବା Windows Vistaରେ ସମର୍ଥିତ ନୁହେଁ</translation>
 <translation id="95514773681268843">ଏହି ଡିଭାଇସ୍‌କୁ ବ୍ୟବହାର କରିବା ପୂର୍ବରୁ ଆପଣ ନିମ୍ନୋକ୍ତ ସେବାର ସର୍ତ୍ତାବଳୀ ପଢ଼ନ୍ତୁ ଏବଂ ସେଗୁଡ଼ିକୁ ସ୍ଵୀକାର କରନ୍ତୁ ବୋଲି <ph name="DOMAIN" /> ଚାହେଁ। ଏହି ସର୍ତ୍ତଗୁଡ଼ିକ Chromium OS ସର୍ତ୍ତଗୁଡ଼ିକୁ ସମ୍ପ୍ରସାରିତ, ଆଂଶିକ ପରିବର୍ତ୍ତନ କିମ୍ବା ସୀମିତ କରେ ନାହିଁ।</translation>
 <translation id="985602178874221306">Chromium ଲେଖକ</translation>
diff --git a/chrome/app/resources/chromium_strings_pa.xtb b/chrome/app/resources/chromium_strings_pa.xtb
index 317e4fda..8493bb5 100644
--- a/chrome/app/resources/chromium_strings_pa.xtb
+++ b/chrome/app/resources/chromium_strings_pa.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">ਵਿਕਲਪਿਕ: ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਤਸ਼ਖੀਸੀ ਅਤੇ ਵਰਤੋਂ ਡਾਟਾ Google ਨੂੰ ਭੇਜ ਕੇ Chromium OS ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ।</translation>
 <translation id="2347108572062610441">ਇਸ ਐਕਸਟੈਂਸ਼ਨ ਨੇ ਤੁਹਾਡੇ ਵੱਲੋਂ Chromium ਸ਼ੁਰੂ ਕੀਤੇ ਜਾਣ ਵੇਲੇ ਦਿਖਾਏ ਗਏ ਪੰਨੇ ਨੂੰ ਬਦਲ ਦਿੱਤਾ ਹੈ।</translation>
 <translation id="2396765026452590966">ਐਕਸਟੈਂਸ਼ਨ "<ph name="EXTENSION_NAME" />" ਬਦਲਿਆ ਗਿਆ ਹੈ ਕਿ ਕਿਹੜਾ ਸਫ਼ਾ ਦਿਖਾਇਆ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ Chromium ਚਾਲੂ ਕਰਦੇ ਹੋ।</translation>
-<translation id="2442081746662839303">ਕੀ <ph name="NEW_USER" /> ਲਈ ਨਵੀਂ Chromium ਜਗ੍ਹਾ ਬਣਾਉਣੀ ਹੈ?</translation>
 <translation id="2483889755041906834">Chromium ਵਿੱਚ</translation>
 <translation id="2485422356828889247">ਅਣਸਥਾਪਤ ਕਰੋ</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ Chromium ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">ਇੰਜ ਜਾਪਦਾ ਹੈ ਕਿ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਕਿਸੇ ਹੋਰ ਕੰਪਿਊਟਰ <ph name="HOST_NAME" /> 'ਤੇ ਦੂਜੀ Chromium ਪ੍ਰਕਿਰਿਆ (<ph name="PROCESS_ID" />) ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ। Chromium ਨੇ ਪ੍ਰੋਫਾਈਲ ਲਾਕ ਕਰ ਦਿੱਤੀ ਹੈ ਤਾਂ ਜੋ ਇਹ ਖਰਾਬ ਹੋਣ ਤੋਂ ਬੱਚ ਸਕੇ। ਜੇਕਰ ਤੁਹਾਨੂੰ ਪੱਕਾ ਪਤਾ ਹੈ ਕਿ ਕੋਈ ਹੋਰ ਪ੍ਰਕਿਰਿਆਵਾਂ ਇਹ ਪ੍ਰੋਫਾਈਲ ਨਹੀਂ ਵਰਤ ਰਹੀਆਂ, ਤਾਂ ਤੁਸੀਂ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਅਣਲਾਕ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ Chromium ਨੂੰ ਮੁੜ-ਲਾਂਚ ਕਰ ਸਕਦੇ ਹੋ।</translation>
 <translation id="469338717132742108">Chromium OS ਬਾਰੇ ਮਦਦ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
 <translation id="4708774505295300557">ਕਿਸੇ ਵਿਅਕਤੀ ਨੇ ਪਹਿਲਾਂ ਹੀ <ph name="ACCOUNT_EMAIL_LAST" /> ਵਜੋਂ ਇਸ ਕੰਪਿਊਟਰ 'ਤੇ Chromium 'ਤੇ ਸਾਈਨ-ਇਨ ਕੀਤਾ ਹੋਇਆ ਹੈ। ਆਪਣੀ ਜਾਣਕਾਰੀ ਵੱਖਰੀ ਰੱਖਣ ਲਈ ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਨਵਾਂ Chromium ਵਰਤੋਂਕਾਰ ਬਣਾਓ।</translation>
-<translation id="4745225042341419983">ਇਸ ਜਗ੍ਹਾ ਦੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਡਾਟੇ ਨੂੰ ਇਸ ਡੀਵਾਈਸ ਤੋਂ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਡਾਟਾ ਮੁੜ-ਹਾਸਲ ਕਰਨ ਲਈ, Chromium ਵਿੱਚ ਇਸ ਵਜੋਂ ਸਾਈਨ-ਇਨ ਕਰੋ</translation>
 <translation id="4746050847053251315">ਕੀ ਫਿਰ ਵੀ Chromium ਨੂੰ ਛੱਡਣਾ ਹੈ?</translation>
 <translation id="4748217263233248895">Chromium ਲਈ ਇੱਕ ਖਾਸ ਸੁਰੱਖਿਆ ਅੱਪਡੇਟ ਹੁਣੇ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਸੀ। ਹੁਣੇ ਇਸਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਅਸੀਂ ਤੁਹਾਡੀਆਂ ਟੈਬਾਂ ਨੂੰ ਮੁੜ-ਬਹਾਲ ਕਰਾਂਗੇ।</translation>
 <translation id="4750035648288509542">ਲਗਭਗ ਅੱਪ-ਟੂ-ਡੇਟ! ਅੱਪਡੇਟ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ Chromium ਨੂੰ ਮੁੜ-ਲਾਂਚ ਕਰੋ। ਇਨਕੋਗਨਿਟੋ ਵਿੰਡੋ ਦੁਬਾਰਾ ਨਹੀਂ ਖੁੱਲ੍ਹੇਗੀ।</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium ਪਿਛੋਕੜ ਮੋਡ ਵਿੱਚ ਹੈ।</translation>
 <translation id="4987820182225656817">ਮਹਿਮਾਨ ਕੁਝ ਵੀ ਪਿੱਛੇ ਛੱਡੇ ਬਿਨਾਂ Chromium ਵਰਤ ਸਕਦੇ ਹਨ।</translation>
 <translation id="4994636714258228724">ਖੁਦ ਨੂੰ Chromium ਵਿੱਚ ਜੋੜੋ</translation>
-<translation id="5053724573690775822">ਕੀ ਨਵੀਂ Chromium ਕਾਰਜ ਜਗ੍ਹਾ ਬਣਾਉਣੀ ਹੈ?</translation>
 <translation id="5224391634244552924">ਕੋਈ ਰੱਖਿਅਤ ਕੀਤਾ ਪਾਸਵਰਡ ਨਹੀਂ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਆਪਣੇ ਪਾਸਵਰਡ ਰੱਖਿਅਤ ਕਰਨ 'ਤੇ Chromium ਉਹਨਾਂ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦਾ ਹੈ।</translation>
 <translation id="5277894862589591112">ਆਪਣੀਆਂ ਤਬਦੀਲੀਆਂ ਲਾਗੂ ਕਰਨ ਲਈ, Chromium ਨੂੰ ਮੁੜ-ਲਾਂਚ ਕਰੋ</translation>
 <translation id="5358375970380395591">ਤੁਸੀਂ ਇੱਕ ਪ੍ਰਬੰਧਿਤ ਕੀਤੇ ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕਰ ਰਹੇ ਹੋ ਅਤੇ ਇਸ ਦੇ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਆਪਣੇ Chromium ਪ੍ਰੋਫਾਈਲ ਦਾ ਕੰਟਰੋਲ ਦੇ ਰਹੇ ਹੋ। ਤੁਹਾਡਾ Chromium ਡਾਟਾ, ਜਿਵੇਂ ਕਿ ਤੁਹਾਡੀਆਂ ਐਪਾਂ, ਬੁੱਕਮਾਰਕ, ਇਤਿਹਾਸ, ਪਾਸਵਰਡ, ਅਤੇ ਹੋਰ ਸੈਟਿੰਗਾਂ <ph name="USER_NAME" /> ਨਾਲ ਸਥਾਈ ਤੌਰ 'ਤੇ ਜੋੜੇ ਜਾਣਗੇ। ਤੁਸੀਂ ਇਸ ਡਾਟੇ ਨੂੰ Google ਖਾਤੇ ਡੈਸ਼ਬੋਰਡ ਰਾਹੀਂ ਮਿਟਾ ਸਕੋਗੇ, ਪਰ ਤੁਸੀਂ ਇਸ ਡਾਟੇ ਨੂੰ ਦੂਜੇ ਖਾਤੇ ਨਾਲ ਨਹੀਂ ਜੋੜ ਸਕੋਗੇ। <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">ਬਿਲਟ-ਇਨ PDF ਦੇ ਮੌਜੂਦ ਨਾ ਹੋਣ 'ਤੇ Chromium ਪ੍ਰਿੰਟ ਦੀ ਪੂਰਵ-ਝਲਕ ਨਹੀਂ ਦਿਖਾ ਸਕਦਾ।</translation>
 <translation id="5427571867875391349">Chromium ਨੂੰ ਆਪਣੇ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਤੌਰ 'ਤੇ ਸੈੱਟ ਕਰੋ</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium ਬੀਟਾ</translation>
-<translation id="544968170749360982">ਤੁਸੀਂ <ph name="EXISTING_USER" /> ਦੀ ਜਗ੍ਹਾ 'ਤੇ ਨਵੇਂ ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕੀਤਾ। ਕੀ ਤੁਸੀਂ ਆਪਣੇ ਡਾਟੇ ਨੂੰ ਵੱਖਰਾ ਰੱਖਣ ਲਈ <ph name="NEW_USER" /> ਵਾਸਤੇ ਨਵੀਂ Chromium ਜਗ੍ਹਾ ਬਣਾਉਣੀ ਚਾਹੋਗੇ?</translation>
 <translation id="5479196819031988440">Chromium OS ਇਸ ਪੰਨੇ ਨੂੰ ਨਹੀਂ ਖੋਲ੍ਹ ਸਕਦਾ।</translation>
 <translation id="5480860683791598150">ਇਸ ਸਾਈਟ ਨਾਲ ਤੁਹਾਡਾ ਟਿਕਾਣਾ ਸਾਂਝਾ ਕਰਨ ਲਈ Chromium ਨੂੰ ਤੁਹਾਡੇ ਟਿਕਾਣੇ 'ਤੇ ਪਹੁੰਚ ਕਰਨ ਦੀ ਲੋੜ ਹੈ</translation>
 <translation id="549669000822060376">ਕਿਰਪਾ ਕਰਕੇ ਠਹਿਰੋ ਜਦੋਂ Chromium ਨਵੀਆਂ ਸਿਸਟਮ ਅਪਡੇਟਾਂ ਇੰਸਟੌਲ ਕਰ ਰਿਹਾ ਹੋਵੇ।</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chrome ਸਾਈਨ-ਇਨ ਕਰਨ ਵੇਲੇ ਇੱਕ ਗੜਬੜ ਹੋਣ ਕਾਰਨ ਤੁਹਾਡਾ ਡਾਟਾ ਸਿੰਕ ਨਹੀਂ ਹੋ ਸਕਿਆ।</translation>
 <translation id="6096348254544841612">Chromium ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰਕੇ ਕੰਟਰੋਲ ਕਰੋ। ਅੱਪਡੇਟ ਉਪਲਬਧ ਹੈ।</translation>
 <translation id="6120345080069858279">Chromium ਇਸ ਪਾਸਵਰਡ ਨੂੰ ਤੁਹਾਡੇ 'Google ਖਾਤੇ' ਵਿੱਚ ਰੱਖਿਅਤ ਕਰੇਗਾ। ਤੁਹਾਨੂੰ ਇਸਨੂੰ ਯਾਦ ਨਹੀਂ ਰੱਖਣਾ ਪਵੇਗਾ।</translation>
-<translation id="6128834065531097268">ਤੁਸੀਂ <ph name="EXISTING_USER" /> ਦੀ ਜਗ੍ਹਾ 'ਤੇ ਕਾਰਜ ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕੀਤਾ। ਕੀ ਤੁਸੀਂ ਆਪਣੇ ਡਾਟੇ ਨੂੰ ਵੱਖਰਾ ਰੱਖਣ ਲਈ <ph name="WORK_DOMAIN" /> ਵਾਸਤੇ ਨਵੀਂ Chromium ਜਗ੍ਹਾ ਬਣਾਉਣੀ ਚਾਹੋਗੇ?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> ਖਤਰਨਾਕ ਹੈ, ਇਸ ਲਈ Chromium ਨੇ ਇਸਨੂੰ ਬਲੌਕ ਕਰ ਦਿੱਤਾ ਹੈ।</translation>
 <translation id="6134968993075716475">ਸੁਰੱਖਿਅਤ ਬ੍ਰਾਊਜ਼ਿੰਗ ਬੰਦ ਹੈ। Chromium ਇਸਨੂੰ ਚਾਲੂ ਕਰਨ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ।</translation>
 <translation id="6212496753309875659">ਇਸ ਕੰਪਿਊਟਰ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ Chromium ਦਾ ਇੱਕ ਬਿਲਕੁਲ ਨਵਾਂ ਵਰਜਨ ਹੈ। ਜੇਕਰ ਸਾਫ਼ਟਵੇਅਰ ਕੰਮ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ Chromium ਨੂੰ ਅਣਸਥਾਪਤ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Chromium (<ph name="URL" />) ਤੋਂ ਵੀ ਡਾਟਾ ਕਲੀਅਰ ਕਰੋ</translation>
 <translation id="7585853947355360626">ਜੇ ਇਸ ਪੰਨੇ 'ਤੇ ਸੈਟਿੰਗ ਨਹੀਂ ਦਿਸਦੀ, ਤਾਂ ਆਪਣੀਆਂ <ph name="LINK_BEGIN" />
       Chromium OS ਸੈਟਿੰਗਾਂ<ph name="LINK_END" /> ਵਿੱਚ ਦੇਖੋ</translation>
-<translation id="7607142834923530546">ਤੁਸੀਂ ਕਾਰਜ ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕੀਤਾ। ਕੀ ਤੁਸੀਂ ਆਪਣੇ ਨਿੱਜੀ ਡਾਟੇ ਨੂੰ ਵੱਖਰਾ ਰੱਖਣ ਲਈ <ph name="NEW_USER" /> ਵਾਸਤੇ ਨਵੀਂ Chromium ਜਗ੍ਹਾ ਬਣਾਉਣੀ ਚਾਹੋਗੇ?</translation>
 <translation id="761356813943268536">Chromium ਤੁਹਾਡਾ ਕੈਮਰਾ ਅਤੇ ਮਾਈਕ੍ਰੋਫੋਨ ਵਰਤ ਰਿਹਾ ਹੈ।</translation>
 <translation id="7617377681829253106">Chromium ਬਿਹਤਰ ਬਣ ਗਿਆ ਹੈ</translation>
 <translation id="7628001322379820951">Chromium ਨੂੰ ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਵਿੱਚ ਹਾਨੀਕਾਰਕ ਸਾਫ਼ਟਵੇਅਰ ਲੱਭਿਆ ਹੈ</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">ਇਹ Chromium ਦੀ ਇੱਕ ਸੈਕੰਡਰੀ ਸਥਾਪਨਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਤੁਹਾਡਾ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਬ੍ਰਾਊਜ਼ਰ ਨਹੀਂ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।</translation>
 <translation id="7979877361127045932">Chromium ਮੀਨੂ ਵਿੱਚ ਲੁਕਾਓ</translation>
 <translation id="8013436988911883588">Chromium ਤੱਕ ਪਹੁੰਚ ਹੋਣ 'ਤੇ, ਵੈੱਬਸਾਈਟਾਂ ਤੁਹਾਨੂੰ ਪਹੁੰਚ ਲਈ ਪੁੱਛ ਸਕਣਗੀਆਂ।</translation>
-<translation id="8022442821873033760">ਆਪਣੇ ਨਵੇਂ Chromium ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ</translation>
 <translation id="81770708095080097">ਇਹ ਫ਼ਾਈਲ ਖਤਰਨਾਕ ਹੈ, ਇਸ ਲਈ Chromium ਨੇ ਇਸਨੂੰ ਬਲੌਕ ਕਰ ਦਿੱਤਾ ਹੈ।</translation>
 <translation id="8248265253516264921">ਜੇ ਕਿਸੇ ਚਿੱਤਰ ਦਾ ਲਾਭਕਾਰੀ ਵਰਣਨ ਨਹੀਂ ਹੈ, ਤਾਂ Chromium ਤੁਹਾਡੇ ਲਈ ਇੱਕ ਵਰਣਨ ਮੁਹੱਈਆ ਕਰਵਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੇਗਾ। ਵਰਣਨ ਬਣਾਉਣ ਲਈ, ਚਿੱਤਰ Google ਨੂੰ ਭੇਜੇ ਜਾਂਦੇ ਹਨ। ਤੁਸੀਂ ਕਿਸੇ ਵੇਲੇ ਵੀ ਇਸਨੂੰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਬੰਦ ਕਰ ਸਕਦੇ ਹੋ।</translation>
 <translation id="8266560134891435528">Chromium ਤੁਹਾਡੇ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ ਕਿਉਂਕਿ ਤੁਸੀਂ ਸਾਈਨ-ਇਨ ਨਹੀਂ ਕੀਤਾ ਹੈ</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium ਨੂੰ ਇੱਕ ਦਿਨ ਦੇ ਅੰਦਰ ਮੁੜ-ਲਾਂਚ ਕਰੋ}one{Chromium ਨੂੰ # ਦਿਨ ਦੇ ਅੰਦਰ ਮੁੜ-ਲਾਂਚ ਕਰੋ}other{Chromium ਨੂੰ # ਦਿਨਾਂ ਦੇ ਅੰਦਰ ਮੁੜ-ਲਾਂਚ ਕਰੋ}}</translation>
 <translation id="8453117565092476964">ਸਥਾਪਨਾਕਾਰ ਪੁਰਾਲੇਖ ਖਰਾਬ ਜਾਂ ਅਵੈਧ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ Chromium ਨੂੰ ਦੁਬਾਰਾ ਡਾਊਨਲੋਡ ਕਰੋ।</translation>
 <translation id="8493179195440786826">Chromium ਪੁਰਾਣਾ ਹੈ</translation>
-<translation id="8545858702702650646">ਆਪਣੀ Chromium Space ਚੁਣੋ</translation>
 <translation id="8558383651099478961">ਤੁਹਾਡੇ ਮਾਂ-ਪਿਓ ਨੇ Chromium ਲਈ "ਸਾਈਟਾਂ, ਐਪਾਂ ਅਤੇ ਐਕਸਟੈਂਸ਼ਨਾਂ ਲਈ ਇਜਾਜ਼ਤਾਂ" ਨੂੰ ਬੰਦ ਕਰ ਦਿੱਤਾ ਹੈ। ਇਸ <ph name="EXTENSION_TYPE_PARAMETER" /> ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।</translation>
 <translation id="8568283329061645092">ਤੁਹਾਡੇ ਵੱਲੋਂ ਆਪਣੇ Google ਖਾਤੇ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨ 'ਤੇ Chromium ਤੁਹਾਡੇ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦਾ ਹੈ</translation>
 <translation id="8586442755830160949">ਕਾਪੀਰਾਈਟ <ph name="YEAR" /> The Chromium Authors. ਸਾਰੇ ਹੱਕ ਰਾਖਵੇਂ ਹਨ।</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">ਤੁਹਾਡੇ ਸਿਸਟਮ ਪ੍ਰਸ਼ਾਸਕ ਨੇ <ph name="TARGET_URL_HOSTNAME" /> ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਵਾਸਤੇ ਕੋਈ ਵਿਕਲਪਿਕ ਬ੍ਰਾਊਜ਼ਰ ਖੋਲ੍ਹਣ ਲਈ Chromium ਦਾ ਸੰਰੂਪਣ ਕੀਤਾ ਹੈ।</translation>
 <translation id="9164845895615421500">Chromium ਹਫ਼ਤੇ ਵਿੱਚ ਇੱਕ ਵਾਰ ਅਣਚਾਹੇ ਸਾਫ਼ਟਵੇਅਰ ਲਈ ਜਾਂਚ ਕਰਦਾ ਹੈ। ਪਿਛਲੀ ਵਾਰ ਜਾਂਚ ਕੀਤੀ ਗਈ: ਕੁਝ ਸਮਾਂ ਪਹਿਲਾਂ।</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਆਪਣੀ ਬ੍ਰਾਊਜ਼ਿੰਗ ਨੂੰ ਵਿਵਸਥਿਤ ਰੱਖਣ ਲਈ Chromium Spaces ਵਰਤੋ</translation>
 <translation id="93478295209880648">ਸ਼ਾਇਦ Chromium ਠੀਕ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰੇ ਕਿਉਂਕਿ ਇਹ ਹੁਣ Windows XP ਜਾਂ Windows Vista 'ਤੇ ਕੰਮ ਨਹੀਂ ਕਰਦਾ ਹੈ</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> ਦੀ ਸ਼ਰਤ ਹੈ ਕਿ ਤੁਸੀਂ ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਵਰਤਣ ਤੋਂ ਪਹਿਲਾਂ ਅਨੁਸਰਣ ਦਿੱਤੀਆਂ ਸੇਵਾ ਦੀਆਂ ਮਦਾਂ ਪੜ੍ਹੋ ਅਤੇ ਸਵੀਕਾਰ ਕਰੋ। ਇਹ ਸ਼ਰਤਾਂ Chromium OS ਦੀਆਂ ਸ਼ਰਤਾਂ ਦਾ ਵਿਸਤਾਰ, ਸੰਸ਼ੋਧਨ ਨਹੀਂ ਕਰਦੀਆਂ ਜਾਂ ਇਹਨਾਂ ਨੂੰ ਸੀਮਿਤ ਨਹੀਂ ਕਰਦੀਆਂ।</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_pl.xtb b/chrome/app/resources/chromium_strings_pl.xtb
index e7ee575b..c4702f18 100644
--- a/chrome/app/resources/chromium_strings_pl.xtb
+++ b/chrome/app/resources/chromium_strings_pl.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Opcjonalnie: pomóż ulepszyć funkcje i działanie Systemu operacyjnego Chromium, automatycznie wysyłając do Google dane diagnostyczne i dane o korzystaniu.</translation>
 <translation id="2347108572062610441">To rozszerzenie ustawiło inną stronę wyświetlaną po uruchomieniu Chromium.</translation>
 <translation id="2396765026452590966">Rozszerzenie „<ph name="EXTENSION_NAME" />” ustawiło inną stronę wyświetlaną po uruchomieniu Chromium.</translation>
-<translation id="2442081746662839303">Utworzyć nowy profil Chromium dla użytkownika <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">W Chromium</translation>
 <translation id="2485422356828889247">Odinstaluj</translation>
 <translation id="2527042973354814951">Uruchom ponownie Chromium, by włączyć wtyczkę <ph name="PLUGIN_NAME" /></translation>
@@ -94,7 +93,6 @@
 <translation id="4677944499843243528">Wygląda na to, że profil jest używany przez inny proces Chromium (<ph name="PROCESS_ID" />) na innym komputerze (<ph name="HOST_NAME" />). Chromium zablokowało profil, by zapobiec jego uszkodzeniu. Jeśli masz pewność, że żadne inne procesy nie używają tego profilu, możesz go odblokować i ponownie uruchomić Chromium.</translation>
 <translation id="469338717132742108">Skorzystaj z pomocy dotyczącej systemu operacyjnego Chromium</translation>
 <translation id="4708774505295300557">Ktoś zalogował się wcześniej w Chromium na tym komputerze jako <ph name="ACCOUNT_EMAIL_LAST" />. Utwórz nowego użytkownika Chromium, by Twoje informacje były przechowywane oddzielnie.</translation>
-<translation id="4745225042341419983">Dane przeglądania przypisane do tego profilu zostaną usunięte z tego urządzenia. Aby je odzyskać, zaloguj się w Chromium jako</translation>
 <translation id="4746050847053251315">Zamknąć Chromium mimo to?</translation>
 <translation id="4748217263233248895">Właśnie została zastosowana specjalna aktualizacja zabezpieczeń Chromium. Uruchom ponownie Chromium teraz. Karty zostaną przywrócone.</translation>
 <translation id="4750035648288509542">Prawie gotowe! Uruchom Chromium ponownie, by ukończyć aktualizację. Okna incognito nie otworzą się ponownie.</translation>
@@ -104,7 +102,6 @@
 <translation id="4943838377383847465">Chromium jest w trybie działania w tle</translation>
 <translation id="4987820182225656817">Goście mogą korzystać z Chromium, nie pozostawiając żadnych danych.</translation>
 <translation id="4994636714258228724">Dodaj siebie do Chromium</translation>
-<translation id="5053724573690775822">Utworzyć nowy profil służbowy Chromium?</translation>
 <translation id="5224391634244552924">Brak zapisanych haseł. Chromium może sprawdzać Twoje hasła, gdy je zapiszesz.</translation>
 <translation id="5277894862589591112">Aby zastosować zmiany, uruchom ponownie Chromium</translation>
 <translation id="5358375970380395591">Logujesz się na zarządzane konto i przekazujesz jego administratorowi kontrolę nad swoim profilem Chromium. Twoje dane Chromium, takie jak aplikacje, zakładki, historia, hasła i inne ustawienia, zostaną trwale powiązane z użytkownikiem <ph name="USER_NAME" />. Będzie można je usunąć w Panelu kont Google, ale nie będzie można ich powiązać z innym kontem. <ph name="LEARN_MORE" /></translation>
@@ -114,7 +111,6 @@
 <translation id="5416696090975899932">Chromium nie może pokazać podglądu wydruku, gdy nie ma wbudowanej przeglądarki PDF.</translation>
 <translation id="5427571867875391349">Ustaw Chromium jako domyślną przeglądarkę</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">Używasz teraz nowego konta w profilu użytkownika <ph name="EXISTING_USER" />. Czy chcesz utworzyć nowy profil Chromium dla użytkownika <ph name="NEW_USER" />, by przechowywać swoje dane oddzielnie?</translation>
 <translation id="5479196819031988440">System operacyjny Chromium nie może otworzyć tej strony.</translation>
 <translation id="5480860683791598150">Chromium musi mieć dostęp do Twojej lokalizacji, by udostępnić ją tej stronie</translation>
 <translation id="549669000822060376">Poczekaj, aż Chromium zainstaluje najnowsze aktualizacje systemu.</translation>
@@ -137,7 +133,6 @@
 <translation id="608189560609172163">Chromium nie może zsynchronizować Twoich danych w związku z błędem logowania.</translation>
 <translation id="6096348254544841612">Dostosowywanie i kontrolowanie Chromium. Dostępna jest aktualizacja.</translation>
 <translation id="6120345080069858279">Chromium zapisze to hasło na Twoim koncie Google. Nie musisz go pamiętać.</translation>
-<translation id="6128834065531097268">Używasz konta do pracy w profilu użytkownika <ph name="EXISTING_USER" />. Czy chcesz utworzyć nowy profil Chromium dla domeny <ph name="WORK_DOMAIN" />, by przechowywać dane oddzielnie?</translation>
 <translation id="6129621093834146363">Plik <ph name="FILE_NAME" /> jest niebezpieczny, dlatego został zablokowany przez Chromium.</translation>
 <translation id="6134968993075716475">Bezpieczne przeglądanie jest wyłączone. Chromium zaleca jego włączenie.</translation>
 <translation id="6212496753309875659">Na tym komputerze jest już zainstalowana nowsza wersja Chromium. Jeśli program nie działa, odinstaluj go i spróbuj ponownie.</translation>
@@ -198,7 +193,6 @@
 <translation id="7549178288319965365">System operacyjny Chromium – informacje</translation>
 <translation id="7561906087460245826">Wyczyść też dane z Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Jeśli ustawienia nie widać na tej stronie, zajrzyj do <ph name="LINK_BEGIN" />ustawień systemu operacyjnego Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Używasz konta do pracy. Czy chcesz utworzyć nowy profil Chromium dla użytkownika <ph name="NEW_USER" />, by przechowywać swoje osobiste dane oddzielnie?</translation>
 <translation id="761356813943268536">Chromium używa Twojej kamery i mikrofonu.</translation>
 <translation id="7617377681829253106">Przeglądarka Chromium jest jeszcze lepsza</translation>
 <translation id="7628001322379820951">Przeglądarka Chromium znalazła na Twoim komputerze szkodliwe oprogramowanie</translation>
@@ -216,7 +210,6 @@
 <translation id="7975919845073681630">To jest druga instalacja Chromium. Nie można ustawić jej jako przeglądarki domyślnej.</translation>
 <translation id="7979877361127045932">Ukryj w menu Chromium</translation>
 <translation id="8013436988911883588">Gdy Chromium będzie mieć dostęp, strony będą mogły prosić Cię o dostęp.</translation>
-<translation id="8022442821873033760">Skonfiguruj nowy profil w Chromium</translation>
 <translation id="81770708095080097">Ten plik jest niebezpieczny, dlatego został zablokowany przez Chromium.</translation>
 <translation id="8248265253516264921">Jeśli obraz nie ma przydatnego opisu, Chromium spróbuje go dla Ciebie stworzyć. W tym celu obrazy zostaną wysłane do Google. W każdej chwili możesz wyłączyć tę funkcję w ustawieniach.</translation>
 <translation id="8266560134891435528">Chromium nie może sprawdzić haseł, jeśli się nie zalogujesz</translation>
@@ -227,7 +220,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Ponowne uruchomienie Chromium nastąpi w ciągu 1 dnia}few{Ponowne uruchomienie Chromium nastąpi w ciągu # dni}many{Ponowne uruchomienie Chromium nastąpi w ciągu # dni}other{Ponowne uruchomienie Chromium nastąpi w ciągu # dnia}}</translation>
 <translation id="8453117565092476964">Archiwum instalatora jest uszkodzone lub nieprawidłowe. Pobierz Chromium ponownie.</translation>
 <translation id="8493179195440786826">Chromium jest nieaktualny</translation>
-<translation id="8545858702702650646">Wybierz swój profil w Chromium</translation>
 <translation id="8558383651099478961">Rodzic wyłączył „Uprawnienia stron, aplikacji i rozszerzeń” dla Chromium. Dodanie elementu <ph name="EXTENSION_TYPE_PARAMETER" /> jest niedozwolone.</translation>
 <translation id="8568283329061645092">Chromium może sprawdzić Twoje hasła, gdy zalogujesz się na swoje konto Google</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Autorzy Chromium. Wszelkie prawa zastrzeżone.</translation>
@@ -253,7 +245,6 @@
 <translation id="9158494823179993217">Administrator systemu skonfigurował Chromium w taki sposób, by strona <ph name="TARGET_URL_HOSTNAME" /> otwierała się w alternatywnej przeglądarce.</translation>
 <translation id="9164845895615421500">Raz w tygodniu Chromium sprawdza, czy nie masz zainstalowanego niechcianego oprogramowania. Sprawdzano: przed chwilą.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Używaj profili w Chromium, by zachować porządek podczas przeglądania na tym urządzeniu</translation>
 <translation id="93478295209880648">Chromium może działać nieprawidłowo, bo nie jest już zgodny z Windows XP ani Windows Vista</translation>
 <translation id="95514773681268843">Domena <ph name="DOMAIN" /> wymaga, by przed korzystaniem z tego urządzenia przeczytać i zaakceptować Warunki korzystania z usługi. Nie rozszerzają, nie zmieniają ani nie ograniczają one Warunków korzystania z systemu Chromium OS.</translation>
 <translation id="985602178874221306">Autorzy Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-BR.xtb b/chrome/app/resources/chromium_strings_pt-BR.xtb
index c4a5c2c..2dc615c 100644
--- a/chrome/app/resources/chromium_strings_pt-BR.xtb
+++ b/chrome/app/resources/chromium_strings_pt-BR.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Opcional: ajude a melhorar os recursos e o desempenho do Chromium OS enviando automaticamente dados de uso e diagnóstico ao Google.</translation>
 <translation id="2347108572062610441">Esta extensão alterou a página que é exibida quando você inicia o Chromium.</translation>
 <translation id="2396765026452590966">A extensão "<ph name="EXTENSION_NAME" />" alterou a página que é exibida quando você inicia o Chromium.</translation>
-<translation id="2442081746662839303">Criar um novo espaço do Chromium para <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">No Chromium</translation>
 <translation id="2485422356828889247">Desinstalar</translation>
 <translation id="2527042973354814951">Reiniciar o Chromium para ativar o plug-in <ph name="PLUGIN_NAME" /></translation>
@@ -94,7 +93,6 @@
 <translation id="4677944499843243528">O perfil parece estar em uso por outro processo do Chromium (<ph name="PROCESS_ID" />) em outro computador (<ph name="HOST_NAME" />). O Chromium bloqueou o perfil para que ele não seja corrompido. Se você tiver certeza de que nenhum outro processo está usando este perfil, pode desbloquear o perfil e reiniciar o Chromium.</translation>
 <translation id="469338717132742108">Ajuda com o Chromium OS</translation>
 <translation id="4708774505295300557">Anteriormente, alguém fez login no Chromium neste computador como <ph name="ACCOUNT_EMAIL_LAST" />. Crie um novo usuário do Chromium para manter suas informações separadas.</translation>
-<translation id="4745225042341419983">Os dados de navegação desse espaço serão excluídos do dispositivo. Para recuperá-los, faça login no Chromium como</translation>
 <translation id="4746050847053251315">Sair do Chromium mesmo assim?</translation>
 <translation id="4748217263233248895">Uma atualização de segurança especial para o Chromium acabou de ser aplicada. Reinicie agora, e suas guias serão restauradas.</translation>
 <translation id="4750035648288509542">Falta pouco para a atualização terminar. Reinicie o Chromium para concluí-la. As janelas anônimas não serão abertas novamente.</translation>
@@ -104,7 +102,6 @@
 <translation id="4943838377383847465">O Chromium está em modo de segundo plano.</translation>
 <translation id="4987820182225656817">Convidados podem usar o Chromium sem deixar nada para trás.</translation>
 <translation id="4994636714258228724">Cadastrar-se no Chromium</translation>
-<translation id="5053724573690775822">Criar novo espaço de trabalho do Chromium?</translation>
 <translation id="5224391634244552924">Nenhuma senha salva. O Chromium poderá verificar suas senhas quando elas forem salvas.</translation>
 <translation id="5277894862589591112">Para que as alterações sejam aplicadas, reinicie o Chromium</translation>
 <translation id="5358375970380395591">Você está fazendo login com uma conta gerenciada e concedendo ao administrador da conta o controle sobre seu perfil do Chromium. Seus dados do Chromium, como aplicativos, favoritos, histórico, senhas e outras configurações serão permanentemente vinculados a <ph name="USER_NAME" />. Você pode excluir esses dados pelo painel das Contas do Google, mas não pode associá-los a outra conta. <ph name="LEARN_MORE" /></translation>
@@ -114,7 +111,6 @@
 <translation id="5416696090975899932">O Chromium não pode mostrar a visualização de impressão sem o visualizador de PDF integrado.</translation>
 <translation id="5427571867875391349">Definir o Chromium como seu navegador padrão</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" />: Chromium Beta</translation>
-<translation id="544968170749360982">Você fez login com uma nova conta no espaço de <ph name="EXISTING_USER" />. Quer criar um novo espaço do Chromium para <ph name="NEW_USER" /> e manter seus dados separados?</translation>
 <translation id="5479196819031988440">O Chromium OS não pode abrir essa página.</translation>
 <translation id="5480860683791598150">O Chromium precisa acessar seu local para compartilhá-lo com este site</translation>
 <translation id="549669000822060376">Aguarde enquanto o Chromium instala as últimas atualizações do sistema.</translation>
@@ -137,7 +133,6 @@
 <translation id="608189560609172163">O Chromium não pôde sincronizar seus dados devido a um erro ao fazer login.</translation>
 <translation id="6096348254544841612">Personalize e controle o Chromium. Uma atualização está disponível.</translation>
 <translation id="6120345080069858279">O Chromium salvará essa senha na sua Conta do Google. Você não precisará se lembrar dela.</translation>
-<translation id="6128834065531097268">Você fez login com uma conta de trabalho no espaço de <ph name="EXISTING_USER" />. Quer criar um novo espaço do Chromium para <ph name="WORK_DOMAIN" /> e manter seus dados separados?</translation>
 <translation id="6129621093834146363">O arquivo <ph name="FILE_NAME" /> é perigoso. Por isso ele foi bloqueado pelo Chromium.</translation>
 <translation id="6134968993075716475">O "Navegação segura" está desativado. O Chromium recomenda ativá-lo.</translation>
 <translation id="6212496753309875659">Este computador já tem uma versão mais recente do Chromium. Se o software não estiver funcionando, desinstale o Chromium e tente novamente.</translation>
@@ -194,7 +189,6 @@
 <translation id="7549178288319965365">Sobre o Chromium OS</translation>
 <translation id="7561906087460245826">Limpar também os dados do Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Se uma configuração não for exibida nesta página, verifique as <ph name="LINK_BEGIN" />configurações do Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Você fez login com uma conta de trabalho. Quer criar um novo espaço do Chromium para <ph name="NEW_USER" /> e manter seus dados pessoais separados?</translation>
 <translation id="761356813943268536">O Chromium está usando sua câmera e seu microfone.</translation>
 <translation id="7617377681829253106">O Chromium ficou ainda melhor</translation>
 <translation id="7628001322379820951">O Chromium encontrou um software nocivo no seu computador</translation>
@@ -212,7 +206,6 @@
 <translation id="7975919845073681630">Como esta é uma instalação secundária do Chromium, ele não pode se tornar seu navegador padrão.</translation>
 <translation id="7979877361127045932">Esconder no menu do Chromium</translation>
 <translation id="8013436988911883588">Assim que o Chromium tiver acesso, os sites poderão solicitar acesso.</translation>
-<translation id="8022442821873033760">Configure seu novo Chromium Space</translation>
 <translation id="81770708095080097">Esse arquivo é perigoso, por isso ele foi bloqueado pelo Chromium.</translation>
 <translation id="8248265253516264921">Se uma imagem não tiver uma descrição útil, o Chromium tentará fornecer uma para você. As imagens serão enviadas ao Google para a criação de descrições. É possível desativar essa opção nas configurações a qualquer momento.</translation>
 <translation id="8266560134891435528">O Chromium não pode verificar suas senhas porque a conta não está conectada</translation>
@@ -223,7 +216,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Reiniciar o Chromium em 1 dia}one{Reiniciar o Chromium em # dia}other{Reiniciar o Chromium em # dias}}</translation>
 <translation id="8453117565092476964">O arquivo de instalação está corrompido ou não é válido. Faça o download do Chromium novamente.</translation>
 <translation id="8493179195440786826">O Chromium está desatualizado</translation>
-<translation id="8545858702702650646">Escolha seu Chromium Space</translation>
 <translation id="8558383651099478961">Seu pai/mãe desativou "Permissões para sites, apps e extensões" no Chromium. Não é permitido adicionar <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">O Chromium pode verificar suas senhas quando você faz login com sua Conta do Google</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Autores do Chromium. Todos os direitos reservados.</translation>
@@ -249,7 +241,6 @@
 <translation id="9158494823179993217">O administrador do seu sistema configurou o Chromium para abrir um navegador alternativo ao acessar <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">O Chromium verifica se há softwares indesejados uma vez por semana. Última verificação: há alguns segundos.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Use os Chromium Spaces para organizar sua navegação neste dispositivo</translation>
 <translation id="93478295209880648">É possível que o Chromium não funcione corretamente, porque ele não é mais compatível com o Windows XP ou Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> requer que você leia e aceite os Termos de Serviço a seguir antes de utilizar o serviço. Esses termos não ampliam, modificam nem limitam os Termos do Chromium OS.</translation>
 <translation id="985602178874221306">Autores do Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-PT.xtb b/chrome/app/resources/chromium_strings_pt-PT.xtb
index eaf4b6ae..6663130 100644
--- a/chrome/app/resources/chromium_strings_pt-PT.xtb
+++ b/chrome/app/resources/chromium_strings_pt-PT.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Opcional: ajudar a melhorar as funcionalidades e o desempenho do Chromium OS ao enviar automaticamente dados de diagnóstico e de utilização para a Google.</translation>
 <translation id="2347108572062610441">Esta extensão alterou a página apresentada quando inicia o Chromium.</translation>
 <translation id="2396765026452590966">A extensão "<ph name="EXTENSION_NAME" />" alterou a página apresentada quando inicia o Chromium.</translation>
-<translation id="2442081746662839303">Pretende criar um novo espaço do Chromium para <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">No Chromium</translation>
 <translation id="2485422356828889247">Desinstalar</translation>
 <translation id="2527042973354814951">Reinicie o Chromium para ativar o <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">O perfil parece estar a ser utilizado por outro processo do Chromium (<ph name="PROCESS_ID" />) noutro computador (<ph name="HOST_NAME" />). O Chromium bloqueou o perfil para que não seja danificado. Se tiver a certeza de que não existem outros processos a utilizar este perfil, pode desbloqueá-lo e reiniciar o Chromium.</translation>
 <translation id="469338717132742108">Obter ajuda relacionada com o SO Chromium</translation>
 <translation id="4708774505295300557">Alguém iniciou sessão no Chromium neste computador anteriormente com a conta <ph name="ACCOUNT_EMAIL_LAST" />. Crie um novo utilizador do Chromium para manter as informações em separado.</translation>
-<translation id="4745225042341419983">Os dados de navegação deste espaço serão eliminados deste dispositivo. Para recuperar os dados, inicie sessão no Chromium como</translation>
 <translation id="4746050847053251315">Pretende fechar o Chromium mesmo assim?</translation>
 <translation id="4748217263233248895">Acabou de ser instalada uma atualização de segurança especial para o Chromium. Reinicie agora e iremos restaurar os seus separadores.</translation>
 <translation id="4750035648288509542">Quase atualizado! Reinicie o Chromium para concluir a atualização. Não é possível reabrir as suas janelas de navegação anónima.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">O Chromium está no modo em segundo plano.</translation>
 <translation id="4987820182225656817">Os convidados podem utilizar o Chromium sem perder qualquer funcionalidade.</translation>
 <translation id="4994636714258228724">Adicionar-se ao Chromium</translation>
-<translation id="5053724573690775822">Pretende criar um novo espaço de trabalho do Chromium?</translation>
 <translation id="5224391634244552924">Não existem palavras-passe guardadas. O Chromium consegue verificar as suas palavras-passe quando as guarda.</translation>
 <translation id="5277894862589591112">Para aplicar as alterações, reinicie o Chromium.</translation>
 <translation id="5358375970380395591">Está a iniciar sessão com uma conta gerida e a permitir que o gestor controle o seu perfil do Chromium. Os seus dados do Chromium, como aplicações, marcadores, histórico, palavras-passe e outras definições, ficarão associados definitivamente a <ph name="USER_NAME" />. Poderá eliminar estes dados através do Painel de Controlo das Contas Google, mas não poderá associá-los a outra conta. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">O Chromium não pode apresentar a pré-visualização de impressão com o visualizador de PDFs incorporado em falta.</translation>
 <translation id="5427571867875391349">Definir o Chromium como o seu navegador predefinido</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">Iniciou sessão com uma nova conta no espaço de <ph name="EXISTING_USER" />. Pretende criar um novo espaço do Chromium para <ph name="NEW_USER" /> para manter os seus dados separados?</translation>
 <translation id="5479196819031988440">O SO Chromium não consegue abrir esta página.</translation>
 <translation id="5480860683791598150">O Chromium necessita de aceder à sua localização para a partilhar com este site.</translation>
 <translation id="549669000822060376">Aguarde até que o Chromium instale as atualizações do sistema mais recentes.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">O Chromium não conseguiu sincronizar os dados devido a um erro de início de sessão.</translation>
 <translation id="6096348254544841612">Personalize e controle o Chromium. Está disponível uma atualização.</translation>
 <translation id="6120345080069858279">O Chromium vai guardar esta palavra-passe na sua Conta Google. Não tem de a memorizar.</translation>
-<translation id="6128834065531097268">Iniciou sessão com uma conta profissional no espaço de <ph name="EXISTING_USER" />. Pretende criar um novo espaço do Chromium para o domínio <ph name="WORK_DOMAIN" /> para manter os seus dados separados?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> é perigoso, por isso o Chromium bloqueou-o.</translation>
 <translation id="6134968993075716475">A Navegação segura está desativada. O Chromium recomenda que a ative.</translation>
 <translation id="6212496753309875659">Este computador já tem uma versão mais recente do Chromium. Se o software não estiver a funcionar, desinstale o Chromium e tente novamente.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Limpar também os dados do Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Se não encontrar uma definição nesta página, procure nas <ph name="LINK_BEGIN" />
       Definições do Chromium OS<ph name="LINK_END" />.</translation>
-<translation id="7607142834923530546">Iniciou sessão com uma conta profissional. Pretende criar um novo espaço do Chromium para <ph name="NEW_USER" /> para manter os seus dados pessoais separados?</translation>
 <translation id="761356813943268536">O Chromium está a utilizar a câmara e o microfone.</translation>
 <translation id="7617377681829253106">O Chromium está ainda melhor</translation>
 <translation id="7628001322379820951">O Chromium encontrou software prejudicial no seu computador.</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Esta é uma instalação secundária do Chromium, pelo que não pode tornar-se o navegador predefinido.</translation>
 <translation id="7979877361127045932">Ocultar no menu do Chromium</translation>
 <translation id="8013436988911883588">Assim que o Chromium tiver acesso, os Websites poderão solicitar-lhe o acesso.</translation>
-<translation id="8022442821873033760">Configure o seu novo Espaço do Chromium</translation>
 <translation id="81770708095080097">Este ficheiro é perigoso. Como tal, o Chromium bloqueou-o.</translation>
 <translation id="8248265253516264921">Se uma imagem não tiver uma descrição útil, o Chromium tenta fornecer uma. Para criar as descrições, são enviadas imagens para a Google. Pode desativar esta opção nas definições em qualquer altura.</translation>
 <translation id="8266560134891435528">O Chromium não consegue verificar as suas palavras-passe porque não tem sessão iniciada.</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Reinicie o Chromium dentro de um dia}other{Reinicie o Chromium dentro de # dias}}</translation>
 <translation id="8453117565092476964">O arquivo do programa de instalação está corrompido ou não é válido. Descarregue novamente o Chromium.</translation>
 <translation id="8493179195440786826">O Chromium Está Desatualizado</translation>
-<translation id="8545858702702650646">Escolha o seu Espaço do Chromium</translation>
 <translation id="8558383651099478961">O teu pai/mãe desativou as "Autorizações para sites, apps e extensões" para o Chromium. Não é permitido adicionar esta <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">O Chromium pode verificar as suas palavras-passe quando inicia sessão com a sua Conta Google.</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Os autores do Chromium. Todos os direitos reservados.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">O administrador do sistema configurou o Chromium para abrir um navegador alternativo, de modo a aceder a <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">O Chromium verifica a existência de software indesejável uma vez por semana. Última verificação: há uns momentos.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Utilize os Espaços do Chromium para manter a sua navegação organizada neste dispositivo</translation>
 <translation id="93478295209880648">O Chromium pode não funcionar corretamente, uma vez que já não é suportado no Windows XP ou no Windows Vista.</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> obriga-o a ler e aceitar os seguintes Termos de Utilização antes de utilizar este dispositivo. Estes termos não ampliam, modificam nem limitam os Termos do SO Chromium.</translation>
 <translation id="985602178874221306">Os Autores do Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_ro.xtb b/chrome/app/resources/chromium_strings_ro.xtb
index 4777d3c..dd66ae3 100644
--- a/chrome/app/resources/chromium_strings_ro.xtb
+++ b/chrome/app/resources/chromium_strings_ro.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Opțional: contribuie la îmbunătățirea funcțiilor și a performanței sistemului de operare Chromium, trimițând automat date de diagnosticare și de utilizare la Google.</translation>
 <translation id="2347108572062610441">Această extensie a modificat ce pagină se afișează când pornești Chromium.</translation>
 <translation id="2396765026452590966">Extensia „<ph name="EXTENSION_NAME" />” a modificat ce pagină se afișează când pornești Chromium.</translation>
-<translation id="2442081746662839303">Creezi un spațiu în Chromium pentru <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">În Chromium</translation>
 <translation id="2485422356828889247">Dezinstalează</translation>
 <translation id="2527042973354814951">Repornește Chromium pentru a activa <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Profilul pare să fie utilizat de alt proces Chromium (<ph name="PROCESS_ID" />), pe alt computer (<ph name="HOST_NAME" />). Chromium a blocat profilul pentru a nu se deteriora. Dacă aveți certitudinea că profilul nu este utilizat de alte procese, puteți să îl deblocați și să relansați Chromium.</translation>
 <translation id="469338717132742108">Obține ajutor privind sistemul de operare Chromium</translation>
 <translation id="4708774505295300557">Un alt utilizator s-a conectat anterior la Chromium pe acest computer ca <ph name="ACCOUNT_EMAIL_LAST" />. Creează un nou utilizator Chromium pentru a-ți păstra separat datele.</translation>
-<translation id="4745225042341419983">Datele de navigare din acest spațiu vor fi șterse de pe dispozitiv. Pentru a recupera datele, conectează-te la Chromium ca</translation>
 <translation id="4746050847053251315">Ieși din Chromium oricum?</translation>
 <translation id="4748217263233248895">Tocmai a fost aplicată o actualizare de securitate specială pentru Chromium. Repornește acum, iar filele vor fi restabilite.</translation>
 <translation id="4750035648288509542">Actualizarea este aproape gata! Relansează Chromium pentru a finaliza actualizarea. Ferestrele incognito nu se vor redeschide.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium este în modul fundal.</translation>
 <translation id="4987820182225656817">Invitații pot folosi Chromium fără a lăsa nicio urmă.</translation>
 <translation id="4994636714258228724">Adăugați-vă la Chromium</translation>
-<translation id="5053724573690775822">Creezi un spațiu de lucru în Chromium?</translation>
 <translation id="5224391634244552924">Nu există parole salvate. Chromium îți poate verifica parolele dacă le salvezi.</translation>
 <translation id="5277894862589591112">Pentru a aplica modificările, relansează Chromium</translation>
 <translation id="5358375970380395591">Vă conectați cu un cont gestionat și îi permiteți administratorului acestuia controlul asupra profilului dvs. Chromium. Datele Chromium, cum ar fi aplicațiile, marcajele, istoricul, parolele și alte setări vor fi asociate definitiv cu <ph name="USER_NAME" />. Veți putea să ștergeți aceste date prin intermediul Tabloului de bord pentru Conturi Google, însă nu veți putea să asociați aceste date cu alt cont. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium nu poate afișa previzualizarea înainte de printare când vizualizatorul PDF încorporat lipsește.</translation>
 <translation id="5427571867875391349">Setați Chromium ca browser prestabilit</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">Te-ai conectat cu un cont de serviciu la spațiul utilizatorului <ph name="EXISTING_USER" />. Vrei să creezi un spațiu în Chromium pentru <ph name="NEW_USER" /> ca să păstrezi datele separat?</translation>
 <translation id="5479196819031988440">Sistemul de operare Chromium nu poate deschide pagina.</translation>
 <translation id="5480860683791598150">Chromium are nevoie de acces la locația ta ca să permită accesul la locație pentru acest site</translation>
 <translation id="549669000822060376">Așteaptă până când Chromium instalează cele mai recente actualizări de sistem.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium nu a putut sincroniza datele din cauza unei erori la conectare.</translation>
 <translation id="6096348254544841612">Personalizează și controlează Chromium. Este disponibilă o actualizare.</translation>
 <translation id="6120345080069858279">Chromium va salva parola în Contul tău Google. Nu va trebui să o reții.</translation>
-<translation id="6128834065531097268">Te-ai conectat cu un cont de serviciu la spațiul utilizatorului <ph name="EXISTING_USER" />. Vrei să creezi un spațiu în Chromium pentru <ph name="WORK_DOMAIN" /> ca să păstrezi datele separat?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> este periculos, așadar Chromium l-a blocat.</translation>
 <translation id="6134968993075716475">Navigarea sigură este dezactivată. Chromium îți recomandă s-o activezi.</translation>
 <translation id="6212496753309875659">Acest computer are deja o versiune mai recentă de Chromium. Dacă software-ul nu funcționează, dezinstalați Chromium și încercați din nou.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Șterge și datele din Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Dacă o setare nu apare în pagină, încearcă <ph name="LINK_BEGIN" />
     setările sistemului de operare Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Te-ai conectat cu un cont de serviciu. Vrei să creezi un spațiu în Chromium pentru <ph name="NEW_USER" /> ca să păstrezi datele cu caracter personal separat?</translation>
 <translation id="761356813943268536">Chromium utilizează camera foto și microfonul.</translation>
 <translation id="7617377681829253106">Chromium a devenit și mai bun</translation>
 <translation id="7628001322379820951">Chromium a găsit software dăunător pe computer</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Aceasta este o instalare secundară a browserului Chromium și nu poate fi setat ca browser prestabilit.</translation>
 <translation id="7979877361127045932">Ascunde în meniul Chromium</translation>
 <translation id="8013436988911883588">Odată ce Chromium are acces, site-urile web îți vor putea solicita accesul.</translation>
-<translation id="8022442821873033760">Configurează noul spațiu din Chromium</translation>
 <translation id="81770708095080097">Fișierul este periculos, așadar Chromium l-a blocat.</translation>
 <translation id="8248265253516264921">Dacă o imagine nu are o descriere utilă, Chromium va încerca să o completeze. Pentru a crea descrieri, imaginile sunt trimise la Google. Poți dezactiva această opțiune oricând din setări.</translation>
 <translation id="8266560134891435528">Chromium nu îți poate verifica parolele, deoarece nu te-ai conectat</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Relansează Chromium în cel mult o zi}few{Relansează Chromium în cel mult # zile}other{Relansează Chromium în cel mult # de zile}}</translation>
 <translation id="8453117565092476964">Arhiva programului de instalare este deteriorată sau nevalidă. Descărcați din nou Chromium.</translation>
 <translation id="8493179195440786826">Chromium nu este actualizat</translation>
-<translation id="8545858702702650646">Alege spațiul tău din Chromium</translation>
 <translation id="8558383651099478961">Părintele tău a dezactivat opțiunea „Permisiuni pentru site-uri, aplicații și extensii” în Chromium. Adăugarea acestei <ph name="EXTENSION_TYPE_PARAMETER" /> nu este permisă.</translation>
 <translation id="8568283329061645092">Chromium poate să îți verifice parolele atunci când te conectezi folosind Contul Google</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. Toate drepturile rezervate.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Administratorul de sistem a configurat Chromium să deschidă un browser secundar pentru a accesa <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium verifică dacă există software nedorit o dată pe săptămână. Ultima verificare: acum câteva clipe.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Folosește spațiile din Chromium pentru a organiza activitatea de navigare pe acest dispozitiv</translation>
 <translation id="93478295209880648">Este posibil ca Chromium să nu funcționeze corespunzător, deoarece nu mai este acceptat pe Windows XP sau Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> necesită să citiți și să acceptați Termenii și condițiile următoare înainte de a utiliza acest dispozitiv. Acești termeni nu extind, nu modifică și nu limitează Termenii pentru sistemul de operare Chromium.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_ru.xtb b/chrome/app/resources/chromium_strings_ru.xtb
index 795a601..bc7797f 100644
--- a/chrome/app/resources/chromium_strings_ru.xtb
+++ b/chrome/app/resources/chromium_strings_ru.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Автоматически отправлять данные об использовании и диагностике в Google, чтобы помогать нам повышать производительность и улучшать функции Chromium OS (необязательно)</translation>
 <translation id="2347108572062610441">Расширение изменило стартовую страницу Chromium.</translation>
 <translation id="2396765026452590966">Расширение "<ph name="EXTENSION_NAME" />" изменило стартовую страницу Chromium.</translation>
-<translation id="2442081746662839303">Создать профиль Chromium для нового пользователя (<ph name="NEW_USER" />)?</translation>
 <translation id="2483889755041906834">В Chromium</translation>
 <translation id="2485422356828889247">Удалить</translation>
 <translation id="2527042973354814951">Перезапустите Chromium, чтобы включить плагин "<ph name="PLUGIN_NAME" />"</translation>
@@ -94,7 +93,6 @@
 <translation id="4677944499843243528">Скорее всего, профиль используется другим процессом Chromium (<ph name="PROCESS_ID" />) на другом компьютере (<ph name="HOST_NAME" />). Во избежание сбоев профиль был заблокирован. Если вы уверены, что профиль не используется другими процессами, разблокируйте его и перезапустите Chromium.</translation>
 <translation id="469338717132742108">Справка Chromium OS</translation>
 <translation id="4708774505295300557">Ранее вход в Chromium на этом компьютере выполнялся из аккаунта <ph name="ACCOUNT_EMAIL_LAST" />. Чтобы ваши данные хранились отдельно, создайте новый профиль Chromium.</translation>
-<translation id="4745225042341419983">Связанные с этим профилем данные о работе в браузере будут удалены с устройства. Чтобы восстановить их, войдите в Chromium как</translation>
 <translation id="4746050847053251315">Завершить работу Chromium?</translation>
 <translation id="4748217263233248895">Установлено специальное обновление системы безопасности. Перезапустите Chromium (все вкладки будут восстановлены).</translation>
 <translation id="4750035648288509542">Почти готово! Чтобы завершить обновление, перезапустите Chromium. Окна в режиме инкогнито не будут открыты повторно.</translation>
@@ -104,7 +102,6 @@
 <translation id="4943838377383847465">Chromium работает в фоновом режиме</translation>
 <translation id="4987820182225656817">Используйте Chromium в гостевом режиме, если не хотите сохранять данные о посещенных сайтах.</translation>
 <translation id="4994636714258228724">Добавить пользователя Chromium</translation>
-<translation id="5053724573690775822">Создать рабочий профиль Chromium?</translation>
 <translation id="5224391634244552924">Сохраненных паролей нет. Чтобы браузер Chromium мог проверять пароли, сохраните их.</translation>
 <translation id="5277894862589591112">Чтобы изменения вступили в силу, перезапустите Chromium.</translation>
 <translation id="5358375970380395591">Выполнив вход в управляемый аккаунт, вы предоставляете администратору право контролировать настройки вашего профиля Chromium. Ваши данные Chromium (приложения, закладки, история, пароли и другие настройки) будут временно связаны с аккаунтом <ph name="USER_NAME" />. Эти данные можно удалить в Личном кабинете Google, но их нельзя связать с другим аккаунтом. <ph name="LEARN_MORE" /></translation>
@@ -114,7 +111,6 @@
 <translation id="5416696090975899932">Если отсутствует встроенная программа для работы с PDF-файлами, предварительный просмотр в Chromium невозможен.</translation>
 <translation id="5427571867875391349">Сделать Chromium браузером по умолчанию</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium (бета-версия)</translation>
-<translation id="544968170749360982">Вы вошли в новый аккаунт в профиле этого пользователя: <ph name="EXISTING_USER" />. Хотите создать для нового пользователя (<ph name="NEW_USER" />) отдельный профиль Chromium?</translation>
 <translation id="5479196819031988440">Chromium OS не может открыть эту страницу</translation>
 <translation id="5480860683791598150">Для этого сайта Chromium запрашивает доступ к данным о вашем местоположении.</translation>
 <translation id="549669000822060376">Подождите, пока Chromium устанавливает последние обновления системы</translation>
@@ -137,7 +133,6 @@
 <translation id="608189560609172163">Chromium не удалось синхронизировать данные из-за ошибки входа в систему.</translation>
 <translation id="6096348254544841612">Новая версия Chromium уже вышла!</translation>
 <translation id="6120345080069858279">Этот пароль будет сохранен в аккаунте Google. Вам не нужно его запоминать.</translation>
-<translation id="6128834065531097268">Вы вошли в рабочий аккаунт в профиле этого пользователя: <ph name="EXISTING_USER" />. Хотите создать для <ph name="WORK_DOMAIN" /> отдельный профиль Chromium?</translation>
 <translation id="6129621093834146363">Chromium заблокировал файл <ph name="FILE_NAME" /> как опасный.</translation>
 <translation id="6134968993075716475">Безопасный просмотр отключен. Chromium рекомендует включить его.</translation>
 <translation id="6212496753309875659">На этом компьютере установлена актуальная версия Chromium. Если программа не работает, удалите Chromium и повторите попытку.</translation>
@@ -196,7 +191,6 @@
 <translation id="7549178288319965365">О Chromium OS</translation>
 <translation id="7561906087460245826">Также удалить данные из Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Если нужного параметра нет на этой странице, откройте <ph name="LINK_BEGIN" />настройки Chromium OS<ph name="LINK_END" />.</translation>
-<translation id="7607142834923530546">Вы вошли в рабочий аккаунт. Хотите создать для нового пользователя (<ph name="NEW_USER" />) отдельный личный профиль Chromium?</translation>
 <translation id="761356813943268536">Chromium использует камеру и микрофон.</translation>
 <translation id="7617377681829253106">Chromium становится все лучше</translation>
 <translation id="7628001322379820951">Браузер Chromium обнаружил на вашем компьютере вредоносное ПО.</translation>
@@ -214,7 +208,6 @@
 <translation id="7975919845073681630">Это дополнительная установка Chromium. Его нельзя сделать браузером по умолчанию.</translation>
 <translation id="7979877361127045932">Не показывать в меню Chromium</translation>
 <translation id="8013436988911883588">Когда вы предоставите доступ Chromium, веб-сайты также смогут запрашивать у вас доступ.</translation>
-<translation id="8022442821873033760">Настройте новый профиль Chromium</translation>
 <translation id="81770708095080097">Chromium заблокировал этот файл как опасный.</translation>
 <translation id="8248265253516264921">Если у изображения нет понятного описания, Chromium попытается его найти. Для создания описаний изображения отправляются в Google. Эту функцию можно отключить в настройках в любое время.</translation>
 <translation id="8266560134891435528">Не удается запустить проверку паролей в Chromium, поскольку вы не вошли в аккаунт.</translation>
@@ -225,7 +218,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Перезапустите Chromium в течение дня}one{Перезапустите Chromium в течение # дня}few{Перезапустите Chromium в течение # дней}many{Перезапустите Chromium в течение # дней}other{Перезапустите Chromium в течение # дня}}</translation>
 <translation id="8453117565092476964">Установочный архив поврежден. Скачайте Chromium ещё раз.</translation>
 <translation id="8493179195440786826">Версия Chromium устарела</translation>
-<translation id="8545858702702650646">Выберите профиль Chromium</translation>
 <translation id="8558383651099478961">Родители отключили в Chromium параметр "Разрешения для сайтов, приложений и расширений". Добавлять это <ph name="EXTENSION_TYPE_PARAMETER" /> запрещено.</translation>
 <translation id="8568283329061645092">Chromium проверит ваши пароли, когда вы войдете в аккаунт Google.</translation>
 <translation id="8586442755830160949">© The Chromium Authors, <ph name="YEAR" /> . Все права защищены.</translation>
@@ -251,7 +243,6 @@
 <translation id="9158494823179993217">Ваш системный администратор задал настройки, согласно которым Chromium должен запускать альтернативный браузер для доступа к сайту <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium проверяет наличие нежелательного ПО раз в неделю. Последняя проверка: только что.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Используйте профили Chromium на этом устройстве, чтобы работать в браузере было удобнее.</translation>
 <translation id="93478295209880648">В работе Chromium могут возникать сбои, так как браузер больше не поддерживает Windows XP и Windows Vista.</translation>
 <translation id="95514773681268843">Прежде чем приступать к работе, ознакомьтесь с Условиями использования на сайте <ph name="DOMAIN" /> и примите их. Эти условия не дополняют, не заменяют и не ограничивают Условий использования Chromium OS.</translation>
 <translation id="985602178874221306">Авторы Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_si.xtb b/chrome/app/resources/chromium_strings_si.xtb
index 0d5262bde..9264dfe 100644
--- a/chrome/app/resources/chromium_strings_si.xtb
+++ b/chrome/app/resources/chromium_strings_si.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">විකල්පමය: Google වෙත දෝෂහරණ සහ භාවිතයේ දත්ත ස්වයංක්‍රීයව යැවීමෙන් Chromium OS විශේෂාංග සහ ක්‍රියාකාරිත්වය වැඩි දියුණු කිරීමට උදවු කරන්න.</translation>
 <translation id="2347108572062610441">මෙම දිගුව විසින් ඔබ Chromium ආරම්භ කරන විට පෙන්වන පිටුව වෙනස් කර ඇත.</translation>
 <translation id="2396765026452590966">"<ph name="EXTENSION_NAME" />" දිගුව විසින් ඔබ Chromium ආරම්භ කරන විට පෙන්වන පිටුව වෙනස් කර ඇත.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> සඳහා නව Chromium ඉඩක් තනන්නද?</translation>
 <translation id="2483889755041906834">Chromium තුළ</translation>
 <translation id="2485422356828889247">අස්ථාපනය</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> සබල කිරීමට Chromium යළි අරඹන්න</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">මෙමපැතිකඩ වෙනත් Chromium ක්‍රියාවලියක් (<ph name="PROCESS_ID" />) වෙනත් පරිගණකයක් (<ph name="HOST_NAME" />) මට සිදු කරයි. Chromium විසින් පැතිකඩ දූශිත වීම වැලැක්වීම සඳහා එය අගුළු ලා ඇත. ඔබට වෙනත් ක්‍රියාවලියක් ඔබේ පැතිකඩ භාවිත නොකරන බව විශ්වාස නම්, ඔබට පැතිකඩ අගුළු හැර Chromium නැවත දියත් කළ හැක.</translation>
 <translation id="469338717132742108">Chromium OS සමගින් උදවු ලබා ගන්න</translation>
 <translation id="4708774505295300557">යම් කෙනෙක් පෙරදී මෙම පරිගණකය මත Chromium වෙත <ph name="ACCOUNT_EMAIL_LAST" /> ලෙස පුරා ඇත. ඔබේ තොරතුරු වෙනම තබා ගැනීමට කරුණාකර නව Chromium පරිශීලකයෙක් සාදන්න.</translation>
-<translation id="4745225042341419983">මෙම ඉඩෙහි බ්‍රවුස් කිරීමේ දත්ත මෙම උපාංගයෙන් මකනු ඇත. දත්ත ප්‍රතිසාධනය කිරීමට, Chromium වෙත පුරන්න</translation>
 <translation id="4746050847053251315">කෙසේ වුවත් Chromium වෙතින් ඉවත් වන්න ද?</translation>
 <translation id="4748217263233248895">Chromium සඳහා විශේෂ ආරක්‍ෂක යාවත්කාලීනයක් දැන් යොදා ගත්තා. දැන් යළි අරඹන්න, අපි ඔබේ පටිති ප්‍රතිසාධන කරන්නම්.</translation>
 <translation id="4750035648288509542">බොහෝ දුරට යාවත්කාලීනයි! යාවත්කාලීනය අවසන් කිරීමට Chromium යළි දියත් කරන්න. අප්‍රසිද්ධ කවුළු යළි විවෘත නොවෙයි.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium පසුබිම් ප්‍රකාරය තුළ ඇත.</translation>
 <translation id="4987820182225656817">අමුත්තන්ට කිසිවක් තබා යෑමෙන් තොරව Chromium භාවිත කළ හැක.</translation>
 <translation id="4994636714258228724">ඔබව Chromium වෙත එක් කරන්න</translation>
-<translation id="5053724573690775822">නව Chromium වැඩ ඉඩක් තනන්නද?</translation>
 <translation id="5224391634244552924">සුරැකි මුරපද නැත. ඔබ ඔබේ මුරපද පරීක්‍ෂා කරන විට Chromium හට ඒවා පරීක්‍ෂා කළ හැක.</translation>
 <translation id="5277894862589591112">ඔබේ වෙනස්කම් යෙදීමට, Chromium නැවත දියත් කරන්න</translation>
 <translation id="5358375970380395591">ඔබ කළමනාකරණය කළ ගිණුමක් සමගින් පුරමින් සිටින අතර ඔබේ Chromium පැතිකඩට වැඩියෙන් එහි පරිපාලක පාලනය ලබා දෙමින් සිටී. යෙදුම්, පිටු සලකුණු, ඉතිහාසය, රහස්වචන, සහ අනෙකුත් සැකසුම් වැනි ඔබේ Chromium දත්ත ස්ථිරවම <ph name="USER_NAME" /> වෙත බැඳෙනු ඇත. Google ගිණුම් පසුරු පුවරුව හරහා මෙම දත්ත මැකීමට ඔබට හැකි වනු ඇත, නමුත් ඔබට මෙම දත්ත වෙනත් ගිණුමක් සමඟ සම්බන්ධ කළ නොහැකි වනු ඇත. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">තිළැලි PDF දර්ශකය නොමැති විට Chromium හට මුද්‍රණ පෙරදසුන පෙන්විය නොහැක.</translation>
 <translation id="5427571867875391349">Chromium ඔබේ පෙරනිමි බ්‍රව්සරය ලෙස සකසන්න</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium බීටා</translation>
-<translation id="544968170749360982">ඔබ <ph name="EXISTING_USER" />ගේ ඉඩ තුළ නව ගිණුමක් සමගින් පුරා ඇත. ඔබ ඔබගේ දත්ත වෙන්ව තබා ගැනීමට <ph name="NEW_USER" /> සඳහා නව Chromium ඉඩක් තැනීමට කැමතිද?</translation>
 <translation id="5479196819031988440">Chromium OS හට මෙම පිටුව විවෘත කළ නොහැකිය.</translation>
 <translation id="5480860683791598150">Chromium හට මෙම අඩවිය සමඟ ඔබේ ස්ථානය බෙදා ගැනීමට ඔබේ ස්ථානයට ප්‍රවේශය අවශ්‍යයි</translation>
 <translation id="549669000822060376">කරුණාකර Chromium නවතම පද්ධති යාවත්කාලීන ස්ථාපනය කරන අතරතුර රැඳී සිටින්න.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium හට පිරීමේ දෝෂයක් හේතුවෙන් ඔබගේ දත්ත සමමුහුර්ත කළ නොහැකි විය.</translation>
 <translation id="6096348254544841612">Chromium අභිරුචිකරණය සහ පාලනය කරන්න. යාවත්කාලීන ලද හැකිය.</translation>
 <translation id="6120345080069858279">Chromium මෙම මුරපදය ඔබගේ Google ගිණුම සමගින් සුරකිනු ඇත. ඔබට එය මතක තබා ගැනීමට සිදු නොවේ.</translation>
-<translation id="6128834065531097268">ඔබ <ph name="EXISTING_USER" />ගේ ඉඩ තුළ කාර්යාල ගිණුමක් සමගින් පුරා ඇත. ඔබ ඔබගේ දත්ත වෙන්ව තබා ගැනීමට <ph name="WORK_DOMAIN" /> සඳහා නව Chromium ඉඩක් තැනීමට කැමතිද?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> අනතුරුදායකයි, එම නිසා Chromium එය අවහිර කර ඇත.</translation>
 <translation id="6134968993075716475">සුරක්ෂිත පිරික්සුම ක්‍රියාවිරහිතයි. එය ක්‍රියාත්මක කිරීමට Chromium නිර්දේශ කරයි.</translation>
 <translation id="6212496753309875659">මෙම පරිගණකය සතුව දැනටමත් නව Chromium සංස්කරණයක් පවතී. මෘදුකාංගය ක්‍රියා නොකරයි නම් කරුණාකර Chromium ඉවත්කර නැවත උත්සහ කරන්න.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Chromium වෙතින් ද දත්ත හිස් කරන්න (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">මෙම පිටුවෙහි සැකසීමක් නොපෙන්වන්නේ නම්, ඔබේ <ph name="LINK_BEGIN" />
       Chromium OS සැකසීම්<ph name="LINK_END" /> තුළ සොයා බලන්න</translation>
-<translation id="7607142834923530546">ඔබ කාර්යාල ගිණුමක් සමගින් පුරා ඇත. ඔබ ඔබගේ පුද්ගලික දත්ත වෙන්ව තබා ගැනීමට <ph name="NEW_USER" /> සඳහා නව Chromium ඉඩක් තැනීමට කැමතිද?</translation>
 <translation id="761356813943268536">Chromium ඔබේ කැමරාව හා මයික්‍රෆෝනය භාවිත කරයි.</translation>
 <translation id="7617377681829253106">Chromium වඩා යහපත් විය</translation>
 <translation id="7628001322379820951">Chromium හට ඔබේ පරිගණකයේ හානිකර මෘදුකාංග හමු විය</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">මෙය Chromium හි දෙවන ස්ථාපනයක් වන අතර, ඔබේ පෙරනිමි බ්‍රව්සරය කළ නොහැකිය.</translation>
 <translation id="7979877361127045932">Chromium මෙනුව තුළ සඟවන්න</translation>
 <translation id="8013436988911883588">Chromium හට ප්‍රවේශය ඇති විට, වෙබ් අඩවි හට ඔබගෙන් ප්‍රවේශය සඳහා ඉල්ලීමට හැකිය.</translation>
-<translation id="8022442821873033760">ඔබගේ නව Chromium Space පිහිටුවන්න</translation>
 <translation id="81770708095080097">මෙම ගොනුව අනතුරුදායක විය හැකිය, එනිසා Chromium එය අවහිර කර ඇත.</translation>
 <translation id="8248265253516264921">රූපයකට ප්‍රයෝජනවත් විස්තරයක් නොමැති නම්, Chromium ඔබට විස්තරයක් ලබා දීමට උත්සාහ කරයි. විස්තර නිර්මාණ කිරීමට, රූප Google වෙත යවනු ලැබේ. ඔබට ඕනෑම වේලාවක සැකසීම් තුළින් මෙය අක්‍රිය කළ හැක.</translation>
 <translation id="8266560134891435528">ඔබ පුරනය වී නැති බැවින් Chromium හට ඔබේ මුරපද පරීක්‍ෂා කළ නොහැක</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{දිනයක් ඇතුළත Chromium යළි දියත් කරන්න}one{දින # ක් ඇතුළත Chromium යළි දියත් කරන්න}other{දින # ක් ඇතුළත Chromium යළි දියත් කරන්න}}</translation>
 <translation id="8453117565092476964">ස්ථාපන ගබඩාව නරක් වී හෝ වැරදිය. කරුණාකර නැවත Chromium බාගන්න.</translation>
 <translation id="8493179195440786826">Chromium යල් පැනගොස් ඇත</translation>
-<translation id="8545858702702650646">ඔබේ Chromium ඉඩ තෝරන්න</translation>
 <translation id="8558383651099478961">ඔබේ මාපිය Chromium සඳහා "වෙබ් අඩවි, යෙදුම් සහ දිගු සඳහා වන අවසර" අක්‍රිය කර ඇත. මෙම <ph name="EXTENSION_TYPE_PARAMETER" /> එක් කිරීමට අවසර නැත.</translation>
 <translation id="8568283329061645092">ඔබ ඔබේ Google ගිණුම මඟින් පුරන විට Chromium ඔබේ මුරපද පරීක්‍ෂා කළ හැක</translation>
 <translation id="8586442755830160949">හිමිකම <ph name="YEAR" /> Chromium කතෲවරුන්. සියළුම හිමිකම් ඇවිරිනි.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">ඔබේ පද්ධති පරිපාලකයා <ph name="TARGET_URL_HOSTNAME" /> වෙත ප්‍රවේශ වීමට වෛකල්පික බ්‍රවුසරයක් විවෘත කිරීමට Chromium වින්‍යාස කර ඇත.</translation>
 <translation id="9164845895615421500">සතියකට වරක් අනවශ්‍ය මෘදුකාංග සඳහා Chromium පරික්ෂා කරයි. අවසන් වරට පරීක්ෂා කළේ: මොහොතකට පෙර.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">මෙම උපාංගයෙහි ඔබගේ බ්‍රවුස් කිරීම සංවිධිතව තබා ගැනීමට Chromium ඉඩ භාවිත කරන්න</translation>
 <translation id="93478295209880648">Chromium තවදුරටත් Windows XP හෝ Windows Vista මත සහාය නොදක්වන නිසා නිවැරදිව ක්‍රියා නොකරනු ඇත</translation>
 <translation id="95514773681268843">මෙම උපාංගය භාවිතා කිරීමට පෙර ඔබ පහත සේවා නියමයන් භාවිතා කළ යුතු බවට <ph name="DOMAIN" /> නියම කරයි. මෙම නියමයන් මඟින් Chromium OS පුළුල් වීම, වෙනස් කිරීම හෝ සීමා කිරීම නොකරයි.</translation>
 <translation id="985602178874221306">Chromium කර්තෘවරුන්</translation>
diff --git a/chrome/app/resources/chromium_strings_sk.xtb b/chrome/app/resources/chromium_strings_sk.xtb
index c167780..4aa4084 100644
--- a/chrome/app/resources/chromium_strings_sk.xtb
+++ b/chrome/app/resources/chromium_strings_sk.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Nepovinné: Pomôžte zlepšovať funkcie a výkonnosť systému Chromium OS automatickým odosielaním diagnostík a údajov o používaní Googlu.</translation>
 <translation id="2347108572062610441">Toto rozšírenie zmenilo stránku, ktorá sa zobrazí pri spustení prehliadača Chromium.</translation>
 <translation id="2396765026452590966">Rozšírenie „<ph name="EXTENSION_NAME" />“ zmenilo stránku, ktorá sa zobrazí pri spustení prehliadača Chromium.</translation>
-<translation id="2442081746662839303">Chcete vytvoriť nový priestor v prehliadači Chromium pre používateľa <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">V prehliadači Chromium</translation>
 <translation id="2485422356828889247">Odinštalovať</translation>
 <translation id="2527042973354814951">Ak chcete zapnúť doplnok <ph name="PLUGIN_NAME" />, reštartujte Chromium</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Zdá sa, že profil používa ďalší proces prehliadača Chromium (<ph name="PROCESS_ID" />) na inom počítači (<ph name="HOST_NAME" />). Prehliadač Chromium daný profil uzamkol, aby sa nepoškodil. Ak s istotou viete, že tento profil nepoužívajú žiadne iné procesy, môžete ho odomknúť a prehliadač Chromium znova spustiť.</translation>
 <translation id="469338717132742108">Pomoc so systémom Chromium OS</translation>
 <translation id="4708774505295300557">Do prehliadača Chromium sa už na tomto počítači niekto prihlásil pomocou účtu <ph name="ACCOUNT_EMAIL_LAST" />. Ak chcete ponechať svoje informácie oddelené, vytvorte v prehliadači Chromium nového používateľa.</translation>
-<translation id="4745225042341419983">Dáta prehliadania tohto priestoru budú odstránené z tohto zariadenia. Ak ich chcete obnoviť, prihláste sa do prehliadača Chromium ako</translation>
 <translation id="4746050847053251315">Chcete Chromium napriek tomu ukončiť?</translation>
 <translation id="4748217263233248895">Práve bola použitá mimoriadna bezpečnostná aktualizácia pre prehliadač Chromium. Zmeny sa prejavia až po jeho reštartovaní (vaše karty sa automaticky obnovia).</translation>
 <translation id="4750035648288509542">Takmer aktualizované. Aktualizáciu dokončíte reštartovaním prehliadača Chromium. Okná inkognito sa neotvoria.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium je v režime na pozadí.</translation>
 <translation id="4987820182225656817">Hostia môžu používať prehliadač Chromium bez toho, aby po sebe zanechali akékoľvek informácie.</translation>
 <translation id="4994636714258228724">Pridajte si účet do prehliadača Chromium</translation>
-<translation id="5053724573690775822">Chcete vytvoriť nový pracovný priestor v prehliadači Chromium?</translation>
 <translation id="5224391634244552924">Žiadne uložené heslá. Chromium môže skontrolovať heslá, keď ich uložíte.</translation>
 <translation id="5277894862589591112">Ak chcete zmeny použiť, spustite Chromium znova</translation>
 <translation id="5358375970380395591">Prihlasujete sa pomocou spravovaného účtu a jeho správcovi dávate kontrolu nad vaším profilom Chromium. Vaše údaje prehliadača Chromium, ako sú aplikácie, záložky, história, heslá a iné nastavenia, sa natrvalo priradia k účtu <ph name="USER_NAME" />. Tieto údaje budete môcť odstrániť len pomocou panela Dashboard v Účtoch Google, ale nebudete ich môcť priradiť k inému účtu. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Keď vstavaný zobrazovač súborov PDF chýba, Google Chrome nemôže zobraziť ukážku pred tlačou.</translation>
 <translation id="5427571867875391349">Nastaviť Chromium ako predvolený prehliadač</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">Prihlásili ste sa novým účtom v priestore používateľa <ph name="EXISTING_USER" />. Chcete vytvoriť nový priestor v prehliadači Chromium pre používateľa <ph name="NEW_USER" /> a ponechať tak svoje údaje oddelené?</translation>
 <translation id="5479196819031988440">Chromium OS nedokáže túto stránku otvoriť.</translation>
 <translation id="5480860683791598150">Chromium potrebuje prístup k vašej polohe, aby ju mohol zdieľať s týmto webom</translation>
 <translation id="549669000822060376">Počkajte, kým Chromium nainštaluje najnovšie aktualizácie systému.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Prehliadaču Chromium sa nepodarilo synchronizovať vaše údaje pre chybu prihlásenia.</translation>
 <translation id="6096348254544841612">Prispôsobte si prehliadač Chromium a ovládajte ho. K dispozícii je aktualizácia.</translation>
 <translation id="6120345080069858279">Chromium toto heslo uloží do vášho účtu Google. Nebudete si ho musieť pamätať.</translation>
-<translation id="6128834065531097268">Prihlásili ste sa pracovným účtom v priestore používateľa <ph name="EXISTING_USER" />. Chcete vytvoriť nový priestor v prehliadači Chromium pre doménu <ph name="WORK_DOMAIN" /> a ponechať tak svoje údaje oddelené?</translation>
 <translation id="6129621093834146363">Súbor <ph name="FILE_NAME" /> je nebezpečný, a preto ho prehliadač Chromium zablokoval.</translation>
 <translation id="6134968993075716475">Bezpečné prehliadanie je vypnuté. Chromium ho odporúča zapnúť.</translation>
 <translation id="6212496753309875659">Tento počítač už obsahuje novšiu verziu prehliadača Chromium. Ak softvér nefunguje, odinštalujte prehliadač Chromium a skúste to znova.</translation>
@@ -202,7 +197,6 @@
 <translation id="7549178288319965365">Informácie o systéme Chromium OS</translation>
 <translation id="7561906087460245826">Tiež vymazať údaje z prehliadača Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ak určité nastavenie nevidíte na tejto stránke, skontrolujte <ph name="LINK_BEGIN" />nastavenia operačného systému Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Prihlásili ste sa pracovným účtom. Chcete vytvoriť nový priestor v prehliadači Chromium pre používateľa <ph name="NEW_USER" /> a ponechať tak svoje osobné údaje oddelené?</translation>
 <translation id="761356813943268536">Chromium používa vašu kameru a mikrofón.</translation>
 <translation id="7617377681829253106">Prehliadač Chromium bol práve vylepšený</translation>
 <translation id="7628001322379820951">Chromium našiel vo vašom počítači škodlivý softvér</translation>
@@ -220,7 +214,6 @@
 <translation id="7975919845073681630">Toto je sekundárna inštalácia prehliadača Chromium – nemôže byť nastavený ako váš predvolený prehliadač.</translation>
 <translation id="7979877361127045932">Skryť v Ponuke Chromium</translation>
 <translation id="8013436988911883588">Keď Chromium získa prístup, weby vás budú môcť žiadať o prístup.</translation>
-<translation id="8022442821873033760">Nastavenie nového priestoru v prehliadači Chromium</translation>
 <translation id="81770708095080097">Tento súbor je nebezpečný, a preto ho prehliadač Chromium zablokoval.</translation>
 <translation id="8248265253516264921">Ak obrázok nemá užitočný popis, Chromium sa vám ho pokúsi poskytnúť. Obrázky sa odosielajú Googlu, aby bolo možné vytvoriť popisy. Môžete to kedykoľvek vypnúť v nastaveniach.</translation>
 <translation id="8266560134891435528">Chromium nemôže skontrolovať heslá, pretože ste sa neprihlásili</translation>
@@ -231,7 +224,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium znova spustite do jedného dňa}few{Chromium znova spustite do # dní}many{Chromium znova spustite do # dňa}other{Chromium znova spustite do # dní}}</translation>
 <translation id="8453117565092476964">Archív inštalácie je poškodený alebo neplatný. Stiahnite prehliadač Chromium znova.</translation>
 <translation id="8493179195440786826">Prehliadač Chromium je zastaraný</translation>
-<translation id="8545858702702650646">Vyberte si v prehliadači Chromium svoj priestor</translation>
 <translation id="8558383651099478961">Tvoj rodič vypol „Povolenia pre weby, aplikácie a rozšírenia“ v prehliadači Chromium. Pridanie tohto rozšírenia (<ph name="EXTENSION_TYPE_PARAMETER" />) nie je povolené.</translation>
 <translation id="8568283329061645092">Keď sa prihlásite pomocou účtu Google, Chromium môže skontrolovať vaše heslá</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Autori Chromium. Všetky práva vyhradené.</translation>
@@ -257,7 +249,6 @@
 <translation id="9158494823179993217">Správca systému nakonfiguroval Chromium, aby web <ph name="TARGET_URL_HOSTNAME" /> otváral v alternatívnom prehliadači.</translation>
 <translation id="9164845895615421500">Chromium kontroluje prítomnosť nechceného softvéru raz za týždeň. Posledná kontrola prebehla pred chvíľou.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Priestory v prehliadači Chromium vám umožňujú prehliadať v usporiadanom prostredí</translation>
 <translation id="93478295209880648">Chromium nemusí fungovať správne, pretože v systémoch Windows XP a Windows Vista už nie je podporovaný</translation>
 <translation id="95514773681268843">Stránky <ph name="DOMAIN" /> vyžadujú, aby ste si pred používaním tohto zariadenia prečítali nasledujúce Zmluvné podmienky a vyjadrili s nimi súhlas. Tieto zmluvné podmienky nerozširujú, neupravujú ani neobmedzujú Zmluvné podmienky systému Chromium OS.</translation>
 <translation id="985602178874221306">Autori prehliadača Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_sl.xtb b/chrome/app/resources/chromium_strings_sl.xtb
index 4f10770..44ef992b 100644
--- a/chrome/app/resources/chromium_strings_sl.xtb
+++ b/chrome/app/resources/chromium_strings_sl.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Izbirno: Pomagajte izboljšati funkcije sistema Chromium OS in njegovo delovanje s samodejnim pošiljanjem diagnostičnih podatkov in podatkov o uporabi Googlu.</translation>
 <translation id="2347108572062610441">Zaradi te razširitve se je spremenila stran, ki je prikazana, ko zaženete Chromium.</translation>
 <translation id="2396765026452590966">Zaradi razširitve »<ph name="EXTENSION_NAME" />« se je spremenila stran, ki je prikazana, ko zaženete Chromium.</translation>
-<translation id="2442081746662839303">Želite ustvariti nov prostor v Chromiumu za uporabnika <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">V Chromiumu</translation>
 <translation id="2485422356828889247">Odmeščanje</translation>
 <translation id="2527042973354814951">Znova zaženite Chromium, če želite omogočiti <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Videti je, da profil uporablja drug Chromiumov proces (<ph name="PROCESS_ID" />) v drugem računalniku (<ph name="HOST_NAME" />). Chromium je zaklenil profil, da se ne poškoduje. Če ste prepričani, da tega profila ne uporabljajo nobeni drugi procesi, ga lahko odklenete in znova zaženete Chromium.</translation>
 <translation id="469338717132742108">Pomoč za OS Chromium</translation>
 <translation id="4708774505295300557">Nekdo se je prijavil v Chromium v tem računalniku kot <ph name="ACCOUNT_EMAIL_LAST" />. Ustvarite nov uporabniški profil za Chromium, če želite, da bodo vaši podatki ločeni.</translation>
-<translation id="4745225042341419983">Podatki brskanja tega prostora bodo izbrisani iz te naprave. Če želite podatke obnoviti, se prijavite v Chromium kot</translation>
 <translation id="4746050847053251315">Želite vseeno zapreti Chromium?</translation>
 <translation id="4748217263233248895">Pravkar je bila nameščena posebna varnostna posodobitev za Chromium. Znova ga zaženite (vaše zavihke bomo obnovili).</translation>
 <translation id="4750035648288509542">Skoraj je posodobljen. Znova zaženite Chromium, da dokončate posodobitev. Okna brez beleženja dejavnosti se ne bodo znova odprla.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium se izvaja v ozadju.</translation>
 <translation id="4987820182225656817">Gostje lahko uporabljajo Chromium, ne da bi za seboj pustili kar koli.</translation>
 <translation id="4994636714258228724">Dodajte se v Chromium</translation>
-<translation id="5053724573690775822">Želite ustvariti nov službeni prostor v Chromiumu?</translation>
 <translation id="5224391634244552924">Ni shranjenih gesel. Chromium lahko preveri gesla, če jih shranite.</translation>
 <translation id="5277894862589591112">Če želite uporabiti spremembe, znova zaženite Chromium</translation>
 <translation id="5358375970380395591">Prijavljate se z upravljanim računom in s tem njegovemu skrbniku omogočate nadzor vašega profila v Chromiumu. Vaši podatki v Chromiumu, kot so aplikacije, zaznamki, zgodovina, gesla in druge nastavitve, bodo postali trajno povezani z uporabnikom <ph name="USER_NAME" />. Te podatke boste lahko izbrisali na nadzorni plošči za Google Račune, vendar jih ne boste mogli povezati z drugim računom. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium ne more pokazati predogleda tiskanja, če ni vgrajenega pregledovalnika datotek PDF.</translation>
 <translation id="5427571867875391349">Nastavitev Chromiuma za privzeti brskalnik</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – različica beta Chromiuma</translation>
-<translation id="544968170749360982">V prostor uporabnika <ph name="EXISTING_USER" /> ste se prijavili z novim računom. Ali želite ustvariti nov prostor v Chromiumu za uporabnika <ph name="NEW_USER" />, da bodo podatki ločeni?</translation>
 <translation id="5479196819031988440">OS Chromium ne more odpreti te strani.</translation>
 <translation id="5480860683791598150">Chromium potrebuje dostop do vaše lokacije, da jo bo lahko delil s tem spletnim mestom</translation>
 <translation id="549669000822060376">Počakajte, da Chromium namesti najnovejše sistemske posodobitve.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium ni mogel sinhronizirati podatkov zaradi napake pri prijavi.</translation>
 <translation id="6096348254544841612">Prilagodite in nadzirajte Chromium. Posodobitev je na voljo.</translation>
 <translation id="6120345080069858279">Chromium bo shranil to geslo v Google Računu. Ni si vam ga treba zapomniti.</translation>
-<translation id="6128834065531097268">V prostor uporabnika <ph name="EXISTING_USER" /> ste se prijavili s službenim računom. Ali želite ustvariti nov prostor v Chromiumu za domeno <ph name="WORK_DOMAIN" />, da bodo podatki ločeni?</translation>
 <translation id="6129621093834146363">Datoteka <ph name="FILE_NAME" /> je nevarna, zato jo je Chromium blokiral.</translation>
 <translation id="6134968993075716475">Varno brskanje je izklopljeno. Chromium priporoča, da ga vklopite.</translation>
 <translation id="6212496753309875659">Ta računalnik že ima novejšo različico Chromiuma. Če programska oprema ne deluje, odstranite Chromium in poskusite znova.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Počisti tudi podatke iz Chromiuma (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Če nastavitev ni prikazana na tej strani, preverite <ph name="LINK_BEGIN" />
       nastavitve operacijskega sistema Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Prijavili ste se s službenim računom. Ali želite ustvariti nov prostor v Chromiumu za uporabnika <ph name="NEW_USER" />, da bodo osebni podatki ločeni?</translation>
 <translation id="761356813943268536">Chromium uporablja vašo kamero in mikrofon.</translation>
 <translation id="7617377681829253106">Chromium je pravkar postal še boljši</translation>
 <translation id="7628001322379820951">Chromium je v računalniku odkril škodljivo programsko opremo</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">To je sekundarna namestitev Chromiuma in ga ni mogoče nastaviti kot privzeti brskalnik.</translation>
 <translation id="7979877361127045932">Skrij v meniju Chromiuma</translation>
 <translation id="8013436988911883588">Ko bo imel Chromium dostop, vas bodo spletna mesta lahko pozvala k omogočanju dostopa.</translation>
-<translation id="8022442821873033760">Nastavitev novega prostora v Chromiumu</translation>
 <translation id="81770708095080097">Ta datoteka je nevarna, zato jo je Chromium blokiral.</translation>
 <translation id="8248265253516264921">Če slika nima koristnega opisa, ga bo Chromium poskušal zagotoviti. Opisi se ustvarijo tako, da se slike pošljejo Googlu. To lahko kadar koli izklopite v nastavitvah.</translation>
 <translation id="8266560134891435528">Chromium ne more preveriti gesel, ker niste prijavljeni</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium znova zaženite v enem dnevu}one{Chromium znova zaženite v # dnevu}two{Chromium znova zaženite v # dnevih}few{Chromium znova zaženite v # dnevih}other{Chromium znova zaženite v # dnevih}}</translation>
 <translation id="8453117565092476964">Arhiv namestitvenega programa je poškodovan ali neveljaven. Znova prenesite Chromium.</translation>
 <translation id="8493179195440786826">Chromium je zastarel</translation>
-<translation id="8545858702702650646">Izbira prostora v Chromiumu</translation>
 <translation id="8558383651099478961">Tvoj starš je izklopil »Dovoljenja za spletna mesta, aplikacije in razširitve« za Chromium. Dodajanje tega ni dovoljeno: <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium lahko preveri vaša gesla, ko se prijavite z računom Google</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Ustvarjalci Chromiuma. Vse pravice pridržane.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Skrbnik sistema je Chromium nastavil tako, da za dostop do <ph name="TARGET_URL_HOSTNAME" /> odpre drug brskalnik.</translation>
 <translation id="9164845895615421500">Chromium enkrat tedensko preveri, ali je nameščena neželena programska oprema. Nazadnje preverjeno: Pravkar.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Uporabite prostore v Chromiumu za organizirano brskanje v tej napravi</translation>
 <translation id="93478295209880648">Chromium morda ne bo deloval pravilno, ker ni več podprt v sistemu Windows XP ali Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> zahteva, da preberete in sprejmete pogoje storitve, preden začnete uporabljati napravo. Ti pogoji ne dopolnjujejo, spreminjajo ali omejujejo pogojev za Chromium OS.</translation>
 <translation id="985602178874221306">Ustvarjalci Chromiuma</translation>
diff --git a/chrome/app/resources/chromium_strings_sq.xtb b/chrome/app/resources/chromium_strings_sq.xtb
index 56be63df..726c015 100644
--- a/chrome/app/resources/chromium_strings_sq.xtb
+++ b/chrome/app/resources/chromium_strings_sq.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Opsionale: Ndihmo në përmirësimin e veçorive dhe cilësisë së funksionimit të sistemit operativ Chromium duke dërguar automatikisht te Google të dhëna përdorimi dhe diagnostikuese.</translation>
 <translation id="2347108572062610441">Kjo shtesë ka ndryshuar se cila faqe shfaqet kur nis Chromium.</translation>
 <translation id="2396765026452590966">Shtesa "<ph name="EXTENSION_NAME" />" ka ndryshuar se cila faqe shfaqet kur nis Chromium.</translation>
-<translation id="2442081746662839303">Të krijohet hapësirë e re e Chromium për <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">Në Chromium</translation>
 <translation id="2485422356828889247">Çinstalo</translation>
 <translation id="2527042973354814951">Rinis Chromium për të aktivizuar <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Profili duket të jetë në përdorim nga një tjetër proces i Chromium (<ph name="PROCESS_ID" />) në një tjetër kompjuter (<ph name="HOST_NAME" />). Chromium ka kyçur profilin që të mos dëmtohet. Nëse je i sigurt që asnjë proces tjetër nuk po e përdor këtë profil, mund të shkyçësh profilin dhe ta rinisësh Chromium.</translation>
 <translation id="469338717132742108">Merr ndihmë me Chromium OS</translation>
 <translation id="4708774505295300557">Dikush është identifikuar më parë në Chromium në këtë kompjuter si <ph name="ACCOUNT_EMAIL_LAST" />. Krijo një përdorues të ri të Chromium për t'i mbajtur të ndara informacionet e tua.</translation>
-<translation id="4745225042341419983">Të dhënat e shfletimit të kësaj hapësire do të fshihen nga kjo pajisje. Për të rikuperuar të dhënat, identifikohu në Chromium si</translation>
 <translation id="4746050847053251315">Dëshiron ta mbyllësh Chromium gjithsesi?</translation>
 <translation id="4748217263233248895">Sapo është zbatuar një përditësim special i sigurisë për Chromium. Rinise tani dhe do të restaurojmë skedat e tua.</translation>
 <translation id="4750035648288509542">Pothuajse u përditësua! Hap përsëri Chromium për të përfunduar përditësimin. Dritaret "e fshehta" nuk do të hapen.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium është në modalitetin e sfondit.</translation>
 <translation id="4987820182225656817">Vizitorët mund të përdorin Chromium pa lënë asgjë prapa.</translation>
 <translation id="4994636714258228724">Shtoje veten te Chromium</translation>
-<translation id="5053724573690775822">Të krijohet një hapësirë e re e Chromium?</translation>
 <translation id="5224391634244552924">Nuk ka asnjë fjalëkalim të ruajtur. Chromium mund t'i kontrollojë fjalëkalimet e tua kur ti i ruan ato.</translation>
 <translation id="5277894862589591112">Për të zbatuar ndryshimet, rinis Chromium</translation>
 <translation id="5358375970380395591">Po identifikohesh me një llogari të menaxhuar dhe po i jep administratorit të saj kontroll mbi profilin tënd të Chromium. Të dhënat e tua të Chromium, siç janë aplikacionet, faqeshënuesit, fjalëkalimet dhe cilësime të tjera do të lidhen në mënyrë të përhershme me <ph name="USER_NAME" />. Ti do të jesh në gjendje t'i fshish këto të dhëna përmes Panelit të llogarive të Google, por nuk do të jesh në gjendje t'i shoqërosh këto të dhëna me një llogari tjetër. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium nuk mund ta tregojë afishimin paraprak të printimit kur mungon shikuesi i integruar për PDF-të.</translation>
 <translation id="5427571867875391349">Caktoje Chromium si shfletuesin tënd të parazgjedhur</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">U identifikove me një llogari të re në hapësirën e <ph name="EXISTING_USER" />. Dëshiron të krijosh një hapësirë të re të Chromium për <ph name="NEW_USER" /> për t'i mbajtur të dhënat e tua të ndara?</translation>
 <translation id="5479196819031988440">Sistemi operativ Chromium nuk mund ta hapë këtë faqe.</translation>
 <translation id="5480860683791598150">Chromium ka nevojë për qasje te vendndodhja jote për të ndarë vendndodhjen tënde me këtë sajt</translation>
 <translation id="549669000822060376">Prit ndërsa Chromium instalon përditësimet më të fundit të sistemit.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium nuk mund të sinkronizonte të dhënat e tua për shkak të një gabimi gjatë identifikimit.</translation>
 <translation id="6096348254544841612">Personalizo dhe kontrollo Chromium. Ofrohet përditësim.</translation>
 <translation id="6120345080069858279">Chromium do ta ruajë këtë fjalëkalim në llogarinë tënde të Google. Nuk është nevoja ta mbash mend.</translation>
-<translation id="6128834065531097268">U identifikove me një llogari pune në hapësirën e <ph name="EXISTING_USER" />. Dëshiron të krijosh një hapësirë të re të Chromium për <ph name="WORK_DOMAIN" /> për t'i mbajtur të dhënat e tua të ndara?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> është i rrezikshëm, prandaj Chromium e ka bllokuar.</translation>
 <translation id="6134968993075716475">"Shfletimi i sigurt" është joaktiv. Chromium rekomandon aktivizimin e tij.</translation>
 <translation id="6212496753309875659">Ky kompjuter e ka tashmë një version më të ri të Chromium. Nëse softueri nuk punon, çinstaloje Chromium dhe provo përsëri.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Pastro po ashtu të dhënat nga Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Nëse cilësimi nuk shfaqet në këtë faqe, shiko te <ph name="LINK_BEGIN" />
       cilësimet e sistemit operativ të Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">U identifikove me një llogari pune. Dëshiron të krijosh një hapësirë të re të Chromium për <ph name="NEW_USER" /> për t'i mbajtur të dhënat e tua personale të ndara?</translation>
 <translation id="761356813943268536">Chromium po përdor kamerën dhe mikrofonin tënd.</translation>
 <translation id="7617377681829253106">Chromium sapo është përmirësuar</translation>
 <translation id="7628001322379820951">Chromium gjeti softuer keqdashës në kompjuterin tënd</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Ky është instalim dytësor i Chromium dhe nuk mund të bëhet shfletuesi yt i parazgjedhur.</translation>
 <translation id="7979877361127045932">Fshih në menynë e Chromium-it</translation>
 <translation id="8013436988911883588">Pasi Chromium të ketë qasje, sajtet e uebit do të jenë në gjendje të kërkojnë prej teje qasje.</translation>
-<translation id="8022442821873033760">Konfiguro hapësirën tënde të re të Chromium</translation>
 <translation id="81770708095080097">Ky skedar është i rrezikshëm, prandaj Chromium e ka bllokuar.</translation>
 <translation id="8248265253516264921">Nëse një imazh nuk ka një përshkrim të dobishëm, Chromium do të përpiqet të të japë një përshkrim. Për të krijuar përshkrime, imazhet dërgohen te Google. Këtë mund ta çaktivizosh te cilësimet në çdo moment.</translation>
 <translation id="8266560134891435528">Chromium nuk mund t'i kontrollojë fjalëkalimet e tua sepse nuk je identifikuar</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Hap përsëri Chromium brenda një dite}other{Hap përsëri Chromium brenda # ditësh}}</translation>
 <translation id="8453117565092476964">Arkivi i instaluesit është i dëmtuar ose i pavlefshëm. Shkarkoje Chromium përsëri.</translation>
 <translation id="8493179195440786826">Chromium nuk është i përditësuar</translation>
-<translation id="8545858702702650646">Zgjidh "Hapësirën tënde të Chromium"</translation>
 <translation id="8558383651099478961">Prindi yt ka çaktivizuar "Lejet për sajtet, aplikacionet dhe shtesat" për Chromium. Nuk lejohet shtimi për këtë <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium mund t'i kontrollojë fjalëkalimet e tua kur të identifikohesh me "Llogarinë tënde të Google"</translation>
 <translation id="8586442755830160949">Të drejtat e autorit <ph name="YEAR" /> Autorët e Chromium. Të gjitha të drejtat të rezervuara.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Administratori i sistemit ka konfiguruar Chromium që të hapë një shfletues alternativ për të pasur qasje te <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium kontrollon për softuerë të padëshiruar një herë në javë. Kontrolli i fundit: një moment më parë.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Përdor "Hapësirat e Chromium" për ta mbajtur shfletimin tënd të organizuar në këtë pajisje</translation>
 <translation id="93478295209880648">Chromium mund të mos funksionojë si duhet sepse nuk mbështetet më në Windows XP ose Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> kërkon që të lexosh dhe të pranosh "Kushtet e shërbimit" më poshtë para se të përdorësh këtë pajisje. Këto kushte nuk i zgjerojnë, modifikojnë ose kufizojnë kushtet e sistemit operativ të Chromium.</translation>
 <translation id="985602178874221306">Autorët e Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_sr-Latn.xtb b/chrome/app/resources/chromium_strings_sr-Latn.xtb
index 9e6cef90..63b6d56 100644
--- a/chrome/app/resources/chromium_strings_sr-Latn.xtb
+++ b/chrome/app/resources/chromium_strings_sr-Latn.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Opcionalno: Automatski šaljite Google-u dijagnostiku i podatke o korišćenju da biste nam pomogli da poboljšamo funkcije i učinak Chromium OS-a.</translation>
 <translation id="2347108572062610441">Ovaj dodatak je promenio stranicu koja se prikazuje kada pokrenete Chromium.</translation>
 <translation id="2396765026452590966">Dodatak „<ph name="EXTENSION_NAME" />“ je promenio stranicu koja se prikazuje kada pokrenete Chromium.</translation>
-<translation id="2442081746662839303">Želite li da napravite nov Chromium prostor za korisnika <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">U Chromium-u</translation>
 <translation id="2485422356828889247">Deinstaliraj</translation>
 <translation id="2527042973354814951">Ponovo pokrenite Chromium da biste omogućili <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Izgleda da se profil koristi u nekom drugom Chromium procesu (<ph name="PROCESS_ID" />) na nekom drugom računaru (<ph name="HOST_NAME" />). Chromium je zaključao profil da ne bi bio oštećen. Ako ste sigurni da nijedan drugi proces ne koristi ovaj profil, možete da otključate profil i ponovo pokrenete Chromium.</translation>
 <translation id="469338717132742108">Pronađite pomoć za Chromium OS</translation>
 <translation id="4708774505295300557">Neko se prethodno prijavio na Chromium na ovom računaru kao <ph name="ACCOUNT_EMAIL_LAST" />. Napravite novog Chromium korisnika da bi informacije bile razdvojene.</translation>
-<translation id="4745225042341419983">Podaci pregledanja ovog prostora će se izbrisati sa ovog uređaja. Da biste vratili podatke, prijavite se u Chromium kao</translation>
 <translation id="4746050847053251315">Želite li ipak da zatvorite Chromium?</translation>
 <translation id="4748217263233248895">Posebno bezbednosno ažuriranje za Chromium je upravo primenjeno. Restartujte ga i vratićemo vam kartice.</translation>
 <translation id="4750035648288509542">Skoro je ažuriran! Ponovo pokrenite Chromium da biste dovršili ažuriranje. Prozori bez arhiviranja se neće ponovo otvoriti.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium je u pozadinskom režimu.</translation>
 <translation id="4987820182225656817">Gosti mogu da koriste Chromium a da ne ostavljaju nikakve tragove.</translation>
 <translation id="4994636714258228724">Dodajte sebe u Chromium</translation>
-<translation id="5053724573690775822">Želite li da napravite nov Chromium prostor za rad?</translation>
 <translation id="5224391634244552924">Nema sačuvanih lozinki. Chromium može da proverava lozinke kada ih sačuvate.</translation>
 <translation id="5277894862589591112">Da biste primenili promene, ponovo pokrenite Chromium</translation>
 <translation id="5358375970380395591">Prijavljujete se pomoću naloga kojim se upravlja i dajete njegovom administratoru kontrolu nad Chromium profilom. Chromium podaci, kao što su aplikacije, obeleživači, istorija, lozinke i druga podešavanja, biće trajno povezani sa nalogom <ph name="USER_NAME" />. Moći ćete da izbrišete te podatke preko Kontrolne table Google naloga, ali nećete moći da ih povežete sa nekim drugim nalogom. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium ne može da pokaže prikaz pre štampanja kada nedostaje ugrađeni PDF prikazivač.</translation>
 <translation id="5427571867875391349">Podesi Chromium kao podrazumevani pregledač</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium beta</translation>
-<translation id="544968170749360982">Prijavljeni ste pomoću novog naloga u prostoru korisnika <ph name="EXISTING_USER" />. Želite li da napravite nov Chromium prostor za korisnika <ph name="NEW_USER" /> da bi vam podaci bili razdvojeni?</translation>
 <translation id="5479196819031988440">Chromium OS ne može da otvori ovu stranicu.</translation>
 <translation id="5480860683791598150">Chromium traži pristup vašoj lokaciji da biste je delili sa ovim sajtom</translation>
 <translation id="549669000822060376">Sačekajte da Chromium instalira najnovija ažuriranja sistema.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium ne može da sinhronizuje podatke zbog greške pri prijavljivanju.</translation>
 <translation id="6096348254544841612">Prilagodite i kontrolišite Chromium. Dostupno je ažuriranje.</translation>
 <translation id="6120345080069858279">Chromium će sačuvati ovu lozinku na Google nalogu. Nećete morati da je pamtite.</translation>
-<translation id="6128834065531097268">Prijavljeni ste pomoću poslovnog naloga u prostoru korisnika <ph name="EXISTING_USER" />. Želite li da napravite nov Chromium prostor za <ph name="WORK_DOMAIN" /> da bi podaci bili razdvojeni?</translation>
 <translation id="6129621093834146363">Datoteka <ph name="FILE_NAME" /> je opasna, pa ju je Chromium blokirao.</translation>
 <translation id="6134968993075716475">Bezbedno pregledanje je isključeno. Chromium preporučuje da ga uključite.</translation>
 <translation id="6212496753309875659">Ovaj računar već ima noviju verziju Chromium-a. Ako softver ne funkcioniše, deinstalirajte Chromium i pokušajte ponovo.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Obriši podatke i iz Chromium-a (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ako se podešavanje ne prikazuje na ovoj stranici, potražite ga u <ph name="LINK_BEGIN" />
       podešavanjima Chromium OS-a<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Prijavljeni ste pomoću poslovnog naloga. Želite li da napravite nov Chromium prostor za korisnika <ph name="NEW_USER" /> da bi vam lični podaci bili razdvojeni?</translation>
 <translation id="761356813943268536">Chromium koristi kameru i mikrofon.</translation>
 <translation id="7617377681829253106">Upravo smo poboljšali Chromium</translation>
 <translation id="7628001322379820951">Chromium je pronašao štetan softver na računaru</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Ovo je sekundarna instalacija Chromium-a pa ne možete da ga podesite kao podrazumevani pregledač.</translation>
 <translation id="7979877361127045932">Sakrij u Chromium meniju</translation>
 <translation id="8013436988911883588">Kada Chromium dobije pristup, veb-sajtovi će moći da zatraže pristup.</translation>
-<translation id="8022442821873033760">Podesite nov Chromium prostor</translation>
 <translation id="81770708095080097">Ova datoteka je opasna, pa ju je Chromium blokirao.</translation>
 <translation id="8248265253516264921">Ako slika nema koristan opis, Chromium će probati da vam ga pruži. Slike se šalju Google-u radi pravljenja opisa. To možete da isključite u podešavanjima u svakom trenutku.</translation>
 <translation id="8266560134891435528">Chromium ne može da vam proverava lozinke zato što niste prijavljeni</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Ponovo pokrenite Chromium za jedan dan}one{Ponovo pokrenite Chromium za # dan}few{Ponovo pokrenite Chromium za # dana}other{Ponovo pokrenite Chromium za # dana}}</translation>
 <translation id="8453117565092476964">Arhiva programa za instalaciju je oštećena ili nevažeća. Preuzmite Chromium ponovo.</translation>
 <translation id="8493179195440786826">Chromium je zastareo</translation>
-<translation id="8545858702702650646">Izaberite Chromium prostor</translation>
 <translation id="8558383651099478961">Roditelj je isključio Dozvole za sajtove, aplikacije i dodatke za Chromium. Dodavanje ove stavke (<ph name="EXTENSION_TYPE_PARAMETER" />) nije dozvoljeno.</translation>
 <translation id="8568283329061645092">Chromium može da vam proverava lozinke kada se prijavite pomoću Google naloga</translation>
 <translation id="8586442755830160949">Autorska prava <ph name="YEAR" />. Autori Chromium-a. Sva prava zadržana.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Administrator sistema je konfigurisao Chromium da otvara alternativni pregledač za pristup URL-u <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium proverava da li je prisutan neželjeni softver jednom nedeljno. Poslednji put provereno: malopre.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Koristite Chromium prostore da bi pregledanje bilo organizovano na ovom uređaju</translation>
 <translation id="93478295209880648">Chromium možda neće ispravno funkcionisati zato što više nije podržan na Windows XP-u ili Windows Vista-i</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> zahteva da pročitate i prihvatite sledeće Uslove korišćenja usluge pre nego što počnete da koristite ovaj uređaj. Ovi uslovi ne predstavljaju proširenje, izmenu ili ograničenje Uslova za Chromium OS.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_sr.xtb b/chrome/app/resources/chromium_strings_sr.xtb
index 47cf38d..e9dc808c 100644
--- a/chrome/app/resources/chromium_strings_sr.xtb
+++ b/chrome/app/resources/chromium_strings_sr.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Опционално: Аутоматски шаљите Google-у дијагностику и податке о коришћењу да бисте нам помогли да побољшамо функције и учинак Chromium ОС-а.</translation>
 <translation id="2347108572062610441">Овај додатак је променио страницу која се приказује када покренете Chromium.</translation>
 <translation id="2396765026452590966">Додатак „<ph name="EXTENSION_NAME" />“ је променио страницу која се приказује када покренете Chromium.</translation>
-<translation id="2442081746662839303">Желите ли да направите нов Chromium простор за корисника <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">У Chromium-у</translation>
 <translation id="2485422356828889247">Деинсталирај</translation>
 <translation id="2527042973354814951">Поново покрените Chromium да бисте омогућили <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Изгледа да се профил користи у неком другом Chromium процесу (<ph name="PROCESS_ID" />) на неком другом рачунару (<ph name="HOST_NAME" />). Chromium је закључао профил да не би био оштећен. Ако сте сигурни да ниједан други процес не користи овај профил, можете да откључате профил и поново покренете Chromium.</translation>
 <translation id="469338717132742108">Пронађите помоћ за Chromium OS</translation>
 <translation id="4708774505295300557">Неко се претходно пријавио на Chromium на овом рачунару као <ph name="ACCOUNT_EMAIL_LAST" />. Направите новог Chromium корисника да би информације биле раздвојене.</translation>
-<translation id="4745225042341419983">Подаци прегледања овог простора ће се избрисати са овог уређаја. Да бисте вратили податке, пријавите се у Chromium као</translation>
 <translation id="4746050847053251315">Желите ли ипак да затворите Chromium?</translation>
 <translation id="4748217263233248895">Посебно безбедносно ажурирање за Chromium је управо примењено. Рестартујте га и вратићемо вам картице.</translation>
 <translation id="4750035648288509542">Скоро је ажуриран! Поново покрените Chromium да бисте довршили ажурирање. Прозори без архивирања се неће поново отворити.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium је у позадинском режиму.</translation>
 <translation id="4987820182225656817">Гости могу да користе Chromium а да не остављају никакве трагове.</translation>
 <translation id="4994636714258228724">Додајте себе у Chromium</translation>
-<translation id="5053724573690775822">Желите ли да направите нов Chromium простор за рад?</translation>
 <translation id="5224391634244552924">Нема сачуваних лозинки. Chromium може да проверава лозинке када их сачувате.</translation>
 <translation id="5277894862589591112">Да бисте применили промене, поново покрените Chromium</translation>
 <translation id="5358375970380395591">Пријављујете се помоћу налога којим се управља и дајете његовом администратору контролу над Chromium профилом. Chromium подаци, као што су апликације, обележивачи, историја, лозинке и друга подешавања, биће трајно повезани са налогом <ph name="USER_NAME" />. Моћи ћете да избришете те податке преко Контролне табле Google налога, али нећете моћи да их повежете са неким другим налогом. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium не може да покаже приказ пре штампања када недостаје уграђени PDF приказивач.</translation>
 <translation id="5427571867875391349">Подеси Chromium као подразумевани прегледач</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium бета</translation>
-<translation id="544968170749360982">Пријављени сте помоћу новог налога у простору корисника <ph name="EXISTING_USER" />. Желите ли да направите нов Chromium простор за корисника <ph name="NEW_USER" /> да би вам подаци били раздвојени?</translation>
 <translation id="5479196819031988440">Chromium ОС не може да отвори ову страницу.</translation>
 <translation id="5480860683791598150">Chromium тражи приступ вашој локацији да бисте је делили са овим сајтом</translation>
 <translation id="549669000822060376">Сачекајте да Chromium инсталира најновија ажурирања система.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium не може да синхронизује податке због грешке при пријављивању.</translation>
 <translation id="6096348254544841612">Прилагодите и контролишите Chromium. Доступно је ажурирање.</translation>
 <translation id="6120345080069858279">Chromium ће сачувати ову лозинку на Google налогу. Нећете морати да је памтите.</translation>
-<translation id="6128834065531097268">Пријављени сте помоћу пословног налога у простору корисника <ph name="EXISTING_USER" />. Желите ли да направите нов Chromium простор за <ph name="WORK_DOMAIN" /> да би подаци били раздвојени?</translation>
 <translation id="6129621093834146363">Датотека <ph name="FILE_NAME" /> је опасна, па ју је Chromium блокирао.</translation>
 <translation id="6134968993075716475">Безбедно прегледање је искључено. Chromium препоручује да га укључите.</translation>
 <translation id="6212496753309875659">Овај рачунар већ има новију верзију Chromium-а. Ако софтвер не функционише, деинсталирајте Chromium и покушајте поново.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Обриши податке и из Chromium-а (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ако се подешавање не приказује на овој страници, потражите га у <ph name="LINK_BEGIN" />
       подешавањима Chromium ОС-а<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Пријављени сте помоћу пословног налога. Желите ли да направите нов Chromium простор за корисника <ph name="NEW_USER" /> да би вам лични подаци били раздвојени?</translation>
 <translation id="761356813943268536">Chromium користи камеру и микрофон.</translation>
 <translation id="7617377681829253106">Управо смо побољшали Chromium</translation>
 <translation id="7628001322379820951">Chromium је пронашао штетан софтвер на рачунару</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Ово је секундарна инсталација Chromium-а па не можете да га подесите као подразумевани прегледач.</translation>
 <translation id="7979877361127045932">Сакриј у Chromium менију</translation>
 <translation id="8013436988911883588">Када Chromium добије приступ, веб-сајтови ће моћи да затраже приступ.</translation>
-<translation id="8022442821873033760">Подесите нов Chromium простор</translation>
 <translation id="81770708095080097">Ова датотека је опасна, па ју је Chromium блокирао.</translation>
 <translation id="8248265253516264921">Ако слика нема користан опис, Chromium ће пробати да вам га пружи. Слике се шаљу Google-у ради прављења описа. То можете да искључите у подешавањима у сваком тренутку.</translation>
 <translation id="8266560134891435528">Chromium не може да вам проверава лозинке зато што нисте пријављени</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Поново покрените Chromium за један дан}one{Поново покрените Chromium за # дан}few{Поново покрените Chromium за # дана}other{Поново покрените Chromium за # дана}}</translation>
 <translation id="8453117565092476964">Архива програма за инсталацију је оштећена или неважећа. Преузмите Chromium поново.</translation>
 <translation id="8493179195440786826">Chromium је застарео</translation>
-<translation id="8545858702702650646">Изаберите Chromium простор</translation>
 <translation id="8558383651099478961">Родитељ је искључио Дозволе за сајтове, апликације и додатке за Chromium. Додавање ове ставке (<ph name="EXTENSION_TYPE_PARAMETER" />) није дозвољено.</translation>
 <translation id="8568283329061645092">Chromium може да вам проверава лозинке када се пријавите помоћу Google налога</translation>
 <translation id="8586442755830160949">Ауторска права <ph name="YEAR" />. Аутори Chromium-а. Сва права задржана.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Администратор система је конфигурисао Chromium да отвара алтернативни прегледач за приступ URL-у <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium проверава да ли је присутан нежељени софтвер једном недељно. Последњи пут проверено: малопре.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Користите Chromium просторе да би прегледање било организовано на овом уређају</translation>
 <translation id="93478295209880648">Chromium можда неће исправно функционисати зато што више није подржан на Windows XP-у или Windows Vista-и</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> захтева да прочитате и прихватите следеће Услове коришћења услуге пре него што почнете да користите овај уређај. Ови услови не представљају проширење, измену или ограничење Услова за Chromium ОС.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_sv.xtb b/chrome/app/resources/chromium_strings_sv.xtb
index bdec59b0..3784540 100644
--- a/chrome/app/resources/chromium_strings_sv.xtb
+++ b/chrome/app/resources/chromium_strings_sv.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Valfritt: Skicka diagnostik- och användningsdata automatiskt till Google och hjälp oss att förbättra funktioner och prestanda i Chromium OS.</translation>
 <translation id="2347108572062610441">Det här tillägget har ändrat vilken sida som visas när du startar Chromium.</translation>
 <translation id="2396765026452590966">Tillägget <ph name="EXTENSION_NAME" /> har ändrat vilken sida som visas när du startar Chromium.</translation>
-<translation id="2442081746662839303">Vill du skapa en ny Chromium-profil för <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">I Chromium</translation>
 <translation id="2485422356828889247">Avinstallera</translation>
 <translation id="2527042973354814951">Starta om Chromium om du vill aktivera <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Profilen verkar användas av en annan Chromium-process (<ph name="PROCESS_ID" />) på en annan dator (<ph name="HOST_NAME" />). Profilen har låsts så att den inte används på otillåtet sätt. Om du är säker på att profilen inte används i några andra processer låser du upp profilen och startar om Chromium.</translation>
 <translation id="469338717132742108">Få hjälp med Chromium OS</translation>
 <translation id="4708774505295300557">Någon har tidigare loggat in i Chrome som <ph name="ACCOUNT_EMAIL_LAST" /> på den här datorn. Skapa en ny Chromium-användare så att dina uppgifter hålls separat.</translation>
-<translation id="4745225042341419983">Den här profilens webbinformation raderas från enheten. Om du vill återställa informationen loggar du in i Chromium som</translation>
 <translation id="4746050847053251315">Vill du avsluta Chromium ändå?</translation>
 <translation id="4748217263233248895">En särskild säkerhetsuppdatering för Chromium installerades precis. Starta om webbläsaren nu. Flikarna återställs efteråt.</translation>
 <translation id="4750035648288509542">Uppdateringen är snart klar! Starta Chromium igen för att avsluta uppdateringen. Inkognitofönster öppnas inte igen.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium körs i bakgrundsläge.</translation>
 <translation id="4987820182225656817">Gäster kan använda Chromium utan att lämna spår efter sig.</translation>
 <translation id="4994636714258228724">Lägg till dig själv i Chromium</translation>
-<translation id="5053724573690775822">VIll du skapa en ny jobbprofil i Chromium?</translation>
 <translation id="5224391634244552924">Inga sparade lösenord. Chromium kan bara kontrollera dina lösenord om du sparar dem.</translation>
 <translation id="5277894862589591112">Ändringarna tillämpas när du startar om Chromium</translation>
 <translation id="5358375970380395591">Du loggar in med ett hanterat konto och ger dess administratör kontroll över din Chromium-profil. Dina uppgifter i Chromium, t.ex. dina appar, bokmärken, din historik, ditt lösenord och andra inställningar, kopplas då permanent till <ph name="USER_NAME" />. Du kommer att kunna ta bort dessa uppgifter via instrumentpanelen i Google Konton, men du kommer inte att kunna koppla dem till något annat konto. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium kan inte visa förhandsgranskning av en utskrift när det inbyggda PDF-visningsprogrammet saknas.</translation>
 <translation id="5427571867875391349">Använd Chromium som standardwebbläsare</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Chromium Beta</translation>
-<translation id="544968170749360982">Du har loggat in med ett nytt konto i profilen som tillhör <ph name="EXISTING_USER" /> Vill du skapa en ny Chromium-profil för <ph name="NEW_USER" /> så att uppgifterna hålls åtskilda?</translation>
 <translation id="5479196819031988440">Det går inte att öppna den här sidan i Chromium OS.</translation>
 <translation id="5480860683791598150">Du behöver ge Chromium åtkomst till din plats om den ska kunna delas med webbplatsen</translation>
 <translation id="549669000822060376">Vänta medan de senaste systemuppdateringarna installeras av Chromium.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium kunde inte synkronisera data på grund av ett fel vid inloggningen.</translation>
 <translation id="6096348254544841612">Anpassa och styr Chromium. En uppdatering är tillgänglig.</translation>
 <translation id="6120345080069858279">Det här lösenordet sparas i ditt Google-konto. Du behöver inte komma ihåg det.</translation>
-<translation id="6128834065531097268">Du loggade in med ett jobbkonto i den profil som tillhör <ph name="EXISTING_USER" />. Vill du skapa en ny Chromium-profil för <ph name="WORK_DOMAIN" /> så att uppgifterna hålls åtskilda?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> är skadlig och har blockerats av Chromium.</translation>
 <translation id="6134968993075716475">Säker webbsökning har inaktiverats. Du rekommenderas att aktivera funktionen i Chromium.</translation>
 <translation id="6212496753309875659">Det finns redan en nyare version av Chromium på den här datorn. Avinstallera Chromium och försök igen om programvaran inte fungerar.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Rensa även data från Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Om en inställning saknas på den här sidan tittar du i <ph name="LINK_BEGIN" />
       inställningarna för Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Du har loggat in med ett jobbkonto. Vill du skapa en ny Chromium-profil för <ph name="NEW_USER" /> så att privata uppgifter hålls för sig?</translation>
 <translation id="761356813943268536">Chromium använder din kamera och mikrofon.</translation>
 <translation id="7617377681829253106">Vi har förbättrat Chromium</translation>
 <translation id="7628001322379820951">Chromium har upptäckt skadlig programvara på datorn</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Det här är en sekundär installation av Chromium. Det går inte att göra den till standardwebbläsare.</translation>
 <translation id="7979877361127045932">Dölj i Chromium-menyn</translation>
 <translation id="8013436988911883588">När du har gett Chromium åtkomst kan webbplatser begära att få åtkomst.</translation>
-<translation id="8022442821873033760">Konfigurera din nya arbetsyta i Chromium</translation>
 <translation id="81770708095080097">Filen är farlig och har blockerats av Chromium.</translation>
 <translation id="8248265253516264921">Om en bild inte har någon användbar beskrivning görs ett försök att beskriva den åt dig i Chromium. Bilderna skickas till Google så att beskrivningen kan genereras. Du kan när som helst inaktivera den här inställningen.</translation>
 <translation id="8266560134891435528">Chromium kan inte kontrollera dina lösenord eftersom du inte är inloggad</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Starta om Chromium inom en dag}other{Starta om Chromium inom # dagar}}</translation>
 <translation id="8453117565092476964">Arkivet för installationsfilen är skadat eller ogiltigt. Ladda ned Chromium igen.</translation>
 <translation id="8493179195440786826">Den här versionen av Chromium är inaktuell</translation>
-<translation id="8545858702702650646">Välj profil i Chromium</translation>
 <translation id="8558383651099478961">Din förälder har inaktiverat Behörigheter för webbplatser, appar och tillägg för Chromium. Det är inte tillåtet att lägga till denna <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8568283329061645092">Chromium kan kontrollera dina lösenord när du loggar in med Google-kontot</translation>
 <translation id="8586442755830160949">Upphovsrätt <ph name="YEAR" /> The Chromium Authors. Med ensamrätt.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Systemadministratören har konfigurerat Chromium så att <ph name="TARGET_URL_HOSTNAME" /> öppnas i en annan webbläsare.</translation>
 <translation id="9164845895615421500">Chromium söker efter oönskad programvara en gång i veckan. Senaste genomsökning: alldeles nyss.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Håll ordning när du surfar på enheten med profiler i Chromium</translation>
 <translation id="93478295209880648">Chromium kanske inte fungerar ordentligt eftersom den inte längre stöds på Windows XP och Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> kräver att du läser och godkänner följande användarvillkor innan du använder enheten. Villkoren varken utökar, ändrar eller begränsar villkoren för Chromium OS.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_sw.xtb b/chrome/app/resources/chromium_strings_sw.xtb
index ab26b3c..44e913b 100644
--- a/chrome/app/resources/chromium_strings_sw.xtb
+++ b/chrome/app/resources/chromium_strings_sw.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Si lazima: Tusaidie kuboresha utendaji na vipengele vya Mfumo wa Uendeshaji wa Chromium kwa kutuma kiotomatiki data ya matumizi na uchunguzi kwa Google.</translation>
 <translation id="2347108572062610441">Kiendelezi hiki kimebadilisha ukurasa unaoonyeshwa unapoanzisha Chromium.</translation>
 <translation id="2396765026452590966">Kiendelezi hiki "<ph name="EXTENSION_NAME" />" kimebadilisha ukurasa unaoonyeshwa unapoanzisha Chromium.</translation>
-<translation id="2442081746662839303">Ungependa kuanzisha nafasi mpya ya Chromium ya <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">Katika Chromium</translation>
 <translation id="2485422356828889247">Ondoa</translation>
 <translation id="2527042973354814951">Zima na uwashe Chromium tena ili uwashe <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Wasifu unaonekana kuwa unatumika na mchakato mwingine wa Chromium (<ph name="PROCESS_ID" />) kwenye kompyuta nyingine (<ph name="HOST_NAME" />). Chromium imefunga wasifu huu ili usifisidiwe. Kama una uhakika hakuna michakato mingine inatumia wasifu huu, unaweza kufungua wasifu na uzindue tena Chromium.</translation>
 <translation id="469338717132742108">Pata usaidizi wa kutumia mfumo wa uendeshaji wa Chromium</translation>
 <translation id="4708774505295300557">Kuna mtu aliingia katika Chromium kwenye kompyuta hii akitumia <ph name="ACCOUNT_EMAIL_LAST" />. Tafadhali ongeza wasifu mpya wa Chromium ili utenganishe maelezo yako.</translation>
-<translation id="4745225042341419983">Data ya kuvinjari ya nafasi hii itafutwa kwenye kifaa hiki. Ili urejeshe data, ingia katika akaunti ya Chromium ukitumia</translation>
 <translation id="4746050847053251315">Ungependa kufunga Chromium?</translation>
 <translation id="4748217263233248895">Sasisho maalum la usalama wa Chromium limewekwa sasa hivi. Ifunge kisha uifungue na tutarejesha vichupo vyako.</translation>
 <translation id="4750035648288509542">Inaelekea kukamilisha mchakato wa kusasisha! Fungua tena Chromium ili ukamilishe mchakato wa kusasisha. Haitafungua upya madirisha fiche.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium iko katika hali ya chini chini.</translation>
 <translation id="4987820182225656817">Walioalikwa wanaweza kutumia Chromium bila kuacha kitu chochote nyuma.</translation>
 <translation id="4994636714258228724">Jiongeze kwenye Chrome</translation>
-<translation id="5053724573690775822">Ungependa kuanzisha nafasi mpya ya Chromium Work?</translation>
 <translation id="5224391634244552924">Hakuna manenosiri yaliyohifadhiwa. Chromium inaweza kukagua manenosiri yako ukiyahifadhi.</translation>
 <translation id="5277894862589591112">Ili utumie mabadiliko uliyofanya, fungua Chromium upya</translation>
 <translation id="5358375970380395591">Unaingia katika akaunti inayodhibitiwa na kumpa msimamizi wa akaunti hiyo udhibiti wa wasifu wako kwenye Chromium. Data yako ya Chromium, kama vile programu zako, alamisho, historia, manenosiri, na mipangilio miingine itahusishwa na <ph name="USER_NAME" /> kabisa. Utaweza kufuta data hii kupitia Dashibodi ya Akaunti za Google, lakini hutaweza  kuunganisha data hii na akaunti nyingine. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">Chromium haiwezi kuonyesha onyesho la kukagua kwanza chapisho wakati kitazamaji kilichojengewa ndani cha PDF kinakosekana.</translation>
 <translation id="5427571867875391349">Weka Chromium kuwa kivinjari chako chaguomsingi</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Beta ya Chromium</translation>
-<translation id="544968170749360982">Umeingia ukitumia akaunti mpya kwenye nafasi ya <ph name="EXISTING_USER" />. Ungependa kuanzisha nafasi mpya ya Chromium ya <ph name="NEW_USER" /> ili utenganishe data yako?</translation>
 <translation id="5479196819031988440">Mfumo wa Uendeshaji wa Chromium hauwezi kufungua ukurasa huu.</translation>
 <translation id="5480860683791598150">Chromium inahitaji kufikia maelezo ya mahali ulipo ili kushiriki mahali ulipo na tovuti hii</translation>
 <translation id="549669000822060376">Tafadhali subiri Chromium inaposakinisha sasisho mpya ya mfumo.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">Chromium haikuweza kusawazisha data yako kutokana na hitalafu ya kuingia katika akaunti.</translation>
 <translation id="6096348254544841612">Weka mapendeleo na udhibiti Chromium. Sasisho linapatikana.</translation>
 <translation id="6120345080069858279">Chromium itahifadhi nenosiri hili kwenye Akaunti yako ya Google. Hutahitaji kulikumbuka.</translation>
-<translation id="6128834065531097268">Umeingia ukitumia akaunti ya Kazini katika nafasi ya <ph name="EXISTING_USER" />. Ungependa kuanzisha nafasi mpya ya Chromium ya <ph name="WORK_DOMAIN" /> ili utenganishe data yako?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> ni hatari, kwa hivyo Chromium imeizuia.</translation>
 <translation id="6134968993075716475">Kipengele cha Kuvinjari Salama kimezimwa. Chromium inapendekeza ukiwashe.</translation>
 <translation id="6212496753309875659">Kompyuta hii tayari ina toleo la hivi punde la Chromium. Ikiwa programu haifanyikazi, tafadhali ondoa Chromium kisha ujaribu tena.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Futa pia data kwenye Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Ikiwa mipangilio haionekani kwenye ukurasa huu, angalia katika.<ph name="LINK_BEGIN" />
       mipangilio ya mfumo wa uendeshaji wa Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Umeingia ukitumia akaunti ya kazini. Ungependa kuanzisha nafasi mpya ya Chromium ya <ph name="NEW_USER" /> ili utenganishe data yako ya binafsi?</translation>
 <translation id="761356813943268536">Chromium inatumia kamera na maikrofoni yako.</translation>
 <translation id="7617377681829253106">Chromium imeboreshwa</translation>
 <translation id="7628001322379820951">Chromium imepata programu hatari kwenye kompyuta yako</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Huu ni usakinishaji wa pili wa Chromium, na haiwezi kufanywa kuwa kivinjari chako chaguomsingi.</translation>
 <translation id="7979877361127045932">Ficha katika menyu ya Chromium</translation>
 <translation id="8013436988911883588">Chromium itakapopata idhini, tovuti zitaweza kukuomba idhini ya kufikia.</translation>
-<translation id="8022442821873033760">Weka mipangilio ya Chromium Space yako mpya</translation>
 <translation id="81770708095080097">Faili hii ni hatari, kwa hivyo Chromium imeizuia.</translation>
 <translation id="8248265253516264921">Ikiwa picha haina ufafanuzi muhimu, Chromium itajaribu kukuwekea. Ili kuweka ufafanuzi, tutatuma picha kwa Google. Unaweza kuzima mipangilio hii wakati wowote.</translation>
 <translation id="8266560134891435528">Chromium imeshindwa kukagua manenosiri yako kwa sababu hujaingia katika akaunti</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Fungua Chromium upya ndani ya siku moja}other{Fungua Chromium upya ndani ya siku #}}</translation>
 <translation id="8453117565092476964">Kumbukumbu ya kisakinishi imeharibika au ni batili. Tafadhali pakua Chromium tena.</translation>
 <translation id="8493179195440786826">Chromium Imepitwa na Wakati</translation>
-<translation id="8545858702702650646">Chagua Chromium Space yako</translation>
 <translation id="8558383651099478961">Mzazi wako amezima "Ruhusa za tovuti, programu na viendelezi" kwenye Chromium. Huruhusiwi kuweka <ph name="EXTENSION_TYPE_PARAMETER" /> hii.</translation>
 <translation id="8568283329061645092">Chromium inaweza kukagua manenosiri unapoingia ukitumia Akaunti yako ya Google</translation>
 <translation id="8586442755830160949">Hakimiliki <ph name="YEAR" /> Wasanidi wa Chromium. Haki zote zimehifadhiwa.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Msimamizi wa mfumo unaotumia ameweka mipangilio ya Chromium ifungue kivinjari mbadala ili ufikie<ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium hukagua kama kuna programu isiyotakikana mara moja kwa wiki. Mara ya mwisho kukagua: muda mfupi uliopita.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Tumia Chromium Space kupanga matukio yako ya kuvinjari kwenye kifaa hiki</translation>
 <translation id="93478295209880648">Huenda Chromium isifanye kazi vizuri kwa sababu haitumiki tena kwenye Windows XP au Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> huhitaji usome na ukubali Sheria na Masharti yafuatayo kabla ya kutumia kifaa hiki. Masharti haya hayapanui, kurekebisha au kupunguza Masharti ya Chromium OS.</translation>
 <translation id="985602178874221306">Waandishi wa Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_ta.xtb b/chrome/app/resources/chromium_strings_ta.xtb
index 46ceb3c..488219e9 100644
--- a/chrome/app/resources/chromium_strings_ta.xtb
+++ b/chrome/app/resources/chromium_strings_ta.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">விரும்பினால்: பிழை அறிக்கைகளையும் உபயோகத் தரவையும் Googleளுக்குத் தானாக அனுப்புவதன் மூலம் Chromium OSஸின் அம்சங்களையும் செயல்திறனையும் மேம்படுத்த உதவலாம்.</translation>
 <translation id="2347108572062610441">Chromiumஐத் தொடங்கும் போது காண்பிக்கப்படும் பக்கத்தை இந்த நீட்டிப்பு மாற்றியுள்ளது.</translation>
 <translation id="2396765026452590966">Chromiumஐத் தொடங்கும் போது காண்பிக்கப்படும் பக்கத்தை, "<ph name="EXTENSION_NAME" />" நீட்டிப்பு மாற்றியுள்ளது.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" />க்கு Chromium ஸ்பேஸை உருவாக்கவா?</translation>
 <translation id="2483889755041906834">Chromium இல்</translation>
 <translation id="2485422356828889247">நிறுவல் நீக்கு</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" />ஐ இயக்க Chromiumஐ மீண்டும் தொடங்குக</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">இந்தக் கணக்கு மற்றொரு கம்ப்யூட்டரில் (<ph name="HOST_NAME" />) மற்றொரு Google Chromium செயல்முறையால் (<ph name="PROCESS_ID" />) பயன்படுத்தப்படுவதாகத் தோன்றுகிறது. Chromium இதைப் பூட்டியுள்ளதால், இது சிதைவடையாது. இதை மற்ற செயல்முறைகள் பயன்படுத்தவில்லை என்பதில் நீங்கள் உறுதியாக இருந்தால், நீங்கள் இதைப் பூட்டுநீக்கி, Chromiumமை மீண்டும் துவங்கலாம்.</translation>
 <translation id="469338717132742108">Chromium OS தொடர்பான உதவி பெறுக</translation>
 <translation id="4708774505295300557">இதற்கு முன்னர் ஒருவர் இந்தக் கம்ப்யூட்டரிலுள்ள Chromiumமில் <ph name="ACCOUNT_EMAIL_LAST" /> எனும் முகவரியைப் பயன்படுத்தி உள்நுழைந்திருந்தார். உங்கள் தகவலைத் தனிப்பட்டதாக வைத்திருக்க, புதிய Chromium பயனரை உருவாக்கவும்.</translation>
-<translation id="4745225042341419983">இந்த ஸ்பேஸின் உலாவிய தரவு இந்தச் சாதனத்திலிருந்து நீக்கப்படும். தரவை மீட்டெடுக்க, Chromiumமில் இந்தக் கணக்கின் மூலம் உள்நுழையவும்</translation>
 <translation id="4746050847053251315">Chromium இலிருந்து வெளியேறவா?</translation>
 <translation id="4748217263233248895">Chromiumமுக்கான சிறப்புப் பாதுகாப்புப் புதுப்பிப்பு சற்றுமுன் இயக்கப்பட்டது. இப்போது Chromiumமை மீண்டும் தொடங்கவும், உங்கள் தாவல்களை மீண்டும் காண்பிப்போம்.</translation>
 <translation id="4750035648288509542">கிட்டத்தட்ட புதுப்பிக்கப்பட்ட நிலையில் உள்ளது! புதுப்பித்தலை முடிக்க Chromiumமை மீண்டும் தொடங்கவும். மறைநிலை சாளரங்கள் மீண்டும் திறக்காது.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium பின்புல பயன்முறையில் இயங்குகிறது.</translation>
 <translation id="4987820182225656817">எதையும் விட்டுசெல்லாமல் கெஸ்ட் பயனர்கள் Chromium ஐப் பயன்படுத்தலாம்.</translation>
 <translation id="4994636714258228724">உங்களை Chromium இல் சேர்க்கவும்</translation>
-<translation id="5053724573690775822">புதிய Chromium பணியிடத்தை உருவாக்கவா?</translation>
 <translation id="5224391634244552924">சேமித்த கடவுச்சொற்கள் எதுவுமில்லை. நீங்கள் அவற்றைச் சேமிக்கும்போது Chromium உலாவியால் உங்கள் கடவுச்சொற்களைச் சரிபார்க்க முடியும்.</translation>
 <translation id="5277894862589591112">உங்கள் மாற்றங்களைச் செயல்படுத்த, Chromiumமை மீண்டும் தொடங்கவும்</translation>
 <translation id="5358375970380395591">நீங்கள் நிர்வகிக்கப்படும் கணக்கு மூலம் உள்நுழைகிறீர்கள், மேலும் அதன் நிர்வாகிக்கு உங்கள் Chromium சுயவிவரத்தின் கட்டுப்பாட்டை வழங்குகிறீர்கள். உங்கள் ஆப்ஸ், புக்மார்க்குகள், வரலாறு, கடவுச்சொற்கள் போன்ற உங்கள் Chromium தரவு மற்றும் பிற அமைப்புகள் நிரந்தரமாக <ph name="USER_NAME" /> உடன் இணைக்கப்படும். இந்தத் தரவை Google கணக்குகளின் டாஷ்போர்டு வழியாக நீக்க முடியும், ஆனால் இந்தத் தரவை வேறொரு கணக்குடன் தொடர்புபடுத்த முடியாது. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">உள்ளமைக்கப்பட்ட PDF வியூவர் இல்லையென்றால், Chromium அச்சிடல் மாதிரிக்காட்சியைக் காண்பிக்காது.</translation>
 <translation id="5427571867875391349">உங்கள் இயல்புநிலை உலாவியாக Chromium ஐ அமை</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium பீட்டா</translation>
-<translation id="544968170749360982"><ph name="EXISTING_USER" /> இன் ஸ்பேஸில் புதிய கணக்கின் மூலம் உள்நுழைந்துள்ளீர்கள். உங்கள் தரவைத் தனிப்பட்டதாக வைத்திருக்கும் வகையில் <ph name="NEW_USER" /> டொமைனுக்கான புதிய Chromium ஸ்பேஸை உருவாக்க விரும்புகிறீர்களா?</translation>
 <translation id="5479196819031988440">Chromium OS ஆல் இந்தப் பக்கத்தைத் திறக்க முடியாது.</translation>
 <translation id="5480860683791598150">இந்தத் தளத்துடன் இருப்பிடத்தைப் பகிர Chromiumமுக்கு உங்கள் இருப்பிடத்திற்கான அணுகல் தேவை</translation>
 <translation id="549669000822060376">சமீபத்திய முறைமை புதுப்பிப்புகளை Chromium நிறுவும் வரை காத்திருக்கவும்.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">உள்நுழைவுப் பிழையின் காரணமாக உங்கள் தரவை Chromium ஆல் ஒத்திசைக்க முடியவில்லை.</translation>
 <translation id="6096348254544841612">Chromiumஐத் தனிப்பயனாக்கி, கட்டுப்படுத்தலாம். புதுப்பிப்பு உள்ளது.</translation>
 <translation id="6120345080069858279">Chromium இந்தக் கடவுச்சொல்லை உங்கள் Google கணக்கில் சேமிக்கும். அதை நீங்கள் நினைவில் வைத்திருக்கத் தேவையில்லை.</translation>
-<translation id="6128834065531097268"><ph name="EXISTING_USER" /> இன் ஸ்பேஸில் பணிக் கணக்கின் மூலம் உள்நுழைந்துள்ளீர்கள். உங்கள் தரவைத் தனிப்பட்டதாக வைத்திருக்கும் வகையில் <ph name="WORK_DOMAIN" /> டொமைனுக்கான புதிய Chromium ஸ்பேஸை உருவாக்க விரும்புகிறீர்களா?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> ஆபத்தானது என்பதால் Chromium அதைத் தடுத்துள்ளது.</translation>
 <translation id="6134968993075716475">’பாதுகாப்பு உலாவல்‘ அம்சம் முடக்கப்பட்டுள்ளது. அதை இயக்குமாறு Chromium பரிந்துரைக்கிறது.</translation>
 <translation id="6212496753309875659">இந்தக் கம்ப்யூட்டரில் ஏற்கனவே Chromiumமின் மிகச் சமீபத்திய பதிப்பு உள்ளது. மென்பொருள் இயங்கவில்லை எனில் Chromiumமை நிறுவல் நீக்கி, பின்னர் முயலவும்.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Chromiumமிலிருந்தும் தரவை அழி (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">இந்தப் பக்கத்தில் ஏதேனும் ஓர் அமைப்பு காட்டப்படவில்லை எனில் அதை <ph name="LINK_BEGIN" />
       Chromium OS அமைப்புகளில்<ph name="LINK_END" /> பார்க்கவும்</translation>
-<translation id="7607142834923530546">பணிக் கணக்கின் மூலம் உள்நுழைந்துள்ளீர்கள். உங்கள் தனிப்பட்ட தரவைத் தனிப்பட்டதாக வைத்திருக்கும் வகையில் <ph name="NEW_USER" /> டொமைனுக்கான புதிய Chromium ஸ்பேஸை உருவாக்க விரும்புகிறீர்களா?</translation>
 <translation id="761356813943268536">Chromium உங்கள் கேமராவையும் மைக்ரோஃபோனையும் பயன்படுத்துகிறது.</translation>
 <translation id="7617377681829253106">Chromium இன்னும் சிறப்படைந்துள்ளது</translation>
 <translation id="7628001322379820951">உங்கள் கம்ப்யூட்டரில் தீங்கிழைக்கும் மென்பொருள் இருப்பதை Chromium கண்டறிந்துள்ளது</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">இது Chromium இன் இரண்டாம் நிலை நிறுவல் என்பதால், அதை இயல்புநிலை உலாவியாக அமைக்க முடியாது.</translation>
 <translation id="7979877361127045932">Chromium மெனுவில் மறை</translation>
 <translation id="8013436988911883588">Chromiumமுக்கு அணுகல் கிடைத்தவுடன், இணையதளங்கள் உங்களிடம் அணுகலைக் கோர முடியும்.</translation>
-<translation id="8022442821873033760">உங்கள் புதிய Chromium ஸ்பேஸை அமைத்தல்</translation>
 <translation id="81770708095080097">இந்தக் கோப்பு ஆபத்தானது என்பதால், அதை Chromium தடுத்துள்ளது.</translation>
 <translation id="8248265253516264921">ஒரு படத்திற்குப் பயனுள்ள விளக்கம் இல்லாதபட்சத்தில் Chromium உங்களுக்காக அதை வழங்க முயலும். விளக்கங்களை உருவாக்குவதற்காக படங்கள் Googleளுக்கு அனுப்பப்படும். அமைப்புகளுக்குச் சென்று எப்போது வேண்டுமானாலும் இதை முடக்கலாம்.</translation>
 <translation id="8266560134891435528">நீங்கள் உள்நுழையாததால் Chromiumமால் கடவுச்சொற்களைச் சரிபார்க்க முடியவில்லை</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{ஒரு நாளுக்குள் Chromiumமை மீண்டும் தொடங்கவும்}other{# நாட்களுக்குள் Chromiumமை மீண்டும் தொடங்கவும்}}</translation>
 <translation id="8453117565092476964">நிறுவி காப்பகம் சிதைந்துள்ளது அல்லது தவறானது. Chromiumமை மீண்டும் பதிவிறக்கவும்.</translation>
 <translation id="8493179195440786826">Chromium காலாவதியானது</translation>
-<translation id="8545858702702650646">உங்கள் Chromium ஸ்பேஸைத் தேர்வுசெய்யுங்கள்</translation>
 <translation id="8558383651099478961">Chromiumமில் "தளங்கள், ஆப்ஸ், நீட்டிப்புகள் ஆகியவற்றுக்கான அனுமதிகளை" உங்கள் பெற்றோர் முடக்கிவிட்டார். இந்த <ph name="EXTENSION_TYPE_PARAMETER" /> ஐச் சேர்க்க அனுமதியில்லை.</translation>
 <translation id="8568283329061645092">Google கணக்கைப் பயன்படுத்தி நீங்கள் உள்நுழையும்போது Chromium உங்கள் கடவுச்சொற்களைச் சரிபார்க்க முடியும்</translation>
 <translation id="8586442755830160949">பதிப்புரிமை <ph name="YEAR" /> Chromium உருவாக்குநர்கள். அனைத்து உரிமைகளும் பாதுகாக்கப்பட்டவை.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217"><ph name="TARGET_URL_HOSTNAME" />ஐ அணுக Chromium அதை மாற்று உலாவியில் திறக்கும்படி உங்கள் சிஸ்டம் நிர்வாகி உள்ளமைத்துள்ளார்.</translation>
 <translation id="9164845895615421500">தேவையற்ற மென்பொருள் உள்ளதா என Chromium வாரம் ஒருமுறை சரிபார்க்கும். கடைசியாகச் சரிபார்த்தது: சிறிது நேரத்திற்கு முன்பு.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">இந்தச் சாதனத்தில் உங்கள் உலாவல் செயல்பாடுகளை ஒழுங்கமைக்க, Chromium ஸ்பேசஸைப் பயன்படுத்தலாம்</translation>
 <translation id="93478295209880648">Windows XP அல்லது Windows Vista ஆகியவற்றில் Chromium இனி ஆதரிக்கப்படாது என்பதால், அது சரியாகச் செயல்படாது</translation>
 <translation id="95514773681268843">இந்தச் சாதனத்தைப் பயன்படுத்துவதற்கு முன் பின்வரும் சேவை விதிமுறைகளைப் படித்து ஏற்றுக்கொள்வது <ph name="DOMAIN" /> க்கு அவசியமாகும். இந்த விதிமுறைகளானது Chromium OS விதிமுறைகளை விரிவாக்கவோ, மாற்றவோ அல்லது கட்டுப்படுத்தவோ செய்யாது.</translation>
 <translation id="985602178874221306">Chromium அங்கீகரிப்பாளர்கள்</translation>
diff --git a/chrome/app/resources/chromium_strings_te.xtb b/chrome/app/resources/chromium_strings_te.xtb
index b3480eb5..fcc918e 100644
--- a/chrome/app/resources/chromium_strings_te.xtb
+++ b/chrome/app/resources/chromium_strings_te.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">ఆప్షనల్: విశ్లేషణ మరియు వినియోగ డేటాను ఆటోమేటిక్‌గా Googleకు పంపడం ద్వారా Chromium OS ఫీచర్‌లు మరియు పనితీరును మెరుగుపరచడంలో సహాయపడండి.</translation>
 <translation id="2347108572062610441">ఈ పొడిగింపు మీరు Chromiumని ప్రారంభించినప్పుడు చూపబడే పేజీని మార్చింది.</translation>
 <translation id="2396765026452590966"><ph name="EXTENSION_NAME" /> పొడిగింపు మీరు Chromiumని ప్రారంభించినప్పుడు చూపబడే పేజీని మార్చింది.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> కోసం కొత్త Chromium ప్రదేశాన్ని క్రియేట్ చేయాలా?</translation>
 <translation id="2483889755041906834">Chromiumలో</translation>
 <translation id="2485422356828889247">అన్ఇన్‌స్టాల్ చేయి</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" />ని ప్రారంభించడానికి Chromiumని పునఃప్రారంభించండి</translation>
@@ -94,7 +93,6 @@
 <translation id="4677944499843243528">ఈ ప్రొఫైల్‌ను మరొక కంప్యూటర్ (<ph name="HOST_NAME" />)లో మరో Chromium ప్రాసెస్ (<ph name="PROCESS_ID" />) ఉపయోగిస్తున్నట్లు కనిపిస్తోంది. Chromium ప్రొఫైల్‌ను లాక్ చేసినందున అది పాడవదు. ఈ ప్రొఫైల్‌ను వేరే ప్రాసెస్‌లు ఏవీ ఉపయోగించడం లేదని మీకు ఖచ్చితంగా తెలిస్తే, ప్రొఫైల్‌ను అన్‌లాక్ చేసి Chromiumను మళ్లీ ప్రారంభించవచ్చు.</translation>
 <translation id="469338717132742108">Chromium OS గురించి సహాయాన్ని పొందండి</translation>
 <translation id="4708774505295300557">ఒకరు ఈ కంప్యూటర్‌లో మునుపు <ph name="ACCOUNT_EMAIL_LAST" /> లాగా Chromiumకు సైన్ ఇన్ చేశారు. దయచేసి మీ సమాచారాన్ని విడిగా ఉంచేందుకు కొత్త Chromium వినియోగదారును సృష్టించండి.</translation>
-<translation id="4745225042341419983">ఈ వ్యక్తి బ్రౌజింగ్ డేటా ఈ పరికరం నుండి తొలగించబడుతుంది. డేటాను తిరిగి పొందడానికి, ఇలా Chromiumకు సైన్ ఇన్ చేయండి</translation>
 <translation id="4746050847053251315">ఏదేమైనా Chromiumని మూసివేయాలా?</translation>
 <translation id="4748217263233248895">Chromiumకి సంబంధించిన ప్రత్యేక భద్రతా అప్‌డేట్ వర్తింపజేయబడింది. ఇప్పుడే పునఃప్రారంభించండి, మేము మీ ట్యాబ్‌లను పునరుద్ధరిస్తాము.</translation>
 <translation id="4750035648288509542">దాదాపుగా తాజాగా ఉంది! అప్‌డేట్ చేయడాన్ని పూర్తి చేయడానికి Chromiumను మళ్లీ ప్రారంభించండి. అజ్ఞాత విండోలు మళ్లీ తెరవబడవు.</translation>
@@ -104,7 +102,6 @@
 <translation id="4943838377383847465">Chromium నేపథ్య మోడ్‌లో ఉంది.</translation>
 <translation id="4987820182225656817">అతిథులు ఎటువంటి చరిత్రను వదలకుండానే Chromiumను ఉపయోగించవచ్చు.</translation>
 <translation id="4994636714258228724">Chromiumకు మిమ్మల్ని జోడించుకోండి</translation>
-<translation id="5053724573690775822">కొత్త Chromium వర్క్ స్పేస్‌ను క్రియేట్ చేయాలా?</translation>
 <translation id="5224391634244552924">సేవ్ చేసిన పాస్‌వర్డ్‌లు లేవు. మీరు మీ పాస్‌వర్డ్‌లను సేవ్ చేసినప్పుడు Chromium వాటిని చెక్ చేయగలదు.</translation>
 <translation id="5277894862589591112">మీ మార్పులను వర్తింపజేయడానికి, Chromiumని పునఃప్రారంభించండి</translation>
 <translation id="5358375970380395591">మీరు నిర్వహించబడే ఖాతాతో సైన్ ఇన్ చేస్తున్నారు. దీని నిర్వాహకునికి మీ Chromium ప్రొఫైల్‌పై నియంత్రణను అందిస్తున్నారు. మీ యాప్‌లు, బుక్‌మార్క్‌లు, చరిత్ర, పాస్‌వర్డ్‌లు, ఇతర సెట్టింగ్‌ల వంటి మీ Chromium డేటా శాశ్వతంగా <ph name="USER_NAME" />కు అనుబంధించబడుతుంది. మీరు Google ఖాతాల డాష్‌బోర్డ్ ద్వారా ఈ డేటాను తొలగించవచ్చు. కానీ ఈ డేటాను మరో ఖాతాతో అనుబంధించలేరు. <ph name="LEARN_MORE" /></translation>
@@ -114,7 +111,6 @@
 <translation id="5416696090975899932">అంతర్నిర్మిత PDF వ్యూయర్ లేనప్పుడు Chromium ముద్రణ ప్రివ్యూని చూపించదు.</translation>
 <translation id="5427571867875391349">Chromiumను మీ డిఫాల్ట్ బ్రౌజర్‌గా సెట్ చేయండి</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium బీటా</translation>
-<translation id="544968170749360982"><ph name="EXISTING_USER" /> ప్రదేశంలో కొత్త ఖాతాతో మీరు సైన్ ఇన్ చేశారు. మీ డేటాను వేరుగా సేవ్ చేయడానికి <ph name="NEW_USER" /> కోసం కొత్త Chromium ప్రదేశాన్ని క్రియేట్ చేయాలనుకుంటున్నారా?</translation>
 <translation id="5479196819031988440">Chromium OS ఈ పేజీని తెరవలేదు.</translation>
 <translation id="5480860683791598150">ఈ సైట్‌తో మీ స్థానాన్ని షేర్ చేయడానికి Chromiumకు మీ స్థాన యాక్సెస్ అవసరం</translation>
 <translation id="549669000822060376">దయచేసి Chromium తాజా సిస్టమ్ నవీకరణలను ఇన్‌స్టాల్ చేస్తున్నప్పుడు వేచి ఉండండి.</translation>
@@ -137,7 +133,6 @@
 <translation id="608189560609172163">సైన్ ఇన్ చేయడంలో ఎర్రర్ కారణంగా Chromium మీ డేటాను సింక్ చేయలేకపోయింది.</translation>
 <translation id="6096348254544841612">Chromiumను అనుకూలీకరించండి మరియు నియంత్రించండి. అప్‌డేట్ అందుబాటులో ఉంది.</translation>
 <translation id="6120345080069858279">Chromium ఈ పాస్‌వర్డ్‌ను మీ Google ఖాతాలో సేవ్ చేస్తుంది. మీరు దీనిని గుర్తుంచుకోవాల్సిన అవసరం లేదు.</translation>
-<translation id="6128834065531097268"><ph name="EXISTING_USER" /> ప్రదేశంలో కార్యాలయ ఖాతాతో మీరు సైన్ ఇన్ చేశారు. మీ డేటాను వేరుగా సేవ్ చేయడానికి <ph name="WORK_DOMAIN" /> కోసం కొత్త Chromium ప్రదేశాన్ని క్రియేట్ చేయాలనుకుంటున్నారా?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> హానికరం, కావున Chromium దాన్ని బ్లాక్ చేసింది.</translation>
 <translation id="6134968993075716475">సురక్షిత బ్రౌజింగ్ ఆఫ్ చేయబడింది. దాన్ని ఆన్ చేయమని Chromium సిఫార్సు చేస్తోంది.</translation>
 <translation id="6212496753309875659">ఈ కంప్యూటర్‌లో ఇప్పటికే మరింత తాజాదైన Chromium వెర్షన్ ఉంది. సాఫ్ట్‌వేర్ పని చేయకపోతే, దయచేసి Chromiumను అన్ఇన్‌స్టాల్ చేసి, మళ్లీ ప్రయత్నించండి.</translation>
@@ -197,7 +192,6 @@
 <translation id="7561906087460245826">అలాగే (<ph name="URL" />)లో ఉన్న Chromiumకి సంబంధించిన డేటాని తీసివేయి</translation>
 <translation id="7585853947355360626">ఏదైనా సెట్టింగ్ ఈ పేజీలో కనపడకపోతే, మీ <ph name="LINK_BEGIN" />
       Chromium OS సెట్టింగ్‌లు<ph name="LINK_END" />లో చూడండి</translation>
-<translation id="7607142834923530546">మీరు కార్యాలయ ఖాతాతో సైన్ ఇన్ చేశారు. మీ వ్యక్తిగత డేటాను వేరుగా సేవ్ చేయడానికి <ph name="NEW_USER" /> కోసం కొత్త Chromium ప్రదేశాన్ని క్రియేట్ చేయాలనుకుంటున్నారా?</translation>
 <translation id="761356813943268536">Chromium మీ కెమెరా మరియు మైక్రోఫోన్‌ని ఉపయోగిస్తోంది.</translation>
 <translation id="7617377681829253106">Chromium ఇప్పుడు మెరుగైంది</translation>
 <translation id="7628001322379820951">మీ కంప్యూటర్‌లో హానికరమైన సాప్ఠ్‌వేర్‌ను Chromium కనుగొన్నది</translation>
@@ -215,7 +209,6 @@
 <translation id="7975919845073681630">ఇది Chromium రెండవ ఇన‌స్ట‌లేష‌న్. దీన్ని మీ డిఫాల్ట్ బ్రౌజర్‌గా చేయడం సాధ్యపడదు.</translation>
 <translation id="7979877361127045932">Chromium మెనూలో దాచండి</translation>
 <translation id="8013436988911883588">ఓసారి Chromiumకి యాక్సెస్ లభించాక, ఆపై వెబ్‌సైట్‌లకు ఏమైనా యాక్సెస్‌ కావాలంటే అవి మిమ్మల్ని అడగవచ్చు.</translation>
-<translation id="8022442821873033760">మీ కొత్త Chromium Spaceను సెటప్ చేయండి</translation>
 <translation id="81770708095080097">ఈ ఫైల్ అపాయకరమైనది, కాబట్టి Chromium దీన్ని బ్లాక్ చేసింది.</translation>
 <translation id="8248265253516264921">చిత్రంలో ఉపయోగకరమైన వివరణ లేకుంటే, మీ కోసం ఒక వివరణను అందించడానికి Chromium ప్రయత్నిస్తుంది. వివరణలను సృష్టించడానికి, చిత్రాలు Googleకు పంపబడతాయి. మీరు దీన్ని ఎప్పుడైనా సెట్టింగ్‌లలో ఆఫ్ చేయవచ్చు.</translation>
 <translation id="8266560134891435528">మీరు సైన్ ఇన్ చేయనందున Chromium మీ పాస్‌వర్డ్‌లను తనిఖీ చేయలేదు</translation>
@@ -226,7 +219,6 @@
 <translation id="8417404458978023919">{0,plural, =1{ఒక రోజులోపు Chromiumను తిరిగి ప్రారంభించండి}other{# రోజులలోపు Chromiumను తిరిగి ప్రారంభించండి}}</translation>
 <translation id="8453117565092476964">ఇన్‌స్టాలర్ ఆర్కైవ్ పాడైంది లేదా చెల్లదు. దయచేసి Chromiumను మళ్లీ డౌన్‌లోడ్ చేయండి.</translation>
 <translation id="8493179195440786826">Chromium కాలం చెల్లినది</translation>
-<translation id="8545858702702650646">మీ Chromium స్పేస్‌ను ఎంచుకోండి</translation>
 <translation id="8558383651099478961">Chromiumలో సైట్‌లు, యాప్‌లు, ఎక్స్‌టెన్షన్‌లకు సంబంధించిన అనుమతులను మీ తల్లి/తండ్రి ఆఫ్ చేశారు. ఈ <ph name="EXTENSION_TYPE_PARAMETER" />ను జోడించడానికి అనుమతి లేదు.</translation>
 <translation id="8568283329061645092">మీరు మీ Google ఖాతాతో సైన్ ఇన్ చేసి ఉన్నప్పుడు, Chromium మీ పాస్‌వర్డ్‌లను చెక్ చేయగలుగుతుంది</translation>
 <translation id="8586442755830160949">కాపీరైట్ <ph name="YEAR" /> Chromium రచయితలు. అన్ని హ‌క్కులు రిజ‌ర్వ్ చేయ‌బ‌డ్డాయి.</translation>
@@ -252,7 +244,6 @@
 <translation id="9158494823179993217"><ph name="TARGET_URL_HOSTNAME" />‌ను యాక్సెస్ చేయడం కోసం ఒక ప్రత్యామ్నాయ బ్రౌజర్‌ను తెరిచే విధంగా Chromiumను మీ సిస్టమ్ నిర్వాహకులు కాన్ఫిగర్ చేశారు.</translation>
 <translation id="9164845895615421500">అవాంఛిత సాఫ్ట్‌వేర్ ఏదైనా ఉందా? అని వారానికి ఒకసారి Chromium తనిఖీ చేస్తుంది. చివరగా తనిఖీ చేసిన సమయం: ఒక క్షణం క్రితం.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">ఈ పరికరంలో మీ బ్రౌజింగ్‌ను క్రమబద్ధంగా ఉంచడానికి Chromium స్పేస్‌లను ఉపయోగించండి</translation>
 <translation id="93478295209880648">Chromiumకి ఇప్పుడు Windows XP లేదా Windows Vistaలో మద్దతు లేనందున ఇది సరిగ్గా పని చేయకపోవచ్చు</translation>
 <translation id="95514773681268843">మీరు ఈ పరికరాన్ని ఉపయోగించడానికి ముందు సేవా నిబంధనలను చదివి, అంగీకరించాలని <ph name="DOMAIN" /> కోరుతోంది. ఈ నిబంధనలు Chromium OS నిబంధనలను విస్తరింపజేయవు, సవరించవు లేదా పరిమితం చేయవు.</translation>
 <translation id="985602178874221306">Chromium రచయితలు</translation>
diff --git a/chrome/app/resources/chromium_strings_th.xtb b/chrome/app/resources/chromium_strings_th.xtb
index f0aed41..3cbae14 100644
--- a/chrome/app/resources/chromium_strings_th.xtb
+++ b/chrome/app/resources/chromium_strings_th.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">ไม่บังคับ: ช่วยปรับปรุงฟีเจอร์และประสิทธิภาพของ Chromium OS โดยการส่งข้อมูลการวินิจฉัยและการใช้งานให้ Google โดยอัตโนมัติ</translation>
 <translation id="2347108572062610441">ส่วนขยายนี้ได้เปลี่ยนหน้าที่จะแสดงเมื่อคุณเริ่มต้น Chromium</translation>
 <translation id="2396765026452590966">ส่วนขยาย "<ph name="EXTENSION_NAME" />" ได้เปลี่ยนหน้าที่จะแสดงเมื่อคุณเริ่มต้น Chromium</translation>
-<translation id="2442081746662839303">สร้างพื้นที่ใหม่ใน Chromium สำหรับ <ph name="NEW_USER" /> ไหม</translation>
 <translation id="2483889755041906834">ใน Chromium</translation>
 <translation id="2485422356828889247">ถอนการติดตั้ง</translation>
 <translation id="2527042973354814951">รีสตาร์ท Chromium เพื่อเปิดใช้ <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">ดูเหมือนว่าโปรไฟล์กำลังถูกใช้งานโดยกระบวนการอื่นของ Chromium (<ph name="PROCESS_ID" />) บนคอมพิวเตอร์อีกเครื่อง (<ph name="HOST_NAME" />) Chromium ล็อกโปรไฟล์ไว้เพื่อไม่ให้โปรไฟล์เกิดความเสียหาย หากคุณมั่นใจว่าไม่มีกระบวนการอื่นใดกำลังใช้โปรไฟล์นี้อยู่ คุณสามารถปลดล็อกโปรไฟล์และเปิด Chromium ใหม่</translation>
 <translation id="469338717132742108">รับความช่วยเหลือเกี่ยวกับ Chromium OS</translation>
 <translation id="4708774505295300557">ก่อนหน้านี้มีผู้ลงชื่อเข้าใช้ Chromium ในคอมพิวเตอร์นี้ด้วยชื่อ <ph name="ACCOUNT_EMAIL_LAST" /> โปรดสร้างผู้ใช้ Chromium ใหม่เพื่อเก็บข้อมูลแยก</translation>
-<translation id="4745225042341419983">ระบบจะลบข้อมูลการท่องเว็บของ Space นี้ออกจากอุปกรณ์เครื่องนี้ หากต้องการกู้ข้อมูลคืน ให้ลงชื่อเข้าใช้ Chromium ในชื่อ</translation>
 <translation id="4746050847053251315">ปิด Chromium ใช่ไหม</translation>
 <translation id="4748217263233248895">ระบบเพิ่งนำการอัปเดตความปลอดภัยพิเศษไปใช้กับ Chromium รีสตาร์ทเลย แล้วเราจะคืนค่าแท็บให้คุณ</translation>
 <translation id="4750035648288509542">ใกล้จะอัปเดตเสร็จแล้ว เปิด Chromium อีกครั้งเพื่อให้การอัปเดตเสร็จสมบูรณ์ หน้าต่างที่ไม่ระบุตัวตนจะไม่เปิดให้อีก</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium กำลังอยู่ในโหมดทำงานในพื้นหลัง</translation>
 <translation id="4987820182225656817">ผู้เยี่ยมชมสามารถใช้ Chromium โดยไม่ทิ้งร่องรอยไว้</translation>
 <translation id="4994636714258228724">เพิ่มตัวคุณเองใน Chromium</translation>
-<translation id="5053724573690775822">สร้างพื้นที่งานใหม่ใน Chromium ไหม</translation>
 <translation id="5224391634244552924">ไม่มีรหัสผ่านที่บันทึกไว้ Chromium จะตรวจสอบรหัสผ่านได้เมื่อคุณบันทึกรหัสผ่านไว้</translation>
 <translation id="5277894862589591112">เปิด Chromium ขึ้นมาใหม่เพื่อให้การเปลี่ยนแปลงมีผล</translation>
 <translation id="5358375970380395591">คุณกำลังลงชื่อเข้าใช้ด้วยบัญชีที่จัดการ และให้การควบคุมระดับผู้ดูแลระบบของบัญชีดังกล่าวเหนือโปรไฟล์ Chromium ของคุณ ข้อมูล Chromium เช่น แอป บุ๊กมาร์ก ประวัติการเข้าชม รหัสผ่าน และการตั้งค่าอื่นๆ จะเชื่อมโยงอย่างถาวรกับ <ph name="USER_NAME" /> คุณจะสามารถลบข้อมูลนี้ผ่านทางแผงควบคุมบัญชี Google แต่คุณจะไม่สามารถเชื่อมโยงข้อมูลนี้กับบัญชีอื่น <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium แสดงหน้าตัวอย่างก่อนพิมพ์ไม่ได้หากไม่มีโปรแกรมดู PDF ในตัว</translation>
 <translation id="5427571867875391349">ตั้ง Chromium เป็นเบราว์เซอร์เริ่มต้นของคุณ</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium เบต้า</translation>
-<translation id="544968170749360982">คุณลงชื่อเข้าใช้ด้วยบัญชีใหม่ในพื้นที่ของ <ph name="EXISTING_USER" /> คุณต้องการสร้างพื้นที่ใหม่ใน Chromium เพื่อให้ <ph name="NEW_USER" /> เก็บข้อมูลของคุณแยกไว้ต่างหากไหม</translation>
 <translation id="5479196819031988440">Chromium OS ไม่สามารถเปิดหน้านี้</translation>
 <translation id="5480860683791598150">Chromium ต้องการสิทธิ์เข้าถึงตำแหน่งของคุณเพื่อแชร์ตำแหน่งกับเว็บไซต์นี้</translation>
 <translation id="549669000822060376">โปรดรอขณะที่ Chromium ติดตั้งการอัปเดตระบบล่าสุด</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium ไม่สามารถซิงค์ข้อมูลของคุณเนื่องจากข้อผิดพลาดในการลงชื่อเข้าใช้</translation>
 <translation id="6096348254544841612">ปรับแต่งและควบคุม Chromium มีการอัปเดต</translation>
 <translation id="6120345080069858279">Chromium จะบันทึกรหัสผ่านนี้ในบัญชี Google คุณจะได้ไม่ต้องจำรหัสผ่านเอง</translation>
-<translation id="6128834065531097268">คุณลงชื่อเข้าใช้ด้วยบัญชีงานในพื้นที่ของ <ph name="EXISTING_USER" /> คุณต้องการสร้างพื้นที่ใหม่ใน Chromium เพื่อให้ <ph name="WORK_DOMAIN" /> เก็บข้อมูลของคุณแยกไว้ต่างหากไหม</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> เป็นอันตราย Chromium จึงบล็อกไว้</translation>
 <translation id="6134968993075716475">Google Safe Browsing ปิดอยู่ Chromium ขอแนะนำให้เปิด</translation>
 <translation id="6212496753309875659">คอมพิวเตอร์เครื่องนี้ติดตั้ง Chromium รุ่นที่ใหม่กว่าอยู่แล้ว ถ้าซอฟต์แวร์ไม่ทำงาน โปรดถอนการติดตั้ง Chromium และลองอีกครั้ง</translation>
@@ -200,7 +195,6 @@
 <translation id="7549178288319965365">เกี่ยวกับ Chromium OS</translation>
 <translation id="7561906087460245826">ล้างข้อมูลจาก Chromium (<ph name="URL" />) ด้วย</translation>
 <translation id="7585853947355360626">หากการตั้งค่าไม่แสดงในหน้านี้ โปรดดูที่<ph name="LINK_BEGIN" />การตั้งค่า Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">คุณลงชื่อเข้าใช้ด้วยบัญชีงาน คุณต้องการสร้างพื้นที่ใหม่ใน Chromium เพื่อให้ <ph name="NEW_USER" /> เก็บข้อมูลส่วนตัวของคุณแยกไว้ต่างหากไหม</translation>
 <translation id="761356813943268536">Chromium ใช้กล้องและไมโครโฟนของคุณอยู่</translation>
 <translation id="7617377681829253106">Chromium ดีขึ้นกว่าเดิม</translation>
 <translation id="7628001322379820951">Chromium พบซอฟต์แวร์ที่เป็นอันตรายในคอมพิวเตอร์ของคุณ</translation>
@@ -218,7 +212,6 @@
 <translation id="7975919845073681630">นี่เป็นการติดตั้ง Chromium แบบสำรอง และไม่สามารถใช้เป็นเบราว์เซอร์เริ่มต้นของคุณ</translation>
 <translation id="7979877361127045932">ซ่อนในเมนู Chromium</translation>
 <translation id="8013436988911883588">เมื่อ Chromium มีสิทธิ์การเข้าถึงแล้ว เว็บไซต์จะขอสิทธิ์การเข้าถึงจากคุณได้</translation>
-<translation id="8022442821873033760">ตั้งค่า Chrome Space ใหม่</translation>
 <translation id="81770708095080097">ไฟล์นี้อันตราย Chromium จึงบล็อกไว้</translation>
 <translation id="8248265253516264921">หากรูปภาพไม่มีคำอธิบายที่เป็นประโยชน์ Chromium จะพยายามใส่คำอธิบายให้คุณ รูปภาพจะส่งมายัง Google เพื่อสร้างคำอธิบาย คุณปิดการดำเนินการนี้ได้ทุกเมื่อในการตั้งค่า</translation>
 <translation id="8266560134891435528">Chromium ตรวจสอบรหัสผ่านไม่ได้เพราะคุณไม่ได้ลงชื่อเข้าใช้</translation>
@@ -229,7 +222,6 @@
 <translation id="8417404458978023919">{0,plural, =1{เปิด Chromium ขึ้นมาใหม่ภายใน 1 วัน}other{เปิด Chromium ขึ้นมาใหม่ภายใน # วัน}}</translation>
 <translation id="8453117565092476964">การเก็บข้อมูลของโปรแกรมติดตั้งเสียหายหรือไม่ถูกต้อง โปรดดาวน์โหลด Chromium อีกครั้ง</translation>
 <translation id="8493179195440786826">Chromium ล้าสมัย</translation>
-<translation id="8545858702702650646">เลือก Chromium Space</translation>
 <translation id="8558383651099478961">ผู้ปกครองได้ปิด "สิทธิ์สำหรับเว็บไซต์ แอป และส่วนขยาย" ใน Chromium ไม่อนุญาตให้เพิ่ม<ph name="EXTENSION_TYPE_PARAMETER" />นี้</translation>
 <translation id="8568283329061645092">Chromium จะตรวจสอบรหัสผ่านได้เมื่อคุณลงชื่อเข้าใช้ด้วยบัญชี Google</translation>
 <translation id="8586442755830160949">ลิขสิทธิ์ <ph name="YEAR" /> The Chromium Authors สงวนลิขสิทธิ์</translation>
@@ -255,7 +247,6 @@
 <translation id="9158494823179993217">ผู้ดูแลระบบของคุณกำหนดค่าให้ Chromium เปิดเบราว์เซอร์สำรองเพื่อเข้าถึง <ph name="TARGET_URL_HOSTNAME" /></translation>
 <translation id="9164845895615421500">Chromium จะตรวจหาซอฟต์แวร์ไม่พึงประสงค์สัปดาห์ละครั้ง ตรวจสอบล่าสุด: เมื่อสักครู่</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">ใช้ Chromium Space เพื่อจัดระเบียบการท่องเว็บในอุปกรณ์นี้</translation>
 <translation id="93478295209880648">Chromium อาจทำงานไม่ถูกต้องเพราะไม่รองรับ Windows XP หรือ Windows Vista อีกต่อไป</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> กำหนดว่าคุณต้องอ่านและยอมรับข้อกำหนดในการให้บริการต่อไปนี้ก่อนใช้อุปกรณ์นี้ ข้อกำหนดเหล่านี้ไม่ขยาย แก้ไข หรือจำกัดข้อกำหนดของ Chromium OS</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_tr.xtb b/chrome/app/resources/chromium_strings_tr.xtb
index 8a0d9bf..4f62a59 100644
--- a/chrome/app/resources/chromium_strings_tr.xtb
+++ b/chrome/app/resources/chromium_strings_tr.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">İsteğe bağlı: Teşhis ve kullanım verilerini Google'a otomatik olarak göndererek Chromium OS özelliklerini ve performansını iyileştirmeye yardımcı olun.</translation>
 <translation id="2347108572062610441">Bu uzantı, Chromium'u başlattığınızda gösterilen sayfayı değiştirdi.</translation>
 <translation id="2396765026452590966">"<ph name="EXTENSION_NAME" />" uzantısı, Chromium'u başlattığınızda gösterilen sayfayı değiştirdi.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> için yeni Chromium alanı oluşturulsun mu?</translation>
 <translation id="2483889755041906834">Chromium'da</translation>
 <translation id="2485422356828889247">Yüklemeyi Kaldır</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> eklentisini etkinleştirmek için Chromium'u yeniden başlatın</translation>
@@ -94,7 +93,6 @@
 <translation id="4677944499843243528">Profilin başka bir bilgisayarda (<ph name="HOST_NAME" />) başka bir Chromium işlemi (<ph name="PROCESS_ID" />) tarafından kullanıldığı anlaşılıyor. Chromium, profili bozulmaması için kilitledi. Bu profili başka hiçbir işlemin kullanmadığından eminseniz profilin kilidini açabilir ve Chromium'u tekrar başlatabilirsiniz.</translation>
 <translation id="469338717132742108">Chromium OS ile ilgili yardım alın</translation>
 <translation id="4708774505295300557">Birisi daha önce bu bilgisayarda <ph name="ACCOUNT_EMAIL_LAST" /> olarak Chromium oturumu açmış. Bilgilerinizi ayrı tutmak için yeni bir Chromium kullanıcısı oluşturun.</translation>
-<translation id="4745225042341419983">Bu alanın tarama verileri bu cihazdan silinecek. Verileri kurtarmak için Chromium'da şu hesapla oturum açın:</translation>
 <translation id="4746050847053251315">Yine de Chromium'dan çıkılsın mı?</translation>
 <translation id="4748217263233248895">Chromium için özel bir güvenlik güncellemesi uygulandı. Uygulamayı hemen yeniden başlatın; açık sekmeleriniz geri yüklenir.</translation>
 <translation id="4750035648288509542">Güncel hale gelmek üzere! Güncellemenin tamamlanması için Chromium'u yeniden başlatın. Gizli pencereler yeniden açılmayacak.</translation>
@@ -104,7 +102,6 @@
 <translation id="4943838377383847465">Chromium arka plan modunda.</translation>
 <translation id="4987820182225656817">Misafirler Chromium'u geride hiçbir şey bırakmadan kullanabilir.</translation>
 <translation id="4994636714258228724">Kendinizi Chromium'a ekleyin</translation>
-<translation id="5053724573690775822">Yeni Chromium İş alanı oluşturulsun mu?</translation>
 <translation id="5224391634244552924">Kaydedilen şifre yok. Chromium, kaydetmeniz halinde şifrelerinizi kontrol edebilir.</translation>
 <translation id="5277894862589591112">Yaptığınız değişiklikleri uygulamak için Chromium'u yeniden başlatın</translation>
 <translation id="5358375970380395591">Yönetilen bir hesapla oturum açıyor ve hesabın yöneticisine Chromium profilinizi denetleme izni veriyorsunuz. Uygulamalarınız, yer işaretleriniz, geçmişiniz, şifreleriniz ve diğer ayarlarınız gibi Chromium verileriniz kalıcı olarak <ph name="USER_NAME" /> ile bağlantılandırılacaktır. Google Hesapları Hesap Özeti'ni kullanarak bu verileri silebilecek, ancak bu verileri başka bir hesapla ilişkilendiremeyeceksiniz. <ph name="LEARN_MORE" /></translation>
@@ -114,7 +111,6 @@
 <translation id="5416696090975899932">Chromium, dahili PDF görüntüleyici yokken baskı önizlemeyi gösteremez.</translation>
 <translation id="5427571867875391349">Chromium'u varsayılan tarayıcım olarak ayarla</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982"><ph name="EXISTING_USER" /> adlı kullanıcının alanında yeni bir hesapla oturum açtınız. Verilerinizi ayrı tutmak amacıyla, <ph name="NEW_USER" /> için yeni bir Chromium alanı oluşturmak ister misiniz?</translation>
 <translation id="5479196819031988440">Chromium OS bu sayfayı açamıyor.</translation>
 <translation id="5480860683791598150">Konumunuzu bu siteyle paylaşabilmek için Chromium'un konum bilgilerinize erişmesi gerekiyor</translation>
 <translation id="549669000822060376">Chromium en son sistem güncellemelerini yüklerken lütfen bekleyin.</translation>
@@ -137,7 +133,6 @@
 <translation id="608189560609172163">Oturum açma sırasındaki bir hata nedeniyle Chromium, verilerinizi senkronize edemedi.</translation>
 <translation id="6096348254544841612">Chromium'u özelleştirin ve kontrol edin. Güncelleme mevcut.</translation>
 <translation id="6120345080069858279">Chromium, şifrenizi Google Hesabınızda kaydedecek. Bu şekilde şifreyi hatırlamanız gerekmez.</translation>
-<translation id="6128834065531097268"><ph name="EXISTING_USER" /> adlı kullanıcının alanında bir İş hesabıyla oturum açtınız. Verilerinizi ayrı tutmak amacıyla, <ph name="WORK_DOMAIN" /> için yeni bir Chromium alanı oluşturmak ister misiniz?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> tehlikeli olduğu için Chromium tarafından engellendi.</translation>
 <translation id="6134968993075716475">Güvenli Tarama kapalı. Chromium bunun açılmasını öneriyor.</translation>
 <translation id="6212496753309875659">Bu bilgisayarda Chromium'un daha yeni bir sürümü de var. Yazılım çalışmıyorsa, Chromium'u kaldırın ve tekrar deneyin.</translation>
@@ -199,7 +194,6 @@
 <translation id="7561906087460245826">Chromium'daki verileri de temizle (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Bir ayar bu sayfada görünmüyorsa <ph name="LINK_BEGIN" />
       Chromium OS ayarlarınıza<ph name="LINK_END" /> bakın</translation>
-<translation id="7607142834923530546">İş hesabıyla oturum açtınız. Kişisel verilerinizi ayrı tutmak amacıyla, <ph name="NEW_USER" /> için yeni bir Chromium alanı oluşturmak ister misiniz?</translation>
 <translation id="761356813943268536">Chromium kameranızı ve mikrofonunuzu kullanıyor.</translation>
 <translation id="7617377681829253106">Chromium daha da iyi bir hale geldi</translation>
 <translation id="7628001322379820951">Chromium, bilgisayarınızda zararlı yazılım buldu</translation>
@@ -217,7 +211,6 @@
 <translation id="7975919845073681630">Bu, Chromium'un ikincil bir yüklemesidir ve varsayılan tarayıcınız yapılamaz.</translation>
 <translation id="7979877361127045932">Chromium menüsünde gizle</translation>
 <translation id="8013436988911883588">Chromium erişim izni aldıktan sonra, web siteleri de erişim için sizden izin isteyebilecek.</translation>
-<translation id="8022442821873033760">Yeni Chromium Alanınızı oluşturma</translation>
 <translation id="81770708095080097">Bu dosya tehlikeli olduğu için Chromium tarafından engellendi.</translation>
 <translation id="8248265253516264921">Bir resmin işe yarar bir açıklaması yoksa, Chromium sizin için bir açıklama sağlamaya çalışır. Açıklama oluşturmak için resimler Google'a gönderilir. Bu özelliği istediğiniz zaman ayarlardan kapatabilirsiniz.</translation>
 <translation id="8266560134891435528">Oturum açmadığınız için Chromium, şifrelerinizi kontrol edemiyor</translation>
@@ -228,7 +221,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromium'u bir gün içinde yeniden başlatın}other{Chromium'u # gün içinde yeniden başlatın}}</translation>
 <translation id="8453117565092476964">Yükleyici arşivi bozuk veya geçersiz. Lütfen Chromium'u yeniden indirin.</translation>
 <translation id="8493179195440786826">Chromium Sürümü Eski</translation>
-<translation id="8545858702702650646">Chromium Alanı'nızı seçin</translation>
 <translation id="8558383651099478961">Ebeveyniniz, Chromium'a yönelik "Siteler, uygulamalar ve uzantılar için izinler"i kapattı. Bu <ph name="EXTENSION_TYPE_PARAMETER" /> uzantısını eklemeye izin verilmiyor.</translation>
 <translation id="8568283329061645092">Chromium, Google Hesabınızla oturum açtığınızda şifrelerinizi kontrol edebilir</translation>
 <translation id="8586442755830160949">Telif Hakkı <ph name="YEAR" /> The Chromium Authors. Tüm hakları saklıdır.</translation>
@@ -254,7 +246,6 @@
 <translation id="9158494823179993217">Sistem yöneticiniz, Chromium'u, <ph name="TARGET_URL_HOSTNAME" /> sitesini alternatif bir tarayıcıda açacak şekilde yapılandırmış.</translation>
 <translation id="9164845895615421500">Chromium, istenmeyen yazılımları haftada bir kontrol eder. Son kontrol: Biraz önce.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Bu cihazda göz atma geçmişinizi düzenli tutmak için Chromium Alanları'nı kullanın</translation>
 <translation id="93478295209880648">Chromium artık Windows XP veya Windows Vista üzerinde desteklenmediği için doğru şekilde çalışmayabilir</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" />, bu cihazı kullanmadan önce aşağıdaki Hizmet Şartları'nı okuyup kabul etmenizi gerektirmektedir. Bu şartlar, Chromium OS Şartları'nın kapsamını genişletmez, değiştirmez veya sınırlamaz.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_uk.xtb b/chrome/app/resources/chromium_strings_uk.xtb
index 550a45ab..3a4906cc 100644
--- a/chrome/app/resources/chromium_strings_uk.xtb
+++ b/chrome/app/resources/chromium_strings_uk.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Додатково: допоможіть покращувати функції та підвищувати продуктивність ОС Chromium, автоматично надсилаючи в Google дані про діагностику та використання.</translation>
 <translation id="2347108572062610441">Це розширення змінило сторінку, яка відкривається під час запуску Chromium.</translation>
 <translation id="2396765026452590966">Розширення "<ph name="EXTENSION_NAME" />" змінило сторінку, яка відкривається під час запуску Chromium.</translation>
-<translation id="2442081746662839303">Створити новий профіль Chromium, яким користуватиметься <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">У Chromium</translation>
 <translation id="2485422356828889247">Видалити</translation>
 <translation id="2527042973354814951">Перезавантажте Chromium, щоб увімкнути плагін "<ph name="PLUGIN_NAME" />"</translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Схоже, профіль використовується іншим процесом Chromium (<ph name="PROCESS_ID" />) на іншому комп’ютері (<ph name="HOST_NAME" />). Chromium заблокував профіль, щоб запобігти його спотворенню. Якщо ви впевнені, що жоден інший процес не використовує цей профіль, розблокуйте профіль і перезапустіть Chromium.</translation>
 <translation id="469338717132742108">Отримати довідку щодо ОС Chromium</translation>
 <translation id="4708774505295300557">Хтось раніше входив у Chromium на цьому комп’ютері як <ph name="ACCOUNT_EMAIL_LAST" />. Створіть нового користувача Chromium, щоб зберігати свою інформацію окремо.</translation>
-<translation id="4745225042341419983">Дані веб-перегляду буде видалено з цього пристрою. Щоб відновити їх, увійдіть в обліковий запис Chromium як</translation>
 <translation id="4746050847053251315">Усе одно вийти з Chromium?</translation>
 <translation id="4748217263233248895">Щойно було застосовано спеціальне оновлення для захисту Chromium. Перезапустіть веб-переглядач, і ваші вкладки буде відновлено.</translation>
 <translation id="4750035648288509542">Майже готово. Перезапустіть Chromium, щоб завершити оновлення. Вікна в режимі анонімного перегляду не відновляться й не відкриються знову.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium у фоновому режимі.</translation>
 <translation id="4987820182225656817">Гості можуть анонімно користуватися Chromium.</translation>
 <translation id="4994636714258228724">Додати себе в Chromium</translation>
-<translation id="5053724573690775822">Створити новий робочий профіль Chromium?</translation>
 <translation id="5224391634244552924">Немає збережених паролів. Chromium зможе перевірити ваші паролі, коли ви їх збережете.</translation>
 <translation id="5277894862589591112">Щоб застосувати зміни, перезапустіть Chromium</translation>
 <translation id="5358375970380395591">Ви входите, використовуючи дані облікового запису, яким керує адміністратор. Адміністратор може контролювати ваш профіль Chromium. Ваші дані Chromium, як-от програми, закладки, історія, паролі й інші налаштування, буде назавжди пов’язано з обліковим записом <ph name="USER_NAME" />. Ці дані можна видалити на інформаційній панелі Облікових записів Google, але ви не зможете пов’язати їх з іншим обліковим записом. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium не може відобразити попередній перегляд версії для друку, якщо немає вбудованого засобу для перегляду файлів PDF.</translation>
 <translation id="5427571867875391349">Зробити Chromium веб-переглядачем за умовчанням</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> – Бета-версія Chromium</translation>
-<translation id="544968170749360982">Ви ввійшли в новий обліковий запис у профілі, яким користується <ph name="EXISTING_USER" />. Створити новий профіль Chromium, яким користуватиметься <ph name="NEW_USER" />, щоб зберігати ваші дані окремо?</translation>
 <translation id="5479196819031988440">Неможливо відкрити цю сторінку в ОС Chromium.</translation>
 <translation id="5480860683791598150">Chromium потрібен доступ до геоданих, щоб повідомляти ваше місцезнаходження цьому сайту</translation>
 <translation id="549669000822060376">Зачекайте, доки Chromium установить найновіші оновлення системи.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium не вдалося синхронізувати ваші дані через помилку входу.</translation>
 <translation id="6096348254544841612">Налаштуйте й контролюйте Chromium. Доступне оновлення.</translation>
 <translation id="6120345080069858279">Chromium збереже цей пароль в обліковому записі Google. Не потрібно його запам’ятовувати.</translation>
-<translation id="6128834065531097268">Ви ввійшли в робочий обліковий запис у профілі, яким користується <ph name="EXISTING_USER" />. Створити новий профіль Chromium для домену <ph name="WORK_DOMAIN" />, щоб зберігати ваші дані окремо?</translation>
 <translation id="6129621093834146363">Файл <ph name="FILE_NAME" /> небезпечний, тому Chromium заблокував його.</translation>
 <translation id="6134968993075716475">Безпечний перегляд вимкнено. Chromium радить увімкнути його.</translation>
 <translation id="6212496753309875659">На цьому комп’ютері вже встановлено новішу версію Chromium. Якщо програмне забезпечення не працює, видаліть Chromium і повторіть спробу.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Також очистити дані Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Якщо налаштування не з'явиться на цій сторінці, пошукайте його в <ph name="LINK_BEGIN" />
       налаштуваннях ОС Chromium<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Ви ввійшли в робочий обліковий запис. Створити новий профіль Chromium, яким користуватиметься <ph name="NEW_USER" />, щоб зберігати ваші персональні дані окремо?</translation>
 <translation id="761356813943268536">Chromium використовує вашу камеру та мікрофон.</translation>
 <translation id="7617377681829253106">Chromium став ще кращим</translation>
 <translation id="7628001322379820951">Веб-переглядач Chromium виявив шкідливе програмне забезпечення на вашому комп'ютері</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Це додаткове встановлення Chromium. Його не можна зробити вашим веб-переглядачем за умовчанням.</translation>
 <translation id="7979877361127045932">Сховати в меню Chromium</translation>
 <translation id="8013436988911883588">Коли Chromium отримає доступ, веб-сайти зможуть надсилати вам запити на доступ.</translation>
-<translation id="8022442821873033760">Налаштуйте свій новий профіль Chromium</translation>
 <translation id="81770708095080097">Цей файл небезпечний, тому Chromium заблокував його.</translation>
 <translation id="8248265253516264921">Якщо зображення не має корисного опису, Chromium спробує додати його. Для цього зображення надсилаються в Google. Ви можете будь-коли вимкнути це в налаштуваннях.</translation>
 <translation id="8266560134891435528">Chromium не може перевірити паролі, оскільки ви не ввійшли в обліковий запис</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Перезапустіть Chromium упродовж дня}one{Перезапустіть Chromium упродовж # дня}few{Перезапустіть Chromium упродовж # днів}many{Перезапустіть Chromium упродовж # днів}other{Перезапустіть Chromium упродовж # дня}}</translation>
 <translation id="8453117565092476964">Архів програми встановлення пошкоджений або недійсний. Завантажте Chromium ще раз.</translation>
 <translation id="8493179195440786826">Версія Chromium застаріла</translation>
-<translation id="8545858702702650646">Виберіть свій профіль Chromium</translation>
 <translation id="8558383651099478961">Хтось із твоїх батьків вимкнув "Дозволи для сайтів, додатків і розширень" у Chromium. Додавати це <ph name="EXTENSION_TYPE_PARAMETER" /> заборонено.</translation>
 <translation id="8568283329061645092">Chromium зможе перевірити ваші паролі, коли ви ввійдете у свій обліковий запис Google</translation>
 <translation id="8586442755830160949">Авторське право <ph name="YEAR" /> Автори Chromium. Усі права захищено.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Ваш системний адміністратор налаштував Chromium відкривати сторінку <ph name="TARGET_URL_HOSTNAME" /> в альтернативному веб-переглядачі.</translation>
 <translation id="9164845895615421500">Chromium перевіряє пристрій на наявність небажаного програмного забезпечення один раз на тиждень. Востаннє перевірено щойно.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Користуйтеся профілями Chromium, щоб упорядкувати свій веб-перегляд на цьому пристрої</translation>
 <translation id="93478295209880648">Chromium може працювати неналежним чином, оскільки більше не підтримується у Windows XP та Windows Vista</translation>
 <translation id="95514773681268843">Перш ніж використовувати цей пристрій, потрібно прочитати й прийняти наведені нижче Загальні положення та умови для <ph name="DOMAIN" />. Ці умови не розширюють, не змінюють і не обмежують Умови використання ОС Chromium.</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_ur.xtb b/chrome/app/resources/chromium_strings_ur.xtb
index f9b1967..7c8f0b9 100644
--- a/chrome/app/resources/chromium_strings_ur.xtb
+++ b/chrome/app/resources/chromium_strings_ur.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">‏اختیاری: Google کو ڈائیگناسٹک اور استعمال کا ڈیٹا خودکار طور پر بھیج کر Chromium OS کی خصوصیات اور کارکردگی کو بہتر بنانے میں مدد کریں۔</translation>
 <translation id="2347108572062610441">‏آپ کی جانب سے Chromium شروع کرنے پر دکھائی دینے والے صفحہ کو اس ایکسٹینشن نے تبدیل کر دیا ہے۔</translation>
 <translation id="2396765026452590966">‏آپ کی جانب سے Chromium شروع کرنے پر دکھائی دینے والے صفحہ کو ایکسٹینشن "<ph name="EXTENSION_NAME" />" نے تبدیل کر دیا ہے۔</translation>
-<translation id="2442081746662839303">‏<ph name="NEW_USER" /> کیلئے نئی Chromium اسپیس تخلیق کریں؟</translation>
 <translation id="2483889755041906834">‏Chromium میں</translation>
 <translation id="2485422356828889247">ان انسٹال کریں</translation>
 <translation id="2527042973354814951">‏<ph name="PLUGIN_NAME" /> کو فعال کرنے کیلئے Chromium دوبارہ شروع کریں</translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">‏پروفائل دوسرے کمپیوٹر (<ph name="HOST_NAME" />) پر دوسری Chromium کارروائی (<ph name="PROCESS_ID" />) کے ذریعہ زیر استعمال معلوم پڑتا ہے۔ Chromium نے کارروائی کو مقفل کر دیا ہے تاکہ یہ خراب نہ ہو جائے۔ اگر آپ کو یقین ہے کہ کوئی دیگر کارروائیاں اس پروفائل کو استعمال نہیں کر رہی ہیں تو آپ پروفائل کو غیر مقفل کر کے Chromium کو دوبارہ شروع کر سکتے ہیں۔</translation>
 <translation id="469338717132742108">‏Chromium OS کے بارے میں مدد حاصل کریں</translation>
 <translation id="4708774505295300557">‏کسی نے قبل ازیں اس کمپیوٹر پر Chromium میں <ph name="ACCOUNT_EMAIL_LAST" /> کے بطور سائن ان کیا۔ اپنی معلومات علیحدہ رکھنے کیلئے براہ کرم ایک نیا Chromium صارف بنائیں۔</translation>
-<translation id="4745225042341419983">‏اس جگہ کا براؤزنگ ڈیٹا اس آلہ سے حذف ہو جائے گا۔ ڈیٹا بحال کرنے کیلئے، Chromium میں سائن ان کریں بطور</translation>
 <translation id="4746050847053251315">‏بہر حال Chromium بند کریں؟</translation>
 <translation id="4748217263233248895">‏Chromium کے لیے ایک خاص سیکیورٹی اپ ڈیٹ ابھی ابھی لاگو کیا گیا ہے۔ ابھی دوبارہ شروع کریں اور ہم آپ کے ٹیبز کو بحال کر دیں گے۔</translation>
 <translation id="4750035648288509542">‏تقریباً اپ ٹو ڈیٹ! اپ ڈیٹ مکمل کرنے کے لیے Chromium کو بند کر کے دوبارہ چلائیں۔ پوشیدگی ونڈوز دوبارہ نہیں کھلیں گی۔</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">‏Chromium پس منظر وضع میں ہے۔</translation>
 <translation id="4987820182225656817">‏مہمان کسی چیز کو پیچھے چھوڑے بغیر Chromium کو استعمال کر سکتے ہیں۔</translation>
 <translation id="4994636714258228724">‏خود کو Chromium میں شامل کریں</translation>
-<translation id="5053724573690775822">‏Chromium پر کام کی ایک نئی اسپیس بنائیں؟</translation>
 <translation id="5224391634244552924">‏کوئی محفوظ کردہ پاس ورڈ نہیں۔ جب آپ پاس ورڈز کو محفوظ کرتے ہیں تو Chromium انہیں چیک کر سکتا ہے۔</translation>
 <translation id="5277894862589591112">‏اپنی تبدیلیوں کو لاگو کرنے کیلئے، Chromium کو دوبارہ شروع کریں</translation>
 <translation id="5358375970380395591">‏آپ زیر انتظام اکاؤنٹ سے سائن ان کر رہے ہیں اور اس کے منتظم کو اپنے Chromium پروفائل پر کنٹرول دے رہے ہیں. آپ کا Chromium کا ڈیٹا، جیسے آپ کی ایپس، بُک مارکس، سرگزشت، پاس ورڈز اور دیگر ترتیبات <ph name="USER_NAME" /> سے مستقل طور پر مربوط ہو جائیں گی۔ آپ Google اکاؤنٹس ڈیش بورڈ کے ذریعہ یا ڈیٹا حذف کر سکیں گے لیکن آپ اس ڈیٹا کو دوسرے اکاؤنٹ کے ساتھ وابستہ نہیں کر سکیں گے۔ <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">‏پہلے سے شامل PDF ناظر غائب ہونے پر Chromium پرنٹ کا پیش منظر نہیں دکھا سکتا ہے۔</translation>
 <translation id="5427571867875391349">‏Chromium کو اپنے ڈیفالٹ براؤزر کے بطور سیٹ کریں</translation>
 <translation id="5438241569118040789">‏<ph name="PAGE_TITLE" /> - Chromium بی ٹا</translation>
-<translation id="544968170749360982">‏آپ <ph name="EXISTING_USER" /> کی اسپیس میں ایک نئے اکاؤنٹ سے سائن ان ہیں۔ کیا آپ اپنے ڈیٹا کو الگ رکھنے کی خاطر <ph name="NEW_USER" /> کیلئے ایک نئی Chromium اسپیس تخلیق کرنا چاہیں گے؟</translation>
 <translation id="5479196819031988440">‏Chromium OS یہ صفحہ نہیں کھول سکتا ہے۔</translation>
 <translation id="5480860683791598150">‏Chromium کو اس سائٹ کے ساتھ آپ کے مقام کا اشتراک کرنے کیلئے آپ کے مقام تک رسائی درکار ہے</translation>
 <translation id="549669000822060376">‏براہ کرم انتظار کریں یہاں تک کہ Chromium تازہ ترین سسٹم اپ ڈیٹس انسٹال کر دے۔</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">‏Chromium سائن ان میں ایک خرابی ہونے کی وجہ سے آپ کے ڈیٹا کی مطابقت پذیری نہیں کر سکا۔</translation>
 <translation id="6096348254544841612">‏Chromium کو حسب ضروت بنائیں اور اسے کنٹرول کریں۔ اپ ڈیٹ دستیاب ہے۔</translation>
 <translation id="6120345080069858279">‏Chromium آپ کے Google اکاؤنٹ میں اس پاس ورڈ کو محفوظ کرے گا۔ آپ کو اسے یاد کرنے کی ضرورت نہیں ہے۔</translation>
-<translation id="6128834065531097268">‏آپ <ph name="EXISTING_USER" /> کی اسپیس میں ایک دفتری اکاؤنٹ سے سائن ان ہیں۔ کیا آپ اپنے ڈیٹا کو الگ رکھنے کی خاطر <ph name="WORK_DOMAIN" /> کیلئے ایک نئی Chromium اسپیس تخلیق کرنا چاہیں گے؟</translation>
 <translation id="6129621093834146363">‏<ph name="FILE_NAME" /> خطرناک ہے، اس لیے Chromium نے اسے مسدود کر دیا ہے۔</translation>
 <translation id="6134968993075716475">‏محفوظ براؤزنگ آف ہے۔ Chromium اسے آن کرنے کی تجویز کرتا ہے۔</translation>
 <translation id="6212496753309875659">‏اس کمپیوٹر پر Chromium کا ایک مزید حالیہ ورژن پہلے سے ہے۔ اگر سافٹ ویئر کام نہیں کر رہا ہے تو براہ کرم Chromium کو ان انسٹال کریں اور دوبارہ کوشش کریں۔</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">‏Chromium کا ڈیٹا بھی صاف کریں (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">‏اگر اس صفحے پر کوئی ترتیب دکھائی نہیں دے رہی ہے تو اپنے <ph name="LINK_BEGIN" />
       Chromium OS کی ترتیبات<ph name="LINK_END" /> میں دیکھیں</translation>
-<translation id="7607142834923530546">‏آپ نے ایک دفتری اکاؤنٹ سے سائن ان کیا ہے۔ کیا آپ اپنے ذاتی ڈیٹا کو الگ رکھنے کی خاطر <ph name="NEW_USER" /> کیلئے ایک نئی Chromium اسپیس تخلیق کرنا چاہیں گے؟</translation>
 <translation id="761356813943268536">‏Chromium آپ کا کیمرا اور مائیکروفون استعمال کر رہا ہے۔</translation>
 <translation id="7617377681829253106">‏Chromium اور بھی بہتر ہوگیا ہے</translation>
 <translation id="7628001322379820951">‏Chromium کو آپ کے کمپیوٹر پر نقصان دہ سافٹ ویئر ملا</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">‏یہ Chromium کا ثانوی انسٹالیشن ہے اور اسے آپ کا ڈیفالٹ براؤزر نہیں بنایا جا سکتا ہے۔</translation>
 <translation id="7979877361127045932">‏Chromium مینو میں مخفی کریں</translation>
 <translation id="8013436988911883588">‏Chromium کو رسائی مل جانے کے بعد، ویب سائٹس آپ سے رسائی طلب کر سکیں گی۔</translation>
-<translation id="8022442821873033760">‏اپنی نئی Chromium اسپیس سیٹ اپ کریں</translation>
 <translation id="81770708095080097">‏یہ فائل خطرناک ہے، اس لیے Chromium نے اسے مسدود کر دیا ہے۔</translation>
 <translation id="8248265253516264921">‏اگر کسی تصویر میں مفید تفصیل موجود نہیں ہے تو Chromium آپ کے لیے تفصیل فراہم کرنے کی کوشش کرے گا۔ تفصیلات تخلیق کرنے کے لیے، تصاویر Google کو بھیجی جاتی ہیں۔ آپ اسے ترتیبات میں کسی بھی وقت آف کر سکتے ہیں۔</translation>
 <translation id="8266560134891435528">‏Chromium آپ کے پاس ورڈز چیک نہیں کر سکتا کیونکہ آپ سائن ان نہیں ہیں</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{‏ایک دن کے اندر Chromium کو دوبارہ لانچ کریں}other{‏# دن کے اندر Chromium کو دوبارہ لانچ کریں}}</translation>
 <translation id="8453117565092476964">‏انسٹالر آرکائیو خراب یا غلط ہے۔ براہ کرم Chromium کو دوبارہ ڈاؤن لوڈ کریں۔</translation>
 <translation id="8493179195440786826">‏Chromium پرانا ہے</translation>
-<translation id="8545858702702650646">‏اپنا Chromium اسپیس منتخب کریں</translation>
 <translation id="8558383651099478961">‏آپ کے والدین نے "Chromium کی خاطر سائٹس، ایپس اور ایکسٹینشنز کے لیے اجازتوں" کو آف کر دیا ہے۔ اس <ph name="EXTENSION_TYPE_PARAMETER" /> کو شامل کرنے کی اجازت نہیں ہے۔</translation>
 <translation id="8568283329061645092">‏جب آپ اپنے Google اکاؤنٹ سے سائن ان کرتے ہیں تو Chromium آپ کے پاس ورڈز کو چیک کر سکتا ہے</translation>
 <translation id="8586442755830160949">‏کاپی رائٹ ‎<ph name="YEAR" /> The Chromium Authors۔ جملہ حقوق محفوظ۔</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">‏آپ کے سسٹم کے منتظم نے <ph name="TARGET_URL_HOSTNAME" /> تک رسائی حاصل کرنے کے لیے Chromium کو ایک متبادل براؤزر کھولنے کے لیے کنفیگر کیا ہے۔</translation>
 <translation id="9164845895615421500">‏Chromium ہفتے میں ایک بار غیر مطلوبہ سافٹ ویئر کو چیک کرتا ہے۔ آخری بار چیک کیا گیا: ایک لمحہ پہلے۔</translation>
 <translation id="9190841055450128916">‎Chromium (mDNS-In)‎</translation>
-<translation id="9191317372410544836">‏اس آلے پر اپنی براؤزنگ کو منظم رکھنے کے لیےChromium Spaces کا استعمال کریں</translation>
 <translation id="93478295209880648">‏ممکن ہے کہ Chromium ٹھیک طریقے سے کام نہ کرے کیونکہ یہ اب Windows XP یا Windows Vista پر تعاون یافتہ نہیں ہے</translation>
 <translation id="95514773681268843">‏<ph name="DOMAIN" /> تقاضہ کرتا ہے کہ آپ یہ آلہ استعمال کرنے سے پہلے مندرجہ ذیل سروس کی شرائط کو پڑھیں اور قبول کریں۔ یہ شرائط Chromium OS شرائط کی ایکسٹینشن، ان میں ترمیم یا انہیں محدود نہیں کرتی ہیں۔</translation>
 <translation id="985602178874221306">‏Chromium مصنّفین</translation>
diff --git a/chrome/app/resources/chromium_strings_uz.xtb b/chrome/app/resources/chromium_strings_uz.xtb
index 4e37c2b6..4655cec 100644
--- a/chrome/app/resources/chromium_strings_uz.xtb
+++ b/chrome/app/resources/chromium_strings_uz.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Ixtiyoriy: Google serverlariga diagnostika va foydalanish statistikasi ma’lumotlarini yuborish orqali Chromium OS tizimini takomillashtirishga yordam bering.</translation>
 <translation id="2347108572062610441">Bu kengaytma Chromium ishga tushganda ko‘rinadigan sahifani o‘zgartirdi.</translation>
 <translation id="2396765026452590966">“<ph name="EXTENSION_NAME" />” kengaytmasi Chromium ishga tushganda ko‘rinadigan sahifani o‘zgartirdi.</translation>
-<translation id="2442081746662839303"><ph name="NEW_USER" /> uchun yangi Chromium ishchi maydoni yaratilsinmi?</translation>
 <translation id="2483889755041906834">Chromium brauzerida</translation>
 <translation id="2485422356828889247">O‘chirib tashlash</translation>
 <translation id="2527042973354814951">“<ph name="PLUGIN_NAME" />” plaginini yoqish uchun Chromium brauzerini qaytadan ishga tushiring</translation>
@@ -94,7 +93,6 @@
 <translation id="4677944499843243528">Profil boshqa kompyuterdagi (<ph name="HOST_NAME" />) boshqa Chromium jarayonida (<ph name="PROCESS_ID" />) foydalanilayotgan ko‘rinadi. Ishdan chiqishlarni oldini olish maqsadida profil qulflandi. Agar aniq o‘zingiz foydalanayotgan bo‘lsangiz, qulfdan yeching va Chromium‘ni qaytadan ishga tushiring.</translation>
 <translation id="469338717132742108">Chromium OS yordam markazi</translation>
 <translation id="4708774505295300557">Oldinroq Chrome profiliga kimdir bu kompyuterdan <ph name="ACCOUNT_EMAIL_LAST" /> sifatida kirgan. Ma’lumotlaringizni alohida saqlash uchun yangi Chromium profilini yarating.</translation>
-<translation id="4745225042341419983">Bu foydalanuvchi brauzerining tarixi ushbu qurilmadan butunlay tozalanadi. Axborotlarni tiklash uchun brauzerga quyidagi foydalanuvchi sifatida kiring:</translation>
 <translation id="4746050847053251315">Chromium baribir yopilsinmi?</translation>
 <translation id="4748217263233248895">Chromium xavfsizlik tizimiga maxsus yangilanish oʻrnatildi. Qayta ishga tushiring va ochiq sahifalarni tiklang.</translation>
 <translation id="4750035648288509542">Deyarli yangilandi! Yangilash tugashi uchun Chromium brauzerini qayta ishga tushiring. Inkognito oynalar qayta ochilmaydi.</translation>
@@ -104,7 +102,6 @@
 <translation id="4943838377383847465">Chromium orqa fon rejimida ishlamoqda.</translation>
 <translation id="4987820182225656817">Agar tashrif buyurgan saytlaringiz haqidagi ma’lumotlar saqlanmasligini xohlasangiz, Chromium mehmon rejimidan foydalaning.</translation>
 <translation id="4994636714258228724">Chromium foydalanuvchini qo‘shish</translation>
-<translation id="5053724573690775822">Yangi Chromium ish maydoni yaratilsinmi?</translation>
 <translation id="5224391634244552924">Hech qanday parol saqlanmagan. Chromium faqat saqlangan parollaringizni tekshira oladi.</translation>
 <translation id="5277894862589591112">O‘zgarishlarni tatbi qilish uchun Chromium qayta ishga tushirilishi zarur</translation>
 <translation id="5358375970380395591">Siz boshqaruvdagi hisobga kiryapsiz va uning administratoriga Chromium profilingizni boshqarishga ruxsat beryapsiz. Ilovalar, xatcho‘plar, brauzer tarixi, parollar va boshqa sozlamalar kabi barcha Chromium ma’lumotlaringiz <ph name="USER_NAME" /> hisobiga biriktiriladi. Siz bu ma’lumotlarni Google hisoblar shaxsiy kabinetidan o‘chirishingiz mumkin, lekin bu ma’lumotlarni boshqa hisob bilan bog‘lay olmaysiz. <ph name="LEARN_MORE" /></translation>
@@ -114,7 +111,6 @@
 <translation id="5416696090975899932">PDF fayllarni ko‘rish vositasi oldindan o‘rnatilmagan bo‘lsa, Chromium bu formatdagi bosmalarni oldindan ko‘rsata olmaydi.</translation>
 <translation id="5427571867875391349">Chromium‘ni standart brauzer sifatida tayinlash.</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982"><ph name="EXISTING_USER" /> ishchi maydoniga yangi hisob bilan kirgansiz. Axborotlarni alohida saqlash maqsadida <ph name="NEW_USER" /> uchun yangi Chromium maydonini yaratishni istaysizmi?</translation>
 <translation id="5479196819031988440">Chromium OS bu sahifani ocha olmaydi.</translation>
 <translation id="5480860683791598150">Bu sayt manzilingizdan foydalanishi uchun Chromium brauzeriga ruxsat berishingiz lozim</translation>
 <translation id="549669000822060376">Chromium tizimning oxirgi yangilanishlarini o‘rnatib olgunicha kutib turing.</translation>
@@ -137,7 +133,6 @@
 <translation id="608189560609172163">Hisobga kirishdagi xatolik sababli Chromium ma’lumotlarni sinxronlay olmadi.</translation>
 <translation id="6096348254544841612">Chromium uchun yangilanish chiqdi.</translation>
 <translation id="6120345080069858279">Chromium bu parolni Google hisobingizga saqlaydi. Uni eslab qolishingiz shart emas.</translation>
-<translation id="6128834065531097268"><ph name="EXISTING_USER" /> ishchi maydoniga ishchi hisob bilan kirgansiz. Axborotlarni alohida saqlash maqsadida <ph name="WORK_DOMAIN" /> uchun yangi Chromium maydonini yaratishni istaysizmi?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> xavfli edi, shuning uchun u Chromium tomonidan bloklandi.</translation>
 <translation id="6134968993075716475">Saytlarni xavfsiz kezish yoniq emas. Chromium uni yoqishingizni tavsiya qiladi.</translation>
 <translation id="6212496753309875659">Bu kompyuterda allaqachon Chromium‘ning so‘nggi versiyasi o‘rnatilgan. Agar dastur ishlamayotgan bo‘lsa, uni o‘chirib qaytadan o‘rnatib ko‘ring.</translation>
@@ -199,7 +194,6 @@
 <translation id="7561906087460245826">Chromium maʼlumotlarini ham tozalash (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Agar sozlama bu sahifada chiqmasa, <ph name="LINK_BEGIN" />
       Chromium brauzeri sozlamalarini<ph name="LINK_END" /> tekshiring.</translation>
-<translation id="7607142834923530546">Ishchi hisobingiz bilan kirgansiz. Shaxsiy maʼlumotlaringizni alohida saqlash maqsadida <ph name="NEW_USER" /> uchun yangi Chromium ishchi maydonini yaratishni istaysizmi?</translation>
 <translation id="761356813943268536">Chromium kamera va mikrofoningizdan foydalanmoqda.</translation>
 <translation id="7617377681829253106">Chromium ancha yaxshilanmoqda</translation>
 <translation id="7628001322379820951">Chromium kompyuteringizda zararli dasturlarni aniqladi</translation>
@@ -217,7 +211,6 @@
 <translation id="7975919845073681630">Chromium takroran o‘rnatilgan, shuning uchun u asosiy brauzer bo‘la olmaydi.</translation>
 <translation id="7979877361127045932">Chromium menyusida ko‘rsatilmasin</translation>
 <translation id="8013436988911883588">Chromium saytlarga ulanganda sizdan ruxsat so‘raydi.</translation>
-<translation id="8022442821873033760">Yangi Chromium Space profilingizni sozlang</translation>
 <translation id="81770708095080097">Bu fayl xavfli edi va u Chromium tomonidan bloklandi.</translation>
 <translation id="8248265253516264921">Agar rasmga foydali tavsif berilmagan boʻlsa, Chromium uni sizga tavsiflaydi. Tavsif yaratish uchun rasmlar Googlega yuboriladi. Bu sozlamani istalgan vaqtda faolsizlantirish mumkin.</translation>
 <translation id="8266560134891435528">Chromium parollaringizni faqat hisobingizga kirganingizdan keyin tekshira oladi</translation>
@@ -228,7 +221,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Chromiumni 1 kun ichida qayta ishga tushiring}other{Chromiumni # kun ichida qayta ishga tushiring}}</translation>
 <translation id="8453117565092476964">O‘rnatish dasturi arxivi shikastlangan. Chromium‘ni qaytadan yuklab oling.</translation>
 <translation id="8493179195440786826">Chromium versiyasi eskirgan</translation>
-<translation id="8545858702702650646">Chromium profilingizni tanlang</translation>
 <translation id="8558383651099478961">Chromiumdagi “Sayt, ilova va kengaytmalarga ruxsat” ota-onangiz tomonidan faolsizlantirilgan. <ph name="EXTENSION_TYPE_PARAMETER" /> kiritilishi taqiqlangan.</translation>
 <translation id="8568283329061645092">Google hisobingizga kirsangiz, Chromium parollaringizni tekshira oladi</translation>
 <translation id="8586442755830160949">© The Chromium Authors, <ph name="YEAR" />. Barcha huquqlar himoyalangan.</translation>
@@ -254,7 +246,6 @@
 <translation id="9158494823179993217">Tizim administratori <ph name="TARGET_URL_HOSTNAME" /> havolasini muqobil brauzerda ochiladigan qilib sozlagan.</translation>
 <translation id="9164845895615421500">Chromium haftada bir marta zararli dasturlar mavjudligini tekshiradi. Oxirgi marta: hozirgina tekshirilgan.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Bu qurilmada internetni tartibli kezish uchun Chromium profillaridan foydalaning</translation>
 <translation id="93478295209880648">Chromium brauzeri Windows XP yoki Windows Vista tizimlarida ishlamay qolishi mumkin, chunki uning yangi versiyalarida bu tizimlar ta’minoti to‘xtatiladi</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> bu qurilmadan foydalanishdan oldin quyidagi Xizmat shartlarini o‘qib, qabul qilishingizni talab qiladi. Bu shartlar Chromium OS shartlarini kengaytirmaydi, o‘zgartirmaydi yoki cheklamaydi.</translation>
 <translation id="985602178874221306">Chromium mualliflari</translation>
diff --git a/chrome/app/resources/chromium_strings_vi.xtb b/chrome/app/resources/chromium_strings_vi.xtb
index c89ed52..08cbaecb 100644
--- a/chrome/app/resources/chromium_strings_vi.xtb
+++ b/chrome/app/resources/chromium_strings_vi.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">Không bắt buộc: Giúp cải thiện hiệu suất và các tính năng của Chromium OS bằng cách tự động gửi dữ liệu sử dụng và chẩn đoán cho Google.</translation>
 <translation id="2347108572062610441">Tiện ích này đã thay đổi trang nào được hiển thị khi bạn khởi động Chromium.</translation>
 <translation id="2396765026452590966">Tiện ích "<ph name="EXTENSION_NAME" />" đã thay đổi trang nào được hiển thị khi bạn khởi động Chromium.</translation>
-<translation id="2442081746662839303">Tạo không gian mới trên Chromium cho <ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">Trong Chromium</translation>
 <translation id="2485422356828889247">Gỡ cài đặt</translation>
 <translation id="2527042973354814951">Khởi động lại Chromium để bật <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">Dường như cấu hình này đang được quy trình Chromium khác (<ph name="PROCESS_ID" />) trên máy tính khác (<ph name="HOST_NAME" />) sử dụng. Chromium đã khóa cấu hình này để cấu hình không bị lỗi. Nếu bạn chắc chắn không có quy trình nào khác đang sử dụng cấu hình này, bạn có thể mở khóa cấu hình và chạy lại Chromium.</translation>
 <translation id="469338717132742108">Nhận trợ giúp về Chromium OS</translation>
 <translation id="4708774505295300557">Ai đó trước đây đã đăng nhập vào Chromium trên máy tính này bằng <ph name="ACCOUNT_EMAIL_LAST" />. Vui lòng tạo người dùng Chromium mới để giữ riêng biệt thông tin của bạn.</translation>
-<translation id="4745225042341419983">Dữ liệu duyệt web của không gian này sẽ bị xóa khỏi thiết bị này. Để khôi phục dữ liệu, hãy đăng nhập vào Chromium bằng</translation>
 <translation id="4746050847053251315">Bạn vẫn muốn thoát khỏi Chromium?</translation>
 <translation id="4748217263233248895">Chromium vừa áp dụng một bản cập nhật bảo mật đặc biệt. Vui lòng khởi động lại ngay bây giờ và chúng tôi sẽ khôi phục các thẻ của bạn.</translation>
 <translation id="4750035648288509542">Sắp cập nhật xong rồi! Hãy chạy lại Chromium để hoàn tất quá trình cập nhật. Các cửa sổ ẩn danh sẽ không mở lại.</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium đang chạy trong nền.</translation>
 <translation id="4987820182225656817">Khách có thể sử dụng Chromium mà không phải thoát khỏi bất cứ nội dung nào.</translation>
 <translation id="4994636714258228724">Thêm chính bạn vào Chromium</translation>
-<translation id="5053724573690775822">Tạo không gian làm việc mới trên Chromium?</translation>
 <translation id="5224391634244552924">Bạn chưa lưu mật khẩu nào. Chromium có thể kiểm tra các mật khẩu của bạn khi bạn lưu các mật khẩu đó.</translation>
 <translation id="5277894862589591112">Để áp dụng các mục thay đổi của bạn, hãy chạy lại Chromium</translation>
 <translation id="5358375970380395591">Bạn đang đăng nhập bằng tài khoản được quản lý và cấp cho quản trị viên của tài khoản quyền kiểm soát cấu hình Chromium của bạn. Dữ liệu Chromium của bạn, chẳng hạn như ứng dụng, dấu trang, lịch sử, mật khẩu và các cài đặt khác sẽ vĩnh viễn được liên kết với <ph name="USER_NAME" />. Bạn có thể xóa dữ liệu này thông qua Trang tổng quan của tài khoản Google nhưng không thể liên kết dữ liệu này với tài khoản khác. <ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">Chromium không thể hiển thị chế độ xem trước bản in khi thiếu trình xem PDF tích hợp.</translation>
 <translation id="5427571867875391349">Đặt Chromium là trình duyệt mặc định của bạn</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium phiên bản beta</translation>
-<translation id="544968170749360982">Bạn đã đăng nhập bằng tài khoản mới trong không gian của <ph name="EXISTING_USER" />. Bạn có muốn tạo một không gian mới trên Chromium cho <ph name="NEW_USER" /> để lưu giữ dữ liệu riêng biệt không?</translation>
 <translation id="5479196819031988440">Chromium OS không thể mở trang này.</translation>
 <translation id="5480860683791598150">Chromium cần quyền truy cập vào vị trí của bạn để chia sẻ thông tin vị trí với trang web này</translation>
 <translation id="549669000822060376">Vui lòng đợi khi Chromium cài đặt các bản cập nhật hệ thống mới nhất.</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">Chromium không thể đồng bộ hóa dữ liệu của bạn do lỗi khi đăng nhập.</translation>
 <translation id="6096348254544841612">Tùy chỉnh và kiểm soát Chromium. Đã có bản cập nhật.</translation>
 <translation id="6120345080069858279">Chromium sẽ lưu mật khẩu này trong Tài khoản Google của bạn. Bạn sẽ không phải nhớ mật khẩu này.</translation>
-<translation id="6128834065531097268">Bạn đã đăng nhập bằng tài khoản công việc trong không gian của <ph name="EXISTING_USER" />. Bạn có muốn tạo một không gian mới trên Chromium cho <ph name="WORK_DOMAIN" /> để lưu giữ dữ liệu riêng biệt không?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> nguy hiểm, do đó Chromium đã chặn tệp.</translation>
 <translation id="6134968993075716475">Tính năng Duyệt web an toàn đang tắt. Bạn nên bật tính năng này trên Chromium.</translation>
 <translation id="6212496753309875659">Máy tính này đã có phiên bản Chromium mới hơn. Nếu phần mềm không hoạt động, hãy gỡ cài đặt Chromium và thử lại.</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">Đồng thời xóa dữ liệu khỏi Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Nếu một tùy chọn cài đặt không hiển thị trên trang này, hãy tìm trong mục <ph name="LINK_BEGIN" />
       cài đặt của Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Bạn đã đăng nhập bằng tài khoản công việc. Bạn có muốn tạo một không gian mới trên Chromium cho <ph name="NEW_USER" /> để lưu giữ dữ liệu cá nhân riêng biệt không?</translation>
 <translation id="761356813943268536">Chromium đang sử dụng máy ảnh và micrô của bạn.</translation>
 <translation id="7617377681829253106">Chromium được cải tiến hơn</translation>
 <translation id="7628001322379820951">Chromium đã phát hiện thấy phần mềm có hại trên máy tính của bạn</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">Đây là cài đặt thứ cấp của Chromium và không thể trở thành trình duyệt mặc định của bạn.</translation>
 <translation id="7979877361127045932">Ẩn trong menu Chromium</translation>
 <translation id="8013436988911883588">Sau khi Chromium có quyền truy cập, các trang web sẽ có thể yêu cầu bạn cấp quyền truy cập.</translation>
-<translation id="8022442821873033760">Thiết lập Không gian Chromium mới của bạn</translation>
 <translation id="81770708095080097">Tệp này nguy hiểm, do đó Chromium đã chặn tệp.</translation>
 <translation id="8248265253516264921">Chromium sẽ cố gắng mô tả cho bạn những hình ảnh không có nội dung mô tả hữu ích. Để tạo nội dung mô tả, các hình ảnh sẽ được gửi đến Google. Bạn có thể tắt dịch vụ này trong phần cài đặt bất kỳ lúc nào.</translation>
 <translation id="8266560134891435528">Chromium không thể kiểm tra mật khẩu của bạn vì bạn chưa đăng nhập</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Khởi động lại Chromium trong vòng một ngày}other{Khởi động lại Chromium trong vòng # ngày}}</translation>
 <translation id="8453117565092476964">Tệp lưu trữ trình cài đặt bị hỏng hoặc không hợp lệ. Hãy tải xuống Chromium lại lần nữa.</translation>
 <translation id="8493179195440786826">Chromium đã lỗi thời</translation>
-<translation id="8545858702702650646">Chọn Không gian Chromium của bạn</translation>
 <translation id="8558383651099478961">Cha mẹ bạn đã tắt tùy chọn "Quyền của các trang web, ứng dụng và tiện ích" đối với Chromium. Bạn không được phép thêm <ph name="EXTENSION_TYPE_PARAMETER" /> này.</translation>
 <translation id="8568283329061645092">Chromium có thể kiểm tra mật khẩu khi bạn đăng nhập bằng Tài khoản Google của mình</translation>
 <translation id="8586442755830160949">Bản quyền <ph name="YEAR" /> Tác giả Chromium. Mọi quyền được bảo lưu.</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">Quản trị viên hệ thống của bạn đã định cấu hình Chromium để mở một trình duyệt thay thế khi truy cập vào <ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">Chromium kiểm tra để phát hiện phần mềm không mong muốn một lần một tuần. Lần kiểm tra gần đây nhất: vài phút trước.</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Hãy dùng Không gian Chromium để sắp xếp dữ liệu duyệt web một cách gọn gàng trên thiết bị này</translation>
 <translation id="93478295209880648">Chromium có thể không hoạt động chính xác do không được hỗ trợ trên Windows XP hoặc Windows Vista nữa</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> yêu cầu bạn đọc và chấp nhận Điều khoản dịch vụ sau đây trước khi sử dụng thiết bị này. Những điều khoản này không mở rộng, sửa đổi hoặc giới hạn Điều khoản Chromium OS.</translation>
 <translation id="985602178874221306">Tác giả Chromium</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-CN.xtb b/chrome/app/resources/chromium_strings_zh-CN.xtb
index 0306b1be..5211dfb7 100644
--- a/chrome/app/resources/chromium_strings_zh-CN.xtb
+++ b/chrome/app/resources/chromium_strings_zh-CN.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">(可选)自动向 Google 发送诊断数据和使用情况数据,协助改进 Chromium 操作系统的功能和性能。</translation>
 <translation id="2347108572062610441">此扩展程序更改了 Chromium 启动后系统显示的页面。</translation>
 <translation id="2396765026452590966">“<ph name="EXTENSION_NAME" />”扩展程序更改了 Chromium 启动后系统显示的页面。</translation>
-<translation id="2442081746662839303">要为<ph name="NEW_USER" />创建新的 Chromium 空间?</translation>
 <translation id="2483889755041906834">在 Chromium 中</translation>
 <translation id="2485422356828889247">卸载</translation>
 <translation id="2527042973354814951">重新启动 Chromium 以启用 <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">其他计算机 (<ph name="HOST_NAME" />) 的另一个 Chromium 进程 (<ph name="PROCESS_ID" />) 好像正在使用此个人资料。Chromium 已锁定此个人资料以防止其受损。如果您确定其他进程目前未使用此个人资料,请为其解锁并重新启动 Chromium。</translation>
 <translation id="469338717132742108">获取有关 Chromium 操作系统的帮助</translation>
 <translation id="4708774505295300557">之前已有人在此计算机上以 <ph name="ACCOUNT_EMAIL_LAST" /> 的身份登录了 Chromium。请新建一个 Chromium 用户来单独保存您的信息。</translation>
-<translation id="4745225042341419983">系统将会从此设备上删除该空间的浏览数据。若要恢复这些数据,请使用以下身份登录 Chromium:</translation>
 <translation id="4746050847053251315">仍要退出 Chromium?</translation>
 <translation id="4748217263233248895">Chromium 刚刚应用了一项特殊的安全更新。请立即重启,以便系统恢复您的标签页。</translation>
 <translation id="4750035648288509542">离最新版本只有一步之遥了!重新启动 Chromium 即可完成更新。无痕式窗口不会自动重新打开。</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium处于后台运行模式。</translation>
 <translation id="4987820182225656817">访客使用Chromium不会留下任何痕迹。</translation>
 <translation id="4994636714258228724">将您自己添加到Chromium</translation>
-<translation id="5053724573690775822">要创建新的 Chromium 工作空间?</translation>
 <translation id="5224391634244552924">尚未保存任何密码。您需要先保存密码才能使用 Chromium 的密码检查功能。</translation>
 <translation id="5277894862589591112">要想应用您的更改,请重新启动 Chromium</translation>
 <translation id="5358375970380395591">您目前登录的帐号是一个托管帐号,该帐号的管理员将能够控制您的 Chromium 个人资料。您的 Chromium 数据(例如您的应用、书签、历史记录、密码和其他设置)将永远与 <ph name="USER_NAME" /> 相关联。您可以通过 Google 帐号信息中心删除这些数据,但无法将这些数据与其他帐号相关联。<ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">在缺少内置 PDF 查看器的情况下,Chromium 无法显示打印预览。</translation>
 <translation id="5427571867875391349">将Chromium设为默认浏览器</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium 测试版</translation>
-<translation id="544968170749360982">您已使用新帐号登录<ph name="EXISTING_USER" />的空间。想为<ph name="NEW_USER" />创建一个新的 Chromium 空间来单独保存您的数据吗?</translation>
 <translation id="5479196819031988440">Chromium 操作系统无法打开此网页。</translation>
 <translation id="5480860683791598150">Chromium 需要获得位置权限,才能将您的位置信息共享给此网站</translation>
 <translation id="549669000822060376">Chromium正在安装最新的系统更新,请稍候。</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">由于在登录时出现错误,Chromium无法同步您的数据。</translation>
 <translation id="6096348254544841612">有可用的更新。欢迎自定义和控制 Chromium。</translation>
 <translation id="6120345080069858279">Chromium 会将此密码保存在您的 Google 帐号中,因此您不必记住它。</translation>
-<translation id="6128834065531097268">您已使用工作帐号登录<ph name="EXISTING_USER" />的空间。想为<ph name="WORK_DOMAIN" />创建一个新的 Chromium 空间来单独保存您的数据吗?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> 存在危险,因此 Chromium 已将其拦截。</translation>
 <translation id="6134968993075716475">“安全浏览”功能已关闭。Chromium 建议开启此功能。</translation>
 <translation id="6212496753309875659">此计算机已安装了更高版本的 Chromium。如果软件无法正常运行,请卸载 Chromium 并重试。</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">一并清除 Chromium (<ph name="URL" />) 中的数据</translation>
 <translation id="7585853947355360626">如果此页面中未显示某项设置,请在 <ph name="LINK_BEGIN" />
       Chromium 操作系统设置<ph name="LINK_END" />中查找</translation>
-<translation id="7607142834923530546">您已使用工作帐号登录。想为<ph name="NEW_USER" />创建一个新的 Chromium 空间来单独保存您的个人数据吗?</translation>
 <translation id="761356813943268536">Chromium 正在使用您的摄像头和麦克风。</translation>
 <translation id="7617377681829253106">Chromium现在更好用了</translation>
 <translation id="7628001322379820951">Chromium 在您的计算机上发现了有害软件</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">这是 Chromium 的并行安装,您无法将此浏览器设为默认浏览器。</translation>
 <translation id="7979877361127045932">在 Chromium 菜单中隐藏</translation>
 <translation id="8013436988911883588">一旦 Chromium 获得了使用权限,网站便能请求您向其授予使用权限。</translation>
-<translation id="8022442821873033760">设置您的新 Chromium Space</translation>
 <translation id="81770708095080097">此文件存在危险,因此 Chromium 已将其拦截。</translation>
 <translation id="8248265253516264921">如果图片缺少有用的说明,则 Chromium 会尝试为您提供一条说明。为便于创建说明,系统会将图片发送给 Google。您可以随时在“设置”中关闭此功能。</translation>
 <translation id="8266560134891435528">Chromium 无法检查您的密码,因为您未登录</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{请于 1 天内重新启动 Chromium}other{请于 # 天内重新启动 Chromium}}</translation>
 <translation id="8453117565092476964">安装程序归档损坏或无效。请重新下载 Chromium。</translation>
 <translation id="8493179195440786826">Chromium版本太旧</translation>
-<translation id="8545858702702650646">请选择您的专属 Chromium Space</translation>
 <translation id="8558383651099478961">您的家长已为 Chromium 停用“网站、应用和扩展程序的权限”。因此,您无法添加该<ph name="EXTENSION_TYPE_PARAMETER" />。</translation>
 <translation id="8568283329061645092">您需要先登录 Google 帐号才能使用 Chromium 的密码检查功能。</translation>
 <translation id="8586442755830160949">版权所有<ph name="YEAR" /> The Chromium Authors。保留所有权利。</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">您的系统管理员已将 Chromium 配置为使用备用浏览器访问 <ph name="TARGET_URL_HOSTNAME" />。</translation>
 <translation id="9164845895615421500">Chromium 会以每周 1 次的频率检查是否有垃圾软件。上次检查时间:刚才。</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">使用 Chromium Space 整理您在此设备上的浏览活动数据</translation>
 <translation id="93478295209880648">Chromium 可能无法正常运行,因为它不再支持 Windows XP 和 Windows Vista</translation>
 <translation id="95514773681268843"><ph name="DOMAIN" /> 要求您必须先阅读并接受以下服务条款,才能使用此设备。这些条款不会扩大、修改或限制 Chromium 操作系统条款。</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-HK.xtb b/chrome/app/resources/chromium_strings_zh-HK.xtb
index bd79b8c..7bc2b15 100644
--- a/chrome/app/resources/chromium_strings_zh-HK.xtb
+++ b/chrome/app/resources/chromium_strings_zh-HK.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">選用:將診斷和使用情況資料自動傳送給 Google,協助改善 Chromium 作業系統的功能和效能。</translation>
 <translation id="2347108572062610441">擴充功能已變更 Chromium 啟動時所顯示的網頁。</translation>
 <translation id="2396765026452590966">擴充功能「<ph name="EXTENSION_NAME" />」已變更 Chromium 啟動時所顯示的網頁。</translation>
-<translation id="2442081746662839303">要為<ph name="NEW_USER" />建立新的 Chromium 空間嗎?</translation>
 <translation id="2483889755041906834">在 Chromium 中</translation>
 <translation id="2485422356828889247">解除安裝</translation>
 <translation id="2527042973354814951">重新啟動 Chromium 即可啟用 <ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">另一部電腦 (<ph name="HOST_NAME" />) 的 Chromium 處理程序 (<ph name="PROCESS_ID" />) 正在使用這個設定檔。Chromium 已鎖定這個設定檔,確保其不致受損。如果您確定其他處理程序目前未使用此設定檔,請解除鎖定,然後重新啟動 Chromium。</translation>
 <translation id="469338717132742108">取得 Chromium 作業系統相關說明</translation>
 <translation id="4708774505295300557">先前已有其他人在這部電腦上以 <ph name="ACCOUNT_EMAIL_LAST" /> 的身分登入 Chromium。請建立新的 Chromium 使用者以個別保存您的資料。</translation>
-<translation id="4745225042341419983">此空間的瀏覽資料將從裝置上刪除。如要復原資料,請使用下列身分登入 Chromium:</translation>
 <translation id="4746050847053251315">仍要退出 Chromium 嗎?</translation>
 <translation id="4748217263233248895">Chromium 剛套用了特別的安全性更新。建議您立即重新啟動,我們將會還原您的分頁。</translation>
 <translation id="4750035648288509542">即將更新至最新版本!重新啟動 Chromium 即可完成更新程序。無痕式視窗不會重新開啟。</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">Chromium 正在背景模式中執行。</translation>
 <translation id="4987820182225656817">以訪客身分使用 Chromium 不會留下任何記錄。</translation>
 <translation id="4994636714258228724">新增為 Chromium 使用者</translation>
-<translation id="5053724573690775822">要建立新的 Chromium 工作空間嗎?</translation>
 <translation id="5224391634244552924">沒有已儲存的密碼。儲存密碼時,Chromium 可檢查您的密碼。</translation>
 <translation id="5277894862589591112">如要套用變更,請重新啟動 Chromium</translation>
 <translation id="5358375970380395591">您已登入受管理的帳戶,並將管理控制權授予您的 Chromium 設定檔。您的 Chromium 數據 (例如應用程式、書籤、記錄、密碼和其他設定) 均將永久與 <ph name="USER_NAME" /> 建立關聯。您可以透過 Google 帳戶資訊主頁刪除這些數據,但您無法將這些數據與其他帳戶建立關聯。<ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">缺少內置的 PDF 檢視器時,Chromium 無法顯示列印預覽畫面。</translation>
 <translation id="5427571867875391349">將 Chromium 設為預設瀏覽器</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta 版本</translation>
-<translation id="544968170749360982">您已使用新帳戶登入<ph name="EXISTING_USER" />的空間。要為<ph name="NEW_USER" />建立新的 Chromium 空間以分開保留資料嗎?</translation>
 <translation id="5479196819031988440">Chromium 作業系統無法開啟此網頁。</translation>
 <translation id="5480860683791598150">Chromium 需要位置資訊存取權,才能與這個網站分享您的位置資訊</translation>
 <translation id="549669000822060376">請稍候,Chromium 正在安裝最新的系統更新。</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">登入時發生錯誤,因此 Chromium 無法同步處理您的數據。</translation>
 <translation id="6096348254544841612">自訂和管理 Chromium。有可用的更新。</translation>
 <translation id="6120345080069858279">Chromium 會將此密碼儲存在您的 Google 帳戶內,您無需記住。</translation>
-<translation id="6128834065531097268">您已使用公司帳戶登入<ph name="EXISTING_USER" />的空間。要為 <ph name="WORK_DOMAIN" /> 建立新的 Chromium 空間以分開保留資料嗎?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> 不安全,因此 Chromium 已封鎖此檔案。</translation>
 <translation id="6134968993075716475">「安全瀏覽」功能已停用。Chromium 建議啟用此功能。</translation>
 <translation id="6212496753309875659">這部電腦已安裝較新的 Chromium 版本。如果軟件無法工作,請解除安裝 Chromium,然後再試一次。</translation>
@@ -202,7 +197,6 @@
 <translation id="7549178288319965365">關於 Chromium 作業系統</translation>
 <translation id="7561906087460245826">一併清除 Chromium 的資料 (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">如果此頁面沒有顯示設定,請前往 <ph name="LINK_BEGIN" />Chromium 作業系統設定<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">您已使用公司帳戶登入。要為<ph name="NEW_USER" />建立新的 Chromium 空間以分開保留個人資料嗎?</translation>
 <translation id="761356813943268536">Chromium 正在使用您的相機和麥克風。</translation>
 <translation id="7617377681829253106">Chromium 現在更進一步</translation>
 <translation id="7628001322379820951">Chromium 在您的電腦上發現了有害軟件</translation>
@@ -220,7 +214,6 @@
 <translation id="7975919845073681630">這是以並行形式安裝的第二個 Chromium,因此無法設定為您的預設瀏覽器。</translation>
 <translation id="7979877361127045932">隱藏在 Chromium 選單中</translation>
 <translation id="8013436988911883588">Chromium 獲得存取權後,網站便可向您要求存取權。</translation>
-<translation id="8022442821873033760">設定新的 Chromium 空間</translation>
 <translation id="81770708095080097">此檔案不安全,因此 Chromium 已封鎖此檔案。</translation>
 <translation id="8248265253516264921">如果圖片並無有用的說明,Chromium 會嘗試為您提供說明。因此,圖片將傳送至 Google 以建立說明。您可以隨時在設定中關閉此功能。</translation>
 <translation id="8266560134891435528">由於您尚未登入帳戶,因此 Chromium 無法檢查密碼</translation>
@@ -231,7 +224,6 @@
 <translation id="8417404458978023919">{0,plural, =1{請在 1 天內重新啟動 Chromium}other{請在 # 天內重新啟動 Chromium}}</translation>
 <translation id="8453117565092476964">安裝程式封存檔案已損毀或無效,請重新下載 Chromium。</translation>
 <translation id="8493179195440786826">Chromium 版本過舊</translation>
-<translation id="8545858702702650646">選擇您的 Chromium 空間</translation>
 <translation id="8558383651099478961">您的家長已停用 Chromium 的「網站、應用程式和擴充程式權限」設定,因此您無法新增此<ph name="EXTENSION_TYPE_PARAMETER" />。</translation>
 <translation id="8568283329061645092">Chromium 可在您使用 Google 帳戶登入時檢查密碼</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. 保留所有權利。</translation>
@@ -257,7 +249,6 @@
 <translation id="9158494823179993217">系統管理員已設定 Chromium 開啟替代瀏覽器來存取 <ph name="TARGET_URL_HOSTNAME" />。</translation>
 <translation id="9164845895615421500">Chromium 每星期會檢查 1 次,查看有否垃圾軟件。上次檢查時間:剛才。</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">使用 Chromium 空間,妥善整理此裝置上的瀏覽資料</translation>
 <translation id="93478295209880648">由於 Chromium 將不再支援 Windows XP 或 Windows Vista,因此可能無法正常運作</translation>
 <translation id="95514773681268843">在使用這部裝置前,<ph name="DOMAIN" /> 要求您仔細閱讀並接受下列《服務條款》。這些條款不會擴展、修改或限制《Chromium 作業系統條款》。</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-TW.xtb b/chrome/app/resources/chromium_strings_zh-TW.xtb
index daae028b..9a1a2bc 100644
--- a/chrome/app/resources/chromium_strings_zh-TW.xtb
+++ b/chrome/app/resources/chromium_strings_zh-TW.xtb
@@ -28,7 +28,6 @@
 <translation id="2294245788148774212">選用:自動將診斷資料和使用資料傳送給 Google,協助改善 Chromium 作業系統的功能與效能。</translation>
 <translation id="2347108572062610441">這個擴充功能已變更 Chromium 啟動時所顯示的網頁。</translation>
 <translation id="2396765026452590966">擴充功能「<ph name="EXTENSION_NAME" />」已變更 Chromium 啟動時所顯示的網頁。</translation>
-<translation id="2442081746662839303">你要為「<ph name="NEW_USER" />」建立新的 Chromium 空間嗎?</translation>
 <translation id="2483889755041906834">在 Chromium 中</translation>
 <translation id="2485422356828889247">解除安裝</translation>
 <translation id="2527042973354814951">重新啟動 Chromium 即可啟用 <ph name="PLUGIN_NAME" /></translation>
@@ -96,7 +95,6 @@
 <translation id="4677944499843243528">另一台電腦 (<ph name="HOST_NAME" />) 的 Chromium 處理程序 (<ph name="PROCESS_ID" />) 正在使用這個設定檔。Chromium 已鎖定此設定檔,確保其不致受損。如果你確定其他處理程序目前未使用此設定檔,請予以解除鎖定,然後重新啟動 Chromium。</translation>
 <translation id="469338717132742108">前往 Chromium 作業系統說明頁面</translation>
 <translation id="4708774505295300557">先前已有其他使用者使用 <ph name="ACCOUNT_EMAIL_LAST" /> 在這部電腦上登入 Chromium。請建立新的 Chromium 使用者,以便另行保存你的資訊。</translation>
-<translation id="4745225042341419983">這個空間的瀏覽資料將從這部裝置上刪除。如要還原資料,請使用下列身分登入 Chromium:</translation>
 <translation id="4746050847053251315">確定要關閉 Chromium 嗎?</translation>
 <translation id="4748217263233248895">Chromium 剛才套用了特殊的安全性更新。請立即重新啟動,系統會恢復你原先開啟的分頁。</translation>
 <translation id="4750035648288509542">即將更新為最新版本!重新啟動 Chromium 即可完成更新程序。無痕式視窗不會重新開啟。</translation>
@@ -106,7 +104,6 @@
 <translation id="4943838377383847465">Chromium 正在背景模式中執行。</translation>
 <translation id="4987820182225656817">以訪客身分使用 Chromium 不會留下任何記錄。</translation>
 <translation id="4994636714258228724">新增為 Chromium 使用者</translation>
-<translation id="5053724573690775822">要建立新的 Chromium 工作空間嗎?</translation>
 <translation id="5224391634244552924">未儲存任何密碼。你必須先儲存密碼,才能使用 Chromium 的密碼檢查功能。</translation>
 <translation id="5277894862589591112">如要套用變更,請重新啟動 Chromium</translation>
 <translation id="5358375970380395591">你已登入管理化環境下的帳戶,並將管理控制權授予你的 Chromium 設定檔。你的 Chromium 資料 (例如應用程式、書籤、記錄、密碼和其他設定) 均將永久與 <ph name="USER_NAME" /> 建立關聯。你可以透過 Google 帳戶資訊主頁刪除這些資料,但你無法將這些資料與其他帳戶建立關聯。<ph name="LEARN_MORE" /></translation>
@@ -116,7 +113,6 @@
 <translation id="5416696090975899932">缺乏內建的 PDF 檢視器時,Chromium 無法顯示列印預覽畫面。</translation>
 <translation id="5427571867875391349">將 Chromium 設為預設瀏覽器</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium 測試版</translation>
-<translation id="544968170749360982">你已使用新帳戶登入「<ph name="EXISTING_USER" />」的空間。你要為「<ph name="NEW_USER" />」建立新的 Chromium 空間以分開保留資料嗎?</translation>
 <translation id="5479196819031988440">Chromium 作業系統無法開啟這個網頁。</translation>
 <translation id="5480860683791598150">Chromium 需要位置資訊存取權,才能與這個網站分享你的位置資訊</translation>
 <translation id="549669000822060376">請稍候,Chromium 正在安裝最新的系統更新。</translation>
@@ -139,7 +135,6 @@
 <translation id="608189560609172163">登入時發生錯誤,因此 Chromium 無法同步處理你的資料。</translation>
 <translation id="6096348254544841612">有可用的更新,歡迎自訂及控制 Chromium。</translation>
 <translation id="6120345080069858279">Chromium 會將這組密碼儲存至你的 Google 帳戶,你不須記住密碼。</translation>
-<translation id="6128834065531097268">你已使用公司帳戶登入「<ph name="EXISTING_USER" />」的空間。你要為 <ph name="WORK_DOMAIN" /> 建立新的 Chromium 空間以分開保留資料嗎?</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> 並不安全,因此遭到 Chromium 封鎖。</translation>
 <translation id="6134968993075716475">安全瀏覽功能已停用。Chromium 建議啟用這項功能。</translation>
 <translation id="6212496753309875659">這台電腦已安裝較新的 Chromium 版本。如果軟體無法順利運作,請解除安裝 Chromium,然後再試一次。</translation>
@@ -201,7 +196,6 @@
 <translation id="7561906087460245826">一併清除 Chromium 中的資料 (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">如果這個頁面上並未顯示你的設定,請檢查 <ph name="LINK_BEGIN" />
       Chromium 作業系統設定<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">你已使用公司帳戶登入。你要為「<ph name="NEW_USER" />」建立新的 Chromium 空間以分開保留個人資料嗎?</translation>
 <translation id="761356813943268536">Chromium 正在使用你的攝影機和麥克風。</translation>
 <translation id="7617377681829253106">Chromium 變得更進步了</translation>
 <translation id="7628001322379820951">Chromium 發現你的電腦安裝了有害軟體</translation>
@@ -219,7 +213,6 @@
 <translation id="7975919845073681630">這是以並存形式安裝的次要 Chromium,無法設為您的預設瀏覽器。</translation>
 <translation id="7979877361127045932">在 Chromium 選單中隱藏</translation>
 <translation id="8013436988911883588">Chromium 取得存取權後,網站將可要求你授予存取權。</translation>
-<translation id="8022442821873033760">設定新的 Chromium 空間</translation>
 <translation id="81770708095080097">這個檔案並不安全,因此遭到 Chromium 封鎖。</translation>
 <translation id="8248265253516264921">如果圖片缺少有用的說明,Chromium 會嘗試為你提供說明。系統會將圖片傳送給 Google,以便產生說明。你隨時可以在設定中關閉這項功能。</translation>
 <translation id="8266560134891435528">你尚未登入帳戶,因此 Chromium 無法檢查你的密碼</translation>
@@ -230,7 +223,6 @@
 <translation id="8417404458978023919">{0,plural, =1{請在 1 天內重新啟動 Chromium}other{請在 # 天內重新啟動 Chromium}}</translation>
 <translation id="8453117565092476964">安裝程式封存檔案已毀損或無效,請重新下載 Chromium。</translation>
 <translation id="8493179195440786826">Chromium 版本過舊</translation>
-<translation id="8545858702702650646">選擇你的 Chromium 空間</translation>
 <translation id="8558383651099478961">你的家長已停用 Chromium 的「網站、應用程式和擴充功能的權限」設定,因此你無法新增這個<ph name="EXTENSION_TYPE_PARAMETER" />。</translation>
 <translation id="8568283329061645092">如果你使用 Google 帳戶登入,Chromium 可以檢查你的密碼</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. 保留所有權利。</translation>
@@ -256,7 +248,6 @@
 <translation id="9158494823179993217">系統管理員已設定 Chromium 開啟替代瀏覽器來存取 <ph name="TARGET_URL_HOSTNAME" />。</translation>
 <translation id="9164845895615421500">Chromium 每週檢查一次垃圾軟體。上次檢查時間:不到一分鐘前。</translation>
 <translation id="9190841055450128916">Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">使用 Chromium 空間有效管理這部裝置上的瀏覽活動</translation>
 <translation id="93478295209880648">Chromium 已不適用於 Windows XP 或 Windows Vista,因此可能無法正常運作</translation>
 <translation id="95514773681268843">在使用這個裝置前,<ph name="DOMAIN" /> 要求你詳讀並接受下列《服務條款》。這些條款不會擴展、修改或限制《Chromium 作業系統條款》。</translation>
 <translation id="985602178874221306">The Chromium Authors</translation>
diff --git a/chrome/app/resources/chromium_strings_zu.xtb b/chrome/app/resources/chromium_strings_zu.xtb
index 34250130..6292fd82 100644
--- a/chrome/app/resources/chromium_strings_zu.xtb
+++ b/chrome/app/resources/chromium_strings_zu.xtb
@@ -30,7 +30,6 @@
 <translation id="2294245788148774212">Ongakukhetha: Siza ekuthuthukiseni izici nokusebenza kwe-Chromim OS ngokuthumela ngokuzenzekelayo idatha yokusetshenziswa neyokuxilonga ku-Google.</translation>
 <translation id="2347108572062610441">Lesi sandiso siguqule ukuthi yiliphi ikhasi eliboniswayo uma uqala i-Chromium.</translation>
 <translation id="2396765026452590966">Isandiso esingu-"<ph name="EXTENSION_NAME" />" siguqule ukuthi yiliphi ikhasi eliboniswayo uma uqala i-Chromium.</translation>
-<translation id="2442081746662839303">Dala isikhala esisha se-Chromium sika-<ph name="NEW_USER" />?</translation>
 <translation id="2483889755041906834">Ku-Chromium</translation>
 <translation id="2485422356828889247">Khipha</translation>
 <translation id="2527042973354814951">Qalisa kabusha i-Chromium ukuze unike amandla i-<ph name="PLUGIN_NAME" /></translation>
@@ -98,7 +97,6 @@
 <translation id="4677944499843243528">Iphrofayela ibukeka isetshenziswa enye inqubo ye-Chromium (<ph name="PROCESS_ID" />) kwenye ikhompyutha (<ph name="HOST_NAME" />). I-Chromium ikhiye iphrofayela ukuze ingamosheki. Uma uqinisekile ukuthi azikho ezinye izinqubo ezisebenzisa le phrofayela, ungavula iphrofayela uphinde uqalise i-Chromium.</translation>
 <translation id="469338717132742108">Thola usizo nge-Chromium OS</translation>
 <translation id="4708774505295300557">Umuntu othile ungene ngemvume ngaphambilini ku-Chromium kule khompuyutha njengo-<ph name="ACCOUNT_EMAIL_LAST" />. Sicela udale umsebenzisi omusha we-Chromium ukuze ugcine ulwazi lwakho luhlukile.</translation>
-<translation id="4745225042341419983">Le datha yopheqululo yalesi sikhala izosuswa kule divayisi. Ukuze ubuyise idatha, ngena ngemvume ku-Chromium njengo-</translation>
 <translation id="4746050847053251315">Phuma ku-Chromium noma kunjalo?</translation>
 <translation id="4748217263233248895">Isibuyekezo esibalulekile sokuvikela se-Chromium sisanda kufakwa. Qalisa kabusha manje bese sizobuyisela amathebhu akho.</translation>
 <translation id="4750035648288509542">Icishe isisesikhathini! Qalisa kabusha i-Chromium ukuqeda ukubuyekeza. Ama-modi e-Incognito ngeke aze aphinde avuleke.</translation>
@@ -108,7 +106,6 @@
 <translation id="4943838377383847465">I-Chromium kumodi yasemuva.</translation>
 <translation id="4987820182225656817">Izihambeli zingasebenzisa i-Chromium ngaphandle kokushiya noma yini ngemuva.</translation>
 <translation id="4994636714258228724">Zingeze ngokwakho ku-Chromium</translation>
-<translation id="5053724573690775822">Dala isikhala se-Chromium yomsebenzi?</translation>
 <translation id="5224391634244552924">Awekho amaphasiwedi alondoloziwe. I-Chromium ingahlola amaphasiwedi akho lapho uwalondoloza khona.</translation>
 <translation id="5277894862589591112">Ukuze ufake izinguquko zakho, qalisa kabusha i-Chromium</translation>
 <translation id="5358375970380395591">Ungena ngemvume nge-akhawunti ephethwe futhi unikeza umlawuli wayo ukulawula okungaphezulu kwephrofayela yakho ye-Chromium. Idatha yakho ye-Chromium, efana nezinhlelo zakho zokusebenza, amabhukhimakhi, umlando, amaphasiwedi, nezinye izilungiselelo zizoboshezelwa unaphakade ku-<ph name="USER_NAME" />. Uzokwazi ukususa le datha nge-Ideshibhodi yama-Akhawunti we-Google, kodwa ngeke uze ukwazi ukuhlobanisa le datha nenye i-akhawunti. <ph name="LEARN_MORE" /></translation>
@@ -118,7 +115,6 @@
 <translation id="5416696090975899932">I-Chromium ayikwazi ukubonisa ukuhlola kuqala kokuphrinta uma isibukeli esakhelwe ngaphakathi se-PDF singekho.</translation>
 <translation id="5427571867875391349">Setha i-Chromium njengesiphequluli sakho esizenzakalelayo</translation>
 <translation id="5438241569118040789"><ph name="PAGE_TITLE" /> - Chromium Beta</translation>
-<translation id="544968170749360982">Ungene ngemvume nge-akhawunti entsha esikhaleni sika-<ph name="EXISTING_USER" />. Ingabe ungathanda ukudala isikhala esisha se-Chromium sika-<ph name="NEW_USER" /> ukugcina idatha yakho yehlukile?</translation>
 <translation id="5479196819031988440">I-Chromium OS ayikwazi ukuvula leli khasi.</translation>
 <translation id="5480860683791598150">I-Chromium idinga ukufinyelela kundawo yakho ukuze yabelane ngendawo yakho naleli sayithi</translation>
 <translation id="549669000822060376">Sicela ulinde ngenkathi i-Chromium ifaka izibuyekezo zesistimu zakamuva.</translation>
@@ -141,7 +137,6 @@
 <translation id="608189560609172163">I-Chromium ayikwazanga ukuvumelanisa idatha yakho ngenxa yephutha lokungena ngemvume.</translation>
 <translation id="6096348254544841612">Enza ngendlela oyifisayo uphinde ulawule i-Chromium. Isibuyekezo siyatholakala.</translation>
 <translation id="6120345080069858279">I-Chromium izolondoloza le phasiwedi ku-akhawunti yakho ye-Google. Ngeke kudingeke ukuthi uyikhumbule.</translation>
-<translation id="6128834065531097268">Ungene ngemvume nge-akhawunti yomsebenzi esikhaleni sika-<ph name="EXISTING_USER" />. Ingabe ungathanda ukudala isikhala esisha se-Chromium se-<ph name="WORK_DOMAIN" /> ukugcina idatha yehlukile?</translation>
 <translation id="6129621093834146363">I-<ph name="FILE_NAME" /> iyingozi, ngakho-ke i-Chromium iyivimbile.</translation>
 <translation id="6134968993075716475">Ukuphequlula Okuphephile kuvaliwe. i-Chromium incoma ukuba kuvulwe.</translation>
 <translation id="6212496753309875659">Le khompyutha isivele inenguqulo yakamuva kakhulu ye-Chromium. Uma isofthiwe ingasebenzi, sicela ukhiphe i-Chromium uphinde uzame futhi.</translation>
@@ -203,7 +198,6 @@
 <translation id="7561906087460245826">Futhi sula idatha kusuka ku-Chromium (<ph name="URL" />)</translation>
 <translation id="7585853947355360626">Uma isilungiselelo singaveli kuleli khasi, bheka<ph name="LINK_BEGIN" />
       izilungiselelo ze-Chromium OS<ph name="LINK_END" /></translation>
-<translation id="7607142834923530546">Ungene ngemvume nge-akhawunti yomsebenzi. Ingabe ungathanda ukudala isikhala esisha se-Chromium se-<ph name="NEW_USER" /> ukugcina idatha yakho yomuntu siqu yehlukile?</translation>
 <translation id="761356813943268536">I-Chromium isebenzisa ikhamela yakho nemakrofoni.</translation>
 <translation id="7617377681829253106">I-Chromium ibe ngcono nakakhulu</translation>
 <translation id="7628001322379820951">I-Chromium ithole isofthiwe eyingozi kwikhompuyutha yakho</translation>
@@ -221,7 +215,6 @@
 <translation id="7975919845073681630">Lokhu ukufakwa kwesibili kwe-Chromium, futhi akukwazi ukwenziwa isiphequluli sakho esizenzakalelayo.</translation>
 <translation id="7979877361127045932">Fihla kumenyu ye-Chromium</translation>
 <translation id="8013436988911883588">Uma i-Chromium inokufinyelela, amawebhusayithi azokwazi ukukucela ukufinyelela.</translation>
-<translation id="8022442821873033760">Setha Isikhala sakho esisha se-Chromium</translation>
 <translation id="81770708095080097">Leli fayela liyingozi, ngakho-ke i-Chromium iyivimbile.</translation>
 <translation id="8248265253516264921">Uma isithombe singanayo incazelo ephelele, i-Chromium izozama ukukunikezela eyodwa. Ukuze udale izincazelo, izithombe zithunyelwa ku-Google. Ungavala lokhu kuzilungiselelo noma kunini.</translation>
 <translation id="8266560134891435528">I-Chromium ayikwazi ukuhlola amaphasiwedi akho ngoba awungenanga ngemvume</translation>
@@ -232,7 +225,6 @@
 <translation id="8417404458978023919">{0,plural, =1{Qalisa kabusha i-Chromium phakathi kosuku}one{Qalisa kabusha i-Chromium phakathi kwezinsuku ezingu-#}other{Qalisa kabusha i-Chromium phakathi kwezinsuku ezingu-#}}</translation>
 <translation id="8453117565092476964">Ingobo yomlando yesifaki yonakele noma ayivumelekile. Sicela ulande futhi i-Chromium.</translation>
 <translation id="8493179195440786826">I-Chromium ayikho kudethi</translation>
-<translation id="8545858702702650646">Khetha Isikhala sakho se-Chromium</translation>
 <translation id="8558383651099478961">Umzali wakho uvale "Izimvume zamasayithi, izinhlelo zokusebenza, nezandiso" ze-Chromium. Ukwengeza le <ph name="EXTENSION_TYPE_PARAMETER" /> akuvumelekile.</translation>
 <translation id="8568283329061645092">I-Chromium ingahlola amaphasiwedi akho uma ungena ngemvume nge-Akhawunti yakho ye-Google</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Ababhali be-Chromium. Wonke amalungelo agciniwe.</translation>
@@ -258,7 +250,6 @@
 <translation id="9158494823179993217">Umlawuli wesistimu yakho ulungise i-Chromium ukuthi ivule esinye isiphequluli ukufinyelela i-<ph name="TARGET_URL_HOSTNAME" />.</translation>
 <translation id="9164845895615421500">I-Chromium ihlola isofthiwe engafuneki kanye ngeviki. Kugcinwe ukuhlolwa: esikhashaneni esedlule.</translation>
 <translation id="9190841055450128916">I-Chromium (mDNS-In)</translation>
-<translation id="9191317372410544836">Sebenzisa Izikhala ze-Chromium ukugcina ukuphequlula kwakho kuhlelekile kule divayisi</translation>
 <translation id="93478295209880648">I-Chromium kungenzeka ingasebenzi kahle ngoba ayisasekelwa ku-Windows XP noma ku-Windows Vista</translation>
 <translation id="95514773681268843">I-<ph name="DOMAIN" /> idinga ukuthi ufunde uphinde wamukele Imigomo Yesevisi elandelayo ngaphambi kokusebenzisa le divayisi. Le migomo ayinwebeki, iguqule noma ikhawulele Imogomo ye-Chromium OS.</translation>
 <translation id="985602178874221306">Ababhali be-Chromium</translation>
diff --git a/chrome/app/resources/generated_resources_af.xtb b/chrome/app/resources/generated_resources_af.xtb
index a29e9d5f..aa2c607 100644
--- a/chrome/app/resources/generated_resources_af.xtb
+++ b/chrome/app/resources/generated_resources_af.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Net met syfers</translation>
 <translation id="1038462104119736705">Minstens <ph name="INSTALL_SIZE" /> se spasie word vir Linux aanbeveel. Vee lêers op jou toestel uit om meer spasie beskikbaar te maak.</translation>
 <translation id="1039337018183941703">Ongeldige of korrupte lêer</translation>
-<translation id="104086161873270383">Nuwe profiel</translation>
 <translation id="1041175011127912238">Hierdie bladsy reageer nie</translation>
 <translation id="1041263367839475438">Beskikbare toestelle</translation>
 <translation id="1042174272890264476">Jou rekenaar kom ook met <ph name="SHORT_PRODUCT_NAME" /> se RLZ-biblioteek ingebou. RLZ wys 'n nie-unieke, nie-persoonlik identifiseerbare merker toe om die soektogte en <ph name="SHORT_PRODUCT_NAME" /> se gebruik, gedryf deur 'n bepaalde promosieveldtog, te meet. Hierdie etikette verskyn somtyds in Google Search-navrae op <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Hierdie instelling word deur "<ph name="NAME" />"-uitbreiding afgedwing.</translation>
 <translation id="1118738876271697201">Die stelsel kon nie die toestelmodel of reeksnommer bepaal nie.</translation>
 <translation id="1119447706177454957">Interne fout</translation>
+<translation id="1122068467107743258">Werk</translation>
 <translation id="1122198203221319518">Nutsgoed</translation>
 <translation id="1122242684574577509">Kon nie staaf nie. Klik om die aanmeldbladsy te besoek vir die Wi-Fi-netwerk wat jy tans gebruik (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Boekmerknaam</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Bestuur programme</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – deel van groep <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Maak in incognitovenster oop</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />, <ph name="EMOJI_INDEX" /> van <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Die sekuriteitsleutel is gesluit omdat die verkeerde PIN te veel keer ingevoer is. Verwyder dit en sit dit weer in om dit te ontsluit.</translation>
 <translation id="1137673463384776352">Maak skakel in <ph name="APP" /> oop</translation>
 <translation id="1139343347646843679">Kon nie Linux opstel nie. Kontak jou administrateur.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" />-subbladsy se terugknoppie</translation>
 <translation id="1322046419516468189">Bekyk en bestuur gestoorde wagwoorde in jou <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Beveilig die persoonlike Google-rekeninge van enigiemand wat die risiko loop om die slagoffer van geteikende aanvalle te wees</translation>
-<translation id="1325985428688410772">Voeg Spasie By</translation>
 <translation id="1326317727527857210">Meld by Chrome aan om jou oortjies van jou ander toestelle af te kry.</translation>
 <translation id="1327074568633507428">Drukker op Google Wolkdrukker</translation>
 <translation id="1327272175893960498">Kerberos-kaartjies</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Voer jou e-posadres in</translation>
 <translation id="1576594961618857597">Verstek- wit avatar</translation>
 <translation id="1578558981922970608">Forseer toemaak</translation>
+<translation id="1578784163189013834">Kies sluimerskermagtergrond</translation>
 <translation id="1580772913177567930">Kontak jou administrateur</translation>
 <translation id="1581962803218266616">Wys in vinder</translation>
 <translation id="1582955169539260415">vee [<ph name="FINGERPRINT_NAME" />] uit</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">Wagwoordkontrole is nie beskikbaar in Chromium nie</translation>
 <translation id="1871534214638631766">Wys soortgelyke inligting wanneer jy op inhoud regsklik of langdruk</translation>
 <translation id="1871615898038944731">Jou <ph name="DEVICE_TYPE" /> is op datum</translation>
-<translation id="1874835396235780806">Stoor hierdie en ander wagwoorde in jou Google-rekening?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Skuif oortjie na 'n ander venster toe}other{Skuif oortjies na 'n ander venster toe}}</translation>
 <translation id="1875386316419689002">Hierdie oortjie is aan 'n HID-toestel gekoppel.</translation>
 <translation id="1875387611427697908">Dit kan net van die <ph name="CHROME_WEB_STORE" /> af bygevoeg word</translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420">Netwerk <ph name="NETWORK_INDEX" /> van <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, koppel</translation>
 <translation id="1884705339276589024">Verander grootte van Linux-skyf</translation>
 <translation id="1885106732301550621">Skyfspasie</translation>
-<translation id="1885190042244431215">As 'n skoolrekening bygevoeg word, kan 'n student maklik by webwerwe en uitbreidings aanmeld terwyl hulle steeds onder ouertoesig is.</translation>
 <translation id="1886996562706621347">Laat werwe toe om te vra om verstekhanteerders vir protokolle te word (aanbeveel)</translation>
 <translation id="1887442540531652736">Aanmeldfout</translation>
 <translation id="1887597546629269384">Sê weer "Hey Google"</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">Die gebruik van Hangouts en Cast for Education word deur Google se privaatheidsbeleid beheer.</translation>
 <translation id="2348176352564285430">Program: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Kon nie data laai nie</translation>
+<translation id="2349610121459545414">Hou aan om vir hierdie werf toegang tot jou ligging te gee</translation>
 <translation id="2349896577940037438">As jou bykomende Web- en Programaktiwiteit-instelling aangeskakel is, kan hierdie data in jou Google-rekening gestoor word. By account.google.com kan jy jou data sien, dit uitvee en jou rekeninginstellings verander.</translation>
 <translation id="2350133097354918058">Is herlaai</translation>
 <translation id="2350182423316644347">Begin tans program …</translation>
@@ -1232,6 +1232,7 @@
 <translation id="247051149076336810">Lêerdeling-URL</translation>
 <translation id="2470702053775288986">Nie-gesteunde uitbreidings gedeaktiveer</translation>
 <translation id="2471469610750100598">Swart (verstek)</translation>
+<translation id="2471506181342525583">Liggingtoegang word toegelaat</translation>
 <translation id="2473195200299095979">Vertaal hierdie bladsy</translation>
 <translation id="2475982808118771221">'n Fout het voorgekom</translation>
 <translation id="2476578072172137802">Werfinstellings</translation>
@@ -1243,6 +1244,7 @@
 <translation id="2482878487686419369">Kennisgewings</translation>
 <translation id="2484959914739448251"><ph name="BEGIN_LINK" />Voer jou wagfrase in<ph name="END_LINK" /> om jou blaaierdata van al jou gesinkroniseerde toestelle en jou Google-rekening af uit te vee.</translation>
 <translation id="2485005079599453134">Wagwoord is op hierdie toestel gestoor</translation>
+<translation id="2485394160472549611">Topkeuses vir jou</translation>
 <translation id="2485422356828889247">Deïnstalleer</translation>
 <translation id="2487067538648443797">Voeg nuwe boekmerk by</translation>
 <translation id="2487268545026948104">Koppel aan die internet om jou data terug te stel</translation>
@@ -1624,6 +1626,7 @@
 <translation id="2932483646085333864">Meld af en meld dan weer aan om te begin sinkroniseer</translation>
 <translation id="2932883381142163287">Gee misbruik aan</translation>
 <translation id="2933632078076743449">Laas opgedateer</translation>
+<translation id="2934999512438267372">Volle beheer oor MIDI-toestelle word toegelaat</translation>
 <translation id="2936851848721175671">Rugsteun en stel terug</translation>
 <translation id="2938225289965773019">Maak <ph name="PROTOCOL" />-skakels oop</translation>
 <translation id="2938845886082362843">Bekyk en vee aanmelddata uit wat op jou sekuriteitsleutel geberg is</translation>
@@ -1739,6 +1742,7 @@
 <translation id="3083193146044397360">Tydelik geblokkeer om jou sekuriteit te beskerm</translation>
 <translation id="3084548735795614657">Laat val om te installeer</translation>
 <translation id="3084771660770137092">Chrome het óf nie meer geheue nie óf die proses vir die webwerf is om een of ander rede gestop. Om voort te gaan, herlaai of gaan na 'n ander bladsy.</translation>
+<translation id="3084958266922136097">Deaktiveer sluimerskerm</translation>
 <translation id="3085412380278336437">Werf kan jou kamera gebruik</translation>
 <translation id="3085752524577180175">SOCKS-gasheer</translation>
 <translation id="3088052000289932193">Werf gebruik tans MIDI</translation>
@@ -1935,6 +1939,7 @@
 <translation id="3345886924813989455">Geen gesteunde blaaier gevind nie</translation>
 <translation id="3347086966102161372">Kopieer prentadres</translation>
 <translation id="3348038390189153836">Verwyderbare toestel bespeur</translation>
+<translation id="3348131053948466246">Emosiekoon voorgestel. Druk op of af om te navigeer en Enter om in te voeg.</translation>
 <translation id="3349933790966648062">Berginggebruik</translation>
 <translation id="3355936511340229503">Verbindingfout</translation>
 <translation id="3356580349448036450">Voltooi</translation>
@@ -1970,6 +1975,7 @@
 <translation id="3402585168444815892">Skryf tans in by demonstrasiemodus</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Geen wagwoorde is vir hierdie werf gestoor nie</translation>
+<translation id="3404249063913988450">Aktiveer sluimerskerm</translation>
 <translation id="3405664148539009465">Pasmaak lettertipes</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">Wys boekmerkbalk</translation>
@@ -2200,7 +2206,6 @@
 <translation id="3654045516529121250">Lees jou toeganklikheidinstellings</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Dit het permanente toegang tot een lêer.}other{Dit het permanente toegang tot # lêers.}}</translation>
 <translation id="3660234220361471169">Onvertroude</translation>
-<translation id="3661172646479098821">Slegs Android-toestelle word tans gesteun.</translation>
 <translation id="3664511988987167893">Uitbreidingikoon</translation>
 <translation id="3665589677786828986">Chrome het bespeur dat sommige van jou instellings deur 'n ander program korrup gemaak is en het hulle na hul oorspronklike verstekwaardes teruggestel.</translation>
 <translation id="3668801437375206837">Googlers kan bykomende Bluetooth-loglêers by hul terugvoerverslae insluit om Bluetooth-kwessies beter te diagnoseer. Wanneer hierdie opsie gemerk is, sal jou verslag btsnoop- en HCI-loglêers insluit vanaf jou huidige sessie, wat skoongemaak is om soveel PII as moontlik te verwyder. Toegang tot hierdie loglêers sal tot bestuurders van die Chrome-bedryfstelsel in LISNR beperk word. Loglêers sal ná 90 dae permanent uitgevee word.</translation>
@@ -2510,6 +2515,7 @@
 <translation id="3984159763196946143">Kon nie demonstrasiemodus begin nie</translation>
 <translation id="3984431586879874039">Laat hierdie werf toe om jou sekuriteitsleutel te sien?</translation>
 <translation id="3986705137476756801">Skakel Intydse Onderskrifte af vir nou</translation>
+<translation id="3987544746655539083">Hou aan om hierdie werf te keer om toegang tot jou ligging te kry</translation>
 <translation id="3987938432087324095">Jammer, het dit nie gehoor nie.</translation>
 <translation id="3988996860813292272">Kies tydsone</translation>
 <translation id="399179161741278232">Ingevoer</translation>
@@ -2575,6 +2581,7 @@
 <translation id="4087089424473531098">Het die uitbreiding geskep:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Volle beheer oor MIDI-toestelle is geweier</translation>
 <translation id="4088095054444612037">Aanvaar vir groep</translation>
 <translation id="4089235344645910861">Instellings is gestoor. Sinkronisering het begin.</translation>
 <translation id="4090103403438682346">Aktiveer geverifieerde toegang</translation>
@@ -2655,6 +2662,7 @@
 <translation id="4200689466366162458">Gepasmaakte woorde</translation>
 <translation id="4200983522494130825">Nuwe oortjie</translation>
 <translation id="4201546031411513170">Jy kan altyd in instellings kies wat om te sinkroniseer.</translation>
+<translation id="420283545744377356">Skakel sluimerskerm af</translation>
 <translation id="4206144641569145248">Ruimtewese</translation>
 <translation id="4206323443866416204">Terugvoerverslag</translation>
 <translation id="4208390505124702064">Deursoek <ph name="SITE_NAME" /></translation>
@@ -2753,6 +2761,7 @@
 <translation id="4348766275249686434">Versamel foute</translation>
 <translation id="4349828822184870497">Nuttig</translation>
 <translation id="4350019051035968019">Hierdie toestel kan nie by die domein waaraan jou rekening behoort, ingeskryf word nie, want die toestel is gemerk vir bestuur deur 'n ander domein.</translation>
+<translation id="4350230709416545141">Keer <ph name="HOST" /> altyd om toegang tot jou ligging te kry</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> wil vir Bluetooth-toestelle in die omtrek soek. Die volgende toestelle is gekry:</translation>
 <translation id="4354073718307267720">Vra wanneer 'n werf 'n 3D-kaart van jou omgewing wil skep of kameraposisie wil naspoor</translation>
@@ -2772,6 +2781,7 @@
 <translation id="4370975561335139969">Die e-posadres en wagwoord wat jy ingevoer het, pas nie</translation>
 <translation id="4374831787438678295">Linux-installeerder</translation>
 <translation id="4375035964737468845">Maak afgelaaide lêers oop</translation>
+<translation id="4376226992615520204">Ligging is afgeskakel</translation>
 <translation id="4377363674125277448">Daar was 'n probleem met die bediener se sertifikaat.</translation>
 <translation id="4378154925671717803">Foon</translation>
 <translation id="4378373042927530923">Nie laat loop nie</translation>
@@ -2971,7 +2981,6 @@
 <translation id="4619615317237390068">Oortjies van ander toestelle af</translation>
 <translation id="4620809267248568679">Hierdie instelling word deur 'n uitbreiding afgedwing.</translation>
 <translation id="4623189117674524348">Die stelsel kon nie API-toegang vir hierdie toestel magtig nie.</translation>
-<translation id="4624190781974168453">Vra by begin</translation>
 <translation id="4625078469366263107">Aktiveer program</translation>
 <translation id="4627427111733173920">Webkoekies word geblokkeer</translation>
 <translation id="4627442949885028695">Gaan vanaf 'n ander toestel voort</translation>
@@ -3401,7 +3410,6 @@
 <translation id="5185386675596372454">Die nuutste weergawe van "<ph name="EXTENSION_NAME" />" is gedeaktiveer, want dit vereis nog toestemmings.</translation>
 <translation id="5185500136143151980">Geen internet nie</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Opsies-kieslys vir <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktiveer poort</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> wil veelvuldige lêers aflaai</translation>
 <translation id="5192062846343383368">Maak die Family Link-program oop om jou toesiginstellings te sien</translation>
@@ -3594,6 +3602,7 @@
 <translation id="5431825016875453137">OpenVPN / L2TP</translation>
 <translation id="543338862236136125">Wysig wagwoord</translation>
 <translation id="5434065355175441495">PKCS #1 RSA-enkripsie</translation>
+<translation id="5435779377906857208">Laat <ph name="HOST" /> altyd toe om toegang tot jou ligging te kry</translation>
 <translation id="5436492226391861498">Wag tans vir instaanbedienertonnel …</translation>
 <translation id="5436510242972373446">Deursoek <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Stoor asseblief jou lêers en skep nou 'n nuwe rekening.</translation>
@@ -3778,6 +3787,7 @@
 <translation id="5642508497713047">CRL-ondertekenaar</translation>
 <translation id="5643321261065707929">Beperkte netwerk</translation>
 <translation id="5643620609347735571">Vee uit en gaan voort</translation>
+<translation id="5646376287012673985">Ligging</translation>
 <translation id="5646558797914161501">Sakeman</translation>
 <translation id="5648166631817621825">Afgelope 7 dae</translation>
 <translation id="5649053991847567735">Outomatiese aflaaie</translation>
@@ -3821,6 +3831,7 @@
 <translation id="5701212929149679556">Sellulêre swerwing</translation>
 <translation id="5701381305118179107">Sentreer</translation>
 <translation id="5701441174893770082">Die opgradering van Linux kan aansienlik baie van jou batterykrag gebruik. Koppel asseblief jou toestel aan 'n batterylaaier en probeer weer.</translation>
+<translation id="5702749864074810610">Voorstel is toegemaak</translation>
 <translation id="5702898740348134351">Wysig soekenjins …</translation>
 <translation id="5704875434923668958">Sinkroniseer tans met</translation>
 <translation id="5705005699929844214">Wys altyd toeganklikheidopsies</translation>
@@ -3941,6 +3952,7 @@
 <translation id="5857090052475505287">Nuwe vouer</translation>
 <translation id="5857171483910641802">Kortpaaie word voorgestel op grond van webwerwe wat jy gereeld besoek</translation>
 <translation id="5858490737742085133">Terminaal</translation>
+<translation id="5859603669299126575">Kunsgalery-album</translation>
 <translation id="585979798156957858">Eksterne Meta</translation>
 <translation id="5860033963881614850">Af</translation>
 <translation id="5860491529813859533">Skakel aan</translation>
@@ -4326,6 +4338,7 @@
 <translation id="6318125393809743217">Sluit 'n policies.json-lêer met beleidopstellings in.</translation>
 <translation id="6318407754858604988">Aflaai het begin</translation>
 <translation id="6318944945640833942">Kon nie 'n drukker bespeur nie. Voer drukkeradres weer in.</translation>
+<translation id="6321407676395378991">Skakel sluimerskerm aan</translation>
 <translation id="6322653941595359182">Stuur en ontvang SMS'e van jou Chromebook af</translation>
 <translation id="6324916366299863871">Wysig kortpad</translation>
 <translation id="6325191661371220117">Deaktiveer outo-begin</translation>
@@ -4484,7 +4497,6 @@
 <translation id="6531282281159901044">Hou gevaarlike lêer</translation>
 <translation id="6532101170117367231">Stoor op Google Drive</translation>
 <translation id="6532106788206463496">Stoor veranderinge</translation>
-<translation id="6532113437901537254">Jou wagwoorde vanuit jou Google-rekening sal ook op hierdie toestel beskikbaar wees terwyl jy aangemeld is</translation>
 <translation id="6532206849875187177">Sekuriteit en aanmelding</translation>
 <translation id="6532527800157340614">Kon nie aanmeld nie omdat jou toegangtoken nie opgehaal kon word nie. Gaan jou netwerkverbinding na en probeer weer.</translation>
 <translation id="6532663472409656417">Onderneming is ingeskryf</translation>
@@ -4506,6 +4518,7 @@
 <translation id="6555432686520421228">Verwyder alle gebruikerrekeninge en stel jou <ph name="IDS_SHORT_PRODUCT_NAME" />-toestel terug om soos nuut te wees.</translation>
 <translation id="6555810572223193255">Kan nie tans skoonmaak nie</translation>
 <translation id="6556866813142980365">Herdoen</translation>
+<translation id="6556903358015358733">Tema en muurpapier</translation>
 <translation id="6557290421156335491">My kortpaaie</translation>
 <translation id="6561560012278703671">Gebruik stiller boodskappe (keer dat kennisgewingporboodskappe jou onderbreek)</translation>
 <translation id="6561726789132298588">voer in</translation>
@@ -4529,6 +4542,7 @@
 <translation id="6590458744723262880">Hernoem vouer</translation>
 <translation id="6592267180249644460">WebRTC-loglêer vasgevang <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Jou vingerafdruk is vasgevang</translation>
+<translation id="6595187330192059106">Keer <ph name="HOST" /> altyd om volle beheer oor MIDI-toestelle te hê.</translation>
 <translation id="6596325263575161958">Enkripsie-opsies</translation>
 <translation id="6596816719288285829">IP-adres</translation>
 <translation id="6597017209724497268">Voorbeelde</translation>
@@ -5014,9 +5028,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" is uitgevee</translation>
 <translation id="7201420661433230412">Bekyk lêers</translation>
 <translation id="7203150201908454328">Uitgevou</translation>
-<translation id="7203826966018112936">As 'n skoolrekening bygevoeg word, is dit vir 'n student makliker om by webwerwe en uitbreidings aan te meld terwyl hulle steeds onder ouertoesig is. Dit gee nie vir 'n kind toegang tot boekmerke, wagwoorde of ander blaaierdata wat met die skoolrekening geassosieer word nie.&lt;br&gt;&lt;br&gt;
-    As jou kind 'n Chromebook by die skool gebruik en jy die skoolervaring by die huis wil weerspieël om seker te maak dat jou kind toegang tot al die nodige skoolwerk het, moet jy asseblief by hierdie Family Link-rekening afmeld en van die Chrome-bedryfstelsel se rekeningebladsy af by die skoolrekening aanmeld (Let wel: Family Link-ouerkontroles sal nie van toepassing wees nie).&lt;br&gt;&lt;br&gt;
-    As jou kind nie 'n Chromebook by die skool gebruik nie of as jy verkies om Family Link te gebruik om jou kind se ervaring by die huis te bestuur, moet jy asseblief die Volgende-knoppie hieronder klik om 'n skoolrekening by hierdie profiel te voeg.</translation>
 <translation id="7206693748120342859">Laai tans <ph name="PLUGIN_NAME" /> af …</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Verlaat bladsy}other{Verlaat bladsye}}</translation>
 <translation id="7207457272187520234">Stuur gebruik- en diagnostiese data. Hierdie toestel stuur tans diagnostiese, toestel- en programgebruikdata outomaties na Google toe. Dit sal met stelsel- en programstabiliteit en ander verbeteringe help. Sekere saamgestelde data sal ook Google-programme en -vennote, soos Android-ontwikkelaars, help. Hierdie instelling word deur die eienaar toegepas. As jou bykomende Web- en Programaktiwiteit-instelling aangeskakel is, kan hierdie data in jou Google-rekening gestoor word.</translation>
@@ -5159,7 +5170,6 @@
 <translation id="7388044238629873883">Jy is amper klaar!</translation>
 <translation id="7392118418926456391">Virusskandering het misluk</translation>
 <translation id="7392915005464253525">Maak geslote venster weer oop</translation>
-<translation id="7393472013449507620">Instellings met "*"-wisselkaarte word nie meer gesteun nie. Kontak die uitbreidingontwikkelaar of jou administrateur om <ph name="BEGIN_LINK" />hierdie instellings te verander<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Gedeelde vouers sal hier verskyn</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> sal met stelselafskop begin en aanhou om in die agtergrond te werk selfs wanneer jy alle ander <ph name="PRODUCT_NAME" />-vensters toegemaak het.</translation>
 <translation id="7399045143794278225">Pasmaak sinkronisering</translation>
@@ -5272,6 +5282,7 @@
 <translation id="7526989658317409655">Plekhouer</translation>
 <translation id="7529411698175791732">Gaan jou internetverbinding na. As die probleem voortduur, probeer afmeld en weer aanmeld.</translation>
 <translation id="7530016656428373557">Ontladingkoers in Watt</translation>
+<translation id="7531310913436731628">Ligging is in Mac-stelselvoorkeure afgeskakel</translation>
 <translation id="7531779363494549572">Gaan na Instellings &gt; Programme en kennisgewings &gt; Kennisgewings.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> reageer nie. Kies "Forseer toemaak" om die program toe te maak.</translation>
 <translation id="7537451260744431038">Werwe kan nie webkoekies gebruik om jou blaai-ervaring beter te maak nie, byvoorbeeld, om jou aangemeld te hou of om items in jou inkopiemandjie te onthou nie</translation>
@@ -5384,6 +5395,7 @@
 <translation id="767147716926917172">Stuur diagnostiese en gebruiksdata outomaties na Google toe</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, in <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Deaktiveer alle poorte wat tans in Linux aangestuur word</translation>
+<translation id="7674542105240814168">Liggingtoegang is geweier</translation>
 <translation id="7676867886086876795">Stuur jou stem na Google om diktee in enige teksveld moontlik te maak.</translation>
 <translation id="7678280409648629969">Aanmelddata sal in Chrome geberg word nadat jy Incognitomodus verlaat het. Dit sal jou in staat stel om Aanraak-ID weer later met hierdie webwerf te gebruik.</translation>
 <translation id="7680416688940118410">Raakskermkalibrasie</translation>
@@ -5591,6 +5603,7 @@
 <translation id="790040513076446191">Manipuleer privaatheidverwante instellings</translation>
 <translation id="7903345046358933331">Die bladsy het ophou reageer. Jy kan wag tot dit reageer of dit toemaak.</translation>
 <translation id="7903742244674067440">Jy het sertifikate op lêer wat hierdie sertifikaatoutoriteite identifiseer</translation>
+<translation id="7903859912536385558">stabiel (vertroude toetser)</translation>
 <translation id="7903925330883316394">Nutsding: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Die administrateur vir hierdie rekening laat nie meer veelvuldige aanmeldings toe nie.</translation>
 <translation id="7904526211178107182">Maak Linux-poorte aan ander toestelle op jou netwerk beskikbaar.</translation>
@@ -5715,6 +5728,7 @@
 <translation id="8049705080247101012">Google het "<ph name="EXTENSION_NAME" />" as kwaadwillig gevlag en installering is verhoed</translation>
 <translation id="8049948037269924837">Raakpaneel – omgekeerde rollees</translation>
 <translation id="8050038245906040378">Microsoft se kommersiële kode-ondertekening</translation>
+<translation id="8051390370038326517">Laat <ph name="HOST" /> altyd toe om volle beheer oor MIDI-toestelle te hê</translation>
 <translation id="8053278772142718589">PKCS #12-lêers</translation>
 <translation id="8053390638574070785">Herlaai hierdie bladsy</translation>
 <translation id="8054517699425078995">Hierdie tipe lêer kan jou toestel beskadig. Wil jy <ph name="FILE_NAME" /> nog hou?</translation>
@@ -5766,6 +5780,7 @@
 <translation id="810728361871746125">Skermresolusie</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Geen derdeparty-webkoekies nie}=1{1 derdeparty-webkoekie is geblokkeer}other{# derdeparty-webkoekies is geblokkeer}}</translation>
 <translation id="810875025413331850">Geen nabygeleë toestelle gevind nie.</translation>
+<translation id="8113476325385351118">Hou aan om hierdie werf te keer om volle beheer oor MIDI-toestelle te hê</translation>
 <translation id="8114199541033039755">Navigeer tuis en terug, en wissel programme met knoppies in tabletmodus. Aangeskakel wanneer ChromeVox of outomatiese klikke geaktiveer is.</translation>
 <translation id="8114875720387900039">Verdeel horisontaal</translation>
 <translation id="8116972784401310538">Boekmerkbestuurder</translation>
@@ -6051,7 +6066,6 @@
 <translation id="8470513973197838199">Gestoorde wagwoorde vir <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">hardeware-gerugsteun</translation>
 <translation id="8473863474539038330">Adresse en meer</translation>
-<translation id="8474733733775441349">Wys wagwoorde uit jou Google-rekening</translation>
 <translation id="8475313423285172237">'n Ander program op jou rekenaar het 'n uitbreiding bygevoeg wat Chrome se werkwyse kan verander.</translation>
 <translation id="8477241577829954800">Oorgeneem</translation>
 <translation id="8477384620836102176">Algemeen</translation>
@@ -6134,6 +6148,7 @@
 <translation id="8590375307970699841">Stel outomatiese opdaterings op</translation>
 <translation id="8591783563402255548">1 sekonde</translation>
 <translation id="8592141010104017453">Moet glad nie kennisgewings wys nie</translation>
+<translation id="859246725979739260">Hierdie werf word gekeer om toegang tot jou ligging te kry</translation>
 <translation id="8593121833493516339">Stuur gebruik- en diagnostiese data. Help om jou kind se Android-ervaring beter te maak deur diagnostiese, toestel- en programgebruikdata outomaties na Google toe te stuur. Dit sal nie gebruik word om jou kind te identifiseer nie en sal met stelsel- en programstabiliteit en ander verbeteringe help. Sekere saamgestelde data sal ook Google-programme en -vennote, soos Android-ontwikkelaars, help. As bykomende Web- en Programaktiwiteit vir jou kind aangeskakel is, kan hierdie data in hul Google-rekening gestoor word. <ph name="BEGIN_LINK1" />Kom meer te wete<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Vang video vas</translation>
 <translation id="8596540852772265699">Gepasmaakte lêers</translation>
@@ -6146,6 +6161,7 @@
 <translation id="860909219589324847">Moet nooit data gebruik om oor te dra nie</translation>
 <translation id="8609465669617005112">Skuif op</translation>
 <translation id="8610103157987623234">Verkeerde formaat; probeer asseblief weer</translation>
+<translation id="8611682088849615761">Hou aan om hierdie werf toe te laat om volle beheer oor MIDI-toestelle te hê</translation>
 <translation id="8613164732773110792">Net kleinletters, syfers, onderstrepe en aandagstrepe</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> is te groot vir 'n sekuriteitkontrole. Jy kan lêers van tot 50 MB oopmaak.</translation>
 <translation id="8615618338313291042">Incognito-program: <ph name="APP_NAME" /></translation>
@@ -6288,6 +6304,7 @@
 <translation id="8761945298804995673">Hierdie gebruiker bestaan reeds</translation>
 <translation id="8762886931014513155">Jou <ph name="DEVICE_TYPE" /> moet opgedateer word</translation>
 <translation id="8763927697961133303">USB-toestel</translation>
+<translation id="87646919272181953">Google Foto's-album</translation>
 <translation id="8767621466733104912">Dateer Chrome outomaties vir alle gebruikers op</translation>
 <translation id="8770406935328356739">Uitbreidingwortelgids</translation>
 <translation id="8770507190024617908">Bestuur mense</translation>
@@ -6604,6 +6621,7 @@
 <translation id="9147392381910171771">Opsies</translation>
 <translation id="9148058034647219655">Gaan uit</translation>
 <translation id="9148126808321036104">Meld weer aan …</translation>
+<translation id="9148963623915467028">Hierdie werf het toegang tot jou ligging.</translation>
 <translation id="9149866541089851383">Wysig …</translation>
 <translation id="9150045010208374699">Gebruik jou kamera</translation>
 <translation id="9153934054460603056">Stoor identiteit en wagwoord</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb
index b8264c7..350127a 100644
--- a/chrome/app/resources/generated_resources_am.xtb
+++ b/chrome/app/resources/generated_resources_am.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">ምስጢራዊ ማድረግ ብቻ</translation>
 <translation id="1038462104119736705">ለLinux ቢያንስ <ph name="INSTALL_SIZE" /> ቦታ ይመከራል። ባዶ ቦታን ለመጨመር ከመሣሪያዎ ፋይሎችን ይሰርዙ።</translation>
 <translation id="1039337018183941703">ልክ ያልሆነ ወይም የተበላሸ ፋይል</translation>
-<translation id="104086161873270383">አዲስ መገለጫ</translation>
 <translation id="1041175011127912238">ይህ ግጽ ምላሽ እየሰጠ አይደለም</translation>
 <translation id="1041263367839475438">የሚገኙ መሣሪያዎች</translation>
 <translation id="1042174272890264476">እንዲሁም ኮምፒውተርዎ የ<ph name="SHORT_PRODUCT_NAME" /> RLZ ቤተ-ፍርግም አብሮ ተሰርቶለት ነው የሚመጣው። RLZ ፍለጋዎችን እና በአንድ የተወሰነ የማስተዋወቂያ ዘመቻ የሚነዳ የ<ph name="SHORT_PRODUCT_NAME" /> አጠቃቀምን ለመለካት ልዩ ያልሆነ፣ በግል ሊለይ የማይችል መለያ ይመድባል። እነዚህ መለያ ስሞች አንዳንድ ጊዜ በ<ph name="PRODUCT_NAME" /> የGoogle ፍለጋ መጠይቆች ላይ ይታያሉ።</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">የ<ph name="SUBPAGE_TITLE" /> ንዑስ ገጽ ተመለስ አዝራር</translation>
 <translation id="1322046419516468189">በእርስዎ <ph name="SAVED_PASSWORDS_STORE" /> ውስጥ የተቀመጡ የይለፍ ቃላትን ይመልከቱ እና ያስተዳድሩ</translation>
 <translation id="1324106254079708331">የተነጣጠሩ ጥቃቶች አደጋ ያለበት የማንኛውም ሰው የግል Google መለያዎችን ይጠብቃል</translation>
-<translation id="1325985428688410772">ክፍተትን ያክሉ</translation>
 <translation id="1326317727527857210">ትሮችዎን ከሌሎች መሣሪያዎችዎ ለማግኘት ወደ Chrome ይግቡ።</translation>
 <translation id="1327074568633507428">በGoogle ደመና ህትመት ላይ ያለ አታሚ</translation>
 <translation id="1327272175893960498">የKerberos ቲኬቶች</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">የይለፍ ቃል ፍተሻ በChromium ውስጥ አይገኝም</translation>
 <translation id="1871534214638631766">ቀኝ ጠቅ ሲያደርጉ ወይም በይዘት ላይ ለረዥም ጊዜ ሲጫኑ ተዛማጅ መረጃን አሳይ</translation>
 <translation id="1871615898038944731">የእርስዎ <ph name="DEVICE_TYPE" /> የተዘመነ ነው</translation>
-<translation id="1874835396235780806">ይህ እና ሌሎች የይለፍ ቃላትን በGoogle መለያዎ ውስጥ ይቀመጡ?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ትር ወደ ሌላ መስኮት ውሰድ}one{ትሮችን ወደ ሌላ መስኮት ውሰድ}other{ትሮችን ወደ ሌላ መስኮት ውሰድ}}</translation>
 <translation id="1875386316419689002">ይህ ትር ከአንድ HID መሣሪያ ጋር የተገናኘ ነው።</translation>
 <translation id="1875387611427697908">ይሄ ከ<ph name="CHROME_WEB_STORE" /> ብቻ ነው ሊታከል የሚችለው</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">አውታረ መረብ <ph name="NETWORK_INDEX" /> ከ<ph name="NETWORK_COUNT" />፣ <ph name="NETWORK_NAME" />፣ አገናኝ</translation>
 <translation id="1884705339276589024">የLinux ዲስክ መጠንን ቀይር</translation>
 <translation id="1885106732301550621">የዲስክ ቦታ</translation>
-<translation id="1885190042244431215">የትምህርት ቤት መለያን ማከል በወላጅ ቁጥጥሮች ሥር ሆኖ እየተንቀሳቀሱ እንደ ተማሪ ወደ ድር ጣቢያዎች እና ቅጥያዎች በቀላሉ በመለያ መግባትን ያስችላል።</translation>
 <translation id="1886996562706621347">ጣቢያዎች ለፕሮቶኮሎች ነባሪ ከዋኞች እንዲሆኑ እንዲጠይቁ ፍቀድ (የሚመከር)</translation>
 <translation id="1887442540531652736">የመግባት ስህተት</translation>
 <translation id="1887597546629269384">እንደገና «Hey Google» ይበሉ</translation>
@@ -2199,7 +2195,6 @@
 <translation id="3654045516529121250">የተደራሽነት ቅንብሮችዎን ያነብባል</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ወደ አንድ ፋይል ቋሚ መዳረሻ አለው።}one{ወደ # ፋይሎች ቋሚ መዳረሻ አለው።}other{ወደ # ፋይሎች ቋሚ መዳረሻ አለው።}}</translation>
 <translation id="3660234220361471169">የማይታመን</translation>
-<translation id="3661172646479098821">የAndroid መሣሪያዎች ብቻ ናቸው በአሁኑ ጊዜ የሚደገፉት።</translation>
 <translation id="3664511988987167893">የቅጥያ አዶ</translation>
 <translation id="3665589677786828986">Chrome አንዳንድ ቅንብሮችዎ በሌላ ፕሮግራም መበላሸቱን አስተውሏል፣ እና ወደ የመጀመሪያዎቹ ነባሪዎቻቸው መልሷቸዋል።</translation>
 <translation id="3668801437375206837">የብሉቱዝ ችግሮችን በተሻለ ሁኔታ ለመመርመር የGoogle ሰራተኛዎች ተጨማሪ የብሉቱዝ ምዝግብ ማስታወሻን ከግብረመልስ ሪፖርቶቻቸው ጋር ማካተት ይችላሉ። ይህ አማራጭ ምልክት ሲደረግበት ሪፖርትዎ ከአሁኑ ክፍለ-ጊዜዎ የbtsnoop እና HCI ምዝግብ ማስታወሻዎችን ያካትታል፣ የተቻለውን ያህል PII ተወግዶ። የእነዚህ ምዝግብ ማስታወሻዎች መዳረሻ በListnr ቡድን ውስጥ ላሉ የChrome OS ምርት አቀናባሪዎች የተገደበ ነው። የምዝግብ ማስታወሻዎች ከ90 ቀኖች በኋላ ሙሉ ለሙሉ ይወገዳሉ።</translation>
@@ -2769,6 +2764,7 @@
 <translation id="4370975561335139969">ያስገቧቸው ኢሜይል እና የይለፍ ቃል አይዛመዱም።</translation>
 <translation id="4374831787438678295">Linux ጫኚ</translation>
 <translation id="4375035964737468845">የወረዱ ፋይሎችን ክፈት</translation>
+<translation id="4376226992615520204">አካባቢ ጠፍቷል</translation>
 <translation id="4377363674125277448">በአገልጋዩ የእውቅና ማረጋገጫ ላይ አንድ ችግር ነበር።</translation>
 <translation id="4378154925671717803">ስልክ</translation>
 <translation id="4378373042927530923">አታሂድ</translation>
@@ -2968,7 +2964,6 @@
 <translation id="4619615317237390068">ከሌሎች መሣሪያዎች የመጡ ትሮች</translation>
 <translation id="4620809267248568679">ይህ ቅንብር በአንድ ቅጥያ ነው የሚፈጸመው።</translation>
 <translation id="4623189117674524348">ሥርዓቱ ለዚህ መሣሪያ የኤፒአይ መዳረሻን መፍቀድ አልቻለም።</translation>
-<translation id="4624190781974168453">ጅምር ላይ ጠይቅ</translation>
 <translation id="4625078469366263107">መተግበሪያን አንቃ</translation>
 <translation id="4627427111733173920">ኩኪዎች ታግደዋል</translation>
 <translation id="4627442949885028695">ከሌላ መሣሪያ ላይ ቀጥል</translation>
@@ -3398,7 +3393,6 @@
 <translation id="5185386675596372454">አዲሱ የ«<ph name="EXTENSION_NAME" />» መተግበሪያ ስሪት ተጨማሪ ፍቃዶችን ስለሚፈልግ ተሰናክሏል።</translation>
 <translation id="5185500136143151980">ምንም በይነመረብ የለም</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">ለ<ph name="PROFILE_LOCAL_NAME" /> አማራጮች ምናሌ</translation>
 <translation id="5190926251776387065">ወደብን አግብር</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> በርካታ ፋይሎችን ለማውረድ ይፈልጋል</translation>
 <translation id="5192062846343383368">የእርስዎን የበላይ ተቆጣጣሪ ቅንብሮች ለመመልከት የ Family Link መተግበሪያውን ይክፈቱ</translation>
@@ -3774,6 +3768,7 @@
 <translation id="5642508497713047">CRL ፈራሚ</translation>
 <translation id="5643321261065707929">የሚለካ አውታረ መረብ</translation>
 <translation id="5643620609347735571">አጽዳ እና ቀጥል</translation>
+<translation id="5646376287012673985">አካባቢ</translation>
 <translation id="5646558797914161501">ነጋዴ</translation>
 <translation id="5648166631817621825">ያለፉት 7 ቀኖች</translation>
 <translation id="5649053991847567735">ራስ-ሰር ውርዶች</translation>
@@ -4480,7 +4475,6 @@
 <translation id="6531282281159901044">አደገኛ ፋይልን አስቀምጥ</translation>
 <translation id="6532101170117367231">ወደ Google Drive ያስቀምጡ</translation>
 <translation id="6532106788206463496">ለውጦችን አስቀምጥ</translation>
-<translation id="6532113437901537254">በመለያ ገብተው ሳለ ከGoogle መለያዎ የመጡ ይለፍ ቃላትዎ እንዲሁም በዚህ መሣሪያ ላይም ይገኛሉ</translation>
 <translation id="6532206849875187177">ደህንነት እና በመለያ መግባት</translation>
 <translation id="6532527800157340614">የእርስዎ የመዳረሻ ማስመሰያ ተሰርስሮ ሊወጣ አልቻለም። እባክዎ የአውታረ መረብ ግንኙነትዎን ይፈትሹትና እንደገና ይሞክሩ።</translation>
 <translation id="6532663472409656417">በድርጅት ተመዝግቧል</translation>
@@ -5010,9 +5004,6 @@
 <translation id="7201118060536064622">«<ph name="DELETED_ITEM_NAME" />» ተሰርዟል</translation>
 <translation id="7201420661433230412">ፋይሎችን ይመልከቱ</translation>
 <translation id="7203150201908454328">ተዘርግቷል</translation>
-<translation id="7203826966018112936">የትምህርት ቤት መለያን ወደ መገለጫ ማከል በወላጅ ቁጥጥሮች ሥር ሆኖ እየተንቀሳቀሱ እንደ ተማሪ ወደ ድር ጣቢያዎች እና ቅጥያዎች በቀላሉ በመለያ መግባትን ያነቃል። የእልባቶች፣ የይለፍ ቃል ወይም ከትምህር ቤት መለያ ጋር የሰመረ ሌላ የአሳሽ ውሂብን መዳረሻ ለልጅ አይሰጥም።&lt;br&gt;&lt;br&gt;
-    የእርስዎ ልጅ በትምህርት ቤት ላይ Chromebook የሚጠቀሙ ከሆነ እና የሁሉም አስፈላጊ የትምህርት ቤት ሥራ መዳረሻ እንዳላቸው ለማረጋገጥ የትምህርት ቤት ተሞክሮ በቤት ውስጥ ለማንጸባረቅ ከፈለጉ እባክዎ ከዚህ Family Link መለያ ዘግተው ይውጡ እና ከChrome OS መለያዎች ገጽ ሆነው ወደ የትምህርት ቤት መለያው ይግቡ (ማስታወሻ፦ Family Link የወላጅ ቁጥጥሮች ተፈጻሚ አይሆኑም)።&lt;br&gt;&lt;br&gt;
-    የእርስዎ ልጅ Chromebook በትምህርት ቤት የማይጠቀም ከሆኑ ወይም የልጅዎን ተሞክሮ Family Linkን በመጠቀም በቤት ውስጥ ለማቀናበር ከመረጡ የትምህርት ቤት መለያን ወደዚህ መገለጫ ለማከል እባክዎ ከታች ያለውን የ«ቀጣይ» አዝራር ጠቅ ያድርጉ።</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" />ን በማውረድ ላይ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{ከገጽ ውጣ}one{ከገጾች ውጣ}other{ከገጾች ውጣ}}</translation>
 <translation id="7207457272187520234">የአጠቃቀም እና የምርመራ ውሂብ ይላኩ። ይህ መሣሪያ በአሁኑ ጊዜ በራስ-ሰር የምርመራ፣ የመሣሪያ እና የመተግበሪያ አጠቃቀም ውሂብ ወደ Google እየላከ ነው። ይህ የሥርዓት እና የመተግበሪያ እርጋታን እና ሌሎች ማሻሻያዎችን ያግዛል። አንዳንድ ውሑድ ውሂብ እንዲሁም የGoogle መተግበሪያዎችን እና እንደ የAndroid ገንቢዎች ያሉ አጋሮችን ያግዛሉ። ይህ ቅንብር በባለቤቱ ተፈጻሚ ይደረጋል። የእርስዎ የተጨማሪ ድር እና መተግበሪያ እንቅስቃሴ ቅንብር በርቶ ከሆነ ይህ ውሂብ በGoogle መለያዎ ላይ ሊቀመጥ ይችላል።</translation>
@@ -5155,7 +5146,6 @@
 <translation id="7388044238629873883">በቃ ሊጨርሱ ነው!</translation>
 <translation id="7392118418926456391">የቫይረስ ቅኝት አልተሳካም</translation>
 <translation id="7392915005464253525">የተ&amp;ዘጋውን መስኮት ዳግም ክፈት</translation>
-<translation id="7393472013449507620">የ«*» ልቅ ምልክቶች ያላቸው ቅንብሮች ከእንግዲህ አይደገፉም። <ph name="BEGIN_LINK" />እነዚህን ቅንብሮች ለመቀየር<ph name="END_LINK" /> የቅጥያውን ገንቢ ወይም አስተዳዳሪዎን ያነጋግሩ።</translation>
 <translation id="7396017167185131589">የተጋሩ አቃፊዎች እዚህ ይታያሉ</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ስርዓት በሚነሳበት ጊዜ ይጀመርና ሁሉንም የሌሎች <ph name="PRODUCT_NAME" /> መስኮቶችን ከዘጉ በኋላም እንኳ በጀርባ ውስጥ መሄዱን ይቀጥላል።</translation>
 <translation id="7399045143794278225">ስምረትን አብጅ</translation>
@@ -5268,6 +5258,7 @@
 <translation id="7526989658317409655">ቦታ ያዥ</translation>
 <translation id="7529411698175791732">የበይነመረብ ግንኙነትዎን ይፈትሹ። ችግሩ ከቀጠለ ዘግተው ወጥተው እንደገና ለመግባት ይሞክሩ።</translation>
 <translation id="7530016656428373557">የትፋት ፍጥነት በዋት</translation>
+<translation id="7531310913436731628">ካሜራ በMac System Preferences ውስጥ ጠፍቷል</translation>
 <translation id="7531779363494549572">ወደ ቅንብሮች &gt; መተግበሪያዎች እና ማሳወቂያዎች &gt; ማሳወቂያዎች ይሂዱ።</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ምላሽ እየሰጠ አይደለም። መተግበሪያውን ለመዝጋት «በግዳጅ ዝጋ»ን ይምረጡ።</translation>
 <translation id="7537451260744431038">ጣቢያዎች የአሰሳዎን ተሞክሮ ለማሻሻል ኩኪዎችን መጠቀም አይችሉም፣ ለምሳሌ እርስዎ በመለያ እንደገቡ ማቆየት ወይም በግዢ ጋሪዎ ውስጥ ንጥሎችን ለማስታወስ</translation>
@@ -6052,7 +6043,6 @@
 <translation id="8470513973197838199">የተቀመጡ የ<ph name="ORIGIN" /> የይለፍ ቃላት</translation>
 <translation id="8472623782143987204">የሃርድዌር ደጀን ያለው</translation>
 <translation id="8473863474539038330">አድራሻዎች እና ተጨማሪ</translation>
-<translation id="8474733733775441349">የይለፍ ቃላትን ከGoogle መለያዎ ያሳዩ</translation>
 <translation id="8475313423285172237">በኮምፒውተርዎ ላይ ያለ ሌላ ፕሮግራም Chrome የሚሰራበት መንገድ ሊቀይር የሚችል አንድ ቅጥያ አክሏል።</translation>
 <translation id="8477241577829954800">ተተክቷል</translation>
 <translation id="8477384620836102176">&amp;አጠቃላይ</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index fc2b775..f450d074 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">التشفير فقط</translation>
 <translation id="1038462104119736705">‏يُنصَح بتوفير <ph name="INSTALL_SIZE" /> على الأقل من المساحة لنظام التشغيل Linux. ولزيادة المساحة الخالية، يجب حذف ملفات من جهازك.</translation>
 <translation id="1039337018183941703">ملف تالف أو غير صالح</translation>
-<translation id="104086161873270383">ملف شخصي جديد</translation>
 <translation id="1041175011127912238">الصفحة لا تستجيب.</translation>
 <translation id="1041263367839475438">الأجهزة المتوفِّرة</translation>
 <translation id="1042174272890264476">‏يأتي جهاز الكمبيوتر أيضًا مزودًا بمكتبة RLZ مضمنة للمنتج <ph name="SHORT_PRODUCT_NAME" />. تعيّن RLZ علامة غير فريدة وغير متعلقة بتحديد الشخصية من أجل قياس عمليات البحث ومعدل استخدام <ph name="SHORT_PRODUCT_NAME" /> الذي تؤثر فيه حملة ترويجية محددة. تظهر هذه التصنيفات أحيانًا في طلبات بحث Google في <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">زر الرجوع إلى الصفحة الفرعية <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">عرض كلمات المرور المحفوظة وإدارتها في <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">‏يحمي حسابات Google الشخصية لأي شخص معرّض لخطر الهجمات الموجّهة</translation>
-<translation id="1325985428688410772">إضافة مساحة</translation>
 <translation id="1326317727527857210">‏للحصول على علامات التبويب من أجهزتك الأخرى، سجّل الدخول إلى Chrome.</translation>
 <translation id="1327074568633507428">‏طابعة مسجلة في الطباعة السحابية من Google</translation>
 <translation id="1327272175893960498">‏تذاكر Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">‏لا تتوفّر ميزة "التحقُّق من كلمة المرور" في Chromium.</translation>
 <translation id="1871534214638631766">يمكنك عرض معلومات ذات صلة عند النقر بزر الماوس الأيمن أو الضغط مع الاستمرار على المحتوى.</translation>
 <translation id="1871615898038944731">جهاز <ph name="DEVICE_TYPE" /> مُحدّث</translation>
-<translation id="1874835396235780806">‏هل تريد حفظ كلمة المرور هذه وغيرها في حسابك على Google؟</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{نقل علامة تبويب واحدة إلى نافذة أخرى}zero{نقل علامات تبويب إلى نافذة أخرى}two{نقل علامتَي تبويب إلى نافذة أخرى}few{نقل علامات تبويب إلى نافذة أخرى}many{نقل علامات تبويب إلى نافذة أخرى}other{نقل علامات تبويب إلى نافذة أخرى}}</translation>
 <translation id="1875386316419689002">‏علامة التبويب هذه متصّلة بجهاز HID.</translation>
 <translation id="1875387611427697908">لا يمكن إضافة ذلك إلا من <ph name="CHROME_WEB_STORE" />.</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">الشبكة <ph name="NETWORK_INDEX" /> من <ph name="NETWORK_COUNT" />، الشبكة <ph name="NETWORK_NAME" />، الاتصال</translation>
 <translation id="1884705339276589024">‏تغيير حجم قرص نظام التشغيل Linux</translation>
 <translation id="1885106732301550621">مساحة القرص الصلب</translation>
-<translation id="1885190042244431215">تتيح إضافة حساب مؤسسة تعليمية للطلاب سهولة تسجيل الدخول إلى المواقع الإلكترونية والإضافات حتى إذا كانت أدوات الرقابة الأبوية مفعَّلة.</translation>
 <translation id="1886996562706621347">السماح للمواقع الإلكترونية بأن تطلب أن تصبح معالجات تلقائية للبروتوكولات (مستحسن)</translation>
 <translation id="1887442540531652736">خطأ في تسجيل الدخول</translation>
 <translation id="1887597546629269384">‏يُرجى قول "Ok Google" مرة أخرى.</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">الاطّلاع على إعدادات إمكانية الوصول</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{لديه حق الوصول الدائم إلى ملف واحد.}zero{لديه حق الوصول الدائم إلى # من الملفات.}two{لديه حق الوصول الدائم إلى ملفين (#).}few{ لديه حق الوصول الدائم إلى # ملفات.}many{لديه حق الوصول الدائم إلى # ملفًا.}other{لديه حق الوصول الدائم إلى # من الملفات.}}</translation>
 <translation id="3660234220361471169">غير موثوق بها</translation>
-<translation id="3661172646479098821">‏لا تتوفَّر حاليًا إلا للأجهزة التي تعمل بنظام التشغيل Android.</translation>
 <translation id="3664511988987167893">رمز الإضافة</translation>
 <translation id="3665589677786828986">‏اكتشف Chrome أن بعض إعداداتك تم إتلافها من قبل برنامج آخر وإعادة تعيينها للحالة التلقائية الأصلية.</translation>
 <translation id="3668801437375206837">‏لتشخيص مشاكل البلوتوث بشكل أفضل، يمكن لمستخدمي Google تضمين سجلّات بلوتوث إضافية مع تقارير التعليقات. وعند تحديد هذا الخيار، سيتضمَّن تقريرك للجلسة الحالية ملفات بتنسيقات btsnoop وسجلّات وحدة تحكُّم المُضيف (HCI) مُصحَّحة لإزالة أكبر قدر ممكن من معلومات تحديد الهوية الشخصية. وسيقتصر الوصول إلى هذه السجلّات على مدراء مجموعة منتجات نظام التشغيل Chrome في Listnr. وستُزال السجلّات نهائيًا بعد 90 يومًا.</translation>
@@ -2769,6 +2764,7 @@
 <translation id="4370975561335139969">البريد الإلكتروني وكلمة المرور اللذان أدخلتهما غير متطابقين</translation>
 <translation id="4374831787438678295">‏أداة تثبيت Linux</translation>
 <translation id="4375035964737468845">فتح الملفات التي تم تنزيلها</translation>
+<translation id="4376226992615520204">تم إيقاف إذن تحديد الموقع الجغرافي.</translation>
 <translation id="4377363674125277448">هناك مشكلة مع شهادة الخادم.</translation>
 <translation id="4378154925671717803">هاتف</translation>
 <translation id="4378373042927530923">لم يتم التشغيل</translation>
@@ -2968,7 +2964,6 @@
 <translation id="4619615317237390068">علامات التبويب من الأجهزة الأخرى</translation>
 <translation id="4620809267248568679">يتم فرض هذا الإعداد بواسطة إحدى الإضافات.</translation>
 <translation id="4623189117674524348">تعذَّر على النظام السماح بالوصول إلى واجهة برمجة التطبيقات لهذا الجهاز.</translation>
-<translation id="4624190781974168453">السؤال عند بدء التشغيل</translation>
 <translation id="4625078469366263107">تفعيل التطبيق</translation>
 <translation id="4627427111733173920">تم حظر ملفات تعريف الارتباط</translation>
 <translation id="4627442949885028695">متابعة من جهاز آخر</translation>
@@ -3398,7 +3393,6 @@
 <translation id="5185386675596372454">تم إيقاف أحدث إصدار من "<ph name="EXTENSION_NAME" />" لأنه يتطلب المزيد من الأذونات.</translation>
 <translation id="5185500136143151980">لا يتوفّر اتصال بالإنترنت</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">قائمة الخيارات لـ <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">تفعيل المنفذ</translation>
 <translation id="51918995459521422">يريد <ph name="ORIGIN" /> تنزيل ملفات متعددة.</translation>
 <translation id="5192062846343383368">‏فتح تطبيق Family Link للاطّلاع على إعدادات الإشراف</translation>
@@ -3775,6 +3769,7 @@
 <translation id="5642508497713047">‏التوقيع على قوائم إبطال الشهادات (CRL)</translation>
 <translation id="5643321261065707929">شبكة تفرض تكلفة استخدام</translation>
 <translation id="5643620609347735571">محو ومتابعة</translation>
+<translation id="5646376287012673985">الموقع الجغرافي</translation>
 <translation id="5646558797914161501">رجل أعمال</translation>
 <translation id="5648166631817621825">آخر 7 أيام</translation>
 <translation id="5649053991847567735">عمليات التنزيل التلقائية</translation>
@@ -4482,7 +4477,6 @@
 <translation id="6531282281159901044">الاحتفاظ بالملف الضار</translation>
 <translation id="6532101170117367231">‏حفظ في Google Drive</translation>
 <translation id="6532106788206463496">حفظ التغييرات</translation>
-<translation id="6532113437901537254">‏ستتوفّر أيضًا كلمات المرور من حسابك على Google على هذا الجهاز طالما أنك مسجّلٌ الدخول إلى الحساب.</translation>
 <translation id="6532206849875187177">تسجيل الدخول والأمان</translation>
 <translation id="6532527800157340614">تعذّر تسجيل الدخول بسبب عدم استرداد رمز الدخول. يُرجى التحقّق من الاتصال بالشبكة وإعادة المحاولة.</translation>
 <translation id="6532663472409656417">المؤسسة المسجَّلة</translation>
@@ -5012,9 +5006,6 @@
 <translation id="7201118060536064622">تم حذف "<ph name="DELETED_ITEM_NAME" />"</translation>
 <translation id="7201420661433230412">عرض الملفات</translation>
 <translation id="7203150201908454328">موسع</translation>
-<translation id="7203826966018112936">‏وبصفتك طالبًا، عندما تضيف حساب مؤسسة تعليمية، يمكنك تسجيل الدخول بسهولة إلى المواقع الإلكترونية والإضافات حتى إذا كانت أدوات الرقابة الأبوية مفعّلة. ولا يتم منح الطفل إمكانية الوصول إلى الإشارات المرجعية وكلمات المرور أو بيانات التصفُّح الأخرى التي تمت مزامنتها مع حساب المؤسسة التعليمية.&lt;br&gt;&lt;br&gt;
-    في حال كان طفلك يستخدم جهاز Chromebook في المؤسسة التعليمية، وتريد عرض تجربة المؤسسة التعليمية في المنزل لضمان وصول طفلك إلى جميع المواد التعليمية الضرورية، يُرجى تسجيل الخروج من حساب Family Link وتسجيل الدخول إلى حساب المؤسسة التعليمية من صفحة حسابات "نظام التشغيل Chrome" (ملاحظة: لن يتم تطبيق أدوات الرقابة الأبوية في Family Link عند تسجيل الخروج من الحساب المرتبط به).&lt;br&gt;&lt;br&gt;
-وفي حال كان طفلك لا يستخدم جهاز Chromebook في المؤسسة التعليمية أو إذا كنت تفضّل إدارة تجربة طفلك في المنزل باستخدام حساب Family Link، يُرجى النقر على زر "التالي" أدناه لإضافة حساب مؤسسة تعليمية إلى هذا الملف الشخصي.</translation>
 <translation id="7206693748120342859">جارٍ تنزيل <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{الخروج من الصفجة}zero{الخروج من صفحة}two{الخروج من الصفحتين}few{الخروج من صفحات}many{الخروج من صفحة}other{الخروج من صفحة}}</translation>
 <translation id="7207457272187520234">‏يمكنك إرسال بيانات الاستخدام والتشخيص. ويُرسل هذا الجهاز حاليًا بيانات استخدام التطبيق وبيانات التشخيص وبيانات الجهاز تلقائيًا إلى Google. وسيساعد ذلك في تعزيز استقرار النظام والتطبيقات وإجراء المزيد من التحسينات. وسيستفيد أيضًا مطوّرو التطبيقات والشركاء في Google، مثل مطوّري البرامج المتوافقة مع Android، من بعض البيانات المجمّعة. ويفرض المالك هذا الإعداد. في حال تفعيل إعداد "النشاط الإضافي على الويب وفي التطبيقات"، قد يتم حفظ هذه البيانات في حسابك على Google.</translation>
@@ -5157,7 +5148,6 @@
 <translation id="7388044238629873883">لقد أوشكت على الانتهاء.</translation>
 <translation id="7392118418926456391">تعذّر فحص الفيروسات</translation>
 <translation id="7392915005464253525">إ&amp;عادة فتح النافذة المغلقة</translation>
-<translation id="7393472013449507620">‏لم تعُد الإعدادات التي تحتوي على أحرف البدل "*" متوافقة مع Flash. يمكنك التواصل مع مطوِّر الإضافة أو مشرفك <ph name="BEGIN_LINK" /> لتغيير هذه الإعدادات<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">ستظهر المجلدات المشتركة هنا.</translation>
 <translation id="7396845648024431313">سيتم تشغيل <ph name="APP_NAME" /> عند بدء تشغيل النظام وسيستمر تشغيله في الخلفية حتى بعد إغلاق كل نوافذ <ph name="PRODUCT_NAME" /> الأخرى.</translation>
 <translation id="7399045143794278225">تخصيص المزامنة</translation>
@@ -5270,6 +5260,7 @@
 <translation id="7526989658317409655">العنصر النائب</translation>
 <translation id="7529411698175791732">تحقق من اتصالك بالإنترنت. وإذا استمرت المشكلة، فحاول الخروج ثم تسجيل الدخول مرة أخرى.</translation>
 <translation id="7530016656428373557">معدل التفريغ بوحدة الوات</translation>
+<translation id="7531310913436731628">‏تم إيقاف الموقع الجغرافي في إعدادات نظام Mac المفضّلة</translation>
 <translation id="7531779363494549572">يُرجى الانتقال إلى "الإعدادات" &gt; "التطبيقات والإشعارات" &gt; "الإشعارات".</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> لا يستجيب. اختَر "فرض الإغلاق" لإغلاق التطبيق.</translation>
 <translation id="7537451260744431038">يمنع هذا الإجراء المواقع الإلكترونية من استخدام ملفات تعريف الارتباط لتحسين تجربة التصفُّح، مثل إبقائك مُسجِّلاً الدخول أو تذكُّر عناصر في سلة التسوق.</translation>
@@ -6050,7 +6041,6 @@
 <translation id="8470513973197838199">كلمات المرور المحفوظة لـ <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">يستند إلى الجهاز</translation>
 <translation id="8473863474539038330">العناوين والمزيد</translation>
-<translation id="8474733733775441349">‏عرض كلمات المرور من حسابك على Google</translation>
 <translation id="8475313423285172237">‏أضاف برنامج آخر بجهاز الكمبيوتر إضافة قد تؤدي إلى تغيير طريقة عمل Chrome.</translation>
 <translation id="8477241577829954800">تم استبدالها</translation>
 <translation id="8477384620836102176">&amp;عام</translation>
diff --git a/chrome/app/resources/generated_resources_as.xtb b/chrome/app/resources/generated_resources_as.xtb
index 895aab8..79574e0 100644
--- a/chrome/app/resources/generated_resources_as.xtb
+++ b/chrome/app/resources/generated_resources_as.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">কেৱল সাংকেতিক</translation>
 <translation id="1038462104119736705">Linuxৰ বাবে অতি কমেও <ph name="INSTALL_SIZE" /> ঠাই থকাটো চুপাৰিছ কৰা হয়। খালী ঠাই বঢ়াবলৈ আপোনাৰ ডিভাইচৰ পৰা ফাইলসমূহ মচক।</translation>
 <translation id="1039337018183941703">অমান্য বা ব্যৱহাৰৰ অনুপযোগী ফাইল</translation>
-<translation id="104086161873270383">নতুন প্ৰ’ফাইল</translation>
 <translation id="1041175011127912238">এই পৃষ্ঠাটোৱে সঁহাৰি জনোৱা নাই</translation>
 <translation id="1041263367839475438">উপলব্ধ ডিভাইচসমূ্হ</translation>
 <translation id="1042174272890264476">আপোনাৰ কম্পিউটাৰৰ সৈতে <ph name="SHORT_PRODUCT_NAME" />ৰ RLZ লাইব্ৰেৰী অন্তনিৰ্মিত ভাৱে আছে। কোনো বিশেষ প্ৰচাৰ অভিযানত ব্যৱহাৰ হোৱা সন্ধান আৰু <ph name="SHORT_PRODUCT_NAME" />ৰ ব্যৱহাৰ জুখিবলৈ RLZএ কোনো অদ্বৈত নোহোৱা, ব্যক্তিগতভাৱে চিনাক্ত কৰিব নোৱাৰা টেগ দিয়ে। এই লেবেলসমূহ কেতিয়াবা <ph name="PRODUCT_NAME" />ৰ Google Searchত কৰা সন্ধানত প্ৰদর্শিত হয়।</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> উপ-পৃষ্ঠালৈ উভতি যোৱাৰ বুটাম</translation>
 <translation id="1322046419516468189">আপোনাৰ <ph name="SAVED_PASSWORDS_STORE" />ত ছেভ কৰি থোৱা পাছৱর্ডসমূহ চাওক আৰু পৰিচালনা কৰক</translation>
 <translation id="1324106254079708331">উদ্দেশ্য কৰি কৰা আক্ৰমণৰ বিপদাশংকা থকা যিকোনো লোকৰ ব্যক্তিগত Google একাউণ্টসমূহক ৰক্ষণাবেক্ষণ দিয়ে</translation>
-<translation id="1325985428688410772">খালী ঠাই যোগ দিয়ক</translation>
 <translation id="1326317727527857210">আপোনাৰ অন্য ডিভাইচৰ পৰা টেববোৰ লাভ কৰিবলৈ Chromeত ছাইন ইন কৰক।</translation>
 <translation id="1327074568633507428">Google ক্লাউড প্ৰিণ্টত প্ৰিণ্টাৰ</translation>
 <translation id="1327272175893960498">Kerberos টিকেটসমূহ</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">Chromiumত পাছৱৰ্ড পৰীক্ষা কৰাৰ সুবিধাটো উপলব্ধ নহয়</translation>
 <translation id="1871534214638631766">আপুনি সমলত ৰাইট ক্লিক কৰিলে অথবা দীঘলীয়াকৈ টিপি ধৰি থাকিলে প্ৰাসংগিক তথ্য দেখুৱাওক</translation>
 <translation id="1871615898038944731">আপোনাৰ <ph name="DEVICE_TYPE" /> আপ টু ডে’ট হৈ আছে</translation>
-<translation id="1874835396235780806">এইটো আৰু অন্য পাছৱৰ্ডসমূহ আপোনাৰ Google একাউণ্টত ছেভ কৰিবনে?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{টেবটো অন্য এখন ৱিণ্ড’লৈ স্থানান্তৰ কৰক}one{টেবসমূহ অন্য এখন ৱিণ্ড’লৈ স্থানান্তৰ কৰক}other{টেবসমূহ অন্য এখন ৱিণ্ড’লৈ স্থানান্তৰ কৰক}}</translation>
 <translation id="1875386316419689002">এই টেবটো এটা HID ডিভাইচৰ সৈতে সংযোগ কৰা হৈছে।</translation>
 <translation id="1875387611427697908">ইয়াক কেৱল <ph name="CHROME_WEB_STORE" />ৰ পৰাহে যোগ কৰিব পাৰি</translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" />টা নেটৱৰ্কৰ <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, সংযোগ কৰক</translation>
 <translation id="1884705339276589024">Linux ডিস্কৰ আকাৰ সলনি কৰক</translation>
 <translation id="1885106732301550621">ডিস্কৰ ঠাই</translation>
-<translation id="1885190042244431215">এটা বিদ্যালয়ৰ একাউণ্ট যোগ দিলে এগৰাকী শিক্ষাৰ্থী হিচাপে অভিভাৱকীয় নিয়ন্ত্ৰণসমূহৰ অধীনত কার্য সম্পাদন কৰিও ৱেবছাইট আৰু এক্সটেনশ্বনসমূহত ছাইন ইন কৰাটো সহজ হৈ পৰে।</translation>
 <translation id="1886996562706621347">প্ৰ’ট’ক’লৰ বাবে ছাইটসমূহক ডিফ’ল্ট হেণ্ডলাৰ হ’বলৈ অনুমতি বিচাৰিবলৈ দিয়ক (চুপাৰিছ কৰা)</translation>
 <translation id="1887442540531652736">ছাইন-ইন সম্পর্কীয় আসোঁৱাহ</translation>
 <translation id="1887597546629269384">পুনৰ "Hey Google" বুলি কওক</translation>
@@ -2197,7 +2193,6 @@
 <translation id="3654045516529121250">আপোনাৰ সাধ্য সুবিধাৰ ছেটিংসমূহ পঢ়ক</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{এইটোৰ ১টা ফাইললৈ স্থায়ী এক্সেছ আছে।}one{এইটোৰ #টা ফাইললৈ স্থায়ী এক্সেছ আছে।}other{এইটোৰ #টা ফাইললৈ স্থায়ী এক্সেছ আছে।}}</translation>
 <translation id="3660234220361471169">অবিশ্বাসী হিচাপে চিহ্নিত</translation>
-<translation id="3661172646479098821">বৰ্তমান কেৱল Android ডিভাইচসমূহহে সমৰ্থিত।</translation>
 <translation id="3664511988987167893">এক্সটেনশ্বন আইকন</translation>
 <translation id="3665589677786828986">Chromeএ আপোনাৰ ডিভাইচৰ কিছুমান ছেটিং অন্য এটা প্ৰ’গ্ৰেমে বিকল কৰিছে বুলি ধৰা পেলাইছে আৰু সেইসমূহ প্ৰকৃত ডিফ’ল্টলৈ ৰিছেট কৰিছে।</translation>
 <translation id="3668801437375206837">ব্লুটুথৰ সমস্যাসমূহ ভালকৈ ধৰা পেলাবলৈ Googlerসকলে অতিৰিক্ত ব্লুটুথ লগ তেওঁলোকৰ মতামতৰ সৈতে অন্তৰ্ভুক্ত কৰিব পাৰে। যেতিয়া এই বিকল্পটো চ্চেক কৰি ৰখা হয় তেতিয়া আপোনাৰ ৰিপ‘ৰ্টত বৰ্তমানৰ ছেশ্বনৰ পৰা btsnoop আৰু HCI লগ অন্তৰ্ভুক্ত কৰা হ‘ব, যিবিলাক যিমান সম্ভৱ সিমান PII আঁতৰাবলৈ ছেনিটাইজ কৰা হয়। এই লগবিলাকলৈ এক্সেছ Listnrত Chrome OS প্ৰ‘ডাক্ট গোটৰ পৰিচালকসকলৰ মাজতে সীমাবদ্ধ থাকিব। লগবিলাক ৯০ দিনৰ পিছত পৰিষ্কাৰ কৰা হ‘ব।</translation>
@@ -2766,6 +2761,7 @@
 <translation id="4370975561335139969">আপুনি দিয়া ইমেইল আৰু পাছৱৰ্ড মিলা নাই</translation>
 <translation id="4374831787438678295">Linux ইনষ্টলাৰ</translation>
 <translation id="4375035964737468845">ডাউনল'ড হোৱা ফাইলসমূহ খোলক</translation>
+<translation id="4376226992615520204">অৱস্থান অফ কৰা আছে</translation>
 <translation id="4377363674125277448">ছাৰ্ভাৰৰ প্ৰমাণপত্ৰৰ ক্ষেত্ৰত কিবা সমস্যা হৈছে।</translation>
 <translation id="4378154925671717803">ফ'ন</translation>
 <translation id="4378373042927530923">নাই চলা</translation>
@@ -2964,7 +2960,6 @@
 <translation id="4619615317237390068">অন্য ডিভাইচৰ টেব</translation>
 <translation id="4620809267248568679">এই ছেটিংটো কোনো এক্সটেনশ্বনৰ জৰিয়তে বলৱৎ কৰা হৈছে৷</translation>
 <translation id="4623189117674524348">ছিষ্টেমটোৱে এই ডিভাইচটোৰ বাবে API এক্সেছৰ কর্তৃত্ব প্ৰদান কৰিব নোৱাৰিলে।</translation>
-<translation id="4624190781974168453">ডিভাইচ আৰম্ভ হওঁতে সোধক</translation>
 <translation id="4625078469366263107">এপ্ সক্ষম কৰক</translation>
 <translation id="4627427111733173920">কুকি অৱৰোধ কৰা হ’ল</translation>
 <translation id="4627442949885028695">অন্য ডিভাইচৰ পৰা অব্যাহত ৰাখক</translation>
@@ -3394,7 +3389,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />"ৰ নতুন সংস্কৰণটো অক্ষম কৰা হৈছে কাৰণ ইয়াক অধিক অনুমতিৰ প্ৰয়োজন।</translation>
 <translation id="5185500136143151980">ইণ্টাৰনেট নাই</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" />ৰ বিকল্পৰ মেনু</translation>
 <translation id="5190926251776387065">প’ৰ্টটো সক্রিয় কৰক</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" />এ একাধিক ফাইল ডাউনল'ড কৰিব খোজে</translation>
 <translation id="5192062846343383368">আপোনাৰ তদাৰকী কৰা ছেটিংসমূহ Family Link এপ্‌টো খোলক</translation>
@@ -3769,6 +3763,7 @@
 <translation id="5642508497713047">CRL ছাইন কৰোঁতা</translation>
 <translation id="5643321261065707929">নিৰিখ-নিৰ্দিষ্ট নেটৱৰ্ক</translation>
 <translation id="5643620609347735571">মচক আৰু অব্যাহত ৰাখক</translation>
+<translation id="5646376287012673985">অৱস্থান</translation>
 <translation id="5646558797914161501">ব্যৱসায়ী</translation>
 <translation id="5648166631817621825">যোৱা ৭ দিনত</translation>
 <translation id="5649053991847567735">স্বয়ংক্ৰিয়ভাৱে হোৱা ডাউনল’ড</translation>
@@ -4472,7 +4467,6 @@
 <translation id="6531282281159901044">বিপজ্জনক ফাইলটো ৰাখক</translation>
 <translation id="6532101170117367231">Google Driveত ছেভ কৰক</translation>
 <translation id="6532106788206463496">সালসলনিবোৰ ছেভ কৰক</translation>
-<translation id="6532113437901537254">আপুনি ছাইন ইন হৈ থাকোঁতে আপোনাৰ Google একাউণ্টৰ পাছৱৰ্ডসমূহো এই ডিভাইচটোত উপলব্ধ হ’ব</translation>
 <translation id="6532206849875187177">সুৰক্ষা আৰু ছাইন ইন</translation>
 <translation id="6532527800157340614">আপোনাৰ এক্সেছ ট’কেনটো পুনৰুদ্ধাৰ কৰিব নোৱৰাৰ বাবে ছাইন ইন বিফল হৈছে। অনুগ্ৰহ কৰি আপোনাৰ নেটৱৰ্ক সংযোগ পৰীক্ষা কৰক আৰু পুনৰ চেষ্টা কৰক।</translation>
 <translation id="6532663472409656417">এণ্টাৰপ্ৰাইজৰ পঞ্জীয়ন কৰা হৈছে</translation>
@@ -4999,9 +4993,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' মচা হ’ল</translation>
 <translation id="7201420661433230412">ফাইলবোৰ চাওক</translation>
 <translation id="7203150201908454328">বিস্তাৰিত</translation>
-<translation id="7203826966018112936">এটা প্ৰ’ফাইলত এটা বিদ্যালয়ৰ একাউণ্ট যোগ দিলে এগৰাকী শিক্ষাৰ্থী হিচাপে অভিভাৱকীয় নিয়ন্ত্ৰণসমূহৰ অধীনত কার্য সম্পাদন কৰিও ৱেবছাইট আৰু এক্সটেনশ্বনসমূহত ছাইন ইন কৰাটো সহজ হৈ পৰে। এইটোৱে এটি শিশুক বিদ্যালয়ৰ একাউণ্টটোৰ সৈতে ছিংক হৈ থকা বুকমাৰ্ক, পাছৱৰ্ড আৰু অন্য ব্ৰাউজাৰ ডেটাৰ এক্সেছ প্ৰদান নকৰে।&lt;br&gt;&lt;br&gt;
-    যদি আপোনাৰ শিশুটিয়ে বিদ্যালয়ত এটা Chromebook ব্যৱহাৰ কৰে আৰু আপুনি নিজৰ শিশুৱে সকলো আৱশ্যকীয় বিদ্যালয়ৰ কামৰ এক্সেছ পোৱাটো নিশ্চিত কৰিবলৈ বিদ্যালয়ৰ অভিজ্ঞতা ঘৰতে প্ৰদান কৰিব বিচাৰে, তেন্তে অনুগ্ৰহ কৰি এই Family Link একাউণ্টটোৰ পৰা ছাইন আউট কৰক আৰু Chrome OS একাউণ্ট পৃষ্ঠাৰ পৰা বিদ্যালয়ৰ একাউণ্টটোত ছাইন ইন কৰক (টোকা: Family Linkৰ অভিভাৱকীয় নিয়ন্ত্ৰণসমূহ প্ৰযোজ্য নহ’ব)।&lt;br&gt;&lt;br&gt;
-    যদি আপোনাৰ শিশুটিয়ে বিদ্যালয়ত এটা Chromebook ব্যৱহাৰ নকৰে অথবা যদি আপুনি Family Link ব্যৱহাৰ কৰি ঘৰত আপোনাৰ শিশুটিৰ অভিজ্ঞতা পৰিচালনা কৰাত অগ্ৰাধিকাৰ দিয়ে, তেন্তে অনুগ্ৰহ কৰি এই প্ৰ’ফাইলটোত এটা বিদ্যালয়ৰ একাউণ্ট যোগ দিবলৈ তলত থকা পৰৱৰ্তী বুটামটোত ক্লিক কৰক।</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ডাউনল’ড কৰি থকা হৈছে...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{পৃষ্ঠাৰ বাহিৰ হওক}one{পৃষ্ঠাসমূহৰ বাহিৰ হওক}other{পৃষ্ঠাসমূহৰ বাহিৰ হওক}}</translation>
 <translation id="7207457272187520234">ব্যৱহাৰ আৰু ডায়গনষ্টিক ডেটা পঠিয়াওক। এই ডিভাইচটোৱে বর্তমান স্বয়ংক্ৰিয়ভাৱে Googleলৈ ডায়গন’ষ্টিক, ডিভাইচ আৰু এপ্ ব্যৱহাৰৰ ডেটা পঠিয়াই আছে। এই কার্যটোৱে ছিষ্টেম আৰু এপৰ স্থিৰতা আৰু অন্য উন্নয়নত সহায় কৰিব। কিছুমান একত্ৰিত ডেটাই Google এপ্‌ আৰু Android বিকাশকৰ্তাৰ দৰে অংশীদাৰকো সহায় কৰিব। এই ছেটিংটো গৰাকীয়ে বলৱৎ কৰিছে। যদি আপোনাৰ অতিৰিক্ত ৱেব আৰু এপৰ কার্যকলাপৰ ছেটিংটো অন কৰা হয় তেন্তে এই ডেটাখিনি আপোনাৰ Google একাউণ্টত ছেভ কৰা হ’ব পাৰে।</translation>
@@ -5144,7 +5135,6 @@
 <translation id="7388044238629873883">আপুনি প্ৰায় সম্পূৰ্ণ কৰিছে!</translation>
 <translation id="7392118418926456391">ভাইৰাছ স্কেন কৰিব পৰা নগ’ল</translation>
 <translation id="7392915005464253525">বন্ধ হৈ থকা ৱিণ্ড’ &amp;পুনৰ খোলক</translation>
-<translation id="7393472013449507620">"*" ৱাইল্ডকাৰ্ড থকা ছেটিংসমূহ আৰু সমৰ্থিত নহয়। <ph name="BEGIN_LINK" /> এই ছেটিংসমূহ সলনি কৰিবলৈ<ph name="END_LINK" /> এক্সটেনশ্বন বিকাশকৰ্তা অথবা আপোনাৰ প্ৰশাসকৰ সৈতে যোগাযোগ কৰক।</translation>
 <translation id="7396017167185131589">শ্বেয়াৰ কৰা ফ’ল্ডাৰসমূহ ইয়াত দেখা যাব</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ছিষ্টেমৰ আৰম্ভণিতে লঞ্চ হ'ব আৰু আপুনি <ph name="PRODUCT_NAME" />ৰ অন্য সকলো বিণ্ড' বন্ধ কৰাৰ পাছতো নেপথ্যত চলি থাকিব।</translation>
 <translation id="7399045143794278225">ছিংক কাষ্ট’মাইজ কৰক</translation>
@@ -5257,6 +5247,7 @@
 <translation id="7526989658317409655">প্লে’চহ’ল্ডাৰ</translation>
 <translation id="7529411698175791732">আপোনাৰ ইণ্টাৰনেট সংযোগ পৰীক্ষা কৰক। তথাপিও যদি সমস্যাটো থাকেই, ছাইন আউট কৰি পুনৰ ছাইন ইন কৰি চাওক।</translation>
 <translation id="7530016656428373557">চ্চাৰ্জ খৰচ হোৱাৰ হাৰ ৱাট এককত</translation>
+<translation id="7531310913436731628">Mac ছিষ্টেম অগ্ৰাধিকাৰসমূহত অৱস্থান অফ কৰা আছে</translation>
 <translation id="7531779363494549572">ছেটিংসমূহ &gt; এপ্ আৰু জাননী &gt; জাননী-লৈ যাওক</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" />এ সঁহাৰি দিয়া নাই। এপ্‌টো বন্ধ কৰিবলৈ "জোৰকৈ বন্ধ কৰক" সুবিধাটো বাছনি কৰক।</translation>
 <translation id="7537451260744431038">ছাইটসমূহে আপোনাৰ ব্ৰাউজিঙৰ অভিজ্ঞতা উন্নত কৰিবলৈ কুকিসমূহ ব্যৱহাৰ কৰিব নোৱাৰে, যেনে, আপোনাক ছাইন ইন কৰি ৰাখিবলৈ অথবা আপোনাৰ শ্বপিং কার্টত থকা বস্তুবোৰ মনত ৰাখিবলৈ</translation>
@@ -6033,7 +6024,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" />ৰ বাবে ছেভ কৰি থোৱা পাছৱৰ্ড</translation>
 <translation id="8472623782143987204">হাৰ্ডৱেৰ-সমৰ্থিত</translation>
 <translation id="8473863474539038330">ঠিকনা আৰু অধিক</translation>
-<translation id="8474733733775441349">আপোনাৰ Google একাউণ্টৰ পাছৱৰ্ডসমূহ দেখুৱাওক</translation>
 <translation id="8475313423285172237">আপোনাৰ কম্পিউটাৰৰ অন্য প্ৰ'গ্ৰেম যোগ কৰা এক্সটেনশ্বনে Chrome কার্যপ্ৰণালী সলনি কৰিব পাৰে।</translation>
 <translation id="8477241577829954800">অপসাৰণ কৰা</translation>
 <translation id="8477384620836102176">&amp;সাধাৰণ</translation>
diff --git a/chrome/app/resources/generated_resources_az.xtb b/chrome/app/resources/generated_resources_az.xtb
index be30e164..395a63d 100644
--- a/chrome/app/resources/generated_resources_az.xtb
+++ b/chrome/app/resources/generated_resources_az.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Sadəcə olaraq kodlandırın</translation>
 <translation id="1038462104119736705">Linux üçün minimum <ph name="INSTALL_SIZE" /> boş yerin olması tövsiyə edilir. Yer boşaltmaq üçün cihazdan faylları silin.</translation>
 <translation id="1039337018183941703">Yanlış və ya zədələnmiş fayl</translation>
-<translation id="104086161873270383">Yeni Profil</translation>
 <translation id="1041175011127912238">Bu səhifə cavab vermir</translation>
 <translation id="1041263367839475438">Əlçatan cihazlar</translation>
 <translation id="1042174272890264476">Kompüteriniz həmçinin daxili <ph name="SHORT_PRODUCT_NAME" /> RLZ kitabxanası ilə gəlir. RLZ axtarışları və <ph name="SHORT_PRODUCT_NAME" /> istifadəsini ölçmək üçün identifikasiya edilə bilən teq ayırır. Bu etiketlər bəzən <ph name="PRODUCT_NAME" /> daxilində, Google Axtarış sorğularında görünür.</translation>
@@ -278,7 +277,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> alt səhifəsinin geri düyməsi</translation>
 <translation id="1322046419516468189"><ph name="SAVED_PASSWORDS_STORE" /> ünvanında yadda saxlanılmış parollara baxın və idarə edin</translation>
 <translation id="1324106254079708331">Şəxsi Google Hesablarını hədəflənmiş hücumlardan qoruyur</translation>
-<translation id="1325985428688410772">Məkan əlavə edin</translation>
 <translation id="1326317727527857210">Digər cihazlarınızdan panelləri əldə etmək üçün Chorme'a daxil olun.</translation>
 <translation id="1327074568633507428">Google Bulud Print üzrə Printer</translation>
 <translation id="1327272175893960498">Kerberos biletləri</translation>
@@ -746,7 +744,6 @@
 <translation id="1868553836791672080">Parol yoxlaması Chromium'da əlçatan deyil</translation>
 <translation id="1871534214638631766">Məzmuna sağ düymə ilə toxunduqda və ya basıb saxladıqda əlaqəli məlumat göstərilsin</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> cihazı güncəldir</translation>
-<translation id="1874835396235780806">Bu və digər parollar Google Hesabınızda saxlansın?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Tabı başqa pəncərəyə köçürün}other{Tabları başqa pəncərəyə köçürün}}</translation>
 <translation id="1875386316419689002">Bu tabel HID cihazına qoşuludur.</translation>
 <translation id="1875387611427697908">Bu, yalnız <ph name="CHROME_WEB_STORE" /> ünvanından əlavə edilə bilər</translation>
@@ -759,7 +756,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" /> şəbəkə, <ph name="NETWORK_NAME" />, Qoşulun</translation>
 <translation id="1884705339276589024">Linux diskinin ölçüsünü dəyişin</translation>
 <translation id="1885106732301550621">Disk ölçüsü</translation>
-<translation id="1885190042244431215">Məktəb hesabının əlavə edilməsi valideyn nəzarəti altında işləyərkən tələbələrin vebsaytlara və artırmalara daha asan giriş etməsini təmin edir.</translation>
 <translation id="1886996562706621347">Saytlara defolt protokol icraçıları olmağa icazə verin (tövsiyə olunur)</translation>
 <translation id="1887442540531652736">Giriş xətası</translation>
 <translation id="1887597546629269384">Yenidən "Hey Google" deyin</translation>
@@ -2195,7 +2191,6 @@
 <translation id="3654045516529121250">Əlçatımlılıq ayarlarını oxuyun</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Bir fayla daimi girişi var.}other{# fayla daimi girişi var.}}</translation>
 <translation id="3660234220361471169">Güvənilməyən</translation>
-<translation id="3661172646479098821">Hazırda yalnız Android cihazları dəstəklənir.</translation>
 <translation id="3664511988987167893">Arıtırma İkonası</translation>
 <translation id="3665589677786828986">Chrome ayarlarınızdan bəzilərinin digər proqram tərəfindən xarab edildiyini aşkarladı və onları defolt vəziyyətinə sıfırladı.</translation>
 <translation id="3668801437375206837">Google istifadəçiləri Bluetooth problemlərini daha yaxşı müəyyən etmək üçün rəy hesabatları ilə birlikdə əlavə Bluetooth girişləri daxil edə bilər. Bu seçim yoxlandıqda hesabata cari sessiyadan btsnoop və HCI girişləri (mümkün qədər çox PII silmək üçün təmizlənmişdir) əlavə ediləcək. Listnr cihazında Chrome ƏS məhsul qrupunun menecerləri üçün bu girişlər məhdudlaşdırılıb.</translation>
@@ -2765,6 +2760,7 @@
 <translation id="4370975561335139969">Daxil etdiyiniz e-poçt və parol uyğun gəlmir</translation>
 <translation id="4374831787438678295">Linux quraşdırıcısı</translation>
 <translation id="4375035964737468845">Endirilmiş faylları açın</translation>
+<translation id="4376226992615520204">Məkan deaktiv edildi</translation>
 <translation id="4377363674125277448">Serverin sertifikatı ilə bağlı problem oldu.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">İşə salınmayıb</translation>
@@ -2964,7 +2960,6 @@
 <translation id="4619615317237390068">Digər cihazlardan tablar</translation>
 <translation id="4620809267248568679">Bu ayar artırma tərəfindən icra olunur.</translation>
 <translation id="4623189117674524348">Sistem bu cihazda API girişinə icazə vermədi.</translation>
-<translation id="4624190781974168453">Ayarlama zamanı soruşun</translation>
 <translation id="4625078469366263107">Tətbiqi Aktiv Edin</translation>
 <translation id="4627427111733173920">Kukilər blok edildi</translation>
 <translation id="4627442949885028695">Başqa cihazdan davam edin</translation>
@@ -3394,7 +3389,6 @@
 <translation id="5185386675596372454">Yeni "<ph name="EXTENSION_NAME" />" versiyası daha çox icazə tələb etdiyi üçün deaktiv edildi.</translation>
 <translation id="5185500136143151980">İnternet yoxdur</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> üçün seçimlər menyusu</translation>
 <translation id="5190926251776387065">Portu aktiv edin</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> bir neçə faylı endirmək istəyir</translation>
 <translation id="5192062846343383368">Nəzarət ayarlarına baxmaq üçün Family Link tətbiqini açın</translation>
@@ -3770,6 +3764,7 @@
 <translation id="5642508497713047">CRL İmzalayıcısı</translation>
 <translation id="5643321261065707929">Limitli şəbəkə</translation>
 <translation id="5643620609347735571">Silin və davam edin</translation>
+<translation id="5646376287012673985">Məkan</translation>
 <translation id="5646558797914161501">Biznesmen</translation>
 <translation id="5648166631817621825">Son 7 gün</translation>
 <translation id="5649053991847567735">Avtomatik endirmələr</translation>
@@ -4474,7 +4469,6 @@
 <translation id="6531282281159901044">Təhlükəli faylları saxlayın</translation>
 <translation id="6532101170117367231">Google Diskdə yadda saxlayın</translation>
 <translation id="6532106788206463496">Dəyişiklikləri yadda saxlayın</translation>
-<translation id="6532113437901537254">Google Hesabınızdakı parollar da daxil olduğunuz halda bu cihazda əlçatan olacaq</translation>
 <translation id="6532206849875187177">Təhlükəsizlik və giriş</translation>
 <translation id="6532527800157340614">Giriş jetonunuzu əldə etmək mümkün olmadığı üçün giriş alınmadı. Şəbəkə bağlantınızı yoxlayın və yenidən cəhd edin.</translation>
 <translation id="6532663472409656417">Müəssisədə Qeydiyyatlı</translation>
@@ -5004,9 +4998,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" silindi</translation>
 <translation id="7201420661433230412">Fayllara baxın</translation>
 <translation id="7203150201908454328">Genişləndirilmiş</translation>
-<translation id="7203826966018112936">Profilə məktəb hesabının əlavə edilməsi valideyn nəzarəti altında işləyərkən tələbələrin vebsaytlara və artırmalara daha asan giriş etməsini təmin edir. Bu, məktəb hesabı ilə sinxronlaşdırılan əlfəcinlər, parollar və digər brauzer datasına uşağın girişinə icazə vermir.&lt;br&gt;&lt;br&gt;
-    Övladınız məktəbdə Chromebook istifadə edirsə və siz övladınızın bütün lazımi məktəb işinə girişinin olduğuna əmin olmaq üçün evdə onun məktəbdəki fəaliyyətini izləmək istəyirsinizsə, bu Family Link hesabından çıxın və Chrome OS hesabları səhifəsindən məktəb hesabına daxil olun (qeyd: Family Link valideyn nəzarəti tətbiq edilməyəcək).&lt;br&gt;&lt;br&gt;
-    Övladınız məktəbdə Chromebook istifadə etmirsə və ya siz Family Link ilə evdə övladınızın məktəbdəki fəaliyyətini idarə etmək istəyirsinizsə, aşağıda Növbəti düyməsinə toxunaraq bu profilə məktəb hesabı əlavə edin.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> endirilir...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Səhifədən Çıxın}other{Səhifələrdən Çıxın}}</translation>
 <translation id="7207457272187520234">İstifadə və diaqnostika datasını göndərin. Bu cihaz hazırda diaqnostika, cihaz və tətbiqdən istifadə datasını avtomatik Google'a göndərir. Bu, sistem və tətbiq sabitliyi və digər təkmilləşdirmələrə kömək edəcək. Bəzi ümumiləşdirilmiş məlumatlar Google tətbiqlərinə və Android tərtibatçıları kimi partnyorlara da kömək edəcək. Bu ayar sahibi tərəfindən tətbiq edilir. Əlavə Veb və Tətbiq Fəaliyyəti ayarı aktiv edilərsə, bu data Google Hesabınızda yadda saxlanıla bilər.</translation>
@@ -5149,7 +5140,6 @@
 <translation id="7388044238629873883">Demək olar ki, tamamladınız!</translation>
 <translation id="7392118418926456391">Virusun skan edilməsi alınmadı</translation>
 <translation id="7392915005464253525">Qapadılmış Pəncərəni yenidən açın</translation>
-<translation id="7393472013449507620">"*" işarələri ilə ayarlar artıq dəstəklənmir. <ph name="BEGIN_LINK" />Bu ayarları dəyişmək üçün<ph name="END_LINK" /> artırma developeri və ya admininiz ilə əlaqə saxlayın.</translation>
 <translation id="7396017167185131589">Paylaşılan qovluqlar burada görünəcək</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> sistem startapı başladacaq və hətta bütün digər <ph name="PRODUCT_NAME" /> pəncərələrini bağlayan kimi  arxa fonda işlətməyə davam edəcək.</translation>
 <translation id="7399045143794278225">Sinxronlaşdırmanı fərdiləşdirin</translation>
@@ -5262,6 +5252,7 @@
 <translation id="7526989658317409655">Yertutan</translation>
 <translation id="7529411698175791732">İnternet bağlantısını yoxlayın. Problem hələ də davam edirsə, hesabdan çıxaraq yenidən daxil olmağa çalışın.</translation>
 <translation id="7530016656428373557">Reyti Vatda hesablayın</translation>
+<translation id="7531310913436731628">Məkan Mac Sistem Tərcihlərində deaktiv edilib</translation>
 <translation id="7531779363494549572">Ayarlar &gt; Tətbiq və bildirişlər &gt; Bildirişlər ünvanına daxil olun.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> cavab vermir. Tətbiqi bağlamaq üçün "Məcbur bağlayın" seçin.</translation>
 <translation id="7537451260744431038">Saytlar baxış təcrübənizi yaxşılaşdırmaq üçün, məsələn, sizi daxil olmuş vəziyyətdə saxlamaq və ya alış-veriş səbətindəki elementləri yadda saxlamaq üçün kukilərdən istifadə edə bilmir</translation>
@@ -6040,7 +6031,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> üçün parollar yadda saxlanıldı</translation>
 <translation id="8472623782143987204">avadanlıqla yedəklənmiş</translation>
 <translation id="8473863474539038330">Ünvanlar və s.</translation>
-<translation id="8474733733775441349">Google Hesabınızdakı parolları göstərin</translation>
 <translation id="8475313423285172237">Kompüterinizdə başqa bir proqram Chrome'un işləməsini dəyişən artırma əlavə etdi.</translation>
 <translation id="8477241577829954800">Dəyişdirildi</translation>
 <translation id="8477384620836102176">&amp;Ümumi</translation>
diff --git a/chrome/app/resources/generated_resources_be.xtb b/chrome/app/resources/generated_resources_be.xtb
index bed2911..b23b818 100644
--- a/chrome/app/resources/generated_resources_be.xtb
+++ b/chrome/app/resources/generated_resources_be.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Толькі шыфраванне</translation>
 <translation id="1038462104119736705">Для выкарыстання Linux рэкамендуецца мець як мінімум <ph name="INSTALL_SIZE" />. Каб вызваліць месца, выдаліце файлы з прылады.</translation>
 <translation id="1039337018183941703">Недапушчальны або пашкоджаны файл</translation>
-<translation id="104086161873270383">Новы профіль</translation>
 <translation id="1041175011127912238">Гэтая старонка не адказвае</translation>
 <translation id="1041263367839475438">Даступныя прылады</translation>
 <translation id="1042174272890264476">Ваш камп'ютар пастаўляецца з убудаванай бібліятэкай RLZ для <ph name="SHORT_PRODUCT_NAME" />. RLZ прызначае неўнікальны цэтлік, які не дазваляе ідэнтыфікаваць асобу, для ацэнкі пошукавых запытаў і статыстыкі выкарыстання <ph name="SHORT_PRODUCT_NAME" />, якія з'яўляюцца вынікам пэўных рэкламных кампаній. Гэтыя меткі часам з'яўляюцца ў пошукавых запытах у Google у прадукце <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Кнопка вяртання на ўкладзеную старонку "<ph name="SUBPAGE_TITLE" />"</translation>
 <translation id="1322046419516468189">Праглядзець захаваныя паролі і кіраваць імі можна ў раздзеле <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Праграма абараняе асабістыя Уліковыя запісы Google ад накіраваных атак</translation>
-<translation id="1325985428688410772">Дадаць профіль</translation>
 <translation id="1326317727527857210">Каб бачыць укладкі з іншых сваіх прылад, увайдзіце ў Chrome.</translation>
 <translation id="1327074568633507428">Прынтар у Google Cloud Print</translation>
 <translation id="1327272175893960498">Білеты Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Праверка пароляў у браўзеры Chromium недаступная</translation>
 <translation id="1871534214638631766">Паказваць інфармацыю пра змесціва пры доўгім націсканні на яго або націсканні правай кнопкай мышы</translation>
 <translation id="1871615898038944731">Абнаўленне прылады <ph name="DEVICE_TYPE" /> не патрабуецца</translation>
-<translation id="1874835396235780806">Захаваць гэты і іншыя паролі ва Уліковым запісе Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Перамясціць укладку ў іншае акно}one{Перамясціць укладкі ў іншае акно}few{Перамясціць укладкі ў іншае акно}many{Перамясціць укладкі ў іншае акно}other{Перамясціць укладкі ў іншае акно}}</translation>
 <translation id="1875386316419689002">Гэта ўкладка падключана да прылады HID.</translation>
 <translation id="1875387611427697908">Гэта можна дадаць толькі з <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Сетка <ph name="NETWORK_INDEX" /> з <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, падключыцца</translation>
 <translation id="1884705339276589024">Змяненне памеру дыска Linux</translation>
 <translation id="1885106732301550621">Месца на дыску</translation>
-<translation id="1885190042244431215">Калі дадаць навучальны ўліковы запіс, карыстальнік зможа лёгка ўваходзіць на вэб-сайты і ў пашырэнні ў якасці вучня, застаючыся пры гэтым пад бацькоўскім кантролем.</translation>
 <translation id="1886996562706621347">Дазволіць сайтам запытваць права быць стандартнымі апрацоўшчыкамі пратаколаў (рэкамендуецца)</translation>
 <translation id="1887442540531652736">Памылка ўваходу</translation>
 <translation id="1887597546629269384">Скажыце "Hey Google" яшчэ раз</translation>
@@ -1940,7 +1936,7 @@
 <translation id="3356580349448036450">Гатова</translation>
 <translation id="3359256513598016054">Абмежаванні палітыкі сертыфікатаў</translation>
 <translation id="3360297538363969800">Памылка друку. Праверце прынтар і паўтарыце спробу.</translation>
-<translation id="3361421571228286637">{COUNT,plural, =1{Прылада "<ph name="DEVICE_NAME" />" спрабуе абагуліць з вамі даныя (<ph name="ATTACHMENTS" />)}one{Прылада "<ph name="DEVICE_NAME" />" спрабуе абагуліць з вамі даныя (<ph name="ATTACHMENTS" />)}few{Прылада "<ph name="DEVICE_NAME" />" спрабуе абагуліць з вамі даныя (<ph name="ATTACHMENTS" />)}many{Прылада "<ph name="DEVICE_NAME" />" спрабуе абагуліць з вамі даныя (<ph name="ATTACHMENTS" />)}other{Прылада "<ph name="DEVICE_NAME" />" спрабуе абагуліць з вамі даныя (<ph name="ATTACHMENTS" />)}}</translation>
+<translation id="3361421571228286637">{COUNT,plural, =1{Прылада "<ph name="DEVICE_NAME" />" спрабуе абагуліць з вамі даныя (<ph name="ATTACHMENTS" />).}one{Прылада "<ph name="DEVICE_NAME" />" спрабуе абагуліць з вамі даныя (<ph name="ATTACHMENTS" />).}few{Прылада "<ph name="DEVICE_NAME" />" спрабуе абагуліць з вамі даныя (<ph name="ATTACHMENTS" />).}many{Прылада "<ph name="DEVICE_NAME" />" спрабуе абагуліць з вамі даныя (<ph name="ATTACHMENTS" />).}other{Прылада "<ph name="DEVICE_NAME" />" спрабуе абагуліць з вамі даныя (<ph name="ATTACHMENTS" />).}}</translation>
 <translation id="3364986687961713424">Паведамленне ад адміністратара: <ph name="ADMIN_MESSAGE" /></translation>
 <translation id="3365598184818502391">Выкарыстоўвайце або Ctrl, або Alt</translation>
 <translation id="3367047597842238025">Наладзьце прыладу <ph name="DEVICE_TYPE" /> на свой густ і карыстайцеся захапляльнымі магчымасцямі – з лёгкасцю.</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Чытанне налад спецыяльных магчымасцей</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Праграма мае пастаянны доступ да аднаго файла.}one{Праграма мае пастаянны доступ да # файла.}few{Праграма мае пастаянны доступ да # файлаў.}many{Праграма мае пастаянны доступ да # файлаў.}other{Праграма мае пастаянны доступ да # файла.}}</translation>
 <translation id="3660234220361471169">Ненадзейны</translation>
-<translation id="3661172646479098821">Зараз падтрымліваюцца толькі прылады Android.</translation>
 <translation id="3664511988987167893">Значок пашырэння</translation>
 <translation id="3665589677786828986">Выяўлена, што іншая праграма змяніла некаторыя налады ў Chrome, і таму яны скінуты да стандартных значэнняў.</translation>
 <translation id="3668801437375206837">Каб лепш дыягнаставаць праблемы Bluetooth, супрацоўнікі Google могуць далучаць да водгукаў-справаздач дадатковыя журналы Bluetooth. Калі гэты параметр уключаны, справаздача будзе ўключаць у сябе журналы "btsnoop" і HCI з бягучага сеанса, максімальна ачышчаныя ад інфармацыі, па якой можна ідэнтыфікаваць асобу. Доступ да гэтых журналаў будуць мець толькі менеджары групы прадукту Chrome OS у Listnr. Праз 90 дзён журналы выдаляюцца.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Вы ўвялі няправільны адрас электроннай пошты або пароль</translation>
 <translation id="4374831787438678295">Усталёўшчык Linux</translation>
 <translation id="4375035964737468845">Адкрыць спампаваныя файлы</translation>
+<translation id="4376226992615520204">Вызначэнне месцазнаходжання выключана</translation>
 <translation id="4377363674125277448">Узнікла праблема з сертыфікатам сервера.</translation>
 <translation id="4378154925671717803">Тэлефон</translation>
 <translation id="4378373042927530923">Паслядоўнасць дзеянняў не запускалася</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Укладкі з іншых прылад</translation>
 <translation id="4620809267248568679">Гэта налада ўключана пашырэннем.</translation>
 <translation id="4623189117674524348">Сістэме не ўдалося аўтарызаваць доступ API для гэтай прылады.</translation>
-<translation id="4624190781974168453">Пытацца пры запуску</translation>
 <translation id="4625078469366263107">Уключыць праграму</translation>
 <translation id="4627427111733173920">Файлы cookie заблакіраваны</translation>
 <translation id="4627442949885028695">Працягніце з іншай прылады</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Новая версія пашырэння "<ph name="EXTENSION_NAME" />" была выключана, бо яна патрабуе дадатковых дазволаў.</translation>
 <translation id="5185500136143151980">Няма падключэння да інтэрнэту</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Меню параметраў профілю "<ph name="PROFILE_LOCAL_NAME" />"</translation>
 <translation id="5190926251776387065">Уключыць порт</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> запытвае дазвол на спампоўку некалькіх файлаў</translation>
 <translation id="5192062846343383368">Каб праглядзець налады бацькоўскага кантролю, адкрыйце праграму Family Link</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">Сродак подпісу CRL</translation>
 <translation id="5643321261065707929">Сетка з улікам трафіка</translation>
 <translation id="5643620609347735571">Выдаліць і працягнуць</translation>
+<translation id="5646376287012673985">Месцазнаходжанне</translation>
 <translation id="5646558797914161501">Бізнесмен</translation>
 <translation id="5648166631817621825">За апошнія 7 дзён</translation>
 <translation id="5649053991847567735">Аўтаматычнае спампоўванне</translation>
@@ -3964,7 +3959,7 @@
 <translation id="5877064549588274448">Канал зменены. Перазапусціце прыладу, каб змены прымяніліся.</translation>
 <translation id="5877584842898320529">Выбраны прынтар недаступны або ўсталяваны няправільна. <ph name="BR" /> Праверце прынтар або выберыце іншы.</translation>
 <translation id="5882919346125742463">Вядомыя сеткі</translation>
-<translation id="5883464818836130222">З 31 снежня выкарыстанне воблачных прынтараў падтрымлівацца не будзе. Звярніцеся да адміністратара.</translation>
+<translation id="5883464818836130222">Пасля 31 снежня выкарыстанне воблачных прынтараў падтрымлівацца не будзе. Звярніцеся да адміністратара.</translation>
 <translation id="5884474295213649357">Гэта ўкладка падключана да прылады USB.</translation>
 <translation id="5886009770935151472">Палец 1</translation>
 <translation id="5889282057229379085">Максімальная колькасць прамежкавых ЦС: <ph name="NUM_INTERMEDIATE_CA" /></translation>
@@ -4482,7 +4477,6 @@
 <translation id="6531282281159901044">Захаваць небяспечны файл</translation>
 <translation id="6532101170117367231">Захаваць на Google Дыск</translation>
 <translation id="6532106788206463496">Захаваць змены</translation>
-<translation id="6532113437901537254">Паролі, захаваныя ва Уліковым запісе Google, будуць даступныя таксама на гэтай прыладзе, пакуль вы не выканаеце выхад</translation>
 <translation id="6532206849875187177">Бяспека і ўваход</translation>
 <translation id="6532527800157340614">Уваход не выкананы: не ўдалося атрымаць токен доступу. Праверце падключэнне да сеткі і паўтарыце спробу.</translation>
 <translation id="6532663472409656417">Зарэгістравана карпарацыяй</translation>
@@ -5012,9 +5006,6 @@
 <translation id="7201118060536064622"><ph name="DELETED_ITEM_NAME" /> – выдалена</translation>
 <translation id="7201420661433230412">Праглядзець файлы</translation>
 <translation id="7203150201908454328">Разгорнута</translation>
-<translation id="7203826966018112936">Калі дадаць навучальны ўліковы запіс у профіль, карыстальнік зможа лёгка ўваходзіць на вэб-сайты і ў пашырэнні ў якасці вучня, застаючыся пры гэтым пад бацькоўскім кантролем. Пры гэтым дзіця не атрымае доступу да закладак, пароляў або іншых даных браўзера, сінхранізаваных з навучальным уліковым запісам.&lt;br&gt;&lt;br&gt;
-    Калі дзіця ў працэсе навучання карыстаецца прыладай Chromebook, а вы хочаце працягваць гэты працэс дома і забяспечыць дзіцяці доступ да ўсіх неабходных матэрыялаў, выйдзіце з гэтага ўліковага запісу Family Link і ўвайдзіце ў навучальны ўліковы запіс на старонцы ўліковых запісаў Chrome OS (звярніце ўвагу: налады бацькоўскага кантролю сэрвісу Family Link дзейнічаць не будуць).&lt;br&gt;&lt;br&gt;
-    Калі дзіця не карыстаецца прыладай Chromebook у працэсе навучання ці вы хочаце кантраляваць навучальны працэс дзіцяці з дому, выкарыстоўваючы Family Link, націсніце кнопку "Далей", каб дадаць навучальны ўліковы запіс у гэты профіль.</translation>
 <translation id="7206693748120342859">Спампоўваецца ўбудова <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Выйсці са старонкі}one{Выйсці са старонак}few{Выйсці са старонак}many{Выйсці са старонак}other{Выйсці са старонак}}</translation>
 <translation id="7207457272187520234">Адпраўка даных пра выкарыстанне і дыягностыку. Зараз прылада аўтаматычна адпраўляе ў Google даныя дыягностыкі і даныя пра выкарыстанне прылады і праграм. Яны будуць карысныя для паляпшэння стабільнасці сістэмы і праграм і для іншых удасканаленняў. Некаторыя згрупаваныя даныя таксама будуць карысныя для праграм і партнёраў Google, напрыклад распрацоўшчыкаў Android. Гэта налада ўключана ўладальнікам. Калі налада "Дадатковыя дзеянні ў інтэрнэце і праграмах" уключана, адпаведныя даныя могуць захоўвацца ва Уліковым запісе Google.</translation>
@@ -5157,7 +5148,6 @@
 <translation id="7388044238629873883">Амаль гатова!</translation>
 <translation id="7392118418926456391">Не ўдалося выканаць праверку на вірусы</translation>
 <translation id="7392915005464253525">Паў&amp;торна адкрыць закрытае акно</translation>
-<translation id="7393472013449507620">Налады з сімваламі падстаноўкі "*" больш не падтрымліваюцца. <ph name="BEGIN_LINK" />Каб змяніць гэтыя налады<ph name="END_LINK" />, звяжыцеся з распрацоўшчыкам пашырэння або адміністратарам.</translation>
 <translation id="7396017167185131589">Тут з'явяцца абагуленыя папкі</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> будзе запускацца пры запуску сістэмы і будзе працягваць працаваць у фоне, нават калі вы закрылі ўсе іншыя вокны <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Наладзіць сінхранізацыю</translation>
@@ -5270,6 +5260,7 @@
 <translation id="7526989658317409655">Запаўняльнік</translation>
 <translation id="7529411698175791732">Праверце падключэнне да інтэрнэту. Калі праблема застанецца, паспрабуйце выйсці і ўвайсці зноў.</translation>
 <translation id="7530016656428373557">Індыкатар разрадкі ў ватах</translation>
+<translation id="7531310913436731628">Вызначэнне месцазнаходжання выключана ў сістэмных наладах Mac</translation>
 <translation id="7531779363494549572">Перайдзіце ў раздзел "Налады &gt; Праграмы і апавяшчэнні &gt; Апавяшчэнні".</translation>
 <translation id="7532009420053991888">Праграма <ph name="LINUX_APP_NAME" /> не адказвае. Каб закрыць яе, націсніце "Прымусова закрыць".</translation>
 <translation id="7537451260744431038">Сайты не могуць выкарыстоўваць файлы cookie для паляпшэння сваёй функцыянальнасці – напрыклад, для захавання інфармацыі пра тое, што вы ўвайшлі ва ўліковы запіс, або каб запамінаць тавары ў кошыку</translation>
@@ -5582,7 +5573,7 @@
 <translation id="7893008570150657497">Доступ да фота, музыкі і іншых файлаў мультымедыя на камп'ютары</translation>
 <translation id="7893153962594818789">Bluetooth выключаны на гэтай прыладзе <ph name="DEVICE_TYPE" />. Увядзіце пароль і ўключыце Bluetooth.</translation>
 <translation id="7893393459573308604"><ph name="ENGINE_NAME" /> (стандартна)</translation>
-<translation id="7897865097438730075">З 31 снежня 2020 г. Google Cloud Print падтрымлівацца не будзе. Звярніцеся да адміністратара.</translation>
+<translation id="7897865097438730075">Пасля 31 снежня Google Cloud Print падтрымлівацца не будзе. Звярніцеся да адміністратара.</translation>
 <translation id="7897900149154324287">У далейшым не забывайце адключаць здымную прыладу праз праграму "Файлы", перад тым як вымаць яе, інакш вы можаце страціць даныя.</translation>
 <translation id="7898627924844766532">Пакінуць у панэлі інструментаў</translation>
 <translation id="7898725031477653577">Заўсёды перакладаць</translation>
@@ -5719,7 +5710,7 @@
 <translation id="8054563304616131773">Увядзіце сапраўдны адрас электроннай пошты</translation>
 <translation id="8054921503121346576">Падключана USB-клавіятура</translation>
 <translation id="8058655154417507695">Год заканчэння тэрміну дзеяння</translation>
-<translation id="8058811362315390556">З 31 снежня 2020 г. Google Cloud Print падтрымлівацца не будзе</translation>
+<translation id="8058811362315390556">Пасля 31 снежня Google Cloud Print падтрымлівацца не будзе</translation>
 <translation id="8059417245945632445">&amp;Праверыць прылады</translation>
 <translation id="8059456211585183827">Няма даступных прынтараў, якія можна захаваць.</translation>
 <translation id="8061091456562007989">Вярнуць ранейшыя налады</translation>
@@ -6049,7 +6040,6 @@
 <translation id="8470513973197838199">Захаваныя паролі для сайта <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">патрабуюцца апаратныя сродкі</translation>
 <translation id="8473863474539038330">Адрасы і іншае</translation>
-<translation id="8474733733775441349">Паказ пароляў, захаваных ва Уліковым запісе Google</translation>
 <translation id="8475313423285172237">Іншая праграма на камп'ютары дадала пашырэнне, якое можа змяніць працу Chrome.</translation>
 <translation id="8477241577829954800">Заменены</translation>
 <translation id="8477384620836102176">&amp;Агульныя звесткі</translation>
@@ -6648,7 +6638,7 @@
 <translation id="9209563766569767417">Ідзе праверка налад кантэйнера Linux</translation>
 <translation id="9209689095351280025">Сайты не могуць выкарыстоўваць файлы cookie для адсочвання вас у інтэрнэце</translation>
 <translation id="9211177926627870898">Патрабуецца абнаўленне</translation>
-<translation id="9211904674129619383">З 31 снежня выкарыстанне воблачных прынтараў падтрымлівацца не будзе. <ph name="BEGIN_LINK_LEARN_MORE" />Даведацца больш<ph name="END_LINK_LEARN_MORE" /></translation>
+<translation id="9211904674129619383">Пасля 31 снежня выкарыстанне воблачных прынтараў падтрымлівацца не будзе. <ph name="BEGIN_LINK_LEARN_MORE" />Даведацца больш<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="9214520840402538427">Памылка!  Была пратэрмінавана ініцыялізацыя атрыбутаў installation-time ("усталяванне-час").  Звярніцеся ў службу падтрымкі.</translation>
 <translation id="9214695392875603905">Кекс</translation>
 <translation id="9215293857209265904">Дададзена пашырэнне "<ph name="EXTENSION_NAME" />"</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb
index 1759a830..b3ee2511 100644
--- a/chrome/app/resources/generated_resources_bg.xtb
+++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Само шифроване</translation>
 <translation id="1038462104119736705">За Linux е препоръчително да разполагате с поне <ph name="INSTALL_SIZE" /> свободно място. За да увеличите свободното място, изтрийте файлове от устройството.</translation>
 <translation id="1039337018183941703">Невалиден или повреден файл</translation>
-<translation id="104086161873270383">Нов потребителски профил</translation>
 <translation id="1041175011127912238">Страницата не реагира</translation>
 <translation id="1041263367839475438">Налични устройства</translation>
 <translation id="1042174272890264476">Компютърът ви също се предлага с библиотеката RLZ на <ph name="SHORT_PRODUCT_NAME" />, която е вградена. Тя задава неуникален и непозволяващ лично идентифициране маркер за измерване на търсенията и използването на <ph name="SHORT_PRODUCT_NAME" />, стимулирани от определена промоционална кампания. Тези етикети понякога се показват в заявките за търсене с Google в <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Бутон за връщане назад на подстраницата <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Преглеждайте и управлявайте запазените пароли в <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Предпазва личните профили в Google на всички хора, които са изложени на риск от насочени атаки</translation>
-<translation id="1325985428688410772">Добавяне на пространство</translation>
 <translation id="1326317727527857210">Влезте в Chrome, за да получите разделите си от другите си устройства.</translation>
 <translation id="1327074568633507428">Принтер в Google Отпечатване в облак</translation>
 <translation id="1327272175893960498">Пропуски за Kerberos</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">Функцията за проверка на паролите не е налице в Chromium</translation>
 <translation id="1871534214638631766">Показване на сродната информация при кликване с десния бутон или продължително натискане на съдържание</translation>
 <translation id="1871615898038944731">Устройството ви <ph name="DEVICE_TYPE" /> е актуално</translation>
-<translation id="1874835396235780806">Искате ли да запазите тази и други пароли в профила си в Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Преместване на раздела в друг прозорец}other{Преместване на разделите в друг прозорец}}</translation>
 <translation id="1875386316419689002">Този раздел е свързан с HID устройство.</translation>
 <translation id="1875387611427697908">Това може да бъде добавено само от <ph name="CHROME_WEB_STORE" /></translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420">Мрежа <ph name="NETWORK_INDEX" /> от <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, свързване</translation>
 <translation id="1884705339276589024">Преоразмеряване на диска на Linux</translation>
 <translation id="1885106732301550621">Място на диска</translation>
-<translation id="1885190042244431215">С добавянето на училищен профил можете лесно да влизате като ученик в уебсайтове и разширения, докато функцията за родителски контроли е активна.</translation>
 <translation id="1886996562706621347">Разрешаване на питания от сайтове дали да са манипулаторите по подразбиране за протоколите (препоръчително)</translation>
 <translation id="1887442540531652736">Грешка при влизането</translation>
 <translation id="1887597546629269384">Кажете „Hey Google“ отново</translation>
@@ -2198,7 +2194,6 @@
 <translation id="3654045516529121250">Четене на настройките ви за достъпност</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Има постоянен достъп до един файл.}other{Има постоянен достъп до # файла.}}</translation>
 <translation id="3660234220361471169">Ненадеждни</translation>
-<translation id="3661172646479098821">Понастоящем се поддържат само устройства с Android.</translation>
 <translation id="3664511988987167893">Икона на разширението</translation>
 <translation id="3665589677786828986">Chrome установи, че някои от настройките ви са повредени от друга програма, и възстанови първоначалните им стандартни стойности.</translation>
 <translation id="3668801437375206837">За по-добра диагностика на проблемите с Bluetooth служителите на Google могат да включват в сигналите си с отзиви допълнителни регистрационни файлове за Bluetooth. Когато за тази опция е поставена отметка, сигналът ви ще съдържа регистрационните файлове за btsnoop и HCI от текущата ви сесия, като от тях ще бъде премахната възможно най-много информация, позволяваща лично идентифициране (PII). Достъпът до тези файлове ще бъде ограничен до мениджърите на групата за продукта Chrome OS в Listnr. Файловете ще бъдат изтрити безвъзвратно след 90 дни.</translation>
@@ -2771,6 +2766,7 @@
 <translation id="4370975561335139969">Въведените имейл адрес и парола не съвпадат</translation>
 <translation id="4374831787438678295">Инсталационна програма за Linux</translation>
 <translation id="4375035964737468845">Отваряне на изтеглени файлове</translation>
+<translation id="4376226992615520204">Местоположението е изключено</translation>
 <translation id="4377363674125277448">Имаше проблем със сертификата на сървъра.</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4378373042927530923">Не е стартирано</translation>
@@ -2970,7 +2966,6 @@
 <translation id="4619615317237390068">Раздели от други устройства</translation>
 <translation id="4620809267248568679">Тази настройка е наложена от разширение.</translation>
 <translation id="4623189117674524348">Системата не успя да упълномощи достъпа на това устройство до API.</translation>
-<translation id="4624190781974168453">Запитване при стартиране</translation>
 <translation id="4625078469366263107">Активиране на приложението</translation>
 <translation id="4627427111733173920">„Бисквитките“ са блокирани</translation>
 <translation id="4627442949885028695">Продължаване от друго устройство</translation>
@@ -3400,7 +3395,6 @@
 <translation id="5185386675596372454">Най-новата версия на „<ph name="EXTENSION_NAME" />“ бе деактивирана, тъй като изисква повече разрешения.</translation>
 <translation id="5185500136143151980">Няма интернет</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Меню с опции за <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Активиране на порта</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> иска да изтегли няколко файла</translation>
 <translation id="5192062846343383368">Отворете приложението Family Link, за да прегледате настройките си за контролирането</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">Подписващ CRL</translation>
 <translation id="5643321261065707929">Мрежа с отчитане</translation>
 <translation id="5643620609347735571">Изчистване и продължаване</translation>
+<translation id="5646376287012673985">Местоположение</translation>
 <translation id="5646558797914161501">Бизнесмен</translation>
 <translation id="5648166631817621825">Последните 7 дни</translation>
 <translation id="5649053991847567735">Автоматични изтегляния</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Запазване на опасния файл</translation>
 <translation id="6532101170117367231">Запазване в Google Диск</translation>
 <translation id="6532106788206463496">Запазване на промените</translation>
-<translation id="6532113437901537254">Паролите от профила ви в Google ще бъдат достъпни на това устройство, когато сте влезли в профила си на него</translation>
 <translation id="6532206849875187177">Сигурност и вход</translation>
 <translation id="6532527800157340614">Влизането в профила не бе успешно, защото означението ви за достъп не можа да бъде извлечено. Моля, проверете връзката си с мрежата и опитайте отново.</translation>
 <translation id="6532663472409656417">Корпоративно записано</translation>
@@ -4615,7 +4609,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> и още 1 раздел}other{<ph name="PAGE_TITLE" /> и още # раздела}}</translation>
 <translation id="6709133671862442373">Новини</translation>
 <translation id="6709357832553498500">Свързване посредством <ph name="EXTENSIONNAME" /></translation>
-<translation id="6710213216561001401">Предишна</translation>
+<translation id="6710213216561001401">Предишно</translation>
 <translation id="6715803357256707211">Възникна грешка при инсталирането на приложението за Linux. За подробности кликнете върху известието.</translation>
 <translation id="671619610707606484">Съхраняваните от сайтовете данни в размер на <ph name="TOTAL_USAGE" /> ще бъдат изчистени</translation>
 <translation id="671928215901716392">Заключване на екрана</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">Изтрихте „<ph name="DELETED_ITEM_NAME" />“</translation>
 <translation id="7201420661433230412">Преглед на файловете</translation>
 <translation id="7203150201908454328">Разгънато</translation>
-<translation id="7203826966018112936">С добавянето на училищен профил към потребителския профил можете лесно да влизате като ученик в уебсайтове и разширения, докато функцията за родителски контроли е активна. Това не предоставя достъп на детето до отметките, паролите и други данни в браузъра, които се синхронизират с училищния профил.&lt;br&gt;&lt;br&gt;
-    Ако детето ви използва Chromebook в училище и искате вкъщи да възпроизведете практическата работа там, така че детето да има достъп до всички необходими учебни материали, излезте от този профил във Family Link и влезте в училищния от страницата „Профили“ на Chrome OS (забележка: родителските контроли на Family Link няма да са в сила).&lt;br&gt;&lt;br&gt;
-    В случай че детето ви не използва Chromebook в училище или ако предпочитате да управлявате практическата му работа посредством Family Link, по-долу кликнете върху бутона „Напред“, за да добавите училищен профил към този потребителски профил.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> се изтегля...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Изход от страницата}other{Изход от страниците}}</translation>
 <translation id="7207457272187520234">Изпращане на данни за употребата и диагностиката. Понастоящем това устройство автоматично изпраща до Google диагностична информация и данни за употребата на устройството и приложенията. Това ще послужи за подобряване на стабилността на системата и приложенията и др. Някои обобщени данни също така ще подпомогнат приложенията и партньорите на Google, напр. програмистите за Android. Тази настройка е наложена от собственика. Ако настройката „Допълнителна активност в мрежата и приложенията“ е включена за вас, тези данни може да се запазват в профила ви в Google.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Почти приключихте!</translation>
 <translation id="7392118418926456391">Сканирането за вируси не бе успешно</translation>
 <translation id="7392915005464253525">По&amp;вторно отваряне на затворен прозорец</translation>
-<translation id="7393472013449507620">Вече не се поддържат настройки със заместващ знак „*“. Свържете се с програмиста на разширението или с администратора си, за да <ph name="BEGIN_LINK" />промените настройките<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Споделените папки ще се показват тук</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ще се изпълнява при стартиране на системата и ще продължи да работи на заден план дори след като затворите всички други прозорци на <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Персонализиране на синхронизирането</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Заместващ текст</translation>
 <translation id="7529411698175791732">Проверете връзката си с интернет. Ако проблемът продължи, опитайте да излезете от профила си и отново да влезете в него.</translation>
 <translation id="7530016656428373557">Скорост на разреждане във ватове</translation>
+<translation id="7531310913436731628">Местоположението е изключено в системните предпочитания за Mac</translation>
 <translation id="7531779363494549572">Отворете Настройки &gt; „Приложения и известия“ &gt; „Известия“.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> не реагира. Изберете „Принудително затваряне“, за да затворите приложението.</translation>
 <translation id="7537451260744431038">Сайтовете не могат да използват „бисквитки“ с цел по-добро сърфиране, например за да оставате в профила си или за да запомнят артикулите в пазарската ви кошница</translation>
@@ -6051,7 +6042,6 @@
 <translation id="8470513973197838199">Запазени пароли за <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">с хардуерна поддръжка</translation>
 <translation id="8473863474539038330">Адреси и др.</translation>
-<translation id="8474733733775441349">Показване на паролите от профила ви в Google</translation>
 <translation id="8475313423285172237">Друга програма на компютъра ви добави разширение, което може да промени начина на работа на Chrome.</translation>
 <translation id="8477241577829954800">Заменен</translation>
 <translation id="8477384620836102176">&amp;Общи</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb
index 0e33023b..556480d 100644
--- a/chrome/app/resources/generated_resources_bn.xtb
+++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">কেবলমাত্র চিহ্ন প্রদান</translation>
 <translation id="1038462104119736705">Linux-এর জন্য কমপক্ষে <ph name="INSTALL_SIZE" /> জায়গা খালি রাখার জন্য সাজেস্ট করা হচ্ছে। খালি জায়গা বাড়াতে, আপনার ডিভাইস থেকে ফাইল মুছে দিন।</translation>
 <translation id="1039337018183941703">ভুল বা দূষিত ফাইল</translation>
-<translation id="104086161873270383">নতুন প্রোফাইল</translation>
 <translation id="1041175011127912238">এই পৃষ্ঠা সাড়া দিচ্ছে না</translation>
 <translation id="1041263367839475438">উপলভ্য ডিভাইস</translation>
 <translation id="1042174272890264476">আপনার কম্পিউটারও <ph name="SHORT_PRODUCT_NAME" /> এর RLZ লাইব্রেরি বিল্ট ইনের সাথে আসে৷ RLZ সার্চগুলি পরিমাপ করার জন্য একটি সাধারণ, ব্যক্তিগতভাবে সনাক্তকরণযোগ্য নয় এমন ট্যাগ নির্ধারণ করে এবং <ph name="SHORT_PRODUCT_NAME" /> এর ব্যবহার একটি নির্দিষ্ট প্রচারাভিযানের মাধ্যমে চালিত হয়৷ এই লেবেলগুলি কখনো কখনো <ph name="PRODUCT_NAME" /> এ Google সার্চ ক্যোয়ারিগুলিতে প্রদর্শিত হয়৷</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> সাবপেজে ফিরে যাওয়ার বোতাম</translation>
 <translation id="1322046419516468189">আপনার <ph name="SAVED_PASSWORDS_STORE" />-এ সেভ করা পাসওয়ার্ড দেখুন এবং পরিচালনা করুন</translation>
 <translation id="1324106254079708331">টার্গেট করা অ্যাটাকের ঝুঁকি থেকে যেকোনও Google অ্যাকাউন্টকে রক্ষা করে</translation>
-<translation id="1325985428688410772">স্পেস যোগ করুন</translation>
 <translation id="1326317727527857210">আপনার অন্য ডিভাইসগুলি থেকে আপনার ট্যাবগুলি পেতে, Chrome-এ সাইন-ইন করুন।</translation>
 <translation id="1327074568633507428">Google ক্লাউড প্রিন্টারে থাকা প্রিন্টার</translation>
 <translation id="1327272175893960498">Kerberos টিকিট</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Chromium-এ পাসওয়ার্ড পরীক্ষা করার ফিচারটি উপলভ্য নয়</translation>
 <translation id="1871534214638631766">কন্টেন্টের উপর মাউস রেখে ডানদিকে ক্লিক করলে বা দীর্ঘক্ষণ প্রেস করে ধরে রাখলে এর সংশ্লিষ্ট তথ্য দেখানো হয়</translation>
 <translation id="1871615898038944731">আপনার <ph name="DEVICE_TYPE" /> আপ-টু-ডেট আছে</translation>
-<translation id="1874835396235780806">আপনার Google অ্যাকাউন্টে এটি ও অন্যান্য পাসওয়ার্ড সেভ করবেন?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{অন্য উইন্ডোতে ট্যাব সরিয়ে নিয়ে যান}one{অন্য উইন্ডোতে ট্যাবগুলি সরিয়ে নিয়ে যান}other{অন্য উইন্ডোতে ট্যাবগুলি সরিয়ে নিয়ে যান}}</translation>
 <translation id="1875386316419689002">এই ট্যাবটি একটি এইচআইডি ডিভাইসে কানেক্ট করা আছে।</translation>
 <translation id="1875387611427697908">এটি কেবলমাত্র <ph name="CHROME_WEB_STORE" /> থেকেই যোগ করা যেতে পারে</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" />টির মধ্যে <ph name="NETWORK_INDEX" /> নম্বর নেটওয়ার্ক, <ph name="NETWORK_NAME" />, কানেক্ট করুন</translation>
 <translation id="1884705339276589024">Linux ডিস্কের সাইজ বদলান</translation>
 <translation id="1885106732301550621">ডিস্কের স্টোরেজ স্পেস</translation>
-<translation id="1885190042244431215">একটি স্কুল অ্যাকাউন্ট যোগ করলে সহজে একজন স্টুডেন্ট হিসেবে ওয়েবসাইটে ও এক্সটেনশনে সাইন-ইন করা যায়, যদিও তাকে তখনও অভিভাবকীয় নিয়ন্ত্রণের অধীনেই কাজ করতে হয়।</translation>
 <translation id="1886996562706621347">সাইটগুলিকে প্রোটোকলের জন্য ডিফল্ট পরিচালক হতে জিজ্ঞাসা করার অনুমতি দেয় (প্রস্তাবিত)</translation>
 <translation id="1887442540531652736">সাইন-ইন করতে সমস্যা হয়েছে</translation>
 <translation id="1887597546629269384">আবার "হ্যালো Google" বলুন</translation>
@@ -2199,7 +2195,6 @@
 <translation id="3654045516529121250">আপনার ব্যবহারযোগ্যতার সেটিংস পড়ুন</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{একটি ফাইলে এটার স্থায়ী অ্যাক্সেস আছে৷}one{#টি ফাইলে এটার স্থায়ী অ্যাক্সেস আছে৷}other{#টি ফাইলে এটার স্থায়ী অ্যাক্সেস আছে৷}}</translation>
 <translation id="3660234220361471169">অবিশ্বস্থ</translation>
-<translation id="3661172646479098821">বর্তমানে শুধু Android ডিভাইসে ব্যবহার করা যাবে।</translation>
 <translation id="3664511988987167893">এক্সটেনশনের আইকন</translation>
 <translation id="3665589677786828986">Chrome শনাক্ত করেছে যে অন্য কোনো প্রোগ্রাম আপনার কিছু সেটিংয়ের ক্ষতি করেছে এবং সেগুলিকে তাদের মূল ডিফল্টে রিসেট করেছে।</translation>
 <translation id="3668801437375206837">ব্লুটুথ সমস্যাকে আরও ভালভাবে নির্ধারন করতে, Googlers তাদের ফিডব্যাক রিপোর্টের সাথে অতিরিক্ত ব্লুটুথ লগও অন্তর্ভুক্ত করতে পারে। এই বিকল্পটি বেছে নিলে PII যতখানি সম্ভব বাদ দিয়ে আপনার বর্তমান সেশন থেকে btsnoop এবং HCI লগ এই রিপোর্টে অন্তর্ভুক্ত করা হয়। শুধুমাত্র Listnr-এ Chrome OS প্রোডাক্ট গ্রুপের ম্যানেজাররা এই লগ অ্যাক্সেস করতে পারবেন। ৯০ দিন পরে লগ স্থায়ীভাবে মুছে ফেলা হবে।</translation>
@@ -2770,6 +2765,7 @@
 <translation id="4370975561335139969">আপনার লেখা ইমেল আইডি এবং পাসওয়ার্ড মিলছে না</translation>
 <translation id="4374831787438678295">Linux ইনস্টলার</translation>
 <translation id="4375035964737468845">ডাউনলোড করা ফাইলগুলি খুলুন</translation>
+<translation id="4376226992615520204">লোকেশন ব্যবহার করার সুবিধা বন্ধ করা আছে</translation>
 <translation id="4377363674125277448">সার্ভারের সার্টিফিকেটে একটি সমস্যা হয়েছে।</translation>
 <translation id="4378154925671717803">ফোন</translation>
 <translation id="4378373042927530923">চালানো যায়নি</translation>
@@ -2969,7 +2965,6 @@
 <translation id="4619615317237390068">অন্যান্য ডিভাইসগুলি থেকে ট্যাব</translation>
 <translation id="4620809267248568679">একটি এক্সটেনশনের মাধ্যমে এই সেটিং প্রয়োগ করা হয়৷</translation>
 <translation id="4623189117674524348">সিস্টেমটি এই ডিভাইসের জন্য এপিআই অ্যাক্সেস অনুমোদন করতে পারেনি।</translation>
-<translation id="4624190781974168453">খোলার সময় জিজ্ঞাসা করো</translation>
 <translation id="4625078469366263107">অ্যাপ্লিকেশান সক্ষম করুন</translation>
 <translation id="4627427111733173920">কুকিজ ব্লক করা হয়েছে</translation>
 <translation id="4627442949885028695">অন্য ডিভাইস থেকে চালিয়ে যান</translation>
@@ -3399,7 +3394,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />"-এর নতুনতম ভার্সনটি বন্ধ হয়েছে কারণ এটির আরও বেশি অনুমতির প্রয়োজন৷</translation>
 <translation id="5185500136143151980">ইন্টারনেট কানেকশন নেই</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" />-এর জন্য বিকল্পের মেনু</translation>
 <translation id="5190926251776387065">পোর্ট চালু করুন</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> একাধিক ফাইল ডাউনলোড করতে চায়</translation>
 <translation id="5192062846343383368">আপনার তত্ত্বাবধান সেটিংস দেখতে Family Link অ্যাপ খুলুন</translation>
@@ -3776,6 +3770,7 @@
 <translation id="5642508497713047">CRL স্বাক্ষরকারী</translation>
 <translation id="5643321261065707929">মিটার্ড নেটওয়ার্ক</translation>
 <translation id="5643620609347735571">খালি করুন এবং চালিয়ে যান</translation>
+<translation id="5646376287012673985">লোকেশন</translation>
 <translation id="5646558797914161501">ব্যবসায়ী</translation>
 <translation id="5648166631817621825">গত ৭ দিন</translation>
 <translation id="5649053991847567735">অটোমেটিক ডাউনলোডগুলি</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">বিপজ্জনক ফাইল রাখুন</translation>
 <translation id="6532101170117367231">Google ড্রাইভে সেভ করুন</translation>
 <translation id="6532106788206463496">পরিবর্তন সেভ করুন</translation>
-<translation id="6532113437901537254">আপনি সাইন-ইন থাকাকালীন এই ডিভাইসে আপনার Google অ্যাকাউন্টে সেভ করা পাসওয়ার্ড উপলভ্য থাকবে</translation>
 <translation id="6532206849875187177">নিরাপত্তা ও সাইন-ইন করা</translation>
 <translation id="6532527800157340614">সাইন-ইন করা যাচ্ছে না, কারণ আপনার অ্যাক্সেস টোকেন পুনরুদ্ধার করা সম্ভব হয়নি। আপনার নেটওয়ার্কের কানেকশন চেক করে আবার চেষ্টা করে দেখুন।</translation>
 <translation id="6532663472409656417">এন্টারপ্রাইজ এনরোল করা হয়েছে</translation>
@@ -4615,7 +4609,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> এবং অন্য ১টি ট্যাব}one{<ph name="PAGE_TITLE" /> এবং অন্য #টি ট্যাব}other{<ph name="PAGE_TITLE" /> এবং অন্য #টি ট্যাব}}</translation>
 <translation id="6709133671862442373">News</translation>
 <translation id="6709357832553498500"><ph name="EXTENSIONNAME" /> ব্যবহার করে সংযোগ করুন</translation>
-<translation id="6710213216561001401">পূর্ববর্তী</translation>
+<translation id="6710213216561001401">আগের</translation>
 <translation id="6715803357256707211">আপনার Linux অ্যাপ ইনস্টল করার সময় কোনও একটি সমস্যা হয়েছে। বিস্তারিত জানতে বিজ্ঞপ্তিতে ক্লিক করুন।</translation>
 <translation id="671619610707606484">এর ফলে সাইটগুলির স্টোর করা <ph name="TOTAL_USAGE" /> ডেটা মুছে যাবে</translation>
 <translation id="671928215901716392">স্ক্রিন লক করুন</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' মুছে ফেলা হয়েছে</translation>
 <translation id="7201420661433230412">ফাইলগুলি দেখুন</translation>
 <translation id="7203150201908454328">প্রসারিত</translation>
-<translation id="7203826966018112936">একটি স্কুল অ্যাকাউন্ট যোগ করলে সহজে একজন স্টুডেন্ট হিসেবে ওয়েবসাইটে ও এক্সটেনশনে সাইন-ইন করা যায়, যদিও তখনও অভিভাবকীয় নিয়ন্ত্রণের অধীনেই তাকে কাজ করতে হয়। এটি কোনও বাচ্চাকে স্কুল অ্যাকাউন্টের সাথে সিঙ্ক করা বুকমার্ক, পাসওয়ার্ড বা অন্যান্য ব্রাউজ করা ডেটা অ্যাক্সেস করতে দেয় না।&lt;br&gt;&lt;br&gt;
-    যদি আপনার বাচ্চা তার স্কুলে Chromebook ব্যবহার করে এবং সে যাতে সমস্ত প্রয়োজনীয় স্কুলের কাজের অ্যাক্সেস তার বাড়িতে পায় তা সুনিশ্চিত করার জন্য আপনি যদি চান যে একই অভিজ্ঞতা সে তার বাড়িতেও পাক, তাহলে এই Family Link অ্যাকাউন্ট থেকে সাইন-আউট করুন এবং Chrome OS অ্যাকাউন্টের পৃষ্ঠা থেকে স্কুল অ্যাকাউন্টে সাইন-ইন করুন (মনে রাখবেন: Family Link-এর অভিভাবকীয় নিয়ন্ত্রণ এখানে প্রযোজ্য হবে না)।&lt;br&gt;&lt;br&gt;
-    যদি আপনার বাচ্চা তার স্কুলে Chromebook ব্যবহার না করে অথবা আপনি যদি বাড়িতে আপনার বাচ্চার অভিজ্ঞতাকে Family Link ব্যবহার করে ম্যানেজ করতে চান, তাহলে এই প্রোফাইলে একটি স্কুল অ্যাকাউন্ট যোগ করার জন্য নিচে দেওয়া 'পরবর্তী পৃষ্ঠাতে যান' বোতামে ক্লিক করুন।</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ডাউনলোড হচ্ছে ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{পৃষ্ঠাটি ছেড়ে যান}one{পৃষ্ঠাগুলি ছেড়ে যান}other{পৃষ্ঠাগুলি ছেড়ে যান}}</translation>
 <translation id="7207457272187520234">ব্যবহার এবং ডায়াগনস্টিক বিষয়ক ডেটা পাঠান। বর্তমানে এই ডিভাইসটি অটোমেটিক Google-কে ডায়াগনস্টিক, ডিভাইস এবং অ্যাপ ব্যবহারের ডেটা পাঠাচ্ছে। এটি সিস্টেম ও অ্যাপের স্টেবিলিটি বাড়াতে এবং অন্যান্য উন্নতিতে সাহায্য করবে। কিছু একত্রিত করা ডেটা Android ডেভেলপারের মতো Google অ্যাপ এবং পার্টনারদেরও সাহায্য করবে। এই সেটিং মালিকের নিয়ন্ত্রণে রয়েছে। আপনার অতিরিক্ত 'ওয়েব ও অ্যাপ অ্যাক্টিভিটি' সেটিং চালু থাকলে, এই ডেটা আপনার Google অ্যাকাউন্টে সেভ করা হতে পারে।</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">আপনি প্রায় সম্পন্ন করে ফেলেছেন!</translation>
 <translation id="7392118418926456391">ভাইরাস স্ক্যান ব্যর্থ হয়েছে</translation>
 <translation id="7392915005464253525">বন্ধ হওয়া উইন্ডো পু&amp;নরায় খোলা</translation>
-<translation id="7393472013449507620">"*" ওয়াইল্ডকার্ড দেওয়া সেটিংস আর কাজ করে না। <ph name="BEGIN_LINK" />এই সেটিংস পরিবর্তন করতে<ph name="END_LINK" /> এক্সটেনশন ডেভেলপার বা আপনার অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন।</translation>
 <translation id="7396017167185131589">শেয়ার করা ফোল্ডারগুলি এখানে দেখা যাবে</translation>
 <translation id="7396845648024431313">সিস্টেমের প্রারম্ভে <ph name="APP_NAME" /> শুরু হবে এবং এমনকি আপনি অন্য সব <ph name="PRODUCT_NAME" /> উইন্ডো বন্ধ করার পরেও ব্যাকগ্রাউন্ডে চলতে থাকবে৷</translation>
 <translation id="7399045143794278225">সিঙ্ক করার বিকল্প কাস্টমাইজ করুন</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">প্লেসহোল্ডার</translation>
 <translation id="7529411698175791732">আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন। সমস্যাটি থেকে গেলে, সাইন আউট করে আবার প্রবেশ করার চেষ্টা করুন।</translation>
 <translation id="7530016656428373557">ওয়াটে ডিসচার্জের হার</translation>
+<translation id="7531310913436731628">Mac-এর পছন্দসই সিস্টেম সেটিংয়ে লোকেশন ব্যবহার করার সুবিধা বন্ধ করা আছে</translation>
 <translation id="7531779363494549572">সেটিংস &gt; অ্যাপ এবং বিজ্ঞপ্তি &gt; বিজ্ঞপ্তিতে যান।</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> উত্তর দিচ্ছে না। অ্যাপটি বন্ধ করতে "জোর করে বন্ধ করুন" বিকল্পটি বেছে নিন।</translation>
 <translation id="7537451260744431038">আপনার শপিং কার্টে বেছে নেওয়া আইটেমগুলি মনে রাখা বা সাইন-ইন সংক্রান্ত তথ্য সেভ করার মতো ব্রাউজিং অভিজ্ঞতা আরও ভাল করার জন্য সাইটগুলি কুকি ব্যবহার করতে পারবে না</translation>
@@ -6049,7 +6040,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> এর জন্য সেভ করা পাসওয়ার্ডগুলি</translation>
 <translation id="8472623782143987204">hardware-backed</translation>
 <translation id="8473863474539038330">ঠিকানা ও আরও অনেককিছু</translation>
-<translation id="8474733733775441349">আপনার Google অ্যাকাউন্টে সেভ করা পাসওয়ার্ড দেখুন</translation>
 <translation id="8475313423285172237">আপনার কম্পিউটারের অন্য একটি প্রোগ্রাম এক্সটেনশন যোগ করেছে যা Chrome-এর কাজ করার ধরন পাল্টে দিতে পারে৷</translation>
 <translation id="8477241577829954800">বাতিল করা</translation>
 <translation id="8477384620836102176">&amp;সাধারণ</translation>
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb
index 2d00d3f..71d45aa6 100644
--- a/chrome/app/resources/generated_resources_bs.xtb
+++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Samo šifriranje</translation>
 <translation id="1038462104119736705">Preporučuje se najmanje <ph name="INSTALL_SIZE" /> slobodnog prostora za Linux. Da oslobodite prostor, izbrišite fajlove s uređaja.</translation>
 <translation id="1039337018183941703">Nevažeći ili oštećen fajl</translation>
-<translation id="104086161873270383">Novi profil</translation>
 <translation id="1041175011127912238">Ova stranica ne reagira</translation>
 <translation id="1041263367839475438">Dostupni uređaji</translation>
 <translation id="1042174272890264476">Vaš računar također ima ugrađenu RLZ biblioteku proizvoda <ph name="SHORT_PRODUCT_NAME" />. RLZ dodjeljuje nejedinstvenu oznaku koja ne može poslužiti za ličnu identifikaciju za mjerenje pretraživanja i korištenje proizvoda <ph name="SHORT_PRODUCT_NAME" /> do kojeg je došlo putem određene promotivne kampanje. Te oznake se nekada pojavljuju u upitima Google Pretraživanja u proizvodu <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Ovu postavku primjenjuje ekstenzija "<ph name="NAME" />".</translation>
 <translation id="1118738876271697201">Sustav nije uspio utvrditi model uređaja ili serijski broj.</translation>
 <translation id="1119447706177454957">Interna greška</translation>
+<translation id="1122068467107743258">Posao</translation>
 <translation id="1122198203221319518">&amp;Alati</translation>
 <translation id="1122242684574577509">Autentifikacija nije uspjela. Kliknite da posjetite stranicu za prijavu na WiFi mrežu koju koristite (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Naziv oznake</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Upravljajte aplikacijama</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – dio grupe <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Otvori u anonimnom prozoru</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> od <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Sigurnosni ključ je zaključan zato što je pogrešan PIN unesen više puta. Uklonite i ponovo umetnite sigurnosni ključ da ga otključate.</translation>
 <translation id="1137673463384776352">Otvori link u aplikaciji <ph name="APP" /></translation>
 <translation id="1139343347646843679">Došlo je do greške prilikom konfiguriranja Linuxa. Kontaktirajte svog administratora.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Dugme za povratak na podstranicu <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Prikažite i upravljajte lozinkama koje čuva <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Štiti lične Google račune svih onih koji su u opasnosti od ciljanih napada</translation>
-<translation id="1325985428688410772">Dodaj prostor</translation>
 <translation id="1326317727527857210">Da bi se prikazale kartice s vaših ostalih uređaja, prijavite se na Chrome.</translation>
 <translation id="1327074568633507428">Štampač na usluzi Google Cloud Print</translation>
 <translation id="1327272175893960498">Kerberos tiketi</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Unesite svoju adresu e-pošte</translation>
 <translation id="1576594961618857597">Zadani bijeli avatar</translation>
 <translation id="1578558981922970608">Prisilno zatvori</translation>
+<translation id="1578784163189013834">Odabir pozadine čuvara zaslona</translation>
 <translation id="1580772913177567930">Kontaktirajte administratora</translation>
 <translation id="1581962803218266616">Prikaži u Tražiocu</translation>
 <translation id="1582955169539260415">izbriši [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">Provjera lozinki nije dostupna na Chromiumu</translation>
 <translation id="1871534214638631766">Prikaz srodnih informacija o sadržaju pomoću desnog klika ili dugog pritiska</translation>
 <translation id="1871615898038944731">Vaš uređaj <ph name="DEVICE_TYPE" /> je ažuriran</translation>
-<translation id="1874835396235780806">Sačuvati ovu i druge lozinke na Google račun?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Premjesti karticu u drugi prozor}one{Premjesti kartice u drugi prozor}few{Premjesti kartice u drugi prozor}other{Premjesti kartice u drugi prozor}}</translation>
 <translation id="1875386316419689002">Ova kartica je povezana na HID uređaj.</translation>
 <translation id="1875387611427697908">Ovo se može dodati samo iz usluge <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420">Mreža <ph name="NETWORK_INDEX" /> od <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, poveži</translation>
 <translation id="1884705339276589024">Promjena veličine Linux diska</translation>
 <translation id="1885106732301550621">Prostor na disku</translation>
-<translation id="1885190042244431215">Dodavanje školskog računa omogućava učenicima jednostavnu prijavu na web lokacije i ekstenzije dok i dalje rade pod roditeljskim nadzorom.</translation>
 <translation id="1886996562706621347">Dozvoli web lokacijama da pitaju mogu li postati zadani obrađivači protokola (preporučeno)</translation>
 <translation id="1887442540531652736">Greška pri prijavljivanju</translation>
 <translation id="1887597546629269384">Ponovo kažite "Hej Google"</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">Korištenje aplikacija Hangouts i Cast for Education podliježe Googleovim Pravilima privatnosti.</translation>
 <translation id="2348176352564285430">Aplikacija: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Greška prilikom učitavanja podataka</translation>
+<translation id="2349610121459545414">Ovoj web-lokaciji i dalje omogućite pristup vašoj lokaciji</translation>
 <translation id="2349896577940037438">Ako vam je uključena postavka dodatna Aktivnost na webu i u aplikacijama, ti podaci će možda biti sačuvani na vašem Google računu. Na stranici account.google.com možete vidjeti svoje podatke, izbrisati ih te promijeniti postavke računa.</translation>
 <translation id="2350133097354918058">Ponovo učitano</translation>
 <translation id="2350182423316644347">Inicijalizacija aplikacije...</translation>
@@ -1232,6 +1232,7 @@
 <translation id="247051149076336810">URL za dijeljeni fajl</translation>
 <translation id="2470702053775288986">Nepodržane ekstenzije su onemogućene</translation>
 <translation id="2471469610750100598">Crna (zadano)</translation>
+<translation id="2471506181342525583">Dopušten je pristup lokaciji</translation>
 <translation id="2473195200299095979">Prevedi ovu stranicu</translation>
 <translation id="2475982808118771221">Došlo je do greške</translation>
 <translation id="2476578072172137802">Postavke web lokacije</translation>
@@ -1243,6 +1244,7 @@
 <translation id="2482878487686419369">Obavještenja</translation>
 <translation id="2484959914739448251">Da biste izbrisali podatke o pregledavanju sa svih svojih sinkroniziranih uređaja i svojeg Google računa, <ph name="BEGIN_LINK" />unesite svoju šifru<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Lozinka je sačuvana na ovom uređaju</translation>
+<translation id="2485394160472549611">Najbolji odabiri za vas</translation>
 <translation id="2485422356828889247">Deinstaliraj</translation>
 <translation id="2487067538648443797">Dodaj novu oznaku</translation>
 <translation id="2487268545026948104">Da vratite podatke, povežite se s internetom</translation>
@@ -1624,6 +1626,7 @@
 <translation id="2932483646085333864">Odjavite se, a zatim se ponovo prijavite da započnete sinhroniziranje</translation>
 <translation id="2932883381142163287">Prijavite zloupotrebu</translation>
 <translation id="2933632078076743449">Posljednji put ažurirano</translation>
+<translation id="2934999512438267372">Dopuštena je potpuna kontrola nad MIDI uređajima</translation>
 <translation id="2936851848721175671">Sigurnosna kopija i vraćanje</translation>
 <translation id="2938225289965773019">Otvoriti linkove protokola <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">Prikaz i brisanje podataka za prijavu koji su pohranjeni na sigurnosnom ključu</translation>
@@ -1739,6 +1742,7 @@
 <translation id="3083193146044397360">Privremeno blokirano radi zaštite vaše sigurnosti</translation>
 <translation id="3084548735795614657">Otpustite da biste instalirali</translation>
 <translation id="3084771660770137092">Chrome više nema memorije ili je proces web lokacije prekinut iz nekog drugog razloga.  Ponovo učitajte ili idite na drugu stranicu da nastavite.</translation>
+<translation id="3084958266922136097">Onemogućivanje čuvara zaslona</translation>
 <translation id="3085412380278336437">Web lokacija može koristiti vašu kameru</translation>
 <translation id="3085752524577180175">Host računar za SOCKS</translation>
 <translation id="3088052000289932193">Web lokacija koristi MIDI uređaj</translation>
@@ -1935,6 +1939,7 @@
 <translation id="3345886924813989455">Nije pronađen nijedan podržani preglednik</translation>
 <translation id="3347086966102161372">K&amp;opiraj adresu slike</translation>
 <translation id="3348038390189153836">Otkriven je uklonjivi uređaj</translation>
+<translation id="3348131053948466246">Emoji je predložen. Pritisnite tipke za gore ili dolje za kretanje i tipku Enter za umetanje.</translation>
 <translation id="3349933790966648062">Otisak iz memorije</translation>
 <translation id="3355936511340229503">Greška prilikom povezivanja</translation>
 <translation id="3356580349448036450">Završi</translation>
@@ -1970,6 +1975,7 @@
 <translation id="3402585168444815892">Prijavljivanje u demo način rada</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Lozinke nisu sačuvane za ovu web lokaciju</translation>
+<translation id="3404249063913988450">Omogućivanje čuvara zaslona</translation>
 <translation id="3405664148539009465">Prilagodi fontove</translation>
 <translation id="3405763860805964263">…</translation>
 <translation id="3406605057700382950">&amp;Prikaži traku oznaka</translation>
@@ -2200,7 +2206,6 @@
 <translation id="3654045516529121250">Čitanje vaših postavki pristupačnosti</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Ima trajan pristup jednom fajlu.}one{Ima trajan pristup # fajlu.}few{Ima trajan pristup za # fajla}other{Ima trajan pristup za # fajlova}}</translation>
 <translation id="3660234220361471169">Nepouzdan</translation>
-<translation id="3661172646479098821">Trenutno su podržani samo Android uređaji.</translation>
 <translation id="3664511988987167893">Ikona ekstenzije</translation>
 <translation id="3665589677786828986">Chrome je otkrio da je drugi program oštetio neke vaše postavke i vratio ih na zadano.</translation>
 <translation id="3668801437375206837">Za bolju dijagnozu problema s Bluetoothom, korisnici Googlea u svoje izvještaje s povratnim informacijama mogu uvrstiti dodatne zapisnike o Bluetoothu. Kada je ova opcija označena, vaš izvještaj će obuhvatati btsnoop i HCI zapisnike iz vaše trenutne sesije, pročišćene radi uklanjanja ličnih podataka pomoću kojih se korisnik može identificirati. Pristup tim zapisnicima će biti ograničen na upravitelje grupe proizvoda za Chrome OS u Listnru. Zapisnici će se očistiti nakon 90 dana.</translation>
@@ -2510,6 +2515,7 @@
 <translation id="3984159763196946143">Pokretanje demo-načina nije uspjelo</translation>
 <translation id="3984431586879874039">Dozvoliti ovoj web lokaciji da vidi vaš sigurnosni ključ?</translation>
 <translation id="3986705137476756801">Isključite Automatske titlove za sada</translation>
+<translation id="3987544746655539083">Nastavite ovoj web-lokaciji blokirati pristup vašoj lokaciji</translation>
 <translation id="3987938432087324095">Nismo razumjeli.</translation>
 <translation id="3988996860813292272">Izbor vremenske zone</translation>
 <translation id="399179161741278232">Uvezeno</translation>
@@ -2575,6 +2581,7 @@
 <translation id="4087089424473531098">Kreirana je ekstenzija:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Odbijena je potpuna kontrola nad MIDI uređajima</translation>
 <translation id="4088095054444612037">Prihvati za grupu</translation>
 <translation id="4089235344645910861">Postavke su sačuvane. Sinhronizacija je započela.</translation>
 <translation id="4090103403438682346">Omogućava potvrđeni pristup</translation>
@@ -2655,6 +2662,7 @@
 <translation id="4200689466366162458">Prilagođene riječi</translation>
 <translation id="4200983522494130825">Nova &amp;kartica</translation>
 <translation id="4201546031411513170">Uvijek možete odabrati šta želite sinhronizirati u postavkama.</translation>
+<translation id="420283545744377356">Isključivanje čuvara zaslona</translation>
 <translation id="4206144641569145248">Vanzemaljac</translation>
 <translation id="4206323443866416204">Izvještaj o povratnim informacijama</translation>
 <translation id="4208390505124702064">Pretraži <ph name="SITE_NAME" /></translation>
@@ -2753,6 +2761,7 @@
 <translation id="4348766275249686434">Prikupljaj greške</translation>
 <translation id="4349828822184870497">Korisno</translation>
 <translation id="4350019051035968019">Ovaj uređaj se ne može prijaviti na domenu vašeg računa jer je druga domena označila ovaj uređaj za upravljanje.</translation>
+<translation id="4350230709416545141">Uvijek blokiraj hostu <ph name="HOST" /> pristup vašoj lokaciji</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152">Web lokacija <ph name="ORIGIN" /> želi skenirati Bluetooth uređaje u blizini. Pronađeni su sljedeći uređaji:</translation>
 <translation id="4354073718307267720">Traži odobrenje kada web lokacija želi kreirati 3D mapu okruženja i pratiti položaj kamere</translation>
@@ -2772,6 +2781,7 @@
 <translation id="4370975561335139969">Unijeli ste e-adresu i zaporku koje se ne podudaraju</translation>
 <translation id="4374831787438678295">Paket za instalaciju Linuxa</translation>
 <translation id="4375035964737468845">Otvori preuzete fajlove</translation>
+<translation id="4376226992615520204">Lokacija je isključena</translation>
 <translation id="4377363674125277448">Došlo je do problema s potvrdom servera.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Nije pokrenuto</translation>
@@ -2971,7 +2981,6 @@
 <translation id="4619615317237390068">Kartice iz drugih uređaja</translation>
 <translation id="4620809267248568679">Ovu postavku je nametnula ekstenzija.</translation>
 <translation id="4623189117674524348">Sistem nije uspio odobriti pristup API-ju za ovaj uređaj.</translation>
-<translation id="4624190781974168453">Pitaj prilikom pokretanja</translation>
 <translation id="4625078469366263107">Omogući aplikaciju</translation>
 <translation id="4627427111733173920">Kolačići su blokirani</translation>
 <translation id="4627442949885028695">Nastavite s drugog uređaja</translation>
@@ -3401,7 +3410,6 @@
 <translation id="5185386675596372454">Najnovija verzija ekstenzije "<ph name="EXTENSION_NAME" />" je onemogućena jer joj je potrebno više odobrenja.</translation>
 <translation id="5185500136143151980">Nema internetske veze</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Opcije menija za profil <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktiviranje priključka</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> želi preuzeti više fajlova</translation>
 <translation id="5192062846343383368">Otvorite aplikaciju Family Link da vidite svoje postavke nadzora</translation>
@@ -3594,6 +3602,7 @@
 <translation id="5431825016875453137">OpenVPN/L2TP</translation>
 <translation id="543338862236136125">Uredite lozinku</translation>
 <translation id="5434065355175441495">PKCS #1 RSA šifriranje</translation>
+<translation id="5435779377906857208">Uvijek dopustite hostu <ph name="HOST" /> pristup vašoj lokaciji</translation>
 <translation id="5436492226391861498">Čekanje na proksi tunel...</translation>
 <translation id="5436510242972373446">Pretraži web lokaciju <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Odmah sačuvajte svoje fajlove i kreirajte novi račun.</translation>
@@ -3777,6 +3786,7 @@
 <translation id="5642508497713047">Potpisnik CRL-a</translation>
 <translation id="5643321261065707929">Mreža s naplatom</translation>
 <translation id="5643620609347735571">Obriši i nastavi</translation>
+<translation id="5646376287012673985">Lokacija</translation>
 <translation id="5646558797914161501">Poslovni čovjek</translation>
 <translation id="5648166631817621825">Posljednjih 7 dana</translation>
 <translation id="5649053991847567735">Automatska preuzimanja</translation>
@@ -3820,6 +3830,7 @@
 <translation id="5701212929149679556">Roming mobilne mreže</translation>
 <translation id="5701381305118179107">Sredina</translation>
 <translation id="5701441174893770082">Nadogradnja Linuxa može znatno brže isprazniti bateriju. Povežite uređaj na punjač i pokušajte ponovo.</translation>
+<translation id="5702749864074810610">Prijedlog je odbačen</translation>
 <translation id="5702898740348134351">U&amp;ređivanje pretraživača...</translation>
 <translation id="5704875434923668958">Sinhroniziranje s korisnikom</translation>
 <translation id="5705005699929844214">Uvijek prikaži opcije pristupačnosti</translation>
@@ -3940,6 +3951,7 @@
 <translation id="5857090052475505287">Novi folder</translation>
 <translation id="5857171483910641802">Prečice su predložene na osnovu web lokacija koje često posjećujete</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Album umjetničke galerije</translation>
 <translation id="585979798156957858">Vanjska meta tipka</translation>
 <translation id="5860033963881614850">Isklj.</translation>
 <translation id="5860491529813859533">Uključi</translation>
@@ -4325,6 +4337,7 @@
 <translation id="6318125393809743217">Uključi fajl policies.json u konfiguracije pravila.</translation>
 <translation id="6318407754858604988">Preuzimanje je započeto</translation>
 <translation id="6318944945640833942">Otkrivanje štampača nije uspjelo. Ponovo unesite adresu štampača.</translation>
+<translation id="6321407676395378991">Uključivanje čuvara zaslona</translation>
 <translation id="6322653941595359182">Šaljite i primajte SMS-ove s Chromebooka</translation>
 <translation id="6324916366299863871">Uredite prečicu</translation>
 <translation id="6325191661371220117">Onemogući automatsko pokretanje</translation>
@@ -4483,7 +4496,6 @@
 <translation id="6531282281159901044">Zadrži opasan fajl</translation>
 <translation id="6532101170117367231">Sačuvaj na Google Disk</translation>
 <translation id="6532106788206463496">Sačuvaj izmjene</translation>
-<translation id="6532113437901537254">Vaše lozinke s Google računa će također biti dostupne na ovom uređaju dok budete prijavljeni</translation>
 <translation id="6532206849875187177">Sigurnost i prijava</translation>
 <translation id="6532527800157340614">Prijava nije uspjela jer preuzimanje tokena za pristup nije uspjelo. Provjerite mrežnu vezu i pokušajte ponovo.</translation>
 <translation id="6532663472409656417">Uređaj prijavljenog preduzeća</translation>
@@ -4505,6 +4517,7 @@
 <translation id="6555432686520421228">Uklonite sve korisničke račune i ponovo pokrenite <ph name="IDS_SHORT_PRODUCT_NAME" /> uređaj koji će biti kao nov.</translation>
 <translation id="6555810572223193255">Čišćenje je trenutno nedostupno</translation>
 <translation id="6556866813142980365">Ponovi</translation>
+<translation id="6556903358015358733">Tema i pozadina</translation>
 <translation id="6557290421156335491">Moje prečice</translation>
 <translation id="6561560012278703671">Koristi tiše poruke (blokira upite s obavještenjima da vas ne prekidaju)</translation>
 <translation id="6561726789132298588">enter</translation>
@@ -4528,6 +4541,7 @@
 <translation id="6590458744723262880">Promijenite naziv foldera</translation>
 <translation id="6592267180249644460">WebRTC zapisnik snimljen u <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Otisak vašeg prsta je snimljen</translation>
+<translation id="6595187330192059106">Uvijek blokiraj hostu <ph name="HOST" /> potpunu kontrolu nad MIDI uređajima.</translation>
 <translation id="6596325263575161958">Opcije za šifriranje</translation>
 <translation id="6596816719288285829">IP adresa</translation>
 <translation id="6597017209724497268">Uzorci</translation>
@@ -5013,9 +5027,6 @@
 <translation id="7201118060536064622">Stavka "<ph name="DELETED_ITEM_NAME" />" je izbrisana</translation>
 <translation id="7201420661433230412">Pregled datoteka</translation>
 <translation id="7203150201908454328">Prošireno</translation>
-<translation id="7203826966018112936">Ako dodate školski račun na profil, omogućit ćete jednostavnu prijavu na web lokacije i ekstenzije za učenike, a i dalje će biti aktivan roditeljski nadzor. Ovim dijete ne dobija pristup oznakama, lozinkama ili drugim podacima preglednika koji se sinhroniziraju sa školskim računom.&lt;br&gt;&lt;br&gt;
-    Ako vaše dijete koristi Chromebook u školi i želite preslikati iskustvo školskog okruženja kod kuće da djetetu osigurate pristup svim školskim zadacima, odjavite se s ovog računa Family Linka i prijavite se na školski račun putem stranice računa Chrome OS-a (napomena: roditeljski nadzor Family Linka se neće primjenjivati).&lt;br&gt;&lt;br&gt;
-    Ako vaše dijete ne koristi Chromebook u školi ili ako želite upravljati njegovim iskustvom kod kuće putem Family Linka, kliknite dugme Naprijed u nastavku da dodate školski račun na ovaj profil.</translation>
 <translation id="7206693748120342859">Preuzimanje dodatka: <ph name="PLUGIN_NAME" />…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Napusti stranicu}one{Napusti stranice}few{Napusti stranice}other{Napusti stranice}}</translation>
 <translation id="7207457272187520234">Šaljite podatke o korištenju i dijagnostici. Ovaj uređaj trenutno automatski šalje Googleu podatke o dijagnostici, uređaju i korištenju aplikacija. Ovo će pomoći stabilnosti sistema i aplikacija, kao i drugim poboljšanjima. Neki zbirni podaci će također pomoći Googleovim aplikacijama i partnerima, kao što su Android programeri. Ovu postavku je nametnuo vlasnik. Ako vam je uključena postavka dodatna Aktivnost na webu i u aplikacijama, ti podaci će možda biti sačuvani na vašem Google računu.</translation>
@@ -5158,7 +5169,6 @@
 <translation id="7388044238629873883">Skoro ste gotovi!</translation>
 <translation id="7392118418926456391">Skeniranje virusa nije uspjelo</translation>
 <translation id="7392915005464253525">P&amp;onovo otvori zatvoreni prozor</translation>
-<translation id="7393472013449507620">Postavke sa zamjenskim znakovima "*" nisu više podržane. Kontaktirajte programera ekstenzije ili administratora da <ph name="BEGIN_LINK" />promijenite ove postavke<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Dijeljeni folderi će se pojaviti ovdje</translation>
 <translation id="7396845648024431313">Aplikacija <ph name="APP_NAME" /> će se pokrenuti pri pokretanju sistema i nastavit će raditi u pozadini čak i nakon što zatvorite sve druge prozore proizvoda <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Prilagodi sinhronizaciju</translation>
@@ -5271,6 +5281,7 @@
 <translation id="7526989658317409655">Rezervirano mjesto</translation>
 <translation id="7529411698175791732">Provjerite internetsku vezu. Ako se problem ne riješi, pokušajte se odjaviti te ponovo prijaviti.</translation>
 <translation id="7530016656428373557">Stopa pražnjenja u vatima</translation>
+<translation id="7531310913436731628">Lokacija je isključena u postavkama Mac sistema</translation>
 <translation id="7531779363494549572">Otvorite Postavke &gt; Aplikacije i obavijesti &gt; Obavijesti.</translation>
 <translation id="7532009420053991888">Aplikacija <ph name="LINUX_APP_NAME" /> ne reagira. Odaberite "Prisilno zatvori" da zatvorite aplikaciju.</translation>
 <translation id="7537451260744431038">Web lokacije ne mogu koristiti kolačiće da poboljšaju vaše iskustvo pregledanja, naprimjer, da ostanete prijavljeni ili da stavke u korpi za kupovinu ostanu sačuvane</translation>
@@ -5383,6 +5394,7 @@
 <translation id="767147716926917172">Automatsko slanje podataka o dijagnostici i korištenju Googleu</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, na stranici <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Deaktiviranje svih priključaka koji se prosljeđuju u Linuxu</translation>
+<translation id="7674542105240814168">Odbijen je pristup lokaciji</translation>
 <translation id="7676867886086876795">Pošaljite Googleu svoj glas da dozvolite diktiranje u bilo koje tekstualno polje.</translation>
 <translation id="7678280409648629969">Podaci za prijavu će se sačuvati u Chromeu nakon što izađete iz anonimnog načina rada. Na taj način ćete moći kasnije koristiti Touch ID na ovoj web lokaciji.</translation>
 <translation id="7680416688940118410">Kalibracija ekrana na dodir</translation>
@@ -5590,6 +5602,7 @@
 <translation id="790040513076446191">Manipuliranje postavkama koje su povezane s privatnošću</translation>
 <translation id="7903345046358933331">Stranica ne reagira. Možete sačekati da počne reagirati ili je zatvoriti.</translation>
 <translation id="7903742244674067440">Imate potvrde o fajlu kojim se utvrđuje identitet ovih tijela za izdavanje potvrda</translation>
+<translation id="7903859912536385558">stabilno (pouzdani tester)</translation>
 <translation id="7903925330883316394">Uslužni proces: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Administrator ovog računa nije dozvolio višestruku prijavu.</translation>
 <translation id="7904526211178107182">Učinite Linux priključke dostupnim drugim uređajima na vašoj mreži.</translation>
@@ -5715,6 +5728,7 @@
 <translation id="8049705080247101012">Google je označio ekstenziju "<ph name="EXTENSION_NAME" />" kao zlonamjernu i njena instalacija je spriječena</translation>
 <translation id="8049948037269924837">Obrnuto klizanje dodirne podloge</translation>
 <translation id="8050038245906040378">Microsoft komercijalno potpisivanje izvršnog koda</translation>
+<translation id="8051390370038326517">Uvijek dopustite hostu <ph name="HOST" /> potpunu kontrolu nad MIDI uređajima</translation>
 <translation id="8053278772142718589">PKCS #12 fajlovi</translation>
 <translation id="8053390638574070785">Ponovo učitaj stranicu</translation>
 <translation id="8054517699425078995">Ova vrsta fajla može naštetiti vašem uređaju. Želite li ipak zadržati fajl <ph name="FILE_NAME" />?</translation>
@@ -5766,6 +5780,7 @@
 <translation id="810728361871746125">Rezolucija ekrana</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Nema kolačića treće strane}=1{Blokiran je 1 kolačić treće strane}one{Blokiran je # kolačić treće strane}few{Blokirana su # kolačića treće strane}other{Blokirano je # kolačića treće strane}}</translation>
 <translation id="810875025413331850">Nije pronađen nijedan uređaj u blizini.</translation>
+<translation id="8113476325385351118">Nastavite ovoj web-lokaciji blokirati potpunu kontrolu nad MIDI uređajima</translation>
 <translation id="8114199541033039755">Navigiranje na početnu stranicu, nazad i prebacivanje između aplikacija pomoću dugmadi u načinu rada za tablet. Uključeno kada je omogućen ChromeVox ili Automatski klikovi.</translation>
 <translation id="8114875720387900039">Podjela po horizontali</translation>
 <translation id="8116972784401310538">&amp;Upravitelj oznaka</translation>
@@ -6051,7 +6066,6 @@
 <translation id="8470513973197838199">Sačuvane lozinke za <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">s hardverskom podlogom</translation>
 <translation id="8473863474539038330">Adrese i još mnogo toga</translation>
-<translation id="8474733733775441349">Prikaz lozinki s vašeg Google računa</translation>
 <translation id="8475313423285172237">Drugi program na vašem računaru je dodao ekstenziju koja može promijeniti rad Chromea.</translation>
 <translation id="8477241577829954800">Zamijenjeno</translation>
 <translation id="8477384620836102176">&amp;Opće</translation>
@@ -6134,6 +6148,7 @@
 <translation id="8590375307970699841">Postavi automatska ažuriranja</translation>
 <translation id="8591783563402255548">1 sekunda</translation>
 <translation id="8592141010104017453">Uopšte ne prikazuj obavještenja</translation>
+<translation id="859246725979739260">Ovoj web-lokaciji blokiran je pristup vašoj lokaciji.</translation>
 <translation id="8593121833493516339">Šaljite podatke o korištenju i dijagnostici. Poboljšajte iskustvo korištenja Androida svog djeteta automatskim slanjem podataka o dijagnostici, uređaju i korištenju aplikacija Googleu. Ovo se neće koristiti za identifikaciju vašeg djeteta, a pomoći će stabilnosti sistema i aplikacija, kao i drugim poboljšanjima. Neki zbirni podaci će također pomoći Googleovim aplikacijama i partnerima, kao što su programeri za Android. Ako je za vaše dijete uključena dodatna Aktivnost na webu i u aplikacijama, ovi podaci se mogu pohranjivati na njegov Google račun. <ph name="BEGIN_LINK1" />Saznajte više<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Snimi videozapis</translation>
 <translation id="8596540852772265699">Prilagođeni fajlovi</translation>
@@ -6146,6 +6161,7 @@
 <translation id="860909219589324847">Nikada nemoj koristiti podatke za prijenos</translation>
 <translation id="8609465669617005112">Pomjeri prema gore</translation>
 <translation id="8610103157987623234">Neispravan format, pokušajte ponovo</translation>
+<translation id="8611682088849615761">Nastavi dopuštati ovoj web-lokaciji potpunu kontrolu nad MIDI uređajima</translation>
 <translation id="8613164732773110792">Samo mala slova, brojevi, donje crte ili crtice</translation>
 <translation id="8613786722548417558">Fajl <ph name="FILE_NAME" /> je prevelik za sigurnosnu provjeru. Možete otvoriti fajlove veličine do 50 MB.</translation>
 <translation id="8615618338313291042">Anonimna aplikacija: <ph name="APP_NAME" /></translation>
@@ -6288,6 +6304,7 @@
 <translation id="8761945298804995673">Ovaj korisnik već postoji</translation>
 <translation id="8762886931014513155">Uređaj <ph name="DEVICE_TYPE" /> je potrebno ažurirati</translation>
 <translation id="8763927697961133303">USB uređaj</translation>
+<translation id="87646919272181953">Album Google fotografija</translation>
 <translation id="8767621466733104912">Automatski ažuriraj Chrome za sve korisnike</translation>
 <translation id="8770406935328356739">Temeljni direktorij ekstenzije</translation>
 <translation id="8770507190024617908">Upravljaj osobama</translation>
@@ -6604,6 +6621,7 @@
 <translation id="9147392381910171771">&amp;Opcije</translation>
 <translation id="9148058034647219655">Izađi</translation>
 <translation id="9148126808321036104">Prijavi se ponovo</translation>
+<translation id="9148963623915467028">Ova web-lokacija može pristupiti vašoj lokaciji.</translation>
 <translation id="9149866541089851383">Uredi…</translation>
 <translation id="9150045010208374699">Korištenje kamere</translation>
 <translation id="9153934054460603056">Sačuvaj identitet i lozinku</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index 538adf8e..4678a7b 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Només encriptar</translation>
 <translation id="1038462104119736705">Es recomana tenir almenys <ph name="INSTALL_SIZE" /> d'espai lliure per a Linux. Per augmentar l'espai lliure, suprimeix fitxers del dispositiu.</translation>
 <translation id="1039337018183941703">Fitxer no vàlid o malmès</translation>
-<translation id="104086161873270383">Perfil nou</translation>
 <translation id="1041175011127912238">Aquesta pàgina no respon</translation>
 <translation id="1041263367839475438">Dispositius disponibles</translation>
 <translation id="1042174272890264476">L'ordinador també incorpora la biblioteca RLZ de <ph name="SHORT_PRODUCT_NAME" />. La biblioteca RLZ assigna una etiqueta no única i sense identificació personal per mesurar les cerques i l'ús de <ph name="SHORT_PRODUCT_NAME" /> derivats d'una campanya promocional concreta. De vegades, aquestes etiquetes apareixen a les consultes de la Cerca de Google a <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">L'extensió <ph name="NAME" /> aplica aquesta opció de configuració.</translation>
 <translation id="1118738876271697201">El sistema no ha pogut determinar el model ni el número de sèrie del dispositiu.</translation>
 <translation id="1119447706177454957">Error intern</translation>
+<translation id="1122068467107743258">Feina</translation>
 <translation id="1122198203221319518">&amp;Eines</translation>
 <translation id="1122242684574577509">L'autenticació ha fallat. Feu clic per accedir a la pàgina d'inici de sessió de la xarxa Wi-Fi que esteu utilitzant (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Nom de l'adreça d'interès</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Gestiona aplicacions</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> (part del grup <ph name="GROUP_NAME" />)</translation>
 <translation id="1134009406053225289">Obre-ho en una finestra d'incògnit</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> de <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">La clau de seguretat està bloquejada perquè s'ha introduït un PIN incorrecte massa vegades. Per desbloquejar-la, extreu-la i torna a inserir-la.</translation>
 <translation id="1137673463384776352">Obre l'enllaç a <ph name="APP" /></translation>
 <translation id="1139343347646843679">S'ha produït un error en configurar Linux. Contacta amb l'administrador.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Botó Enrere de la subpàgina <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Consulta i gestiona les contrasenyes desades al <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Protegeix els Comptes personals de Google de qualsevol usuari que corri el risc de rebre atacs dirigits</translation>
-<translation id="1325985428688410772">Afegeix un espai</translation>
 <translation id="1326317727527857210">Inicia la sessió a Chrome per accedir a les pestanyes dels altres dispositius que tinguis.</translation>
 <translation id="1327074568633507428">Impressora a Google Cloud Print</translation>
 <translation id="1327272175893960498">Tiquets de Kerberos</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Introdueix el correu electrònic</translation>
 <translation id="1576594961618857597">Avatar blanc predeterminat</translation>
 <translation id="1578558981922970608">Força el tancament</translation>
+<translation id="1578784163189013834">Tria el fons de l'estalvi de pantalla</translation>
 <translation id="1580772913177567930">Contacta amb el teu administrador</translation>
 <translation id="1581962803218266616">Mostra a Finder</translation>
 <translation id="1582955169539260415">suprimeix [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">La comprovació de contrasenyes no està disponible a Chromium</translation>
 <translation id="1871534214638631766">Mostra informació relacionada amb el contingut en mantenir-lo premut o fer-hi clic amb el botó dret</translation>
 <translation id="1871615898038944731">El dispositiu <ph name="DEVICE_TYPE" /> està actualitzat</translation>
-<translation id="1874835396235780806">Vols desar aquesta i altres contrasenyes al Compte de Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Mou la pestanya a una altra finestra}other{Mou les pestanyes a una altra finestra}}</translation>
 <translation id="1875386316419689002">Aquesta pestanya està connectada a un dispositiu d'interfície humana.</translation>
 <translation id="1875387611427697908">Només pot afegir-se des de <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420">Xarxa <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, connecta</translation>
 <translation id="1884705339276589024">Canvia la mida del disc de Linux</translation>
 <translation id="1885106732301550621">Espai de disc</translation>
-<translation id="1885190042244431215">Afegir un compte de centre educatiu permet iniciar fàcilment la sessió en llocs web i extensions com a alumne alhora que els controls parentals es continuen aplicant.</translation>
 <translation id="1886996562706621347">Permet que els llocs web sol·licitin esdevenir gestors predeterminats de protocols (opció recomanada)</translation>
 <translation id="1887442540531652736">Error d'inici de sessió</translation>
 <translation id="1887597546629269384">Torna a dir "Ok Google"</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">L'ús de Hangouts i Cast for Education està regit per la política de privadesa de Google.</translation>
 <translation id="2348176352564285430">Aplicació: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">S'ha produït un error en carregar les dades</translation>
+<translation id="2349610121459545414">Continua permetent que aquest lloc web accedeixi a la meva ubicació</translation>
 <translation id="2349896577940037438">Si tens activada l'opció Activitat al web i en aplicacions addicional, és possible que aquestes dades es desin al teu Compte de Google. Pots veure les teves dades, suprimir-les i modificar la configuració del teu compte a account.google.com.</translation>
 <translation id="2350133097354918058">S'ha tornat a carregar</translation>
 <translation id="2350182423316644347">S'està inicialitzant l'aplicació...</translation>
@@ -1231,6 +1231,7 @@
 <translation id="247051149076336810">URL de fitxers compartits</translation>
 <translation id="2470702053775288986">Extensions no compatibles desactivades</translation>
 <translation id="2471469610750100598">Negre (opció predeterminada)</translation>
+<translation id="2471506181342525583">Es permet l'accés a la ubicació</translation>
 <translation id="2473195200299095979">Tradueix aquesta pàgina</translation>
 <translation id="2475982808118771221">S'ha produït un error</translation>
 <translation id="2476578072172137802">Configuració del lloc web</translation>
@@ -1242,6 +1243,7 @@
 <translation id="2482878487686419369">Notificacions</translation>
 <translation id="2484959914739448251">Per esborrar les dades de navegació de tots els dispositius sincronitzats i del Compte de Google, <ph name="BEGIN_LINK" />introdueix la frase de contrasenya<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">La contrasenya s'ha desat al dispositiu</translation>
+<translation id="2485394160472549611">Selecció destacada per a tu</translation>
 <translation id="2485422356828889247">Desinstal·la</translation>
 <translation id="2487067538648443797">Afegeix una adreça d'interès nova</translation>
 <translation id="2487268545026948104">Per restaurar les teves dades, connecta't a Internet</translation>
@@ -1623,6 +1625,7 @@
 <translation id="2932483646085333864">Tanca la sessió i torna-la a iniciar per començar la sincronització</translation>
 <translation id="2932883381142163287">Informa d'un ús abusiu</translation>
 <translation id="2933632078076743449">Darrera actualització</translation>
+<translation id="2934999512438267372">Es permet el control total dels dispositius MIDI</translation>
 <translation id="2936851848721175671">Còpia de seguretat i restauració</translation>
 <translation id="2938225289965773019">Obrir els enllaços del protocol <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">Mostra i suprimeix les dades d'inici de sessió emmagatzemades a la clau de seguretat</translation>
@@ -1738,6 +1741,7 @@
 <translation id="3083193146044397360">S'ha bloquejat de manera temporal per protegir la teva seguretat</translation>
 <translation id="3084548735795614657">Desplegueu per instal·lar</translation>
 <translation id="3084771660770137092">Chrome s'ha quedat sense memòria, o bé el procés de la pàgina web s'ha cancel·lat per algun altre motiu. Per continuar, torneu-la a carregar o aneu a una altra pàgina.</translation>
+<translation id="3084958266922136097">Desactiva l'estalvi de pantalla</translation>
 <translation id="3085412380278336437">El lloc web pot utilitzar la càmera</translation>
 <translation id="3085752524577180175">Amfitrió SOCKS</translation>
 <translation id="3088052000289932193">El lloc web fa servir MIDI</translation>
@@ -1934,6 +1938,7 @@
 <translation id="3345886924813989455">No s'ha trobat cap navegador compatible</translation>
 <translation id="3347086966102161372">C&amp;opia l'adreça de la imatge</translation>
 <translation id="3348038390189153836">S'ha detectat un dispositiu extraïble</translation>
+<translation id="3348131053948466246">Se suggereixen emojis. Prem les tecles amunt i avall per navegar-hi i Retorn per inserir-ne un.</translation>
 <translation id="3349933790966648062">Ús de la memòria</translation>
 <translation id="3355936511340229503">Error de connexió</translation>
 <translation id="3356580349448036450">Completada</translation>
@@ -1969,6 +1974,7 @@
 <translation id="3402585168444815892">S'està fent la inscripció en mode de demostració</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">No hi ha cap contrasenya desada per a aquest lloc web</translation>
+<translation id="3404249063913988450">Activa l'estalvi de pantalla</translation>
 <translation id="3405664148539009465">Personalitza els tipus de lletra</translation>
 <translation id="3405763860805964263">…</translation>
 <translation id="3406605057700382950">&amp;Mostra la Barra d'adreces d'interès</translation>
@@ -2199,7 +2205,6 @@
 <translation id="3654045516529121250">Consultar la configuració d'accessibilitat</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Té accés permanent a un fitxer.}other{Té accés permanent a # fitxers.}}</translation>
 <translation id="3660234220361471169">No és de confiança</translation>
-<translation id="3661172646479098821">En aquests moments només s'admeten dispositius Android.</translation>
 <translation id="3664511988987167893">Icona de l'extensió</translation>
 <translation id="3665589677786828986">Chrome ha detectat que un altre programa ha malmès alguns dels paràmetres de configuració i els ha restablert als valors predeterminats originals.</translation>
 <translation id="3668801437375206837">Per diagnosticar millor els problemes del Bluetooth, els Googlers poden incloure registres de Bluetooth addicionals als seus informes de suggeriments. Si aquesta opció està marcada, l'informe inclourà registres BTSnoop i HCI de la teva sessió actual, que es depurarà per suprimir tanta informació d'identificació personal (IIP) com sigui possible. L'accés a aquests registres es restringirà als gestors del grup de productes de Chrome OS a Listnr. Els registres se suprimiran permanentment al cap de 90 dies.</translation>
@@ -2508,6 +2513,7 @@
 <translation id="3984159763196946143">No s'ha pogut iniciar el mode de demostració</translation>
 <translation id="3984431586879874039">Vols permetre que aquest lloc web vegi la teva clau de seguretat?</translation>
 <translation id="3986705137476756801">Desactiva Subtítols instantanis per ara</translation>
+<translation id="3987544746655539083">Continua impedint que aquest lloc web accedeixi a la meva ubicació</translation>
 <translation id="3987938432087324095">No ho he entès.</translation>
 <translation id="3988996860813292272">Selecciona la zona horària</translation>
 <translation id="399179161741278232">Importats</translation>
@@ -2573,6 +2579,7 @@
 <translation id="4087089424473531098">S'ha creat l'extensió:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">S'ha denegat el control total dels dispositius MIDI</translation>
 <translation id="4088095054444612037">Accepta per al grup</translation>
 <translation id="4089235344645910861">La configuració s'ha desat i ha començat la sincronització.</translation>
 <translation id="4090103403438682346">Activa l'accés verificat</translation>
@@ -2653,6 +2660,7 @@
 <translation id="4200689466366162458">Paraules personalitzades</translation>
 <translation id="4200983522494130825">Pes&amp;tanya nova</translation>
 <translation id="4201546031411513170">Sempre pots anar a la configuració per decidir què vols sincronitzar.</translation>
+<translation id="420283545744377356">Desactiva l'estalvi de pantalla</translation>
 <translation id="4206144641569145248">Extraterrestre</translation>
 <translation id="4206323443866416204">Informe de suggeriments</translation>
 <translation id="4208390505124702064">Cerca a <ph name="SITE_NAME" /></translation>
@@ -2751,6 +2759,7 @@
 <translation id="4348766275249686434">Recopila els errors</translation>
 <translation id="4349828822184870497">És útil</translation>
 <translation id="4350019051035968019">No es pot inscriure aquest dispositiu al domini del vostre compte perquè s'ha indicat que el dispositiu es gestiona en un altre domini.</translation>
+<translation id="4350230709416545141">Impedeix sempre que <ph name="HOST" /> accedeixi a la meva ubicació</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> vol cercar dispositius Bluetooth propers. S'han trobat els dispositius següents:</translation>
 <translation id="4354073718307267720">Pregunta'm quan un lloc web vulgui crear un mapa en 3D del meu entorn o fer un seguiment de la posició de la càmera</translation>
@@ -2770,6 +2779,7 @@
 <translation id="4370975561335139969">El correu electrònic i la contrasenya indicats no coincideixen</translation>
 <translation id="4374831787438678295">Instal·lador de Linux</translation>
 <translation id="4375035964737468845">Obrir fitxers baixats</translation>
+<translation id="4376226992615520204">Ubicació desactivada</translation>
 <translation id="4377363674125277448">S'ha produït un problema amb el certificat del servidor.</translation>
 <translation id="4378154925671717803">Telèfon</translation>
 <translation id="4378373042927530923">No s'ha executat</translation>
@@ -2969,7 +2979,6 @@
 <translation id="4619615317237390068">Pestanyes d'altres dispositius</translation>
 <translation id="4620809267248568679">Aquesta configuració està gestionada per una extensió.</translation>
 <translation id="4623189117674524348">El sistema no ha pogut autoritzar l'accés a l'API per a aquest dispositiu.</translation>
-<translation id="4624190781974168453">Pregunta-ho a l'inici</translation>
 <translation id="4625078469366263107">Activa l'aplicació</translation>
 <translation id="4627427111733173920">S'han bloquejat les galetes</translation>
 <translation id="4627442949885028695">Continua des d'un altre dispositiu</translation>
@@ -3399,7 +3408,6 @@
 <translation id="5185386675596372454">La darrera versió de "<ph name="EXTENSION_NAME" />" s'ha desactivat perquè necessita més permisos.</translation>
 <translation id="5185500136143151980">Sense connexió a Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menú d'opcions per a <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Activa el port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vol baixar diversos fitxers</translation>
 <translation id="5192062846343383368">Obre l'aplicació Family Link per veure la configuració de supervisió</translation>
@@ -3593,6 +3601,7 @@
 <translation id="5431825016875453137">OpenVPN/L2TP</translation>
 <translation id="543338862236136125">Edita la contrasenya</translation>
 <translation id="5434065355175441495">PKCS #1 amb encriptació RSA</translation>
+<translation id="5435779377906857208">Permet sempre que <ph name="HOST" /> accedeixi a la teva ubicació</translation>
 <translation id="5436492226391861498">S'està esperant un túnel de servidor intermediari...</translation>
 <translation id="5436510242972373446">Cerca <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Desa els teus fitxers i crea un compte ara.</translation>
@@ -3777,6 +3786,7 @@
 <translation id="5642508497713047">Signant de CRL</translation>
 <translation id="5643321261065707929">Xarxa d'ús mesurat</translation>
 <translation id="5643620609347735571">Esborra i continua</translation>
+<translation id="5646376287012673985">Ubicació</translation>
 <translation id="5646558797914161501">Home de negocis</translation>
 <translation id="5648166631817621825">7 darrers dies</translation>
 <translation id="5649053991847567735">Baixades automàtiques</translation>
@@ -3820,6 +3830,7 @@
 <translation id="5701212929149679556">Itinerància mòbil</translation>
 <translation id="5701381305118179107">Centre</translation>
 <translation id="5701441174893770082">L'actualització de Linux pot consumir considerablement la bateria. Connecta el dispositiu a un carregador i torna-ho a provar.</translation>
+<translation id="5702749864074810610">S'ha ignorat el suggeriment</translation>
 <translation id="5702898740348134351">&amp;Edita els motors de cerca...</translation>
 <translation id="5704875434923668958">S'està sincronitzant amb</translation>
 <translation id="5705005699929844214">Mostra sempre les opcions d'accessibilitat</translation>
@@ -3940,6 +3951,7 @@
 <translation id="5857090052475505287">Carpeta nova</translation>
 <translation id="5857171483910641802">Se't suggereixen dreceres basades en els llocs web que sols visitar</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Àlbum de la galeria d'art</translation>
 <translation id="585979798156957858">Tecla meta externa</translation>
 <translation id="5860033963881614850">Desactivat</translation>
 <translation id="5860491529813859533">Activa</translation>
@@ -4325,6 +4337,7 @@
 <translation id="6318125393809743217">Inclou un fitxer policies.json amb les configuracions de la política.</translation>
 <translation id="6318407754858604988">S'ha iniciat la baixada</translation>
 <translation id="6318944945640833942">No es detecta cap impressora. Torna a introduir-ne l'adreça.</translation>
+<translation id="6321407676395378991">Activa l'estalvi de pantalla</translation>
 <translation id="6322653941595359182">Envia i rep missatges de text amb Chromebook</translation>
 <translation id="6324916366299863871">Edita la drecera</translation>
 <translation id="6325191661371220117">Desactiva l'inici automàtic</translation>
@@ -4483,7 +4496,6 @@
 <translation id="6531282281159901044">Desa el fitxer perillós</translation>
 <translation id="6532101170117367231">Desa a Google Drive</translation>
 <translation id="6532106788206463496">Desa els canvis</translation>
-<translation id="6532113437901537254">Les teves contrasenyes del Compte de Google també estaran disponibles en aquest dispositiu mentre tinguis la sessió iniciada</translation>
 <translation id="6532206849875187177">Seguretat i inici de sessió</translation>
 <translation id="6532527800157340614">L'inici de sessió ha fallat perquè no s'ha pogut recuperar el testimoni d'accés. Comprova la connexió a la xarxa i torna-ho a provar.</translation>
 <translation id="6532663472409656417">Inscrit en una empresa</translation>
@@ -4505,6 +4517,7 @@
 <translation id="6555432686520421228">Suprimeix tots els comptes d'usuari i restableix el dispositiu <ph name="IDS_SHORT_PRODUCT_NAME" />, com si fos nou.</translation>
 <translation id="6555810572223193255">Actualment no es pot dur a terme la neteja</translation>
 <translation id="6556866813142980365">Refés</translation>
+<translation id="6556903358015358733">Tema i fons de pantalla</translation>
 <translation id="6557290421156335491">Les meves dreceres</translation>
 <translation id="6561560012278703671">Utilitza missatges més silenciosos (bloqueja les sol·licituds de notificacions per evitar interrupcions)</translation>
 <translation id="6561726789132298588">retorn</translation>
@@ -4528,6 +4541,7 @@
 <translation id="6590458744723262880">Canvia el nom de la carpeta</translation>
 <translation id="6592267180249644460">Data i hora del registre de WebRTC capturat: <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">S'ha capturat la teva empremta digital</translation>
+<translation id="6595187330192059106">Impedeix sempre que <ph name="HOST" /> tingui control total dels dispositius MIDI</translation>
 <translation id="6596325263575161958">Opcions d'encriptació</translation>
 <translation id="6596816719288285829">Adreça IP</translation>
 <translation id="6597017209724497268">Mostres</translation>
@@ -5013,9 +5027,6 @@
 <translation id="7201118060536064622">S'ha suprimit <ph name="DELETED_ITEM_NAME" /></translation>
 <translation id="7201420661433230412">Visualitza els fitxers</translation>
 <translation id="7203150201908454328">Ampliat</translation>
-<translation id="7203826966018112936">Afegir el compte d'un centre educatiu a un perfil permet iniciar fàcilment la sessió en llocs web i extensions com a alumne alhora que els controls parentals s'apliquen. No dona accés al nen a adreces d'interès, contrasenyes ni altres dades de navegació sincronitzades amb el compte de centre educatiu.&lt;br&gt;&lt;br&gt;
-    Si el teu fill fa servir un Chromebook a l'escola i vols replicar-ne l'experiència a casa per assegurar-te que tingui accés a tots els deures necessaris, tanca la sessió en aquest compte de Family Link i inicia-la al compte de centre educatiu des de la pàgina de comptes de Chrome OS. Nota: no s'aplicaran els controls parentals de Family Link.&lt;br&gt;&lt;br&gt;
-    Si el teu fill no fa servir un Chromebook a l'escola o si prefereixes gestionar l'experiència del teu fill a casa mitjançant Family Link, fes clic al botó Següent de sota per afegir un compte de centre educatiu a aquest perfil.</translation>
 <translation id="7206693748120342859">S'està baixant <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Surt de la pàgina}other{Surt de les pàgines}}</translation>
 <translation id="7207457272187520234">Envia dades d'ús i de diagnòstic. En aquests moments aquest dispositiu envia automàticament a Google dades de diagnòstic, del dispositiu i d'ús d'aplicacions. Aquestes dades ajudaran a millorar l'estabilitat del sistema i de les aplicacions, entre altres característiques. Una part de les dades agregades també serà útil per a les aplicacions i per als partners de Google, com ara els desenvolupadors d'Android. El propietari ha aplicat aquesta opció de configuració. Si tens activada l'opció Activitat al web i en aplicacions addicional, és possible que aquestes dades es desin al teu Compte de Google.</translation>
@@ -5158,7 +5169,6 @@
 <translation id="7388044238629873883">Gairebé heu acabat</translation>
 <translation id="7392118418926456391">S'ha produït un error en l'anàlisi antivirus</translation>
 <translation id="7392915005464253525">T&amp;orna a obrir la finestra tancada</translation>
-<translation id="7393472013449507620">Ja no s'admeten opcions de configuració amb comodins "*". Contacta amb el desenvolupador de l'extensió o amb l'administrador perquè <ph name="BEGIN_LINK" />canviï aquestes opcions de configuració<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Les carpetes compartides es mostraran aquí</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> s'iniciarà quan s'iniciï el sistema i continuarà executant-se en segon pla, fins i tot quan hàgiu tancat la resta de finestres de <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Personalitza la sincronització</translation>
@@ -5271,6 +5281,7 @@
 <translation id="7526989658317409655">Espai reservat</translation>
 <translation id="7529411698175791732">Comprova la connexió a Internet. Si el problema continua, prova de tancar la sessió i tornar-la a iniciar.</translation>
 <translation id="7530016656428373557">Velocitat de descàrrega en watts</translation>
+<translation id="7531310913436731628">La ubicació està desactivada a les preferències del sistema de Mac</translation>
 <translation id="7531779363494549572">Ves a Configuració &gt; Aplicacions i notificacions &gt; Notificacions.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> no respon. Selecciona "Força el tancament" per tancar l'aplicació.</translation>
 <translation id="7537451260744431038">Els llocs web no poden fer servir galetes per millorar la teva experiència de navegació, per exemple, per mantenir la teva sessió iniciada o per recordar els elements que tens al carretó de la compra</translation>
@@ -5383,6 +5394,7 @@
 <translation id="767147716926917172">Envia automàticament dades de diagnòstic i d'ús a Google</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, a <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Desactiva tots els ports que es redirigeixen a Linux</translation>
+<translation id="7674542105240814168">S'ha denegat l'accés a la ubicació</translation>
 <translation id="7676867886086876795">Envia la teva veu a Google per permetre els dictats en qualsevol camp de text.</translation>
 <translation id="7678280409648629969">Les dades d'inici de sessió s'emmagatzemaran a Chrome quan surtis del mode d'incògnit. D'aquesta manera, podràs tornar a fer servir Touch ID amb aquest lloc web més endavant.</translation>
 <translation id="7680416688940118410">Calibratge de la pantalla tàctil</translation>
@@ -5590,6 +5602,7 @@
 <translation id="790040513076446191">Manipular la configuració relacionada amb la privadesa</translation>
 <translation id="7903345046358933331">La pàgina no respon. Podeu esperar que respongui o tancar-la.</translation>
 <translation id="7903742244674067440">Tens certificats arxivats que identifiquen aquestes entitats emissores de certificats</translation>
+<translation id="7903859912536385558">estable (verificador de confiança)</translation>
 <translation id="7903925330883316394">Utilitat: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">L'administrador d'aquest compte no ha permès l'inici de sessió múltiple.</translation>
 <translation id="7904526211178107182">Fes que els ports de Linux estiguin disponibles per a altres dispositius de la xarxa.</translation>
@@ -5715,6 +5728,7 @@
 <translation id="8049705080247101012">Google ha marcat l'extensió <ph name="EXTENSION_NAME" /> com a maliciosa i, per tant, s'ha evitat que s'instal·lés</translation>
 <translation id="8049948037269924837">Desplaçament invers del ratolí tàctil</translation>
 <translation id="8050038245906040378">Signatura de codi comercial de Microsoft</translation>
+<translation id="8051390370038326517">Permet sempre que <ph name="HOST" /> tingui control total dels dispositius MIDI</translation>
 <translation id="8053278772142718589">PKCS #12 fitxers</translation>
 <translation id="8053390638574070785">Torna a carregar aquesta pàgina</translation>
 <translation id="8054517699425078995">Aquest tipus de fitxer pot malmetre el vostre dispositiu. Voleu conservar <ph name="FILE_NAME" /> de totes maneres?</translation>
@@ -5766,6 +5780,7 @@
 <translation id="810728361871746125">Resolució de pantalla</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{No hi ha cap galeta de tercers}=1{Hi ha 1 galeta de tercers bloquejada}other{Hi ha # galetes de tercers bloquejades}}</translation>
 <translation id="810875025413331850">No s'ha trobat cap dispositiu a prop.</translation>
+<translation id="8113476325385351118">Continua impedint que aquest lloc web tingui control total dels dispositius MIDI</translation>
 <translation id="8114199541033039755">Navega fins a la pàgina d'inici, ves enrere i canvia d'aplicació amb els botons en mode de tauleta. Aquesta opció s'activa quan ChromeVox o Clics automàtics estan activats.</translation>
 <translation id="8114875720387900039">Divisió horitzontal</translation>
 <translation id="8116972784401310538">&amp;Gestor d'adreces d'interès</translation>
@@ -6051,7 +6066,6 @@
 <translation id="8470513973197838199">Contrasenyes desades per a <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">recolzat per maquinari</translation>
 <translation id="8473863474539038330">Adreces i més</translation>
-<translation id="8474733733775441349">Mostra les contrasenyes del Compte de Google</translation>
 <translation id="8475313423285172237">Un altre programa de l'ordinador ha afegit una extensió que pot canviar el funcionament de Chrome.</translation>
 <translation id="8477241577829954800">Reemplaçat</translation>
 <translation id="8477384620836102176">&amp;General</translation>
@@ -6134,6 +6148,7 @@
 <translation id="8590375307970699841">Configurar actualitzacions automàtiques</translation>
 <translation id="8591783563402255548">1 segon</translation>
 <translation id="8592141010104017453">No mostris cap notificació</translation>
+<translation id="859246725979739260">No es permet que aquest lloc web accedeixi a la teva ubicació.</translation>
 <translation id="8593121833493516339">Envia dades d'ús i de diagnòstic. Ajuda a millorar l'experiència a Android del teu fill enviant automàticament a Google dades de diagnòstic, del dispositiu i d'ús d'aplicacions. Aquestes dades no es faran servir per identificar el teu fill i ajudaran a millorar l'estabilitat del sistema i de les aplicacions, entre altres característiques. Una part de les dades agregades també serà útil per a les aplicacions i per als partners de Google, com ara els desenvolupadors d'Android. Si l'opció Activitat al web i en aplicacions addicional està activada per al teu fill, és possible que aquestes dades es desin al seu Compte de Google. <ph name="BEGIN_LINK1" />Més informació<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Captura un vídeo</translation>
 <translation id="8596540852772265699">Fitxers personalitzats</translation>
@@ -6146,6 +6161,7 @@
 <translation id="860909219589324847">No utilitzis mai dades per fer transferències</translation>
 <translation id="8609465669617005112">Desplaça cap amunt</translation>
 <translation id="8610103157987623234">El format no és correcte. Torna-ho a provar.</translation>
+<translation id="8611682088849615761">Continua permetent que aquest lloc web tingui control total dels dispositius MIDI</translation>
 <translation id="8613164732773110792">Només caràcters en minúscula, dígits, ratlles baixes o guions</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> és massa gran per fer-hi una comprovació de seguretat. Pots obrir fitxers de fins a 50 MB.</translation>
 <translation id="8615618338313291042">Aplicació d'incògnit: <ph name="APP_NAME" /></translation>
@@ -6288,6 +6304,7 @@
 <translation id="8761945298804995673">Aquest usuari ja existeix</translation>
 <translation id="8762886931014513155">S'ha d'actualitzar <ph name="DEVICE_TYPE" /></translation>
 <translation id="8763927697961133303">Dispositiu USB</translation>
+<translation id="87646919272181953">Àlbum de Google Fotos</translation>
 <translation id="8767621466733104912">Actualitza Chrome automàticament per a tots els usuaris</translation>
 <translation id="8770406935328356739">Directori arrel de l'extensió</translation>
 <translation id="8770507190024617908">Gestiona persones</translation>
@@ -6604,6 +6621,7 @@
 <translation id="9147392381910171771">&amp;Opcions</translation>
 <translation id="9148058034647219655">Surt</translation>
 <translation id="9148126808321036104">Torna a iniciar la sessió</translation>
+<translation id="9148963623915467028">Aquest lloc web pot accedir a la teva ubicació.</translation>
 <translation id="9149866541089851383">Edita...</translation>
 <translation id="9150045010208374699">Utilitzar la càmera</translation>
 <translation id="9153934054460603056">Desa la identitat i la contrasenya</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb
index 722f6a3..84ebb66 100644
--- a/chrome/app/resources/generated_resources_cs.xtb
+++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Pouze šifrování</translation>
 <translation id="1038462104119736705">Pro Linux je doporučeno alespoň <ph name="INSTALL_SIZE" /> místa. Místo uvolníte smazáním souborů ze zařízení.</translation>
 <translation id="1039337018183941703">Neplatný nebo poškozený soubor</translation>
-<translation id="104086161873270383">Nový profil</translation>
 <translation id="1041175011127912238">Tato stránka nereaguje</translation>
 <translation id="1041263367839475438">Dostupná zařízení</translation>
 <translation id="1042174272890264476">Počítač je dodáván s integrovanou knihovnou RLZ prohlížeče <ph name="SHORT_PRODUCT_NAME" />. RLZ přiřadí značku, která slouží k vyhodnocení vyhledávání a využití prohlížečů <ph name="SHORT_PRODUCT_NAME" />, které pocházejí z konkrétní propagační kampaně. Tato značka není jedinečná a neumožňuje osobní identifikaci. Tyto značky jsou někdy v prohlížeči <ph name="PRODUCT_NAME" /> uváděny v dotazech ve Vyhledávání Google.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Tlačítko zpět na podstránce <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">K zobrazení a správě uložených hesel můžete použít svůj <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Chrání osobní účty Google kohokoliv, kdo by mohl být vystaven cíleným útokům</translation>
-<translation id="1325985428688410772">Přidat profil</translation>
 <translation id="1326317727527857210">Chcete-li získat přístup ke kartám ze svých ostatních zařízení, přihlaste se do Chromu.</translation>
 <translation id="1327074568633507428">Tiskárna ve službě Google Cloud Print</translation>
 <translation id="1327272175893960498">Lístky Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">V prohlížeči Chromium není kontrola hesel k dispozici</translation>
 <translation id="1871534214638631766">Zobrazovat související informace, když na obsah kliknete pravým tlačítkem nebo ho dlouze stisknete</translation>
 <translation id="1871615898038944731">Vaše zařízení <ph name="DEVICE_TYPE" /> je aktuální</translation>
-<translation id="1874835396235780806">Uložit toto a další hesla do účtu Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Přesunout kartu do jiného okna}few{Přesunout karty do jiného okna}many{Přesunout karty do jiného okna}other{Přesunout karty do jiného okna}}</translation>
 <translation id="1875386316419689002">Tato karta je připojena k zařízení HID.</translation>
 <translation id="1875387611427697908">Lze přidat pouze ze stránek <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Síť <ph name="NETWORK_INDEX" /> z <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, připojit</translation>
 <translation id="1884705339276589024">Změna velikosti disku Linuxu</translation>
 <translation id="1885106732301550621">Místo na disku</translation>
-<translation id="1885190042244431215">Po přidání školního účtu se dítě bude moci přihlašovat na weby a do rozšíření jako student, přičemž zůstane aktivní rodičovská kontrola.</translation>
 <translation id="1886996562706621347">Povolit dotazy stránek, zda je chcete použít jako výchozí obslužný nástroj protokolů (doporučeno)</translation>
 <translation id="1887442540531652736">Chyba přihlášení</translation>
 <translation id="1887597546629269384">Znovu řekněte „Ok Google“</translation>
@@ -2199,7 +2195,6 @@
 <translation id="3654045516529121250">Čtení nastavení usnadnění přístupu</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Má trvalý přístup k jednomu souboru.}few{Má trvalý přístup ke # souborům.}many{Má trvalý přístup k # souboru.}other{Má trvalý přístup k # souborům.}}</translation>
 <translation id="3660234220361471169">Nedůvěryhodný</translation>
-<translation id="3661172646479098821">V současné době jsou podporována jen zařízení Android.</translation>
 <translation id="3664511988987167893">Ikona rozšíření</translation>
 <translation id="3665589677786828986">Prohlížeč Chrome zjistil, že některá z vašich nastavení byla upravena jiným programem, a obnovil je na původní výchozí hodnoty.</translation>
 <translation id="3668801437375206837">Pro lepší diagnostiku problémů s rozhraním Bluetooth mohou zaměstnanci společnosti Google ke zpětné vazbě přiložit protokoly rozhraní Bluetooth. Když je tato možnost zaškrtnutá, bude hlášení zahrnovat protokoly btsnoop a HCI z aktuální návštěvy, z nichž bylo odstraněno co nejvíc údajů umožňujících zjištění totožnosti. K těmto protokolům budou mít přístup pouze správci skupiny produktů Chrome OS v nástroji Listnr. Po 90 dnech budou protokoly trvale odstraněny.</translation>
@@ -2770,6 +2765,7 @@
 <translation id="4370975561335139969">Zadaný e-mail a heslo se neshodují.</translation>
 <translation id="4374831787438678295">Instalační program Linuxu</translation>
 <translation id="4375035964737468845">Otevírání stažených souborů</translation>
+<translation id="4376226992615520204">Poloha je vypnutá</translation>
 <translation id="4377363674125277448">Došlo k problému s certifikátem serveru.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Nespuštěno</translation>
@@ -2969,7 +2965,6 @@
 <translation id="4619615317237390068">Karty z ostatních zařízení</translation>
 <translation id="4620809267248568679">Toto nastavení bylo vynuceno rozšířením.</translation>
 <translation id="4623189117674524348">Systému se nepodařilo autorizovat pro toto zařízení přístup k rozhraní API.</translation>
-<translation id="4624190781974168453">Zeptat se při spuštění</translation>
 <translation id="4625078469366263107">Aktivovat aplikaci</translation>
 <translation id="4627427111733173920">Byly zablokovány soubory cookie</translation>
 <translation id="4627442949885028695">Pokračovat z jiného zařízení</translation>
@@ -3399,7 +3394,6 @@
 <translation id="5185386675596372454">Nejnovější verze rozšíření <ph name="EXTENSION_NAME" /> byla zakázána, protože vyžaduje další oprávnění.</translation>
 <translation id="5185500136143151980">Nejste připojeni k internetu</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Nabídka možností pro profil <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktivovat port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> se pokouší stáhnout několik souborů</translation>
 <translation id="5192062846343383368">Chcete-li zobrazit nastavení dohledu, otevřete aplikaci Family Link</translation>
@@ -3775,6 +3769,7 @@
 <translation id="5642508497713047">Autor podpisu CRL</translation>
 <translation id="5643321261065707929">Měřená síť</translation>
 <translation id="5643620609347735571">Vymazat a pokračovat</translation>
+<translation id="5646376287012673985">Poloha</translation>
 <translation id="5646558797914161501">Businessman</translation>
 <translation id="5648166631817621825">Posledních 7 dní</translation>
 <translation id="5649053991847567735">Automatické stahování</translation>
@@ -4481,7 +4476,6 @@
 <translation id="6531282281159901044">Ponechat nebezpečný soubor</translation>
 <translation id="6532101170117367231">Uložit na Disk Google</translation>
 <translation id="6532106788206463496">Uložit změny</translation>
-<translation id="6532113437901537254">Když budete přihlášeni, budou hesla z účtu Google k dispozici i na tomto zařízení</translation>
 <translation id="6532206849875187177">Bezpečnost a přihlášení</translation>
 <translation id="6532527800157340614">Přihlášení se nezdařilo, protože nebylo možné načíst přístupový token. Zkontrolujte připojení k síti a zkuste to znovu.</translation>
 <translation id="6532663472409656417">Registrováno v podniku</translation>
@@ -5011,9 +5005,6 @@
 <translation id="7201118060536064622">Položka „<ph name="DELETED_ITEM_NAME" />“ byla smazána</translation>
 <translation id="7201420661433230412">Zobrazit soubory</translation>
 <translation id="7203150201908454328">Rozbaleno</translation>
-<translation id="7203826966018112936">Po přidání školního účtu se dítě bude moci přihlašovat na weby a do rozšíření jako student, přičemž zůstane aktivní rodičovská kontrola. Dítě nebude mít přístup k záložkám, heslům ani jiným datům prohlížeče, která se synchronizují se školním účtem.&lt;br&gt;&lt;br&gt;
-    Pokud dítě používá Chromebook ve škole a chcete, aby doma mělo stejné prostředí a přístup ke všem školním úlohám, odhlaste se z účtu Family Link a na stránce systému Chrome OS s účty se přihlaste ke školnímu účtu. (Poznámka: Na účet se nebude vztahovat rodičovská kontrola Family Link.)&lt;br&gt;&lt;br&gt;
-    Pokud dítě ve škole Chromebook nepoužívá, nebo mu doma prostředí chcete spravovat pomocí služby Family Link, klikněte níže na tlačítko Další a přidejte do tohoto profilu školní účet.</translation>
 <translation id="7206693748120342859">Stahování pluginu <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Opustit stránku}few{Opustit stránky}many{Opustit stránky}other{Opustit stránky}}</translation>
 <translation id="7207457272187520234">Odesílat údaje o využití a diagnostice. Toto zařízení aktuálně automaticky odesílá do Googlu diagnostické údaje a údaje o zařízení a aplikacích a jejich využití. Tyto údaje nám pomohou se zvyšováním stability systému a aplikací a dalšími vylepšeními. Některá souhrnná data budou moci využít také naši partneři, např. vývojáři aplikací pro Android. Toto nastavení je vyžadováno vlastníkem. Pokud je zapnuto dodatečné nastavení Aktivita na webu a v aplikacích, mohou se tato data ukládat do vašeho účtu Google.</translation>
@@ -5156,7 +5147,6 @@
 <translation id="7388044238629873883">Už jste skoro hotovi!</translation>
 <translation id="7392118418926456391">Při vyhledávání virů došlo k chybě</translation>
 <translation id="7392915005464253525">Znovu ot&amp;evřít zavřené okno</translation>
-<translation id="7393472013449507620">Nastavení se zástupným znakem „*“ už nejsou podporována. O <ph name="BEGIN_LINK" />změnu těchto nastavení<ph name="END_LINK" /> požádejte vývojáře rozšíření nebo svého administrátora.</translation>
 <translation id="7396017167185131589">Zde se budou zobrazovat sdílené složky</translation>
 <translation id="7396845648024431313">Aplikace <ph name="APP_NAME" /> se spustí při zapnutí systému a poběží na pozadí i v případě, že zavřete všechna okna prohlížeče <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Personalizovat synchronizaci</translation>
@@ -5269,6 +5259,7 @@
 <translation id="7526989658317409655">Zástupný symbol</translation>
 <translation id="7529411698175791732">Zkontrolujte připojení k internetu. Pokud problém přetrvává, zkuste se odhlásit a znovu přihlásit.</translation>
 <translation id="7530016656428373557">Rychlost vybíjení ve wattech</translation>
+<translation id="7531310913436731628">Poloha je v předvolbách systému Mac vypnutá</translation>
 <translation id="7531779363494549572">Přejděte na Nastavení &gt; Aplikace a oznámení &gt; Oznámení</translation>
 <translation id="7532009420053991888">Aplikace <ph name="LINUX_APP_NAME" /> neodpovídá. Chcete-li ji zavřít, vyberte Ukončit aplikaci.</translation>
 <translation id="7537451260744431038">Weby nemohou používat soubory cookie ke zlepšování prostředí při prohlížení, například si pomocí nich nemohou pamatovat vaše přihlášení a položky v nákupním košíku</translation>
@@ -6048,7 +6039,6 @@
 <translation id="8470513973197838199">Uložená hesla z webu <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">hardwarová</translation>
 <translation id="8473863474539038330">Adresy a další</translation>
-<translation id="8474733733775441349">Zobrazit hesla z účtu Google</translation>
 <translation id="8475313423285172237">Jiný program ve vašem počítači nainstaloval rozšíření, které může měnit funkce Chromu.</translation>
 <translation id="8477241577829954800">Nahrazen</translation>
 <translation id="8477384620836102176">&amp;Obecné</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index f4f1e6f..ee8bb33 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Kun omsætning til kode</translation>
 <translation id="1038462104119736705">Du bør have mindst <ph name="INSTALL_SIZE" /> ledig plads for at installere Linux. Du kan frigøre plads ved at slette filer fra enheden.</translation>
 <translation id="1039337018183941703">Ugyldig eller beskadiget fil</translation>
-<translation id="104086161873270383">Ny profil</translation>
 <translation id="1041175011127912238">Denne side svarer ikke</translation>
 <translation id="1041263367839475438">Tilgængelige enheder</translation>
 <translation id="1042174272890264476">Computeren leveres også med <ph name="SHORT_PRODUCT_NAME" />s RLZ-samling indbygget. RLZ tildeler et ikke-unikt, ikke-personligt identificerbart tag til at måle søgninger og <ph name="SHORT_PRODUCT_NAME" />-brug, der er drevet af en bestemt kampagne. Disse etiketter vises nogle gange i Googles søgeforespørgsler i <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Denne indstilling håndhæves af udvidelsen "<ph name="NAME" />".</translation>
 <translation id="1118738876271697201">Systemet kunne ikke bestemme enhedsmodellen eller serienummeret.</translation>
 <translation id="1119447706177454957">Intern fejl</translation>
+<translation id="1122068467107743258">Arbejde</translation>
 <translation id="1122198203221319518">&amp;Værktøjer</translation>
 <translation id="1122242684574577509">Godkendelsen mislykkedes. Klik for at gå til loginsiden for det Wi-Fi-netværk, du bruger (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Bogmærkets navn</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Administrer apps</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – en del af gruppen <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Åbn i inkognitovindue</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> af <ph name="EMOJI_COUNT" /></translation>
 <translation id="1136712381129578788">Sikkerhedsnøglen er låst, fordi der blev angivet en forkert pinkode for mange gange. Fjern nøglen, og indsæt den igen for at låse den op.</translation>
 <translation id="1137673463384776352">Åbn linket i <ph name="APP" /></translation>
 <translation id="1139343347646843679">Der opstod en fejl under konfigurationen af Linux. Kontakt din administrator.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Knap til undersiden <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Se og administrer gemte adgangskoder på din <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Beskytter personlige Google-konti for brugere, der er i fare for målrettede angreb</translation>
-<translation id="1325985428688410772">Tilføj space</translation>
 <translation id="1326317727527857210">Log ind på Chrome for at få adgang til dine faner på dine andre enheder.</translation>
 <translation id="1327074568633507428">Printer i Google Cloudprinter</translation>
 <translation id="1327272175893960498">Kerberos-billetter</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Angiv din mailadresse</translation>
 <translation id="1576594961618857597">Hvid standardavatar</translation>
 <translation id="1578558981922970608">Tving til at lukke</translation>
+<translation id="1578784163189013834">Vælg baggrund til Pauseskærm</translation>
 <translation id="1580772913177567930">Kontakt din administrator</translation>
 <translation id="1581962803218266616">Vis i Finder</translation>
 <translation id="1582955169539260415">slet [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">Kontrol af adgangskode er ikke tilgængelig i Chromium</translation>
 <translation id="1871534214638631766">Vis relaterede oplysninger, når du højreklikker eller trykker længe på indholdet</translation>
 <translation id="1871615898038944731">Din <ph name="DEVICE_TYPE" /> er opdateret</translation>
-<translation id="1874835396235780806">Vil du gemme denne og andre adgangskoder på din Google-konto?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Flyt fanen til et andet vindue}one{Flyt fanen til et andet vindue}other{Flyt fanerne til et andet vindue}}</translation>
 <translation id="1875386316419689002">Denne fane er sluttet til en HID-enhed.</translation>
 <translation id="1875387611427697908">Denne kan kun tilføjes via <ph name="CHROME_WEB_STORE" />.</translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420">Netværk <ph name="NETWORK_INDEX" /> af <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, opret forbindelse</translation>
 <translation id="1884705339276589024">Juster størrelsen på Linux-disken</translation>
 <translation id="1885106732301550621">Diskplads</translation>
-<translation id="1885190042244431215">Hvis du tilføjer en skolekonto, kan du nemt logge ind på websites og i udvidelser som elev, mens du stadig er underlagt forældreindstillinger.</translation>
 <translation id="1886996562706621347">Tillad, at websites må bede om at håndtere protokoller som standard (anbefales)</translation>
 <translation id="1887442540531652736">Loginfejl</translation>
 <translation id="1887597546629269384">Sig "Hey Google" igen</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">Brugen af Hangouts og Cast for Education styres af Googles privatlivspolitik.</translation>
 <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Der kunne ikke indlæses data</translation>
+<translation id="2349610121459545414">Tillad fortsat, at dette website kan få adgang til din placering</translation>
 <translation id="2349896577940037438">Hvis indstillingen for yderligere web- og appaktivitet er aktiveret, gemmes disse data muligvis på din Google-konto. Du kan se dine data, slette dem, og ændre dine kontoindstillinger på account.google.com.</translation>
 <translation id="2350133097354918058">Genindlæst</translation>
 <translation id="2350182423316644347">Starter applikation...</translation>
@@ -1232,6 +1232,7 @@
 <translation id="247051149076336810">Webadresse til fildeling</translation>
 <translation id="2470702053775288986">Understøttede udvidelser er blevet deaktiveret</translation>
 <translation id="2471469610750100598">Sort (standard)</translation>
+<translation id="2471506181342525583">Placeringsadgang blev tilladt</translation>
 <translation id="2473195200299095979">Oversæt denne side</translation>
 <translation id="2475982808118771221">Der opstod en fejl</translation>
 <translation id="2476578072172137802">Indstillinger for websites</translation>
@@ -1243,6 +1244,7 @@
 <translation id="2482878487686419369">Notifikationer</translation>
 <translation id="2484959914739448251"><ph name="BEGIN_LINK" />Angiv din adgangssætning<ph name="END_LINK" /> for at rydde browserdata fra alle dine synkroniserede enheder og din Google-konto.</translation>
 <translation id="2485005079599453134">Adgangskoden er gemt på denne enhed</translation>
+<translation id="2485394160472549611">Populære valg til dig</translation>
 <translation id="2485422356828889247">Afinstaller</translation>
 <translation id="2487067538648443797">Tilføj nyt bogmærke</translation>
 <translation id="2487268545026948104">Hvis du vil gendanne dine data, skal du oprette forbindelse til internettet</translation>
@@ -1624,6 +1626,7 @@
 <translation id="2932483646085333864">Log ud og ind igen for at starte synkroniseringen</translation>
 <translation id="2932883381142163287">Rapportér misbrug</translation>
 <translation id="2933632078076743449">Seneste opdatering</translation>
+<translation id="2934999512438267372">Fuld kontrol over MIDI-enheder blev tilladt</translation>
 <translation id="2936851848721175671">Sikkerhedskopiering og gendannelse</translation>
 <translation id="2938225289965773019">Åbne <ph name="PROTOCOL" />-links</translation>
 <translation id="2938845886082362843">Se og slet de logindata, der er gemt på din sikkerhedsnøgle</translation>
@@ -1739,6 +1742,7 @@
 <translation id="3083193146044397360">Tilladelsen er midlertidigt blokeret for at beskytte dine personlige oplysninger</translation>
 <translation id="3084548735795614657">Slip for at installere</translation>
 <translation id="3084771660770137092">Chrome løb tør for hukommelse, eller processen for websiden blev afbrudt af en anden grund. Genindlæs eller gå til en anden side for at fortsætte.</translation>
+<translation id="3084958266922136097">Deaktiver Pauseskærm</translation>
 <translation id="3085412380278336437">Websitet kan anvende dit kamera</translation>
 <translation id="3085752524577180175">SOCKS-host</translation>
 <translation id="3088052000289932193">Websitet anvender MIDI</translation>
@@ -1935,6 +1939,7 @@
 <translation id="3345886924813989455">Der blev ikke fundet en understøttet browser</translation>
 <translation id="3347086966102161372">K&amp;opiér billedets webadresse</translation>
 <translation id="3348038390189153836">Der er registreret en flytbar enhed</translation>
+<translation id="3348131053948466246">Forslag til emoji. Tryk op eller ned for at navigere, og skriv for at indsætte.</translation>
 <translation id="3349933790966648062">Hukommelsesforbrug</translation>
 <translation id="3355936511340229503">Forbindelsesfejl</translation>
 <translation id="3356580349448036450">Fuldført</translation>
@@ -1970,6 +1975,7 @@
 <translation id="3402585168444815892">Tilmelder dig i demotilstand</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Der er ikke gemt nogen adgangskoder til dette website</translation>
+<translation id="3404249063913988450">Aktivér Pauseskærm</translation>
 <translation id="3405664148539009465">Tilpas skriftstørrelser</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Vis bogmærkelinjen</translation>
@@ -2200,7 +2206,6 @@
 <translation id="3654045516529121250">Læse dine indstillinger for hjælpefunktioner</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Den har permanent adgang til én fil.}one{Den har permanent adgang til # filer.}other{Den har permanent adgang til # filer.}}</translation>
 <translation id="3660234220361471169">Ikke pålidelig</translation>
-<translation id="3661172646479098821">Det er kun Android-enheder, der understøttes på nuværende tidspunkt.</translation>
 <translation id="3664511988987167893">Udvidelsesikon</translation>
 <translation id="3665589677786828986">Chrome har registreret, at nogle af dine indstillinger er blevet ændret af et andet program, og har derfor gendannet standardindstillingerne.</translation>
 <translation id="3668801437375206837">Googlere kan medtage yderligere Bluetooth-logfiler i deres feedbackrapporter for at forbedre diagnosticeringen af Bluetooth-problemer. Når denne mulighed er valgt, omfatter din rapport btsnoop- og HCI-logfiler fra din nuværende session. Disse er renset for at fjerne så mange personhenførbare oplysninger som muligt. Det er kun administratorer af Chrome OS-produktgruppen i Listnr, der har adgang til disse. Logfiler ryddes efter 90 dage.</translation>
@@ -2510,6 +2515,7 @@
 <translation id="3984159763196946143">Demotilstand kunne ikke startes</translation>
 <translation id="3984431586879874039">Vil du tillade, at dette website ser din sikkerhedsnøgle?</translation>
 <translation id="3986705137476756801">Deaktiver Livetekstning indtil videre</translation>
+<translation id="3987544746655539083">Bloker fortsat dette website, så det ikke kan få adgang til din placering</translation>
 <translation id="3987938432087324095">Det forstod jeg ikke.</translation>
 <translation id="3988996860813292272">Vælg tidszone</translation>
 <translation id="399179161741278232">Importeret</translation>
@@ -2575,6 +2581,7 @@
 <translation id="4087089424473531098">Oprettede udvidelsen:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Fuld kontrol over MIDI-enheder blev afvist</translation>
 <translation id="4088095054444612037">Acceptér for gruppe</translation>
 <translation id="4089235344645910861">Indstillingerne blev gemt, og synkroniseringen er nu startet.</translation>
 <translation id="4090103403438682346">Aktivér Bekræftet adgang</translation>
@@ -2655,6 +2662,7 @@
 <translation id="4200689466366162458">Tilpassede ord</translation>
 <translation id="4200983522494130825">Ny &amp;fane</translation>
 <translation id="4201546031411513170">Du kan altid vælge, hvad der skal synkroniseres, i indstillingerne.</translation>
+<translation id="420283545744377356">Deaktiver Pauseskærm</translation>
 <translation id="4206144641569145248">Rumvæsen</translation>
 <translation id="4206323443866416204">Feedbackrapport</translation>
 <translation id="4208390505124702064">Søg på <ph name="SITE_NAME" /></translation>
@@ -2753,6 +2761,7 @@
 <translation id="4348766275249686434">Saml fejl</translation>
 <translation id="4349828822184870497">Nyttig</translation>
 <translation id="4350019051035968019">Denne enhed kan ikke tilmeldes det domæne, som din konto hører under, da enheden er markeret til administration på et andet domæne.</translation>
+<translation id="4350230709416545141">Bloker altid <ph name="HOST" />, så websitet ikke kan få adgang til din placering</translation>
 <translation id="4350782034419308508">Hey Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> vil gerne søge efter Bluetooth-enheder i nærheden. Følgende enheder blev fundet:</translation>
 <translation id="4354073718307267720">Spørg, når et website gerne vil oprette et 3D-kort over dine omgivelser eller registrere kamerapositionen</translation>
@@ -2772,6 +2781,7 @@
 <translation id="4370975561335139969">Den mail og adgangskode, du indtastede, stemmer ikke overens</translation>
 <translation id="4374831787438678295">Linux-installationsprogram</translation>
 <translation id="4375035964737468845">Åbne downloadede filer</translation>
+<translation id="4376226992615520204">Placering er slået fra</translation>
 <translation id="4377363674125277448">Der opstod et problem med serverens certifikat.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Kørte ikke</translation>
@@ -2971,7 +2981,6 @@
 <translation id="4619615317237390068">Faner fra andre enheder</translation>
 <translation id="4620809267248568679">Denne indstilling håndhæves af en udvidelse.</translation>
 <translation id="4623189117674524348">Systemet har ikke godkendt API-adgang for denne enhed.</translation>
-<translation id="4624190781974168453">Spørg ved opstart</translation>
 <translation id="4625078469366263107">Aktivér app</translation>
 <translation id="4627427111733173920">Cookies er blokeret</translation>
 <translation id="4627442949885028695">Fortsæt fra en anden enhed</translation>
@@ -3401,7 +3410,6 @@
 <translation id="5185386675596372454">Den nyeste version af "<ph name="EXTENSION_NAME" />" er blevet deaktiveret, fordi den kræver flere tilladelser.</translation>
 <translation id="5185500136143151980">Der er ingen internetforbindelse</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Indstillingsmenu for <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktivér port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vil downloade flere filer</translation>
 <translation id="5192062846343383368">Åbn Family Link-appen for at se dine indstillinger for forældrestyring</translation>
@@ -3594,6 +3602,7 @@
 <translation id="5431825016875453137">OpenVPN/L2TP</translation>
 <translation id="543338862236136125">Rediger adgangskode</translation>
 <translation id="5434065355175441495">PKCS #1 RSA-kryptering</translation>
+<translation id="5435779377906857208">Tillad altid, at <ph name="HOST" /> kan få adgang til din placering</translation>
 <translation id="5436492226391861498">Venter på proxytunnel...</translation>
 <translation id="5436510242972373446">Søg på <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Gem dine filer, og opret en ny konto nu.</translation>
@@ -3777,6 +3786,7 @@
 <translation id="5642508497713047">CRL-underskriver</translation>
 <translation id="5643321261065707929">Forbrugsafregnet netværk</translation>
 <translation id="5643620609347735571">Ryd og fortsæt</translation>
+<translation id="5646376287012673985">Placering</translation>
 <translation id="5646558797914161501">Forretningsmand</translation>
 <translation id="5648166631817621825">De seneste syv dage</translation>
 <translation id="5649053991847567735">Automatiske downloads</translation>
@@ -3820,6 +3830,7 @@
 <translation id="5701212929149679556">Roaming på mobilnetværk</translation>
 <translation id="5701381305118179107">Centrér</translation>
 <translation id="5701441174893770082">Opgradering af Linux kan dræne dit batteri betydeligt hurtigere. Slut din enhed til en oplader, og prøv igen.</translation>
+<translation id="5702749864074810610">Forslaget blev afvist</translation>
 <translation id="5702898740348134351">&amp;Rediger søgemaskiner...</translation>
 <translation id="5704875434923668958">Der synkroniseres med</translation>
 <translation id="5705005699929844214">Vis altid hjælpefunktioner</translation>
@@ -3940,6 +3951,7 @@
 <translation id="5857090052475505287">Ny mappe</translation>
 <translation id="5857171483910641802">Genveje foreslås på baggrund af de websites, du ofte søger</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Album i kunstgalleri</translation>
 <translation id="585979798156957858">Ekstern metatast</translation>
 <translation id="5860033963881614850">Fra</translation>
 <translation id="5860491529813859533">Aktivér</translation>
@@ -4326,6 +4338,7 @@
 <translation id="6318125393809743217">Medtag en policies.json-fil med politikkonfigurationer.</translation>
 <translation id="6318407754858604988">Downloaden er i gang</translation>
 <translation id="6318944945640833942">Der blev ikke registreret en printer. Angiv adressen til printeren igen.</translation>
+<translation id="6321407676395378991">Aktivér Pauseskærm</translation>
 <translation id="6322653941595359182">Send og modtag sms-beskeder fra din Chromebook</translation>
 <translation id="6324916366299863871">Rediger genvej</translation>
 <translation id="6325191661371220117">Deaktiver Automatisk opstart</translation>
@@ -4484,7 +4497,6 @@
 <translation id="6531282281159901044">Behold farlig fil</translation>
 <translation id="6532101170117367231">Gem på Google Drev</translation>
 <translation id="6532106788206463496">Gem ændringer</translation>
-<translation id="6532113437901537254">Dine adgangskoder fra din Google-konto kan også bruges på denne enhed, når du er logget ind</translation>
 <translation id="6532206849875187177">Sikkerhed og login</translation>
 <translation id="6532527800157340614">Login mislykkedes, fordi dit adgangstoken ikke kunne hentes. Tjek din netværksforbindelse, og prøv igen.</translation>
 <translation id="6532663472409656417">Tilmeldt Enterprise</translation>
@@ -4506,6 +4518,7 @@
 <translation id="6555432686520421228">Fjern alle brugerkonti, og nulstil din <ph name="IDS_SHORT_PRODUCT_NAME" />-enhed, så den er som ny.</translation>
 <translation id="6555810572223193255">Det er i øjeblikket ikke muligt at rydde indhold</translation>
 <translation id="6556866813142980365">Gør det igen</translation>
+<translation id="6556903358015358733">Tema og baggrund</translation>
 <translation id="6557290421156335491">Mine genveje</translation>
 <translation id="6561560012278703671">Få lydløse meddelelser (dette sørger for, at dine notifikationsprompts ikke forstyrrer dig)</translation>
 <translation id="6561726789132298588">enter</translation>
@@ -4529,6 +4542,7 @@
 <translation id="6590458744723262880">Omdøb mappe</translation>
 <translation id="6592267180249644460">WebRTC-logfil blev registreret <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Dit fingeraftryk blev registreret</translation>
+<translation id="6595187330192059106">Bloker altid <ph name="HOST" />, så websitet ikke kan få fuld kontrol over MIDI-enheder.</translation>
 <translation id="6596325263575161958">Krypteringsmuligheder</translation>
 <translation id="6596816719288285829">IP-adresse</translation>
 <translation id="6597017209724497268">Prøver</translation>
@@ -5014,9 +5028,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" er slettet</translation>
 <translation id="7201420661433230412">Få vist filer</translation>
 <translation id="7203150201908454328">Udvidet</translation>
-<translation id="7203826966018112936">Ved at føje en skolekonto til en profil kan en elev nemt logge ind på websites og udvidelser, når børnesikring er aktiveret. Dette giver ikke et barn adgang til bogmærker, adgangskoder eller andre browserdata, der synkroniseres med skolekontoen.&lt;br&gt;&lt;br&gt;
-    Hvis dit barn bruger en Chromebook i skolen, og du vil genskabe skoleoplevelsen derhjemme for at sikre, at dit barn har adgang til alle nødvendige skoleressourcer, skal du logge ud af denne Family Link-konto og logge ind på skolekontoen via kontosiden for Chrome OS. Vær opmærksom på, at forældreindstillinger fra Family Link ikke anvendes.&lt;br&gt;&lt;br&gt;
-    Hvis dit barn ikke bruger en Chromebook i skolen, eller hvis du foretrækker at administrere dit barns oplevelse derhjemme ved hjælp af Family Link, skal du klikke på knappen Næste nedenfor og føje en skolekonto til denne profil.</translation>
 <translation id="7206693748120342859">Downloader <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Forlad side}one{Forlad side}other{Forlad sider}}</translation>
 <translation id="7207457272187520234">Send brugs- og diagnosticeringsdata. Denne enhed sender i øjeblikket automatisk diagnosticerings- og enhedsdata samt data om brug af apps til Google. Dataene bruges til forbedring af bl.a. systemets og appens stabilitet. Visse samlede data hjælper også Google-apps og -partnere, f.eks. Android-udviklere. Denne indstilling håndhæves af ejeren. Hvis indstillingen for yderligere web- og appaktivitet er aktiveret, gemmes disse data muligvis på din Google-konto.</translation>
@@ -5159,7 +5170,6 @@
 <translation id="7388044238629873883">Du er næsten færdig.</translation>
 <translation id="7392118418926456391">Virusscanningen mislykkedes</translation>
 <translation id="7392915005464253525">G&amp;enåbn lukkede faner</translation>
-<translation id="7393472013449507620">Indstillinger med jokertegn (*) understøttes ikke længere. Kontakt udvikleren af udvidelsen eller din administrator for at <ph name="BEGIN_LINK" />ændre disse indstillinger<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Delte mapper vises her</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> vil starte ved opstart af systemet og fortsætte med at køre i baggrunden, selv når du har lukket alle andre vinduer i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Tilpas synkronisering</translation>
@@ -5272,6 +5282,7 @@
 <translation id="7526989658317409655">Pladsholder</translation>
 <translation id="7529411698175791732">Tjek din internetforbindelse. Hvis problemet fortsætter, kan du prøve at logge ud og logge ind igen.</translation>
 <translation id="7530016656428373557">Afladningshastighed i Watt</translation>
+<translation id="7531310913436731628">Placering er deaktiveret i systemindstillingerne for Mac</translation>
 <translation id="7531779363494549572">Gå til Indstillinger &gt; Apps og notifikationer &gt; Notifikationer.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> svarer ikke. Vælg "Tving til at lukke" for at lukke appen.</translation>
 <translation id="7537451260744431038">Websites kan ikke anvende cookies til at forbedre din browseroplevelse ved f.eks. at sørge for, at du forbliver logget ind, eller ved at huske varerne i din kurv</translation>
@@ -5384,6 +5395,7 @@
 <translation id="767147716926917172">Diagnostik og brugsdata sendes automatisk til Google</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" /> på <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Deaktiver alle porte, som viderestilles i Linux</translation>
+<translation id="7674542105240814168">Placeringsadgang blev nægtet</translation>
 <translation id="7676867886086876795">Send din stemme til Google, så du kan diktere i ethvert tekstfelt.</translation>
 <translation id="7678280409648629969">Logindata gemmes i Chrome, efter du har afsluttet inkognitotilstand. Dermed kan du bruge Touch ID til dette website igen på et senere tidspunkt.</translation>
 <translation id="7680416688940118410">Kalibrering af touchskærm</translation>
@@ -5590,6 +5602,7 @@
 <translation id="790040513076446191">Manipulere indstillinger til beskyttelse af personlige oplysninger</translation>
 <translation id="7903345046358933331">Siden svarer ikke. Du kan vente på, at den svarer, eller lukke den.</translation>
 <translation id="7903742244674067440">Du har lagrede certifikater, som identificerer disse certifikatautoriteter</translation>
+<translation id="7903859912536385558">stabil (betroet tester)</translation>
 <translation id="7903925330883316394">Værktøj: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Administratoren for denne konto tillader ikke samlet login fra flere konti.</translation>
 <translation id="7904526211178107182">Gør Linux-portene tilgængelige for andre enheder på dit netværk.</translation>
@@ -5715,6 +5728,7 @@
 <translation id="8049705080247101012">Google har markeret "<ph name="EXTENSION_NAME" />" som skadelig, og installationen blev forhindret</translation>
 <translation id="8049948037269924837">Omvendt rulning på touchplade</translation>
 <translation id="8050038245906040378">Microsoft-signering af kommerciel kode</translation>
+<translation id="8051390370038326517">Tillad altid, at <ph name="HOST" /> kan få fuld kontrol over MIDI-enheder</translation>
 <translation id="8053278772142718589">PKCS #12-filer</translation>
 <translation id="8053390638574070785">Genindlæs denne side</translation>
 <translation id="8054517699425078995">Denne type fil kan beskadige din enhed. Vil du beholde <ph name="FILE_NAME" /> alligevel?</translation>
@@ -5766,6 +5780,7 @@
 <translation id="810728361871746125">Skærmopløsning</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Ingen tredjepartscookies}=1{1 tredjepartscookie er blokeret}one{# tredjepartscookie er blokeret}other{# tredjepartscookies er blokeret}}</translation>
 <translation id="810875025413331850">Der blev ikke fundet nogen enheder i nærheden.</translation>
+<translation id="8113476325385351118">Bloker fortsat dette website, så det ikke kan få fuld kontrol over MIDI-enheder</translation>
 <translation id="8114199541033039755">Gå til startsiden, gå tilbage, og skift mellem apps ved hjælp af knapperne i tablettilstand. Aktiveret, når ChromeVox eller automatiske klik er aktiveret.</translation>
 <translation id="8114875720387900039">Opdel vandret</translation>
 <translation id="8116972784401310538">&amp;Bogmærkeadministrator</translation>
@@ -6051,7 +6066,6 @@
 <translation id="8470513973197838199">Gemte adgangskoder til <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">hardwarebaseret</translation>
 <translation id="8473863474539038330">Adresser m.m.</translation>
-<translation id="8474733733775441349">Vis adgangskoder fra din Google-konto</translation>
 <translation id="8475313423285172237">Et andet program på din computer tilføjede en udvidelse, der kan ændre den måde, hvorpå Chrome fungerer.</translation>
 <translation id="8477241577829954800">Erstattet</translation>
 <translation id="8477384620836102176">&amp;Generelt</translation>
@@ -6134,6 +6148,7 @@
 <translation id="8590375307970699841">Konfigurer automatiske opdateringer</translation>
 <translation id="8591783563402255548">1 sekund</translation>
 <translation id="8592141010104017453">Vis slet ingen notifikationer</translation>
+<translation id="859246725979739260">Dette website er blevet blokeret, så det ikke kan få adgang til din placering.</translation>
 <translation id="8593121833493516339">Send brugs- og diagnosticeringsdata. Hjælp med at forbedre dit barns Android-oplevelse ved automatisk at sende diagnosticerings- og enhedsdata samt data om brug af apps til Google. Disse data bruges ikke til at identificere dit barn. De bruges kun til forbedring af bl.a. systemets og appens stabilitet. Visse samlede data hjælper også Google-apps og -partnere, f.eks. Android-udviklere. Hvis indstillingen til yderligere web- og appaktivitet er aktiveret for dit barn, gemmes disse data muligvis på barnets Google-konto. <ph name="BEGIN_LINK1" />Få flere oplysninger<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Optag video</translation>
 <translation id="8596540852772265699">Tilpassede filer</translation>
@@ -6146,6 +6161,7 @@
 <translation id="860909219589324847">Brug aldrig data til overførsler</translation>
 <translation id="8609465669617005112">Flyt op</translation>
 <translation id="8610103157987623234">Formatet er forkert. Prøv igen.</translation>
+<translation id="8611682088849615761">Tillad fortsat, at dette website kan få fuld kontrol over MIDI-enheder</translation>
 <translation id="8613164732773110792">Kun små bogstaver, cifre, understregninger og tankestreger</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> er for stor til, at der kan udføres et sikkerhedstjek. Du kan åbne filer på op til 50 MB.</translation>
 <translation id="8615618338313291042">Inkognitoprogram: <ph name="APP_NAME" /></translation>
@@ -6289,6 +6305,7 @@
 <translation id="8761945298804995673">Denne bruger eksisterer allerede</translation>
 <translation id="8762886931014513155">Din <ph name="DEVICE_TYPE" /> skal opdateres</translation>
 <translation id="8763927697961133303">USB-enhed</translation>
+<translation id="87646919272181953">Google Fotos-album</translation>
 <translation id="8767621466733104912">Opdater Chrome automatisk for alle brugere</translation>
 <translation id="8770406935328356739">Udvidelsens rodmappe</translation>
 <translation id="8770507190024617908">Administrer personer</translation>
@@ -6605,6 +6622,7 @@
 <translation id="9147392381910171771">&amp;Valgmuligheder</translation>
 <translation id="9148058034647219655">Afslut</translation>
 <translation id="9148126808321036104">Log ind igen</translation>
+<translation id="9148963623915467028">Dette website har adgang til din placering.</translation>
 <translation id="9149866541089851383">Rediger...</translation>
 <translation id="9150045010208374699">Bruge dit kamera</translation>
 <translation id="9153934054460603056">Gem identitet og adgangskode</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index 61ad044..67ef8c82 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Nur verschlüsseln</translation>
 <translation id="1038462104119736705">Für Linux sind mindestens <ph name="INSTALL_SIZE" /> freier Speicherplatz erforderlich. Löschen Sie Dateien von Ihrem Gerät, um Speicherplatz freizugeben.</translation>
 <translation id="1039337018183941703">Ungültige oder beschädigte Datei</translation>
-<translation id="104086161873270383">Neues Profil</translation>
 <translation id="1041175011127912238">Diese Seite reagiert nicht</translation>
 <translation id="1041263367839475438">Verfügbare Geräte</translation>
 <translation id="1042174272890264476">Auch die RLZ-Bibliothek von <ph name="SHORT_PRODUCT_NAME" /> ist auf Ihrem Computer vorinstalliert. RLZ sorgt für die Zuweisung von Tags, anhand derer gemessen wird, wie sich einzelne Werbekampagnen auf die Suchanfragen und die Nutzung von <ph name="SHORT_PRODUCT_NAME" /> auswirken. Die Tags sind weder eindeutig, noch personenbezogen und kommen manchmal in Google-Suchanfragen in <ph name="PRODUCT_NAME" /> vor.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Schaltfläche "Zurück" auf Unterseite "<ph name="SUBPAGE_TITLE" />"</translation>
 <translation id="1322046419516468189">Gespeicherte Passwörter in Ihrem <ph name="SAVED_PASSWORDS_STORE" /> ansehen und verwalten</translation>
 <translation id="1324106254079708331">Schützt private Google-Konten jeglicher Nutzer vor gezielten Angriffen</translation>
-<translation id="1325985428688410772">Profil hinzufügen</translation>
 <translation id="1326317727527857210">Melden Sie sich in Chrome an, um Tabs von Ihren anderen Geräten abzurufen.</translation>
 <translation id="1327074568633507428">Google Cloud Print-Drucker</translation>
 <translation id="1327272175893960498">Kerberos-Tickets</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">Die Passwortüberprüfung ist in Chromium nicht verfügbar</translation>
 <translation id="1871534214638631766">Zugehörige Informationen durch Rechtsklick mit der Maus oder langes Drücken einblenden</translation>
 <translation id="1871615898038944731">Ihr <ph name="DEVICE_TYPE" /> ist auf dem neuesten Stand</translation>
-<translation id="1874835396235780806">Dieses und andere Passwörter in Ihrem Google-Konto speichern?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Tab in ein anderes Fenster verschieben}other{Tabs in ein anderes Fenster verschieben}}</translation>
 <translation id="1875386316419689002">Dieser Tab ist mit einem HID-Gerät verbunden.</translation>
 <translation id="1875387611427697908">Dieser Artikel kann nur über den <ph name="CHROME_WEB_STORE" /> hinzugefügt werden</translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420">Netzwerk <ph name="NETWORK_INDEX" /> von <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, Verbinden</translation>
 <translation id="1884705339276589024">Größe des Linux-Laufwerks anpassen</translation>
 <translation id="1885106732301550621">Speicherplatz</translation>
-<translation id="1885190042244431215">Das Hinzufügen eines Kontos einer Bildungseinrichtung ermöglicht Schülern eine einfache Anmeldung bei Websites und Erweiterungen bei gleichzeitig aktivierten Jugendschutzeinstellungen.</translation>
 <translation id="1886996562706621347">Registrierung von Websites als Standard-Handler für Protokolle zulassen (empfohlen)</translation>
 <translation id="1887442540531652736">Fehler bei der Anmeldung</translation>
 <translation id="1887597546629269384">Sagen Sie noch einmal "Ok Google"</translation>
@@ -2196,7 +2192,6 @@
 <translation id="3654045516529121250">Einstellungen für Bedienungshilfen lesen</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Dauerhafter Zugriff auf eine Datei}other{Dauerhafter Zugriff auf # Dateien}}</translation>
 <translation id="3660234220361471169">Nicht vertrauenswürdig</translation>
-<translation id="3661172646479098821">Aktuell werden nur Android-Geräte unterstützt.</translation>
 <translation id="3664511988987167893">Erweiterungssymbol</translation>
 <translation id="3665589677786828986">Chrome hat festgestellt, dass einige Ihrer Einstellungen von einem anderen Programm manipuliert wurden, und hat sie auf die ursprünglichen Standardwerte zurückgesetzt.</translation>
 <translation id="3668801437375206837">Damit Bluetooth-Probleme besser diagnostiziert werden können, haben Google-Mitarbeiter die Möglichkeit, Feedbackberichte durch zusätzliche Bluetooth-Protokolle zu ergänzen. Wenn diese Option ausgewählt ist, enthält Ihr Bericht btsnoop- und HCI-Protokolle der aktuellen Sitzung. Personenidentifizierbare Informationen werden dabei so gut wie möglich entfernt. Nur die Administratoren der entsprechenden Chrome OS-Produktgruppe in Listnr haben Zugriff auf die Protokolle. Diese werden nach 90 Tagen dauerhaft gelöscht.</translation>
@@ -2768,6 +2763,7 @@
 <translation id="4370975561335139969">Die E-Mail-Adresse und das Passwort, die Sie eingegeben haben, stimmen nicht überein.</translation>
 <translation id="4374831787438678295">Linux-Installationsprogramm</translation>
 <translation id="4375035964737468845">Heruntergeladene Dateien öffnen</translation>
+<translation id="4376226992615520204">Standort deaktiviert</translation>
 <translation id="4377363674125277448">Beim Zertifikat des Servers ist ein Problem aufgetreten.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Nicht ausgeführt</translation>
@@ -2967,7 +2963,6 @@
 <translation id="4619615317237390068">Tabs von anderen Geräten</translation>
 <translation id="4620809267248568679">Diese Einstellung wird durch eine Erweiterung erzwungen.</translation>
 <translation id="4623189117674524348">Das System konnte den API-Zugriff für dieses Gerät nicht autorisieren.</translation>
-<translation id="4624190781974168453">Beim Start fragen</translation>
 <translation id="4625078469366263107">App aktivieren</translation>
 <translation id="4627427111733173920">Cookies blockiert</translation>
 <translation id="4627442949885028695">Auf einem anderen Gerät fortsetzen</translation>
@@ -3397,7 +3392,6 @@
 <translation id="5185386675596372454">Die aktuelle Version von "<ph name="EXTENSION_NAME" />" wurde deaktiviert, weil sie weitere Berechtigungen erfordert.</translation>
 <translation id="5185500136143151980">Kein Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Optionsmenü für <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Port aktivieren</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> möchte mehrere Dateien herunterladen</translation>
 <translation id="5192062846343383368">Die Einstellungen für die Elternaufsicht lassen sich in der Family Link App anpassen</translation>
@@ -3773,6 +3767,7 @@
 <translation id="5642508497713047">CRL-Signaturgeber</translation>
 <translation id="5643321261065707929">Kostenpflichtiges Netzwerk</translation>
 <translation id="5643620609347735571">Löschen und fortfahren</translation>
+<translation id="5646376287012673985">Standort</translation>
 <translation id="5646558797914161501">Geschäftsmann</translation>
 <translation id="5648166631817621825">Letzte 7 Tage</translation>
 <translation id="5649053991847567735">Auto-Downloads</translation>
@@ -4479,7 +4474,6 @@
 <translation id="6531282281159901044">Schädliche Datei beibehalten</translation>
 <translation id="6532101170117367231">In Google Drive speichern</translation>
 <translation id="6532106788206463496">Änderungen speichern</translation>
-<translation id="6532113437901537254">Die Passwörter aus Ihrem Google-Konto sind auch auf diesem Gerät verfügbar, solange Sie angemeldet sind</translation>
 <translation id="6532206849875187177">Sicherheit und Anmeldung</translation>
 <translation id="6532527800157340614">Eine Anmeldung ist nicht möglich, weil Ihr Zugriffstoken nicht abgerufen werden konnte. Bitte prüfen Sie die Netzwerkverbindung und versuchen Sie es noch einmal.</translation>
 <translation id="6532663472409656417">Unternehmenseigen</translation>
@@ -4611,7 +4605,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> und 1 weiterer Tab}other{<ph name="PAGE_TITLE" /> und # weitere Tabs}}</translation>
 <translation id="6709133671862442373">Nachrichten</translation>
 <translation id="6709357832553498500">Über <ph name="EXTENSIONNAME" /> verbinden</translation>
-<translation id="6710213216561001401">Zurück</translation>
+<translation id="6710213216561001401">Vorherige Einreichung</translation>
 <translation id="6715803357256707211">Bei der Installation Ihrer Linux-Anwendung ist ein Fehler aufgetreten. Klicken Sie auf die Benachrichtigung, um Details zu sehen.</translation>
 <translation id="671619610707606484">Dadurch werden <ph name="TOTAL_USAGE" /> an von Websites gespeicherten Daten gelöscht</translation>
 <translation id="671928215901716392">Sperren</translation>
@@ -5009,9 +5003,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" wurde gelöscht</translation>
 <translation id="7201420661433230412">Dateien ansehen</translation>
 <translation id="7203150201908454328">Erweitert</translation>
-<translation id="7203826966018112936">Das Hinzufügen eines Kontos einer Bildungseinrichtung zu einem Profil ermöglicht Schülern trotz Jugendschutzeinstellungen eine vereinfachte Anmeldung bei Websites und Erweiterungen. Es bietet einem Kind jedoch keinen Zugriff auf Lesezeichen, Passwörter und andere Browserdaten, die mit dem Konto einer Bildungseinrichtung synchronisiert werden.&lt;br&gt;&lt;br&gt;
-    Wenn Ihr Kind in der Schule ein Chromebook verwendet und es zu Hause alle Funktionen nutzen soll, um auf alle nötigen Schulaufgaben zugreifen zu können, sollten Sie sich von diesem Family Link-Konto abmelden und im Konto der Bildungseinrichtung von der Chrome OS-Kontenseite aus anmelden. Hinweis: Die Jugendschutzeinstellungen von Family Link gelten dabei nicht.&lt;br&gt;&lt;br&gt;
-    Wenn Ihr Kind in der Schule kein Chromebook verwendet oder wenn Sie alle Aufgaben Ihres Kindes zu Hause lieber über Family Link verwalten möchten, klicken Sie unten auf die Schaltfläche "Weiter", um diesem Profil ein Konto einer Bildungseinrichtung hinzuzufügen.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> wird heruntergeladen...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Seite verlassen}other{Seiten verlassen}}</translation>
 <translation id="7207457272187520234">Sie haben die Möglichkeit, Nutzungsdaten &amp; Fehlerberichte zu senden. Dieses Gerät sendet momentan automatisch Diagnose- und Gerätedaten sowie App-Nutzungsdaten an Google. Die Daten helfen unter anderem dabei, die Stabilität des Systems und der Apps zu verbessern. Einige aggregierte Daten sind auch für Apps und Partner von Google, beispielsweise Android-Entwickler, nützlich. Diese Einstellung wird vom Inhaber erzwungen. Wenn die Einstellung "Zusätzliche Web- &amp; App-Aktivitäten" aktiviert ist, werden diese Daten möglicherweise in Ihrem Google-Konto gespeichert.</translation>
@@ -5154,7 +5145,6 @@
 <translation id="7388044238629873883">Sie haben es fast geschafft.</translation>
 <translation id="7392118418926456391">Fehler beim Virenscan</translation>
 <translation id="7392915005464253525">Geschlossenes Fenster wieder öffn&amp;en</translation>
-<translation id="7393472013449507620">Einstellungen mit dem Platzhalter "*" werden nicht mehr unterstützt. Kontaktieren Sie den Entwickler der Erweiterung oder Ihren Administrator, um <ph name="BEGIN_LINK" />diese Einstellungen zu ändern<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Freigegebene Ordner erscheinen hier</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> wird beim Systemstart gestartet und auch dann weiter im Hintergrund ausgeführt, wenn Sie alle anderen <ph name="PRODUCT_NAME" />-Fenster geschlossen haben.</translation>
 <translation id="7399045143794278225">Synchronisierung anpassen</translation>
@@ -5267,6 +5257,7 @@
 <translation id="7526989658317409655">Platzhalter</translation>
 <translation id="7529411698175791732">Prüfen Sie Ihre Internetverbindung. Wenn das Problem weiterhin besteht, melden Sie sich ab und wieder an.</translation>
 <translation id="7530016656428373557">Entladerate in Watt</translation>
+<translation id="7531310913436731628">Standort wurde in den Mac-Systemeinstellungen deaktiviert</translation>
 <translation id="7531779363494549572">Gehen Sie zu "Einstellungen" &gt; "Apps &amp; Benachrichtigungen" &gt; "Benachrichtigungen".</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> reagiert nicht. Wählen Sie "Schließen erzwingen" aus, um die App zu beenden.</translation>
 <translation id="7537451260744431038">Websites können keine Cookies verwenden, um Ihnen das Surfen zu erleichtern; zum Beispiel, damit Sie angemeldet oder Artikel in Ihrem Einkaufswagen gespeichert bleiben</translation>
@@ -6046,7 +6037,6 @@
 <translation id="8470513973197838199">Gespeicherte Passwörter für <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">Hardwaregestützt</translation>
 <translation id="8473863474539038330">Adressen</translation>
-<translation id="8474733733775441349">Passwörter aus Ihrem Google-Konto anzeigen</translation>
 <translation id="8475313423285172237">Ein anderes Programm auf Ihrem Computer hat eine Erweiterung hinzugefügt, die sich möglicherweise auf die Funktionsweise von Chrome auswirkt.</translation>
 <translation id="8477241577829954800">Außer Kraft gesetzt</translation>
 <translation id="8477384620836102176">&amp;Allgemein</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index bb982b72..9760afc 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Μόνο κρυπτογράφηση</translation>
 <translation id="1038462104119736705">Για το Linux συνιστώνται τουλάχιστον <ph name="INSTALL_SIZE" /> αποθηκευτικού χώρου. Για να αυξήσετε τον δωρεάν αποθηκευτικό χώρο, διαγράψτε αρχεία από τη συσκευή σας.</translation>
 <translation id="1039337018183941703">Μη έγκυρο ή κατεστραμμένο αρχείο</translation>
-<translation id="104086161873270383">Νέο προφίλ</translation>
 <translation id="1041175011127912238">Αυτή η σελίδα δεν αποκρίνεται.</translation>
 <translation id="1041263367839475438">Διαθέσιμες συσκευές</translation>
 <translation id="1042174272890264476">Ο υπολογιστής σας κυκλοφορεί και με ενσωματωμένη τη βιβλιοθήκη RLZ του <ph name="SHORT_PRODUCT_NAME" />. Το RLZ εκχωρεί μια μη μοναδική ετικέτα μη προσωπικής ταυτοποίησης για τη μέτρηση των αναζητήσεων και της χρήσης του <ph name="SHORT_PRODUCT_NAME" /> που προκύπτει από μια συγκεκριμένη καμπάνια προώθησης. Αυτές οι ετικέτες εμφανίζονται μερικές φορές σε ερωτήματα στην Αναζήτηση Google στο <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Αυτή η ρύθμιση εφαρμόζεται από την επέκταση "<ph name="NAME" />".</translation>
 <translation id="1118738876271697201">Το σύστημα δεν κατάφερε να προσδιορίσει το μοντέλο ή τον σειριακό αριθμό της συσκευής.</translation>
 <translation id="1119447706177454957">Εσωτερικό σφάλμα</translation>
+<translation id="1122068467107743258">Εργασία</translation>
 <translation id="1122198203221319518">&amp;Εργαλεία</translation>
 <translation id="1122242684574577509">Αποτυχία ελέγχου ταυτότητας. Κάντε κλικ για να μεταβείτε στη σελίδα σύνδεσης για το δίκτυο Wi-Fi που χρησιμοποιείτε (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Όνομα σελιδοδείκτη</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Διαχείριση εφαρμογών</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - Μέρος της ομάδας <ph name="GROUP_NAME" /></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>
 <translation id="1137673463384776352">Άνοιγμα συνδέσμου στην εφαρμογή <ph name="APP" /></translation>
 <translation id="1139343347646843679">Παρουσιάστηκε ένα σφάλμα κατά τη διαμόρφωση των Linux. Επικοινωνήστε με τον διαχειριστή.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Κουμπί Πίσω δευτερεύουσας σελίδας <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Προβολή και διαχείριση αποθηκευμένων κωδικών πρόσβασης στον <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Προστατεύει τους προσωπικούς Λογαριασμούς Google οποιουδήποτε χρήστη κινδυνεύει από στοχευμένες επιθέσεις.</translation>
-<translation id="1325985428688410772">Προσθήκη χώρου</translation>
 <translation id="1326317727527857210">Για να εμφανίζονται οι καρτέλες από τις άλλες συσκευές σας, συνδεθείτε στο Chrome.</translation>
 <translation id="1327074568633507428">Εκτυπωτής στο Google Cloud Print</translation>
 <translation id="1327272175893960498">Εισιτήρια Kerberos</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Εισαγάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας</translation>
 <translation id="1576594961618857597">Προεπιλεγμένο λευκό avatar</translation>
 <translation id="1578558981922970608">Αναγκαστικό κλείσιμο</translation>
+<translation id="1578784163189013834">Επιλέξτε το παρασκήνιο της προφύλαξης οθόνης</translation>
 <translation id="1580772913177567930">Επικοινωνήστε με τον διαχειριστή σας</translation>
 <translation id="1581962803218266616">Εμφάνιση στο Finder</translation>
 <translation id="1582955169539260415">διαγραφή [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">Ο έλεγχος κωδικού πρόσβασης δεν είναι διαθέσιμος στο Chromium.</translation>
 <translation id="1871534214638631766">Εμφάνιση σχετικών πληροφοριών όταν κάνετε δεξί κλικ ή όταν πατάτε παρατεταμένα σε περιεχόμενο</translation>
 <translation id="1871615898038944731">Η συσκευή <ph name="DEVICE_TYPE" /> είναι ενημερωμένη</translation>
-<translation id="1874835396235780806">Αποθήκευση αυτού και άλλων κωδικών πρόσβασης στον Λογαριασμό σας Google;</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Μετακίνηση καρτέλας σε άλλο παράθυρο}other{Μετακίνηση καρτελών σε άλλο παράθυρο}}</translation>
 <translation id="1875386316419689002">Αυτή η καρτέλα είναι συνδεδεμένη σε συσκευή HID.</translation>
 <translation id="1875387611427697908">Η προσθήκη αυτού του στοιχείου είναι δυνατή μόνο από το <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420">Δίκτυο <ph name="NETWORK_INDEX" /> από <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, Σύνδεση</translation>
 <translation id="1884705339276589024">Αλλαγή μεγέθους δίσκου Linux</translation>
 <translation id="1885106732301550621">Χώρος δίσκου</translation>
-<translation id="1885190042244431215">Η προσθήκη ενός σχολικού λογαριασμού επιτρέπει την εύκολη σύνδεση σε ιστοτόπους και επεκτάσεις ως μαθητής, ενώ εξακολουθούν να ισχύουν οι γονικοί έλεγχοι.</translation>
 <translation id="1886996562706621347">Να επιτρέπεται σε ιστότοπους να ζητούν να γίνονται προεπιλεγμένα προγράμματα χειρισμού για πρωτόκολλα (συνιστάται)</translation>
 <translation id="1887442540531652736">Σφάλμα σύνδεσης</translation>
 <translation id="1887597546629269384">Πείτε "Hey Google" ξανά</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">Η χρήση του Hangouts και του Cast for Education διέπεται από την Πολιτική απορρήτου της Google.</translation>
 <translation id="2348176352564285430">Εφαρμογή: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Σφάλμα κατά τη φόρτωση δεδομένων</translation>
+<translation id="2349610121459545414">Να συνεχίσει να επιτρέπεται σε αυτόν τον ιστότοπο η πρόσβαση στην τοποθεσία σας.</translation>
 <translation id="2349896577940037438">Εάν η ρύθμιση της πρόσθετης Δραστηριότητας ιστού και εφαρμογών είναι ενεργοποιημένη, αυτά τα δεδομένα μπορεί να αποθηκευτούν στον Λογαριασμό σας Google. Μπορείτε να δείτε τα δεδομένα σας, να τα διαγράψετε και να αλλάξετε τις ρυθμίσεις του λογαριασμού σας στη διεύθυνση account.google.com.</translation>
 <translation id="2350133097354918058">Έγινε επανάληψη φόρτωσης</translation>
 <translation id="2350182423316644347">Προετοιμασία εφαρμογής…</translation>
@@ -1232,6 +1232,7 @@
 <translation id="247051149076336810">URL κοινής χρήσης αρχείου</translation>
 <translation id="2470702053775288986">Απενεργοποίηση μη υποστηριζόμενων επεκτάσεων</translation>
 <translation id="2471469610750100598">Μαύρο (προεπιλογή)</translation>
+<translation id="2471506181342525583">Επιτρέπεται η πρόσβαση τοποθεσίας</translation>
 <translation id="2473195200299095979">Μετάφραση αυτής της σελίδας</translation>
 <translation id="2475982808118771221">Παρουσιάστηκε σφάλμα</translation>
 <translation id="2476578072172137802">Ρυθμίσεις ιστότοπου</translation>
@@ -1243,6 +1244,7 @@
 <translation id="2482878487686419369">Ειδοποιήσεις</translation>
 <translation id="2484959914739448251">Για να διαγράψετε τα δεδομένα περιήγησης από όλες τις συγχρονισμένες συσκευές σας και τον Λογαριασμό σας Google, <ph name="BEGIN_LINK" />εισαγάγετε τη φράση πρόσβασής σας<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Ο κωδικός πρόσβασης αποθηκεύτηκε σε αυτήν τη συσκευή</translation>
+<translation id="2485394160472549611">Κορυφαίες επιλογές για εσάς</translation>
 <translation id="2485422356828889247">Απεγκατάσταση</translation>
 <translation id="2487067538648443797">Προσθήκη νέου σελιδοδείκτη</translation>
 <translation id="2487268545026948104">Για να επαναφέρετε τα δεδομένα σας, συνδεθείτε στο διαδίκτυο.</translation>
@@ -1624,6 +1626,7 @@
 <translation id="2932483646085333864">Για να ξεκινήσει ο συγχρονισμός, αποσυνδεθείτε και συνδεθείτε ξανά</translation>
 <translation id="2932883381142163287">Αναφορά κατάχρησης</translation>
 <translation id="2933632078076743449">Τελευταία ενημέρωση</translation>
+<translation id="2934999512438267372">Επιτράπηκε ο πλήρης έλεγχος συσκευών MIDI</translation>
 <translation id="2936851848721175671">Δημιουργία αντιγράφων ασφαλείας και επαναφορά</translation>
 <translation id="2938225289965773019">Άνοιγμα συνδέσμων <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">Προβάλετε και διαγράψτε τα δεδομένα σύνδεσης που έχουν αποθηκευτεί στο κλειδί ασφαλείας σας.</translation>
@@ -1739,6 +1742,7 @@
 <translation id="3083193146044397360">Αποκλείστηκε προσωρινά για την προστασία σας</translation>
 <translation id="3084548735795614657">Απόθεση για εγκατάσταση</translation>
 <translation id="3084771660770137092">Είτε εξαντλήθηκε η μνήμη του Chrome ή η διαδικασία για την ιστοσελίδα τερματίστηκε για κάποιον άλλο λόγο. Για να συνεχίσετε, επαναλάβετε τη φόρτωση ή μεταβείτε σε άλλη σελίδα.</translation>
+<translation id="3084958266922136097">Απενεργοποίηση προφύλαξης οθόνης</translation>
 <translation id="3085412380278336437">Ο ιστότοπος μπορεί να χρησιμοποιήσει την κάμερά σας</translation>
 <translation id="3085752524577180175">Κεντρικός υπολογιστής SOCKS</translation>
 <translation id="3088052000289932193">Ο ιστότοπος χρησιμοποιεί MIDI.</translation>
@@ -1935,6 +1939,7 @@
 <translation id="3345886924813989455">Δεν βρέθηκε υποστηριζόμενο πρόγραμμα περιήγησης</translation>
 <translation id="3347086966102161372">Α&amp;ντιγραφή της διεύθυνσης εικόνας</translation>
 <translation id="3348038390189153836">Ανιχνεύτηκε αφαιρούμενη συσκευή</translation>
+<translation id="3348131053948466246">Προτεινόμενα emoji. Πατήστε τα πλήκτρα επάνω και κάτω για πλοήγηση και Enter για εισαγωγή.</translation>
 <translation id="3349933790966648062">Αποτύπωμα μνήμης</translation>
 <translation id="3355936511340229503">Σφάλμα σύνδεσης</translation>
 <translation id="3356580349448036450">Ολοκληρώθηκε</translation>
@@ -1970,6 +1975,7 @@
 <translation id="3402585168444815892">Εγγραφή στη λειτουργία επίδειξης</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Δεν υπάρχουν αποθηκευμένοι κωδικοί πρόσβασης για αυτόν τον ιστότοπο</translation>
+<translation id="3404249063913988450">Ενεργοποίηση προφύλαξης οθόνης.</translation>
 <translation id="3405664148539009465">Προσαρμογή γραμματοσειρών</translation>
 <translation id="3405763860805964263">…</translation>
 <translation id="3406605057700382950">&amp;Εμφάνιση γραμμής σελιδοδεικτών</translation>
@@ -2200,7 +2206,6 @@
 <translation id="3654045516529121250">Ανάγνωση των ρυθμίσεων προσβασιμότητας</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Έχει μόνιμη πρόσβαση σε ένα αρχείο.}other{Έχει μόνιμη πρόσβαση σε # αρχεία.}}</translation>
 <translation id="3660234220361471169">Μη αξιόπιστα</translation>
-<translation id="3661172646479098821">Προς το παρόν υποστηρίζονται μόνο συσκευές Android.</translation>
 <translation id="3664511988987167893">Εικονίδιο επέκτασης</translation>
 <translation id="3665589677786828986">Το Chrome διαπιστώσαμε ότι ορισμένες από τις ρυθμίσεις σας καταστράφηκαν από άλλο πρόγραμμα και τις επανέφερε στις αρχικές τους προεπιλογές.</translation>
 <translation id="3668801437375206837">Για την καλύτερη διάγνωση ζητημάτων που σχετίζονται με το Bluetooth, οι υπάλληλοι της Google μπορούν να συμπεριλάβουν επιπλέον αρχεία καταγραφής Bluetooth με τις αναφορές σχολίων τους. Όταν έχει οριστεί αυτή η επιλογή, η αναφορά σας θα περιλαμβάνει αρχεία καταγραφής btsnoop και HCI από την τρέχουσα περίοδο σύνδεσης, προσαρμοσμένα έτσι ώστε να καταργήσουν όσο το δυνατό περισσότερα στοιχεία PII. Η πρόσβαση σε αυτά τα αρχεία καταγραφής θα περιορίζεται στους διαχειριστές της ομάδας προϊόντων Chrome OS στο Listnr. Τα αρχεία καταγραφής θα απομακρυνθούν μετά από 90 ημέρες.</translation>
@@ -2510,6 +2515,7 @@
 <translation id="3984159763196946143">Δεν ήταν δυνατή η έναρξη της λειτουργίας επίδειξης</translation>
 <translation id="3984431586879874039">Να επιτραπεί σε αυτόν τον ιστότοπο να δει το κλειδί ασφαλείας σας;</translation>
 <translation id="3986705137476756801">Απενεργοποίηση Ζωντανών υπότιτλων προς το παρόν</translation>
+<translation id="3987544746655539083">Να συνεχιστεί ο αποκλεισμός αυτού του ιστοτόπου από την πρόσβαση στην τοποθεσία σας.</translation>
 <translation id="3987938432087324095">Λυπάμαι, δεν το κατάλαβα.</translation>
 <translation id="3988996860813292272">Επιλογή ζώνης ώρας</translation>
 <translation id="399179161741278232">Έγινε εισαγωγή</translation>
@@ -2575,6 +2581,7 @@
 <translation id="4087089424473531098">Δημιουργήθηκε η επέκταση:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Ο πλήρης έλεγχος συσκευών MIDI απορρίφθηκε</translation>
 <translation id="4088095054444612037">Αποδοχή για την ομάδα</translation>
 <translation id="4089235344645910861">Οι ρυθμίσεις αποθηκεύτηκαν. Ο συγχρονισμός ξεκίνησε.</translation>
 <translation id="4090103403438682346">Ενεργοποίηση επαληθευμένης πρόσβασης</translation>
@@ -2655,6 +2662,7 @@
 <translation id="4200689466366162458">Προσαρμοσμένες λέξεις</translation>
 <translation id="4200983522494130825">Νέα &amp;καρτέλα</translation>
 <translation id="4201546031411513170">Μπορείτε πάντα να επιλέξετε τα στοιχεία που θέλετε να συγχρονίσετε στις ρυθμίσεις.</translation>
+<translation id="420283545744377356">Απενεργοποίηση προφύλαξης οθόνης</translation>
 <translation id="4206144641569145248">Εξωγήινος</translation>
 <translation id="4206323443866416204">Αναφορά σχολίων</translation>
 <translation id="4208390505124702064">Αναζήτηση <ph name="SITE_NAME" /></translation>
@@ -2753,6 +2761,7 @@
 <translation id="4348766275249686434">Συλλογή σφαλμάτων</translation>
 <translation id="4349828822184870497">Χρήσιμη</translation>
 <translation id="4350019051035968019">Δεν είναι δυνατή η εγγραφή αυτής της συσκευής στον τομέα στον οποίο ανήκει ο λογαριασμός σας, επειδή η συσκευή έχει επισημανθεί για διαχείριση από κάποιον άλλο τομέα.</translation>
+<translation id="4350230709416545141">Να αποκλείεται πάντα η πρόσβαση του <ph name="HOST" /> στην τοποθεσία σας.</translation>
 <translation id="4350782034419308508">Hey Google</translation>
 <translation id="4351060348582610152">Το <ph name="ORIGIN" /> θέλει να κάνει σάρωση για κοντινές συσκευές Bluetooth. Βρέθηκαν οι παρακάτω συσκευές:</translation>
 <translation id="4354073718307267720">Να γίνεται ερώτηση όταν ένας ιστότοπος θέλει να δημιουργήσει έναν τρισδιάστατο χάρτη του περιβάλλοντα χώρου σας ή να παρακολουθεί τη θέση της κάμερας</translation>
@@ -2772,6 +2781,7 @@
 <translation id="4370975561335139969">Η διεύθυνση ηλεκτρονικού ταχυδρομείου και ο κωδικός πρόσβασης δεν ταιριάζουν</translation>
 <translation id="4374831787438678295">Πρόγραμμα εγκατάστασης Linux</translation>
 <translation id="4375035964737468845">Άνοιγμα ληφθέντων αρχείων</translation>
+<translation id="4376226992615520204">Η τοποθεσία είναι απενεργοποιημένη</translation>
 <translation id="4377363674125277448">Παρουσιάστηκε κάποιο πρόβλημα με το πιστοποιητικό του διακομιστή.</translation>
 <translation id="4378154925671717803">Τηλέφωνο</translation>
 <translation id="4378373042927530923">Δεν εκτελέστηκε</translation>
@@ -2971,7 +2981,6 @@
 <translation id="4619615317237390068">Καρτέλες από άλλες συσκευές</translation>
 <translation id="4620809267248568679">Αυτή η ρύθμιση εφαρμόζεται από μια επέκταση.</translation>
 <translation id="4623189117674524348">Το σύστημα δεν κατάφερε να εξουσιοδοτήσει την πρόσβαση API για την παρούσα συσκευή.</translation>
-<translation id="4624190781974168453">Ερώτηση κατά την εκκίνηση</translation>
 <translation id="4625078469366263107">Ενεργοποίηση εφαρμογής</translation>
 <translation id="4627427111733173920">Τα cookie αποκλείστηκαν</translation>
 <translation id="4627442949885028695">Συνέχεια από άλλη συσκευή</translation>
@@ -3401,7 +3410,6 @@
 <translation id="5185386675596372454">Η τελευταία έκδοση του " <ph name="EXTENSION_NAME" /> "έχει απενεργοποιηθεί, επειδή απαιτούνται περισσότερα δικαιώματα.</translation>
 <translation id="5185500136143151980">Χωρίς σύνδεση στο διαδίκτυο</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Μενού επιλογών για <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Ενεργοποίηση θύρας</translation>
 <translation id="51918995459521422">Ο ιστότοπος <ph name="ORIGIN" /> θέλει να κατεβάσει πολλά αρχεία</translation>
 <translation id="5192062846343383368">Ανοίξτε την εφαρμογή Family Link για να δείτε τις ρυθμίσεις επίβλεψης</translation>
@@ -3594,6 +3602,7 @@
 <translation id="5431825016875453137">OpenVPN / L2TP</translation>
 <translation id="543338862236136125">Επεξεργασία κωδικού πρόσβασης</translation>
 <translation id="5434065355175441495">PKCS #1 Κρυπτογράφηση RSA</translation>
+<translation id="5435779377906857208">Να επιτρέπεται πάντα στο <ph name="HOST" /> η πρόσβαση στην τοποθεσία σας.</translation>
 <translation id="5436492226391861498">Αναμονή για διοχέτευση διακομιστή μεσολάβησης...</translation>
 <translation id="5436510242972373446">Αναζήτηση <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Αποθηκεύστε τα αρχεία σας και δημιουργήστε έναν νέο λογαριασμό τώρα.</translation>
@@ -3778,6 +3787,7 @@
 <translation id="5642508497713047">Υπηρεσία υπογραφής CRL</translation>
 <translation id="5643321261065707929">Δίκτυο με ογκοχρέωση</translation>
 <translation id="5643620609347735571">Διαγραφή και συνέχεια</translation>
+<translation id="5646376287012673985">Τοποθεσία</translation>
 <translation id="5646558797914161501">Επιχειρηματίας</translation>
 <translation id="5648166631817621825">Τελευταίες 7 ημέρες</translation>
 <translation id="5649053991847567735">Αυτόματες λήψεις</translation>
@@ -3821,6 +3831,7 @@
 <translation id="5701212929149679556">Περιαγωγή δικτύου κινητής τηλεφωνίας</translation>
 <translation id="5701381305118179107">Κέντρο</translation>
 <translation id="5701441174893770082">Η αναβάθμιση των Linux μπορεί να εξαντλήσει σημαντικά τη μπαταρία σας. Συνδέστε τη συσκευή σας σε έναν φορτιστή και δοκιμάστε ξανά.</translation>
+<translation id="5702749864074810610">Η πρόταση απορρίφθηκε</translation>
 <translation id="5702898740348134351">&amp;Επεξεργασία μηχανών αναζήτησης...</translation>
 <translation id="5704875434923668958">Συγχρονισμός με</translation>
 <translation id="5705005699929844214">Να εμφανίζονται πάντα οι επιλογές προσβασιμότητας</translation>
@@ -3941,6 +3952,7 @@
 <translation id="5857090052475505287">Νέος φάκελος</translation>
 <translation id="5857171483910641802">Οι συντομεύσεις προτείνονται με βάση τους ιστοτόπους που επισκέπτεστε συχνά</translation>
 <translation id="5858490737742085133">Τερματικό</translation>
+<translation id="5859603669299126575">Λεύκωμα γκαλερί</translation>
 <translation id="585979798156957858">Εξωτερικά μεταδεδομένα</translation>
 <translation id="5860033963881614850">Απενεργοποιημένη</translation>
 <translation id="5860491529813859533">Ενεργοποίηση</translation>
@@ -4326,6 +4338,7 @@
 <translation id="6318125393809743217">Συμπερίληψη αρχείου policies.json με τις διαμορφώσεις πολιτικών.</translation>
 <translation id="6318407754858604988">Η λήψη ξεκίνησε</translation>
 <translation id="6318944945640833942">Δεν ήταν δυνατός ο εντοπισμός ενός εκτυπωτή. Εισαγάγετε ξανά τη διεύθυνση εκτυπωτή.</translation>
+<translation id="6321407676395378991">Ενεργοποίηση προφύλαξης οθόνης</translation>
 <translation id="6322653941595359182">Στείλτε και λάβετε μηνύματα κειμένου μέσω του Chromebook</translation>
 <translation id="6324916366299863871">Επεξεργασία συντόμευσης</translation>
 <translation id="6325191661371220117">Απενεργοποίηση αυτόματης εκκίνησης</translation>
@@ -4484,7 +4497,6 @@
 <translation id="6531282281159901044">Διατήρηση επικίνδυνου αρχείου</translation>
 <translation id="6532101170117367231">Αποθήκευση στο Google Drive</translation>
 <translation id="6532106788206463496">Αποθήκευση αλλαγών</translation>
-<translation id="6532113437901537254">Οι κωδικοί πρόσβασής σας από τον Λογαριασμό σας Google θα είναι επίσης διαθέσιμοι σε αυτήν τη συσκευή ενώ είστε συνδεδεμένοι.</translation>
 <translation id="6532206849875187177">Ασφάλεια και σύνδεση</translation>
 <translation id="6532527800157340614">Η σύνδεση απέτυχε επειδή δεν ήταν δυνατή η ανάκτηση του διακριτικού πρόσβασης. Ελέγξτε τη σύνδεση δικτύου σας και δοκιμάστε ξανά.</translation>
 <translation id="6532663472409656417">Εγγεγραμμένη σε επιχείρηση</translation>
@@ -4506,6 +4518,7 @@
 <translation id="6555432686520421228">Καταργήστε όλους τους λογαριασμούς χρηστών και επαναφέρετε τη συσκευή σας <ph name="IDS_SHORT_PRODUCT_NAME" /> για να γίνει σαν καινούρια.</translation>
 <translation id="6555810572223193255">Το Εργαλείο καθαρισμού δεν είναι διαθέσιμο αυτήν τη στιγμή</translation>
 <translation id="6556866813142980365">Επανάληψη ενέργειας</translation>
+<translation id="6556903358015358733">Θέμα και ταπετσαρία</translation>
 <translation id="6557290421156335491">Οι συντομεύσεις μου</translation>
 <translation id="6561560012278703671">Χρήση πιο διακριτικών μηνυμάτων (αποκλεισμός διακοπών από τα μηνύματα ειδοποιήσεων)</translation>
 <translation id="6561726789132298588">enter</translation>
@@ -4529,6 +4542,7 @@
 <translation id="6590458744723262880">Μετονομασία φακέλου</translation>
 <translation id="6592267180249644460">Έγινε λήψη αρχείου καταγραφής WebRTC <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Το δακτυλικό σας αποτύπωμα καταγράφηκε.</translation>
+<translation id="6595187330192059106">Να αποκλείεται πάντα ο πλήρης έλεγχος των συσκευών MIDI από το <ph name="HOST" />.</translation>
 <translation id="6596325263575161958">Επιλογές κρυπτογράφησης</translation>
 <translation id="6596816719288285829">Διεύθυνση IP</translation>
 <translation id="6597017209724497268">Δείγματα</translation>
@@ -5014,9 +5028,6 @@
 <translation id="7201118060536064622">Το "<ph name="DELETED_ITEM_NAME" />" διαγράφηκε</translation>
 <translation id="7201420661433230412">Προβολή αρχείων</translation>
 <translation id="7203150201908454328">Ανεπτυγμένο</translation>
-<translation id="7203826966018112936">Η προσθήκη ενός σχολικού λογαριασμού σε ένα προφίλ επιτρέπει την εύκολη σύνδεση σε ιστοτόπους και επεκτάσεις ως μαθητής, ενώ εξακολουθούν να ισχύουν οι γονικοί έλεγχοι. Δεν δίνει στο παιδί πρόσβαση σε σελιδοδείκτες, κωδικούς πρόσβασης ή σε άλλα δεδομένα του προγράμματος περιήγησης που συγχρονίζονται με τον σχολικό λογαριασμό.&lt;br&gt;&lt;br&gt;
-    Αν το παιδί χρησιμοποιεί Chromebook στο σχολείο και θέλετε να αναπαράγετε τη σχολική εμπειρία στο σπίτι προκειμένου να διασφαλίσετε την πρόσβαση του παιδιού σε όλες τις απαραίτητες σχολικές εργασίες, αποσυνδεθείτε από αυτόν τον λογαριασμό Family Link και συνδεθείτε στον σχολικό λογαριασμό από τη σελίδα λογαριασμών του Chrome OS (σημείωση: Οι γονικοί έλεγχοι του Family Link δεν θα ισχύουν).&lt;br&gt;&lt;br&gt;
-    Αν το παιδί σας δεν χρησιμοποιεί Chromebook στο σχολείο ή αν προτιμάτε να διαχειρίζεστε εσείς την εμπειρία του παιδιού στο σπίτι χρησιμοποιώντας το Family Link, κάντε κλικ στο κουμπί Επόμενο παρακάτω, για να προσθέσετε έναν σχολικό λογαριασμό σε αυτό το προφίλ.</translation>
 <translation id="7206693748120342859">Γίνεται λήψη της προσθήκης <ph name="PLUGIN_NAME" />…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Έξοδος από τη σελίδα}other{Έξοδος από τις σελίδες}}</translation>
 <translation id="7207457272187520234">Αποστολή δεδομένων χρήσης και διαγνωστικών. Επί του παρόντος, αυτή η συσκευή στέλνει αυτόματα διαγνωστικά δεδομένα, δεδομένα συσκευής και χρήσης εφαρμογών στην Google. Με αυτόν τον τρόπο βελτιώνεται η σταθερότητα του συστήματος και των εφαρμογών και παρέχονται επιπλέον βελτιώσεις. Επίσης, ορισμένα συγκεντρωτικά δεδομένα θα συμβάλλουν στη βελτίωση των εφαρμογών Google και θα χρησιμοποιηθούν από συνεργάτες της Google, όπως τους προγραμματιστές Android, προκειμένου να βελτιώσουν τις εφαρμογές και τα προϊόντα τους. Αυτή η ρύθμιση επιβάλλεται από τον κάτοχο. Εάν η ρύθμιση της πρόσθετης Δραστηριότητας ιστού και εφαρμογών είναι ενεργοποιημένη, αυτά τα δεδομένα μπορεί να αποθηκευτούν στον Λογαριασμό σας Google.</translation>
@@ -5159,7 +5170,6 @@
 <translation id="7388044238629873883">Σχεδόν τελειώσατε!</translation>
 <translation id="7392118418926456391">Απέτυχε η σάρωση για ιούς</translation>
 <translation id="7392915005464253525">Ε&amp;παναφορά παραθύρου που έχει κλείσει</translation>
-<translation id="7393472013449507620">Δεν υποστηρίζονται πλέον ρυθμίσεις με χαρακτήρες μπαλαντέρ "*". Επικοινωνήστε με τον προγραμματιστή της επέκτασης ή τον διαχειριστή σας για <ph name="BEGIN_LINK" /> αλλαγή αυτών των ρυθμίσεων<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Οι κοινόχρηστοι φάκελοι θα εμφανίζονται εδώ.</translation>
 <translation id="7396845648024431313">Η εφαρμογή <ph name="APP_NAME" /> θα εκκινείται κατά την εκκίνηση του συστήματος και θα συνεχίζει να εκτελείται στο παρασκήνιο αφού πρώτα κλείσετε όλα τα υπόλοιπα παράθυρα του <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Προσαρμογή συγχρονισμού</translation>
@@ -5272,6 +5282,7 @@
 <translation id="7526989658317409655">Placeholder</translation>
 <translation id="7529411698175791732">Ελέγξτε τη σύνδεσή σας στο διαδίκτυο. Εάν το πρόβλημα παραμένει, δοκιμάστε να αποσυνδεθείτε και να συνδεθείτε ξανά.</translation>
 <translation id="7530016656428373557">Ρυθμός αποφόρτισης σε Watt</translation>
+<translation id="7531310913436731628">Η κάμερα έχει απενεργοποιηθεί στις προτιμήσεις συστήματος Mac</translation>
 <translation id="7531779363494549572">Μεταβείτε στις Ρυθμίσεις &gt; Εφαρμογές και ειδοποιήσεις &gt; Ειδοποιήσεις.</translation>
 <translation id="7532009420053991888">Η εφαρμογή <ph name="LINUX_APP_NAME" /> δεν αποκρίνεται. Για να κλείσετε την εφαρμογή, επιλέξτε Αναγκαστικό κλείσιμο.</translation>
 <translation id="7537451260744431038">Οι ιστότοποι δεν μπορούν να χρησιμοποιούν cookie για να βελτιώσουν την εμπειρία περιήγησής σας, για παράδειγμα, για να παραμείνετε συνδεδεμένοι ή να διατηρηθούν τα προϊόντα στο καλάθι αγορών σας.</translation>
@@ -5384,6 +5395,7 @@
 <translation id="767147716926917172">Στέλνει αυτόματα διαγνωστικά και δεδομένα χρήσης στην Google.</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" /> στη σελίδα <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Απενεργοποίηση όλων των θυρών που προωθούνται σε Linux</translation>
+<translation id="7674542105240814168">Η πρόσβαση τοποθεσίας απορρίφθηκε</translation>
 <translation id="7676867886086876795">Αποστολή της φωνής σας στην Google, ώστε να επιτρέπεται η υπαγόρευση σε οποιοδήποτε πεδίο κειμένου.</translation>
 <translation id="7678280409648629969">Τα δεδομένα σύνδεσης θα αποθηκευτούν στο Chrome αφού εξέλθετε από την κατάσταση ανώνυμης περιήγησης. Αυτό θα σας επιτρέψει να χρησιμοποιήσετε ξανά το Touch ID με αυτόν τον ιστότοπο αργότερα.</translation>
 <translation id="7680416688940118410">Βαθμονόμηση οθόνης αφής</translation>
@@ -5591,6 +5603,7 @@
 <translation id="790040513076446191">Διαχείριση ρυθμίσεων σχετικά με το απόρρητο</translation>
 <translation id="7903345046358933331">Η σελίδα δεν ανταποκρίνεται. Μπορείτε να περιμένετε μέχρι να ανταποκριθεί ή να την τερματίσετε.</translation>
 <translation id="7903742244674067440">Έχετε καταχωρίσει πιστοποιητικά που προσδιορίζουν αυτές τις αρχές έκδοσης πιστοποιητικών</translation>
+<translation id="7903859912536385558">σταθερό (έμπιστος υπεύθυνος δοκιμών)</translation>
 <translation id="7903925330883316394">Βοηθητικό πρόγραμμα: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Ο διαχειριστής αυτού του λογαριασμού δεν έχει επιτρέψει τις πολλαπλές συνδέσεις.</translation>
 <translation id="7904526211178107182">Κάντε τις θύρες Linux διαθέσιμες σε άλλες συσκευές στο δίκτυό σας.</translation>
@@ -5716,6 +5729,7 @@
 <translation id="8049705080247101012">Η Google έχει επισημάνει την επέκταση "<ph name="EXTENSION_NAME" />" ως κακόβουλη και η εγκατάσταση έχει εμποδιστεί</translation>
 <translation id="8049948037269924837">Αντίστροφη κύλιση επιφάνειας αφής</translation>
 <translation id="8050038245906040378">Microsoft Commercial Code Signing</translation>
+<translation id="8051390370038326517">Να επιτρέπεται πάντα ο πλήρης έλεγχος των συσκευών MIDI από το <ph name="HOST" />.</translation>
 <translation id="8053278772142718589">Αρχεία PKCS #12</translation>
 <translation id="8053390638574070785">Επαναφόρτωση αυτής της σελίδας</translation>
 <translation id="8054517699425078995">Αυτός ο τύπος αρχείου ενδέχεται να βλάψει τη συσκευή σας. Θέλετε να διατηρήσετε το αρχείο <ph name="FILE_NAME" /> ούτως ή άλλως;</translation>
@@ -5767,6 +5781,7 @@
 <translation id="810728361871746125">Ανάλυση οθόνης</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Δεν υπάρχουν cookie τρίτου μέρους}=1{Αποκλείστηκε 1 cookie τρίτου μέρους}other{Αποκλείστηκαν # cookie τρίτου μέρους}}</translation>
 <translation id="810875025413331850">Δεν βρέθηκαν κοντινές συσκευές.</translation>
+<translation id="8113476325385351118">Να συνεχιστεί ο αποκλεισμός αυτού του ιστοτόπου από τον πλήρη έλεγχο των συσκευών MIDI.</translation>
 <translation id="8114199541033039755">Πλοήγηση στην αρχική οθόνη, μετάβαση πίσω και εναλλαγή εφαρμογών με τα κουμπιά σε λειτουργία tablet. Ενεργοποιημένο όταν έχει ενεργοποιηθεί το ChromeVox ή τα αυτόματα κλικ.</translation>
 <translation id="8114875720387900039">Οριζόντιος διαχωρισμός</translation>
 <translation id="8116972784401310538">&amp;Διαχείριση σελιδοδεικτών</translation>
@@ -6052,7 +6067,6 @@
 <translation id="8470513973197838199">Αποθηκευμένοι κωδικοί πρόσβασης για το <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">υποστηριζόμενο από υλικό</translation>
 <translation id="8473863474539038330">Διευθύνσεις και άλλα</translation>
-<translation id="8474733733775441349">Εμφάνιση κωδικών πρόσβασης από τον Λογαριασμό σας Google</translation>
 <translation id="8475313423285172237">Κάποιο άλλο πρόγραμμα στον υπολογιστή σας πρόσθεσε μια επέκταση, η οποία ενδέχεται να αλλάξει τον τρόπο λειτουργίας του Chrome.</translation>
 <translation id="8477241577829954800">Αντικαταστάθηκε</translation>
 <translation id="8477384620836102176">&amp;Γενικά</translation>
@@ -6135,6 +6149,7 @@
 <translation id="8590375307970699841">Ρύθμιση αυτόματων ενημερώσεων</translation>
 <translation id="8591783563402255548">1 δευτερόλεπτο</translation>
 <translation id="8592141010104017453">Να μην εμφανίζονται ειδοποιήσεις</translation>
+<translation id="859246725979739260">Η πρόσβαση αυτού του ιστοτόπου στην τοποθεσία σας έχει αποκλειστεί.</translation>
 <translation id="8593121833493516339">Αποστολή δεδομένων χρήσης και διαγνωστικών. Συμβάλλετε στη βελτίωση της εμπειρίας Android του παιδιού σας με την αυτόματη αποστολή διαγνωστικών δεδομένων και δεδομένων συσκευής και χρήσης εφαρμογών στην Google. Αυτά τα δεδομένα δεν θα χρησιμοποιηθούν για την ταυτοποίηση του παιδιού σας και θα βοηθήσουν με τη σταθερότητα του συστήματος και των εφαρμογών και την παροχή άλλων βελτιώσεων. Ορισμένα συγκεντρωτικά δεδομένα θα βοηθήσουν επίσης τις εφαρμογές και τους συνεργάτες της Google, όπως τους προγραμματιστές Android. Εάν είναι ενεργή η πρόσθετη Δραστηριότητα ιστού και εφαρμογών για το παιδί σας, αυτά τα δεδομένα μπορεί να αποθηκευτούν στον Λογαριασμό του Google. <ph name="BEGIN_LINK1" />Μάθετε περισσότερα<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Λήψη βίντεο</translation>
 <translation id="8596540852772265699">Προσαρμοσμένα αρχεία</translation>
@@ -6147,6 +6162,7 @@
 <translation id="860909219589324847">Να μην χρησιμοποιούνται ποτέ δεδομένα κινητής τηλεφωνίας για τη μεταφορά.</translation>
 <translation id="8609465669617005112">Μετακίνηση προς τα επάνω</translation>
 <translation id="8610103157987623234">Λανθασμένη μορφή, δοκιμάστε ξανά</translation>
+<translation id="8611682088849615761">Να συνεχίσει να επιτρέπεται σε αυτόν τον ιστότοπο ο πλήρης έλεγχος των συσκευών MIDI.</translation>
 <translation id="8613164732773110792">Πεζοί χαρακτήρες, ψηφία, σύμβολα υπογράμμισης ή μόνο παύλες</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" />Το αρχείο είναι πολύ μεγάλο για έλεγχο ασφάλειας. Μπορείτε να ανοίξετε αρχεία μεγέθους έως και 50 MB.</translation>
 <translation id="8615618338313291042">Εφαρμογή ανώνυμης περιήγησης: <ph name="APP_NAME" /></translation>
@@ -6287,6 +6303,7 @@
 <translation id="8761945298804995673">Αυτός ο χρήστης υπάρχει ήδη</translation>
 <translation id="8762886931014513155">Η συσκευή <ph name="DEVICE_TYPE" /> χρειάζεται ενημέρωση</translation>
 <translation id="8763927697961133303">Συσκευή USB</translation>
+<translation id="87646919272181953">Λεύκωμα Φωτογραφιών Google</translation>
 <translation id="8767621466733104912">Αυτόματη ενημέρωση του Chrome για όλους τους χρήστες</translation>
 <translation id="8770406935328356739">Κατάλογος ρίζας επέκτασης</translation>
 <translation id="8770507190024617908">Διαχείριση ατόμων</translation>
@@ -6603,6 +6620,7 @@
 <translation id="9147392381910171771">&amp;Επιλογές</translation>
 <translation id="9148058034647219655">Έξοδος</translation>
 <translation id="9148126808321036104">Συνδεθείτε ξανά</translation>
+<translation id="9148963623915467028">Ο ιστότοπος έχει πρόσβαση στην τοποθεσία σας.</translation>
 <translation id="9149866541089851383">Επεξεργασία...</translation>
 <translation id="9150045010208374699">Χρήση της κάμεράς σας</translation>
 <translation id="9153934054460603056">Αποθήκευση ταυτότητας και κωδικού πρόσβασης</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index 4365c0df..1ca4e34 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Encipher Only</translation>
 <translation id="1038462104119736705">At least <ph name="INSTALL_SIZE" /> of space is recommended for Linux. To increase free space, delete files from your device.</translation>
 <translation id="1039337018183941703">Invalid or corrupt file</translation>
-<translation id="104086161873270383">New Profile</translation>
 <translation id="1041175011127912238">This page isn't responding</translation>
 <translation id="1041263367839475438">Available devices</translation>
 <translation id="1042174272890264476">Your computer also comes with <ph name="SHORT_PRODUCT_NAME" />'s RLZ library built in. RLZ assigns a non-unique, non-personally identifiable tag to measure the searches and <ph name="SHORT_PRODUCT_NAME" /> usage driven by a particular promotional campaign. These labels sometimes appear in Google Search queries in <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">This setting is enforced by the '<ph name="NAME" />' extension.</translation>
 <translation id="1118738876271697201">The system failed to determine device model or serial number.</translation>
 <translation id="1119447706177454957">Internal error</translation>
+<translation id="1122068467107743258">Work</translation>
 <translation id="1122198203221319518">&amp;Tools</translation>
 <translation id="1122242684574577509">Authentication failed. Click to visit the login page for the Wi-Fi network you are using (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Bookmark name</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Manage apps</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – Part of group <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Open in incognito window</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> of <ph name="EMOJI_COUNT" />.</translation>
 <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="1137673463384776352">Open link in <ph name="APP" /></translation>
 <translation id="1139343347646843679">There was an error while configuring Linux. Please contact your administrator.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> sub-page back button</translation>
 <translation id="1322046419516468189">View and manage saved passwords in your <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Safeguards the personal Google Accounts of anyone at risk of targeted attacks</translation>
-<translation id="1325985428688410772">Add space</translation>
 <translation id="1326317727527857210">To get your tabs from your other devices, sign in to Chrome.</translation>
 <translation id="1327074568633507428">Printer on Google Cloud Print</translation>
 <translation id="1327272175893960498">Kerberos tickets</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Enter your email</translation>
 <translation id="1576594961618857597">Default white avatar</translation>
 <translation id="1578558981922970608">Force close</translation>
+<translation id="1578784163189013834">Choose screensaver background</translation>
 <translation id="1580772913177567930">Contact your administrator</translation>
 <translation id="1581962803218266616">Show in Finder</translation>
 <translation id="1582955169539260415">delete [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">Password check is not available in Chromium</translation>
 <translation id="1871534214638631766">Show related info when you right-click or long press on content</translation>
 <translation id="1871615898038944731">Your <ph name="DEVICE_TYPE" /> is up to date</translation>
-<translation id="1874835396235780806">Save this and other passwords in your Google Account?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Move tab to another window}other{Move tabs to another window}}</translation>
 <translation id="1875386316419689002">This tab is connected to a HID device.</translation>
 <translation id="1875387611427697908">This can only be added from the <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420">Network <ph name="NETWORK_INDEX" /> of <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, connect</translation>
 <translation id="1884705339276589024">Resize Linux disk</translation>
 <translation id="1885106732301550621">Disk space</translation>
-<translation id="1885190042244431215">Adding a school account enables easy sign-in to websites and extensions as a student while still operating under parental controls.</translation>
 <translation id="1886996562706621347">Allow sites to ask to become default handlers for protocols (recommended)</translation>
 <translation id="1887442540531652736">Sign-In Error</translation>
 <translation id="1887597546629269384">Say "Hey Google" again</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">Use of Hangouts and Cast for Education is governed by the Google Privacy Policy.</translation>
 <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Error loading data</translation>
+<translation id="2349610121459545414">Continue allowing this site to access your location</translation>
 <translation id="2349896577940037438">If your additional Web &amp; App Activity setting is turned on, this data may be saved to your Google Account. You can see your data, delete it and change your account settings at account.google.com.</translation>
 <translation id="2350133097354918058">Reloaded</translation>
 <translation id="2350182423316644347">Initialising application...</translation>
@@ -1232,6 +1232,7 @@
 <translation id="247051149076336810">File share URL</translation>
 <translation id="2470702053775288986">Unsupported extensions disabled</translation>
 <translation id="2471469610750100598">Black (default)</translation>
+<translation id="2471506181342525583">Location access allowed</translation>
 <translation id="2473195200299095979">Translate this page</translation>
 <translation id="2475982808118771221">An error occurred</translation>
 <translation id="2476578072172137802">Site settings</translation>
@@ -1243,6 +1244,7 @@
 <translation id="2482878487686419369">Notifications</translation>
 <translation id="2484959914739448251">To clear browsing data from all of your synced devices and your Google Account, <ph name="BEGIN_LINK" />enter your passphrase<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Password saved on this device</translation>
+<translation id="2485394160472549611">Top picks for you</translation>
 <translation id="2485422356828889247">Uninstall</translation>
 <translation id="2487067538648443797">Add new bookmark</translation>
 <translation id="2487268545026948104">To restore your data, connect to the Internet</translation>
@@ -1624,6 +1626,7 @@
 <translation id="2932483646085333864">Sign out then sign in again to start sync</translation>
 <translation id="2932883381142163287">Report abuse</translation>
 <translation id="2933632078076743449">Last update</translation>
+<translation id="2934999512438267372">Full control of MIDI devices allowed</translation>
 <translation id="2936851848721175671">Backup &amp; restore</translation>
 <translation id="2938225289965773019">Open <ph name="PROTOCOL" /> links</translation>
 <translation id="2938845886082362843">View and delete sign-in data stored on your security key</translation>
@@ -1739,6 +1742,7 @@
 <translation id="3083193146044397360">Temporarily blocked to protect your security</translation>
 <translation id="3084548735795614657">Drop to install</translation>
 <translation id="3084771660770137092">Either Chrome ran out of memory or the process for the web page was terminated for some other reason. To continue, reload or go to another page.</translation>
+<translation id="3084958266922136097">Disable screensaver</translation>
 <translation id="3085412380278336437">Site can use your camera</translation>
 <translation id="3085752524577180175">SOCKS Host</translation>
 <translation id="3088052000289932193">Site is using MIDI</translation>
@@ -1935,6 +1939,7 @@
 <translation id="3345886924813989455">No supported browser found</translation>
 <translation id="3347086966102161372">C&amp;opy image address</translation>
 <translation id="3348038390189153836">Removable device detected</translation>
+<translation id="3348131053948466246">Emoji suggested. Press up or down to navigate, and enter to insert.</translation>
 <translation id="3349933790966648062">Memory footprint</translation>
 <translation id="3355936511340229503">Connection error</translation>
 <translation id="3356580349448036450">Complete</translation>
@@ -1970,6 +1975,7 @@
 <translation id="3402585168444815892">Enrolling in demo mode</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">No passwords saved for this site</translation>
+<translation id="3404249063913988450">Enable screensaver</translation>
 <translation id="3405664148539009465">Customise fonts</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Show bookmarks bar</translation>
@@ -2200,7 +2206,6 @@
 <translation id="3654045516529121250">Read your accessibility settings</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{It has permanent access to one file.}other{It has permanent access to # files.}}</translation>
 <translation id="3660234220361471169">Untrusted</translation>
-<translation id="3661172646479098821">Only Android devices are currently supported.</translation>
 <translation id="3664511988987167893">Extension Icon</translation>
 <translation id="3665589677786828986">Chrome detected that some of your settings were corrupted by another program and reset them to their original defaults.</translation>
 <translation id="3668801437375206837">To better diagnose Bluetooth issues, Googlers can include additional Bluetooth logs with their feedback reports. When this option is ticked, your report will include btsnoop and HCI logs from your current session, sanitised to remove as much PII as possible. Access to these logs will be restricted to managers of the Chrome OS product group in Listnr. Logs will be purged after 90 days.</translation>
@@ -2510,6 +2515,7 @@
 <translation id="3984159763196946143">Couldn't start demo mode</translation>
 <translation id="3984431586879874039">Allow this site to see your security key?</translation>
 <translation id="3986705137476756801">Turn off Live Caption for now</translation>
+<translation id="3987544746655539083">Continue blocking this site from accessing your location</translation>
 <translation id="3987938432087324095">Sorry, didn't catch that.</translation>
 <translation id="3988996860813292272">Select Time Zone</translation>
 <translation id="399179161741278232">Imported</translation>
@@ -2575,6 +2581,7 @@
 <translation id="4087089424473531098">Created the extension:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Full control of MIDI devices denied</translation>
 <translation id="4088095054444612037">Accept for group</translation>
 <translation id="4089235344645910861">Settings saved. Sync started.</translation>
 <translation id="4090103403438682346">Enable Verified Access</translation>
@@ -2655,6 +2662,7 @@
 <translation id="4200689466366162458">Customised words</translation>
 <translation id="4200983522494130825">New &amp;tab</translation>
 <translation id="4201546031411513170">You can always choose what to sync in settings.</translation>
+<translation id="420283545744377356">Turn off screensaver</translation>
 <translation id="4206144641569145248">Alien</translation>
 <translation id="4206323443866416204">Feedback Report</translation>
 <translation id="4208390505124702064">Search <ph name="SITE_NAME" /></translation>
@@ -2753,6 +2761,7 @@
 <translation id="4348766275249686434">Collect errors</translation>
 <translation id="4349828822184870497">Helpful</translation>
 <translation id="4350019051035968019">This device cannot be enrolled to the domain that your account belongs to because the device is marked for management by a different domain.</translation>
+<translation id="4350230709416545141">Always block <ph name="HOST" /> from accessing your location</translation>
 <translation id="4350782034419308508">Hey Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> wants to scan for nearby Bluetooth devices. The following devices have been found:</translation>
 <translation id="4354073718307267720">Ask when a site wants to create a 3D map of your surroundings or track camera position</translation>
@@ -2772,6 +2781,7 @@
 <translation id="4370975561335139969">The email and password that you entered don't match.</translation>
 <translation id="4374831787438678295">Linux installer</translation>
 <translation id="4375035964737468845">Open downloaded files</translation>
+<translation id="4376226992615520204">Location turned off</translation>
 <translation id="4377363674125277448">There was a problem with server's certificate.</translation>
 <translation id="4378154925671717803">Phone</translation>
 <translation id="4378373042927530923">Not run</translation>
@@ -2971,7 +2981,6 @@
 <translation id="4619615317237390068">Tabs from other devices</translation>
 <translation id="4620809267248568679">This setting is enforced by an extension.</translation>
 <translation id="4623189117674524348">The system failed to authorise API access for this device.</translation>
-<translation id="4624190781974168453">Ask on startup</translation>
 <translation id="4625078469366263107">Enable App</translation>
 <translation id="4627427111733173920">Cookies blocked</translation>
 <translation id="4627442949885028695">Continue from another device</translation>
@@ -3401,7 +3410,6 @@
 <translation id="5185386675596372454">The newest version of "<ph name="EXTENSION_NAME" />" has been disabled because it requires more permissions.</translation>
 <translation id="5185500136143151980">No Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Options menu for <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Activate port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> wants to download multiple files</translation>
 <translation id="5192062846343383368">Open the Family Link app to see your supervision settings</translation>
@@ -3594,6 +3602,7 @@
 <translation id="5431825016875453137">OpenVPN / L2TP</translation>
 <translation id="543338862236136125">Edit password</translation>
 <translation id="5434065355175441495">PKCS #1 RSA Encryption</translation>
+<translation id="5435779377906857208">Always allow <ph name="HOST" /> to access your location</translation>
 <translation id="5436492226391861498">Waiting for proxy tunnel...</translation>
 <translation id="5436510242972373446">Search <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Please save your files and create a new account now.</translation>
@@ -3777,6 +3786,7 @@
 <translation id="5642508497713047">CRL Signer</translation>
 <translation id="5643321261065707929">Metered network</translation>
 <translation id="5643620609347735571">Clear and continue</translation>
+<translation id="5646376287012673985">Location</translation>
 <translation id="5646558797914161501">Businessman</translation>
 <translation id="5648166631817621825">Last 7 days</translation>
 <translation id="5649053991847567735">Automatic downloads</translation>
@@ -3820,6 +3830,7 @@
 <translation id="5701212929149679556">Mobile roaming</translation>
 <translation id="5701381305118179107">Centre</translation>
 <translation id="5701441174893770082">Upgrading Linux can drain your battery significantly. Please connect your device to a charger and try again.</translation>
+<translation id="5702749864074810610">Suggestion dismissed</translation>
 <translation id="5702898740348134351">&amp;Edit Search Engines...</translation>
 <translation id="5704875434923668958">Syncing to</translation>
 <translation id="5705005699929844214">Always show accessibility options</translation>
@@ -3940,6 +3951,7 @@
 <translation id="5857090052475505287">New Folder</translation>
 <translation id="5857171483910641802">Shortcuts are suggested based on websites that you visit often</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Art gallery album</translation>
 <translation id="585979798156957858">External Meta</translation>
 <translation id="5860033963881614850">Off</translation>
 <translation id="5860491529813859533">Turn on</translation>
@@ -4325,6 +4337,7 @@
 <translation id="6318125393809743217">Include a policies.json file with policy configurations.</translation>
 <translation id="6318407754858604988">Download started</translation>
 <translation id="6318944945640833942">Couldn't detect a printer. Please enter printer address again.</translation>
+<translation id="6321407676395378991">Turn on screensaver</translation>
 <translation id="6322653941595359182">Send and receive text messages from your Chromebook</translation>
 <translation id="6324916366299863871">Edit shortcut</translation>
 <translation id="6325191661371220117">Disable auto-launch</translation>
@@ -4483,7 +4496,6 @@
 <translation id="6531282281159901044">Keep dangerous file</translation>
 <translation id="6532101170117367231">Save to Google Drive</translation>
 <translation id="6532106788206463496">Save changes</translation>
-<translation id="6532113437901537254">Your passwords from your Google Account will also be available on this device while you're signed in</translation>
 <translation id="6532206849875187177">Security and sign-in</translation>
 <translation id="6532527800157340614">Sign-in failed because your access token could not be retrieved. Please check your network connection and try again.</translation>
 <translation id="6532663472409656417">Enterprise enrolled</translation>
@@ -4505,6 +4517,7 @@
 <translation id="6555432686520421228">Remove all user accounts and reset your <ph name="IDS_SHORT_PRODUCT_NAME" /> device to be just like new.</translation>
 <translation id="6555810572223193255">Cleanup is currently unavailable</translation>
 <translation id="6556866813142980365">Redo</translation>
+<translation id="6556903358015358733">Theme and wallpaper</translation>
 <translation id="6557290421156335491">My shortcuts</translation>
 <translation id="6561560012278703671">Use quieter messaging (blocks notification prompts from interrupting you)</translation>
 <translation id="6561726789132298588">enter</translation>
@@ -4528,6 +4541,7 @@
 <translation id="6590458744723262880">Rename folder</translation>
 <translation id="6592267180249644460">WebRTC log captured <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Your fingerprint was captured</translation>
+<translation id="6595187330192059106">Always block <ph name="HOST" /> from having full control of MIDI devices.</translation>
 <translation id="6596325263575161958">Encryption options</translation>
 <translation id="6596816719288285829">IP Address</translation>
 <translation id="6597017209724497268">Samples</translation>
@@ -5013,9 +5027,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' deleted</translation>
 <translation id="7201420661433230412">View files</translation>
 <translation id="7203150201908454328">Expanded</translation>
-<translation id="7203826966018112936">Adding a school account to a profile enables easy sign-in to websites and extensions as a student while operating under parental controls. It does not give a child access to bookmarks, passwords or other browser data synced with the school account.&lt;br&gt;&lt;br&gt;
-    If your child uses a Chromebook in school and you wish to mirror the school experience at home to ensure that your child has access to all necessary schoolwork, please sign out of this Family Link account and sign in to the school account from the Chrome OS accounts page (note: Family Link parental controls will not apply).&lt;br&gt;&lt;br&gt;
-    If your child does not use a Chromebook in school or if you prefer to manage your child’s experience at home using Family Link, please click the Next button below to add a school account to this profile.</translation>
 <translation id="7206693748120342859">Downloading <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Exit page}other{Exit pages}}</translation>
 <translation id="7207457272187520234">Send usage and diagnostic data. This device is currently automatically sending diagnostic, device and app usage data to Google. This will help system and app stability and other improvements. Some aggregate data will also help Google apps and partners, such as Android developers. This setting is enforced by the owner. If your additional Web &amp; App Activity setting is turned on, this data may be saved to your Google Account.</translation>
@@ -5158,7 +5169,6 @@
 <translation id="7388044238629873883">You've almost finished!</translation>
 <translation id="7392118418926456391">Virus scan failed</translation>
 <translation id="7392915005464253525">R&amp;eopen closed window</translation>
-<translation id="7393472013449507620">Settings with '*' wildcards are no longer supported. Contact the extension developer or your administrator to <ph name="BEGIN_LINK" /> change these settings<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Shared folders will appear here</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> will launch at system startup and continue to run in the background, even once you've closed all other <ph name="PRODUCT_NAME" /> windows.</translation>
 <translation id="7399045143794278225">Customise sync</translation>
@@ -5271,6 +5281,7 @@
 <translation id="7526989658317409655">Placeholder</translation>
 <translation id="7529411698175791732">Check your Internet connection. If the problem continues, try signing out and signing in again.</translation>
 <translation id="7530016656428373557">Discharge Rate in Watts</translation>
+<translation id="7531310913436731628">Location is turned off in Mac system preferences</translation>
 <translation id="7531779363494549572">Go to Settings &gt; Apps &amp; notifications &gt; Notifications.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> is not responding. Select 'Force close' to close the app.</translation>
 <translation id="7537451260744431038">Sites can't use cookies to improve your browsing experience, for example to keep you signed in or to remember items in your shopping basket</translation>
@@ -5383,6 +5394,7 @@
 <translation id="767147716926917172">Automatically sends diagnostic and usage data to Google</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, in <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Deactivate all ports being forwarded in Linux</translation>
+<translation id="7674542105240814168">Location access denied</translation>
 <translation id="7676867886086876795">Send your voice to Google to allow dictation into any text field.</translation>
 <translation id="7678280409648629969">Sign-in data will be stored in Chrome after you exit Incognito mode. This will let you use Touch ID with this website again later.</translation>
 <translation id="7680416688940118410">Touchscreen calibration</translation>
@@ -5590,6 +5602,7 @@
 <translation id="790040513076446191">Manipulate privacy-related settings</translation>
 <translation id="7903345046358933331">The page has become unresponsive. You can wait for it to become responsive or close it.</translation>
 <translation id="7903742244674067440">You have certificates on file that identify these certificate authorities</translation>
+<translation id="7903859912536385558">stable (trusted tester)</translation>
 <translation id="7903925330883316394">Utility: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">The administrator for this account has disallowed multiple sign-in.</translation>
 <translation id="7904526211178107182">Make Linux ports available to other devices on your network.</translation>
@@ -5715,6 +5728,7 @@
 <translation id="8049705080247101012">Google has flagged '<ph name="EXTENSION_NAME" />' as malicious, and installation has been prevented</translation>
 <translation id="8049948037269924837">Touchpad reverse scrolling</translation>
 <translation id="8050038245906040378">Microsoft Commercial Code Signing</translation>
+<translation id="8051390370038326517">Always allow <ph name="HOST" /> to have full control of MIDI devices</translation>
 <translation id="8053278772142718589">PKCS No.12 Files</translation>
 <translation id="8053390638574070785">Reload This Page</translation>
 <translation id="8054517699425078995">This type of file can harm your device. Do you want to keep <ph name="FILE_NAME" /> anyway?</translation>
@@ -5766,6 +5780,7 @@
 <translation id="810728361871746125">Display resolution</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{No third-party cookies}=1{1 third-party cookie is blocked}other{# third-party cookies are blocked}}</translation>
 <translation id="810875025413331850">No nearby devices found.</translation>
+<translation id="8113476325385351118">Continue blocking this site from having full control of MIDI devices</translation>
 <translation id="8114199541033039755">Navigate home or back and switch apps with buttons in tablet mode. Turned on when ChromeVox or automatic clicks is enabled.</translation>
 <translation id="8114875720387900039">Split horizontal</translation>
 <translation id="8116972784401310538">&amp;Bookmark manager</translation>
@@ -6051,7 +6066,6 @@
 <translation id="8470513973197838199">Saved passwords for <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">hardware-backed</translation>
 <translation id="8473863474539038330">Addresses and more</translation>
-<translation id="8474733733775441349">Show passwords from your Google Account</translation>
 <translation id="8475313423285172237">Another programme on your computer added an extension that may change the way Chrome works.</translation>
 <translation id="8477241577829954800">Superseded</translation>
 <translation id="8477384620836102176">&amp;General</translation>
@@ -6134,6 +6148,7 @@
 <translation id="8590375307970699841">Set up automatic updates</translation>
 <translation id="8591783563402255548">1 second</translation>
 <translation id="8592141010104017453">Don't show notifications at all</translation>
+<translation id="859246725979739260">This site has been blocked from accessing your location.</translation>
 <translation id="8593121833493516339">Send usage and diagnostic data. Help improve your child's Android experience by automatically sending diagnostic, device and app usage data to Google. This won't be used to identify your child, and will help system and app stability and other improvements. Some aggregate data will also help Google apps and partners, such as Android developers. If additional Web &amp; App Activity is turned on for your child, this data may be saved to their Google Account. <ph name="BEGIN_LINK1" />Find out more<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Capture video</translation>
 <translation id="8596540852772265699">Customised Files</translation>
@@ -6146,6 +6161,7 @@
 <translation id="860909219589324847">Never use data to transfer</translation>
 <translation id="8609465669617005112">Move up</translation>
 <translation id="8610103157987623234">Incorrect format, please try again</translation>
+<translation id="8611682088849615761">Continue allowing this site to have full control of MIDI devices</translation>
 <translation id="8613164732773110792">Lowercase characters, digits, underscores or dashes only</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> is too big for a security check. You can open files up to 50 MB.</translation>
 <translation id="8615618338313291042">Incognito App: <ph name="APP_NAME" /></translation>
@@ -6288,6 +6304,7 @@
 <translation id="8761945298804995673">This user already exists</translation>
 <translation id="8762886931014513155">Your <ph name="DEVICE_TYPE" /> needs an update</translation>
 <translation id="8763927697961133303">USB device</translation>
+<translation id="87646919272181953">Google Photos album</translation>
 <translation id="8767621466733104912">Automatically update Chrome for all users</translation>
 <translation id="8770406935328356739">Extension root directory</translation>
 <translation id="8770507190024617908">Manage People</translation>
@@ -6604,6 +6621,7 @@
 <translation id="9147392381910171771">&amp;Options</translation>
 <translation id="9148058034647219655">Exit</translation>
 <translation id="9148126808321036104">Sign in again</translation>
+<translation id="9148963623915467028">This site can access your location.</translation>
 <translation id="9149866541089851383">Edit...</translation>
 <translation id="9150045010208374699">Use your camera</translation>
 <translation id="9153934054460603056">Save identity and password</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index 732487d..6d622a7 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -3,7 +3,7 @@
 <translationbundle lang="es-419">
 <translation id="1001307489511021749">Se sincronizarán tus apps, opciones de configuración y otras personalizaciones en todos los dispositivos con el Sistema operativo Chrome a los que hayas accedido con tu Cuenta de Google.</translation>
 <translation id="1003088604756913841">Abrir vínculo en una ventana nueva de <ph name="APP" /></translation>
-<translation id="1003363546227723021">Cuando la pantalla está inactiva, muestra fotos, la hora, información de los medios y el clima</translation>
+<translation id="1003363546227723021">Cuando la pantalla está inactiva, muestra fotos, la hora, el tiempo e información multimedia</translation>
 <translation id="1004218526896219317">Acceso al sitio</translation>
 <translation id="1005274289863221750">Usar tu micrófono y tu cámara</translation>
 <translation id="1005333234656240382">¿Quieres habilitar la depuración de adb?</translation>
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Sólo cifrar</translation>
 <translation id="1038462104119736705">Se recomienda tener al menos <ph name="INSTALL_SIZE" /> de espacio para Linux. Si necesitas liberar espacio, borra archivos del dispositivo.</translation>
 <translation id="1039337018183941703">Archivo no válido o dañado</translation>
-<translation id="104086161873270383">Nuevo perfil</translation>
 <translation id="1041175011127912238">Esta página no responde</translation>
 <translation id="1041263367839475438">Dispositivos disponibles</translation>
 <translation id="1042174272890264476">Tu computadora también tiene la biblioteca RLZ de <ph name="SHORT_PRODUCT_NAME" /> incorporada. RLZ asigna una etiqueta identificable, no exclusiva y no personal para medir las búsquedas y el uso de <ph name="SHORT_PRODUCT_NAME" /> impulsados por una determinada campaña de promoción. Estas etiquetas aparecen a veces en las consultas de la Búsqueda de Google en <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Botón para volver de la subpágina <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Consulta y administra las contraseñas guardadas en tu <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Protege las cuentas personales de Google de los usuarios que estén en riesgo de sufrir ataques dirigidos</translation>
-<translation id="1325985428688410772">Agregar espacio</translation>
 <translation id="1326317727527857210">Accede a Chrome para obtener las pestañas de tus otros dispositivos.</translation>
 <translation id="1327074568633507428">Impresora en Google Cloud Print</translation>
 <translation id="1327272175893960498">Tickets de Kerberos</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">La revisión de contraseña no está disponible en Chromium</translation>
 <translation id="1871534214638631766">Muestra información relacionada cuando haces clic con el botón derecho o cuando mantienes presionado el contenido</translation>
 <translation id="1871615898038944731">Tu <ph name="DEVICE_TYPE" /> está actualizado</translation>
-<translation id="1874835396235780806">¿Quieres guardar esta y otras contraseñas en tu Cuenta de Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Mover la pestaña a otra ventana}other{Mover las pestañas a otra ventana}}</translation>
 <translation id="1875386316419689002">Esta pestaña está conectada a un dispositivo HID.</translation>
 <translation id="1875387611427697908">Este elemento se puede agregar solamente desde <ph name="CHROME_WEB_STORE" /></translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, conectar</translation>
 <translation id="1884705339276589024">Cambiar el tamaño del disco de Linux</translation>
 <translation id="1885106732301550621">Espacio del disco</translation>
-<translation id="1885190042244431215">Si agregas la cuenta de una institución educativa, el estudiante podrá acceder fácilmente a sitios web y extensiones, mientras se siguen aplicando los controles parentales.</translation>
 <translation id="1886996562706621347">Permitir que los sitios web soliciten convertirse en controladores predeterminados de protocolos (recomendado)</translation>
 <translation id="1887442540531652736">Error de acceso</translation>
 <translation id="1887597546629269384">Di "Ok Google" nuevamente</translation>
@@ -2197,7 +2193,6 @@
 <translation id="3654045516529121250">Leer la configuración de accesibilidad</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Tiene acceso permanente a un archivo.}other{Tiene acceso permanente a # archivos.}}</translation>
 <translation id="3660234220361471169">No es de confianza</translation>
-<translation id="3661172646479098821">Solo son compatibles dispositivos Android.</translation>
 <translation id="3664511988987167893">Ícono de extensión</translation>
 <translation id="3665589677786828986">Chrome detectó que otro programa dañó algunas opciones de configuración, por lo que la restableció a los valores predeterminados.</translation>
 <translation id="3668801437375206837">Para diagnosticar mejor los problemas de Bluetooth, los empleados de Google pueden incluir registros de Bluetooth adicionales en sus informes de respuesta. Si se selecciona esta opción, tu informe incluirá registros de btsnoop y HCI de tu sesión actual editados para quitar la mayor cantidad posible de información de identificación personal. Solo los gerentes del grupo del producto Sistema operativo Chrome tienen acceso a estos registros en Listnr. Los registros se borrarán definitivamente después de 90 días.</translation>
@@ -2769,6 +2764,7 @@
 <translation id="4370975561335139969">El correo electrónico y la contraseña que ingresaste no coinciden.</translation>
 <translation id="4374831787438678295">Instalador de Linux</translation>
 <translation id="4375035964737468845">Abrir archivos descargados</translation>
+<translation id="4376226992615520204">Ubicación desactivada</translation>
 <translation id="4377363674125277448">Se produjo un error con el certificado del servidor.</translation>
 <translation id="4378154925671717803">Teléfono</translation>
 <translation id="4378373042927530923">No se ejecutó la rutina</translation>
@@ -2968,7 +2964,6 @@
 <translation id="4619615317237390068">Pestañas de otros dispositivos</translation>
 <translation id="4620809267248568679">Una extensión administra esta configuración.</translation>
 <translation id="4623189117674524348">El sistema no pudo autorizar el acceso a la API para este dispositivo.</translation>
-<translation id="4624190781974168453">Preguntar al iniciar</translation>
 <translation id="4625078469366263107">Habilitar app</translation>
 <translation id="4627427111733173920">Se bloquearon cookies</translation>
 <translation id="4627442949885028695">Cómo continuar desde otro dispositivo</translation>
@@ -3398,7 +3393,6 @@
 <translation id="5185386675596372454">Se ha desactivado la versión más reciente de "<ph name="EXTENSION_NAME" />" porque requiere más permisos.</translation>
 <translation id="5185500136143151980">No hay conexión a Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menú de opciones de <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Activar puerto</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> quiere descargar varios archivos</translation>
 <translation id="5192062846343383368">Abre la app de Family Link para administrar la supervisión</translation>
@@ -3774,6 +3768,7 @@
 <translation id="5642508497713047">Firmante de la CRL</translation>
 <translation id="5643321261065707929">Red de uso medido</translation>
 <translation id="5643620609347735571">Borrar y continuar</translation>
+<translation id="5646376287012673985">Ubicación</translation>
 <translation id="5646558797914161501">Empresario</translation>
 <translation id="5648166631817621825">Últimos 7 días</translation>
 <translation id="5649053991847567735">Descargas automáticas</translation>
@@ -4480,7 +4475,6 @@
 <translation id="6531282281159901044">Conservar archivo peligroso</translation>
 <translation id="6532101170117367231">Guardar en Google Drive</translation>
 <translation id="6532106788206463496">Guardar cambios</translation>
-<translation id="6532113437901537254">Las contraseñas de tu Cuenta de Google también estarán disponibles en este dispositivo cuando accedas</translation>
 <translation id="6532206849875187177">Seguridad y acceso</translation>
 <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>
@@ -5010,9 +5004,6 @@
 <translation id="7201118060536064622">Se borró "<ph name="DELETED_ITEM_NAME" />"</translation>
 <translation id="7201420661433230412">Ver archivos</translation>
 <translation id="7203150201908454328">Expandido</translation>
-<translation id="7203826966018112936">Si agregas la cuenta de una institución educativa, el estudiante podrá acceder fácilmente a sitios web y extensiones, mientras se siguen aplicando los controles parentales. No podrá acceder a los favoritos, las contraseñas y otros datos del navegador que se sincronizan con la cuenta de la institución educativa.&lt;br&gt;&lt;br&gt;
-    Si tu hijo usa una Chromebook en la institución educativa y deseas replicar la misma experiencia en el hogar para asegurarte de que tiene acceso a todos los materiales necesarios, sal de esta cuenta de Family Link y accede a la cuenta de la institución educativa desde la página de cuentas del Sistema operativo Chrome (nota: No se aplicarán los controles parentales de Family Link).&lt;br&gt;&lt;br&gt;
-    Si tu hijo no usa una Chromebook en la institución educativa o prefieres administrar su experiencia en el hogar con Family Link, haz clic en el botón Siguiente que se encuentra a continuación para agregar una cuenta de una institución educativa a este perfil.</translation>
 <translation id="7206693748120342859">Descargando <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Salir de la página}other{Salir de las páginas}}</translation>
 <translation id="7207457272187520234">Envía datos de uso y diagnóstico. De forma automática, este dispositivo está enviando a Google datos de diagnóstico y sobre el uso del dispositivo y las apps. Esta información ayudará a lograr la estabilidad de las apps y el sistema, entre otras mejoras. Algunos datos agregados también ayudarán a las apps y los socios de Google, como los desarrolladores de Android. El propietario controla esta configuración. Si habilitaste la Actividad de web y de aplicaciones adicional, es posible que se almacenen estos datos en tu Cuenta de Google.</translation>
@@ -5155,7 +5146,6 @@
 <translation id="7388044238629873883">Falta muy poco</translation>
 <translation id="7392118418926456391">Error en el análisis antivirus</translation>
 <translation id="7392915005464253525">Volver a abrir una ventana cerrada</translation>
-<translation id="7393472013449507620">Ya no se admiten las opciones de configuración con los comodines "*". Para <ph name="BEGIN_LINK" />cambiarlas<ph name="END_LINK" />, comunícate con el desarrollador de la extensión o tu administrador.</translation>
 <translation id="7396017167185131589">Aquí aparecerán las carpetas compartidas</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> empezará a ejecutarse cuando se inicie el sistema y seguirá ejecutándose en segundo plano aunque cierres todas las demás ventanas de <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Personalizar la sincronización</translation>
@@ -5268,6 +5258,7 @@
 <translation id="7526989658317409655">Marcador de posición</translation>
 <translation id="7529411698175791732">Comprueba tu conexión a Internet. Si el problema persiste, intenta salir de tu cuenta y acceder de nuevo.</translation>
 <translation id="7530016656428373557">Tasa de descarga en vatios</translation>
+<translation id="7531310913436731628">La ubicación está desactivada en las Preferencias del Sistema de Mac</translation>
 <translation id="7531779363494549572">Ve a Configuración &gt; Apps y notificaciones &gt; Notificaciones.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> no responde. Selecciona "Forzar cierre" para cerrar la app.</translation>
 <translation id="7537451260744431038">Los sitios no pueden usar cookies para mejorar la experiencia de navegación, por ejemplo, para mantener el acceso a ellos o recordar elementos del carrito de compras.</translation>
@@ -6048,7 +6039,6 @@
 <translation id="8470513973197838199">Se guardaron contraseñas para <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">respaldado por hardware</translation>
 <translation id="8473863474539038330">Direcciones y más</translation>
-<translation id="8474733733775441349">Muestra las contraseñas de tu Cuenta de Google</translation>
 <translation id="8475313423285172237">Otro programa en tu computadora agregó una extensión que puede cambiar el funcionamiento de Chrome.</translation>
 <translation id="8477241577829954800">Reemplazado</translation>
 <translation id="8477384620836102176">&amp;General</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index dfbce73c..83e89cb5 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Solo cifrar</translation>
 <translation id="1038462104119736705">Se recomienda un mínimo de <ph name="INSTALL_SIZE" /> de espacio para Linux. Para liberar espacio, elimina archivos de tu dispositivo.</translation>
 <translation id="1039337018183941703">El archivo no es válido o está dañado</translation>
-<translation id="104086161873270383">Nuevo perfil</translation>
 <translation id="1041175011127912238">La página no responde</translation>
 <translation id="1041263367839475438">Dispositivos disponibles</translation>
 <translation id="1042174272890264476">El ordenador también incluye la biblioteca RLZ de <ph name="SHORT_PRODUCT_NAME" />. RLZ asigna una etiqueta identificable, no exclusiva y no personal para medir las búsquedas y el uso de <ph name="SHORT_PRODUCT_NAME" /> derivados de una determinada campaña promocional. Estas etiquetas aparecen a veces en las consultas de la Búsqueda de Google realizadas en <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Botón para volver de la página secundaria de <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Consulta y administra las contraseñas guardadas en tu <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Protege las cuentas personales de Google de cualquier persona que corra el riesgo de sufrir ataques dirigidos</translation>
-<translation id="1325985428688410772">Añadir espacio</translation>
 <translation id="1326317727527857210">Inicia sesión en Chrome para ver las pestañas de tus otros dispositivos.</translation>
 <translation id="1327074568633507428">Impresora en Google Cloud Print</translation>
 <translation id="1327272175893960498">Tickets de Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">La función de comprobación de contraseña no está disponible en Chromium</translation>
 <translation id="1871534214638631766">Mostrar información relacionada cuando mantengas pulsado o hagas clic con el botón derecho en contenido</translation>
 <translation id="1871615898038944731">Tu <ph name="DEVICE_TYPE" /> está actualizado</translation>
-<translation id="1874835396235780806">¿Guardar esta y otras contraseñas en tu cuenta de Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Mover pestaña a otra ventana}other{Mover pestañas a otra ventana}}</translation>
 <translation id="1875386316419689002">Esta pestaña está conectada a un dispositivo HID.</translation>
 <translation id="1875387611427697908">Este elemento solo se puede añadir desde <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Red <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, conectar</translation>
 <translation id="1884705339276589024">Cambiar el tamaño de disco de Linux</translation>
 <translation id="1885106732301550621">Espacio en disco</translation>
-<translation id="1885190042244431215">Añadir una cuenta de centro educativo permite iniciar sesión fácilmente en sitios web y extensiones como alumno a la vez que sigue aplicándose el control parental.</translation>
 <translation id="1886996562706621347">Permitir que los sitios web se conviertan en controladores de protocolos predeterminados (recomendado)</translation>
 <translation id="1887442540531652736">No se ha podido iniciar sesión</translation>
 <translation id="1887597546629269384">Di "Ok Google" otra vez</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Leer tu configuración de accesibilidad</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Tiene acceso permanente a un archivo.}other{Tiene acceso permanente a # archivos.}}</translation>
 <translation id="3660234220361471169">No es de confianza</translation>
-<translation id="3661172646479098821">Actualmente solo se admiten dispositivos Android.</translation>
 <translation id="3664511988987167893">Icono de la extensión</translation>
 <translation id="3665589677786828986">Chrome ha detectado que otro programa ha dañado algunas opciones de configuración y ha restablecido la configuración predeterminada original.</translation>
 <translation id="3668801437375206837">Para diagnosticar mejor los problemas de Bluetooth, los Googlers pueden incluir registros en sus comentarios. Si seleccionas esta opción, tu informe contendrá registros btsnoop y HCI de la sesión actual modificados para retirar tanta información personal identificable como sea posible. Solo los administradores de grupo de Chrome OS de Listnr podrán acceder a estos registros, que se eliminarán definitivamente después de 90 días.</translation>
@@ -2771,6 +2766,7 @@
 <translation id="4370975561335139969">La dirección de correo electrónico y la contraseña que has introducido no coinciden</translation>
 <translation id="4374831787438678295">Instalador de Linux</translation>
 <translation id="4375035964737468845">Abrir archivos descargados</translation>
+<translation id="4376226992615520204">Ubicación desactivada</translation>
 <translation id="4377363674125277448">Ha habido un problema con el certificado del servidor.</translation>
 <translation id="4378154925671717803">Teléfono</translation>
 <translation id="4378373042927530923">Sin ejecutar</translation>
@@ -2970,7 +2966,6 @@
 <translation id="4619615317237390068">Pestañas de otros dispositivos</translation>
 <translation id="4620809267248568679">Una extensión aplica esta opción.</translation>
 <translation id="4623189117674524348">El sistema no ha podido autorizar el acceso de este dispositivo a la API.</translation>
-<translation id="4624190781974168453">Preguntar al iniciar</translation>
 <translation id="4625078469366263107">Habilitar aplicación</translation>
 <translation id="4627427111733173920">Cookies bloqueadas</translation>
 <translation id="4627442949885028695">Continuar en otro dispositivo</translation>
@@ -3400,7 +3395,6 @@
 <translation id="5185386675596372454">Se ha inhabilitado la versión más reciente de "<ph name="EXTENSION_NAME" />" porque requiere más permisos.</translation>
 <translation id="5185500136143151980">Sin conexión a Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menú de opciones para <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Activar puerto</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> quiere descargar varios archivos</translation>
 <translation id="5192062846343383368">Abre la aplicación Family Link para ver la configuración de supervisión</translation>
@@ -3776,6 +3770,7 @@
 <translation id="5642508497713047">Firmante de la lista de revocación de certificados</translation>
 <translation id="5643321261065707929">Red de uso medido</translation>
 <translation id="5643620609347735571">Borrar y continuar</translation>
+<translation id="5646376287012673985">Ubicación</translation>
 <translation id="5646558797914161501">Hombre de negocios</translation>
 <translation id="5648166631817621825">Últimos 7 días</translation>
 <translation id="5649053991847567735">Descargas automáticas</translation>
@@ -4482,7 +4477,6 @@
 <translation id="6531282281159901044">Conservar archivo peligroso</translation>
 <translation id="6532101170117367231">Guardar en Google Drive</translation>
 <translation id="6532106788206463496">Guardar cambios</translation>
-<translation id="6532113437901537254">Las contraseñas de tu cuenta de Google también estarán disponibles en este dispositivo cuando hayas iniciado sesión.</translation>
 <translation id="6532206849875187177">Seguridad e inicio de sesión</translation>
 <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>
@@ -5012,9 +5006,6 @@
 <translation id="7201118060536064622">Se ha eliminado "<ph name="DELETED_ITEM_NAME" />"</translation>
 <translation id="7201420661433230412">Ver archivos</translation>
 <translation id="7203150201908454328">Ampliado</translation>
-<translation id="7203826966018112936">Añadir una cuenta de centro educativo a un perfil permite iniciar sesión fácilmente en sitios web y extensiones como alumno a la vez que sigue aplicándose el control parental. Esta acción no da acceso al menor a marcadores, contraseñas u otros datos del navegador sincronizados con la cuenta de centro educativo.&lt;br&gt;&lt;br&gt;
-    Si tu hijo/a usa un Chromebook en su centro educativo y quieres replicar la experiencia escolar en casa para asegurarte de que tenga acceso a todo el material necesario, cierra la sesión de esta cuenta de Family Link e inicia sesión en la cuenta de centro educativo en la página de cuentas de Chrome OS (ten en cuenta que no se aplicará el control parental que hayas configurado en Family Link).&lt;br&gt;&lt;br&gt;
-    Si tu hijo/a no usa un Chromebook en su centro educativo, o si prefieres gestionar su experiencia en casa a través de Family Link, haz clic en el botón Siguiente a continuación para añadir una cuenta de centro educativo a este perfil.</translation>
 <translation id="7206693748120342859">Descargando <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Salir de la página}other{Salir de las páginas}}</translation>
 <translation id="7207457272187520234">Envía datos de uso y diagnóstico. Este dispositivo envía automáticamente a Google datos de diagnóstico, del dispositivo y del uso de las aplicaciones. Los datos servirán para aumentar la estabilidad de las aplicaciones y del sistema y realizar otras mejoras. Parte de los datos agregados también ayudarán a las aplicaciones y los partners de Google, como los desarrolladores de Android. El propietario ha aplicado este ajuste. Si la opción Actividad en la Web y en Aplicaciones Adicional está activada, es posible que estos datos se guarden en tu cuenta de Google.</translation>
@@ -5157,7 +5148,6 @@
 <translation id="7388044238629873883">Casi has terminado</translation>
 <translation id="7392118418926456391">Error en el análisis antivirus</translation>
 <translation id="7392915005464253525">Volv&amp;er a abrir ventana cerrada</translation>
-<translation id="7393472013449507620">Los ajustes que usen el carácter comodín "*" ya no se admiten. Ponte en contacto con el desarrollador de la extensión o con tu administrador para <ph name="BEGIN_LINK" />cambiar estos ajustes<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Las carpetas compartidas aparecerán aquí</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> empezará a ejecutarse cuando se inicie el sistema y seguirá ejecutándose en segundo plano aunque cierres todas las demás ventanas de <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Personalizar sincronización</translation>
@@ -5270,6 +5260,7 @@
 <translation id="7526989658317409655">Marcador de posición</translation>
 <translation id="7529411698175791732">Comprueba tu conexión a Internet. Si el problema persiste, prueba a cerrar sesión y volver a iniciarla.</translation>
 <translation id="7530016656428373557">Tasa de descarga en vatios</translation>
+<translation id="7531310913436731628">La ubicación está desactivada en las Preferencias del Sistema de Mac</translation>
 <translation id="7531779363494549572">Accede a Ajustes &gt; Aplicaciones y notificaciones &gt; Notificaciones.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> no responde. Selecciona "Forzar cierre" para cerrar la aplicación.</translation>
 <translation id="7537451260744431038">Los sitios web no pueden usar cookies para mejorar tu experiencia de navegación, por ejemplo, para mantener tu sesión iniciada o recordar los artículos de tu carrito de la compra</translation>
@@ -6050,7 +6041,6 @@
 <translation id="8470513973197838199">Contraseñas guardadas de <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">respaldado por hardware</translation>
 <translation id="8473863474539038330">Direcciones y más</translation>
-<translation id="8474733733775441349">Mostrar contraseñas de tu cuenta de Google</translation>
 <translation id="8475313423285172237">Otro programa de tu ordenador ha añadido una extensión que puede cambiar el funcionamiento de Chrome.</translation>
 <translation id="8477241577829954800">Reemplazado</translation>
 <translation id="8477384620836102176">&amp;General</translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index fd84a15..32d34e3 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Ainult šifreerimine</translation>
 <translation id="1038462104119736705">Linuxi jaoks on soovitatav vähemalt <ph name="INSTALL_SIZE" /> vaba ruumi. Ruumi vabastamiseks kustutage oma seadmest mõned failid.</translation>
 <translation id="1039337018183941703">Sobimatu või rikutud fail</translation>
-<translation id="104086161873270383">Uus profiil</translation>
 <translation id="1041175011127912238">Leht ei reageeri</translation>
 <translation id="1041263367839475438">Saadaolevad seadmed</translation>
 <translation id="1042174272890264476">Teie arvutil on ka toote <ph name="SHORT_PRODUCT_NAME" /> sisseehitatud RLZ-teek. RLZ määrab korduva ja isikut mittetuvastava ID-tunnuse, et mõõta konkreetse reklaamikampaania tekitatud otsinguid ja toote <ph name="SHORT_PRODUCT_NAME" /> kasutust. Need sildid kuvatakse vahel ka tootes <ph name="PRODUCT_NAME" /> Google'i otsingupäringutes.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Selle seade jõustab laiendus „<ph name="NAME" />”.</translation>
 <translation id="1118738876271697201">Süsteemil ei õnnestunud seadme mudelit või seerianumbrit tuvastada.</translation>
 <translation id="1119447706177454957">Sisemine viga</translation>
+<translation id="1122068467107743258">Töö</translation>
 <translation id="1122198203221319518">&amp;Tööriistad</translation>
 <translation id="1122242684574577509">Autentimine ebaõnnestus. Klõpsake kasutatava WiFi-võrgu sisselogimislehe (<ph name="NETWORK_ID" />) külastamiseks.</translation>
 <translation id="1122960773616686544">Järjehoidja nimi</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Rakenduste haldamine</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – osa grupist <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Ava inkogonito aknas</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" />/<ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Turvavõti lukustati, kuna vale PIN-kood sisestati liiga palju kordi. Selle avamiseks eemaldage turvavõti ja sisestage see uuesti.</translation>
 <translation id="1137673463384776352">Ava link rakenduses <ph name="APP" /></translation>
 <translation id="1139343347646843679">Linuxi seadistamisel ilmnes viga. Võtke ühendust administraatoriga.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Alamlehe <ph name="SUBPAGE_TITLE" /> tagasinupp</translation>
 <translation id="1322046419516468189">Vaadake ja hallake oma salvestatud paroole siin: <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Kaitseb nende isiklikke Google'i kontosid, keda ähvardab sihitud rünnakute oht.</translation>
-<translation id="1325985428688410772">Lisa ruum</translation>
 <translation id="1326317727527857210">Vahelehtede hankimiseks oma teistest seadmetest logige Chrome'i sisse.</translation>
 <translation id="1327074568633507428">Printer Google'i pilvprintimises</translation>
 <translation id="1327272175893960498">Kerberose piletid</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Sisestage oma e-posti aadress</translation>
 <translation id="1576594961618857597">Valge vaikeavatar</translation>
 <translation id="1578558981922970608">Sundpeata</translation>
+<translation id="1578784163189013834">Ekraanisäästja tausta valimine</translation>
 <translation id="1580772913177567930">Võtke ühendust administraatoriga</translation>
 <translation id="1581962803218266616">Näita otsijas</translation>
 <translation id="1582955169539260415">kustuta [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">Paroolikontroll pole Chromiumis saadaval</translation>
 <translation id="1871534214638631766">Sisul paremklõpsates või pikalt vajutades kuvatakse seotud teave</translation>
 <translation id="1871615898038944731">Teie seade <ph name="DEVICE_TYPE" /> on ajakohane</translation>
-<translation id="1874835396235780806">Kas salvestada see ja muud paroolid teie Google'i kontole?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Vahelehe teisaldamine teise aknasse}other{Vahelehtede teisaldamine teise aknasse}}</translation>
 <translation id="1875386316419689002">Vaheleht on ühendatud HID-seadmega.</translation>
 <translation id="1875387611427697908">Seda on võimalik lisada vaid teenusest <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" />. võrk <ph name="NETWORK_COUNT" />-st, <ph name="NETWORK_NAME" />, ühenda</translation>
 <translation id="1884705339276589024">Linuxi ketta suuruse muutmine</translation>
 <translation id="1885106732301550621">Kettaruum</translation>
-<translation id="1885190042244431215">Kooli konto lisamine võimaldab veebisaitidele ja lahendustesse õpilasena hõlpsalt sisse logida, kasutades seadet siiski vanemliku järelevalve all.</translation>
 <translation id="1886996562706621347">Võimalda saitidel küsida luba protokollide vaikimisi töötlemiseks (soovitatav)</translation>
 <translation id="1887442540531652736">Viga sisselogimisel</translation>
 <translation id="1887597546629269384">Öelge uuesti „Hey Google”</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">Hangoutsi ja Cast for Educationi kasutamisel kehtivad Google'i privaatsuseeskirjad.</translation>
 <translation id="2348176352564285430">Rakendus: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Viga andmete laadimisel</translation>
+<translation id="2349610121459545414">Luba selle saidi jaoks jätkuvalt juurdepääs minu asukohale</translation>
 <translation id="2349896577940037438">Kui täiendavad veebi- ja rakendustegevused on sisse lülitatud, võidakse need andmed salvestada teie Google'i kontole. Saidil account.google.com saate oma andmeid vaadata, neid kustutada ja konto seadeid muuta.</translation>
 <translation id="2350133097354918058">Uuesti laaditud</translation>
 <translation id="2350182423316644347">Rakenduse lähtestamine ...</translation>
@@ -1232,6 +1232,7 @@
 <translation id="247051149076336810">Failide võrguhoidla URL</translation>
 <translation id="2470702053775288986">Toetamata laiendused on keelatud</translation>
 <translation id="2471469610750100598">Must (vaikeseade)</translation>
+<translation id="2471506181342525583">Juurdepääs asukohale on lubatud</translation>
 <translation id="2473195200299095979">Selle lehe tõlkimine</translation>
 <translation id="2475982808118771221">Tekkis viga</translation>
 <translation id="2476578072172137802">Saidi seaded</translation>
@@ -1243,6 +1244,7 @@
 <translation id="2482878487686419369">Märguanded</translation>
 <translation id="2484959914739448251">Sirvimisandmete kustutamiseks kõigist sünkroonitud seadmetest ja oma Google'i kontolt <ph name="BEGIN_LINK" />sisestage oma parool<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Parool salvestati sellesse seadmesse</translation>
+<translation id="2485394160472549611">Soovitused teile</translation>
 <translation id="2485422356828889247">Desinstalli</translation>
 <translation id="2487067538648443797">Uue järjehoidja lisamine</translation>
 <translation id="2487268545026948104">Andmete taastamiseks looge ühendus internetiga</translation>
@@ -1624,6 +1626,7 @@
 <translation id="2932483646085333864">Sünkroonimise alustamiseks logige välja ja seejärel uuesti sisse</translation>
 <translation id="2932883381142163287">Teata väärkasutusest</translation>
 <translation id="2933632078076743449">Viimane värskendus</translation>
+<translation id="2934999512438267372">MIDI-seadmete täielik juhtimisõigus on antud</translation>
 <translation id="2936851848721175671">Varundamine ja taastamine</translation>
 <translation id="2938225289965773019">Avada protokolli <ph name="PROTOCOL" /> lingid</translation>
 <translation id="2938845886082362843">Turvavõtmele salvestatud sisselogimisandmete vaatamine ja kustutamine</translation>
@@ -1739,6 +1742,7 @@
 <translation id="3083193146044397360">Teie turvalisuse kaitsmiseks ajutiselt blokeeritud</translation>
 <translation id="3084548735795614657">Installimiseks vabastage laiendus</translation>
 <translation id="3084771660770137092">Chrome'i mälu sai otsa või veebilehe protsess lõpetati muul põhjusel. Jätkamiseks laadige uuesti või minge muule lehele.</translation>
+<translation id="3084958266922136097">Ekraanisäästja keelamine</translation>
 <translation id="3085412380278336437">Sait saab kasutada teie kaamerat</translation>
 <translation id="3085752524577180175">SOCKS-host</translation>
 <translation id="3088052000289932193">Sait kasutab MIDI-seadet</translation>
@@ -1935,6 +1939,7 @@
 <translation id="3345886924813989455">Ei leitud ühtegi toetatud brauserit</translation>
 <translation id="3347086966102161372">K&amp;opeeri kujutise aadress</translation>
 <translation id="3348038390189153836">Leiti irdseade</translation>
+<translation id="3348131053948466246">Soovitatud emotikon. Navigeerimiseks vajutage üles- või allanoolt ja sisestamiseks sisestusklahvi.</translation>
 <translation id="3349933790966648062">Mälu jalajälg</translation>
 <translation id="3355936511340229503">Ühenduse viga</translation>
 <translation id="3356580349448036450">Lõpetatud</translation>
@@ -1970,6 +1975,7 @@
 <translation id="3402585168444815892">Demorežiimis registreerumine</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Selle saidi jaoks ei ole salvestatud ühtki parooli</translation>
+<translation id="3404249063913988450">Ekraanisäästja lubamine</translation>
 <translation id="3405664148539009465">Kohanda fonte</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Näita järjehoidjariba</translation>
@@ -2200,7 +2206,6 @@
 <translation id="3654045516529121250">Juurdepääsetavuse seadete lugemine</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Sellel on püsiv juurdepääs ühele failile.}other{Sellel on püsiv juurdepääs # failile.}}</translation>
 <translation id="3660234220361471169">Mitteusaldusväärne</translation>
-<translation id="3661172646479098821">Praegu toetatakse ainult Android-seadmeid.</translation>
 <translation id="3664511988987167893">Laienduse ikoon</translation>
 <translation id="3665589677786828986">Chrome tuvastas, et teine programm rikkus teie seadeid, ja lähtestas need algsetele vaikevalikutele.</translation>
 <translation id="3668801437375206837">Bluetoothi probleemide paremaks diagnoosimiseks võivad Google'i kasutajad tagasiside aruannetesse lisada täiendavad Bluetoothi logid. Kui see valik on märgitud, hõlmab teie aruanne teie praeguse seansi btsnoopi ja HCI logisid, millest on eemaldataud võimalikult palju isikut tuvastavat teavet. Nendele logidele pääsevad juurde ainult Chrome OS-i tootegrupi haldurid teenuses Listnr. Logid kustutatakse lõplikult 90 päeva pärast.</translation>
@@ -2510,6 +2515,7 @@
 <translation id="3984159763196946143">Demorežiimi ei saanud käivitada</translation>
 <translation id="3984431586879874039">Kas lubada saidil teie turvavõtit näha?</translation>
 <translation id="3986705137476756801">Reaalajas subtiitrite praeguseks väljalülitamine</translation>
+<translation id="3987544746655539083">Blokeeri selle saidi jaoks jätkuvalt juurdepääs minu asukohale</translation>
 <translation id="3987938432087324095">Kahjuks ei kuulnud seda.</translation>
 <translation id="3988996860813292272">Ajavööndi valimine</translation>
 <translation id="399179161741278232">Imporditud</translation>
@@ -2575,6 +2581,7 @@
 <translation id="4087089424473531098">Loodud laiend:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">MIDI-seadmete täielikku juhtimisõigust ei antud</translation>
 <translation id="4088095054444612037">Anna nõusolek rühma jaoks</translation>
 <translation id="4089235344645910861">Seaded on salvestatud. Sünkroonimine algas.</translation>
 <translation id="4090103403438682346">Luba kinnitatud juurdepääs</translation>
@@ -2655,6 +2662,7 @@
 <translation id="4200689466366162458">Kohandatud sõnad</translation>
 <translation id="4200983522494130825">Uus &amp;vaheleht</translation>
 <translation id="4201546031411513170">Jaotises Seaded saate igal ajal valida, mida sünkroonida.</translation>
+<translation id="420283545744377356">Lülita ekraanisäästja välja</translation>
 <translation id="4206144641569145248">Tulnukas</translation>
 <translation id="4206323443866416204">Tagasisidearuanne</translation>
 <translation id="4208390505124702064">Otsige saidilt <ph name="SITE_NAME" /></translation>
@@ -2753,6 +2761,7 @@
 <translation id="4348766275249686434">Kogu vigu</translation>
 <translation id="4349828822184870497">Kasulik</translation>
 <translation id="4350019051035968019">Seda seadet ei saa registreerida domeenil, kuhu teie konto kuulub, sest seade on märgitud teisel domeenil haldamiseks.</translation>
+<translation id="4350230709416545141">Blokeeri hosti <ph name="HOST" /> jaoks alati juurdepääs minu asukohale</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> soovib otsida läheduses olevaid Bluetooth-seadmeid. Leiti järgmised seadmed:</translation>
 <translation id="4354073718307267720">Küsi, kui sait soovib luua mind ümbritsevast 3D-kaarti või jälgida kaamera asendit</translation>
@@ -2772,6 +2781,7 @@
 <translation id="4370975561335139969">Sisestatud e-posti aadress ja parool ei ühildu</translation>
 <translation id="4374831787438678295">Linuxi installiprogramm</translation>
 <translation id="4375035964737468845">Ava allalaaditud failid</translation>
+<translation id="4376226992615520204">Asukoht on välja lülitatud</translation>
 <translation id="4377363674125277448">Serveri sertifikaadiga ilmnes probleem.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Ei käitatud</translation>
@@ -2971,7 +2981,6 @@
 <translation id="4619615317237390068">Muudest seadmetest pärinevad vahelehed</translation>
 <translation id="4620809267248568679">Selle seade jõustas laiendus.</translation>
 <translation id="4623189117674524348">Süsteemil ei õnnestunud saada sellele seadmele API juurdepääsu.</translation>
-<translation id="4624190781974168453">Küsi käivitamisel</translation>
 <translation id="4625078469366263107">Luba rakendus</translation>
 <translation id="4627427111733173920">Küpsisefailid on blokeeritud</translation>
 <translation id="4627442949885028695">Jätkake sealt, kus muus seadmes pooleli jäite</translation>
@@ -3401,7 +3410,6 @@
 <translation id="5185386675596372454">Laienduse <ph name="EXTENSION_NAME" /> uusim versioon on keelatud, sest see nõuab rohkem õigusi.</translation>
 <translation id="5185500136143151980">Internetiühendus puudub</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Konto <ph name="PROFILE_LOCAL_NAME" /> valikute menüü</translation>
 <translation id="5190926251776387065">Aktiveeri port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> soovib alla laadida mitu faili</translation>
 <translation id="5192062846343383368">Avage rakendus Family Link, et näha järelevalve seadeid</translation>
@@ -3594,6 +3602,7 @@
 <translation id="5431825016875453137">OpenVPN/L2TP</translation>
 <translation id="543338862236136125">Muuda parooli</translation>
 <translation id="5434065355175441495">PKCS 1 RSA krüpteerimine</translation>
+<translation id="5435779377906857208">Luba hosti <ph name="HOST" /> jaoks alati juurdepääs minu asukohale</translation>
 <translation id="5436492226391861498">Puhverserveri tunneli ootamine...</translation>
 <translation id="5436510242972373446">Otsi <ph name="SITE_NAME" />-st:</translation>
 <translation id="543806387003274181">Salvestage oma failid ja looge kohe uus konto.</translation>
@@ -3777,6 +3786,7 @@
 <translation id="5642508497713047">CRL-i allkirjastaja</translation>
 <translation id="5643321261065707929">Mahupõhine võrk</translation>
 <translation id="5643620609347735571">Kustuta ja jätka</translation>
+<translation id="5646376287012673985">Asukoht</translation>
 <translation id="5646558797914161501">Ärimees</translation>
 <translation id="5648166631817621825">Viimased seitse päeva</translation>
 <translation id="5649053991847567735">Automaatsed allalaadimised</translation>
@@ -3820,6 +3830,7 @@
 <translation id="5701212929149679556">Mobiilsidevõrgu rändlus</translation>
 <translation id="5701381305118179107">Keskel</translation>
 <translation id="5701441174893770082">Linuxi versiooni uuendamine võib oluliselt akut kulutada. Ühendage seade laadijaga ja proovige uuesti.</translation>
+<translation id="5702749864074810610">Soovitusest loobuti</translation>
 <translation id="5702898740348134351">&amp;Muuda otsingumootoreid...</translation>
 <translation id="5704875434923668958">Sünkroonimine kontoga</translation>
 <translation id="5705005699929844214">Kuva alati juurdepääsetavuse valikud</translation>
@@ -3940,6 +3951,7 @@
 <translation id="5857090052475505287">Uus kaust</translation>
 <translation id="5857171483910641802">Otseteid soovitatakse teile tihti külastatud veebisaitide põhjal</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Kunstigalerii album</translation>
 <translation id="585979798156957858">Väline metaklahv</translation>
 <translation id="5860033963881614850">Väljas</translation>
 <translation id="5860491529813859533">Lülita sisse</translation>
@@ -4325,6 +4337,7 @@
 <translation id="6318125393809743217">Kaasake reegli seadistusse fail policies.json.</translation>
 <translation id="6318407754858604988">Allalaadimist alustati</translation>
 <translation id="6318944945640833942">Printerit ei õnnestunud tuvastada. Sisestage printeri aadress uuesti.</translation>
+<translation id="6321407676395378991">Ekraanisäästja sisselülitamine</translation>
 <translation id="6322653941595359182">Saatke ja võtke oma Chromebookis vastu tekstisõnumeid</translation>
 <translation id="6324916366299863871">Otsetee muutmine</translation>
 <translation id="6325191661371220117">Keela automaatne käivitamine</translation>
@@ -4483,7 +4496,6 @@
 <translation id="6531282281159901044">Säilita ohtlik fail</translation>
 <translation id="6532101170117367231">Salvesta rakendusse Google Drive</translation>
 <translation id="6532106788206463496">Salvesta muudatused</translation>
-<translation id="6532113437901537254">Paroolid teie Google'i kontolt on saadaval ka selles seadmes, kui olete sisse logitud</translation>
 <translation id="6532206849875187177">Turvalisus ja sisselogimine</translation>
 <translation id="6532527800157340614">Sisselogimine ebaõnnestus, kuna teie juurdepääsuluba ei õnnestunud hankida. Kontrollige võrguühendust ja proovige uuesti.</translation>
 <translation id="6532663472409656417">Ettevõttes registreeritud</translation>
@@ -4505,6 +4517,7 @@
 <translation id="6555432686520421228">Eemaldage kõik kasutajakontod ja lähtestage seade <ph name="IDS_SHORT_PRODUCT_NAME" />, et taas nullist alustada.</translation>
 <translation id="6555810572223193255">Puhastamine ei ole praegu saadaval</translation>
 <translation id="6556866813142980365">Tee uuesti</translation>
+<translation id="6556903358015358733">Teema ja taustapilt</translation>
 <translation id="6557290421156335491">Minu otseteed</translation>
 <translation id="6561560012278703671">Kasuta vaiksemat sõnumsidet (märguandeviibad blokeeritakse)</translation>
 <translation id="6561726789132298588">sisestusklahv</translation>
@@ -4528,6 +4541,7 @@
 <translation id="6590458744723262880">Kausta ümbernimetamine</translation>
 <translation id="6592267180249644460">WebRTC logi on jäädvustatud: <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Teie sõrmejälg jäädvustati</translation>
+<translation id="6595187330192059106">Blokeeri hosti <ph name="HOST" /> jaoks alati MIDI-seadmete täielik juhtimisõigus.</translation>
 <translation id="6596325263575161958">Krüpteerimise valikud</translation>
 <translation id="6596816719288285829">IP-aadress</translation>
 <translation id="6597017209724497268">Näidised</translation>
@@ -5013,9 +5027,6 @@
 <translation id="7201118060536064622">Üksus „<ph name="DELETED_ITEM_NAME" />” kustutati</translation>
 <translation id="7201420661433230412">Kuva failid</translation>
 <translation id="7203150201908454328">Laiendatud</translation>
-<translation id="7203826966018112936">Kooli konto lisamine profiilile võimaldab veebisaitidele ja lahendustesse õpilasena hõlpsalt sisse logida, kasutades seadet siiski vanemliku järelevalve all. See ei anna lapsele juurdepääsu järjehoidjatele, paroolidele ega muudele brauseri andmetele, mis on kooli kontoga sünkroonitud.&lt;br&gt;&lt;br&gt;
-    Kui teie laps kasutab koolis Chromebooki ja soovite talle kodus pakkuda sama kasutuskogemust nagu koolis, et lapsel oleks juurdepääs kogu vajalikule koolitööle, logige sellelt Family Linki kontolt välja ning logige siis Chrome OS-i kontode lehel sisse kooli kontoga (märkus: Family Linki vanemlik järelevalve ei kehti).&lt;br&gt;&lt;br&gt;
-    Kui teie laps ei kasuta koolis Chromebooki või kui eelistate lapse kasutuskogemust kodus hallata Family Linkiga, klõpsake alloleval nupul Järgmine, et kooli konto sellele profiilile lisada.</translation>
 <translation id="7206693748120342859">Pistikprogrammi <ph name="PLUGIN_NAME" /> allalaadimine ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Välju lehelt}other{Välju lehtedelt}}</translation>
 <translation id="7207457272187520234">Kasutus- ja diagnostikaandmete saatmine. See seade saadab Google'ile praegu automaatselt seadme teavet ning rakenduse kasutus- ja diagnostikaandmeid. See aitab parandada süsteemi ja rakenduse stabiilsust ning muud. Teatud koondandmed on abiks ka Google'i rakendustele ja partneritele, näiteks Androidi arendajatele. Selle seade on jõustanud omanik. Kui täiendavad veebi- ja rakendustegevused on sisse lülitatud, võidakse need andmed salvestada teie Google'i kontole.</translation>
@@ -5158,7 +5169,6 @@
 <translation id="7388044238629873883">Olete peaaegu valmis.</translation>
 <translation id="7392118418926456391">Viiruste skannimine ebaõnnestus</translation>
 <translation id="7392915005464253525">A&amp;va suletud aken uuesti</translation>
-<translation id="7393472013449507620">Metamärkidega „*” seadeid enam ei toetata. Võtke <ph name="BEGIN_LINK" />nende seadete muutmiseks<ph name="END_LINK" /> ühendust laienduse arendaja või oma administraatoriga.</translation>
 <translation id="7396017167185131589">Jagatud kaustad kuvatakse siin</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> käivitub süsteemi käivitamisel ja jätkab tööd taustal ka siis, kui sulgete kõik muud rakenduse <ph name="PRODUCT_NAME" /> aknad.</translation>
 <translation id="7399045143794278225">Kohanda sünkroonimist</translation>
@@ -5271,6 +5281,7 @@
 <translation id="7526989658317409655">Kohatäide</translation>
 <translation id="7529411698175791732">Kontrollige oma Interneti-ühendust. Probleemi jätkumisel logige välja ja uuesti sisse.</translation>
 <translation id="7530016656428373557">Tühjenemise määr vattides</translation>
+<translation id="7531310913436731628">Asukoht on Maci süsteemieelistustes välja lülitatud</translation>
 <translation id="7531779363494549572">Avage jaotis Seaded &gt; Rakendused ja märguanded &gt; Märguanded.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ei reageeri. Rakenduse sulgemiseks valige käsk „Sundpeata”.</translation>
 <translation id="7537451260744431038">Saidid ei saa kasutada küpsisefaile teie sirvimiskogemuse täiustamiseks, näiteks selleks, et hoida teid sisselogituna või jätta meelde teie ostukorvis olevad esemed</translation>
@@ -5383,6 +5394,7 @@
 <translation id="767147716926917172">Saada Google'ile automaatselt kasutusstatistikat</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" /> lehel <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Inaktiveeri kõik pordid, mis Linuxis on edasi suunatud</translation>
+<translation id="7674542105240814168">Asukohale juurdepääsu luba ei antud</translation>
 <translation id="7676867886086876795">Saatke oma hääl Google'ile, et lubada dikteerimine kõigil tekstiväljadel.</translation>
 <translation id="7678280409648629969">Sisselogimisandmed salvestatakse Chrome'i pärast inkognito režiimist väljumist. See võimaldab teil Touch ID-d sellel veebisaidil hiljem uuesti kasutada.</translation>
 <translation id="7680416688940118410">Puuteekraani kalibreerimine</translation>
@@ -5590,6 +5602,7 @@
 <translation id="790040513076446191">Privaatsusega seotud seadete muutmine</translation>
 <translation id="7903345046358933331">Leht ei reageeri. Võite oodata lehe reageerimist või selle sulgeda.</translation>
 <translation id="7903742244674067440">Teil on neid sertimisorganeid tuvastavad sertifikaadid</translation>
+<translation id="7903859912536385558">stabiilne (usaldusväärne testija)</translation>
 <translation id="7903925330883316394">Utiliit: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Selle konto administraator on mitmesse kontosse sisselogimise keelanud.</translation>
 <translation id="7904526211178107182">Muutke Linuxi pordid teistele teie võrgus olevatele seadmetele kättesaadavaks.</translation>
@@ -5715,6 +5728,7 @@
 <translation id="8049705080247101012">Google märgistas laienduse „<ph name="EXTENSION_NAME" />” pahatahtlikuks ja installimine blokeeriti</translation>
 <translation id="8049948037269924837">Puuteplaadiga tagurpidi kerimine</translation>
 <translation id="8050038245906040378">Microsofti äriline koodsigneerimine</translation>
+<translation id="8051390370038326517">Luba hosti <ph name="HOST" /> jaoks alati MIDI-seadmete täielik juhtimine</translation>
 <translation id="8053278772142718589">PKCS #12 failid</translation>
 <translation id="8053390638574070785">Laadi see leht uuesti</translation>
 <translation id="8054517699425078995">Seda tüüpi fail võib teie seadet kahjustada. Kas soovite faili <ph name="FILE_NAME" /> siiski alles jätta?</translation>
@@ -5766,6 +5780,7 @@
 <translation id="810728361871746125">Ekraani eraldusvõime</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Kolmanda osapoole küpsisefailid puuduvad}=1{1 kolmanda osapoole küpsisefail blokeeriti}other{# kolmanda osapoole küpsisefaili blokeeriti}}</translation>
 <translation id="810875025413331850">Läheduses olevaid seadmeid ei leitud.</translation>
+<translation id="8113476325385351118">Blokeeri selle saidi jaoks jätkuvalt MIDI-seadmete täielik juhtimisõigus</translation>
 <translation id="8114199541033039755">Navigeerige tahvelarvutirežiimis nuppude abil avalehele, tagasi ja vahetage rakendusi. See on sisse lülitatud, kui ChromeVox või automaatsed klikid on lubatud.</translation>
 <translation id="8114875720387900039">Horisontaalne poolitamine</translation>
 <translation id="8116972784401310538">&amp;Järjehoidjate haldur</translation>
@@ -6051,7 +6066,6 @@
 <translation id="8470513973197838199">Salvestatud paroolid – <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">riistvaraga toetatud</translation>
 <translation id="8473863474539038330">Aadressid ja muu</translation>
-<translation id="8474733733775441349">Paroolide kuvamine teie Google'i kontolt</translation>
 <translation id="8475313423285172237">Teine programm teie arvutis lisas laienduse, mis võib muuta Chrome'i toimimist.</translation>
 <translation id="8477241577829954800">Asendatud</translation>
 <translation id="8477384620836102176">&amp;Üldine</translation>
@@ -6134,6 +6148,7 @@
 <translation id="8590375307970699841">Automaatsete värskenduste seadistamine</translation>
 <translation id="8591783563402255548">1 sekund</translation>
 <translation id="8592141010104017453">Ära kuva märguandeid üldse</translation>
+<translation id="859246725979739260">Juurdepääs teie asukohale on selle saidi jaoks blokeeritud.</translation>
 <translation id="8593121833493516339">Saada kasutus- ja diagnostikaandmeid. Aidake täiustada oma lapse Androidi kasutuskogemust, saates Google'ile automaatselt seadme teavet ning rakenduse kasutus- ja  diagnostikaandmeid. Neid andmeid ei kasutata teie lapse isiku tuvastamiseks ning need aitavad parandada süsteemi ja rakenduse stabiilsust ning muud. Teatud koondandmed on abiks ka Google'i rakendustele ja partneritele, näiteks Androidi arendajatele. Kui täiendavad veebi- ja rakendustegevused on teie lapse jaoks sisse lülitatud, võidakse need andmed salvestada tema Google'i kontole. <ph name="BEGIN_LINK1" />Lisateave<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Jäädvusta video</translation>
 <translation id="8596540852772265699">Kohandatud failid</translation>
@@ -6146,6 +6161,7 @@
 <translation id="860909219589324847">Ära kasuta teisaldamiseks kunagi andmesidet</translation>
 <translation id="8609465669617005112">Liiguta üles</translation>
 <translation id="8610103157987623234">Vale vorming, proovige uuesti</translation>
+<translation id="8611682088849615761">Luba selle saidi jaoks jätkuvalt MIDI-seadmete täielik juhtimisõigus</translation>
 <translation id="8613164732773110792">Ainult väiketähed, numbrid, alljooned ja sidekriipsud</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> on turvakontrolli tegemiseks liiga suur. Saate avada kuni 50 MB faile.</translation>
 <translation id="8615618338313291042">Inkognito rakendus: <ph name="APP_NAME" /></translation>
@@ -6288,6 +6304,7 @@
 <translation id="8761945298804995673">See kasutaja on juba olemas</translation>
 <translation id="8762886931014513155">Teie <ph name="DEVICE_TYPE" /> vajab värskendamist</translation>
 <translation id="8763927697961133303">USB-seade</translation>
+<translation id="87646919272181953">Teenuse Google Photos album</translation>
 <translation id="8767621466733104912">Värskenda Chrome'i automaatselt kõikide kasutajate jaoks</translation>
 <translation id="8770406935328356739">Laienduse juurkataloog</translation>
 <translation id="8770507190024617908">Halda inimesi</translation>
@@ -6604,6 +6621,7 @@
 <translation id="9147392381910171771">&amp;Valikud</translation>
 <translation id="9148058034647219655">Välju</translation>
 <translation id="9148126808321036104">Logige uuesti sisse</translation>
+<translation id="9148963623915467028">Sellel saidil on juurdepääs teie asukohale.</translation>
 <translation id="9149866541089851383">Muuda...</translation>
 <translation id="9150045010208374699">Kaamera kasutamine</translation>
 <translation id="9153934054460603056">Salvesta identiteet ja parool</translation>
diff --git a/chrome/app/resources/generated_resources_eu.xtb b/chrome/app/resources/generated_resources_eu.xtb
index 72168e1..8ab2345 100644
--- a/chrome/app/resources/generated_resources_eu.xtb
+++ b/chrome/app/resources/generated_resources_eu.xtb
@@ -3,6 +3,7 @@
 <translationbundle lang="eu">
 <translation id="1001307489511021749">Aplikazioak, ezarpenak eta pertsonalizatzeko beste aukera batzuk sinkronizatu egingo dira Chrome OS darabilten eta Google-ko kontuan saioa hasita daukaten gailu guztien artean.</translation>
 <translation id="1003088604756913841">Ireki esteka <ph name="APP" /> aplikazioaren beste leiho batean</translation>
+<translation id="1003363546227723021">Pantaila inaktibo dagoenean, erakutsi argazkiak, ordua, eguraldia eta albisteak</translation>
 <translation id="1004218526896219317">Webgunerako sarbidea</translation>
 <translation id="1005274289863221750">Erabili mikrofonoa eta kamera</translation>
 <translation id="1005333234656240382">ADB arazketa gaitu nahi duzu?</translation>
@@ -38,7 +39,6 @@
 <translation id="1038168778161626396">Zifratu soilik</translation>
 <translation id="1038462104119736705">Linux instalatzeko, gutxienez <ph name="INSTALL_SIZE" /> eduki behar dira libre. Tokia egiteko, ezabatu gailuan dauden fitxategiak.</translation>
 <translation id="1039337018183941703">Fitxategiak ez du balio edo hondatuta dago</translation>
-<translation id="104086161873270383">Profil berria</translation>
 <translation id="1041175011127912238">Orriak ez du erantzuten</translation>
 <translation id="1041263367839475438">Gailu erabilgarriak</translation>
 <translation id="1042174272890264476">Ordenagailuak <ph name="SHORT_PRODUCT_NAME" /> produktuaren RLZ liburutegia ere du integratuta. RLZ liburutegiak esklusiboa ez den eta pertsonalki identifikatu ezin zaitzakeen etiketa bat esleitzen du promozio-kanpaina jakin batek sortutako bilaketak eta <ph name="SHORT_PRODUCT_NAME" /> produktuaren erabilera neurtzeko. Etiketa horiek <ph name="PRODUCT_NAME" /> produktuko Google Bilaketa kontsultetan agertzen dira batzuetan.</translation>
@@ -94,6 +94,7 @@
 <translation id="1108600514891325577">&amp;Gelditu</translation>
 <translation id="1110155001042129815">Itxaron</translation>
 <translation id="1112420131909513020">Atzeko planoko fitxa bat Bluetooth-a erabiltzen ari da</translation>
+<translation id="1113892970288677790">Hautatu guk aukeratutako artelan eta irudietako bat</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
 <translation id="1114202307280046356">Diamantea</translation>
 <translation id="1114335938027186412">Ordenagailuak Trusted Platform Module (TPM) segurtasun-gailua du; Chrome OS sisteman ezinbesteko segurtasun-eginbideak inplementatzeko erabiltzen da hori. Informazio gehiago lortzeko, joan Chromebook laguntza-zentrora: https://support.google.com/chromebook/?p=tpm</translation>
@@ -201,6 +202,7 @@
 <translation id="1224275271335624810">Bizkorrena</translation>
 <translation id="1225177025209879837">Eskaera prozesatzen…</translation>
 <translation id="1227507814927581609">Ezin izan da autentifikatu "<ph name="DEVICE_NAME" />" gailura konektatzen saiatzean.</translation>
+<translation id="1230417814058465809">Babes estandarra dago aktibatuta. Segurtasun handiagoa nahi baduzu, erabili babes hobetua.</translation>
 <translation id="1231733316453485619">Sinkronizazioa aktibatu nahi duzu?</translation>
 <translation id="1232569758102978740">Izengabea</translation>
 <translation id="1233497634904001272">Eskaera osatzeko, sakatu segurtasun-giltza berriro.</translation>
@@ -277,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> azpiorriko Atzera botoia</translation>
 <translation id="1322046419516468189">Ikusi eta kudeatu gordetako pasahitzak hemen: <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Eraso bideratuak jasotzeko arriskuan dagoen edonoren Google-ko kontu pertsonala babesten du</translation>
-<translation id="1325985428688410772">Gehitu eremu bat</translation>
 <translation id="1326317727527857210">Beste gailuetako fitxak eskura izateko, hasi saioa Chrome-n.</translation>
 <translation id="1327074568633507428">Google Cloud Print zerbitzuan dagoen inprimagailua</translation>
 <translation id="1327272175893960498">Kerberos-eko zerbitzu-eskaerak</translation>
@@ -747,7 +748,6 @@
 <translation id="1868553836791672080">Pasahitzak egiaztatzeko eginbidea ez dago erabilgarri Chromium-en</translation>
 <translation id="1871534214638631766">Erakutsi erlazionatutako informazioa edukia eskuineko botoiarekin edo luze sakatzean</translation>
 <translation id="1871615898038944731">Eguneratuta dago <ph name="DEVICE_TYPE" /> gailua</translation>
-<translation id="1874835396235780806">Pasahitz hau eta beste batzuk gorde nahi dituzu Google-ko kontuan?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Eraman fitxa beste leiho batera}other{Eraman fitxak beste leiho batera}}</translation>
 <translation id="1875386316419689002">Fitxa hau HID gailu batekin konektatuta dago.</translation>
 <translation id="1875387611427697908"><ph name="CHROME_WEB_STORE" /> dendatik soilik gehi daiteke</translation>
@@ -760,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" /> sarea. <ph name="NETWORK_NAME" />. Konektatu.</translation>
 <translation id="1884705339276589024">Aldatu Linux-eko diskoaren tamaina</translation>
 <translation id="1885106732301550621">Diskoko tokia</translation>
-<translation id="1885190042244431215">Ikastetxeko kontu bat gehituz gero, haurrak erraz hasi ahalko du saioa ikasle gisa webgune eta aplikazioetan, baina gurasoen murriztapenen mende egoteari utzi gabe.</translation>
 <translation id="1886996562706621347">Baimendu webguneei protokoloen kudeatzaile lehenetsi bihurtzeko baimena eskatzea (gomendatua)</translation>
 <translation id="1887442540531652736">Errore bat gertatu da saioa hastean</translation>
 <translation id="1887597546629269384">Esan berriro "Ok Google"</translation>
@@ -1249,6 +1248,7 @@
 <translation id="249113932447298600"><ph name="DEVICE_LABEL" /> gailua ez da bateragarria une honetan.</translation>
 <translation id="2492461744635776704">Ziurtagiria sinatzeko eskaera prestatzen</translation>
 <translation id="249303669840926644">Ezin izan da amaitu erregistratzen</translation>
+<translation id="2493126929778606526">Zure argazkirik onenak, automatikoki hautatuta</translation>
 <translation id="2495777824269688114">Ezagutu eginbide gehiago eta lortu erantzunak. Laguntza lortzeko, hautatu "?".</translation>
 <translation id="2496180316473517155">Arakatze-historia</translation>
 <translation id="2497229222757901769">Saguaren abiadura</translation>
@@ -1341,6 +1341,7 @@
 <translation id="2604255671529671813">Sareko konexioaren errorea</translation>
 <translation id="2606246518223360146">Lotu datuak</translation>
 <translation id="2607101320794533334">Hartzailearen gako publikoaren informazioa</translation>
+<translation id="2607968157341167679">Ez dago albumik. Sortu bat <ph name="LINK_BEGIN" />Google Argazkiak<ph name="LINK_END" /> zerbitzuan.</translation>
 <translation id="2609896558069604090">Sortu lasterbideak…</translation>
 <translation id="2610157865375787051">Inaktibo</translation>
 <translation id="2610260699262139870">&amp;Benetako tamaina</translation>
@@ -1477,6 +1478,7 @@
 <translation id="2762441749940182211">Kamera blokeatuta dago</translation>
 <translation id="2764786626780673772">VPN konexioaren xehetasunak</translation>
 <translation id="2765217105034171413">Txikia</translation>
+<translation id="2765729904637714153">Ekarri gogora zure oroitzapen gogokoenak. Albumak gehitu edo editatzeko, joan <ph name="LINK_BEGIN" />Google Argazkiak<ph name="LINK_END" /> zerbitzura.</translation>
 <translation id="2766006623206032690">It&amp;satsi eta listo</translation>
 <translation id="2766161002040448006">Galdetu guraso bati</translation>
 <translation id="2767127727915954024"><ph name="ORIGIN" /> webguneak <ph name="FILENAME" /> fitxategia editatzeko baimena izango du webguneko fitxa guztiak ixten dituzun arte</translation>
@@ -2107,6 +2109,7 @@
 <translation id="3566325075220776093">Gailu honetatik</translation>
 <translation id="3566721612727112615">Ez da gehitu webgunerik</translation>
 <translation id="3569382839528428029">Zure pantaila partekatzeko baimena eman nahi diozu <ph name="APP_NAME" /> aplikazioari?</translation>
+<translation id="3569407787324516067">Pantaila-babeslea</translation>
 <translation id="3569682580018832495"><ph name="ORIGIN" /> webguneak honako fitxategi eta karpeta hauek ikus ditzake</translation>
 <translation id="3571734092741541777">Konfiguratu</translation>
 <translation id="3574210789297084292">hasi saioa</translation>
@@ -2193,7 +2196,6 @@
 <translation id="3654045516529121250">Irakurri erabilerraztasun-ezarpenak</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Sarbide iraunkorra du fitxategi batetara.}other{Sarbide iraunkorra du # fitxategitara.}}</translation>
 <translation id="3660234220361471169">Ez-fidagarria</translation>
-<translation id="3661172646479098821">Une honetan, eginbidea Android-eko gailuetan bakarrik dago erabilgarri.</translation>
 <translation id="3664511988987167893">Luzapenaren ikonoa</translation>
 <translation id="3665589677786828986">Beste programa batek ezarpen batzuk hondatu dituela hauteman du Chrome-k. Ezarpen horien jatorrizko balio lehenetsiak berrezarri dira.</translation>
 <translation id="3668801437375206837">Bluetooth bidezko konexioaren arazoak hobeto diagnostikatzeko, Google-ko langileek Bluetooth konexioari buruzko erregistro gehiago erants diezazkiekete oharren txostenei. Aukera hau markatuta dagoenean, txostenek uneko saioaren btsnoop eta HCI erregistroak eduki ditzakete, baina pertsonalki identifikatzeko balio duen informazioa kendu egingo da ahal den heinean. Listnr-eko Chrome OS produktuaren taldearen kudeatzaileek soilik atzi ditzakete erregistrook. 90 egunen buruan ezabatuko dira guztiz erregistroak.</translation>
@@ -2255,6 +2257,7 @@
 <translation id="3727148787322499904">Ezarpen hau aldatzeak partekatutako sare guztietan izango du eragina</translation>
 <translation id="3727187387656390258">Ikuskatu leiho gainerakorra</translation>
 <translation id="372722114124766626">Behin soilik</translation>
+<translation id="3728188878314831180">Ikusi telefonoko jakinarazpenak</translation>
 <translation id="3728681439294129328">Konfiguratu sarearen helbidea</translation>
 <translation id="3729303374699765035">Eskatu nire baimena webgune batek inguruko Bluetooth bidezko gailuak bilatu nahi dituenean</translation>
 <translation id="3729506734996624908">Onartutako webguneak</translation>
@@ -2764,6 +2767,7 @@
 <translation id="4370975561335139969">Idatzitako helbide elektronikoa eta pasahitza ez datoz bat</translation>
 <translation id="4374831787438678295">Linux-en instalatzailea</translation>
 <translation id="4375035964737468845">Ireki deskargatutako fitxategiak</translation>
+<translation id="4376226992615520204">Kokapena erabiltzeko baimena desaktibatuta dago</translation>
 <translation id="4377363674125277448">Arazo bat izan da zerbitzariaren ziurtagiriarekin.</translation>
 <translation id="4378154925671717803">Telefonoa</translation>
 <translation id="4378373042927530923">Ez da exekutatu</translation>
@@ -2963,7 +2967,6 @@
 <translation id="4619615317237390068">Beste gailu batzuetako fitxak</translation>
 <translation id="4620809267248568679">Luzapen batek betearazten du ezarpena.</translation>
 <translation id="4623189117674524348">Sistemak ezin izan dio eman APIa atzitzeko baimenik gailu honi.</translation>
-<translation id="4624190781974168453">Galdetu abioan</translation>
 <translation id="4625078469366263107">Gaitu aplikazioa</translation>
 <translation id="4627427111733173920">Cookieak blokeatuta daude</translation>
 <translation id="4627442949885028695">Jarraitu beste gailu batetik</translation>
@@ -3393,7 +3396,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" luzapenaren bertsiorik berriena desgaitu egin da baimen gehigarriak behar dituelako.</translation>
 <translation id="5185500136143151980">Ez dago Interneteko konexiorik</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Aukeren menua <ph name="PROFILE_LOCAL_NAME" /> profilerako</translation>
 <translation id="5190926251776387065">Aktibatu ataka</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> webguneak fitxategi bat baino gehiago deskargatu nahi ditu</translation>
 <translation id="5192062846343383368">Zabaldu Family Link aplikazioa gainbegiratze-ezarpenak ikusteko.</translation>
@@ -3769,6 +3771,7 @@
 <translation id="5642508497713047">CRL sinatzailea</translation>
 <translation id="5643321261065707929">Sare neurtua</translation>
 <translation id="5643620609347735571">Garbitu eta egin aurrera</translation>
+<translation id="5646376287012673985">Kokapena</translation>
 <translation id="5646558797914161501">Enpresaria</translation>
 <translation id="5648166631817621825">Azken zazpi egunetakoak</translation>
 <translation id="5649053991847567735">Deskarga automatikoak</translation>
@@ -4475,7 +4478,6 @@
 <translation id="6531282281159901044">Gorde fitxategi arriskutsua</translation>
 <translation id="6532101170117367231">Gorde Google Drive-n</translation>
 <translation id="6532106788206463496">Gorde aldaketak</translation>
-<translation id="6532113437901537254">Zure Google-ko kontuko pasahitzak ere erabilgarri egongo dira gailuan saioa hasita daukazunean</translation>
 <translation id="6532206849875187177">Segurtasuna eta saio-hasiera</translation>
 <translation id="6532527800157340614">Ezin izan da hasi saioa, ezin izan delako eskuratu sarbide-tokena. Egiaztatu sarera konektatuta zaudela eta saiatu berriro.</translation>
 <translation id="6532663472409656417">Enpresan erregistratua</translation>
@@ -4698,6 +4700,7 @@
 <translation id="6824584962142919697">&amp;Aztertu elementuak</translation>
 <translation id="6825184156888454064">Ordenatu izenaren arabera</translation>
 <translation id="6826872289184051766">Egiaztatu USB bidez</translation>
+<translation id="6827623133556594466">Abenduaren 31ren ondoren ezingo da erabili Google Cloud Print. <ph name="BEGIN_LINK" />Lortu informazio gehiago<ph name="END_LINK" /></translation>
 <translation id="6828153365543658583">Mugatu erabiltzaile hauen saio-hasiera:</translation>
 <translation id="6828182567531805778">Datuak sinkronizatzeko, idatzi pasaesaldia</translation>
 <translation id="682871081149631693">QuickFix</translation>
@@ -5004,9 +5007,6 @@
 <translation id="7201118060536064622">Ezabatu da "<ph name="DELETED_ITEM_NAME" />"</translation>
 <translation id="7201420661433230412">Ikusi fitxategiak</translation>
 <translation id="7203150201908454328">Zabalduta</translation>
-<translation id="7203826966018112936">Profilean ikastetxeko kontu bat gehituz gero, haurrak erraz hasi ahalko du saioa ikasle gisa webgune eta aplikazioetan, baina gurasoen murriztapenen mende egoteari utzi gabe. Horrela, ezingo ditu atzitu ikastetxeko kontuarekin sinkronizatutako laster-markak, pasahitzak edo bestelako arakatze-datuak.&lt;br&gt;&lt;br&gt;
-Haurrak ikastetxean Chromebook bat erabiltzen badu, eta etxean ere ikastetxeko baldintza beretan lan egiteko aukera eskaini nahi badiozu behar duen material guztietarako sarbidea izan dezan, amaitu saioa Family Link-eko kontu honetan eta hasi saioa ikastetxeko kontuarekin Chrome OS-ko kontuen orrian (oharra: ez dira aplikatuko Family Link-en gurasoen murriztapenak).&lt;br&gt;&lt;br&gt;
-Haurrak ikastetxean ez badu Chromebook-ik erabiltzen, edo nahiago baduzu etxean egiten duena Family Link-en bidez kudeatu, sakatu Hurrengoa botoia eta gehitu ikastetxeko kontu bat profil honetan.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> deskargatzen…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Irten orritik}other{Irten orrietatik}}</translation>
 <translation id="7207457272187520234">Bidali erabilera- eta diagnostiko-datuak. Gailu honek automatikoki bidaltzen dizkio Google-ri diagnostikoak eta gailu zein aplikazioen erabilera-datuak. Horri esker, sistemaren eta aplikazioen egonkortasuna hobetuko da, besteak beste. Gainera, multzokatutako datu batzuk oso baliagarriak izango dira Google-ren aplikazioak hobetzeko eta bazkideei laguntzeko (adibidez, Android-en garatzaileei). Jabeak konfiguratu du ezarpen hori. Sareko eta aplikazioetako jarduera gehigarriak ezarpena aktibatuta badago, baliteke datu horiek Google-ko kontuan gordetzea.</translation>
@@ -5149,7 +5149,6 @@
 <translation id="7388044238629873883">Ia amaitu duzu!</translation>
 <translation id="7392118418926456391">Birus-analisiak huts egin du</translation>
 <translation id="7392915005464253525">Ir&amp;eki leihoa berriro</translation>
-<translation id="7393472013449507620">"*" komodina duten ezarpenak ez dira onartzen jada. <ph name="BEGIN_LINK" />Ezarpen hauek aldatzeko<ph name="END_LINK" />, jarri luzapenaren garatzailearekin edo administratzailearekin harremanetan.</translation>
 <translation id="7396017167185131589">Partekatutako karpetak agertuko dira hemen.</translation>
 <translation id="7396845648024431313">Sistemarekin batera abiaraziko da <ph name="APP_NAME" /> aplikazioa, eta atzeko planoan funtzionatzen jarraituko du <ph name="PRODUCT_NAME" /> aplikazioaren beste leiho guztiak itxi ondoren ere.</translation>
 <translation id="7399045143794278225">Pertsonalizatu sinkronizazioa</translation>
@@ -5262,6 +5261,7 @@
 <translation id="7526989658317409655">Leku-marka</translation>
 <translation id="7529411698175791732">Egiaztatu Internetera konektatuta zaudela. Arazoak badirau, probatu saioa amaitu eta berriro hasita.</translation>
 <translation id="7530016656428373557">Deskarga-abiadura wattetan</translation>
+<translation id="7531310913436731628">Kokapena erabiltzeko baimena desaktibatuta dago Mac sistemaren hobespenetan</translation>
 <translation id="7531779363494549572">Joan Ezarpenak &gt; Aplikazioak eta jakinarazpenak &gt; Jakinarazpenak atalera.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> aplikazioak ez du erantzuten. Ixteko, hautatu "Behartu ixtera".</translation>
 <translation id="7537451260744431038">Webguneek ezin dituzte erabili cookieak arakatze-zerbitzua hobetzeko; adibidez, saioa hasita mantentzeko edo erosketa-saskiko produktuak gogoratzeko.</translation>
@@ -5316,6 +5316,7 @@
 <translation id="7605594153474022051">Sinkronizazioa ez dabil.</translation>
 <translation id="7606992457248886637">Ziurtagiri-emaileak</translation>
 <translation id="7607002721634913082">Pausatuta</translation>
+<translation id="7608810328871051088">Android-eko hobespenak</translation>
 <translation id="7609148976235050828">Konektatu Internetera eta saiatu berriro.</translation>
 <translation id="7614260613810441905">Galdetu webgune batek gailuko fitxategiak edo karpetak editatu nahi dituenean (gomendatua)</translation>
 <translation id="761530003705945209">Egin babeskopiak Google Drive-n. Leheneratu gailuaren datuak edo aldatu gailua edonoiz. Aplikazioetako datuak sartzen dira babeskopietan. Babeskopiak Google-ra kargatzen dira, eta Google-ko kontuaren pasahitza erabilita enkriptatzen.</translation>
@@ -5842,6 +5843,7 @@
 <translation id="8225753906568652947">Erabili eskaintzak</translation>
 <translation id="8226222018808695353">Debekatuta</translation>
 <translation id="8226619461731305576">Ezarri ilaran</translation>
+<translation id="8226628635270268143">Aukeratu gogoko dituzun argazki eta albumak</translation>
 <translation id="8226742006292257240">Behean duzu ausaz sortutako eta zure ordenagailuari esleitutako TPM pasahitza:</translation>
 <translation id="8227119283605456246">Erantsi fitxategia</translation>
 <translation id="8229943166551236192">Gailuko datuak 24 ordu barru ezabatuko dira</translation>
@@ -6039,7 +6041,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> webgunean gordetako pasahitzak</translation>
 <translation id="8472623782143987204">hardwarean gordeak</translation>
 <translation id="8473863474539038330">Helbideak eta beste</translation>
-<translation id="8474733733775441349">Erakutsi Google-ko kontuko pasahitzak</translation>
 <translation id="8475313423285172237">Ordenagailuan duzun beste programa batek Chrome-ren funtzionamendua alda dezakeen luzapen bat gehitu du.</translation>
 <translation id="8477241577829954800">Ordeztua</translation>
 <translation id="8477384620836102176">&amp;Orokorra</translation>
@@ -6340,6 +6341,7 @@
 <translation id="882854468542856424">Ez baimendu inongo webguneri inguruko Bluetooth bidezko gailuak bilatzea</translation>
 <translation id="8828933418460119530">DNS izena</translation>
 <translation id="883062543841130884">Ordezkapenak</translation>
+<translation id="8830779999439981481">Gailua berrabiarazten, eguneratzeak aplikatzeko</translation>
 <translation id="8830796635868321089">Ezin izan da egiaztatu eguneratzerik dagoen uneko proxy-ezarpenak erabilita. Doitu <ph name="PROXY_SETTINGS_LINK_START" />proxy-ezarpenak<ph name="PROXY_SETTINGS_LINK_END" />.</translation>
 <translation id="8831140208248705279"><ph name="DEVICE_TYPE" /> gailuak eta Android-eko telefonoak hobeto funtzionatzen dute elkarrekin. Konekta itzazu testu-mezuak ordenagailutik bidali, Interneteko konexioa partekatu eta <ph name="DEVICE_TYPE" /> gailua telefonoaren bitartez desblokeatu ahal izateko.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Lortu informazio gehiago<ph name="LINK_END" />.</translation>
 <translation id="8834039744648160717"><ph name="USER_EMAIL" /> erabiltzaileak kontrolatzen du sarearen konfigurazioa.</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb
index afb9884..3a96a43 100644
--- a/chrome/app/resources/generated_resources_fa.xtb
+++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">فقط به رمز درآورد</translation>
 <translation id="1038462104119736705">‏توصیه می‌شود حداقل <ph name="INSTALL_SIZE" /> فضا برای Linux داشته باشید. برای افزایش فضای آزاد، فایل‌ها را از دستگاه حذف کنید.</translation>
 <translation id="1039337018183941703">فایل نامعتبر یا خراب است</translation>
-<translation id="104086161873270383">نمایه جدید</translation>
 <translation id="1041175011127912238">این صفحه پاسخ نمی‌دهد</translation>
 <translation id="1041263367839475438">دستگاه‌های در دسترس</translation>
 <translation id="1042174272890264476">‏‫همچنین کتابخانه RLZ‏ <ph name="SHORT_PRODUCT_NAME" /> از قبل بر روی رایانه شما نصب شده است. RLZ یک برچسب غیرمنحصر بفرد و غیرقابل‌شناسایی برای سنجش جستجوها و استفاده از <ph name="SHORT_PRODUCT_NAME" /> اختصاص می‌دهد که توسط یک کمپین تبلیغاتی خاص ارائه می‌شود. در بعضی مواقع در <ph name="PRODUCT_NAME" /> این برچسب‌ها در عباراتی که در جستجوی Goole جستجو می‌شوند نمایان می‌شوند.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">دکمه برگشت صفحه فرعی <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">در <ph name="SAVED_PASSWORDS_STORE" /> گذرواژه‌های ذخیره‌شده‌تان را مشاهده و مدیریت کنید</translation>
 <translation id="1324106254079708331">‏از «حساب‌های Google» شخصی همه افرادی که درخطر حمله هدفمند قرار دارند حفاظت می‌کند</translation>
-<translation id="1325985428688410772">افزودن فضا</translation>
 <translation id="1326317727527857210">‏برای دسترسی به برگه‌هایتان در دستگاه‌های دیگر، به سیستم Chrome وارد شوید.</translation>
 <translation id="1327074568633507428">‏چاپگر در Google Cloud Print</translation>
 <translation id="1327272175893960498">‏بلیت‌های Kerberos</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">‏بررسی گذرواژه در Chromium دردسترس نیست</translation>
 <translation id="1871534214638631766">با فشار طولانی یا کلیک راست روی محتوا، اطلاعات مرتبط را نمایش می‌دهد</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> شما به‌ روز است</translation>
-<translation id="1874835396235780806">‏این گذرواژه و گذرواژه‌های دیگر در «حساب Google» شما ذخیره شوند؟</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{انتقال برگه به پنجره‌ای دیگر}one{انتقال برگه‌ها به پنجره‌ای دیگر}other{انتقال برگه‌ها به پنجره‌ای دیگر}}</translation>
 <translation id="1875386316419689002">‏این برگه به دستگاه HID متصل است.</translation>
 <translation id="1875387611427697908">این مورد را فقط می‌توان از <ph name="CHROME_WEB_STORE" /> اضافه کرد</translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420">شبکه <ph name="NETWORK_INDEX" /> از <ph name="NETWORK_COUNT" />، <ph name="NETWORK_NAME" />، اتصال</translation>
 <translation id="1884705339276589024">‏تغییر اندازه دیسک Linux</translation>
 <translation id="1885106732301550621">فضای دیسک</translation>
-<translation id="1885190042244431215">با افزودن حساب محل تحصیل، دانش‌آموز می‌تواند به‌راحتی به سیستم وب‌سایت‌ها و افزونه‌ها وارد شود و همچنان تحت کنترل‌های والدین عمل کند.</translation>
 <translation id="1886996562706621347">به سایت‌ها اجازه داده شود درخواست کنند که کنترل‌کننده پیش‌فرض برای پروتکل‌ها شوند (توصیه می‌شود)</translation>
 <translation id="1887442540531652736">خطای ورود به سیستم</translation>
 <translation id="1887597546629269384">‏دوباره بگویید «Hey Google»</translation>
@@ -2197,7 +2193,6 @@
 <translation id="3654045516529121250">خواندن تنظیمات دسترس‌پذیری خودتان</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{به یک فایل دسترسی دائم دارد.}one{به # فایل دسترسی دائم دارد.}other{به # فایل دسترسی دائم دارد.}}</translation>
 <translation id="3660234220361471169">غیر قابل اطمینان</translation>
-<translation id="3661172646479098821">‏درحال‌حاضر فقط دستگاه‌های Android پشتیبانی می‌شود.</translation>
 <translation id="3664511988987167893">نماد افزونه</translation>
 <translation id="3665589677786828986">‏Chrome تشخیص داد که برنامه دیگری برخی از تنظیمات شما را خراب کرده است و این تنظیمات را به پیش‌فرض‌های اولیه آن‌ها بازنشانی کرد.</translation>
 <translation id="3668801437375206837">‏برای بهبود رفع مشکلات بلوتوث، کارمندان Google می‌توانند گزارش‌های بلوتوث اضافی‌ای را با گزارش‌های بازخورد شما همراه کنند. وقتی این گزینه انتخاب شود، گزارشتان شامل گزارش‌های btsnoop و HCI جلسهٔ اخیرتان نیز می‌شود، که با برداشتن اطلاعات قابل‌شناسایی شخصی (PII) تا جای ممکن پاک‌سازی شده است. فقط مدیران گروه محصول سیستم‌عامل Chrome در Listnr به این گزارش‌ها دسترسی دارند. گزارش‌ها پس از ۹۰ روز حذف دائم می‌شود.</translation>
@@ -2769,6 +2764,7 @@
 <translation id="4370975561335139969">ایمیل و گذرواژه‌ای که وارد کرده‌اید، مطابقت ندارند</translation>
 <translation id="4374831787438678295">‏نصب‌کننده Linux</translation>
 <translation id="4375035964737468845">باز کردن فایل‌های بارگیری‌شده</translation>
+<translation id="4376226992615520204">مکان خاموش است</translation>
 <translation id="4377363674125277448">مشکلی در رابطه با گواهی سرور پیش آمد.</translation>
 <translation id="4378154925671717803">تلفن</translation>
 <translation id="4378373042927530923">اجرا نشد</translation>
@@ -2968,7 +2964,6 @@
 <translation id="4619615317237390068">برگه‌ها از دستگاه‌های دیگر</translation>
 <translation id="4620809267248568679">این تنظیم توسط یک برنامهٔ افزودنی به اجرا گذاشته می‌شود.</translation>
 <translation id="4623189117674524348">سیستم نتوانست مجوز دسترسی میانای برنامه‌سازی کاربردی را برای این دستگاه صادر کند.</translation>
-<translation id="4624190781974168453">هنگام شروع به کار سؤال شود</translation>
 <translation id="4625078469366263107">فعال کردن برنامه</translation>
 <translation id="4627427111733173920">کوکی‌ها مسدود شدند</translation>
 <translation id="4627442949885028695">ادامه از دستگاه دیگری</translation>
@@ -3398,7 +3393,6 @@
 <translation id="5185386675596372454">جدیدترین نسخه از "<ph name="EXTENSION_NAME" />" غیر فعال شده است زیرا به مجوزهای بیشتری نیاز دارد.</translation>
 <translation id="5185500136143151980">اتصال اینترنت وجود ندارد</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">منوی گزینه‌ها برای <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">فعال کردن درگاه</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> می‌خواهد چند فایل را بارگیری کند</translation>
 <translation id="5192062846343383368">‏برای مشاهده تنظیمات نظارت، برنامه Family Link را باز کنید</translation>
@@ -3774,6 +3768,7 @@
 <translation id="5642508497713047">‏امضاکننده CRL</translation>
 <translation id="5643321261065707929">شبکه محدود</translation>
 <translation id="5643620609347735571">پاک کردن و ادامه دادن</translation>
+<translation id="5646376287012673985">مکان</translation>
 <translation id="5646558797914161501">تاجر</translation>
 <translation id="5648166631817621825">۷ روز گذشته</translation>
 <translation id="5649053991847567735">بارگیری‌های خودکار</translation>
@@ -4480,7 +4475,6 @@
 <translation id="6531282281159901044">حفظ فایل خطرناک</translation>
 <translation id="6532101170117367231">‏‫ذخیره در Google Drive</translation>
 <translation id="6532106788206463496">ذخیره تغییرات</translation>
-<translation id="6532113437901537254">‏وقتی به سیستم وارد شده باشید، گذرواژه‌ها از «حساب Google» شما هم در این دستگاه دردسترس خواهند بود</translation>
 <translation id="6532206849875187177">امنیت و ورود به سیستم</translation>
 <translation id="6532527800157340614">ورود به سیستم انجام نشد، زیرا کد دسترسی شما بازیابی نشد. لطفاً اتصال شبکه‌تان را بررسی کنید و دوباره امتحان کنید.</translation>
 <translation id="6532663472409656417">ثبت شرکتی</translation>
@@ -5010,9 +5004,6 @@
 <translation id="7201118060536064622">«<ph name="DELETED_ITEM_NAME" />» حذف شد</translation>
 <translation id="7201420661433230412">مشاهده فایل‌ها</translation>
 <translation id="7203150201908454328">باز شده</translation>
-<translation id="7203826966018112936">‏افزودن حساب محل تحصیل باعث می‌شود ورود به سیستم وب‌سایت‌ها و افزونه‌ها به‌عنوان دانش‌آموز آسان شود (البته همچنان با کنترل‌های والدین). این کار به کودک اجازه نمی‌دهد به نشانک‌ها، گذرواژه‌ها یا دیگر داده‌های مرورگر همگام‌سازی‌شده با حساب محل تحصیل دسترسی داشته باشد.&lt;br&gt;&lt;br&gt;
-    اگر کودکتان از Chromebook در محل تحصیل استفاده کند و می‌خواهید همان تجربه مدرسه را در خانه داشته باشید تا مطمئن شوید کودکتان به همه تکالیف ضروری مدرسه دسترسی دارد، لطفاً از سیستم این حساب Family Link خارح شوید و از صفحه حساب‌های Chrome OS به سیستم حساب محل تحصیل وارد شوید (توجه: کنترل‌های والدین Family Link اعمال نخواهد شد).&lt;br&gt;&lt;br&gt;
-    اگر کودکتان از Chromebook در مدرسه استفاده نمی‌کند یا اگر ترجیح می‌دهید تجربه کودکتان را بااستفاده از Family Link در خانه مدیریت کنید، لطفاً برای افزودن حساب محل تحصیل به این نمایه، روی دکمه «بعدی» کلیک کنید.</translation>
 <translation id="7206693748120342859">در حال بارگیری <ph name="PLUGIN_NAME" />…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{خروج از صفحه}one{خروج از صفحه‌ها}other{خروج از صفحه‌ها}}</translation>
 <translation id="7207457272187520234">‏داده‌های استفاده و عیب‌یابی را ارسال کنید. این دستگاه درحال‌حاضر به‌صورت‌ خودکار داده‌های عیب‌یابی و داده‌های استفاده از دستگاه و برنامه را برای Google ارسال می‌کند. این داده‌ها به بهبود پایداری سیستم و برنامه و موارد دیگر کمک خواهد کرد. بعضی داده‌های انبوهشی نیز به برنامه‌ها و شرکای Google (مانند «برنامه‌نویس‌های Android») کمک می‌کند. این تنظیم را مالک اعمال می‌کند. اگر تنظیم «فعالیت وب و برنامه» تکمیلی روشن باشد، ممکن است این داده‌ها در «حساب Google» شما ذخیره شود.</translation>
@@ -5155,7 +5146,6 @@
 <translation id="7388044238629873883">شما تقریباً آماده‌اید!</translation>
 <translation id="7392118418926456391">اسکن ویروس انجام نشد</translation>
 <translation id="7392915005464253525">با&amp;ز کردن مجدد پنجره بسته</translation>
-<translation id="7393472013449507620">تنظیمات دارای نویسه عام «*» دیگر پشتیبانی نمی‌شود. برای <ph name="BEGIN_LINK" />تغییر دادن این تنظیمات<ph name="END_LINK" /> با برنامه‌نویس افزونه یا سرپرستتان تماس بگیرید.</translation>
 <translation id="7396017167185131589">پوشه‌های هم‌رسانی‌شده اینجا ظاهر خواهند شد</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> در هنگام راه‌اندازی سیستم شروع به کار می‌کند و در پس‌زمینه همچنان فعال خواهد بود، حتی زمانی که تمام پنجره‌های دیگر <ph name="PRODUCT_NAME" /> را ببندید.</translation>
 <translation id="7399045143794278225">سفارشی کردن همگام‌سازی</translation>
@@ -5268,6 +5258,7 @@
 <translation id="7526989658317409655">جای‌بان</translation>
 <translation id="7529411698175791732">اتصال اینترنت را بررسی کنید. اگر مشکل حل نشد، از سیستم خارج شوید و دوباره به آن وارد شوید.</translation>
 <translation id="7530016656428373557">نسبت تخلیه به وات</translation>
+<translation id="7531310913436731628">‏مکان در «اولویت‌های سیستم Mac»، خاموش است</translation>
 <translation id="7531779363494549572">به «تنظیمات &gt; برنامه‌ها و اعلان‌ها &gt; اعلان‌ها» بروید.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> پاسخ نمی‌دهد. برای بستن برنامه، «بستن اجباری» را انتخاب کنید.</translation>
 <translation id="7537451260744431038">سایت‌ها نمی‌توانند از کوکی‌ها برای بهبود تجربه مرورتان استفاده کنند، مثلاً برای اینکه شما را درحالت واردشده به سیستم نگه دارند یا موارد موجود در سبد خریدتان را به‌خاطر بسپارند</translation>
@@ -6048,7 +6039,6 @@
 <translation id="8470513973197838199">گذرواژه‌های ذخیره‌شده برای <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">سخت‌افزار پشتیبانی</translation>
 <translation id="8473863474539038330">نشانی‌ها و سایر موارد</translation>
-<translation id="8474733733775441349">‏نمایش گذرواژه‌ها از «حساب Google» شما</translation>
 <translation id="8475313423285172237">‏برنامه‌ای دیگر بر روی رایانه شما یک برنامه افزودنی را اضافه کرده است که ممکن است نحوه کارکرد Chrome را تغییر دهد.</translation>
 <translation id="8477241577829954800">از دور خارج شده</translation>
 <translation id="8477384620836102176">&amp;عمومی</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index 831fbd5..2e34d6d 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Vain salakoodaus</translation>
 <translation id="1038462104119736705">Linuxin käyttöön suositellaan vähintään <ph name="INSTALL_SIZE" /> vapaata tilaa. Lisää vapaata tilaa poistamalla laitteelta tiedostoja.</translation>
 <translation id="1039337018183941703">Virheellinen tai korruptoitunut tiedosto</translation>
-<translation id="104086161873270383">Uusi profiili</translation>
 <translation id="1041175011127912238">Sivu ei vastaa</translation>
 <translation id="1041263367839475438">Käytettävissä olevat laitteet</translation>
 <translation id="1042174272890264476"><ph name="SHORT_PRODUCT_NAME" /> sisältää sisäänrakennetun RLZ-kirjaston. RLZ tuottaa ei-yksilöivän tagin, jolla voidaan mitata tietyn kampanjan aiheuttamia hakuja ja tuotteen <ph name="SHORT_PRODUCT_NAME" /> käyttöä. <ph name="PRODUCT_NAME" /> näyttää ajoittain näitä tunnisteita Google-hakujen kyselyissä.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Alasivun <ph name="SUBPAGE_TITLE" /> takaisin-painike</translation>
 <translation id="1322046419516468189">Katso ja ylläpidä salasanoja: <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Turvaa sellaisten henkilöiden omat Google-tilit, jotka ovat alttiita kohdistetuille hyökkäyksille</translation>
-<translation id="1325985428688410772">Lisää tila</translation>
 <translation id="1326317727527857210">Käytä välilehtiä muilta laitteiltasi kirjautumalla Chromeen.</translation>
 <translation id="1327074568633507428">Tulostin Google Cloud Printissä</translation>
 <translation id="1327272175893960498">Kerberos-tukipyyntö</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Salasanojen tarkistus ei ole saatavilla Chromiumissa</translation>
 <translation id="1871534214638631766">Näytä aiheeseen liittyviä tietoja klikkaamalla sisältöä hiiren kakkospainikkeella tai painamalla sitä pitkään</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> on ajan tasalla.</translation>
-<translation id="1874835396235780806">Tallennetaanko tämä ja muita salasanoja Google-tilillesi?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Siirrä välilehti toiseen ikkunaan}other{Siirrä välilehdet toiseen ikkunaan}}</translation>
 <translation id="1875386316419689002">Tämä välilehti on yhdistetty HID-laitteeseen.</translation>
 <translation id="1875387611427697908"><ph name="CHROME_WEB_STORE" /> on ainoa lähde, josta tämä voidaan lisätä.</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Verkko <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, yhdistä</translation>
 <translation id="1884705339276589024">Muuta Linux-levyn kokoa</translation>
 <translation id="1885106732301550621">Levytila</translation>
-<translation id="1885190042244431215">Kun oppilaitostili lisätään, kirjautuminen sivustoille ja laajennuksiin on helppoa oppilaille lapsilukon asettamissa rajoissa.</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>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Lukea esteettömyysasetuksia.</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Sillä on yhden tiedoston pysyvä käyttöoikeus.}other{Sillä on # tiedoston pysyvä käyttöoikeus.}}</translation>
 <translation id="3660234220361471169">Ei-luotettu</translation>
-<translation id="3661172646479098821">Tällä hetkellä tuetaan vain Android-laitteita.</translation>
 <translation id="3664511988987167893">Laajennuskuvake</translation>
 <translation id="3665589677786828986">Chrome havaitsi, että toinen ohjelma oli muokannut joitakin selainasetuksia, ja palautti asetukset alkuperäisiksi.</translation>
 <translation id="3668801437375206837">Voidakseen diagnosoida Bluetooth-ongelmia paremmin Googlen työntekijät voivat sisällyttää useampia Bluetooth-lokeja palauteraportteihinsa. Kun tämä vaihtoehto on valittu, raporttisi sisältää nykyisen käyttökertasi btsnoop- ja HCI-lokeja, joista on poistettu mahdollisimman paljon henkilökohtaisia tietoja. Näitä lokeja voivat katsella vain Chrome-käyttöjärjestelmän tuoteryhmän ylläpitäjät Listnr:ssä. Lokit poistetaan 90 päivän päästä.</translation>
@@ -2769,6 +2764,7 @@
 <translation id="4370975561335139969">Antamasi sähköpostiosoite ja salasana eivät vastaa toisiaan.</translation>
 <translation id="4374831787438678295">Linux-asennusohjelma</translation>
 <translation id="4375035964737468845">avata ladatut tiedostot</translation>
+<translation id="4376226992615520204">Sijainti poissa päältä</translation>
 <translation id="4377363674125277448">Palvelimen varmenne on virheellinen.</translation>
 <translation id="4378154925671717803">Puhelin</translation>
 <translation id="4378373042927530923">Ei suoritettu</translation>
@@ -2968,7 +2964,6 @@
 <translation id="4619615317237390068">Välilehdet muista laitteista</translation>
 <translation id="4620809267248568679">Laajennus on ottanut käyttöön tämän asetuksen.</translation>
 <translation id="4623189117674524348">Järjestelmä ei voinut sallia sovellusliittymän käyttöä tälle laitteelle.</translation>
-<translation id="4624190781974168453">Kysy käynnistettäessä</translation>
 <translation id="4625078469366263107">Ota sovellus käyttöön</translation>
 <translation id="4627427111733173920">Evästeet estetty</translation>
 <translation id="4627442949885028695">Jatka siitä, mihin jäit toisella laitteella</translation>
@@ -3398,7 +3393,6 @@
 <translation id="5185386675596372454">Laajennuksen <ph name="EXTENSION_NAME" /> uusin versio on poistettu käytöstä, koska se vaatii enemmän käyttöoikeuksia.</translation>
 <translation id="5185500136143151980">Ei internetyhteyttä</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Profiilin (<ph name="PROFILE_LOCAL_NAME" />) asetusvalikko</translation>
 <translation id="5190926251776387065">Aktivoi portti</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> haluaa ladata useita tiedostoja</translation>
 <translation id="5192062846343383368">Avaa Family Link ‑sovellus, niin näet valvonta-asetukset</translation>
@@ -3774,6 +3768,7 @@
 <translation id="5642508497713047">CRL-allekirjoittaja</translation>
 <translation id="5643321261065707929">Maksullinen verkko</translation>
 <translation id="5643620609347735571">Poista ja jatka</translation>
+<translation id="5646376287012673985">Sijainti</translation>
 <translation id="5646558797914161501">Liikemies</translation>
 <translation id="5648166631817621825">Viimeiset seitsemän päivää</translation>
 <translation id="5649053991847567735">Automaattiset lataukset</translation>
@@ -4482,7 +4477,6 @@
 <translation id="6531282281159901044">Pidä haitallinen tiedosto</translation>
 <translation id="6532101170117367231">Tallenna Google Driveen</translation>
 <translation id="6532106788206463496">Tallenna muutokset</translation>
-<translation id="6532113437901537254">Google-tilisi salasanat ovat saatavilla myös tällä laitteella, kun olet kirjautuneena sisään</translation>
 <translation id="6532206849875187177">Suojaus ja sisäänkirjautuminen</translation>
 <translation id="6532527800157340614">Sisäänkirjautuminen epäonnistui, koska käyttötunnustasi ei voitu noutaa. Tarkista verkkoyhteys ja yritä uudelleen.</translation>
 <translation id="6532663472409656417">Yritys rekisteröity</translation>
@@ -5012,9 +5006,6 @@
 <translation id="7201118060536064622"><ph name="DELETED_ITEM_NAME" /> poistettu</translation>
 <translation id="7201420661433230412">Näytä tiedostot</translation>
 <translation id="7203150201908454328">Laajennettu</translation>
-<translation id="7203826966018112936">Jos oppilaitostili lisätään, oppilaiden on helppo kirjautua sivustoille ja laajennuksiin lapsilukon asettamissa rajoissa. Lapsi ei pääse oppilaitostilille synkronoituun selausdataan, kuten kirjanmerkkeihin tai salasanoihin.&lt;br&gt;&lt;br&gt;
-    Jos lapsesi käyttää koulussa Chromebookia ja haluat käyttökokemusten olevan samanlaiset koulussa ja kotona, jolloin lapsi saa kaikki tarvittavat oppimateriaalit, kirjaudu ulos tältä Family Link ‑tililtä ja kirjaudu oppilaitostilille Chrome-käyttöjärjestelmän tilisivulta (Family Linkin lapsilukko ei silloin toimi).&lt;br&gt;&lt;br&gt;
-    Jos lapsi ei käytä koulussa Chromebookia tai päätät mieluummin lapsen käyttökokemuksesta kotona Family Linkin avulla, valitse alta Seuraava lisätäksesi tähän profiiliin oppilaitostilin.</translation>
 <translation id="7206693748120342859">Ladataan <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Sulje sivu}other{Sulje sivut}}</translation>
 <translation id="7207457272187520234">Lähetä käyttö- ja diagnostiikkadataa. Laite lähettää tällä hetkellä diagnostiikkadataa sekä laitteen ja sovellusten käyttödataa automaattisesti Googlelle. Datan avulla parannetaan esimerkiksi järjestelmän ja sovellusten vakautta. Kootusta datasta on hyötyä myös Googlen sovelluksille ja kumppaneille, kuten Android-kehittäjille. Omistaja on ottanut tämän asetuksen käyttöön. Jos olet laittanut päälle muun verkko- ja sovellustoiminnan asetuksen, tätä dataa voidaan tallentaa Google-tilillesi.</translation>
@@ -5157,7 +5148,6 @@
 <translation id="7388044238629873883">Melkein valmista.</translation>
 <translation id="7392118418926456391">Virustarkistus epäonnistui</translation>
 <translation id="7392915005464253525">A&amp;vaa suljettu ikkuna uudelleen</translation>
-<translation id="7393472013449507620">Asetuksia, joissa on jokerimerkki *, ei enää tueta. Pyydä laajennuksen kehittäjää tai järjestelmänvalvojaa <ph name="BEGIN_LINK" />muuttamaan näitä asetuksia<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Jaetut kansiot näkyvät täällä</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> käynnistyy tietokoneen käynnistyksen yhteydessä ja on käynnissä taustalla vielä kaikkien <ph name="PRODUCT_NAME" /> -ikkunoiden sulkemisen jälkeen.</translation>
 <translation id="7399045143794278225">Muokkaa synkronointia</translation>
@@ -5270,6 +5260,7 @@
 <translation id="7526989658317409655">Paikkamerkki</translation>
 <translation id="7529411698175791732">Tarkista internetyhteytesi. Jos ongelma jatkuu, kirjaudu ulos ja sitten takaisin sisään.</translation>
 <translation id="7530016656428373557">Purkautumisnopeus watteina</translation>
+<translation id="7531310913436731628">Sijainti on laitettu pois päältä Macin järjestelmäasetuksista</translation>
 <translation id="7531779363494549572">Valitse Asetukset &gt; Sovellukset ja ilmoitukset &gt; Ilmoitukset.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ei vastaa. Sulje sovellus valitsemalla Pakota sulkeutumaan.</translation>
 <translation id="7537451260744431038">Sivustot eivät voi käyttää evästeitä selauskokemuksesi parantamiseen, esimerkiksi pitää sinua kirjautuneena tai muistaa ostoskorisi sisältöä</translation>
@@ -6049,7 +6040,6 @@
 <translation id="8470513973197838199">Tallennetut salasanat: <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">laitteiston tukema</translation>
 <translation id="8473863474539038330">Osoitteet ja muita tietoja</translation>
-<translation id="8474733733775441349">Näytä Google-tilisi salasanat</translation>
 <translation id="8475313423285172237">Toinen tietokoneellasi oleva ohjelma lisäsi laajennuksen, joka voi muuttaa Chromen toimintaa.</translation>
 <translation id="8477241577829954800">Tarpeeton</translation>
 <translation id="8477384620836102176">&amp;Yleistä</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb
index d1a461a..587c7483b 100644
--- a/chrome/app/resources/generated_resources_fil.xtb
+++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Encipher Lamang</translation>
 <translation id="1038462104119736705">Hindi bababa sa <ph name="INSTALL_SIZE" /> na espasyo ang inirerekomenda para sa Linux. Para madagdagan ang bakanteng espasyo, mag-delete ng mga file sa iyong device.</translation>
 <translation id="1039337018183941703">Di-wasto o sira ang file</translation>
-<translation id="104086161873270383">Bagong Profile</translation>
 <translation id="1041175011127912238">Hindi tumutugon ang page na ito</translation>
 <translation id="1041263367839475438">Mga available na device</translation>
 <translation id="1042174272890264476">Ang iyong computer ay may naka-built in din na RLZ library ng <ph name="SHORT_PRODUCT_NAME" />. Nagtatalaga ang RLZ ng hindi natatangi at hindi personal na nakakapagpakilalang tag upang sukatin ang mga paghahanap at paggamit ng <ph name="SHORT_PRODUCT_NAME" /> na nahimok ng isang partikular na kampanya sa pag-promote. Lumalabas minsan ang mga label na ito sa mga query sa Paghahanap sa Google sa <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Button na bumalik ng subpage na <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Tingnan at pamahalaan ang mga naka-save na password sa iyong <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Iniingatan ang mga personal na Google Account ng sinumang nanganganib sa mga naka-target na pag-atake</translation>
-<translation id="1325985428688410772">Magdagdag ng Space</translation>
 <translation id="1326317727527857210">Upang makuha ang iyong mga tab mula sa iba mo pang mga device, mag-sign in sa Chrome.</translation>
 <translation id="1327074568633507428">Printer sa Google Cloud Print</translation>
 <translation id="1327272175893960498">Mga ticket ng Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Hindi available ang pagsusuri sa password sa Chromium</translation>
 <translation id="1871534214638631766">Ipakita ang kaugnay na impormasyon kapag nag-right click ka sa o matagal mong pinindot ang content</translation>
 <translation id="1871615898038944731">Napapanahon ang iyong <ph name="DEVICE_TYPE" /></translation>
-<translation id="1874835396235780806">I-save ito at ang iba pang password sa iyong Google Account?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Ilipat ang tab sa isa pang window}one{Ilipat ang mga tab sa isa pang window}other{Ilipat ang mga tab sa isa pang window}}</translation>
 <translation id="1875386316419689002">Nakakonekta ang tab na ito sa isang HID device.</translation>
 <translation id="1875387611427697908">Maaari lang itong idagdag mula sa <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Network <ph name="NETWORK_INDEX" /> sa <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, Kumonekta</translation>
 <translation id="1884705339276589024">I-resize ang Linux disk</translation>
 <translation id="1885106732301550621">Espasyo sa disk</translation>
-<translation id="1885190042244431215">Kapag nagdagdag ng pampaaralang account, magiging madali ang pag-sign in sa mga website at extension bilang mag-aaral habang tumatakbo pa rin sa ilalim ng parental controls.</translation>
 <translation id="1886996562706621347">Payagan ang mga site na hilinging maging default na mga handler para sa mga protocol (inirerekomenda)</translation>
 <translation id="1887442540531652736">Error sa pag-sign in</translation>
 <translation id="1887597546629269384">Sabihin ulit ang "Hey Google"</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Basahin ang iyong mga setting ng pagiging naa-access</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{May permanenteng access ito sa isang file.}one{May permanenteng access ito sa # file.}other{May permanenteng access ito sa # na file.}}</translation>
 <translation id="3660234220361471169">Hindi pinagkakatiwalaan</translation>
-<translation id="3661172646479098821">Ang mga Android device lang ang kasalukuyang sinusuportahan.</translation>
 <translation id="3664511988987167893">Icon ng Extension</translation>
 <translation id="3665589677786828986">Natunton ng Chrome na ilan sa iyong mga setting ay nasira ng isa pang program at ni-reset ang mga ito sa kanilang mga orihinal na default.</translation>
 <translation id="3668801437375206837">Para mas mahusay na ma-diagnose ang mga isyu sa Bluetooth, maaaring magsama ang mga Googler ng karagdagang mga log ng Bluetooth sa kanilang mga ulat ng feedback. Kapag naka-check ang opsyong ito, maisasama sa iyong ulat ang mga log ng btsnoop at HCI mula sa kasalukuyan mong session, na nalinis para maalis ang lahat ng PII na maaaring alisin. Paghihigpitan ang access sa mga log na ito sa mga manager ng grupo ng produkto ng Chrome OS sa Listnr. Ipu-purge ang mga log pagkatapos ng 90 araw.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Hindi nagtutugma ang inilagay mong email at password</translation>
 <translation id="4374831787438678295">Installer ng Linux</translation>
 <translation id="4375035964737468845">Buksan ang mga na-download na file</translation>
+<translation id="4376226992615520204">Naka-off ang lokasyon</translation>
 <translation id="4377363674125277448">Nagkaroon ng problema sa certificate ng server.</translation>
 <translation id="4378154925671717803">Telepono</translation>
 <translation id="4378373042927530923">Hindi Tumakbo</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Mga tab mula sa iba pang device</translation>
 <translation id="4620809267248568679">Ipinapatupad ng isang extension ang setting na ito.</translation>
 <translation id="4623189117674524348">Hindi napahintulutan ng system ang pag-access sa API para sa device na ito.</translation>
-<translation id="4624190781974168453">Hilingin sa pag-start up</translation>
 <translation id="4625078469366263107">I-enable ang App</translation>
 <translation id="4627427111733173920">Na-block ang cookies</translation>
 <translation id="4627442949885028695">Magpatuloy mula sa ibang device</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Hindi pinagana ang pinakabagong bersyon ng "<ph name="EXTENSION_NAME" />" dahil nangangailangan ito ng higit pang mga pahintulot.</translation>
 <translation id="5185500136143151980">Walang Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menu ng mga opsyon para sa <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">I-activate ang port</translation>
 <translation id="51918995459521422">Gustong mag-download ng <ph name="ORIGIN" /> ng maraming file</translation>
 <translation id="5192062846343383368">Buksan ang Family Link app para tingnan ang iyong mga setting ng patnubay</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">Tagapaglagda ng CRL</translation>
 <translation id="5643321261065707929">Nakametrong network</translation>
 <translation id="5643620609347735571">I-clear at magpatuloy</translation>
+<translation id="5646376287012673985">Lokasyon</translation>
 <translation id="5646558797914161501">Negosyante</translation>
 <translation id="5648166631817621825">Nakalipas na 7 araw</translation>
 <translation id="5649053991847567735">Mga awtomatikong pag-download</translation>
@@ -4012,7 +4007,7 @@
 <translation id="5939518447894949180">I-reset</translation>
 <translation id="5941153596444580863">Magdagdag ng tao...</translation>
 <translation id="5941343993301164315">Mangyaring mag-sign in sa <ph name="TOKEN_NAME" />.</translation>
-<translation id="5941711191222866238">Minimize</translation>
+<translation id="5941711191222866238">I-minimize</translation>
 <translation id="5942964813783878922">Magre-restart ang iyong <ph name="DEVICE_TYPE" /> pagkatapos ng update na ito. Awtomatikong mag-i-install ang mga update sa software at seguridad sa hinaharap.</translation>
 <translation id="5944869793365969636">I-scan ang QR code</translation>
 <translation id="5946591249682680882">Report ID <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Panatilihin ang mapanganib na file</translation>
 <translation id="6532101170117367231">I-save sa Google Drive</translation>
 <translation id="6532106788206463496">I-save ang mga pagbabago</translation>
-<translation id="6532113437901537254">Magiging available din sa device na ito ang iyong mga password mula sa Google Account mo habang naka-sign in ka</translation>
 <translation id="6532206849875187177">Seguridad at pag-sign in</translation>
 <translation id="6532527800157340614">Hindi nakapag-sign in dahil hindi makuha ang iyong token ng access. Pakisuri ang iyong koneksyon ng network at subukan ulit.</translation>
 <translation id="6532663472409656417">Naka-enroll sa Enterprise</translation>
@@ -4615,7 +4609,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> at 1 Pang Tab}one{<ph name="PAGE_TITLE" /> at # Pang Tab}other{<ph name="PAGE_TITLE" /> at # Pang Tab}}</translation>
 <translation id="6709133671862442373">Balita</translation>
 <translation id="6709357832553498500">Kumonekta sa pamamagitan ng <ph name="EXTENSIONNAME" /></translation>
-<translation id="6710213216561001401">Nakaraan</translation>
+<translation id="6710213216561001401">Nauna</translation>
 <translation id="6715803357256707211">Nagkaroon ng error habang ini-install ang iyong Linux application. Mag-click sa notification para sa mga detalye.</translation>
 <translation id="671619610707606484">Iki-clear nito ang <ph name="TOTAL_USAGE" /> ng data na na-store ng mga site</translation>
 <translation id="671928215901716392">I-lock ang screen</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">Na-delete ang '<ph name="DELETED_ITEM_NAME" />'</translation>
 <translation id="7201420661433230412">Tingnan ang mga file</translation>
 <translation id="7203150201908454328">Pinalawak</translation>
-<translation id="7203826966018112936">Kapag nagdagdag ng pampaaralang account sa isang profile, madaling makakapag-sign in sa mga website at extension bilang mag-aaral habang tumatakbo sa ilalim ng parental controls. Hindi ito nagbibigay sa isang bata ng access sa mga bookmark, password, o iba pang data ng browser na naka-sync sa pampaaralang account.&lt;br&gt;&lt;br&gt;
-    Kung gumagamit ng Chromebook sa paaralan ang iyong anak at gusto mong ipareho ang karanasan sa bahay sa karanasan sa paaralan para matiyak na may access ang iyong anak sa lahat ng kinakailangang gawaing pampaaralan, mag-sign out sa Family Link account na ito at mag-sign in sa pampaaralang account mula sa page ng mga Chrome OS account (tandaan: hindi malalapat ang parental controls ng Family Link).&lt;br&gt;&lt;br&gt;
-    Kung hindi gumagamit ng Chromebook sa paaralan ang iyong anak o kung mas gusto mong pamahalaan ang karanasan ng iyong anak sa bahay gamit ang Family Link, paki-click ang button na Susunod sa ibaba para magdagdag ng pampaaralang account sa profile na ito.</translation>
 <translation id="7206693748120342859">Dina-download ang <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Umalis sa Page}one{Umalis sa Mga Page}other{Umalis sa Mga Page}}</translation>
 <translation id="7207457272187520234">Magpadala ng data ng paggamit at diagnostic. Sa kasalukuyan, ang device na ito ay awtomatikong nagpapadala ng diagnostic na data, data ng device, at data ng paggamit sa app sa Google. Makakatulong ito sa stability ng system at ng app, at sa iba pang pagpapahusay. Makakatulong din ang ilang pinagsama-samang data sa mga app at partner ng Google, gaya ng mga developer ng Android. Ipinapatupad ng may-ari ang setting na ito. Kung naka-on ang iyong karagdagang setting ng Aktibidad sa Web at App, posibleng ma-save ang data na ito sa Google Account mo.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Halos tapos ka na!</translation>
 <translation id="7392118418926456391">Nabigo ang pag-scan ng virus</translation>
 <translation id="7392915005464253525">M&amp;uling buksan ang nakasarang window</translation>
-<translation id="7393472013449507620">Hindi na sinusuportahan ang mga setting na may "*" na wildcard. Makipag-ugnayan sa developer ng extension o sa iyong administrator para <ph name="BEGIN_LINK" /> baguhin ang mga setting na ito<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Lalabas dito ang mga nakabahaging folder</translation>
 <translation id="7396845648024431313">Ilulunsad ang <ph name="APP_NAME" /> sa system startup at patuloy na paganahin sa background kahit na sa sandaling maisara mo ang lahat ng ibang mga window ng <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">I-customize ang pag-sync</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Placeholder</translation>
 <translation id="7529411698175791732">Suriin ang iyong koneksyon sa internet. Kung magpapatuloy ang problema, subukang mag-sign out at muling mag-sign in.</translation>
 <translation id="7530016656428373557">Rate ng Pagdiskarga sa Watts</translation>
+<translation id="7531310913436731628">Naka-off ang lokasyon sa System Preferences ng Mac</translation>
 <translation id="7531779363494549572">Pumunta sa Mga Setting &gt; Mga app at notification &gt; Mga Notification.</translation>
 <translation id="7532009420053991888">Hindi tumutugon ang <ph name="LINUX_APP_NAME" />. Piliin ang "Puwersahang isara" para isara ang app.</translation>
 <translation id="7537451260744431038">Hindi puwedeng gumamit ng cookies ang mga site para pahusayin ang iyong karanasan sa pag-browse, halimbawa, para mapanatili kang naka-sign in o para maalala ang mga item sa shopping cart mo</translation>
@@ -6052,7 +6043,6 @@
 <translation id="8470513973197838199">Mga naka-save na password para sa <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">na-hardware-back</translation>
 <translation id="8473863474539038330">Mga address at higit pa</translation>
-<translation id="8474733733775441349">Ipakita ang mga password mula sa iyong Google Account</translation>
 <translation id="8475313423285172237">Ang isa pang program sa iyong computer ay nagdagdag ng extension na maaaring magpabago sa paraan ng paggana ng Chrome.</translation>
 <translation id="8477241577829954800">Humalili</translation>
 <translation id="8477384620836102176">&amp;Pangkalahatan</translation>
diff --git a/chrome/app/resources/generated_resources_fr-CA.xtb b/chrome/app/resources/generated_resources_fr-CA.xtb
index 9d04079..1a89219 100644
--- a/chrome/app/resources/generated_resources_fr-CA.xtb
+++ b/chrome/app/resources/generated_resources_fr-CA.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Chiffrer seulement</translation>
 <translation id="1038462104119736705">Un minimum de <ph name="INSTALL_SIZE" /> d'espace est recommandé pour utiliser Linux. Pour libérer de l'espace, supprimez des fichiers sur votre appareil.</translation>
 <translation id="1039337018183941703">Fichier non valide ou corrompu</translation>
-<translation id="104086161873270383">Nouveau profil</translation>
 <translation id="1041175011127912238">Cette page ne répond pas</translation>
 <translation id="1041263367839475438">Appareils accessibles</translation>
 <translation id="1042174272890264476">Votre ordinateur est fourni avec la bibliothèque RLZ de <ph name="SHORT_PRODUCT_NAME" />. RLZ attribue une étiquette non unique et qui ne permet pas d'identifier des internautes afin de mesurer les recherches et l'utilisation de <ph name="SHORT_PRODUCT_NAME" /> générées par une campagne de promotion particulière. Ces étiquettes s'affichent parfois dans les requêtes de recherche Google dans <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Bouton de retour pour la sous-page <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Affichez et gérez les mots de passe enregistrés dans votre <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Protège les comptes Google personnels des utilisateurs susceptibles d'être victimes d'attaques ciblées</translation>
-<translation id="1325985428688410772">Ajouter un espace</translation>
 <translation id="1326317727527857210">Pour synchroniser les onglets de vos autres appareils, connectez-vous à Chrome.</translation>
 <translation id="1327074568633507428">Imprimante connectée à Google Cloud Print</translation>
 <translation id="1327272175893960498">Tickets Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">La vérification des mots de passe n'est pas offerte dans Chromium</translation>
 <translation id="1871534214638631766">Afficher de l'information connexe lorsque vous faites un clic droit ou un appui prolongé sur un élément</translation>
 <translation id="1871615898038944731">Votre <ph name="DEVICE_TYPE" /> est à jour</translation>
-<translation id="1874835396235780806">Enregistrer ce mot de passe et les autres dans votre compte Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Déplacer l'onglet vers une autre fenêtre}one{Déplacer l'onglet vers une autre fenêtre}other{Déplacer les onglets vers une autre fenêtre}}</translation>
 <translation id="1875386316419689002">Cet onglet est connecté à un appareil HID.</translation>
 <translation id="1875387611427697908">Cet élément doit être installé à partir de la <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, connexion</translation>
 <translation id="1884705339276589024">Redimensionner le disque Linux</translation>
 <translation id="1885106732301550621">Espace disque</translation>
-<translation id="1885190042244431215">L'ajout d'un compte scolaire permet aux élèves de se connecter aisément aux sites Web et d'utiliser les extensions, tout en étant régis par les contrôles parentaux.</translation>
 <translation id="1886996562706621347">Permettre aux sites de demander l'autorisation de devenir gestionnaires par défaut des protocoles (recommandé)</translation>
 <translation id="1887442540531652736">Erreur de connexion</translation>
 <translation id="1887597546629269384">Dites « Hey Google » de nouveau</translation>
@@ -2201,7 +2197,6 @@
 <translation id="3654045516529121250">Lire vos paramètres d'accessibilité</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Elle dispose d'un accès permanent à un fichier.}one{Elle dispose d'un accès permanent à # fichier.}other{Elle dispose d'un accès permanent à # fichiers.}}</translation>
 <translation id="3660234220361471169">Non fiable</translation>
-<translation id="3661172646479098821">Seuls les appareils Android sont pris en charge pour le moment.</translation>
 <translation id="3664511988987167893">Icône de l'extension</translation>
 <translation id="3665589677786828986">Chrome a détecté que certains paramètres de votre navigateur ont été corrompus par un autre programme, et les a réinitialisé à leurs valeurs par défaut.</translation>
 <translation id="3668801437375206837">Pour un meilleur diagnostic des problèmes liés au Bluetooth, les employés de Google peuvent inclure des journaux Bluetooth supplémentaires dans leurs rapports de commentaires. Lorsque cette option est cochée, votre rapport inclut les journaux btsnoop et HCI de votre session en cours, qui sont anonymisés de façon à supprimer autant de données personnelles que possible. L'accès à ces journaux est réservé aux gestionnaires du groupe de produits Chrome OS dans Listnr. Les journaux seront supprimés définitivement au bout de 90 jours.</translation>
@@ -2773,6 +2768,7 @@
 <translation id="4370975561335139969">L’adresse de courriel et le mot de passe que vous avez entrés ne correspondent pas</translation>
 <translation id="4374831787438678295">Installateur Linux</translation>
 <translation id="4375035964737468845">Ouvrir les fichiers téléchargés</translation>
+<translation id="4376226992615520204">La localisation est désactivée</translation>
 <translation id="4377363674125277448">Un problème est survenu avec le certificat du serveur.</translation>
 <translation id="4378154925671717803">Numéro de téléphone</translation>
 <translation id="4378373042927530923">Routine non exécutée</translation>
@@ -2972,7 +2968,6 @@
 <translation id="4619615317237390068">Onglets ouverts sur d'autres appareils</translation>
 <translation id="4620809267248568679">Une extension impose la valeur attribuée à ce paramètre.</translation>
 <translation id="4623189117674524348">Échec de l'autorisation d'accès à l'API pour cet appareil.</translation>
-<translation id="4624190781974168453">Demander au démarrage</translation>
 <translation id="4625078469366263107">Activer l'application</translation>
 <translation id="4627427111733173920">Témoins bloqués</translation>
 <translation id="4627442949885028695">Continuer à partir d'un autre appareil</translation>
@@ -3402,7 +3397,6 @@
 <translation id="5185386675596372454">La nouvelle version de « <ph name="EXTENSION_NAME" /> » a été désactivée, car elle nécessite davantage d'autorisations.</translation>
 <translation id="5185500136143151980">Aucune connexion Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menu des options pour <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Activer le port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> veut télécharger plusieurs fichiers</translation>
 <translation id="5192062846343383368">Ouvrez l'application Family Link pour afficher vos paramètres de supervision</translation>
@@ -3778,6 +3772,7 @@
 <translation id="5642508497713047">Signataire de la liste de révocation de certificats</translation>
 <translation id="5643321261065707929">Réseau à connexion mesurée</translation>
 <translation id="5643620609347735571">Effacer et continuer</translation>
+<translation id="5646376287012673985">Lieu</translation>
 <translation id="5646558797914161501">Homme d'affaires</translation>
 <translation id="5648166631817621825">Sept derniers jours</translation>
 <translation id="5649053991847567735">Téléchargements automatiques</translation>
@@ -4484,7 +4479,6 @@
 <translation id="6531282281159901044">Conserver le fichier dangereux</translation>
 <translation id="6532101170117367231">Enregistrer dans Google Disque</translation>
 <translation id="6532106788206463496">Enregistrer les modifications</translation>
-<translation id="6532113437901537254">Les mots de passe stockés dans votre compte Google seront aussi accessibles sur cet appareil lorsque vous êtes connecté</translation>
 <translation id="6532206849875187177">Sécurité et connexion</translation>
 <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>
@@ -5014,9 +5008,6 @@
 <translation id="7201118060536064622">« <ph name="DELETED_ITEM_NAME" /> » supprimé</translation>
 <translation id="7201420661433230412">Afficher les fichiers</translation>
 <translation id="7203150201908454328">Agrandi</translation>
-<translation id="7203826966018112936">L'ajout d'un compte scolaire à un profil permet aux élèves de se connecter aisément aux sites Web et d'utiliser les extensions, tout en étant régis par les contrôles parentaux. Cela ne donne pas à un enfant l'accès aux favoris, aux mots de passe ni aux autres données du navigateur qui sont synchronisés avec le compte scolaire.&lt;br&gt;&lt;br&gt;
-    Si votre enfant utilise un Chromebook à l'école et que vous souhaitez reproduire cette expérience à la maison pour vous assurer qu'il a accès à tous ses travaux scolaires, veuillez vous déconnecter de ce compte Family Link et vous connecter avec le compte scolaire sur la page des comptes Chrome OS (remarque : les paramètres des contrôles parentaux de Family Link ne s'appliqueront pas).&lt;br&gt;&lt;br&gt;
-    Si votre enfant n'utilise pas de Chromebook à l'école ou si vous préférez gérer son expérience à la maison avec Family Link, veuillez cliquer sur le bouton Suivant ci-dessous pour ajouter un compte scolaire à ce profil.</translation>
 <translation id="7206693748120342859">Téléchargement de <ph name="PLUGIN_NAME" /> en cours...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Quitter la page}one{Quitter la page}other{Quitter les pages}}</translation>
 <translation id="7207457272187520234">Envoyer les données d'utilisation et de diagnostic. Actuellement, cet appareil envoie automatiquement à Google des données de diagnostic, de l'appareil et d'utilisation des applications. Cela nous permettra d'assurer la stabilité du système et des applications, et d'apporter d'autres améliorations. Certaines données collectées contribueront également à améliorer les applications Google et aideront nos partenaires, comme les concepteurs Android. Ce paramètre est appliqué par le propriétaire du compte. Si le paramètre relatif aux autres activités sur le Web et dans les applications est activé, ces données peuvent être enregistrées dans votre compte Google.</translation>
@@ -5159,7 +5150,6 @@
 <translation id="7388044238629873883">Vous avez presque terminé!</translation>
 <translation id="7392118418926456391">Échec de l'analyse antivirus</translation>
 <translation id="7392915005464253525">&amp;Rouvrir la fenêtre fermée</translation>
-<translation id="7393472013449507620">Les paramètres contenant le caractère générique « * » ne sont plus pris en charge. Communiquez avec le concepteur de l'extension ou avec votre administrateur pour <ph name="BEGIN_LINK" />modifier ces paramètres<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Les dossiers partagés s'afficheront ici</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> sera lancé au démarrage du système et continuera de s'exécuter en arrière-plan, même si toutes les fenêtres de <ph name="PRODUCT_NAME" /> sont fermées.</translation>
 <translation id="7399045143794278225">Personnaliser la synchronisation</translation>
@@ -5272,6 +5262,7 @@
 <translation id="7526989658317409655">Espace réservé</translation>
 <translation id="7529411698175791732">Vérifiez votre connexion Internet. Si le problème persiste, essayez de vous déconnecter et de vous reconnecter.</translation>
 <translation id="7530016656428373557">Taux de décharge en watts</translation>
+<translation id="7531310913436731628">La localisation est désactivée dans les Préférences Système du Mac</translation>
 <translation id="7531779363494549572">Accédez à Paramètres &gt; Applications et notifications &gt; Notifications.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ne répond pas. Sélectionnez « Forcer la fermeture » pour fermer l'application.</translation>
 <translation id="7537451260744431038">Les sites ne peuvent pas utiliser de témoins pour améliorer votre expérience de navigation, par exemple en vous permettant de rester connecté ou en mémorisant des articles de votre panier d'achats</translation>
@@ -6051,7 +6042,6 @@
 <translation id="8470513973197838199">Mots de passe enregistrés pour <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">soutenue par du matériel</translation>
 <translation id="8473863474539038330">Adresses et plus</translation>
-<translation id="8474733733775441349">Afficher les mots de passe de votre compte Google</translation>
 <translation id="8475313423285172237">Un autre programme sur votre ordinateur a ajouté une extension qui risque de modifier le fonctionnement de Google Chrome.</translation>
 <translation id="8477241577829954800">Remplacé</translation>
 <translation id="8477384620836102176">&amp;Général</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb
index f8a1621..f278e8f 100644
--- a/chrome/app/resources/generated_resources_fr.xtb
+++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Chiffrer seulement</translation>
 <translation id="1038462104119736705">Espace libre recommandé pour Linux : au moins <ph name="INSTALL_SIZE" />. Pour libérer de l'espace, supprimez des fichiers de votre appareil.</translation>
 <translation id="1039337018183941703">Fichier non valide ou corrompu</translation>
-<translation id="104086161873270383">Nouveau profil</translation>
 <translation id="1041175011127912238">Cette page ne répond pas</translation>
 <translation id="1041263367839475438">Appareils disponibles</translation>
 <translation id="1042174272890264476">Votre ordinateur est fourni avec la bibliothèque RLZ de <ph name="SHORT_PRODUCT_NAME" />. RLZ attribue un tag non unique (et qui n'identifie pas personnellement les internautes) afin de mesurer les recherches et l'utilisation de <ph name="SHORT_PRODUCT_NAME" /> générées par une campagne de promotion spécifique. Ces libellés s'affichent parfois dans les requêtes de recherche Google dans <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Bouton "Retour" de la sous-page "<ph name="SUBPAGE_TITLE" />"</translation>
 <translation id="1322046419516468189">Afficher et gérer les mots de passe enregistrés de votre <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Sauvegarde les comptes Google personnels des utilisateurs susceptibles d'être victimes d'attaques ciblées</translation>
-<translation id="1325985428688410772">Ajouter un espace</translation>
 <translation id="1326317727527857210">Connectez-vous à Chrome pour accéder à vos onglets sur vos autres appareils.</translation>
 <translation id="1327074568633507428">Imprimante connectée à Google Cloud Print</translation>
 <translation id="1327272175893960498">Tickets Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">La fonctionnalité Check-up Mots de passe n'est pas disponible dans Chromium</translation>
 <translation id="1871534214638631766">Afficher des informations associées lorsque vous effectuez un clic droit ou que vous appuyez de manière prolongée sur un contenu</translation>
 <translation id="1871615898038944731">Votre <ph name="DEVICE_TYPE" /> est à jour</translation>
-<translation id="1874835396235780806">Enregistrer ce mot de passe et d'autres dans votre compte Google ?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Déplacer l'onglet vers une autre fenêtre}one{Déplacer l'onglet vers une autre fenêtre}other{Déplacer les onglets vers une autre fenêtre}}</translation>
 <translation id="1875386316419689002">Cet onglet est associé à un appareil HID.</translation>
 <translation id="1875387611427697908">Cet élément doit être installé depuis le <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Réseau <ph name="NETWORK_INDEX" /> sur <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, connexion</translation>
 <translation id="1884705339276589024">Redimensionner le disque Linux</translation>
 <translation id="1885106732301550621">Espace disque</translation>
-<translation id="1885190042244431215">L'ajout d'un compte scolaire permet de se connecter facilement aux sites Web et aux extensions en tant qu'élève sans quitter le contrôle parental.</translation>
 <translation id="1886996562706621347">Permettre aux sites de demander l'autorisation de devenir gestionnaires par défaut des protocoles (recommandé)</translation>
 <translation id="1887442540531652736">Erreur de connexion</translation>
 <translation id="1887597546629269384">Dites à nouveau "Ok Google"</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Lire vos paramètres d'accessibilité</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{L'application possède un accès permanent à un fichier.}one{L'application possède un accès permanent à # fichier.}other{L'application possède un accès permanent à # fichiers.}}</translation>
 <translation id="3660234220361471169">Non approuvé</translation>
-<translation id="3661172646479098821">Seuls les appareils Android sont actuellement compatibles avec cette fonctionnalité.</translation>
 <translation id="3664511988987167893">Icône de l'extension</translation>
 <translation id="3665589677786828986">Chrome a détecté que certains de vos paramètres ont été corrompus par un autre programme. Leurs valeurs par défaut ont été rétablies.</translation>
 <translation id="3668801437375206837">Afin de mieux analyser les problèmes liés au Bluetooth, les Googleurs peuvent fournir des journaux Bluetooth supplémentaires en plus de leurs rapports de commentaires. Lorsque cette option est cochée, le rapport contient les journaux btsnoop et HCI de la session en cours, qui ont été vérifiés pour retirer le maximum d'informations personnelles. Seuls les responsables du groupe de produits Chrome OS ont accès aux journaux dans Listnr. Ceux-ci sont définitivement supprimés au bout de 90 jours.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">L'adresse e-mail et le mot de passe saisis ne correspondent pas.</translation>
 <translation id="4374831787438678295">Programme d'installation de Linux</translation>
 <translation id="4375035964737468845">Ouvrir les fichiers téléchargés</translation>
+<translation id="4376226992615520204">Localisation désactivée</translation>
 <translation id="4377363674125277448">Un problème est survenu avec le certificat du serveur.</translation>
 <translation id="4378154925671717803">Téléphone</translation>
 <translation id="4378373042927530923">Routine non exécutée</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Onglets d'autres appareils</translation>
 <translation id="4620809267248568679">Ce paramètre est appliqué par une extension.</translation>
 <translation id="4623189117674524348">Échec de l'autorisation d'accès à l'API pour cet appareil.</translation>
-<translation id="4624190781974168453">Demander au démarrage</translation>
 <translation id="4625078469366263107">Activer l'application</translation>
 <translation id="4627427111733173920">Cookies bloqués</translation>
 <translation id="4627442949885028695">Continuer sur un autre appareil</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">La nouvelle version de "<ph name="EXTENSION_NAME" />" a été désactivée, car elle nécessite davantage d'autorisations.</translation>
 <translation id="5185500136143151980">Aucun accès à Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menu d'options du profil <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Activer le port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> souhaite télécharger plusieurs fichiers</translation>
 <translation id="5192062846343383368">Ouvrez l'application Family Link pour accéder aux paramètres de supervision</translation>
@@ -3778,6 +3772,7 @@
 <translation id="5642508497713047">Signataire de la liste de révocation de certificats</translation>
 <translation id="5643321261065707929">Réseau facturé à l'usage</translation>
 <translation id="5643620609347735571">Effacer et continuer</translation>
+<translation id="5646376287012673985">Localisation</translation>
 <translation id="5646558797914161501">Homme d'affaires</translation>
 <translation id="5648166631817621825">7 derniers jours</translation>
 <translation id="5649053991847567735">Téléchargements automatiques</translation>
@@ -4484,7 +4479,6 @@
 <translation id="6531282281159901044">Conserver le fichier dangereux</translation>
 <translation id="6532101170117367231">Enregistrer sur Google Drive</translation>
 <translation id="6532106788206463496">Enregistrer les modifications</translation>
-<translation id="6532113437901537254">Les mots de passe enregistrés dans votre compte Google seront également disponibles sur cet appareil lorsque vous serez connecté</translation>
 <translation id="6532206849875187177">Sécurité et connexion</translation>
 <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>
@@ -5014,9 +5008,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" supprimé</translation>
 <translation id="7201420661433230412">Afficher les fichiers</translation>
 <translation id="7203150201908454328">Développé</translation>
-<translation id="7203826966018112936">L'ajout d'un compte scolaire à un profil permet de se connecter facilement aux sites Web et aux extensions en tant qu'élève. Le contrôle parental n'est pas désactivé. Cependant, l'enfant ne pourra pas accéder aux favoris, mots de passe et autres données du navigateur qui sont synchronisés avec le compte scolaire.&lt;br&gt;&lt;br&gt;
-    Si votre enfant utilise un Chromebook à l'école et que vous souhaitez qu'il ait accès aux mêmes ressources à la maison pour faire ses devoirs, veuillez vous déconnecter du compte Family Link, puis vous connecter au compte scolaire depuis la page des comptes de Chrome OS. Remarque : le contrôle parental Family Link ne s'applique pas dans ce cas.&lt;br&gt;&lt;br&gt;
-    Si votre enfant n'utilise pas un Chromebook à l'école ou si vous préférez gérer son activité à la maison avec Family Link, veuillez cliquer sur le bouton "Suivant" pour ajouter un compte scolaire à ce profil.</translation>
 <translation id="7206693748120342859">Téléchargement de <ph name="PLUGIN_NAME" /> en cours…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Quitter la page}one{Quitter la page}other{Quitter les pages}}</translation>
 <translation id="7207457272187520234">Envoyer des données d'utilisation et de diagnostic. À l'heure actuelle, cet appareil envoie automatiquement à Google des données liées à son utilisation et à celle des applications, ainsi que des données de diagnostic. Ces informations nous aideront à améliorer, entre autres, la stabilité du système et des applications. Certaines données globales seront également utiles aux développeurs des applications Google et à nos partenaires tels que les développeurs Android. Ce paramètre est appliqué par le propriétaire. Si vous avez activé le paramètre "Activité supplémentaire sur le Web et les applications", ces données peuvent être enregistrées dans votre compte Google.</translation>
@@ -5159,7 +5150,6 @@
 <translation id="7388044238629873883">Vous avez presque terminé !</translation>
 <translation id="7392118418926456391">Échec de l'analyse antivirus.</translation>
 <translation id="7392915005464253525">&amp;Rouvrir la fenêtre fermée</translation>
-<translation id="7393472013449507620">Les paramètres avec des caractères génériques "*" ne sont plus acceptés. Contactez le développeur de l'extension ou votre administrateur pour <ph name="BEGIN_LINK" />modifier ces paramètres<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Les dossiers partagés s'afficheront ici</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> sera lancé au démarrage du système et continuera de s'exécuter en arrière-plan, même si toutes les fenêtres de <ph name="PRODUCT_NAME" /> sont fermées.</translation>
 <translation id="7399045143794278225">Personnaliser la synchronisation</translation>
@@ -5272,6 +5262,7 @@
 <translation id="7526989658317409655">Espace réservé</translation>
 <translation id="7529411698175791732">Vérifiez votre connexion Internet. Si le problème persiste, essayez de vous déconnecter, puis de vous reconnecter.</translation>
 <translation id="7530016656428373557">Taux de décharge en watts</translation>
+<translation id="7531310913436731628">Localisation désactivée dans les préférences système macOS</translation>
 <translation id="7531779363494549572">Accédez à Paramètres &gt; Applications et notifications &gt; Notifications.</translation>
 <translation id="7532009420053991888">L'application <ph name="LINUX_APP_NAME" /> ne répond pas. Sélectionnez "Forcer la fermeture" pour la fermer.</translation>
 <translation id="7537451260744431038">Les sites ne peuvent pas utiliser de cookies pour améliorer votre expérience de navigation, par exemple pour maintenir votre connexion ou mémoriser les articles de votre panier</translation>
@@ -6052,7 +6043,6 @@
 <translation id="8470513973197838199">Mots de passe enregistrés pour <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">matériel requis</translation>
 <translation id="8473863474539038330">Adresses et autres</translation>
-<translation id="8474733733775441349">Afficher les mots de passe enregistrés dans votre compte Google</translation>
 <translation id="8475313423285172237">Un autre programme sur votre ordinateur a ajouté une extension qui risque de modifier le fonctionnement de Google Chrome.</translation>
 <translation id="8477241577829954800">Remplacé</translation>
 <translation id="8477384620836102176">&amp;Général</translation>
diff --git a/chrome/app/resources/generated_resources_gl.xtb b/chrome/app/resources/generated_resources_gl.xtb
index dfe8db42..fb463a1 100644
--- a/chrome/app/resources/generated_resources_gl.xtb
+++ b/chrome/app/resources/generated_resources_gl.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Só cifrar</translation>
 <translation id="1038462104119736705">É recomendable dispoñer polo menos de <ph name="INSTALL_SIZE" /> de espazo para Linux. Se queres aumentar o espazo libre, elimina ficheiros do dispositivo.</translation>
 <translation id="1039337018183941703">O ficheiro non é válido ou está danado</translation>
-<translation id="104086161873270383">Perfil novo</translation>
 <translation id="1041175011127912238">Esta páxina non responde</translation>
 <translation id="1041263367839475438">Dispositivos dispoñibles</translation>
 <translation id="1042174272890264476">O ordenador tamén inclúe a biblioteca de <ph name="SHORT_PRODUCT_NAME" />. RLZ asigna unha etiqueta que non é exclusiva e sen identificación persoal para medir as buscas e o uso de <ph name="SHORT_PRODUCT_NAME" /> derivados dunha determinada campaña promocional. En ocasións estas etiquetas aparecen nas consultas de Busca de Google en <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Botón Atrás da subpáxina <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Para consultar e xestionar os contrasinais gardados, accede á túa <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Protexe as Contas de Google persoais de calquera usuario que corra o risco de sufrir ataques dirixidos</translation>
-<translation id="1325985428688410772">Engadir espazo</translation>
 <translation id="1326317727527857210">Inicia sesión en Chrome para sincronizar as pestanas dos demais dispositivos.</translation>
 <translation id="1327074568633507428">Impresora en Google Cloud Print</translation>
 <translation id="1327272175893960498">Tíckets de Kerberos</translation>
@@ -749,7 +747,6 @@
 <translation id="1868553836791672080">A comprobación de contrasinais non está dispoñible en Chromium.</translation>
 <translation id="1871534214638631766">Mostra información relacionada cando manteñas premido o contido ou fagas clic co botón dereito nel</translation>
 <translation id="1871615898038944731">O dispositivo <ph name="DEVICE_TYPE" /> está actualizado</translation>
-<translation id="1874835396235780806">Queres gardar este e outros contrasinais na túa Conta de Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Mover pestana a outra ventá}other{Mover pestanas a outra ventá}}</translation>
 <translation id="1875386316419689002">Esta pestana está conectada a un dispositivo HID.</translation>
 <translation id="1875387611427697908">Este elemento só se pode engadir desde <ph name="CHROME_WEB_STORE" /></translation>
@@ -762,7 +759,6 @@
 <translation id="1884013283844450420">Rede <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, conectar</translation>
 <translation id="1884705339276589024">Cambiar o tamaño do disco de Linux</translation>
 <translation id="1885106732301550621">Espazo de disco</translation>
-<translation id="1885190042244431215">Se engades unha conta de centro educativo, o usuario poderá iniciar sesión como estudante de forma sinxela en determinados sitios web e extensións sen que deixen de aplicarse os controis parentais.</translation>
 <translation id="1886996562706621347">Permitir que os sitios soliciten converterse en controladores predeterminados de protocolos (recomendado)</translation>
 <translation id="1887442540531652736">Produciuse un erro ao iniciar sesión</translation>
 <translation id="1887597546629269384">Volve dicir "Ok Google"</translation>
@@ -2199,7 +2195,6 @@
 <translation id="3654045516529121250">Le a configuración de accesibilidade</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Ten acceso permanente a un ficheiro.}other{Ten acceso permanente a # ficheiros.}}</translation>
 <translation id="3660234220361471169">Non fiables</translation>
-<translation id="3661172646479098821">Só se admiten dispositivos Android.</translation>
 <translation id="3664511988987167893">Icona de extensión</translation>
 <translation id="3665589677786828986">Chrome detectou que outro programa danou algunhas opcións de configuración e restableceunas aos valores predeterminados orixinais.</translation>
 <translation id="3668801437375206837">Para mellorar o diagnóstico dos problemas de Bluetooth, os usuarios de Google poden incluír rexistros de Bluetooth adicionais cos seus informes de comentarios. Cando se seleccione esta opción, o informe incluirá rexistros de btsnoop e HCI da túa sesión actual, saneados para eliminar o máximo de información que permita a identificación persoal. Limitarase o acceso a estes rexistros aos xestores do grupo de produtos de Chrome OS en Listnr. Os rexistros purgaranse despois de 90 días.</translation>
@@ -2771,6 +2766,7 @@
 <translation id="4370975561335139969">O correo electrónico e o contrasinal inseridos non coinciden</translation>
 <translation id="4374831787438678295">Instalador de Linux</translation>
 <translation id="4375035964737468845">Abrir ficheiros descargados</translation>
+<translation id="4376226992615520204">A localización está desactivada</translation>
 <translation id="4377363674125277448">Produciuse un problema co certificado do servidor.</translation>
 <translation id="4378154925671717803">Teléfono</translation>
 <translation id="4378373042927530923">Non se executou</translation>
@@ -2970,7 +2966,6 @@
 <translation id="4619615317237390068">Pestanas doutros dispositivos</translation>
 <translation id="4620809267248568679">Unha extensión aplica esta configuración.</translation>
 <translation id="4623189117674524348">O sistema non puido autorizar o acceso á API para este dispositivo.</translation>
-<translation id="4624190781974168453">Preguntar ao inicio</translation>
 <translation id="4625078469366263107">Activar aplicación</translation>
 <translation id="4627427111733173920">Cookies bloqueadas</translation>
 <translation id="4627442949885028695">Continuar desde outro dispositivo</translation>
@@ -3400,7 +3395,6 @@
 <translation id="5185386675596372454">Desactivouse a versión máis recente de "<ph name="EXTENSION_NAME" />" porque require máis permisos.</translation>
 <translation id="5185500136143151980">Non hai conexión a Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menú de opcións para <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Activar porto</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> quere descargar varios ficheiros</translation>
 <translation id="5192062846343383368">Abrir a aplicación Family Link para ver a configuración de supervisión</translation>
@@ -3776,6 +3770,7 @@
 <translation id="5642508497713047">Asinante de CRL</translation>
 <translation id="5643321261065707929">Rede de pago por consumo</translation>
 <translation id="5643620609347735571">Borrar e continuar</translation>
+<translation id="5646376287012673985">Localización</translation>
 <translation id="5646558797914161501">Home de negocios</translation>
 <translation id="5648166631817621825">Últimos 7 días</translation>
 <translation id="5649053991847567735">Descargas automáticas</translation>
@@ -4482,7 +4477,6 @@
 <translation id="6531282281159901044">Conservar ficheiro perigoso</translation>
 <translation id="6532101170117367231">Gardar en Google Drive</translation>
 <translation id="6532106788206463496">Gardar cambios</translation>
-<translation id="6532113437901537254">Os contrasinais da túa Conta de Google tamén estarán dispoñibles neste dispositivo mentres teñas a sesión iniciada</translation>
 <translation id="6532206849875187177">Seguranza e inicio de sesión</translation>
 <translation id="6532527800157340614">Produciuse un erro ao iniciar sesión porque non se puido obter o teu token de acceso. Comproba a conexión de rede e téntao de novo.</translation>
 <translation id="6532663472409656417">Inscrito nunha empresa</translation>
@@ -5012,9 +5006,6 @@
 <translation id="7201118060536064622">Eliminouse "<ph name="DELETED_ITEM_NAME" />"</translation>
 <translation id="7201420661433230412">Ver ficheiros</translation>
 <translation id="7203150201908454328">Ampliado</translation>
-<translation id="7203826966018112936">Se lle engades unha conta de centro educativo a un perfil, o usuario poderá iniciar sesión como estudante de forma sinxela en determinados sitios web e extensións sen que deixen de aplicarse os controis parentais. O teu fillo ou filla non obterá acceso aos marcadores, aos contrasinais nin a outros datos do navegador sincronizados coa conta do centro educativo.&lt;br&gt;&lt;br&gt;
-    Se o neno ou nena utiliza un Chromebook na clase e queres recrear a experiencia escolar na casa para asegurarte de que teña acceso a todas as tarefas escolares necesarias, pecha sesión nesta conta de Family Link e inicia sesión na conta do centro educativo desde a páxina de contas de Chrome OS (non esquezas que non se aplicarán os controis parentais de Family Link).&lt;br&gt;&lt;br&gt;
-    Se o teu fillo ou filla non utiliza un Chromebook na clase ou se prefires xestionar a súa experiencia na casa con Family Link, fai clic no botón Seguinte que aparece a continuación para engadir unha conta de centro escolar a este perfil.</translation>
 <translation id="7206693748120342859">Descargando <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Páxina de saída}other{Páxinas de saída}}</translation>
 <translation id="7207457272187520234">Enviar datos de uso e diagnóstico. Este dispositivo envía automaticamente datos de diagnóstico e de uso do dispositivo e das aplicacións a Google. Esta información permitirá aumentar a estabilidade do sistema e das aplicacións, e realizar outras melloras. Algúns datos agregados tamén serán útiles para as aplicacións e os socios de Google, como os programadores de Android. Esta opción de configuración contrólaa o propietario. Se está activada a opción Actividade web e das aplicacións adicional, estes datos pódense gardar na túa Conta de Google.</translation>
@@ -5157,7 +5148,6 @@
 <translation id="7388044238629873883">Xa case remataches.</translation>
 <translation id="7392118418926456391">Erro na análise antivirus</translation>
 <translation id="7392915005464253525">R&amp;eabrir a ventá pechada</translation>
-<translation id="7393472013449507620">As opcións de configuración cos comodíns "*" xa non están dispoñibles. Ponte en contacto co programador de extensións ou co teu administrador para <ph name="BEGIN_LINK" />cambiar estas opcións de configuración<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Os cartafoles compartidos aparecerán aquí</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> empezará a executarse cando se inicie o sistema e seguirá executándose en segundo plano aínda que peches todas as demais ventás de <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Personalizar sincronización</translation>
@@ -5270,6 +5260,7 @@
 <translation id="7526989658317409655">Marcador de posición</translation>
 <translation id="7529411698175791732">Comproba a túa conexión a Internet. Se o problema continúa, tenta pechar sesión e volver iniciala.</translation>
 <translation id="7530016656428373557">Índice de descarga en watts</translation>
+<translation id="7531310913436731628">A localización está desactivada nas preferencias do sistema de Mac</translation>
 <translation id="7531779363494549572">Accede a Configuración &gt; Aplicacións e notificacións &gt; Notificacións.</translation>
 <translation id="7532009420053991888">A aplicación <ph name="LINUX_APP_NAME" /> non responde. Para pechala, selecciona Forzar peche.</translation>
 <translation id="7537451260744431038">Os sitios non poden utilizar cookies para mellorar a túa experiencia de navegación a través de funcións como manter a sesión iniciada ou lembrar artigos da túa cesta da compra</translation>
@@ -6049,7 +6040,6 @@
 <translation id="8470513973197838199">Gardáronse os contrasinais para <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">teclas de hardware</translation>
 <translation id="8473863474539038330">Enderezos e moito máis</translation>
-<translation id="8474733733775441349">Mostrar contrasinais da túa Conta de Google</translation>
 <translation id="8475313423285172237">Outro programa do teu ordenador engadiu unha extensión que pode cambiar o funcionamento de Chrome.</translation>
 <translation id="8477241577829954800">Substituído</translation>
 <translation id="8477384620836102176">&amp;Xeral</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index 24e6524..8845950 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">ફક્ત ચિહ્નિત કરો</translation>
 <translation id="1038462104119736705">Linux માટે ઓછામાં ઓછી <ph name="INSTALL_SIZE" /> સ્પેસનો સુઝાવ આપવામાં આવે છે. ખાસી સ્પેસ વધારવા માટે, તમારા ડિવાઇસમાંથી ફાઇલો ડિલીટ કરો.</translation>
 <translation id="1039337018183941703">અમાન્ય અથવા દૂષિત ફાઇલ</translation>
-<translation id="104086161873270383">નવી પ્રોફાઇલ</translation>
 <translation id="1041175011127912238">આ પેજ પ્રતિભાવ આપી રહ્યું નથી</translation>
 <translation id="1041263367839475438">ઉપલબ્ધ ડિવાઇસ</translation>
 <translation id="1042174272890264476">તમારા કમ્પ્યુટરની સાથે <ph name="SHORT_PRODUCT_NAME" /> ની RLZ લાઇબ્રેરી બિલ્ટ ઇન પણ આવે છે. RLZ વિશેષ પ્રચારાત્મક ઝુંબેશ દ્વારા ચલાવવામાં આવતી શોધ અને <ph name="SHORT_PRODUCT_NAME" /> ઉપયોગને માપવા માટે બિન-અદ્વિતીય, બિન-વ્યક્તિગત રૂપે ઓળખી શકાય તેવા ટૅગ સોંપે છે. આ લેબલ્સ કેટલીકવાર <ph name="PRODUCT_NAME" /> માં Google શોધ ક્વેરીઝમાં દેખાય છે.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> સબપેજનું પાછળ જવા માટેનું બટન</translation>
 <translation id="1322046419516468189">સાચવેલા પાસવર્ડ તમારા <ph name="SAVED_PASSWORDS_STORE" />માં જુઓ અને મેનેજ કરો</translation>
 <translation id="1324106254079708331">લક્ષિત હુમલાના જોખમમાં હોય એવી કોઈપણ વ્યક્તિના વ્યક્તિગત Google એકાઉન્ટનું સંરક્ષણ કરે છે</translation>
-<translation id="1325985428688410772">સ્પેસ ઉમેરો</translation>
 <translation id="1326317727527857210">તમારા અન્ય ઉપકરણો પરથી તમારા ટૅબ્સ મેળવવા માટે, Chrome માં સાઇન ઇન કરો.</translation>
 <translation id="1327074568633507428">Google ક્લાઉડ પ્રિન્ટ પર પ્રિન્ટર</translation>
 <translation id="1327272175893960498">Kerberosની ટિકિટ</translation>
@@ -746,7 +744,6 @@
 <translation id="1868553836791672080">Chromiumમાં પાસવર્ડ ચેક કરવાની સુવિધા ઉપલબ્ધ નથી</translation>
 <translation id="1871534214638631766">તમે જ્યારે રાઇટ ક્લિક કરો અથવા કન્ટેન્ટને થોડીવાર દબાવી રાખો, ત્યારે સંબંધિત માહિતી બતાવો</translation>
 <translation id="1871615898038944731">તમારું <ph name="DEVICE_TYPE" /> અપ ટૂ ડેટ છે</translation>
-<translation id="1874835396235780806">તમારા Google એકાઉન્ટમાં આ અને અન્ય પાસવર્ડને સાચવીએ?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ટૅબને બીજી વિંડોમાં ખસેડો}one{ટૅબને બીજી વિંડોમાં ખસેડો}other{ટૅબને બીજી વિંડોમાં ખસેડો}}</translation>
 <translation id="1875386316419689002">આ ટૅબ HID ડિવાઇસ સાથે કનેક્ટ કરેલું છે.</translation>
 <translation id="1875387611427697908">આ ફક્ત <ph name="CHROME_WEB_STORE" />માંથી જ ઉમેરી શકાશે</translation>
@@ -759,7 +756,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" />માંથી નેટવર્ક <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, કનેક્ટ કરો</translation>
 <translation id="1884705339276589024">Linux ડિસ્કનું કદ બદલો</translation>
 <translation id="1885106732301550621">ડિસ્ક સ્પેસ</translation>
-<translation id="1885190042244431215">સ્કૂલનું એકાઉન્ટ ઉમેરવાથી હજી પણ માતાપિતા યોગ્ય નિયંત્રણો હેઠળ સંચાલન કરતી વખતે વેબસાઇટ અને એક્સ્ટેન્શન પર વિદ્યાર્થી તરીકે સાઇન-ઇન કરવાનું સરળ બને છે.</translation>
 <translation id="1886996562706621347">પ્રોટોકૉલ્સ માટે ડિફૉલ્ટ હેન્ડલર્સ બનવા માટે સાઇટને પૂછવાની મંજૂરી આપો (ભલામણ કરેલ)</translation>
 <translation id="1887442540531652736">સાઇન-ઇનમાં ભૂલ</translation>
 <translation id="1887597546629269384">ફરી "હે Google" કહો</translation>
@@ -2196,7 +2192,6 @@
 <translation id="3654045516529121250">તમારી ઍક્સેસિબિલિટી સેટિંગ્સ વાંચો</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{તેને એક ફાઇલ માટે કાયમી ઍક્સેસ છે.}one{તેને # ફાઈલ્સ માટે કાયમી ઍક્સેસ છે.}other{તેને # ફાઈલ્સ માટે કાયમી ઍક્સેસ છે.}}</translation>
 <translation id="3660234220361471169">અવિશ્વસનીય</translation>
-<translation id="3661172646479098821">અત્યારે માત્ર Android ડિવાઇસ જ ચાલે છે.</translation>
 <translation id="3664511988987167893">એક્સ્ટેંશન આઇકન</translation>
 <translation id="3665589677786828986">Chrome ને જાણ થઈ છે કે તમારી કેટલીક સેટિંગ્સ બીજા પ્રોગ્રામ દ્વારા દૂષિત કરવામાં આવેલી અને તેમને તેમના મૂળ ડિફોલ્ટ્સ પર ફરીથી સેટ કરી છે.</translation>
 <translation id="3668801437375206837">બ્લૂટૂથ સમસ્યાઓ અંગે વધુ સારી તપાસ કરવા માટે, Googleનાં કર્મચારીઓ તેમના પ્રતિસાદમાં વધારાના બ્લૂટૂથ લૉગનો સમાવેશ કરી શકે છે. જ્યારે આ વિકલ્પને ચેક કરેલ હોય, ત્યારે તમારા રિપોર્ટમાં તમારા વર્તમાન સત્રમાંથી btsnoop અને HCI લૉગનો સમાવેશ થશે અને તેમાંથી શક્ય હોય તેટલાં PIIને દૂર કરવામાં આવશે. આ લૉગ સુધીના ઍક્સેસને Listnrમાં Chrome OS પ્રોડક્ટ જૂથના મેનેજરો સુધી જ નિયંત્રિત રાખવામાં આવશે. એ બધા લૉગ 90 દિવસ બાદ કાઢી નાખવામાં આવશે.</translation>
@@ -2625,7 +2620,7 @@
 <translation id="4144651632048685784">{COUNT,plural, =1{1 ફોન નંબર}one{# ફોન નંબર}other{# ફોન નંબર}}</translation>
 <translation id="4146026355784316281">હંમેશા સિસ્ટમ દર્શક સાથે ખોલો</translation>
 <translation id="4146785383423576110">રીસેટ કરો અને સાફ કરો</translation>
-<translation id="4147897805161313378">Google ફોટો</translation>
+<translation id="4147897805161313378">Google Photos</translation>
 <translation id="4147911968024186208">કૃપા કરીને ફરી પ્રયાસ કરો. જો તમને આ ભૂલ ફરી દેખાય તો કૃપા કરીને તમારા સપોર્ટ પ્રતિનિધિનો સંપર્ક કરો.</translation>
 <translation id="4150201353443180367">ડિસ્પ્લે</translation>
 <translation id="4152670763139331043">{NUM_TABS,plural, =1{1 ટેબ}one{# ટેબ્સ}other{# ટેબ્સ}}</translation>
@@ -2768,6 +2763,7 @@
 <translation id="4370975561335139969">તમે દાખલ કરેલ ઇમેઇલ અને પાસવર્ડ મેળ ખાતા નથી</translation>
 <translation id="4374831787438678295">Linux ઇન્સ્ટૉલર</translation>
 <translation id="4375035964737468845">ડાઉનલોડ કરેલી ફાઇલોને ખોલો</translation>
+<translation id="4376226992615520204">સ્થાન બંધ કર્યું</translation>
 <translation id="4377363674125277448">સર્વરનાં પ્રમાણપત્ર સાથે કોઈ સમસ્યા હતી.</translation>
 <translation id="4378154925671717803">ફોન</translation>
 <translation id="4378373042927530923">ચલાવ્યું નથી</translation>
@@ -2967,7 +2963,6 @@
 <translation id="4619615317237390068">અન્ય ઉપકરણોમાંથી ટૅબ્સ</translation>
 <translation id="4620809267248568679">આ સેટિંગ એક એક્સ્ટેંશન દ્વારા લાગુ કરાઈ છે.</translation>
 <translation id="4623189117674524348">સિસ્ટમ આ ડિવાઇસ માટે API ઍક્સેસ અધિકૃત કરવામાં નિષ્ફળ થઈ.</translation>
-<translation id="4624190781974168453">સ્ટાર્ટઅપ કરતી વખતે પૂછો</translation>
 <translation id="4625078469366263107">ઍપ ચાલુ કરો</translation>
 <translation id="4627427111733173920">કુકી અવરોધિત</translation>
 <translation id="4627442949885028695">બીજા ઉપકરણમાંથી ચાલુ કરો</translation>
@@ -3397,7 +3392,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />"નું સૌથી નવું વર્ઝન બંધ કરવામાં આવ્યું છે, કારણ કે એને વધુ પરવાનગીઓની જરૂર છે.</translation>
 <translation id="5185500136143151980">ઇન્ટરનેટ ઍક્સેસ નથી</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> માટે વિકલ્પોનું મેનૂ</translation>
 <translation id="5190926251776387065">પોર્ટ સક્રિય કરો</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> એકથી વધુ ફાઇલો ડાઉનલોડ કરવા માગે છે</translation>
 <translation id="5192062846343383368">તમારા નિરીક્ષણ સેટિંગ જોવા માટે Family Link ઍપ ખોલો</translation>
@@ -3774,6 +3768,7 @@
 <translation id="5642508497713047">CRL હસ્તાક્ષરકર્તા</translation>
 <translation id="5643321261065707929">મીટર્ડ (ડેટા નિયંત્રણ) નેટવર્ક</translation>
 <translation id="5643620609347735571">સાફ કરો અને ચાલુ રાખો</translation>
+<translation id="5646376287012673985">સ્થાન</translation>
 <translation id="5646558797914161501">ઉદ્યોગપતિ</translation>
 <translation id="5648166631817621825">છેલ્લા 7 દિવસ</translation>
 <translation id="5649053991847567735">આપમેળે ડાઉનલોડ્સ</translation>
@@ -4481,7 +4476,6 @@
 <translation id="6531282281159901044">જોખમી ફાઇલ રાખો</translation>
 <translation id="6532101170117367231">Google ડ્રાઇવ પર સાચવો</translation>
 <translation id="6532106788206463496">ફેરફારો સાચવો</translation>
-<translation id="6532113437901537254">તમારા Google એકાઉન્ટમાં સાચવેલા તમારા પાસવર્ડ તમે આ ડિવાઇસમાં સાઇન ઇન કરેલું હોય ત્યારે આના પર પણ ઉપલબ્ધ થશે</translation>
 <translation id="6532206849875187177">સુરક્ષા અને સાઇન ઇન</translation>
 <translation id="6532527800157340614">સાઇન ઇન નિષ્ફળ થયું કારણ કે તમારું એક્સેસ ટોકન પાછું મેળવી શકાયું ન હતું. કૃપા કરીને તમારું નેટવર્ક કનેક્શન ચેક કરો અને ફરી પ્રયાસ કરો.</translation>
 <translation id="6532663472409656417">એન્ટરપ્રાઇઝ દ્વારા નોંધણી કરાયેલું</translation>
@@ -5011,9 +5005,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ડિલીટ કર્યું</translation>
 <translation id="7201420661433230412">ફાઇલો જુઓ</translation>
 <translation id="7203150201908454328">વિસ્તૃત કરેલ</translation>
-<translation id="7203826966018112936">પ્રોફાઇલમાં સ્કૂલનું એકાઉન્ટ ઉમેરવાથી માતાપિતા યોગ્ય નિયંત્રણો હેઠળ સંચાલન કરતી વખતે વેબસાઇટ અને એક્સ્ટેન્શન પર વિદ્યાર્થી તરીકે સાઇન-ઇન કરવાનું સરળ બને છે. આ બાળકોને સ્કૂલના એકાઉન્ટ સાથે સિંક કરેલા બુકમાર્ક, પાસવર્ડ અથવા અન્ય બ્રાઉઝર ડેટાનો ઍક્સેસ આપતું નથી.&lt;br&gt;&lt;br&gt;
-    જો તમે સ્કૂલમાં Chromebookનો ઉપયોગ કરતાં હોય અને તમે તમારા બાળકને બધા જરૂરી સ્કૂલવર્કનો ઍક્સેસ છે તેની ખાતરી કરવા માટે તમે હોમ પર શાળાનો અનુભવ બતાવવા માગતા હોય, તો કૃપા કરીને આ Family Link એકાઉન્ટમાંથી સાઇન આઉટ કરીને Chrome OS એકાઉન્ટ પેજમાંથી સ્કૂલના એકાઉન્ટમાં સાઇન ઇન કરો (નોંધ: Family Linkના માતાપિતા યોગ્ય નિયંત્રણો લાગુ થશે નહીં).&lt;br&gt;&lt;br&gt;
-    જો તમારું બાળક સ્કૂલમાં Chromebookનો ઉપયોગ કરતું ન હોય અથવા જો તમે Family Linkનો ઉપયોગ કરીને બાળકના એકાઉન્ટને હોમ પર મેનેજ કરવા માગતા હોય, તો કૃપા કરીને આ એકાઉન્ટને સ્કૂલની પ્રોફાઇલમાં ઉમેરવા માટે નીચે આપેલા આગળ બટન પર ક્લિક કરો.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ડાઉનલોડ કરી રહ્યું છે...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{પેજમાંથી બહાર નીકળો}one{પેજમાંથી બહાર નીકળો}other{પેજમાંથી બહાર નીકળો}}</translation>
 <translation id="7207457272187520234">વપરાશ અને નિદાનનો ડેટા મોકલો. આ ડિવાઇસ હાલમાં Googleને નિદાન, ડિવાઇસ અને ઍપ વપરાશનો ડેટા ઑટોમૅટિક રીતે મોકલી રહ્યું છે. આ સિસ્ટમ અને ઍપની સ્થિરતા અને અન્ય સુધારણાઓમાં સહાય કરશે. એકત્ર કરેલો કેટલોક ડેટા Google ઍપ અને ભાગીદારો, જેમ કે Android ડેવલપરને પણ સહાય કરશે. આ સેટિંગ માલિક દ્વારા લાગુ કરવામાં આવ્યું છે. જો તમારી વધારાની વેબ અને ઍપ પ્રવૃત્તિનું સેટિંગ ચાલુ હોય, તો આ ડેટા તમારા Google એકાઉન્ટમાં સાચવવામાં આવી શકે છે.</translation>
@@ -5156,7 +5147,6 @@
 <translation id="7388044238629873883">તમે લગભગ પૂર્ણ કરી લીધું છે!</translation>
 <translation id="7392118418926456391">વાયરસ સ્કેન નિષ્ફળ થયું</translation>
 <translation id="7392915005464253525">બંધ કરેલી વિંડો ફ&amp;રીથી ખોલો</translation>
-<translation id="7393472013449507620">હવે "*" વાઇલ્ડકાર્ડ ધરાવતા સેટિંગને સપોર્ટ અપાતો નથી. <ph name="BEGIN_LINK" />આ સેટિંગ બદલવા<ph name="END_LINK" /> માટે એક્સ્ટેન્શન ડેવલપરનો અથવા તમારા વ્યવસ્થાપકનો સંપર્ક કરો.</translation>
 <translation id="7396017167185131589">શેર કરેલા ફોલ્ડર અહીં દેખાશે</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> સિસ્ટમ શરૂ થવા પર લોંચ થશે અને તમે બાકી તમામ <ph name="PRODUCT_NAME" /> વિંડોઝ બંધ કરી દેશો તે પછી પણ તે પૃષ્ઠભૂમિમાં ચાલુ રહે છે.</translation>
 <translation id="7399045143794278225">સિંકની સુવિધા કસ્ટમાઇઝ કરો</translation>
@@ -5269,6 +5259,7 @@
 <translation id="7526989658317409655">પ્લેસહોલ્ડર</translation>
 <translation id="7529411698175791732">તમારું ઇન્ટરનેટ કનેક્શન તપાસો. જો સમસ્યા ચાલુ રહે, તો સાઇન આઉટ કરો અને ફરીથી સાઇન ઇન કરવાનો પ્રયાસ કરો.</translation>
 <translation id="7530016656428373557">ડિસ્ચાર્જ દર વોટ્સમાં</translation>
+<translation id="7531310913436731628">Mac સિસ્ટમ પસંદગીઓમાં સ્થાન બંધ કરવામાં આવ્યું છે</translation>
 <translation id="7531779363494549572">સેટિંગ &gt; ઍપ અને નોટિફિકેશન &gt; નોટિફિકેશન પર જાઓ.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ચાલી રહી નથી. ઍપ બંધ કરવા માટે "ફરજિયાત બંધ" પસંદ કરો.</translation>
 <translation id="7537451260744431038">તમને વધુ સારો બ્રાઉઝિંગ અનુભવ આપવા માટે, ઉદાહરણ તરીકે, તમને સાઇન ઇન કરીને રાખવા અથવા તમારા શૉપિંગ કાર્ટની આઇટમ યાદ રાખવા માટે, સાઇટ કુકીનો ઉપયોગ કરી શકતી નથી</translation>
@@ -6043,7 +6034,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> માટે સાચવેલા પાસવર્ડ</translation>
 <translation id="8472623782143987204">હાર્ડવેર-બેક્ડ</translation>
 <translation id="8473863474539038330">સરનામા અને વધુ</translation>
-<translation id="8474733733775441349">તમારા Google એકાઉન્ટમાં સ્ટોર કરેલા પાસવર્ડ બતાવો</translation>
 <translation id="8475313423285172237">તમારા કમ્પ્યુટર પરના બીજા પ્રોગ્રામે એક એક્સ્ટેંશન ઉમેર્યું જે Chrome કાર્ય કરે છે તે રીતને બદલી શકે છે.</translation>
 <translation id="8477241577829954800">જૂનું થયેલું</translation>
 <translation id="8477384620836102176">&amp;સામાન્ય</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb
index 2a8c723..b918a00 100644
--- a/chrome/app/resources/generated_resources_hi.xtb
+++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">केवल कूटलेखन</translation>
 <translation id="1038462104119736705">Linux के लिए कम से कम <ph name="INSTALL_SIZE" /> खाली जगह का सुझाव दिया जाता है. खाली जगह बढ़ाने के लिए अपने डिवाइस से फ़ाइलें मिटाएं.</translation>
 <translation id="1039337018183941703">अमान्‍य या खराब फ़ाइल</translation>
-<translation id="104086161873270383">नई प्रोफ़ाइल</translation>
 <translation id="1041175011127912238">इस पेज से जवाब नहीं मिल रहा है</translation>
 <translation id="1041263367839475438">उपलब्ध डिवाइस</translation>
 <translation id="1042174272890264476">आपके कंप्यूटर में पहले से ही <ph name="SHORT_PRODUCT_NAME" /> की RLZ लाइब्रेरी होती है. किसी खास प्रचार कैंपेन में इस्तेमाल हुई खोजों और <ph name="SHORT_PRODUCT_NAME" /> के इस्तेमाल को मापने के लिए, RLZ एक बिना-विशिष्ट, बिना निजी तौर वाला टैग तय करता है. कभी-कभी ये लेबल <ph name="PRODUCT_NAME" /> में 'Google सर्च' क्वेरी में दिखाई देते हैं.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> सबपेज पर वापस जाने का बटन</translation>
 <translation id="1322046419516468189">अपने <ph name="SAVED_PASSWORDS_STORE" /> में सेव किए गए पासवर्ड देखें और उन्हें प्रबंधित करें</translation>
 <translation id="1324106254079708331">ऐसे व्यक्तिगत Google खातों की सुरक्षा करता है जिन पर निशाना बनाकर हमला करने का जोखिम होता है</translation>
-<translation id="1325985428688410772">स्पेस जोड़ें</translation>
 <translation id="1326317727527857210">अपने दूसरे डिवाइस से अपने टैब पाने के लिए, Chrome में साइन इन करें.</translation>
 <translation id="1327074568633507428">'Google क्लाउड प्रिंट' पर प्रिंटर</translation>
 <translation id="1327272175893960498">Kerberos के टिकट</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">क्रोमियम में पासवर्ड की जांच करने की सुविधा उपलब्ध नहीं है</translation>
 <translation id="1871534214638631766">सामग्री पर दायां क्लिक करने या दबाकर रखने पर उससे जुड़ी जानकारी दिखाता है</translation>
 <translation id="1871615898038944731">आपका <ph name="DEVICE_TYPE" /> अप टू डेट है</translation>
-<translation id="1874835396235780806">क्या आप इस पासवर्ड के साथ-साथ दूसरे पासवर्ड भी अपने Google खाते में सेव करना चाहते हैं?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{टैब को किसी और विंडो पर ले जाएं}one{टैब को किसी और विंडो पर ले जाएं}other{टैब को किसी और विंडो पर ले जाएं}}</translation>
 <translation id="1875386316419689002">इस टैब को किसी एचआईडी डिवाइस से कनेक्ट किया गया है.</translation>
 <translation id="1875387611427697908">इसे केवल <ph name="CHROME_WEB_STORE" /> से ही जोड़ा जा सकता है</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" /> में से <ph name="NETWORK_INDEX" /> नेटवर्क, <ph name="NETWORK_NAME" />, कनेक्ट करें</translation>
 <translation id="1884705339276589024">Linux डिस्क का साइज़ बदलें</translation>
 <translation id="1885106732301550621">हार्ड ड्राइव में खाली जगह</translation>
-<translation id="1885190042244431215">स्कूल वाले खाते को जोड़ने से वेबसाइट और एक्सटेंशन पर साइन-इन करने में आसानी होगी. हालांकि, वे अब भी इसे 'माता-पिता के नियंत्रण में' सुविधा की मदद से ही चला सकेंगे.</translation>
 <translation id="1886996562706621347">साइटों को प्रोटोकॉल के लिए डिफ़ॉल्‍ट हैंडलर बनने के लिए पूछने देने की अनुमति दें (सुझाव)</translation>
 <translation id="1887442540531652736">साइन इन में गड़बड़ी</translation>
 <translation id="1887597546629269384">दोबारा "Hey Google" बोलें</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">अपनी सुलभता सेटिंग पढ़ें</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{उसे एक फ़ाइल की स्‍थायी एक्सेस मिली हुई है.}one{उसे # फ़ाइलों की स्‍थायी एक्सेस मिली हुई है.}other{उसे # फ़ाइलों की स्‍थायी एक्सेस मिली हुई है.}}</translation>
 <translation id="3660234220361471169">अविश्वसनीय</translation>
-<translation id="3661172646479098821">अभी सिर्फ़ Android डिवाइस का इस्तेमाल किया जा सकता है.</translation>
 <translation id="3664511988987167893">एक्सटेंशन आइकॉन</translation>
 <translation id="3665589677786828986">Chrome को पता चला है कि आपकी कुछ सेटिंग किसी दूसरे प्रोग्राम के द्वारा दूषित कर दी गई हैं और उन्हें उनके मूल डिफ़ॉल्ट पर रीसेट कर दिया गया है.</translation>
 <translation id="3668801437375206837">ब्लूटूथ की समस्याओं का बेहतर निदान करने के लिए, Googler अपनी सुझाव रिपोर्ट के साथ अतिरिक्त ब्लूटूथ लॉग शामिल कर सकते हैं. इस विकल्प के चुने गए होने पर आपकी रिपोर्ट में आपके मौजूदा सत्र से btsnoop और HCI लॉग शामिल होंगे, जिनमें से जितना हो सके PII हटा दिया गया होगा. इन लॉग का ऐक्सेस Listnr में Chrome OS उत्पाद समूह के प्रबंधकों तक सीमित है. लॉग 90 दिनों बाद पूरी तरह मिटा दिए जाएंगे.</translation>
@@ -2771,6 +2766,7 @@
 <translation id="4370975561335139969">  डाले गए ईमेल और पासवर्ड का मिलान नहीं हो रहा</translation>
 <translation id="4374831787438678295">Linux इंस्टॉलर</translation>
 <translation id="4375035964737468845">डाउनलोड की गई फ़ाइलें खोलें</translation>
+<translation id="4376226992615520204">जगह की जानकारी इस्तेमाल करने की सुविधा बंद है</translation>
 <translation id="4377363674125277448">सर्वर के प्रमाणपत्र में कोई समस्या थी.</translation>
 <translation id="4378154925671717803">फ़ोन</translation>
 <translation id="4378373042927530923">चल नहीं पाया</translation>
@@ -2970,7 +2966,6 @@
 <translation id="4619615317237390068">अन्य डिवाइस के टैब</translation>
 <translation id="4620809267248568679">यह सेटिंग किसी एक्‍सटेंशन द्वारा लागू की गई है.</translation>
 <translation id="4623189117674524348">सिस्टम इस डिवाइस के लिए API (एपीआई) ऐक्सेस की मंजू़री नहीं दे सका.</translation>
-<translation id="4624190781974168453">स्टार्टअप पर पूछें</translation>
 <translation id="4625078469366263107">ऐप्लिकेशन चालू करें</translation>
 <translation id="4627427111733173920">कुकी ब्लॉक की गईं</translation>
 <translation id="4627442949885028695">किसी अन्य डिवाइस से जारी रखें</translation>
@@ -3400,7 +3395,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" का नवीनतम वर्शन अक्षम कर दिया गया है क्‍योंकि इसे ज़्यादा अनुमतियों की आवश्‍यकता है.</translation>
 <translation id="5185500136143151980">इंटरनेट नहीं है</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> के लिए विकल्प मेन्यू</translation>
 <translation id="5190926251776387065">पोर्ट को चालू करें</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> एक से ज़्यादा फ़ाइलें डाउनलोड करना चाहते हैं</translation>
 <translation id="5192062846343383368">निगरानी करने की सेटिग देखने के लिए Family Link ऐप्लिकेशन खोलें</translation>
@@ -3776,6 +3770,7 @@
 <translation id="5642508497713047">CRL हस्ताक्षरकर्ता</translation>
 <translation id="5643321261065707929">सीमित डेटा वाला नेटवर्क</translation>
 <translation id="5643620609347735571">साफ़ करें और जारी रखें</translation>
+<translation id="5646376287012673985">स्थान</translation>
 <translation id="5646558797914161501">व्यवसायी</translation>
 <translation id="5648166631817621825">पिछले 7 दिन</translation>
 <translation id="5649053991847567735">अपने आप होने वाले डाउनलोड</translation>
@@ -4482,7 +4477,6 @@
 <translation id="6531282281159901044">खतरनाक फ़ाइल रखें</translation>
 <translation id="6532101170117367231">Google डिस्क में सेव करें</translation>
 <translation id="6532106788206463496">बदलाव सेव करें</translation>
-<translation id="6532113437901537254">साइन इन होने के दौरान, आपके Google खाते से पासवर्ड भी इस डिवाइस पर उपलब्ध होंगे</translation>
 <translation id="6532206849875187177">सुरक्षा और साइन-इन</translation>
 <translation id="6532527800157340614">आपका ऐक्सेस टोकन नहीं मिल पाने की वजह से साइन-इन नहीं किया जा सका. कृपया अपना नेटवर्क कनेक्शन जांचें और फिर से कोशिश करें.</translation>
 <translation id="6532663472409656417">एंटरप्राइज़ दर्ज किया गया है</translation>
@@ -5012,9 +5006,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' मिटाया गया</translation>
 <translation id="7201420661433230412">फ़ाइलें देखें</translation>
 <translation id="7203150201908454328">विस्तृत</translation>
-<translation id="7203826966018112936">एक प्रोफ़ाइल से स्कूल वाले खाते को जोड़ने पर वेबसाइट और एक्सटेंशन पर साइन-इन करने में आसानी होगी. हालांकि, वे अब भी इसे 'माता-पिता के नियंत्रण में' सुविधा की मदद से ही चला सकेंगे. यह स्कूल वाले खाते के साथ सिंक किए गए बुकमार्क, पासवर्ड या दूसरे ब्राउज़र डेटा के लिए बच्चे को ऐक्सेस नहीं देता है.&lt;br&gt;&lt;br&gt;
-    अगर आपका बच्चा स्कूल में Chromebook का इस्तेमाल करता है और आप घर बैठे स्क्रीन शेयर की मदद से यह पक्का करना चाहते हैं कि आपका बच्चा स्कूल के सभी ज़रूरी काम कर सकता है, तो कृपया इस Family Link खाते से साइन आउट करें. साथ ही, Chrome OS खातों के पेज से स्कूल खाते में साइन इन करें (ध्यान दें: Family Link की 'माता-पिता के नियंत्रण में' सुविधा लागू नहीं होगी).&lt;br&gt;&lt;br&gt;
-    अगर आपका बच्चा स्कूल में Chromebook का इस्तेमाल नहीं करता है या अगर आप Family Link का इस्तेमाल करके अपने बच्चे के काम को घर पर मैनेज करना चाहते हैं, तो कृपया इस प्रोफ़ाइल में एक स्कूल वाला खाता जोड़ने के लिए, अगला बटन पर क्लिक करें.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> डाउनलोड हो रहा है...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{पेज से बाहर निकलें}one{पेज से बाहर निकलें}other{पेज से बाहर निकलें}}</translation>
 <translation id="7207457272187520234">इस्तेमाल और गड़बड़ी की जानकारी से जुड़ा डेटा भेजें. यह डिवाइस फ़िलहाल Google को गड़बड़ी की जानकारी, डिवाइस, और ऐप्लिकेशन के इस्तेमाल से जुड़ा डेटा अपने-आप भेज रहा है. यह सिस्टम और ऐप्लिकेशन की स्थिरता बढ़ाने और दूसरे सुधार करने में मदद करेगा. इकट्ठा किया गया कुछ डेटा, Google ऐप्लिकेशन और पार्टनर की भी मदद करेगा. जैसे, Android डेवलपर. यह सेटिंग, डिवाइस के मालिक ने लागू की है. अगर आपकी दूसरी 'वेब और ऐप्लिकेशन गतिविधि' सेटिंग चालू है, तो यह डेटा आपके Google खाते में सेव किया जा सकता है.</translation>
@@ -5157,7 +5148,6 @@
 <translation id="7388044238629873883">आप करीब पूरा कर चुके हैं!</translation>
 <translation id="7392118418926456391">वायरस स्कैन विफल रहा</translation>
 <translation id="7392915005464253525">बंद की गई विंडो पु&amp;न: खोलें</translation>
-<translation id="7393472013449507620">"*" वाइल्डकार्ड से जुड़ी सेटिंग अब काम नहीं करती. <ph name="BEGIN_LINK" /> इन सेटिंग को बदलने के लिए<ph name="END_LINK" /> एक्सटेंशन डेवलपर या अपने एडमिन से संपर्क करें.</translation>
 <translation id="7396017167185131589">शेयर किए गए फ़ोल्डर यहां दिखेंगे</translation>
 <translation id="7396845648024431313">सिस्‍टम प्रारंभ होने पर <ph name="APP_NAME" /> लॉन्‍च होगा और   सभी अन्‍य <ph name="PRODUCT_NAME" /> विंडो बंद कर देने के बाद भी पृष्‍ठभूमि में चलता रहेगा.</translation>
 <translation id="7399045143794278225">पसंद के मुताबिक सिंक करें</translation>
@@ -5270,6 +5260,7 @@
 <translation id="7526989658317409655">प्लेसहोल्डर</translation>
 <translation id="7529411698175791732">अपना इंटरनेट कनेक्शन जाँचें. अगर समस्या बनी रहती है, तो साइन आउट करें और दोबारा साइन इन करके देखें.</translation>
 <translation id="7530016656428373557">डिस्चार्ज दर वॉट में</translation>
+<translation id="7531310913436731628">Mac के System Preferences में, जगह की जानकारी इस्तेमाल करने की सुविधा को बंद किया गया है</translation>
 <translation id="7531779363494549572">सेटिंग &gt; ऐप्लिकेशन और सूचनाएं &gt; सूचनाएं पर जाएं.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> काम नहीं कर रहा है. ऐप्लिकेशन को बंद करने के लिए "ज़बरदस्ती बंद करें" चुनें.</translation>
 <translation id="7537451260744431038">साइटें आपके ब्राउज़ करने के अनुभव को बेहतर बनाने के लिए कुकी का इस्तेमाल नहीं कर सकतीं. जैसे, आपको साइन इन बनाए रखने के लिए या आपने शॉपिंग कार्ट में जो आइटम सेव किए हैं उन्हें याद रखने के लिए</translation>
@@ -6049,7 +6040,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> के लिए सेव किए गए पासवर्ड</translation>
 <translation id="8472623782143987204">हार्डवेयर-समर्थित</translation>
 <translation id="8473863474539038330">पते वगैरह</translation>
-<translation id="8474733733775441349">अपने Google खाते में सेव किए गए पासवर्ड दिखाएं</translation>
 <translation id="8475313423285172237">आपके कंप्यूटर पर किसी अन्य प्रोग्राम ने एक्सटेंशन जोड़ा है, जो Chrome के काम करने के तरीके को बदल सकता है.</translation>
 <translation id="8477241577829954800">अधिक्रमित किया गया</translation>
 <translation id="8477384620836102176">&amp;सामान्य</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index e02b59a..8b39559f 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Samo za šifriranje</translation>
 <translation id="1038462104119736705">Za Linux se preporučuje najmanje <ph name="INSTALL_SIZE" /> prostora. Da biste oslobodili prostor, izbrišite datoteke s uređaja.</translation>
 <translation id="1039337018183941703">Neispravna ili oštećena datoteka</translation>
-<translation id="104086161873270383">Novi profil</translation>
 <translation id="1041175011127912238">Stranica ne reagira</translation>
 <translation id="1041263367839475438">Dostupni uređaji</translation>
 <translation id="1042174272890264476">Vaše računalo ima ugrađenu RLZ biblioteku preglednika <ph name="SHORT_PRODUCT_NAME" />. RLZ dodjeljuje nejedinstvenu oznaku koja ne može poslužiti za osobnu identifikaciju za mjerenje pretraživanja i upotrebu proizvoda <ph name="SHORT_PRODUCT_NAME" /> potaknutu određenom promotivnom kampanjom. Te se oznake ponekad prikazuju u upitima Google pretraživanja u pregledniku <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Tom postavkom upravlja proširenje "<ph name="NAME" />".</translation>
 <translation id="1118738876271697201">Sustav nije uspio utvrditi model uređaja ili serijski broj.</translation>
 <translation id="1119447706177454957">Interna pogreška</translation>
+<translation id="1122068467107743258">Posao</translation>
 <translation id="1122198203221319518">&amp;Alati</translation>
 <translation id="1122242684574577509">Autentifikacija nije uspjela. Kliknite za otvaranje stranice za prijavu na Wi-Fi mrežu koju upotrebljavate (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Naziv oznake</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Upravljanje aplikacijama</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – dio grupe <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Otvori u anonimnom prozoru</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> od <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Sigurnosni je ključ zaključan jer je previše puta unesen pogrešan PIN. Da biste ga otključali, uklonite ga i ponovo ga umetnite.</translation>
 <translation id="1137673463384776352">Otvori vezu u aplikaciji <ph name="APP" /></translation>
 <translation id="1139343347646843679">Došlo je do pogreške prilikom konfiguriranja Linuxa. Obratite se administratoru.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Gumb za natrag na podstranici <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Spremljene zaporke možete pregledati i upravljati njima ovdje: <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Štiti osobne Google račune bilo koje osobe kojoj prijete ciljani napadi</translation>
-<translation id="1325985428688410772">Dodavanje razmaka</translation>
 <translation id="1326317727527857210">Da bi se prikazale kartice s vaših ostalih uređaja, prijavite se na Chrome.</translation>
 <translation id="1327074568633507428">Pisač na usluzi Google Cloud Print</translation>
 <translation id="1327272175893960498">Kerberosovi tiketi</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Unesite e-adresu</translation>
 <translation id="1576594961618857597">Zadani bijeli avatar</translation>
 <translation id="1578558981922970608">Prisilno zatvori</translation>
+<translation id="1578784163189013834">Odabir pozadine čuvara zaslona</translation>
 <translation id="1580772913177567930">Obratite se administratoru</translation>
 <translation id="1581962803218266616">Prikaži u programu Finder</translation>
 <translation id="1582955169539260415">izbriši [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">Provjera zaporki nije dostupna u Chromiumu</translation>
 <translation id="1871534214638631766">Prikaz povezanih informacija kad sadržaj kliknete desnom tipkom ili dugo pritisnete</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> je ažuriran</translation>
-<translation id="1874835396235780806">Želite li da se ova i druge zaporke spreme na vaš Google račun?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Premjesti karticu u neki drugi prozor}one{Premjesti kartice u neki drugi prozor}few{Premjesti kartice u neki drugi prozor}other{Premjesti kartice u neki drugi prozor}}</translation>
 <translation id="1875386316419689002">Kartica je povezana s HID uređajem.</translation>
 <translation id="1875387611427697908">Može se dodati jedino s usluge <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420">Mreža <ph name="NETWORK_INDEX" /> od <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, povežite</translation>
 <translation id="1884705339276589024">Promjena veličine Linux Diska</translation>
 <translation id="1885106732301550621">Prostor na disku</translation>
-<translation id="1885190042244431215">Dodavanje školskog računa omogućuje jednostavnu prijavu na web-lokacije i proširenja za učenike uz istodobni roditeljski nadzor.</translation>
 <translation id="1886996562706621347">Dopusti web-lokacijama traženje dopuštenja da postanu zadani rukovatelji za protokole (preporučeno)</translation>
 <translation id="1887442540531652736">Pogreška prijave</translation>
 <translation id="1887597546629269384">Ponovo izgovorite "Hej Google"</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">Upotrebu usluga Hangouts i Cast for Education reguliraju Googleova pravila o privatnosti.</translation>
 <translation id="2348176352564285430">Aplikacija: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Pogreška prilikom učitavanja podataka</translation>
+<translation id="2349610121459545414">Ovoj web-lokaciji i dalje omogućite pristup vašoj lokaciji</translation>
 <translation id="2349896577940037438">Ako je uključena dodatna aktivnost na webu i u aplikacijama, ti se podaci mogu spremati na vaš Google račun. Na stranici account.google.com možete pogledati svoje podatke, izbrisati ih ili promijeniti postavke računa.</translation>
 <translation id="2350133097354918058">Ponovno učitano</translation>
 <translation id="2350182423316644347">Inicijalizacija aplikacije...</translation>
@@ -1232,6 +1232,7 @@
 <translation id="247051149076336810">URL za dijeljenje datoteka</translation>
 <translation id="2470702053775288986">Onemogućena su nepodržana proširenja</translation>
 <translation id="2471469610750100598">Crno (zadano)</translation>
+<translation id="2471506181342525583">Dopušten je pristup lokaciji</translation>
 <translation id="2473195200299095979">Prevedi ovu stranicu</translation>
 <translation id="2475982808118771221">Došlo je do pogreške</translation>
 <translation id="2476578072172137802">Postavke web-lokacije</translation>
@@ -1243,6 +1244,7 @@
 <translation id="2482878487686419369">Obavijesti</translation>
 <translation id="2484959914739448251">Da biste izbrisali podatke o pregledavanju sa svih svojih sinkroniziranih uređaja i svojeg Google računa, <ph name="BEGIN_LINK" />unesite svoju šifru<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Zaporka je spremljena na ovom uređaju</translation>
+<translation id="2485394160472549611">Najbolji odabiri za vas</translation>
 <translation id="2485422356828889247">Deinstaliraj</translation>
 <translation id="2487067538648443797">Dodaj novu oznaku</translation>
 <translation id="2487268545026948104">Da biste vratili svoje podatke, povežite se s internetom</translation>
@@ -1624,6 +1626,7 @@
 <translation id="2932483646085333864">Odjavite se, pa se prijavite ponovo da biste pokrenuli sinkronizaciju</translation>
 <translation id="2932883381142163287">Prijavi zloupotrebu</translation>
 <translation id="2933632078076743449">Posljednje ažuriranje</translation>
+<translation id="2934999512438267372">Dopuštena je potpuna kontrola nad MIDI uređajima</translation>
 <translation id="2936851848721175671">Sigurnosna kopija i vraćanje</translation>
 <translation id="2938225289965773019">otvoriti veze za <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">Prikaz i brisanje podataka za prijavu pohranjenih na sigurnosnom ključu</translation>
@@ -1739,6 +1742,7 @@
 <translation id="3083193146044397360">Privremeno blokirano radi vaše zaštite</translation>
 <translation id="3084548735795614657">Ispustite da biste instalirali</translation>
 <translation id="3084771660770137092">Pregledniku Chrome ponestalo je memorije ili je proces za web-stranicu prekinut iz nekog drugog razloga. Da biste nastavili, ponovo učitajte stranicu ili idite na neku drugu stranicu.</translation>
+<translation id="3084958266922136097">Onemogućivanje čuvara zaslona</translation>
 <translation id="3085412380278336437">Web-lokacija može upotrebljavati vašu kameru</translation>
 <translation id="3085752524577180175">SOCKS host</translation>
 <translation id="3088052000289932193">Web-lokacija upotrebljava MIDI</translation>
@@ -1935,6 +1939,7 @@
 <translation id="3345886924813989455">Nije pronađen podržani preglednik</translation>
 <translation id="3347086966102161372">K&amp;opiraj adresu slike</translation>
 <translation id="3348038390189153836">Otkriven je uklonjivi uređaj</translation>
+<translation id="3348131053948466246">Emoji je predložen. Pritisnite tipke za gore ili dolje za kretanje i tipku Enter za umetanje.</translation>
 <translation id="3349933790966648062">Upotreba memorije</translation>
 <translation id="3355936511340229503">Pogreška veze</translation>
 <translation id="3356580349448036450">Dovršeno</translation>
@@ -1970,6 +1975,7 @@
 <translation id="3402585168444815892">Prijava u demo način</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Za tu web-lokaciju nema spremljenih zaporki</translation>
+<translation id="3404249063913988450">Omogućivanje čuvara zaslona</translation>
 <translation id="3405664148539009465">Prilagodi fontove</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Prikaži traku oznake</translation>
@@ -2200,7 +2206,6 @@
 <translation id="3654045516529121250">čitati postavke pristupačnosti</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Ima trajni pristup jednoj datoteci.}one{Ima trajni pristup # datoteci.}few{Ima trajni pristup do # datoteke.}other{Ima trajni pristup do # datoteka.}}</translation>
 <translation id="3660234220361471169">Nepouzdano</translation>
-<translation id="3661172646479098821">Trenutačno su podržani samo Android uređaji.</translation>
 <translation id="3664511988987167893">Ikona proširenja</translation>
 <translation id="3665589677786828986">Chrome je otkrio da je neki drugi program promijenio vaše postavke, pa ih je vratio na izvorne zadane vrijednosti.</translation>
 <translation id="3668801437375206837">Kako bi lakše dijagnosticirali poteškoće s Bluetoothom, Googleovi zaposlenici mogu uključiti dodatne Bluetooth zapisnike u svoja izvješća s povratnim informacijama. Kada se stavi kvačica u okvir te opcije, u vaše će izvješće biti uključeni btsnoop i HCI zapisnici iz vaše trenutačne sesije, a iz njih će u najvećoj mogućoj mjeri biti uklonjeni podaci koji otkrivaju identitet. Pristup tim zapisnicima bit će ograničen na upravitelje grupe proizvoda OS-a Chrome u Listnru. Zapisnici će se nepovratno ukloniti nakon 90 dana.</translation>
@@ -2510,6 +2515,7 @@
 <translation id="3984159763196946143">Pokretanje demo-načina nije uspjelo</translation>
 <translation id="3984431586879874039">Želite li dopustiti web-lokaciji prikaz vašeg sigurnosnog ključa?</translation>
 <translation id="3986705137476756801">Za sad isključi automatske titlove</translation>
+<translation id="3987544746655539083">Nastavite ovoj web-lokaciji blokirati pristup vašoj lokaciji</translation>
 <translation id="3987938432087324095">Žao mi je, ne razumijem.</translation>
 <translation id="3988996860813292272">Odaberite vremensku zonu</translation>
 <translation id="399179161741278232">Uvezeno</translation>
@@ -2575,6 +2581,7 @@
 <translation id="4087089424473531098">Stvoreno je proširenje:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Odbijena je potpuna kontrola nad MIDI uređajima</translation>
 <translation id="4088095054444612037">Prihvati za grupu</translation>
 <translation id="4089235344645910861">Postavke spremljene. Sinkronizacija pokrenuta.</translation>
 <translation id="4090103403438682346">Omogući potvrđeni pristup</translation>
@@ -2655,6 +2662,7 @@
 <translation id="4200689466366162458">Prilagođene riječi</translation>
 <translation id="4200983522494130825">Nova &amp;kartica</translation>
 <translation id="4201546031411513170">Uvijek možete odabrati u postavkama što će se sinkronizirati.</translation>
+<translation id="420283545744377356">Isključivanje čuvara zaslona</translation>
 <translation id="4206144641569145248">Vanzemaljac</translation>
 <translation id="4206323443866416204">Izvješće s povratnim informacijama</translation>
 <translation id="4208390505124702064">Pretraži <ph name="SITE_NAME" /></translation>
@@ -2753,6 +2761,7 @@
 <translation id="4348766275249686434">Prikupljaj pogreške</translation>
 <translation id="4349828822184870497">Korisno</translation>
 <translation id="4350019051035968019">Uređaj se ne može prijaviti na domenu kojoj pripada vaš račun jer je postavljen za upravljanje na nekoj drugoj domeni.</translation>
+<translation id="4350230709416545141">Uvijek blokiraj hostu <ph name="HOST" /> pristup vašoj lokaciji</translation>
 <translation id="4350782034419308508">Hey Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> želi potražiti Bluetooth uređaje u blizini. Pronađeni su sljedeći uređaji:</translation>
 <translation id="4354073718307267720">Prikaži upit kada web-lokacija želi izraditi 3D kartu vašeg okruženja ili pratiti položaj kamere</translation>
@@ -2772,6 +2781,7 @@
 <translation id="4370975561335139969">Unijeli ste e-adresu i zaporku koje se ne podudaraju</translation>
 <translation id="4374831787438678295">Program za instalaciju Linuxa</translation>
 <translation id="4375035964737468845">otvoriti preuzete datoteke</translation>
+<translation id="4376226992615520204">Lokacija je isključena</translation>
 <translation id="4377363674125277448">Pojavio se problem s certifikatom poslužitelja.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Nije pokrenuto</translation>
@@ -2971,7 +2981,6 @@
 <translation id="4619615317237390068">Kartice s drugih uređaja</translation>
 <translation id="4620809267248568679">Ovom postavkom upravlja proširenje.</translation>
 <translation id="4623189117674524348">Sustav nije uspio autorizirati pristup API-ja za ovaj uređaj.</translation>
-<translation id="4624190781974168453">Pitaj prilikom pokretanja</translation>
 <translation id="4625078469366263107">Omogući aplikaciju</translation>
 <translation id="4627427111733173920">Kolačići su blokirani</translation>
 <translation id="4627442949885028695">Nastavite na drugom uređaju</translation>
@@ -3401,7 +3410,6 @@
 <translation id="5185386675596372454">Najnovija verzija "<ph name="EXTENSION_NAME" />" onemogućena je jer zahtijeva više dozvola.</translation>
 <translation id="5185500136143151980">Nema interneta</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Izbornik opcija za <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktiviraj priključak</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> želi preuzeti više datoteka</translation>
 <translation id="5192062846343383368">Otvorite aplikaciju Family Link da biste vidjeli postavke nadzora</translation>
@@ -3594,6 +3602,7 @@
 <translation id="5431825016875453137">OpenVPN/L2TP</translation>
 <translation id="543338862236136125">Uredite zaporku</translation>
 <translation id="5434065355175441495">PKCS br. 1 RSA enkripcija</translation>
+<translation id="5435779377906857208">Uvijek dopustite hostu <ph name="HOST" /> pristup vašoj lokaciji</translation>
 <translation id="5436492226391861498">Čekanje na proxy tunel...</translation>
 <translation id="5436510242972373446">Pretraži <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Sada spremite svoje datoteke i izradite novi račun.</translation>
@@ -3777,6 +3786,7 @@
 <translation id="5642508497713047">CRL potpisnik</translation>
 <translation id="5643321261065707929">Mreža s ograničenim prometom</translation>
 <translation id="5643620609347735571">Izbriši i nastavi</translation>
+<translation id="5646376287012673985">Lokacija</translation>
 <translation id="5646558797914161501">Poslovni čovjek</translation>
 <translation id="5648166631817621825">Posljednjih 7 dana</translation>
 <translation id="5649053991847567735">Automatska preuzimanja</translation>
@@ -3820,6 +3830,7 @@
 <translation id="5701212929149679556">Roaming putem mobilne mreže</translation>
 <translation id="5701381305118179107">Centriraj</translation>
 <translation id="5701441174893770082">Nadogradnja Linuxa može značajno isprazniti bateriju. Priključite uređaj u punjač i pokušajte ponovno.</translation>
+<translation id="5702749864074810610">Prijedlog je odbačen</translation>
 <translation id="5702898740348134351">&amp;Uredi tražilice...</translation>
 <translation id="5704875434923668958">Sinkronizacija s</translation>
 <translation id="5705005699929844214">Uvijek prikaži opcije pristupačnosti</translation>
@@ -3940,6 +3951,7 @@
 <translation id="5857090052475505287">Nova mapa</translation>
 <translation id="5857171483910641802">Prečaci se predlažu na temelju web-lokacija koje često posjećujete</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Album umjetničke galerije</translation>
 <translation id="585979798156957858">Vanjska meta tipka</translation>
 <translation id="5860033963881614850">Isključeno</translation>
 <translation id="5860491529813859533">Uključi</translation>
@@ -4325,6 +4337,7 @@
 <translation id="6318125393809743217">Uključi policies.json datoteku s konfiguracijama pravila.</translation>
 <translation id="6318407754858604988">Preuzimanje je započelo</translation>
 <translation id="6318944945640833942">Pisač nije otkriven. Ponovo unesite adresu pisača.</translation>
+<translation id="6321407676395378991">Uključivanje čuvara zaslona</translation>
 <translation id="6322653941595359182">Šaljite i primajte tekstne poruke na Chromebooku</translation>
 <translation id="6324916366299863871">Uređivanje prečaca</translation>
 <translation id="6325191661371220117">Onemogući automatsko pokretanje</translation>
@@ -4483,7 +4496,6 @@
 <translation id="6531282281159901044">Zadrži opasnu datoteku</translation>
 <translation id="6532101170117367231">Spremi na Google disk</translation>
 <translation id="6532106788206463496">Spremi izmjene</translation>
-<translation id="6532113437901537254">Vaše zaporke s vašeg Google računa bit će dostupne i na ovom uređaju dok ste prijavljeni</translation>
 <translation id="6532206849875187177">Sigurnost i prijava</translation>
 <translation id="6532527800157340614">Prijava nije uspjela jer nije dohvaćen vaš pristupni token. Provjerite mrežnu vezu i pokušajte ponovo.</translation>
 <translation id="6532663472409656417">Prijavljeno u poduzeću</translation>
@@ -4505,6 +4517,7 @@
 <translation id="6555432686520421228">Uklonite sve korisničke račune i ponovo postavite svoj uređaj <ph name="IDS_SHORT_PRODUCT_NAME" /> kao da je novi.</translation>
 <translation id="6555810572223193255">Čišćenje trenutačno nije dostupno</translation>
 <translation id="6556866813142980365">Ponovi</translation>
+<translation id="6556903358015358733">Tema i pozadina</translation>
 <translation id="6557290421156335491">Moji prečaci</translation>
 <translation id="6561560012278703671">Koristi tiše poruke (onemogućuje upitima za obavijesti da vas ometaju)</translation>
 <translation id="6561726789132298588">enter</translation>
@@ -4528,6 +4541,7 @@
 <translation id="6590458744723262880">Preimenovanje mape</translation>
 <translation id="6592267180249644460">WebRTC zapisnik snimljen je u <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Otisak prsta je spremljen</translation>
+<translation id="6595187330192059106">Uvijek blokiraj hostu <ph name="HOST" /> potpunu kontrolu nad MIDI uređajima.</translation>
 <translation id="6596325263575161958">Opcije šifriranja</translation>
 <translation id="6596816719288285829">IP adresa</translation>
 <translation id="6597017209724497268">Uzorci</translation>
@@ -5013,9 +5027,6 @@
 <translation id="7201118060536064622">Izbrisana je stavka "<ph name="DELETED_ITEM_NAME" />"</translation>
 <translation id="7201420661433230412">Pregled datoteka</translation>
 <translation id="7203150201908454328">Proširen</translation>
-<translation id="7203826966018112936">Dodavanje školskog računa profilu omogućuje jednostavnu prijavu na web-lokacije i proširenja za učenike uz istodobni roditeljski nadzor. Time dijete ne dobiva pristup oznakama, zaporkama ili drugim podacima preglednika koji se sinkroniziraju sa školskim računom.&lt;br&gt;&lt;br&gt;
-    Ako vaše dijete koristi Chromebook u školi i želite da kod kuće ima pristup svim obaveznim školskim zadacima kao da je u školi, odjavite se s ovog Family Link računa i prijavite se na školski račun putem stranice računa u OS-u Chrome (napominjemo da se roditeljski nadzor Family Linka neće primjenjivati).&lt;br&gt;&lt;br&gt;
-    Ako vaše dijete ne upotrebljava Chromebook u školi ili ako želite upravljati njegovim doživljajem kod kuće putem Family Linka, kliknite gumb Dalje u nastavku da biste ovom profilu dodali školski račun.</translation>
 <translation id="7206693748120342859">Preuzimanje dodatka <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Zatvori stranicu}one{Zatvori stranicu}few{Zatvori stranice}other{Zatvori stranica}}</translation>
 <translation id="7207457272187520234">Slanje podataka o upotrebi i dijagnostici. Ovaj uređaj trenutačno Googleu automatski šalje dijagnostičke podatke te podatke o upotrebi uređaja i aplikacija. Ti podaci pomoći će poboljšati stabilnost sustava, aplikacija i drugo. Neki skupni podaci pomoći će i Googleovim aplikacijama i partnerima, na primjer razvojnim programerima za Android. Tu postavku zadao je vlasnik. Ako je uključena dodatna aktivnost na webu i u aplikacijama, ti se podaci mogu spremati na vaš Google račun.</translation>
@@ -5158,7 +5169,6 @@
 <translation id="7388044238629873883">Uskoro ste gotovi!</translation>
 <translation id="7392118418926456391">Pretraživanje virusa nije uspjelo</translation>
 <translation id="7392915005464253525">P&amp;onovo otvorite zatvoreni prozor</translation>
-<translation id="7393472013449507620">Postavke sa zamjenskim znakovima "*" više nisu podržane. Obratite se razvojnom programeru proširenja ili administratoru da biste <ph name="BEGIN_LINK" />promijenili te postavke<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Ovdje će se pojaviti dijeljene mape</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> pokrenut će se pri pokretanju sustava i nastavi raditi u pozadini čak i nakon što zatvorite sve ostale prozore proizvoda <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Prilagodi sinkronizaciju</translation>
@@ -5271,6 +5281,7 @@
 <translation id="7526989658317409655">Rezervirano mjesto</translation>
 <translation id="7529411698175791732">Provjerite internetsku vezu. Ako se problem ne riješi, pokušajte se odjaviti i ponovo prijaviti.</translation>
 <translation id="7530016656428373557">Stopa pražnjenja u vatima</translation>
+<translation id="7531310913436731628">Lokacija je isključena u Postavkama sustava na Macu</translation>
 <translation id="7531779363494549572">Otvorite Postavke &gt; Aplikacije i obavijesti &gt; Obavijesti.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ne reagira. Odaberite "Prisilno zatvori" da biste zatvorili tu aplikaciju.</translation>
 <translation id="7537451260744431038">Web-lokacije ne mogu upotrebljavati kolačiće za poboljšanje vašeg doživljaja pregledavanja, primjerice da biste ostali prijavljeni ili da bi stavke u vašoj košarici ostale zapamćene</translation>
@@ -5383,6 +5394,7 @@
 <translation id="767147716926917172">Automatski šalje podatke o upotrebi i dijagnostici Googleu</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, na stranici <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Deaktiviraj sve priključke koji se prosljeđuju u Linuxu</translation>
+<translation id="7674542105240814168">Odbijen je pristup lokaciji</translation>
 <translation id="7676867886086876795">Pošaljite audiopodatke o svojem glasu Googleu da biste omogućili diktiranje za bilo koje tekstno polje.</translation>
 <translation id="7678280409648629969">Podaci za prijavu pohranit će se u Chromeu nakon što izađete iz anonimnog načina. Na taj ćete način kasnije opet moći koristiti Touch ID s ovom web-lokacijom.</translation>
 <translation id="7680416688940118410">Kalibracija dodirnog zaslona</translation>
@@ -5590,6 +5602,7 @@
 <translation id="790040513076446191">rukovati postavkama koje se odnose na privatnost</translation>
 <translation id="7903345046358933331">Stranica je prestala reagirati. Možete pričekati da počne reagirati ili je zatvoriti.</translation>
 <translation id="7903742244674067440">U arhivi imate certifikate koji identificiraju ova tijela za izdavanje certifikata</translation>
+<translation id="7903859912536385558">stabilno (pouzdani tester)</translation>
 <translation id="7903925330883316394">Uslužni proces: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Administrator ovog računa onemogućio je višestruku prijavu.</translation>
 <translation id="7904526211178107182">Linux priključke učinite dostupnima drugim uređajima u svojoj mreži.</translation>
@@ -5715,6 +5728,7 @@
 <translation id="8049705080247101012">Google je označio proširenje "<ph name="EXTENSION_NAME" />" kao zlonamjerno, pa je instalacija spriječena</translation>
 <translation id="8049948037269924837">Obrnuto pomicanje pomoću dodirne podloge</translation>
 <translation id="8050038245906040378">Microsoftovo komercijalno kodno potpisivanje</translation>
+<translation id="8051390370038326517">Uvijek dopustite hostu <ph name="HOST" /> potpunu kontrolu nad MIDI uređajima</translation>
 <translation id="8053278772142718589">Datoteke PKCS #12</translation>
 <translation id="8053390638574070785">Ponovo učitaj ovu stranicu</translation>
 <translation id="8054517699425078995">Ta vrsta datoteke može nauditi vašem uređaju. Želite li svejedno zadržati datoteku <ph name="FILE_NAME" />?</translation>
@@ -5766,6 +5780,7 @@
 <translation id="810728361871746125">Razlučivost zaslona</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Bez kolačića treće strane}=1{Blokiran je jedan kolačić treće strane}one{Blokiran je # kolačić treće strane}few{Blokirana su # kolačića treće strane}other{Blokirano je # kolačića treće strane}}</translation>
 <translation id="810875025413331850">Nije pronađen nijedan uređaj u blizini.</translation>
+<translation id="8113476325385351118">Nastavite ovoj web-lokaciji blokirati potpunu kontrolu nad MIDI uređajima</translation>
 <translation id="8114199541033039755">U načinu rada tableta gumbima idite na početnu stranicu, natrag i prelazite s jedne aplikacije na drugu. Uključeno kad je omogućen ChromeVox ili automatski klikovi.</translation>
 <translation id="8114875720387900039">Podijeli vodoravno</translation>
 <translation id="8116972784401310538">&amp;Upravitelj oznaka</translation>
@@ -6051,7 +6066,6 @@
 <translation id="8470513973197838199">Spremljene zaporke za <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">s hardverskom podlogom</translation>
 <translation id="8473863474539038330">Adrese i više</translation>
-<translation id="8474733733775441349">Prikazivanje zaporki s vašeg Google računa</translation>
 <translation id="8475313423285172237">Drugi program na vašem računalu dodao je proširenje koje može promijeniti način na koji radi Chrome.</translation>
 <translation id="8477241577829954800">Zamijenjeno</translation>
 <translation id="8477384620836102176">&amp;Općenito</translation>
@@ -6134,6 +6148,7 @@
 <translation id="8590375307970699841">Postavi automatsko ažuriranje</translation>
 <translation id="8591783563402255548">Jedna sekunda</translation>
 <translation id="8592141010104017453">Obavijesti se ne prikazuju</translation>
+<translation id="859246725979739260">Ovoj web-lokaciji blokiran je pristup vašoj lokaciji.</translation>
 <translation id="8593121833493516339">Slanje podataka o upotrebi i dijagnostici. Pomognite poboljšati djetetov doživljaj Androida automatskim slanjem dijagnostičkih podataka i podataka o upotrebi uređaja i aplikacija Googleu. Ti se podaci neće upotrebljavati za identifikaciju vašeg djeteta, a pomoći će poboljšati sustav, stabilnost aplikacija i drugo. Neki skupni podaci pomoći će i Googleovim aplikacijama i partnerima, na primjer razvojnim programerima za Android. Ako je za vaše dijete uključena dodatna postavka Aktivnost na webu i u aplikacijama, ti se podaci mogu spremati na djetetov Google račun. <ph name="BEGIN_LINK1" />Saznajte više<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Snimi videozapis</translation>
 <translation id="8596540852772265699">Prilagođene datoteke</translation>
@@ -6146,6 +6161,7 @@
 <translation id="860909219589324847">Nikad ne koristi podatkovni promet za prijenos</translation>
 <translation id="8609465669617005112">Premjesti gore</translation>
 <translation id="8610103157987623234">Format nije točan. Pokušajte ponovo.</translation>
+<translation id="8611682088849615761">Nastavi dopuštati ovoj web-lokaciji potpunu kontrolu nad MIDI uređajima</translation>
 <translation id="8613164732773110792">Samo mala slova, brojke, podvlake ili crtice</translation>
 <translation id="8613786722548417558">Datoteka <ph name="FILE_NAME" /> prevelika je za sigurnosnu provjeru. Možete otvarati datoteke do 50 MB.</translation>
 <translation id="8615618338313291042">Anonimna aplikacija: <ph name="APP_NAME" /></translation>
@@ -6288,6 +6304,7 @@
 <translation id="8761945298804995673">Taj korisnik već postoji</translation>
 <translation id="8762886931014513155">Potrebno je ažurirati <ph name="DEVICE_TYPE" /></translation>
 <translation id="8763927697961133303">USB uređaj</translation>
+<translation id="87646919272181953">Album Google fotografija</translation>
 <translation id="8767621466733104912">Automatski ažuriraj Chrome za sve korisnike</translation>
 <translation id="8770406935328356739">Korijenski direktorij proširirenja</translation>
 <translation id="8770507190024617908">Upravljaj korisnicima</translation>
@@ -6604,6 +6621,7 @@
 <translation id="9147392381910171771">&amp;Opcije</translation>
 <translation id="9148058034647219655">Izlaz</translation>
 <translation id="9148126808321036104">Prijavite se ponovno</translation>
+<translation id="9148963623915467028">Ova web-lokacija može pristupiti vašoj lokaciji.</translation>
 <translation id="9149866541089851383">Uredi...</translation>
 <translation id="9150045010208374699">upotrijebiti vašu kameru</translation>
 <translation id="9153934054460603056">Spremi identitet i zaporku</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb
index bfceacb6..a9735f25 100644
--- a/chrome/app/resources/generated_resources_hu.xtb
+++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Csak titkosítás</translation>
 <translation id="1038462104119736705">Ajánlott legalább <ph name="INSTALL_SIZE" /> méretű területet szánni a Linuxra. Tárhely felszabadításához töröljön fájlokat az eszközről.</translation>
 <translation id="1039337018183941703">Érvénytelen vagy sérült fájl</translation>
-<translation id="104086161873270383">Új profil</translation>
 <translation id="1041175011127912238">Az oldal nem válaszol</translation>
 <translation id="1041263367839475438">Rendelkezésre álló eszközök</translation>
 <translation id="1042174272890264476">Számítógépe a <ph name="SHORT_PRODUCT_NAME" /> RLZ-könyvtárát is tartalmazza beépítve. Az RLZ egy nem egyedi, személy szerinti azonosításra nem alkalmas címkét rendel hozzá a keresések és a <ph name="SHORT_PRODUCT_NAME" /> használatának egy adott promóciós kampány keretein belüli felméréséhez. Ezek a címkék időnként a <ph name="PRODUCT_NAME" /> Google-keresési lekérdezéseiben is feltűnnek.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> aloldal vissza gombja</translation>
 <translation id="1322046419516468189">A mentett jelszavakat itt láthatja és kezelheti: <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Segíti a célzott támadások kockázatának kitett személyek személyes Google-fiókjának védelmét</translation>
-<translation id="1325985428688410772">Profil hozzáadása</translation>
 <translation id="1326317727527857210">Ha a többi eszközéről is szeretné elérni a lapjait, jelentkezzen be a Chrome-ba.</translation>
 <translation id="1327074568633507428">Nyomtató a Google Cloud Printben</translation>
 <translation id="1327272175893960498">Kerberos-jegyek</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">A Jelszóellenőrzés nem áll rendelkezésre Chromium böngészőben</translation>
 <translation id="1871534214638631766">Kapcsolódó információkat jelenít meg a tartalomról jobb egérgombbal való kattintáskor vagy hosszú megnyomáskor</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" />-eszköze naprakész</translation>
-<translation id="1874835396235780806">Szeretné menteni ezt és a többi jelszót Google-fiókjába?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Lap áthelyezése másik ablakba}other{Lapok áthelyezése másik ablakba}}</translation>
 <translation id="1875386316419689002">Ez a lap HID-eszközhöz csatlakozik.</translation>
 <translation id="1875387611427697908">Ez csak a következő helyről adható hozzá: <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" />. hálózat (összesen <ph name="NETWORK_COUNT" />), <ph name="NETWORK_NAME" />, csatlakozás</translation>
 <translation id="1884705339276589024">Linux-lemez átméretezése</translation>
 <translation id="1885106732301550621">Lemezterület</translation>
-<translation id="1885190042244431215">A hozzáadott iskolai fiók egyszerű bejelentkezést tesz lehetővé a webhelyeken és a bővítményekben tanulóként, és a szülői felügyeleti vezérlők szerint működik.</translation>
 <translation id="1886996562706621347">A webhelyek kérhetik, hogy protokollok alapértelmezett kezelői legyenek (ajánlott)</translation>
 <translation id="1887442540531652736">Bejelentkezési hiba</translation>
 <translation id="1887597546629269384">Mondja még egyszer azt, hogy „Ok Google”</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">A kisegítő lehetőségek beállításainak áttekintése</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Állandó hozzáférése van egy fájlhoz.}other{Állandó hozzáférése van # fájlhoz.}}</translation>
 <translation id="3660234220361471169">Nem megbízható</translation>
-<translation id="3661172646479098821">A rendszer jelenleg csak az Android-eszközöket támogatja.</translation>
 <translation id="3664511988987167893">Bővítmény ikonja</translation>
 <translation id="3665589677786828986">A Chrome azt észlelte, hogy egy másik program miatt megsérült néhány beállítás, ezért visszaállítja őket az eredeti alapértelmezett értékekre.</translation>
 <translation id="3668801437375206837">A Bluetooth-problémák hatékonyabb elemzése érdekében a Google-alkalmazottak kiegészítő Bluetooth-naplókat is csatolhatnak visszajelzéseikhez. Ha be van jelölve ez a beállítás, a jelentés tartalmazni fogja az aktuális munkamenet btsnoop és HCI naplóit, kitörölve belőlük a lehető legtöbb személyazonosításra alkalmas adatot. Ezekhez a naplókhoz kizárólag a Chrome OS termékcsalád vezetői férhetnek hozzá a Listnr szolgáltatásban. A naplók törlése 90 nap múlva megtörténik.</translation>
@@ -2771,6 +2766,7 @@
 <translation id="4370975561335139969">A megadott e-mail-cím és jelszó nem egyezik</translation>
 <translation id="4374831787438678295">Linux-telepítő</translation>
 <translation id="4375035964737468845">Letöltött fájlok megnyitása</translation>
+<translation id="4376226992615520204">Helyadatok kikapcsolva</translation>
 <translation id="4377363674125277448">Probléma merült fel a szerver tanúsítványával kapcsolatban.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Nem fut</translation>
@@ -2970,7 +2966,6 @@
 <translation id="4619615317237390068">Más eszközök lapjai</translation>
 <translation id="4620809267248568679">Ezt a beállítást egy bővítmény kényszeríti ki.</translation>
 <translation id="4623189117674524348">A rendszer nem tudta hitelesíteni az eszköz API-hozzáférését.</translation>
-<translation id="4624190781974168453">Kérdezzen rá indításkor</translation>
 <translation id="4625078469366263107">Alkalmazás engedélyezése</translation>
 <translation id="4627427111733173920">Cookie-k letiltva</translation>
 <translation id="4627442949885028695">Folytatás másik eszközről</translation>
@@ -3400,7 +3395,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" legújabb verziója ki van kapcsolva, mert több jogosultság kell hozzá.</translation>
 <translation id="5185500136143151980">Nincs internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">A(z) <ph name="PROFILE_LOCAL_NAME" /> beállítások menüje</translation>
 <translation id="5190926251776387065">Port aktiválása</translation>
 <translation id="51918995459521422">A(z) <ph name="ORIGIN" /> több fájlt szeretne letölteni</translation>
 <translation id="5192062846343383368">A Family Link alkalmazást megnyitva ellenőrizheti a felügyeleti beállításokat</translation>
@@ -3778,6 +3772,7 @@
 <translation id="5642508497713047">Tanúsítvány-visszavonási lista aláírója</translation>
 <translation id="5643321261065707929">Forgalomkorlátos hálózat</translation>
 <translation id="5643620609347735571">Törlés és folytatás</translation>
+<translation id="5646376287012673985">Tartózkodási hely</translation>
 <translation id="5646558797914161501">Üzletember</translation>
 <translation id="5648166631817621825">Az elmúlt 7 napból</translation>
 <translation id="5649053991847567735">Automatikus letöltések</translation>
@@ -4013,7 +4008,7 @@
 <translation id="5939518447894949180">Visszaállítás</translation>
 <translation id="5941153596444580863">Személy hozzáadása…</translation>
 <translation id="5941343993301164315">Kérjük, jelentkezzen be ide: <ph name="TOKEN_NAME" />.</translation>
-<translation id="5941711191222866238">Kicsinyítés</translation>
+<translation id="5941711191222866238">Kis méret</translation>
 <translation id="5942964813783878922"><ph name="DEVICE_TYPE" /> eszköze újraindul a frissítés után. A továbbiakban a biztonsági és szoftverfrissítéseket automatikusan telepíti a rendszer.</translation>
 <translation id="5944869793365969636">QR-kód beolvasása</translation>
 <translation id="5946591249682680882">Jelentésazonosító: <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4484,7 +4479,6 @@
 <translation id="6531282281159901044">Veszélyes fájl megtartása</translation>
 <translation id="6532101170117367231">Mentés a Google Drive-ba</translation>
 <translation id="6532106788206463496">Módosítások mentése</translation>
-<translation id="6532113437901537254">Az eszközön a Google-fiókjában található jelszavak is hozzáférhetők lesznek, miközben be van jelentkezve.</translation>
 <translation id="6532206849875187177">Biztonság és bejelentkezés</translation>
 <translation id="6532527800157340614">A bejelentkezés nem sikerült, mert nem lehetett lekérni a hozzáférési tokent. Ellenőrizze a hálózati kapcsolatot, és próbálja újra.</translation>
 <translation id="6532663472409656417">Vállalati regisztráció</translation>
@@ -5014,9 +5008,6 @@
 <translation id="7201118060536064622">„<ph name="DELETED_ITEM_NAME" />” törölve</translation>
 <translation id="7201420661433230412">Fájlok megtekintése</translation>
 <translation id="7203150201908454328">Kibontott</translation>
-<translation id="7203826966018112936">A profilhoz adott iskolai fiók egyszerű bejelentkezést tesz lehetővé a webhelyeken és a bővítményekben tanulóként, és a szülői felügyeleti vezérlők szerint működik. Gyermeke nem fér hozzá a könyvjelzőkhöz, jelszavakhoz és más adatokhoz, amelyek az iskolai fiókkal szinkronizálódnak.&lt;br&gt;&lt;br&gt;
-    Ha gyermeke Chromebook eszközt használ az iskolában, és az iskolaival megegyező környezetet teremtene otthon, hogy minden iskolai anyag biztosan hozzáférhető legyen, akkor jelentkezzen ki ebből a Family Link-fiókból, majd jelentkezzen be az iskolai fiókba a Chrome OS fiókkezelő képernyőjén (megjegyzés: így a Family Link szülői felügyeleti vezérlői nem működnek).&lt;br&gt;&lt;br&gt;
-    Ha gyermeke nem használ Chromebook eszközt az iskolában, vagy ha Ön a Family Link segítségével felügyelni szeretné az eszköz használatát, az alábbi Tovább gombra kattintva adjon a profilhoz iskolai fiókot.</translation>
 <translation id="7206693748120342859">A(z) <ph name="PLUGIN_NAME" /> plug-in letöltése...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Oldal elhagyása}other{Oldalak elhagyása}}</translation>
 <translation id="7207457272187520234">Használati és diagnosztikai adatok küldése. Ez az eszköz jelenleg automatikusan küld diagnosztikai, eszköz- és alkalmazáshasználati adatokat a Google-nak. Az adatok a rendszer- és alkalmazásstabilitás javításában, valamint más fejlesztésekben segítenek. Bizonyos összesített adatok a Google-alkalmazásoknak és -partnereknek, például az Android-fejlesztőknek is segítenek. Ezt a beállítást kötelezővé tette az eszköz tulajdonosa. Ha az Internetes és alkalmazástevékenységek beállítás is be van kapcsolva, akkor a rendszer ezeket az adatokat az Ön Google-fiókjába is mentheti.</translation>
@@ -5159,7 +5150,6 @@
 <translation id="7388044238629873883">Már majdnem elkészült.</translation>
 <translation id="7392118418926456391">A víruskeresés nem sikerült</translation>
 <translation id="7392915005464253525">Bezárt ablak újram&amp;egnyitása</translation>
-<translation id="7393472013449507620">A „*” helyettesítő karakteres beállítások már nem támogatottak. Forduljon a bővítmény fejlesztőjéhez vagy a rendszergazdához, ha <ph name="BEGIN_LINK" />módosítani szeretné ezeket a beállításokat<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">A megosztott mappák itt jelennek meg</translation>
 <translation id="7396845648024431313">A(z) <ph name="APP_NAME" />  el fog indulni a rendszer indításakor, és akkor is tovább fut a háttérben, ha már bezárta az összes többi <ph name="PRODUCT_NAME" />-ablakot.</translation>
 <translation id="7399045143794278225">A szinkronizálás személyre szabása</translation>
@@ -5272,6 +5262,7 @@
 <translation id="7526989658317409655">Helyőrző</translation>
 <translation id="7529411698175791732">Ellenőrizze az internetkapcsolatot. Ha a probléma továbbra is fennáll, próbáljon ki-, majd újra bejelentkezni.</translation>
 <translation id="7530016656428373557">Kisütési teljesítmény wattban</translation>
+<translation id="7531310913436731628">A kamera ki van kapcsolva a Mac Rendszerbeállításokban</translation>
 <translation id="7531779363494549572">Nyissa meg a Beállítások &gt; Alkalmazások és értesítések &gt; Értesítések menüpontot.</translation>
 <translation id="7532009420053991888">A(z) <ph name="LINUX_APP_NAME" /> nem válaszol. A bezárásához válassza a „Bezárás most” gombot.</translation>
 <translation id="7537451260744431038">A webhelyek nem használhatnak cookie-kat a böngészési élmény javítására például úgy, hogy bejelentkezve tartják Önt, illetve megjegyzik a kosarában lévő termékeket.</translation>
@@ -6052,7 +6043,6 @@
 <translation id="8470513973197838199">A(z) <ph name="ORIGIN" /> mentett jelszavai</translation>
 <translation id="8472623782143987204">hardvertámogatott</translation>
 <translation id="8473863474539038330">Címek és egyebek</translation>
-<translation id="8474733733775441349">Jelszavak megjelenítése az Ön Google-fiókjából</translation>
 <translation id="8475313423285172237">A számítógépen lévő egyik program olyan bővítményt adott hozzá, amely módosíthatja a Chrome működését.</translation>
 <translation id="8477241577829954800">Hatálytalanítva</translation>
 <translation id="8477384620836102176">&amp;Általános</translation>
diff --git a/chrome/app/resources/generated_resources_hy.xtb b/chrome/app/resources/generated_resources_hy.xtb
index 513f8cbb..5b4c962 100644
--- a/chrome/app/resources/generated_resources_hy.xtb
+++ b/chrome/app/resources/generated_resources_hy.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Միայն կոդավորում</translation>
 <translation id="1038462104119736705">Լինուքսը տեղադրելու համար խորհուրդ է տրվում ունենալ նվազագույնը <ph name="INSTALL_SIZE" /> ազատ տարածք։ Տարածք ազատելու համար սարքի հիշողությունից ֆայլեր ջնջեք։</translation>
 <translation id="1039337018183941703">Ֆայլն անվավեր է կամ վնասված</translation>
-<translation id="104086161873270383">Նոր պրոֆիլ</translation>
 <translation id="1041175011127912238">Էջը չի արձագանքում</translation>
 <translation id="1041263367839475438">Հասանելի սարքեր</translation>
 <translation id="1042174272890264476">Ձեր համակարգչում նաև առկա է <ph name="SHORT_PRODUCT_NAME" />-ի ներկառուցված RLZ գրադարանը: RLZ-ը նշանակում է ոչ եզակի, անձը չնույնացնող ներդիր` որոնումների և <ph name="SHORT_PRODUCT_NAME" />-ի օգտագործման չափումների համար` նախագծված հատուկ գովազդային արշավի կողմից: Այս պիտակները երբեմն ցուցադրվում են Google որոնման հարցումների մեջ <ph name="PRODUCT_NAME" />-ում:</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> ենթաէջի «Հետ» կոճակ</translation>
 <translation id="1322046419516468189">Դիտեք և կառավարեք պահված գաղտնաբառերը ձեր Google հաշվում: Անցեք <ph name="SAVED_PASSWORDS_STORE" />:</translation>
 <translation id="1324106254079708331">Անձնական Google հաշիվների պաշտպանություն նրանց համար, ովքեր թիրախավորված հարձակման վտանգի տակ են</translation>
-<translation id="1325985428688410772">Ավելացնել տարածք</translation>
 <translation id="1326317727527857210">Ձեր մյուս սարքերում եղած ներդիրներն օգտագործելու համար մուտք գործեք Chrome:</translation>
 <translation id="1327074568633507428">Տպիչ Google Cloud Print-ում</translation>
 <translation id="1327272175893960498">Kerberos տոմսեր</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Գաղտնաբառերի ստուգումը հասանելի չէ Chromium-ում</translation>
 <translation id="1871534214638631766">Ցույց տալ առնչվող տեղեկություններ՝ բովանդակության վրա երկար սեղմելու կամ մկնիկի աջ կոճակը սեղմելու դեպքում</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> սարքը թարմացված է</translation>
-<translation id="1874835396235780806">Պահե՞լ այս և մյուս գաղտնաբառերը ձեր Google հաշվում</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Բացել ներդիրն այլ պատուհանում}one{Բացել ներդիրներն այլ պատուհանում}other{Բացել ներդիրներն այլ պատուհանում}}</translation>
 <translation id="1875386316419689002">Այս ներդիրը միացված է HID սարքին։</translation>
 <translation id="1875387611427697908">Սա կարող է ավելացվել միայն <ph name="CHROME_WEB_STORE" />-ից</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Ցանց <ph name="NETWORK_INDEX" />՝ <ph name="NETWORK_COUNT" />-ից, <ph name="NETWORK_NAME" />, կապակցում</translation>
 <translation id="1884705339276589024">Փոխել Լինուքսի սկավառակի չափը</translation>
 <translation id="1885106732301550621">Սկավառակի տարածքը</translation>
-<translation id="1885190042244431215">Ուսումնական հաշիվ ավելացնելը հնարավորություն է տալիս հեշտությամբ մուտք գործել կայքեր և ընդլայնումներ որպես աշակերտ՝ ծնողական վերահսկողության տակ լինելով հանդերձ։</translation>
 <translation id="1886996562706621347">Թույլ տալ կայքերին հարցել հաղորդակարգերի մշակիչների ստանդարտ տեղադրում (հանձնարարելի)</translation>
 <translation id="1887442540531652736">Մուտքի սխալ</translation>
 <translation id="1887597546629269384">Նորից ասեք «Ok Google»</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Կարդալ մատչելիության կարգավորումները</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Այն մեկ ֆայլի մշտական ​​հասանելիություն ունի:}one{Այն # ֆայլի մշտական ​​հասանելիություն ունի:}other{Այն # ֆայլի մշտական ​​հասանելիություն ունի:}}</translation>
 <translation id="3660234220361471169">Անվստահելի</translation>
-<translation id="3661172646479098821">Ներկայումս աջակցվում են միայն Android սարքերը։</translation>
 <translation id="3664511988987167893">Ընդլայնման պատկերակ</translation>
 <translation id="3665589677786828986">Ձեր կարգավորումներից մի քանիսը փոփոխվել են կողմնակի ծրագրով: Chrome-ը վերականգնել է կանխադրված արժեքները:</translation>
 <translation id="3668801437375206837">Եթե նշեք այս վանդակը, Google-ի աշխատողները կկարողանան կցել ձեր զեկույցին Bluetooth-ի լրացուցիչ մատյաններ (btsnoop և HCI), որոնք վերաբերում են ընթացիկ աշխատաշրջանին: Անձը նույնականացնող տվյալները մատյաններից կհեռացվեն: Այս մատյանները անհրաժեշտ են առավել ճշգրիտ ախտորոշման համար, և դրանք հասանելի են միայն Chrome OS կառավարիչներին Listnr-ում: 90 օր հետո մատյաններն ընդմիշտ կհեռացվեն:</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Մուտքագրված էլփոստը և գաղտնաբառը չեն համընկնում</translation>
 <translation id="4374831787438678295">Լինուքսի տեղադրիչ</translation>
 <translation id="4375035964737468845">Բացել ներբեռնված ֆայլերը</translation>
+<translation id="4376226992615520204">Տեղորոշումն անջատված է</translation>
 <translation id="4377363674125277448">Առկա է սերվերի վկայականի հետ կապված խնդիր:</translation>
 <translation id="4378154925671717803">Հեռախոս</translation>
 <translation id="4378373042927530923">Չի գործարկվել</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Ներդիրներ այլ սարքերից</translation>
 <translation id="4620809267248568679">Այս կարգավորումը պարտադրված է ընդլայնման կողմից:</translation>
 <translation id="4623189117674524348">Չհաջողվեց API-ին մուտք տրամադրել այս սարքում:</translation>
-<translation id="4624190781974168453">Հարցնել գործարկման ժամանակ</translation>
 <translation id="4625078469366263107">Միացնել հավելվածը</translation>
 <translation id="4627427111733173920">Քուքիներն արգելափակված են</translation>
 <translation id="4627442949885028695">Շարունակեք այլ սարքից</translation>
@@ -3402,7 +3397,6 @@
 <translation id="5185386675596372454">«<ph name="EXTENSION_NAME" />»-ի նոր տարբերակն անջատվել է, քանի որ նրա համար լրացուցիչ թույլտվություններ են պահանջվում:</translation>
 <translation id="5185500136143151980">Կապ չկա</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" />՝ գործողությունների ընտրացանկ</translation>
 <translation id="5190926251776387065">Ակտիվացնել միացքը</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> հավելվածն ուզում է ներբեռնել մի քանի ֆայլ</translation>
 <translation id="5192062846343383368">Բացեք Family Link հավելվածը՝ ծնողական վերահսկողության կարգավորումները տեսնելու համար</translation>
@@ -3780,6 +3774,7 @@
 <translation id="5642508497713047">CRL-ի ստորագրող</translation>
 <translation id="5643321261065707929">Վճարովի ինտերնետ</translation>
 <translation id="5643620609347735571">Մաքրել և շարունակել</translation>
+<translation id="5646376287012673985">Տեղադրություն</translation>
 <translation id="5646558797914161501">Բիզնեսմեն</translation>
 <translation id="5648166631817621825">Վերջին 7 օրվա</translation>
 <translation id="5649053991847567735">Ավտոմատ ներբեռնումներ</translation>
@@ -4486,7 +4481,6 @@
 <translation id="6531282281159901044">Պահել վտանգավոր ֆայլը</translation>
 <translation id="6532101170117367231">Պահել Google Drive-ում</translation>
 <translation id="6532106788206463496">Պահել փոփոխությունները</translation>
-<translation id="6532113437901537254">Ձեր Google հաշվում պահվող գաղտնաբառերը հասանելի կլինեն նաև, եթե այս սարքում մուտք գործեք ձեր հաշիվ։</translation>
 <translation id="6532206849875187177">Անվտանգություն և մուտք</translation>
 <translation id="6532527800157340614">Չհաջողվեց մուտք գործել, քանի որ մուտքի թոքենի առբերումը ձախողվեց։ Ստուգեք կապը և նորից փորձեք։</translation>
 <translation id="6532663472409656417">Գրանցված է կորպորատիվ տիրույթում</translation>
@@ -5016,9 +5010,6 @@
 <translation id="7201118060536064622">«<ph name="DELETED_ITEM_NAME" />» տարրը ջնջվեց</translation>
 <translation id="7201420661433230412">Դիտել ֆայլերը</translation>
 <translation id="7203150201908454328">Ընդլայնված</translation>
-<translation id="7203826966018112936">Պրոֆիլում ոսումնական հաշիվ ավելացնելը հնարավորություն է տալիս հեշտությամբ մուտք գործել կայքեր և ընդլայնումներ որպես աշակերտ՝ ծնողական վերահսկողության տակ լինելով հանդերձ։ Ուսումնական հաշվի հետ համաժամացված էջանիշները, գաղտնաբառերը և դիտարկիչի մյուս տվյալները երեխային հասանելի չեն դառնա։&lt;br&gt;&lt;br&gt;
-    Եթե ձեր երեխան դպրոցում օգտագործում է Chromebook, և դուք ուզում եք, որ նրա դպրոցական հանձնարարությունները հասանելի լինեն նաև տնից, դուրս եկեք այս Family Link հաշվից և մտեք ուսումնական հաշիվ Chrome OS-ի հաշիվների էջից (նկատի առեք, որ Family Link-ի ծնողական վերահսկողության կառավարները չեն գործի)։&lt;br&gt;&lt;br&gt;
-    Եթե ձեր երեխան դպրոցում չի օգտագործում Chromebook, կամ եթե նախընտրում եք ձեր երեխայի գործողությունները տնից կառավարել Family Link-ի միջոցով, սեղմեք ներքևի «Առաջ» կոճակը՝ այս պրոֆիլում ուսումնական հաշիվ ավելացնելու համար։</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" />-ի ներբեռնում…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Փակել էջը}one{Փակել էջը}other{Փակել էջը}}</translation>
 <translation id="7207457272187520234">Օգտագործման և ախտորոշման տվյալների ուղարկում։ Այս սարքը Google-ին ավտոմատ ուղարկում է ախտորոշման, ինչպես նաև սարքի և հավելվածի օգտագործման մասին տվյալներ։ Դա կօգնի բարելավել համակարգի ու հավելվածների աշխատանքի կայունությունը։ Հավաքված տեղեկությունների մի մասը օգտակար կլինի մեր գործընկերների, օրինակ, Android ծրագրավորողների համար։ Այս կարգավորումը պարտադրված է սեփականատիրոջ կողմից։ Եթե միացնեք Վեբ որոնման և հավելվածների լրացուցիչ պատմությունը, այս տվյալները կպահվեն ձեր Google հաշվում։</translation>
@@ -5161,7 +5152,6 @@
 <translation id="7388044238629873883">Գրեթե պատրաստ է:</translation>
 <translation id="7392118418926456391">Վիրուսների սկանավորումը չհաջողվեց</translation>
 <translation id="7392915005464253525">Նո&amp;րից բացել փակված պատուհանը</translation>
-<translation id="7393472013449507620">Դերանշանով (*) կարգավորումներն այլևս չեն աջակցվում։ <ph name="BEGIN_LINK" />Այս կարգավորումները փոփոխելու<ph name="END_LINK" /> համար դիմեք ընդլայնման մշակողին կամ ձեր ադմինիստրատորին։</translation>
 <translation id="7396017167185131589">Ընդհանուր պանակները կցուցադրվեն այստեղ</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" />-ը կգործարկվի համակարգի մեկնարկի ժամանակ և կշարունակի աշխատել հետնաշերտում, նույնիսկ եթե փակեք <ph name="PRODUCT_NAME" />-ի բոլոր պատուհանները:</translation>
 <translation id="7399045143794278225">Կարգավորել համաժամացումը</translation>
@@ -5274,6 +5264,7 @@
 <translation id="7526989658317409655">Տեղապահ</translation>
 <translation id="7529411698175791732">Ստուգեք ձեր ինտերնետ կապը։ Եթե խնդիրը չվերանա, դուրս եկեք հաշվից ու նորից մտեք։</translation>
 <translation id="7530016656428373557">Լիցքաթափման արագությունը վատտերով</translation>
+<translation id="7531310913436731628">Տեղորոշումն անջատված է Mac-ի համակարգի կարգավորումներում</translation>
 <translation id="7531779363494549572">Անցեք Կարգավորումներ &gt; Հավելվածներ և ծանուցումներ &gt; Ծանուցումներ։</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> հավելվածը չի արձագանքում: Ընտրեք «Ստիպողաբար փակել» տարբերակը:</translation>
 <translation id="7537451260744431038">Ձեր աշխատանքը բարելավելու նպատակով կայքերը չեն կարող օգտագործել քուքիներ, օրինակ, որպեսզի պահեն ձեր ընտրած ապրանքները զամբյուղում կամ հիշեն ձեր մուտքը հաշիվ։</translation>
@@ -6052,7 +6043,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> կայքի պահված գաղտնաբառերը</translation>
 <translation id="8472623782143987204">պահանջվում է սարքակազմ</translation>
 <translation id="8473863474539038330">Հասցեներ և այլ տեղեկություններ</translation>
-<translation id="8474733733775441349">Google հաշվում պահվող գաղտնաբառերի դիտում</translation>
 <translation id="8475313423285172237">Ձեր համակարգչի ծրագրերից մեկն ավելացրել է ընդլայնում, որը կարող է միջամտել Chrome-ի աշխատանքին:</translation>
 <translation id="8477241577829954800">Փոխարինված է</translation>
 <translation id="8477384620836102176">&amp;Ընդհանուր</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb
index 5bb6518..c4b0f8e 100644
--- a/chrome/app/resources/generated_resources_id.xtb
+++ b/chrome/app/resources/generated_resources_id.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Khusus Penyandi</translation>
 <translation id="1038462104119736705">Sebaiknya sediakan ruang minimal <ph name="INSTALL_SIZE" /> untuk Linux. Untuk menambah ruang kosong, hapus file dari perangkat Anda.</translation>
 <translation id="1039337018183941703">File tidak valid atau rusak</translation>
-<translation id="104086161873270383">Profil Baru</translation>
 <translation id="1041175011127912238">Halaman ini tidak merespons</translation>
 <translation id="1041263367839475438">Perangkat yang tersedia</translation>
 <translation id="1042174272890264476">Komputer Anda juga dilengkapi dengan perpustakaan RLZ <ph name="SHORT_PRODUCT_NAME" /> yang tertanam di dalamnya. RLZ menetapkan tag tak unik dan tidak dapat diidentifikasi secara pribadi untuk mengukur penelusuran dan penggunaan <ph name="SHORT_PRODUCT_NAME" /> yang didorong oleh kampanye promosi tertentu. Biasanya label ini muncul di kueri Google Penelusuran di <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">tombol kembali subhalaman <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Lihat dan kelola sandi tersimpan di <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Mengamankan Akun Google pribadi siapa saja yang berisiko terkena serangan yang ditargetkan</translation>
-<translation id="1325985428688410772">Tambahkan Space</translation>
 <translation id="1326317727527857210">Untuk mengakses tab Anda dari perangkat lainnya, login ke Chrome.</translation>
 <translation id="1327074568633507428">Printer di Google Cloud Print</translation>
 <translation id="1327272175893960498">Tiket Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Pemeriksaan sandi tidak tersedia di Chromium</translation>
 <translation id="1871534214638631766">Menampilkan info terkait saat Anda mengklik kanan atau menekan lama konten</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> Anda adalah versi terbaru</translation>
-<translation id="1874835396235780806">Simpan sandi ini dan sandi lainnya di Akun Google Anda?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Pindahkan tab ke jendela lain}other{Pindahkan beberapa tab ke jendela lain}}</translation>
 <translation id="1875386316419689002">Tab ini terhubung dengan perangkat HID.</translation>
 <translation id="1875387611427697908">Ini hanya dapat ditambahkan dari <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Jaringan <ph name="NETWORK_INDEX" /> dari <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, Sambungkan</translation>
 <translation id="1884705339276589024">Ubah ukuran disk Linux</translation>
 <translation id="1885106732301550621">Kapasitas disk</translation>
-<translation id="1885190042244431215">Jika akun sekolah ditambahkan, pengguna dapat login dengan mudah ke situs dan ekstensi sebagai siswa, dan tetap dalam kontrol orang tua.</translation>
 <translation id="1886996562706621347">Izinkan situs meminta untuk menjadi pengendali default bagi protokol (disarankan)</translation>
 <translation id="1887442540531652736">Terjadi error saat login</translation>
 <translation id="1887597546629269384">Ucapkan lagi "Hai Google"</translation>
@@ -1252,7 +1248,7 @@
 <translation id="249113932447298600">Maaf, saat ini perangkat <ph name="DEVICE_LABEL" /> tidak didukung.</translation>
 <translation id="2492461744635776704">Menyiapkan permintaan penandatanganan sertifikat</translation>
 <translation id="249303669840926644">Tidak dapat menyelesaikan pendaftaran</translation>
-<translation id="2493126929778606526">Foto terbaik Anda, dipilih secara otomatis</translation>
+<translation id="2493126929778606526">Foto terbaik Anda, dipilih otomatis</translation>
 <translation id="2495777824269688114">Temukan lebih banyak fitur atau dapatkan jawaban. Pilih "?" untuk mendapatkan bantuan.</translation>
 <translation id="2496180316473517155">Histori penjelajahan</translation>
 <translation id="2497229222757901769">Kecepatan mouse</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Baca setelan aksesibilitas Anda</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Memiliki akses permanen ke satu file.}other{Memiliki akses permanen ke # file.}}</translation>
 <translation id="3660234220361471169">Tidak tepercaya</translation>
-<translation id="3661172646479098821">Saat ini hanya mendukung perangkat Android.</translation>
 <translation id="3664511988987167893">Ikon Ekstensi</translation>
 <translation id="3665589677786828986">Chrome mendeteksi bahwa beberapa setelan Anda dirusak oleh program lain dan menyetelnya ulang ke setelan default aslinya.</translation>
 <translation id="3668801437375206837">Untuk mendiagnosis masalah Bluetooth dengan lebih baik, Googler dapat menyertakan log Bluetooth tambahan dengan laporan umpannya. Jika opsi ini dicentang, laporan Anda akan menyertakan log HCI dan btsnoop dari sesi Anda saat ini, yang dihapus untuk membuang PII sebanyak mungkin. Akses ke log ini akan dibatasi pada pengelola grup produk Chrome OS di Listnr. Log akan dihapus setelah 90 hari.</translation>
@@ -2262,7 +2257,7 @@
 <translation id="3727148787322499904">Perubahan pada setelan ini akan berpengaruh pada semua jaringan bersama</translation>
 <translation id="3727187387656390258">Periksa pop-up</translation>
 <translation id="372722114124766626">Sekali Ini Saja</translation>
-<translation id="3728188878314831180">Mentransmisikan notifikasi dari ponsel Anda</translation>
+<translation id="3728188878314831180">Menerima notifikasi yang diterima ponsel Anda</translation>
 <translation id="3728681439294129328">Konfigurasikan alamat jaringan</translation>
 <translation id="3729303374699765035">Tanyakan saat situs ingin menemukan perangkat Bluetooth di sekitar</translation>
 <translation id="3729506734996624908">Situs yang diizinkan</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Email dan sandi yang Anda masukkan tidak cocok</translation>
 <translation id="4374831787438678295">Installer Linux</translation>
 <translation id="4375035964737468845">Membuka file yang didownload</translation>
+<translation id="4376226992615520204">Lokasi dinonaktifkan</translation>
 <translation id="4377363674125277448">Ada masalah dengan sertifikat server.</translation>
 <translation id="4378154925671717803">Ponsel</translation>
 <translation id="4378373042927530923">Tidak Berjalan</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Tab dari perangkat lain</translation>
 <translation id="4620809267248568679">Setelan ini diberlakukan oleh ekstensi.</translation>
 <translation id="4623189117674524348">Sistem gagal memberi otorisasi akses API untuk perangkat ini.</translation>
-<translation id="4624190781974168453">Tanyakan saat memulai</translation>
 <translation id="4625078469366263107">Aktifkan Aplikasi</translation>
 <translation id="4627427111733173920">Cookie diblokir</translation>
 <translation id="4627442949885028695">Lanjutkan dari perangkat lain</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Versi terbaru dari "<ph name="EXTENSION_NAME" />" telah dinonaktifkan karena versi tersebut memerlukan tingkat izin yang lebih tinggi.</translation>
 <translation id="5185500136143151980">Tidak ada internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menu opsi untuk <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktifkan port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ingin mendownload beberapa file</translation>
 <translation id="5192062846343383368">Buka aplikasi Family Link untuk melihat setelan pengawasan Anda</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">Penandatangan CRL</translation>
 <translation id="5643321261065707929">Jaringan berbayar</translation>
 <translation id="5643620609347735571">Hapus dan lanjutkan</translation>
+<translation id="5646376287012673985">Lokasi</translation>
 <translation id="5646558797914161501">Pengusaha</translation>
 <translation id="5648166631817621825">7 hari terakhir</translation>
 <translation id="5649053991847567735">Download otomatis</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Simpan file berbahaya</translation>
 <translation id="6532101170117367231">Simpan ke Google Drive</translation>
 <translation id="6532106788206463496">Simpan perubahan</translation>
-<translation id="6532113437901537254">Sandi Anda dari Akun Google juga akan tersedia di perangkat ini saat Anda login</translation>
 <translation id="6532206849875187177">Keamanan dan login</translation>
 <translation id="6532527800157340614">Login gagal karena token akses Anda tidak dapat diambil. Periksa koneksi jaringan Anda dan coba lagi.</translation>
 <translation id="6532663472409656417">Terdaftar sebagai Perusahaan</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' dihapus</translation>
 <translation id="7201420661433230412">Lihat file</translation>
 <translation id="7203150201908454328">Diperluas</translation>
-<translation id="7203826966018112936">Jika akun sekolah ditambahkan ke profil, pengguna dapat login dengan mudah ke situs dan ekstensi sebagai siswa, dan tetap dalam kontrol orang tua. Akses ke bookmark, sandi, atau data penjelajahan lain yang disinkronkan dengan akun sekolah tidak akan diberikan kepada anak.&lt;br&gt;&lt;br&gt;
-    Jika anak Anda menggunakan Chromebook di sekolah dan Anda ingin menduplikasi pengalaman sekolah di rumah untuk memastikan anak Anda memiliki akses ke semua tugas sekolah yang diperlukan, logout dari akun Family Link ini dan login ke akun sekolah dari halaman akun Chrome OS (catatan: Kontrol orang tua Family Link tidak akan berlaku).&lt;br&gt;&lt;br&gt;
-    Jika anak Anda tidak menggunakan Chromebook di sekolah atau jika Anda ingin mengelola pengalaman anak di rumah menggunakan Family Link, klik tombol Berikutnya di bawah untuk menambahkan akun sekolah ke profil ini.</translation>
 <translation id="7206693748120342859">Mendownload <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Keluar dari halaman}other{Keluar dari halaman}}</translation>
 <translation id="7207457272187520234">Kirimkan data penggunaan dan diagnostik. Perangkat ini saat ini otomatis mengirimkan data diagnostik, perangkat, dan penggunaan aplikasi ke Google. Data ini akan membantu sistem dan stabilitas aplikasi serta penyempurnaan lainnya. Beberapa data gabungan juga akan membantu aplikasi dan partner Google, seperti developer Android. Setelan ini diterapkan oleh pemilik. Jika setelan Aktivitas Web &amp; Aplikasi tambahan Anda diaktifkan, data ini mungkin akan disimpan ke Akun Google Anda.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Anda hampir selesai!</translation>
 <translation id="7392118418926456391">Pemindaian virus gagal</translation>
 <translation id="7392915005464253525">Buka kembali jendela yang tertutup</translation>
-<translation id="7393472013449507620">Menyetel dengan karakter pengganti "*" tidak lagi didukung. Hubungi developer ekstensi atau administrator Anda untuk <ph name="BEGIN_LINK" /> mengubah setelan ini<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Folder bersama akan muncul di sini</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> akan diluncurkan pada permulaan sistem dan tetap berjalan di latar meskipun Anda telah menutup semua jendela <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Sesuaikan sinkronisasi</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Placeholder</translation>
 <translation id="7529411698175791732">Periksa koneksi internet Anda. Jika masalah tetap berlanjut, coba logout lalu login lagi.</translation>
 <translation id="7530016656428373557">Laju Penggunaan Daya dalam Watt</translation>
+<translation id="7531310913436731628">Lokasi dinonaktifkan di Preferensi Sistem Mac</translation>
 <translation id="7531779363494549572">Buka Setelan &gt; Aplikasi &amp; notifikasi &gt; Notifikasi.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> tidak merespons. Pilih "Tutup paksa" untuk menutup aplikasi.</translation>
 <translation id="7537451260744431038">Situs tidak dapat menggunakan cookie untuk menyempurnakan pengalaman penjelajahan Anda, misalnya untuk membuat Anda tetap login atau untuk mengingat item di keranjang belanja Anda</translation>
@@ -6051,7 +6042,6 @@
 <translation id="8470513973197838199">Sandi yang tersimpan untuk <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">cadangan hardware</translation>
 <translation id="8473863474539038330">Alamat dan lain-lain</translation>
-<translation id="8474733733775441349">Tampilkan sandi dari Akun Google Anda</translation>
 <translation id="8475313423285172237">Program lain di komputer Anda menambahkan ekstensi yang dapat mengubah cara kerja Chrome.</translation>
 <translation id="8477241577829954800">Diganti</translation>
 <translation id="8477384620836102176">&amp;Umum</translation>
diff --git a/chrome/app/resources/generated_resources_is.xtb b/chrome/app/resources/generated_resources_is.xtb
index 8708399..ad87890 100644
--- a/chrome/app/resources/generated_resources_is.xtb
+++ b/chrome/app/resources/generated_resources_is.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Aðeins dulrita</translation>
 <translation id="1038462104119736705">Mælt er með að minnsta kosti <ph name="INSTALL_SIZE" /> af lausu plássi til að nota Linux. Eyddu skrám úr tækinu til að auka geymslurýmið.</translation>
 <translation id="1039337018183941703">Ógild eða skemmd skrá</translation>
-<translation id="104086161873270383">Nýr prófíll</translation>
 <translation id="1041175011127912238">Þessi síða svarar ekki.</translation>
 <translation id="1041263367839475438">Tæki í boði</translation>
 <translation id="1042174272890264476">RLZ-safn <ph name="SHORT_PRODUCT_NAME" /> er einnig innbyggt í tölvuna. RLZ úthlutar merki sem er ekki einkvæmt og ekki persónugreinanlegt til að mæla leitarvirkni og notkun <ph name="SHORT_PRODUCT_NAME" /> hjá tiltekinni auglýsingaherferð. Þessi merki birtast stundum í leitarfyrirspurnum á Google í <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Viðbótin „<ph name="NAME" />“ krefst þessarar stillingar.</translation>
 <translation id="1118738876271697201">Kerfið gat ekki ákvarðað tækisauðkenni eða raðnúmer.</translation>
 <translation id="1119447706177454957">Innri villa</translation>
+<translation id="1122068467107743258">Vinna</translation>
 <translation id="1122198203221319518">Verkfæri</translation>
 <translation id="1122242684574577509">Auðkenning mistókst. Smelltu til að opna innskráningarsíðuna fyrir Wi-Fi netið sem þú ert að nota (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Heiti bókamerkis</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Stjórna forritum</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – hluti af hópnum <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Opna í huliðsglugga</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> af <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Öryggislykillinn er læstur vegna þess að rangt PIN-númer var slegið inn of oft. Til að taka hann úr lás þarftu að fjarlægja hann og setja aftur inn.</translation>
 <translation id="1137673463384776352">Opna tengil í <ph name="APP" /></translation>
 <translation id="1139343347646843679">Villa kom upp við stillingu Linux. Hafðu samband við kerfisstjórann þinn.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Bakkhnappur undirsíðu <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Þú getur skoðað og haft umsjón með vistuðum aðgangsorðum á <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Verndar Google reikninga einstaklinga þar sem hætta er á miðuðum árásum</translation>
-<translation id="1325985428688410772">Bæta við svæði</translation>
 <translation id="1326317727527857210">Skráðu þig inn í Chrome til að fá aðgang að flipunum þínum í öllum tækjum.</translation>
 <translation id="1327074568633507428">Prentari í Google skýjaprentun</translation>
 <translation id="1327272175893960498">Kerberos-miðar</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Sláðu inn netfangið þitt</translation>
 <translation id="1576594961618857597">Sjálfgefin hvít notandamynd</translation>
 <translation id="1578558981922970608">Þvinga fram lokun</translation>
+<translation id="1578784163189013834">Velja bakgrunn skjávara</translation>
 <translation id="1580772913177567930">Hafðu samband við kerfisstjórann þinn</translation>
 <translation id="1581962803218266616">Sýna í Finder</translation>
 <translation id="1582955169539260415">eyða [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">Ekki er hægt að athuga aðgangsorð í Chromium</translation>
 <translation id="1871534214638631766">Sýna tengdar upplýsingar þegar þú hægrismellir eða heldur fingri á efni</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> er uppfært</translation>
-<translation id="1874835396235780806">Vista þetta og önnur aðgangsorð á Google reikningnum þínum?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Færa flipa í annan glugga}one{Færa flipa í aðra glugga}other{Færa flipa í aðra glugga}}</translation>
 <translation id="1875386316419689002">Þessi flipi er tengdur við HID-tæki.</translation>
 <translation id="1875387611427697908">Þessu er aðeins hægt að bæta við úr <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420">Netkerfi <ph name="NETWORK_INDEX" /> af <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, tengjast</translation>
 <translation id="1884705339276589024">Breyta diskstærð fyrir Linux</translation>
 <translation id="1885106732301550621">Diskpláss</translation>
-<translation id="1885190042244431215">Ef skólareikningi er bætt við geta notendur skráð sig auðveldlega inn á vefsvæði og viðbætur sem nemendur þó þeir séu enn undir stjórn foreldra.</translation>
 <translation id="1886996562706621347">Leyfa vefsvæðum að óska eftir að verða sjálfgefin hjálparforrit fyrir samskiptareglur (ráðlagt)</translation>
 <translation id="1887442540531652736">Innskráningarvilla</translation>
 <translation id="1887597546629269384">Segðu „Hey Google“ aftur</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">Notkun Hangouts og Cast for Education fellur undir persónuverndarstefnu Google.</translation>
 <translation id="2348176352564285430">Forrit: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Villa við að hlaða gögn</translation>
+<translation id="2349610121459545414">Halda áfram að veita þessu vefsvæði aðgang að staðsetningunni þinni</translation>
 <translation id="2349896577940037438">Ef kveikt er á ítarlegri vef- og forritavirkni geta þessi gögn verið vistuð á Google reikningnum þínum. Þú getur skoðað gögnin þín, eytt þeim og breytt reikningsstillingunum á account.google.com.</translation>
 <translation id="2350133097354918058">Endurhlaðið</translation>
 <translation id="2350182423316644347">Ræsir forrit...</translation>
@@ -1232,6 +1232,7 @@
 <translation id="247051149076336810">Vefslóð skráageymslu</translation>
 <translation id="2470702053775288986">Óstuddar viðbætur gerðar óvirkar</translation>
 <translation id="2471469610750100598">Svartur (sjálfgefið)</translation>
+<translation id="2471506181342525583">Aðgangur að staðsetningu veittur</translation>
 <translation id="2473195200299095979">Þýða þessa síðu</translation>
 <translation id="2475982808118771221">Villa kom upp</translation>
 <translation id="2476578072172137802">Stillingar vefsvæðis</translation>
@@ -1243,6 +1244,7 @@
 <translation id="2482878487686419369">Tilkynningar</translation>
 <translation id="2484959914739448251">Til að hreinsa vafragögn úr öllum samstilltum tækjum og af Google reikningnum þínum skaltu <ph name="BEGIN_LINK" />slá inn aðgangsorðið þitt<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Aðgangsorð vistað í þessu tæki</translation>
+<translation id="2485394160472549611">Valið fyrir þig</translation>
 <translation id="2485422356828889247">Fjarlægja</translation>
 <translation id="2487067538648443797">Bæta nýju bókamerki við</translation>
 <translation id="2487268545026948104">Tengstu internetinu til að endurheimta gögnin þín.</translation>
@@ -1624,6 +1626,7 @@
 <translation id="2932483646085333864">Skráðu þig út og inn aftur til að hefja samstillingu</translation>
 <translation id="2932883381142163287">Tilkynna misnotkun</translation>
 <translation id="2933632078076743449">Síðast uppfært</translation>
+<translation id="2934999512438267372">Ótakmörkuð stjórn á MIDI-tækjum veitt</translation>
 <translation id="2936851848721175671">Afritun og endurheimt</translation>
 <translation id="2938225289965773019">Opna tengla fyrir <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">Skoða og eyða innskráningargögnum sem geymd eru á öryggislyklinum þínum</translation>
@@ -1739,6 +1742,7 @@
 <translation id="3083193146044397360">Lokað tímabundið til að vernda öryggi þitt</translation>
 <translation id="3084548735795614657">Slepptu til að setja upp</translation>
 <translation id="3084771660770137092">Annaðhvort kláraðist minni Chrome eða önnur ástæða varð til þess að slökkt var á ferli vefsíðunnar. Til að halda áfram skaltu endurhlaða eða fara á aðra síðu.</translation>
+<translation id="3084958266922136097">Slökkva á skjávara</translation>
 <translation id="3085412380278336437">Vefsvæði getur notað myndavélina þína</translation>
 <translation id="3085752524577180175">SOCKS-hýsill</translation>
 <translation id="3088052000289932193">Vefsvæði notar MIDI-tæki</translation>
@@ -1935,6 +1939,7 @@
 <translation id="3345886924813989455">Enginn studdur vafri fannst</translation>
 <translation id="3347086966102161372">A&amp;frita slóð myndar</translation>
 <translation id="3348038390189153836">Laust tæki fannst</translation>
+<translation id="3348131053948466246">Tillaga að emoji. Ýttu upp eða niður til að fletta og ýttu á Enter til að færa inn.</translation>
 <translation id="3349933790966648062">Minnisferill</translation>
 <translation id="3355936511340229503">Tengingarvilla</translation>
 <translation id="3356580349448036450">Ljúka</translation>
@@ -1970,6 +1975,7 @@
 <translation id="3402585168444815892">Skráning í prufustillingu</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Engin aðgangsorð hafa verið vistuð fyrir þetta vefsvæði</translation>
+<translation id="3404249063913988450">Virkja skjávara</translation>
 <translation id="3405664148539009465">Sérsníða letur</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Sýna bókamerkjastiku</translation>
@@ -2200,7 +2206,6 @@
 <translation id="3654045516529121250">Lesa aðgengisstillingar</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Það hefur varanlegan aðgang að einni skrá.}one{Það hefur varanlegan aðgang að # skrá.}other{Það hefur varanlegan aðgang að # skrám.}}</translation>
 <translation id="3660234220361471169">Ótraust</translation>
-<translation id="3661172646479098821">Aðeins Android tæki eru studd eins og er.</translation>
 <translation id="3664511988987167893">Tákn viðbótar</translation>
 <translation id="3665589677786828986">Chrome greindi að annað forrit hefur nýlega spillt einhverjum stillingum hjá þér og endurstillti þær því í sjálfgildi.</translation>
 <translation id="3668801437375206837">Til að geta betur greint vandamál tengd Bluetooth geta starfsmenn Google látið viðbótarannála fylgja með ábendingarskýrslum sínum fyrir Bluetooth. Þegar þessi valkostur er valinn mun skýrslan innihalda btsnoop- og HCI-annála úr yfirstandandi lotu þinni þar sem búið er að eyða eins miklu af auðkennisupplýsingum og mögulegt er. Aðgangur að þessum annálum verður takmarkaður við stjórnendur í Chrome OS vöruhópnum í Listnr. Annálar verða hreinsaðir eftir 90 daga.</translation>
@@ -2510,6 +2515,7 @@
 <translation id="3984159763196946143">Ekki tókst að setja upp prufustillingu</translation>
 <translation id="3984431586879874039">Viltu leyfa þessu vefsvæði að sjá öryggislykilinn þinn?</translation>
 <translation id="3986705137476756801">Slökkva á skjátextum í rauntíma í bili</translation>
+<translation id="3987544746655539083">Halda áfram að loka fyrir aðgang þessa vefsvæðis að staðsetningu þinni</translation>
 <translation id="3987938432087324095">Náði þessu ekki.</translation>
 <translation id="3988996860813292272">Veldu tímabelti</translation>
 <translation id="399179161741278232">Innflutt</translation>
@@ -2575,6 +2581,7 @@
 <translation id="4087089424473531098">Bjó til viðbótina:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Ótakmarkaðri stjórn á MIDI-tækjum hafnað</translation>
 <translation id="4088095054444612037">Samþykkja fyrir hóp</translation>
 <translation id="4089235344645910861">Stillingar vistaðar. Samstilling hafin.</translation>
 <translation id="4090103403438682346">Virkja staðfestan aðgang</translation>
@@ -2655,6 +2662,7 @@
 <translation id="4200689466366162458">Sérsniðin orð</translation>
 <translation id="4200983522494130825">Nýr flipi</translation>
 <translation id="4201546031411513170">Þú getur alltaf valið hvað á að samstilla í stillingunum.</translation>
+<translation id="420283545744377356">Slökkva á skjávara</translation>
 <translation id="4206144641569145248">Geimvera</translation>
 <translation id="4206323443866416204">Ábendingaskýrsla</translation>
 <translation id="4208390505124702064">Leita á <ph name="SITE_NAME" /></translation>
@@ -2753,6 +2761,7 @@
 <translation id="4348766275249686434">Safna villum</translation>
 <translation id="4349828822184870497">Gagnlegt</translation>
 <translation id="4350019051035968019">Þetta tæki er ekki hægt að skrá á lénið sem reikningurinn þinn tilheyrir því að tækið lýtur stjórn á öðru léni.</translation>
+<translation id="4350230709416545141">Loka alltaf fyrir aðgang <ph name="HOST" /> að staðsetningu þinni</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> vill leita að nálægum Bluetooth-tækjum. Eftirfarandi tæki hafa fundist:</translation>
 <translation id="4354073718307267720">Spyrja þegar vefsvæði vill búa til þrívíddarkort af umhverfinu eða rekja staðsetningu myndavélarinnar</translation>
@@ -2772,6 +2781,7 @@
 <translation id="4370975561335139969">Netfangið og aðgangsorðið sem þú slóst inn passa ekki saman</translation>
 <translation id="4374831787438678295">Linux-uppsetningarforrit</translation>
 <translation id="4375035964737468845">Opna sóttar skrár</translation>
+<translation id="4376226992615520204">Slökkt á staðsetningu</translation>
 <translation id="4377363674125277448">Vandamál kom upp með vottorð þjónsins.</translation>
 <translation id="4378154925671717803">Sími</translation>
 <translation id="4378373042927530923">Ekki keyra</translation>
@@ -2971,7 +2981,6 @@
 <translation id="4619615317237390068">Flipar frá öðrum tækjum</translation>
 <translation id="4620809267248568679">Viðbót notar þessa stillingu.</translation>
 <translation id="4623189117674524348">Kerfinu tókst ekki að heimila forritaskilaaðgang fyrir þetta tæki.</translation>
-<translation id="4624190781974168453">Spyrja við ræsingu</translation>
 <translation id="4625078469366263107">Virkja forrit</translation>
 <translation id="4627427111733173920">Lokað á fótspor</translation>
 <translation id="4627442949885028695">Halda áfram í öðru tæki</translation>
@@ -3401,7 +3410,6 @@
 <translation id="5185386675596372454">Nýjasta útgáfa <ph name="EXTENSION_NAME" /> hefur verið gerð óvirk því að hún krefst frekari heimilda.</translation>
 <translation id="5185500136143151980">Engin nettenging</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Valmynd valkosta fyrir <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Virkja gátt</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vill sækja margar skrár</translation>
 <translation id="5192062846343383368">Opnaðu forritið Family Link til að sjá eftirlitsstillingarnar þínar</translation>
@@ -3594,6 +3602,7 @@
 <translation id="5431825016875453137">OpenVPN / L2TP</translation>
 <translation id="543338862236136125">Breyta aðgangsorði</translation>
 <translation id="5434065355175441495">PKCS #1 RSA-dulkóðun</translation>
+<translation id="5435779377906857208">Veita <ph name="HOST" /> alltaf aðgang að staðsetningu þinni</translation>
 <translation id="5436492226391861498">Bíður eftir proxy-gögnum...</translation>
 <translation id="5436510242972373446">Leita á <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Vistaðu skrárnar þínar og stofnaðu nýjan reikning núna.</translation>
@@ -3777,6 +3786,7 @@
 <translation id="5642508497713047">CRL-undirritun</translation>
 <translation id="5643321261065707929">Net með mældri notkun</translation>
 <translation id="5643620609347735571">Hreinsa og halda áfram</translation>
+<translation id="5646376287012673985">Staðsetning</translation>
 <translation id="5646558797914161501">Viðskiptamaður</translation>
 <translation id="5648166631817621825">Síðastliðna sjö daga</translation>
 <translation id="5649053991847567735">Sjálfvirkt niðurhal</translation>
@@ -3820,6 +3830,7 @@
 <translation id="5701212929149679556">Reiki á farsímakerfi</translation>
 <translation id="5701381305118179107">Miðjujafna</translation>
 <translation id="5701441174893770082">Ef Linux er uppfært kann það að ganga hratt á rafhlöðuna. Tengdu tækið við hleðslutæki og reyndu aftur.</translation>
+<translation id="5702749864074810610">Tillögu hafnað</translation>
 <translation id="5702898740348134351">Br&amp;eyta leitarvélum...</translation>
 <translation id="5704875434923668958">Samstillir við</translation>
 <translation id="5705005699929844214">Sýna alltaf aðgengisvalkosti</translation>
@@ -3940,6 +3951,7 @@
 <translation id="5857090052475505287">Ný mappa</translation>
 <translation id="5857171483910641802">Uppástungur um flýtileiðir eru byggðar á þeim vefsvæðum sem þú ferð oftast á</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Albúm listasafns</translation>
 <translation id="585979798156957858">Ytri meta-lykill</translation>
 <translation id="5860033963881614850">Slökkt</translation>
 <translation id="5860491529813859533">Kveikja</translation>
@@ -4325,6 +4337,7 @@
 <translation id="6318125393809743217">Hafa policies.json skrá með reglustillingum með.</translation>
 <translation id="6318407754858604988">Niðurhal hafið</translation>
 <translation id="6318944945640833942">Ekki tókst að greina prentara. Sláðu veffang prentara inn aftur.</translation>
+<translation id="6321407676395378991">Kveikja á skjávara</translation>
 <translation id="6322653941595359182">Sendu og taktu á móti textaskilaboðum frá Chromebook tækinu þínu</translation>
 <translation id="6324916366299863871">Breyta flýtileið</translation>
 <translation id="6325191661371220117">Slökkva á sjálfvirkri ræsingu</translation>
@@ -4483,7 +4496,6 @@
 <translation id="6531282281159901044">Halda hættulegri skrá</translation>
 <translation id="6532101170117367231">Vista í Google Drive</translation>
 <translation id="6532106788206463496">Vista breytingar</translation>
-<translation id="6532113437901537254">Aðgangsorðin á Google reikningnum þínum verða einnig aðgengileg í þessu tæki þegar þú ert skráð(ur) inn</translation>
 <translation id="6532206849875187177">Öryggi og innskráning</translation>
 <translation id="6532527800157340614">Innskráning mistókst vegna þess að ekki var hægt að sækja aðgangslykilinn þinn. Athugaðu nettenginguna og reyndu aftur.</translation>
 <translation id="6532663472409656417">Skráð hjá fyrirtæki</translation>
@@ -4505,6 +4517,7 @@
 <translation id="6555432686520421228">Fjarlæga alla notendareikninga og núllstilla <ph name="IDS_SHORT_PRODUCT_NAME" /> tækið þannig að það verði eins og þegar það var nýtt.</translation>
 <translation id="6555810572223193255">Hreinsun er ekki tiltæk eins og er</translation>
 <translation id="6556866813142980365">Endurgera</translation>
+<translation id="6556903358015358733">Þema og veggfóður</translation>
 <translation id="6557290421156335491">Flýtileiðirnar mínar</translation>
 <translation id="6561560012278703671">Nota hljóðlátari skilaboð (útilokar truflun af tilkynningum)</translation>
 <translation id="6561726789132298588">enter</translation>
@@ -4528,6 +4541,7 @@
 <translation id="6590458744723262880">Endurnefna möppu</translation>
 <translation id="6592267180249644460">WebRTC-annáll skráður <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Fingrafarið þitt greindist</translation>
+<translation id="6595187330192059106">Loka alltaf fyrir að <ph name="HOST" /> sé með ótakmarkaða stjórn á MIDI-tækjum.</translation>
 <translation id="6596325263575161958">Dulkóðunarvalkostir</translation>
 <translation id="6596816719288285829">IP-tala</translation>
 <translation id="6597017209724497268">Dæmi</translation>
@@ -5013,9 +5027,6 @@
 <translation id="7201118060536064622">„<ph name="DELETED_ITEM_NAME" />“ var eytt</translation>
 <translation id="7201420661433230412">Skoða skrár</translation>
 <translation id="7203150201908454328">Stækkað</translation>
-<translation id="7203826966018112936">Ef skólareikningi er bætt við notandasnið geta notendur á auðveldan hátt skráð sig inn á vefsvæði og viðbætur sem nemendur þar sem slík innskráning er enn undir stjórn foreldra. Það gefur barni ekki aðgang að bókamerkjum, aðgangsorðum eða öðrum vafragögnum sem eru samstillt við skólareikning.&lt;br&gt;&lt;br&gt;
-    Ef barnið þitt notar Chromebook í skólanum og þú vilt spegla skólareikning heima til að tryggja að barnið þitt hafi aðgang að öllu nauðsynlegu efni skaltu skrá þig út úr þessum Family Link reikningi og skrá þig inn á skólareikninginn af Chrome OS reikningssíðunni (athugið: barnalæsingar Family Link munu ekki gilda).&lt;br&gt;&lt;br&gt;
-    Ef barnið þitt notar ekki Chromebook í skólanum eða ef þú vilt stjórna aðgangi barnsins heima með Family Link skaltu smella á hnappinn „Áfram“ hér að neðan til að bæta skólareikningi við þennan prófíl.</translation>
 <translation id="7206693748120342859">Sækir <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Loka síðu}one{Loka síðum}other{Loka síðum}}</translation>
 <translation id="7207457272187520234">Senda notkunar- og greiningargögn. Þetta tæki sendir núna sjálfkrafa greiningargögn, tækisgögn og upplýsingar um forritanotkun til Google. Þetta mun stuðla að stöðugleika kerfa og forrita og öðrum endurbótum. Sum uppsöfnuð gögn munu einnig gagnast forritum og samstarfsaðilum Google, til dæmis þróunaraðilum Android. Eigandi valdi þessa stillingu. Ef kveikt er á ítarlegri vef- og forritavirkni geta þessi gögn verið vistuð á Google reikningnum þínum.</translation>
@@ -5158,7 +5169,6 @@
 <translation id="7388044238629873883">Þetta er alveg að klárast!</translation>
 <translation id="7392118418926456391">Vírusleit mistókst</translation>
 <translation id="7392915005464253525">Opna lokaðan glugga aftur</translation>
-<translation id="7393472013449507620">Stillingar með algildisstafnum „*“ eru ekki lengur studdar. Hafðu samband við forritara viðbótarinnar eða kerfisstjórann til að <ph name="BEGIN_LINK" /> breyta þessum stillingum<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Sameiginlegar möppur birtast hér</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> verður opnað þegar kerfið er ræst og heldur áfram að keyra í bakgrunni, jafnvel þegar þú hefur lokað öllum öðrum <ph name="PRODUCT_NAME" /> gluggum.</translation>
 <translation id="7399045143794278225">Sérvalin samstilling</translation>
@@ -5271,6 +5281,7 @@
 <translation id="7526989658317409655">Staðgengill</translation>
 <translation id="7529411698175791732">Athugaðu nettenginguna. Ef vandamálið er viðvarandi skaltu prófa að skrá þig út og inn aftur.</translation>
 <translation id="7530016656428373557">Afhleðslustraumstyrkur í vöttum</translation>
+<translation id="7531310913436731628">Slökkt er á staðsetningu í kerfisstillingum Mac</translation>
 <translation id="7531779363494549572">Farðu í Stillingar &gt; Forrit og tilkynningar &gt; Tilkynningar.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> svarar ekki. Veldu „Þvinga fram lokun“ til að loka forritinu.</translation>
 <translation id="7537451260744431038">Vefsvæði geta ekki notað fótspor til að bjóða þér upp á betri vefnotkun, til dæmis að vera áfram skráð(ur) inn eða muna hvað þú setur í innkaupakörfu</translation>
@@ -5383,6 +5394,7 @@
 <translation id="767147716926917172">Sendir greiningar- og notkunargögn sjálfkrafa til Google</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, á <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Gera framsendingu allra gátta óvirka í Linux</translation>
+<translation id="7674542105240814168">Aðgangi að staðsetningu hafnað</translation>
 <translation id="7676867886086876795">Sendu rödd þína til Google til að bjóða upp á upplestur fyrir hvaða textareit sem er.</translation>
 <translation id="7678280409648629969">Innskráningarupplýsingar verða geymdar í Chrome þegar þú hefur lokað huliðsstillingunni. Það gerir þér kleift að nota snertiauðkenni aftur á þessu vefsvæði.</translation>
 <translation id="7680416688940118410">Kvörðun snertiskjás</translation>
@@ -5590,6 +5602,7 @@
 <translation id="790040513076446191">Vinna með persónuverndartengdar stillingar</translation>
 <translation id="7903345046358933331">Síðan er hætt að svara. Þú getur beðið eftir að hún lagist eða lokað henni.</translation>
 <translation id="7903742244674067440">Þú ert með skráð vottorð sem bera kennsl á þessar vottunarstöðvar</translation>
+<translation id="7903859912536385558">stöðug (traustur prófandi)</translation>
 <translation id="7903925330883316394">Hjálparferli: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Stjórnandi þessa reiknings hefur gert innskráningu á marga reikninga óvirka.</translation>
 <translation id="7904526211178107182">Gerðu Linux-gáttir tiltækar fyrir önnur tæki í netkerfinu þínu.</translation>
@@ -5714,6 +5727,7 @@
 <translation id="8049705080247101012">Google hefur merkt „<ph name="EXTENSION_NAME" />“ sem skaðlega viðbót og komið var í veg fyrir uppsetninguna</translation>
 <translation id="8049948037269924837">Öfug fletting snertiflatar</translation>
 <translation id="8050038245906040378">Kóðaundirritunarþjónusta Microsoft</translation>
+<translation id="8051390370038326517">Veita <ph name="HOST" /> alltaf ótakmarkaða stjórn á MIDI-tækjum</translation>
 <translation id="8053278772142718589">PKCS #12 skrár</translation>
 <translation id="8053390638574070785">Endurhlaða þessa síðu</translation>
 <translation id="8054517699425078995">Þessi gerð skráar getur skaðað tækið þitt. Viltu samt halda <ph name="FILE_NAME" />?</translation>
@@ -5765,6 +5779,7 @@
 <translation id="810728361871746125">Skjáupplausn</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Engin fótspor frá þriðju aðilum}=1{Lokað á eitt fótspor frá þriðja aðila}one{Lokað er á # fótspor frá þriðju aðilum}other{Lokað er á # fótspor frá þriðju aðilum}}</translation>
 <translation id="810875025413331850">Engin nálæg tæki fundust.</translation>
+<translation id="8113476325385351118">Halda áfram að koma í veg fyrir að þetta vefsvæði fái ótakmarkaða stjórn á MIDI-tækjum</translation>
 <translation id="8114199541033039755">Fara heim og til baka og skipta um forrit með hnöppum í spjaldtölvustillingu. Þessi stilling er virk þegar kveikt er á ChromeVox eða sjálfvirkum smellum.</translation>
 <translation id="8114875720387900039">Lárétt skipting</translation>
 <translation id="8116972784401310538">&amp;Bókamerkjastjórnun</translation>
@@ -6050,7 +6065,6 @@
 <translation id="8470513973197838199">Vistuð aðgangsorð fyrir <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">vélbúnaður</translation>
 <translation id="8473863474539038330">Heimilisföng og fleira</translation>
-<translation id="8474733733775441349">Sýna aðgangsorð á Google reikningnum þínum</translation>
 <translation id="8475313423285172237">Annað forrit í tölvunni þinni bætti við viðbót sem gæti breytt því hvernig Chrome virkar.</translation>
 <translation id="8477241577829954800">Leyst af hólmi</translation>
 <translation id="8477384620836102176">Almennt</translation>
@@ -6133,6 +6147,7 @@
 <translation id="8590375307970699841">Setja upp sjálfvirkar uppfærslur</translation>
 <translation id="8591783563402255548">1 sekúnda</translation>
 <translation id="8592141010104017453">Sýna engar tilkynningar</translation>
+<translation id="859246725979739260">Lokað hefur verið á aðgang þessa vefsvæðis að staðsetningu þinni.</translation>
 <translation id="8593121833493516339">Senda notkunar- og greiningargögn. Hjálpaðu okkur að bæta Android fyrir barnið þitt með því að senda sjálfkrafa greiningargögn, tækisgögn og upplýsingar um forritanotkun til Google. Þetta verður ekki notað til að bera kennsl á barnið þitt og mun stuðla að því að bæta stöðugleika kerfa og forrita auk annarra endurbóta. Sum uppsöfnuð gögn munu einnig gagnast forritum og samstarfsaðilum Google, til dæmis þróunaraðilum Android. Ef kveikt er á ítarlegri vef- og forritavirkni fyrir barnið geta þessi gögn verið vistuð á Google reikningi barnsins. <ph name="BEGIN_LINK1" />Frekari upplýsingar<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Taka upp myndskeið</translation>
 <translation id="8596540852772265699">Sérsniðnar skrár</translation>
@@ -6145,6 +6160,7 @@
 <translation id="860909219589324847">Aldrei nota gögn til að flytja</translation>
 <translation id="8609465669617005112">Færa upp</translation>
 <translation id="8610103157987623234">Rangt snið. Reyndu aftur</translation>
+<translation id="8611682088849615761">Halda áfram að veita þessu vefsvæði ótakmarkaða stjórn á MIDI-tækjum</translation>
 <translation id="8613164732773110792">Aðeins lágstafir, tölustafir, undirstrik eða bandstrik</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> er of stór fyrir öryggisathugun. Þú getur opnað allt að 50 MB skrár.</translation>
 <translation id="8615618338313291042">Huliðsforrit: <ph name="APP_NAME" /></translation>
@@ -6287,6 +6303,7 @@
 <translation id="8761945298804995673">Þessi notandi er þegar til</translation>
 <translation id="8762886931014513155">Uppfæra þarf <ph name="DEVICE_TYPE" /></translation>
 <translation id="8763927697961133303">USB-tæki</translation>
+<translation id="87646919272181953">Albúm í Google myndum</translation>
 <translation id="8767621466733104912">Uppfæra Chrome sjálfkrafa fyrir alla notendur</translation>
 <translation id="8770406935328356739">Rótarmappa viðbóta</translation>
 <translation id="8770507190024617908">Vinna með einstaklinga</translation>
@@ -6603,6 +6620,7 @@
 <translation id="9147392381910171771">Valk&amp;ostir</translation>
 <translation id="9148058034647219655">Hætta</translation>
 <translation id="9148126808321036104">Skrá inn aftur</translation>
+<translation id="9148963623915467028">Þetta vefsvæði hefur aðgang að staðsetningu þinni.</translation>
 <translation id="9149866541089851383">Breyta...</translation>
 <translation id="9150045010208374699">Nota myndavélina þína</translation>
 <translation id="9153934054460603056">Vista auðkenni og aðgangsorð</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb
index 49be65c..ccb7cbc 100644
--- a/chrome/app/resources/generated_resources_it.xtb
+++ b/chrome/app/resources/generated_resources_it.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Solo crittografia</translation>
 <translation id="1038462104119736705">Sono consigliati almeno <ph name="INSTALL_SIZE" /> di spazio libero per Linux. Per aumentare lo spazio disponibile, elimina i file dal dispositivo.</translation>
 <translation id="1039337018183941703">File non valido o danneggiato</translation>
-<translation id="104086161873270383">Nuovo profilo</translation>
 <translation id="1041175011127912238">Questa pagina non risponde</translation>
 <translation id="1041263367839475438">Dispositivi disponibili</translation>
 <translation id="1042174272890264476">Sul computer è integrata anche la libreria RLZ di <ph name="SHORT_PRODUCT_NAME" />. RLZ assegna un tag non univoco che non consente l'identificazione personale per valutare le ricerche e l'utilizzo di <ph name="SHORT_PRODUCT_NAME" /> promosso da una determinata campagna promozionale. Talvolta queste etichette vengono visualizzate in query della Ricerca Google in <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Pulsante Indietro pagina secondaria <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Visualizza e gestisci le password salvate in <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Protegge gli Account Google personali di chiunque a rischio di attacchi mirati</translation>
-<translation id="1325985428688410772">Aggiungi spazio</translation>
 <translation id="1326317727527857210">Accedi a Chrome per trovare le tue schede degli altri dispositivi.</translation>
 <translation id="1327074568633507428">Stampante su Google Cloud Print</translation>
 <translation id="1327272175893960498">Richieste di Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Il controllo delle password non è disponibile in Chromium</translation>
 <translation id="1871534214638631766">Mostra le informazioni correlate quando fai clic con il tasto destro del mouse o eserciti una pressione prolungata su un contenuto</translation>
 <translation id="1871615898038944731">Il dispositivo <ph name="DEVICE_TYPE" /> è aggiornato</translation>
-<translation id="1874835396235780806">Vuoi salvare questa e altre password nel tuo Account Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Sposta scheda in un'altra finestra}other{Sposta schede in un'altra finestra}}</translation>
 <translation id="1875386316419689002">La scheda è connessa a un dispositivo HID.</translation>
 <translation id="1875387611427697908">È possibile aggiungerla soltanto dal <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Rete <ph name="NETWORK_INDEX" /> di <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, connetti</translation>
 <translation id="1884705339276589024">Ridimensiona disco Linux</translation>
 <translation id="1885106732301550621">Spazio su disco</translation>
-<translation id="1885190042244431215">L'aggiunta di un account della scuola consente di accedere facilmente ai siti web e alle estensioni come studente, applicando al tempo stesso il Controllo genitori.</translation>
 <translation id="1886996562706621347">Consenti ai siti di chiedere di diventare gestori predefiniti dei protocolli (consigliata)</translation>
 <translation id="1887442540531652736">Errore di accesso</translation>
 <translation id="1887597546629269384">Dì di nuovo "Ok Google"</translation>
@@ -2199,7 +2195,6 @@
 <translation id="3654045516529121250">Lettura delle impostazioni di accessibilità</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Ha accesso permanente a un file.}other{Ha accesso permanente a # file.}}</translation>
 <translation id="3660234220361471169">Non attendibile</translation>
-<translation id="3661172646479098821">Al momento sono supportati solo i dispositivi Android.</translation>
 <translation id="3664511988987167893">Icona dell'estensione</translation>
 <translation id="3665589677786828986">Chrome ha rilevato che alcune impostazioni sono state danneggiate da un altro programma e le ha ripristinate con i valori originali predefiniti.</translation>
 <translation id="3668801437375206837">Per meglio diagnosticare i problemi del Bluetooth, i Googler possono includere log Bluetooth aggiuntivi nei loro rapporti di feedback. Quando questa opzione è selezionata, il rapporto includerà i log btsnoop e HCI relativi alla tua sessione attuale, sottoposti a sanitizzazione per rimuovere il maggior numero possibile di PII. L'accesso a questi log verrà limitato agli amministratori del gruppo di prodotti Chrome OS in Listnr. I log verranno eliminati dopo 90 giorni.</translation>
@@ -2771,6 +2766,7 @@
 <translation id="4370975561335139969">L'indirizzo email e la password non corrispondono</translation>
 <translation id="4374831787438678295">Programma di installazione di Linux</translation>
 <translation id="4375035964737468845">Apertura dei file scaricati</translation>
+<translation id="4376226992615520204">Geolocalizzazione disattivata</translation>
 <translation id="4377363674125277448">Si è verificato un problema con il certificato del server.</translation>
 <translation id="4378154925671717803">Telefono</translation>
 <translation id="4378373042927530923">Non eseguito</translation>
@@ -2970,7 +2966,6 @@
 <translation id="4619615317237390068">Schede di altri dispositivi</translation>
 <translation id="4620809267248568679">Questa impostazione è applicata da un'estensione.</translation>
 <translation id="4623189117674524348">Il sistema non è riuscito ad autorizzare l'accesso all'API per questo dispositivo.</translation>
-<translation id="4624190781974168453">Chiedi all'avvio</translation>
 <translation id="4625078469366263107">Attiva app</translation>
 <translation id="4627427111733173920">Cookie bloccati</translation>
 <translation id="4627442949885028695">Continua da un altro dispositivo</translation>
@@ -3400,7 +3395,6 @@
 <translation id="5185386675596372454">La versione più recente di "<ph name="EXTENSION_NAME" />" è stata disattivata perché richiede altre autorizzazioni.</translation>
 <translation id="5185500136143151980">Nessuna connessione a Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menu Opzioni per <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Attiva porta</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vuole scaricare più file</translation>
 <translation id="5192062846343383368">Per vedere le impostazioni della supervisione, apri l'app Family Link</translation>
@@ -3776,6 +3770,7 @@
 <translation id="5642508497713047">Firmatario CRL</translation>
 <translation id="5643321261065707929">Rete a consumo</translation>
 <translation id="5643620609347735571">Cancella e continua</translation>
+<translation id="5646376287012673985">Posizione</translation>
 <translation id="5646558797914161501">Uomo d'affari</translation>
 <translation id="5648166631817621825">Ultima settimana</translation>
 <translation id="5649053991847567735">Download automatici</translation>
@@ -4482,7 +4477,6 @@
 <translation id="6531282281159901044">Conserva il file pericoloso</translation>
 <translation id="6532101170117367231">Salva in Google Drive</translation>
 <translation id="6532106788206463496">Salva modifiche</translation>
-<translation id="6532113437901537254">Le password memorizzate nel tuo Account Google saranno disponibili anche su questo dispositivo dopo aver eseguito l'accesso</translation>
 <translation id="6532206849875187177">Sicurezza e accesso</translation>
 <translation id="6532527800157340614">Impossibile accedere perché non è stato possibile recuperare il token di accesso. Controlla la connessione di rete e riprova.</translation>
 <translation id="6532663472409656417">Dispositivo aziendale registrato</translation>
@@ -4614,7 +4608,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> e 1 altra scheda}other{<ph name="PAGE_TITLE" /> e altre # schede}}</translation>
 <translation id="6709133671862442373">Notizie</translation>
 <translation id="6709357832553498500">Connettiti utilizzando <ph name="EXTENSIONNAME" /></translation>
-<translation id="6710213216561001401">Indietro</translation>
+<translation id="6710213216561001401">Precedente</translation>
 <translation id="6715803357256707211">Si è verificato un errore durante l'installazione della tua applicazione Linux. Per informazioni dettagliate, fai clic sulla notifica.</translation>
 <translation id="671619610707606484">Verranno cancellati <ph name="TOTAL_USAGE" /> di dati memorizzati dai siti</translation>
 <translation id="671928215901716392">Blocca schermo</translation>
@@ -5012,9 +5006,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" eliminato</translation>
 <translation id="7201420661433230412">Visualizza i file</translation>
 <translation id="7203150201908454328">Espanso</translation>
-<translation id="7203826966018112936">L'aggiunta di un account della scuola a un profilo consente di accedere facilmente ai siti web e alle estensioni come studente, applicando al tempo stesso il Controllo genitori. Non consente a un minore di accedere a preferiti, password o altri dati di navigazione sincronizzati con l'account della scuola.&lt;br&gt;&lt;br&gt;
-    Se tuo figlio usa un Chromebook a scuola e vuoi rispecchiare l'esperienza scolastica a casa per assicurarti che abbia accesso a tutti i compiti necessari, esci da questo account Family Link e accedi all'account della scuola dalla pagina degli account di Chrome OS (tieni però presente che non sarà applicato il Controllo genitori di Family Link).&lt;br&gt;&lt;br&gt;
-    Se tuo figlio non usa un Chromebook a scuola o se preferisci gestire la sua esperienza domestica con Family Link, fai clic sul pulsante Avanti qui sotto per aggiungere un account della scuola a questo profilo.</translation>
 <translation id="7206693748120342859">Download di <ph name="PLUGIN_NAME" /> in corso...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Esci dalla pagina}other{Esci dalle pagine}}</translation>
 <translation id="7207457272187520234">Invia dati diagnostici e sull'utilizzo. Attualmente, questo dispositivo invia a Google dati diagnostici e sull'utilizzo delle app e del dispositivo. Tali dati contribuiranno alla stabilità delle app e del sistema, nonché ad altri miglioramenti. Alcuni dati aggregati saranno utili anche alle app e ai partner di Google, come ad esempio agli sviluppatori Android. Questa impostazione è applicata dal proprietario. Se hai attivato l'impostazione Attività web e app aggiuntiva, queste informazioni potrebbero essere salvate nel tuo Account Google.</translation>
@@ -5157,7 +5148,6 @@
 <translation id="7388044238629873883">La procedura è quasi terminata.</translation>
 <translation id="7392118418926456391">Scansione virus non riuscita</translation>
 <translation id="7392915005464253525">R&amp;iapri finestra chiusa</translation>
-<translation id="7393472013449507620">Le impostazioni con caratteri jolly "*" non sono più supportate. Contatta lo sviluppatore dell'estensione o il tuo amministratore per <ph name="BEGIN_LINK" />cambiare queste impostazioni<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Le cartelle condivise verranno visualizzate qui</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> si attiverà all'avvio del sistema e continuerà a funzionare in background anche dopo la chiusura di tutte le altre finestre di <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Personalizza sincronizzazione</translation>
@@ -5270,6 +5260,7 @@
 <translation id="7526989658317409655">Segnaposto</translation>
 <translation id="7529411698175791732">Controlla la connessione a Internet. Se il problema persiste, prova a uscire e ad accedere di nuovo.</translation>
 <translation id="7530016656428373557">Velocità di esaurimento in watt</translation>
+<translation id="7531310913436731628">La geolocalizzazione è disattivata nelle Preferenze di Sistema del Mac</translation>
 <translation id="7531779363494549572">Seleziona Impostazioni &gt; App e notifiche &gt; Notifiche.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> non risponde. Seleziona "Termina" per chiudere l'app.</translation>
 <translation id="7537451260744431038">I siti non possono utilizzare i cookie per migliorare la tua esperienza di navigazione, ad esempio per mantenere l'accesso o memorizzare gli articoli aggiunti al carrello</translation>
@@ -6049,7 +6040,6 @@
 <translation id="8470513973197838199">Password salvate per il sito <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">basato sull'hardware</translation>
 <translation id="8473863474539038330">Indirizzi e altro</translation>
-<translation id="8474733733775441349">Mostra le password memorizzate nel tuo Account Google</translation>
 <translation id="8475313423285172237">Un altro programma sul computer ha aggiunto un'estensione che potrebbe modificare il funzionamento di Chrome.</translation>
 <translation id="8477241577829954800">Sostituito</translation>
 <translation id="8477384620836102176">&amp;Generali</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index eea705f..e7ebcb44 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">הצפנה בלבד</translation>
 <translation id="1038462104119736705">‏מומלץ ששטח האחסון הפנוי יהיה <ph name="INSTALL_SIZE" /> לפחות כדי להשתמש ב-Linux. כדי לפנות שטח אחסון, יש למחוק קבצים מהמכשיר.</translation>
 <translation id="1039337018183941703">הקובץ לא חוקי, או שהוא פגום</translation>
-<translation id="104086161873270383">פרופיל חדש</translation>
 <translation id="1041175011127912238">הדף לא מגיב</translation>
 <translation id="1041263367839475438">מכשירים זמינים</translation>
 <translation id="1042174272890264476">‏המחשב שלך מגיע גם עם ספריית ה-RLZ המובנה של <ph name="SHORT_PRODUCT_NAME" />‏. RLZ מקצה תג שאינו ייחודי ואינו ניתן לזיהוי על מנת למדוד את החיפוש ואת השימוש ב-<ph name="SHORT_PRODUCT_NAME" /> המונעים על ידי קמפיין ספציפי לקידום מכירות. התוויות האלה מופיעות לעתים בשאילתות החיפוש של Google ב-<ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">לחצן החזרה בדף המשנה <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">הצגה וניהול של סיסמאות שמורות במסגרת <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">‏התוכנית עוזרת להגן על חשבונות Google האישיים של כל מי שנמצא בסיכון למתקפות ממוקדות.</translation>
-<translation id="1325985428688410772">הוספת סביבה</translation>
 <translation id="1326317727527857210">‏כדי לקבל את הכרטיסיות מהמכשירים האחרים שלך, יש להיכנס ל-Chrome.</translation>
 <translation id="1327074568633507428">‏מדפסת ב-Google Cloud Print</translation>
 <translation id="1327272175893960498">‏כרטיסי Kerberos</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">‏בדיקת הסיסמאות לא זמינה ב-Chromium</translation>
 <translation id="1871534214638631766">הצגת פרטים קשורים אחרי לחיצה ימנית או לחיצה ארוכה על תוכן</translation>
 <translation id="1871615898038944731">ה-<ph name="DEVICE_TYPE" /> שלך מעודכן</translation>
-<translation id="1874835396235780806">‏לשמור את הסיסמה הזו ואחרות בחשבון Google שלך?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{העברת כרטיסייה לחלון אחר}two{העברת כרטיסיות לחלון אחר}many{העברת כרטיסיות לחלון אחר}other{העברת כרטיסיות לחלון אחר}}</translation>
 <translation id="1875386316419689002">‏הכרטיסייה הזו מחוברת להתקן HID.</translation>
 <translation id="1875387611427697908">ניתן להוסיף את הפריט הזה רק מ-<ph name="CHROME_WEB_STORE" /></translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420">רשת <ph name="NETWORK_INDEX" /> מתוך <ph name="NETWORK_COUNT" />,‏ <ph name="NETWORK_NAME" />, התחברות</translation>
 <translation id="1884705339276589024">‏שינוי הגודל של כונן Linux</translation>
 <translation id="1885106732301550621">שטח דיסק</translation>
-<translation id="1885190042244431215">הוספת חשבון בית ספרי מאפשרת לתלמיד או לתלמידה להיכנס בנוחות לאתרים ולתוספים, ועדיין לפעול במסגרת המגבלות של בקרת ההורים.</translation>
 <translation id="1886996562706621347">אפשר לאתרים לבקש להפוך למטפלי ברירת המחדל עבור פרוטוקולים (מומלץ)</translation>
 <translation id="1887442540531652736">שגיאת כניסה</translation>
 <translation id="1887597546629269384">‏יש לומר שוב "Hey Google"</translation>
@@ -2198,7 +2194,6 @@
 <translation id="3654045516529121250">קרא את הגדרות הנגישות שלך</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{יש לו גישה קבועה אל קובץ אחד.}two{יש לו גישה קבועה אל # קבצים.}many{יש לו גישה קבועה אל # קבצים.}other{יש לו גישה קבועה אל # קבצים.}}</translation>
 <translation id="3660234220361471169">לא אמין</translation>
-<translation id="3661172646479098821">‏נכון לעכשיו, רק מכשירי Android נתמכים.</translation>
 <translation id="3664511988987167893">סמל התוסף</translation>
 <translation id="3665589677786828986">‏Chrome זיהה שחלק מההגדרות שלך נפגמו על ידי תכנית אחרת ואיפס אותן לברירות המחדל המקוריות.</translation>
 <translation id="3668801437375206837">‏כדי לשפר את האבחון של בעיות בחיבור Bluetooth, גוגלרים יכולים לכלול יומני Bluetooth נוספים במשובים. אם האפשרות מסומנת, הדוח יכלול את יומני btsnoop ו-HCI מהסשן הנוכחי, והמערכת "תנקה" אותו כדי להסיר כמה שיותר פרטים אישיים מזהים (PII). הגישה ליומנים האלה תוגבל למנהלים של קבוצת מוצרי Chrome OS ב-Listnr. המערכת תמחק לצמיתות את היומנים אחרי 90 ימים.</translation>
@@ -2770,6 +2765,7 @@
 <translation id="4370975561335139969">כתובת האימייל והסיסמה שהזנת אינן תואמות</translation>
 <translation id="4374831787438678295">‏מנהל ההתקנה של Linux</translation>
 <translation id="4375035964737468845">פתיחה של קבצים שהורדו</translation>
+<translation id="4376226992615520204">שירות המיקום כבוי</translation>
 <translation id="4377363674125277448">הייתה בעיה באישור השרת.</translation>
 <translation id="4378154925671717803">טלפון</translation>
 <translation id="4378373042927530923">לא הופעל</translation>
@@ -2969,7 +2965,6 @@
 <translation id="4619615317237390068">כרטיסיות ממכשירים אחרים</translation>
 <translation id="4620809267248568679">הגדרה זו נאכפת על ידי תוסף.</translation>
 <translation id="4623189117674524348">‏המערכת לא הצליחה לאמת את הגישה של המכשיר הזה לממשק ה-API.</translation>
-<translation id="4624190781974168453">הצגת השאלה בזמן ההפעלה</translation>
 <translation id="4625078469366263107">הפעל יישום</translation>
 <translation id="4627427111733173920">‏קובצי Cookie נחסמו</translation>
 <translation id="4627442949885028695">המשך במכשיר אחר</translation>
@@ -3399,7 +3394,6 @@
 <translation id="5185386675596372454">הגרסה החדשה ביותר של "<ph name="EXTENSION_NAME" />" הושבתה מכיוון שהיא דורשת הרשאות נרחבות יותר.</translation>
 <translation id="5185500136143151980">אין חיבור לאינטרנט</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> ‏(<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">תפריט אפשרויות לפרופיל <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">הפעלת היציאה</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> רוצה להוריד מספר קבצים</translation>
 <translation id="5192062846343383368">‏כדי לראות את הגדרות הפיקוח יש לפתוח את האפליקציה Family Link</translation>
@@ -3775,6 +3769,7 @@
 <translation id="5642508497713047">‏חותם CRL</translation>
 <translation id="5643321261065707929">רשת עם חיוב לפי שימוש בנתונים</translation>
 <translation id="5643620609347735571">ניקוי והמשך</translation>
+<translation id="5646376287012673985">מיקום</translation>
 <translation id="5646558797914161501">איש עסקים</translation>
 <translation id="5648166631817621825">מהשבוע האחרון</translation>
 <translation id="5649053991847567735">הורדות אוטומטיות</translation>
@@ -4010,7 +4005,7 @@
 <translation id="5939518447894949180">אפס</translation>
 <translation id="5941153596444580863">הוספת משתמש...</translation>
 <translation id="5941343993301164315">היכנס ל-<ph name="TOKEN_NAME" />.</translation>
-<translation id="5941711191222866238">מזער</translation>
+<translation id="5941711191222866238">מזעור</translation>
 <translation id="5942964813783878922">ה-<ph name="DEVICE_TYPE" /> יופעל מחדש אחרי העדכון הזה. עדכוני תוכנה ואבטחה עתידיים יותקנו באופן אוטומטי.</translation>
 <translation id="5944869793365969636">‏סריקת קוד QR</translation>
 <translation id="5946591249682680882">מזהה דיווח <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4481,7 +4476,6 @@
 <translation id="6531282281159901044">השאר את הקובץ המסוכן</translation>
 <translation id="6532101170117367231">‏שמור ב-Google Drive</translation>
 <translation id="6532106788206463496">שמירת השינויים</translation>
-<translation id="6532113437901537254">‏הסיסמאות שלך מחשבון Google יהיו זמינות גם במכשיר הזה, כל עוד הוא מחובר לחשבון</translation>
 <translation id="6532206849875187177">אבטחה וכניסה</translation>
 <translation id="6532527800157340614">הכניסה נכשלה כי לא ניתן היה לאחזר את אסימון הגישה שלך. יש לבדוק את החיבור לרשת ולנסות שוב.</translation>
 <translation id="6532663472409656417">רשום בארגון</translation>
@@ -5011,9 +5005,6 @@
 <translation id="7201118060536064622">הפריט '<ph name="DELETED_ITEM_NAME" />' נמחק</translation>
 <translation id="7201420661433230412">הצג קבצים</translation>
 <translation id="7203150201908454328">מורחב</translation>
-<translation id="7203826966018112936">‏הוספת חשבון בית ספרי לפרופיל מאפשרת לתלמיד או לתלמידה להיכנס בקלות לאתרים ולתוספים, ועדיין לפעול במסגרת המגבלות של בקרת ההורים. חשבון זה לא מעניק לילד או לילדה גישה לסימניות, לסיסמאות או לנתוני דפדפן אחרים המסונכרנים עם החשבון הבית ספרי.&lt;br&gt;&lt;br&gt;
-    אם הילד או הילדה שלך משתמשים ב-Chromebook בבית הספר, וברצונך ליצור בשבילם בבית חוויה הדומה ללמידה בבית הספר ולהבטיח שיש להם גישה לכל המקורות הדרושים ללמידה, עליך לצאת מהחשבון הזה של Family Link ולהיכנס שוב לחשבון הבית ספרי מדף החשבונות ב-Chrome (הערה: בקרת ההורים של Family Link לא תחול על החשבון).&lt;br&gt;&lt;br&gt;
-    אם הילד או הילדה לא משתמשים ב-Chromebook בבית הספר, או אם עדיף לך לנהל את החוויה של הילד או הילדה בבית באמצעות Family Link, עליך ללחוץ על הלחצן 'הבא' למטה כדי להוסיף חשבון בית ספרי לפרופיל הזה.</translation>
 <translation id="7206693748120342859">מוריד את <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{יציאה מהדף}two{יציאה מהדפים}many{יציאה מהדפים}other{יציאה מהדפים}}</translation>
 <translation id="7207457272187520234">‏שליחת מידע לגבי אופן השימוש בנתונים וניתוח הביצועים. המכשיר הזה שולח עכשיו אל Google באופן אוטומטי נתוני אבחון, נתוני מכשיר ונתוני שימוש באפליקציות. הנתונים האלה יעזרו לשמור על היציבות של המערכת ושל האפליקציות ולבצע שיפורים אחרים. חלק מהנתונים הנצברים יעזרו גם לשפר את האפליקציות של Google וכן יעזרו לשותפים של Google, כמו מפתחים של Android. ההגדרה הזו נאכפת על-ידי הבעלים. אם הופעלה ההגדרה 'פעילות באתרי אינטרנט ובאפליקציות נוספים', ייתכן שהנתונים יישמרו בחשבון Google שלך.</translation>
@@ -5156,7 +5147,6 @@
 <translation id="7388044238629873883">כמעט סיימת!</translation>
 <translation id="7392118418926456391">סריקת וירוסים נכשלה</translation>
 <translation id="7392915005464253525">פ&amp;תח מחדש חלון סגור</translation>
-<translation id="7393472013449507620">הגדרות עם תווים כלליים מסוג "*" כבר אינן נתמכות. יש לפנות אל מפתח התוסף או אל מנהל המערכת כדי <ph name="BEGIN_LINK" />לשנות את ההגדרות האלה<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">התיקיות המשותפות יופיעו כאן</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> יופעל עם אתחול המערכת וימשיך לפעול ברקע גם כאשר תסגור את כל החלונות האחרים של <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">התאמה אישית של הסנכרון</translation>
@@ -5269,6 +5259,7 @@
 <translation id="7526989658317409655">Placeholder</translation>
 <translation id="7529411698175791732">בדוק את חיבור האינטרנט. אם הבעיה לא נפתרת, נסה לצאת מהחשבון ולהיכנס אליו שוב.</translation>
 <translation id="7530016656428373557">שיעור פריקה בוואט</translation>
+<translation id="7531310913436731628">‏שירותי המיקום מושבתים בהעדפות המערכת של Mac</translation>
 <translation id="7531779363494549572">עוברים אל 'הגדרות' &gt; 'אפליקציות והודעות' &gt; 'הודעות'.</translation>
 <translation id="7532009420053991888">האפליקציה <ph name="LINUX_APP_NAME" /> לא מגיבה. כדי לסגור את האפליקציה, יש לבחור באפשרות "אילוץ סגירה".</translation>
 <translation id="7537451260744431038">‏אתרים לא יכולים להשתמש בקובצי cookie כדי לשפר את חוויית הגלישה – למשל, כדי למנוע ניתוק שלך מהחשבון או כדי לזכור את הפריטים שהוספת לעגלת הקניות</translation>
@@ -6050,7 +6041,6 @@
 <translation id="8470513973197838199">סיסמאות שנשמרו בשביל <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">גיבוי חומרה</translation>
 <translation id="8473863474539038330">כתובות ועוד</translation>
-<translation id="8474733733775441349">‏הצגת סיסמאות מחשבון Google</translation>
 <translation id="8475313423285172237">‏תוכנה אחרת במחשב שלך הוסיפה תוסף שעשוי לשנות את אופן הפעולה של Chrome.</translation>
 <translation id="8477241577829954800">הוחלף</translation>
 <translation id="8477384620836102176">&amp;כללי</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index f1f14413..3f65790 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">暗号化のみ</translation>
 <translation id="1038462104119736705">Linux 用の推奨される空き容量は <ph name="INSTALL_SIZE" /> 以上です。空き容量を増やすには、デバイスからファイルを削除してください。</translation>
 <translation id="1039337018183941703">ファイルが無効であるか壊れています</translation>
-<translation id="104086161873270383">新しいプロフィール</translation>
 <translation id="1041175011127912238">このページは応答していません</translation>
 <translation id="1041263367839475438">使用可能なデバイス</translation>
 <translation id="1042174272890264476">お使いのパソコンには <ph name="SHORT_PRODUCT_NAME" /> の RLZ ライブラリも組み込まれています。RLZ は、個人を特定できないタグを割り当てて、特定の販促キャンペーンで生じた検索や <ph name="SHORT_PRODUCT_NAME" /> の利用状況を計測します。これらのラベルは <ph name="PRODUCT_NAME" /> で Google 検索キーワード内に表示されることがあります。</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> サブページの戻るボタン</translation>
 <translation id="1322046419516468189"><ph name="SAVED_PASSWORDS_STORE" /> での保存パスワードの表示と管理</translation>
 <translation id="1324106254079708331">個人の Google アカウントを標的型攻撃から保護します</translation>
-<translation id="1325985428688410772">スペースを追加</translation>
 <translation id="1326317727527857210">他のデバイスと同じタブを使用するには、Chrome にログインします。</translation>
 <translation id="1327074568633507428">Google クラウド プリント上のプリンタ</translation>
 <translation id="1327272175893960498">Kerberos チケット</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Chromium では、パスワード確認をご利用いただけません</translation>
 <translation id="1871534214638631766">コンテンツを右クリックまたは長押ししたときに関連情報を表示します</translation>
 <translation id="1871615898038944731">お使いの <ph name="DEVICE_TYPE" /> は最新です</translation>
-<translation id="1874835396235780806">このパスワードと他のパスワードを Google アカウントに保存しますか?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{タブを別のウィンドウに移動}other{タブを別のウィンドウに移動}}</translation>
 <translation id="1875386316419689002">このタブは HID デバイスに接続されています。</translation>
 <translation id="1875387611427697908">これは <ph name="CHROME_WEB_STORE" /> からのみ追加できます</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" /> 番目のネットワーク(全 <ph name="NETWORK_COUNT" /> 件)、<ph name="NETWORK_NAME" />、接続</translation>
 <translation id="1884705339276589024">Linux ディスクのサイズ変更</translation>
 <translation id="1885106732301550621">ディスク容量</translation>
-<translation id="1885190042244431215">学校用アカウントを追加すると、保護者による使用制限の適用を受けながら、生徒としてウェブサイトや拡張機能に簡単にログインできるようになります。</translation>
 <translation id="1886996562706621347">サイトからのプロトコルのデフォルト ハンドラとしての登録要求を許可する(推奨)</translation>
 <translation id="1887442540531652736">ログインエラー</translation>
 <translation id="1887597546629269384">もう一度「OK Google」と話しかけてください</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">ユーザー補助設定の読み取り</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{1 個のファイルに永続的にアクセスできます。}other{# 個のファイルに永続的にアクセスできます。}}</translation>
 <translation id="3660234220361471169">信頼されていない</translation>
-<translation id="3661172646479098821">現在、Android デバイスのみがサポートされています。</translation>
 <translation id="3664511988987167893">拡張機能アイコン</translation>
 <translation id="3665589677786828986">設定の一部が別のプログラムによって変更されていたため、元のデフォルト設定に戻しました。</translation>
 <translation id="3668801437375206837">Bluetooth の問題の診断に向けて、Google 社員はフィードバック レポートに追加の Bluetooth ログを含めることができます。このオプションのチェックボックスがオンになっている場合、レポートには現在のセッションの btsnoop ログと HCI ログが含められます。その際、個人を特定できる情報は可能な限り削除されます。これらのログへのアクセスは、Listnr での Chrome OS プロダクト グループのマネージャーのみに制限されます。ログは 90 日経過後に消去されます。</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">入力したメールアドレスとパスワードが一致しません</translation>
 <translation id="4374831787438678295">Linux インストーラ</translation>
 <translation id="4375035964737468845">ダウンロードしたファイルを開く</translation>
+<translation id="4376226992615520204">位置情報は OFF です</translation>
 <translation id="4377363674125277448">サーバーの証明書に問題があります。</translation>
 <translation id="4378154925671717803">電話</translation>
 <translation id="4378373042927530923">未実行</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">他のデバイスからのタブ</translation>
 <translation id="4620809267248568679">この設定は拡張機能によって行われました。</translation>
 <translation id="4623189117674524348">このデバイスの API アクセスを承認できませんでした。</translation>
-<translation id="4624190781974168453">起動時に確認する</translation>
 <translation id="4625078469366263107">アプリを有効にする</translation>
 <translation id="4627427111733173920">Cookie がブロックされました</translation>
 <translation id="4627442949885028695">他のデバイスで開いたタブ</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">「<ph name="EXTENSION_NAME" />」の最新バージョンは、さらに許可が必要なため無効になっています。</translation>
 <translation id="5185500136143151980">インターネットに接続されていません</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" />(<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> のオプション メニュー</translation>
 <translation id="5190926251776387065">ポートを有効にする</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> で複数のファイルがダウンロードされようとしています</translation>
 <translation id="5192062846343383368">管理設定を確認するにはファミリー リンク アプリを開いてください</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">CRL の署名者</translation>
 <translation id="5643321261065707929">従量制ネットワーク</translation>
 <translation id="5643620609347735571">削除して続行</translation>
+<translation id="5646376287012673985">保存先</translation>
 <translation id="5646558797914161501">ビジネスマン</translation>
 <translation id="5648166631817621825">過去 7 日間</translation>
 <translation id="5649053991847567735">自動ダウンロード</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">危険なファイルを保存</translation>
 <translation id="6532101170117367231">Google ドライブに保存</translation>
 <translation id="6532106788206463496">変更を保存</translation>
-<translation id="6532113437901537254">Google アカウントに保存したパスワードをこのデバイスでもログイン中に使用できるようになります</translation>
 <translation id="6532206849875187177">セキュリティとログイン</translation>
 <translation id="6532527800157340614">アクセス トークンを取得できなかったため、ログインできませんでした。ネットワーク接続を確認してからもう一度お試しください。</translation>
 <translation id="6532663472409656417">企業登録済み</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">「<ph name="DELETED_ITEM_NAME" />」が削除されました</translation>
 <translation id="7201420661433230412">ファイルを表示する</translation>
 <translation id="7203150201908454328">展開表示中</translation>
-<translation id="7203826966018112936">学校用アカウントをプロフィールに追加すると、保護者による使用制限の適用を受けながら、生徒としてウェブサイトや拡張機能に簡単にログインできるようになります。学校用アカウントと同期しているブックマークやパスワードなどのブラウザデータへのアクセス権がお子様に付与されることはありません。&lt;br&gt;&lt;br&gt;
-    お子様が学校で Chromebook を使用している場合に、自宅で学校の使用環境を再現して、お子様が必要な学習用コンテンツすべてにアクセスできるようにするには、このファミリー リンク アカウントからログアウトしてください。その後、Chrome OS のアカウント ページから学校用アカウントにログインしてください(注: ファミリー リンクの保護者による使用制限は適用されなくなります)。&lt;br&gt;&lt;br&gt;
-    お子様が学校で Chromebook を使用していない場合、またはファミリー リンクを使用してお子様の自宅での使用環境を管理したい場合は、下の [次へ] ボタンをクリックして、学校用アカウントをこのプロフィールに追加してください。</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> をダウンロードしています...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{ページを離れる}other{ページを離れる}}</translation>
 <translation id="7207457272187520234">使用状況データや診断データを送信します。このデバイスは現在、診断データやデバイスとアプリの使用状況データを Google に自動送信するように設定されています。この情報は、システムとアプリの安定性の向上やその他の機能の改善に役立てられます。また、Google のアプリやパートナー(Android デベロッパーなど)も、集計データとしてこの情報を活用します。この設定は所有者によって管理されています。[その他のウェブとアプリのアクティビティ] の設定がオンになっている場合、このデータは Google アカウントに保存されます。</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">もうすぐ終わりです。</translation>
 <translation id="7392118418926456391">ウイルス スキャンに失敗しました</translation>
 <translation id="7392915005464253525">閉じたウィンドウを開く(&amp;E)</translation>
-<translation id="7393472013449507620">ワイルドカード「*」を使用した設定のサポートは終了しました。<ph name="BEGIN_LINK" />この設定を変更する<ph name="END_LINK" />には、拡張機能のデベロッパーか管理者にご確認ください。</translation>
 <translation id="7396017167185131589">共有フォルダがここに表示されます</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> はシステム起動時に開始され、他の <ph name="PRODUCT_NAME" /> ウィンドウをすべて閉じてもバックグラウンドで動作し続けます。</translation>
 <translation id="7399045143794278225">同期をカスタマイズする</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">プレースホルダ</translation>
 <translation id="7529411698175791732">インターネット接続を確認してください。問題が解消しない場合は、ログアウトして再度ログインしてみてください。</translation>
 <translation id="7530016656428373557">放電率(ワット)</translation>
+<translation id="7531310913436731628">Mac のシステム環境設定で位置情報がオフになっています</translation>
 <translation id="7531779363494549572">[設定] &gt; [アプリと通知] &gt; [通知] の順に選択します。</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> から応答がありません。終了するには [強制終了] を選択してください。</translation>
 <translation id="7537451260744431038">サイトは、Cookie を使用してブラウジングの利便性を改善できません(ログイン状態の維持、ショッピング カートの中身の保存などが行えません)</translation>
@@ -6051,7 +6042,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> 用に保存されているパスワード</translation>
 <translation id="8472623782143987204">ハードウェア式</translation>
 <translation id="8473863474539038330">住所やその他の情報</translation>
-<translation id="8474733733775441349">Google アカウントに保存したパスワードを表示</translation>
 <translation id="8475313423285172237">パソコン上の別のプログラムにより、Chrome の動作方法を変更する可能性のある拡張機能が追加されました。</translation>
 <translation id="8477241577829954800">差し替えられた</translation>
 <translation id="8477384620836102176">全般(&amp;G)</translation>
diff --git a/chrome/app/resources/generated_resources_ka.xtb b/chrome/app/resources/generated_resources_ka.xtb
index 1466f1e..0faea9d 100644
--- a/chrome/app/resources/generated_resources_ka.xtb
+++ b/chrome/app/resources/generated_resources_ka.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">მხოლოდ დამშიფრავი</translation>
 <translation id="1038462104119736705">Linux-ის გამოსაყენებლად რეკომენდებულია მინიმუმ <ph name="INSTALL_SIZE" />. მეხსიერების გათავისუფლება შეგიძლიათ მოწყობილობიდან ფაილების წაშლით.</translation>
 <translation id="1039337018183941703">ფაილი არასწორი ან დაზიანებულია</translation>
-<translation id="104086161873270383">ახალი პროფილი</translation>
 <translation id="1041175011127912238">ეს გვერდი არ რეაგირებს</translation>
 <translation id="1041263367839475438">ხელმისაწვდომი მოწყობილობები</translation>
 <translation id="1042174272890264476">თქვენს კომპიუტერში ასევე ჩაშენებულია <ph name="SHORT_PRODUCT_NAME" />-ის RLZ ბიბლიოთეკა. RLZ მიამაგრებს არაუნიკალურ, არაპერსონალურ ტეგს, რომელიც გაზომავს ძიებებს და <ph name="SHORT_PRODUCT_NAME" />-ის გამოყენებას, რომლებიც აქტიურდება გარკვეული სარეკლამო კამპანიის მიერ. ეს წარწერები ზოგჯერ გამოჩნდება Google-ის ძიების მოთხოვნებში <ph name="PRODUCT_NAME" />-ში.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">ქვეგვერდის <ph name="SUBPAGE_TITLE" /> ღილაკი „უკან“</translation>
 <translation id="1322046419516468189">შენახული პაროლების ნახვა და მართვა შეგიძლიათ სექციაში „<ph name="SAVED_PASSWORDS_STORE" />“</translation>
 <translation id="1324106254079708331">დაიცავს პერსონალურ Google ანგარიშებს, რომლებსაც გამიზნული თავდასხმების საფრთხე ემუქრება</translation>
-<translation id="1325985428688410772">სივრცის დამატება</translation>
 <translation id="1326317727527857210">თქვენს სხვა მოწყობილობებზე არსებულ ჩანართებზე წვდომის მისაღებად, შედით Chrome-ში.</translation>
 <translation id="1327074568633507428">პრინტერი Google Cloud Print-ზე</translation>
 <translation id="1327272175893960498">Kerberos ბილეთები</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">პაროლების შემოწმება მიუწვდომელია Chromium-ში</translation>
 <translation id="1871534214638631766">კონტენტზე მარჯვენა დაწკაპუნებისას ან ხანგრძლივად დაჭერისას დაკავშირებული ინფორმაციის ჩვენება</translation>
 <translation id="1871615898038944731">თქვენი <ph name="DEVICE_TYPE" /> განახლებულია</translation>
-<translation id="1874835396235780806">გსურთ ამ და სხვა პაროლების შენახვა თქვენს Google ანგარიშში?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ჩანართის გადატანა სხვა ფანჯარაში}other{ჩანართების გადატანა სხვა ფანჯარაში}}</translation>
 <translation id="1875386316419689002">ეს ჩანართი HID მოწყობილობასთან არის დაკავშირებული.</translation>
 <translation id="1875387611427697908">ამის დამატება შესაძლებელია მხოლოდ <ph name="CHROME_WEB_STORE" />-დან</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">ქსელი <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />-დან, <ph name="NETWORK_NAME" />, დაკავშირება</translation>
 <translation id="1884705339276589024">Linux-ის დისკის ზომის შეცვლა</translation>
 <translation id="1885106732301550621">დისკის ზომა</translation>
-<translation id="1885190042244431215">სასწავლებლის ანგარიშის დამატების შემთხვევაში შესაძლებელი იქნება სხვადასხვა ვებსაიტში და გაფართოებაში მარტივად შესვლა მოსწავლის სტატუსით, მშობელთა მიერ კონტროლის ფუნქციების შენარჩუნებით.</translation>
 <translation id="1886996562706621347">ნება მიეცი საიტებს, გახდნენ პროტოკოლების ნაგულისხმევი დამმუშავებლები (რეკომენდებულია)</translation>
 <translation id="1887442540531652736">სისტემაში შესვლისას წარმოიქმნა შეცდომა</translation>
 <translation id="1887597546629269384">ხელახლა თქვით „Hey Google“</translation>
@@ -2199,7 +2195,6 @@
 <translation id="3654045516529121250">თქვენი სპეციალური შესაძლებლობების პარამეტრების წაკითხვა</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{აქვს მუდმივი წვდომა ერთ ფაილზე.}other{აქვს მუდმივი წვდომა # ფაილზე.}}</translation>
 <translation id="3660234220361471169">არასანდო</translation>
-<translation id="3661172646479098821">ამჟამად მხარდაჭერილია მხოლოდ Android მოწყობილობები.</translation>
 <translation id="3664511988987167893">გაფართოების ხატულა</translation>
 <translation id="3665589677786828986">Chrome-მა აღმოაჩინა, რომ თქვენი ბრაუზერის ზოგიერთი პარამეტრი დაზიანდა სხვა პროგრამის მიერ და აღდგენილ იქნა ორიგინალი ნაგულისხმევი პარამეტრები.</translation>
 <translation id="3668801437375206837">Bluetooth-თან დაკავშირებული პრობლემების უკეთ დიაგნოსტირების მიზნით, Googler-ის თანამშრომლებს შეუძლიათ გამოხმაურებისთვის Bluetooth-ის დამატებითი ჟურნალების დართვა. ამ ვარიანტის მონიშვნის შემთხვევაში, თქვენს ანგარიშს დაერთვება მიმდინარე სესიის btsnoop და HCI ჟურნალები, რომლებიდანაც მაქსიმალურად ამოიშლება ინფორმაცია, რომლის მეშვეობითაც შესაძლებელია პიროვნების ვინაობის დადგენა. აღნიშნულ ჟურნალებზე წვდომა შეეძლებათ მხოლოდ Chrome OS პროდუქტის ჯგუფის მენეჯერებს Listnr-ში. ჟურნალები გასუფთავდება 90 დღის შემდეგ.</translation>
@@ -2771,6 +2766,7 @@
 <translation id="4370975561335139969">თქვენ მიერ შეყვანილი ელფოსტა და პაროლი არ ემთხვევა</translation>
 <translation id="4374831787438678295">Linux ინსტალატორი</translation>
 <translation id="4375035964737468845">გახსენით გადმოწერილი ფაილი</translation>
+<translation id="4376226992615520204">მდებარეობა გამორთულია</translation>
 <translation id="4377363674125277448">არსებობდა სერვერის პრობლემა სერვერის სერთიფიკატი.</translation>
 <translation id="4378154925671717803">ტელეფონი</translation>
 <translation id="4378373042927530923">არ არის გაშვებული</translation>
@@ -2970,7 +2966,6 @@
 <translation id="4619615317237390068">ჩანართები სხვა მოწყობილობებიდან</translation>
 <translation id="4620809267248568679">ეს პატარამეტრი იძულებითაა დაყენებული გაფართოების მიერ.</translation>
 <translation id="4623189117674524348">სისტემამ ვერ მოახერხა API წვდომის ავტორიზაცია ამ მოწყობილობისთვის.</translation>
-<translation id="4624190781974168453">გაშვებისას შეკითხვა</translation>
 <translation id="4625078469366263107">აპის ჩართვა</translation>
 <translation id="4627427111733173920">ქუქი-ჩანაწერები დაბლოკილია</translation>
 <translation id="4627442949885028695">სხვა მოწყობილობიდან გაგრძელება</translation>
@@ -3400,7 +3395,6 @@
 <translation id="5185386675596372454">„<ph name="EXTENSION_NAME" />“-ის უახლესი ვერსია გამორთულია, რადგან იგი მოითხოვს დამატებით ნებართვებს.</translation>
 <translation id="5185500136143151980">ინტერნეტთან კავშირი არ არის</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">პარამეტრების მენიუ მომხმარებლისთვის: <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">პორტის გააქტიურება</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ითხოვს რამდენიმე ფაილის ჩამოტვირთვას</translation>
 <translation id="5192062846343383368">ზედამხედველობის პარამეტრების სანახავად გახსენით Family Link აპი</translation>
@@ -3776,6 +3770,7 @@
 <translation id="5642508497713047">CRL ხელმომწერი</translation>
 <translation id="5643321261065707929">ლიმიტირებული ქსელი</translation>
 <translation id="5643620609347735571">გასუფთავება და გაგრძელება</translation>
+<translation id="5646376287012673985">მდებარეობა</translation>
 <translation id="5646558797914161501">ბიზნესმენი</translation>
 <translation id="5648166631817621825">ბოლო 7 დღე</translation>
 <translation id="5649053991847567735">ავტომატური ჩამოტვირთვები</translation>
@@ -4482,7 +4477,6 @@
 <translation id="6531282281159901044">სახიფათო ფაილის შენარჩუნება</translation>
 <translation id="6532101170117367231">შენახვა Google Drive-ზე</translation>
 <translation id="6532106788206463496">ცვლილებების შენახვა</translation>
-<translation id="6532113437901537254">თქვენს Google ანგარიშში შენახული პაროლები ამ მოწყობილობაზეც იქნება ხელმისაწვდომი, როცა სისტემაში შესული იქნებით</translation>
 <translation id="6532206849875187177">უსაფრთხოება და სისტემაში შესვლა</translation>
 <translation id="6532527800157340614">შესვლა ვერ მოხერხდა, რადგან წვდომის ჟეტონი ვერ მოვიძიეთ. შეამოწმეთ თქვენი კავშირი ქსელთან და ცადეთ ხელახლა.</translation>
 <translation id="6532663472409656417">ორგანიზაციაში რეგისტრირებული</translation>
@@ -5012,9 +5006,6 @@
 <translation id="7201118060536064622">„<ph name="DELETED_ITEM_NAME" />“ წაიშალა</translation>
 <translation id="7201420661433230412">ფაილების ნახვა</translation>
 <translation id="7203150201908454328">გაშლილი</translation>
-<translation id="7203826966018112936">პროფილში სასწავლებლის ანგარიშის დამატების შემთხვევაში შესაძლებელი იქნება სხვადასხვა ვებსაიტსა და გაფართოებაში მარტივად შესვლა მოსწავლის სტატუსით, მშობელთა მიერ კონტროლის ფუნქციების შენარჩუნებით. თქვენს შვილს არ მიენიჭება წვდომა სანიშნეებზე, პაროლებზე ან ბრაუზერის სხვა მონაცემებზე, რომლებიც სინქრონიზებულია სასწავლებლის ანგარიშთან.&lt;br&gt;&lt;br&gt;
-    თუ თქვენი შვილი სასწავლებელში Chromebook-ს იყენებს და მისით სარგებლობის პროცესზე პირდაპირ რეჟიმში გსურთ სახლიდან დაკვირვება (მაგალითად, საკლასო სამუშაოს სათანადოდ შესრულების გასაკონტროლებლად), გამოდით ამ Family Link ანგარიშიდან და შედით სასწავლებლის ანგარიშში Chrome OS ანგარიშების გვერდიდან (შენიშვნა: Family Link-ის მშობელთა მიერ კონტროლის ფუნქციები არ იმოქმედებს).&lt;br&gt;&lt;br&gt;
-    თუ თქვენი შვილი სასწავლებელში Chromebook-ს არ იყენებს, ან გამოყენების პროცესის სახლიდან მართვა Family Link-ით გირჩევნიათ, დააწკაპუნეთ ღილაკზე „შემდეგი“ და დაამატეთ სასწავლებლის ანგარიში ამ პროფილს.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" />-ის ჩამოტვირთვა…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{გვერდიდან გასვლა}other{გვერდებიდან გასვლა}}</translation>
 <translation id="7207457272187520234">გამოყენებისა და დიაგნოსტიკის მონაცემების გაგზავნა. ეს მოწყობილობა ამჟამად ავტომატურად უგზავნის Google-ს დიაგნოსტიკისა და მოწყობილობის/აპების გამოყენების მონაცემებს. აღნიშნული მონაცემები დაგვეხმარება სისტემის/აპების სტაბილურობისა და სხვა ფუნქციების გაუმჯობესებაში. გარდა ამისა, გაერთიანებული მონაცემების ნაწილი ხელს შეუწყობს Google აპებსა და პარტნიორებს, მაგალითად, Android-ის დეველოპერებს. ეს პარამეტრი არის იძულებით გააქტიურებული მფლობელის მიერ. თუ ჩართული გაქვთ ვებსა და აპებში დამატებითი აქტივობის პარამეტრი, აღნიშნული მონაცემები შესაძლოა შეინახოს თქვენს Google ანგარიშში.</translation>
@@ -5157,7 +5148,6 @@
 <translation id="7388044238629873883">თქვენ თითქმის დაამთავრეთ!</translation>
 <translation id="7392118418926456391">ვირუსის სკანირება ვერ მოხერხდა</translation>
 <translation id="7392915005464253525">დახურული ფანჯრის ხელახლა &amp;გახსნა</translation>
-<translation id="7393472013449507620">„*“-ის ჩანაცვლების ნიშნის შემცველი პარამეტრები მხარდაჭერილი აღარ არის. <ph name="BEGIN_LINK" />ამ პარამეტრების შესაცვლელად<ph name="END_LINK" /> დაუკავშირდით გაფართოების დეველოპერს ან თქვენს ადმინისტრატორს.</translation>
 <translation id="7396017167185131589">აქ გამოჩნდება გაზიარებული საქაღალდეები</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> დაიწყება სისტემის ჩატვირთვისას და გააგრძელებს მუშაობას ფონურ რეჟიმში, მაშინაც კი, როცა დახურული გაქვთ ყველა სხვა <ph name="PRODUCT_NAME" /> ფანჯარა.</translation>
 <translation id="7399045143794278225">სინქრონიზაციის მორგება</translation>
@@ -5270,6 +5260,7 @@
 <translation id="7526989658317409655">ჩანაცვლების ველი</translation>
 <translation id="7529411698175791732">შეამოწმეთ კავშირი ინტერნეტთან. თუ პრობლემა გამეორდება, ცადეთ გამოსვლა და ხელახლა შესვლა.</translation>
 <translation id="7530016656428373557">განტვირთვის მაჩვენებელი (ვატი)</translation>
+<translation id="7531310913436731628">მდებარეობა გამორთულია Mac-ის სისტემის პარამეტრებში</translation>
 <translation id="7531779363494549572">გადადით აქ: პარამეტრები &gt; აპები და შეტყობინებები &gt; შეტყობინებები.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> არ რეაგირებს. მის დასახურად აირჩიეთ „იძულებით დახურვა“.</translation>
 <translation id="7537451260744431038">საიტები ვერ გამოიყენებს ქუქი-ჩანაწერებს დათვალიერების პროცესის გასაუმჯობესებლად, მაგალითად, სისტემაში შესული მდგომარეობის შესანარჩუნებლად ან საყიდლების კალათაში დამატებული ერთეულების დასამახსოვრებლად</translation>
@@ -6048,7 +6039,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" />-ისთვის შენახული პაროლები</translation>
 <translation id="8472623782143987204">აპარატურული რეზერვით</translation>
 <translation id="8473863474539038330">მისამართები და სხვა</translation>
-<translation id="8474733733775441349">პაროლების ჩვენება თქვენი Google ანგარიშიდან</translation>
 <translation id="8475313423285172237">სხვა პროგრამამ თქვენს კომპიუტერში დაამატა გაფართოება, რომელსაც შეუძლია შეცვალოს Chrome-ის მუშაობის ფორმა.</translation>
 <translation id="8477241577829954800">შეცვლილი</translation>
 <translation id="8477384620836102176">ძ&amp;ირითადი</translation>
diff --git a/chrome/app/resources/generated_resources_kk.xtb b/chrome/app/resources/generated_resources_kk.xtb
index 8846c3aa4..8f88a33 100644
--- a/chrome/app/resources/generated_resources_kk.xtb
+++ b/chrome/app/resources/generated_resources_kk.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Тек шифрдан шығару</translation>
 <translation id="1038462104119736705">Linux үшін кемінде <ph name="INSTALL_SIZE" /> орын қажет. Орын босату үшін құрылғыдан файлдарды жойыңыз.</translation>
 <translation id="1039337018183941703">Файл жарамсыз немесе бүлінген</translation>
-<translation id="104086161873270383">Жаңа профиль</translation>
 <translation id="1041175011127912238">Бұл бет жауап бермей жатыр.</translation>
 <translation id="1041263367839475438">Қолжетімді құрылғылар</translation>
 <translation id="1042174272890264476">Сонымен қатар компьютеріңізге <ph name="SHORT_PRODUCT_NAME" /> RLZ кітапханасы ендірілген. RLZ кітапханасы белгілі бір науқан арқылы жүргізілген іздеулер мен <ph name="SHORT_PRODUCT_NAME" /> пайдалану мүмкіндігін өлшеу үшін бірегей емес, жеке анықталмайтын тегті тағайындайды. Бұл белгілер кейде <ph name="PRODUCT_NAME" /> өніміндегі Google Search сұрауларында пайда болады.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> қосымша бетіндегі "Aртқа" түймесі</translation>
 <translation id="1322046419516468189">Сақталған құпия сөздерді <ph name="SAVED_PASSWORDS_STORE" /> бетінен көруге және басқаруға болады</translation>
 <translation id="1324106254079708331">Арнайы шабуыл жасалуы мүмкін жеке Google есептік жазбаларын қорғайды.</translation>
-<translation id="1325985428688410772">Жұмыс орнын қосу</translation>
 <translation id="1326317727527857210">Басқа құрылғылардағы қойындыларды алу үшін, Chrome жүйесіне кіріңіз.</translation>
 <translation id="1327074568633507428">Google Cloud Print қызметіндегі принтер</translation>
 <translation id="1327272175893960498">Kerberos билеттері</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">Chromium браузерінде құпия сөзді тексеру мүмкін емес.</translation>
 <translation id="1871534214638631766">Тінтуірдің оң жақ пернесін басқанда немесе мазмұнды ұзақ басқанда, қатысты ақпаратты көрсету</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> құрылғысы әлдеқашан жаңартылған</translation>
-<translation id="1874835396235780806">Осы және басқа құпия сөздер Google есептік жазбасында сақталсын ба?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Қойындыны басқа терезеден ашу}other{Қойындыларды басқа терезеден ашу}}</translation>
 <translation id="1875386316419689002">Бұл қойынды HID құрылғысына қосылған.</translation>
 <translation id="1875387611427697908">Мұны тек <ph name="CHROME_WEB_STORE" /> дүкенінен енгізуге болады</translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" /> желі, <ph name="NETWORK_NAME" />, қоcылу</translation>
 <translation id="1884705339276589024">Linux дискісінің көлемін өзгерту</translation>
 <translation id="1885106732301550621">Дискідегі орын</translation>
-<translation id="1885190042244431215">Оқу есептік жазбасын енгізсеңіз, оқушы ретінде веб-сайттар мен кеңейтімдерге оңай кіресіз және ата-ана бақылауында боласыз.</translation>
 <translation id="1886996562706621347">Барлық сайттарға протоколдар үшін әдепкі өңдегіш болу рұқсатын беру (ұсынылады)</translation>
 <translation id="1887442540531652736">Есептік жазбаға кіру кезінде қате шықты</translation>
 <translation id="1887597546629269384">"Hey Google" деп қайта айтыңыз</translation>
@@ -2197,7 +2193,6 @@
 <translation id="3654045516529121250">Арнайы мүмкіндіктер параметрлерін оқу</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Оның бір файлға тұрақты кіру құқығы бар.}other{Оның # файлға тұрақты кіру құқығы бар.}}</translation>
 <translation id="3660234220361471169">Сенімсіз</translation>
-<translation id="3661172646479098821">Тек Android жүйесіндегі құрылғыларға қолдау көрсетіледі.</translation>
 <translation id="3664511988987167893">Кеңейтім белгішесі</translation>
 <translation id="3665589677786828986">Chrome кейбір параметрлеріңізді басқа бағдарлама бүлдіргенін анықтап, бастапқы әдепкі параметрлеріне қайтарды.</translation>
 <translation id="3668801437375206837">Bluetooth ақауларын жақсырақ анықтау үшін Google қызметкерлері пікір есептеріне қосымша Bluetooth журналдарын енгізе алады. Бұл опция таңдалса, есебіңіз жеке ақпараттарды барынша өшіре отырып, өңделген сеанстағы btsnoop және HCI журналдарын қамтиды. Журналдарға тек қана Listnr ішіндегі Chrome OS өнім тобының басқарушылары кіре алады. Журналдар 90 күннен кейін өшіріледі.</translation>
@@ -2769,6 +2764,7 @@
 <translation id="4370975561335139969">Сіз енгізген электрондық пошта және құпия сөз сәйкес емес</translation>
 <translation id="4374831787438678295">Linux орнату құралы</translation>
 <translation id="4375035964737468845">Жүктелген файлдарды ашу</translation>
+<translation id="4376226992615520204">Геодерек өшірулі.</translation>
 <translation id="4377363674125277448">Сервер сертификатында ақау болды.</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4378373042927530923">Іске қосылмаған</translation>
@@ -2968,7 +2964,6 @@
 <translation id="4619615317237390068">Басқа құрылғылардағы қойындылар</translation>
 <translation id="4620809267248568679">Бұл параметр кеңейтім арқылы іске қосылады.</translation>
 <translation id="4623189117674524348">Жүйе осы құрылғыда API интерфейсіне кіру рұқсатын бере алмады.</translation>
-<translation id="4624190781974168453">Іске қосу кезінде сұрау</translation>
 <translation id="4625078469366263107">Қолданбаны қосу</translation>
 <translation id="4627427111733173920">Cookie файлдары бөгелді</translation>
 <translation id="4627442949885028695">Басқа құрылғыдан жалғастыру</translation>
@@ -3398,7 +3393,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" ең жаңа нұсқасы өшірілді, себебі ол қосымша рұқсаттарды талап етеді.</translation>
 <translation id="5185500136143151980">Интернет жоқ</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> үшін опциялар мәзірі</translation>
 <translation id="5190926251776387065">Портты іске қосу</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> бірнеше файл жүктеп алғысы келеді</translation>
 <translation id="5192062846343383368">Қадағалау параметрлерін көру үшін Family Link қолданбасын ашыңыз.</translation>
@@ -3774,6 +3768,7 @@
 <translation id="5642508497713047">CRL қол қоюшы</translation>
 <translation id="5643321261065707929">Шектелген желі</translation>
 <translation id="5643620609347735571">Өшіру және жалғастыру</translation>
+<translation id="5646376287012673985">Орын</translation>
 <translation id="5646558797914161501">Бизнесмен</translation>
 <translation id="5648166631817621825">Соңғы 7 күн</translation>
 <translation id="5649053991847567735">Автоматты жүктеулер</translation>
@@ -4480,7 +4475,6 @@
 <translation id="6531282281159901044">Қауіпті файлды сақтау</translation>
 <translation id="6532101170117367231">Google Drive жадына сақтау</translation>
 <translation id="6532106788206463496">Өзгертулерді сақтау</translation>
-<translation id="6532113437901537254">Google есептік жазбасына кірген кезде де, ондағы құпия сөздер осы құрылғыда қолжетімді болады.</translation>
 <translation id="6532206849875187177">Қауіпсіздік және есептік жазбаға кіру</translation>
 <translation id="6532527800157340614">Кіру токенін алу мүмкін болмағандықтан, жүйеге кіре алмадыңыз. Желі байланысын тексеріп, қайталап көріңіз.</translation>
 <translation id="6532663472409656417">Кәсіпорында тіркелген</translation>
@@ -5010,9 +5004,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" жойылды</translation>
 <translation id="7201420661433230412">Файлдарды көру</translation>
 <translation id="7203150201908454328">Кеңейтілген</translation>
-<translation id="7203826966018112936">Профильге оқу есептік жазбасын енгізсеңіз, оқушы ретінде веб-сайттар мен кеңейтімдерге оңай кіресіз және ата-ана бақылауында боласыз. Балаңыз оқу есептік жазбасымен синхрондалған бетбелгілерді, құпия сөздерді немесе басқа да браузер деректерін пайдалана алмайды.&lt;br&gt;&lt;br&gt;
-    Балаңыз мектепте Chromebook пайдаланса және ол барлық үй тапсырмаларына үйде кіре алатындай жағдай жасау үшін, Family Link есептік жазбасынан шығып, Chrome OS есептік жазбалары бетінен оқу есептік жазбасына кіріңіз (ескерту: Family Link ата-ана бақылауы қолданылмайды).&lt;br&gt;&lt;br&gt;
-    Егер балаңыз мектепте Chromebook пайдаланбаса немесе оның оқуын Family Link арқылы бақылағыңыз келсе, профильге оқу есептік жазбасын енгізу үшін төмендегі "Келесі" түймесін түртіңіз.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> жүктелуде…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Беттен шығу}other{Беттерден шығу}}</translation>
 <translation id="7207457272187520234">Пайдалану және диагностика туралы деректерді жіберу. Бұл құрылғыдан Google-ға диагностика, құрылғы мен қолданбаны пайдалану деректері автоматты түрде жіберіліп тұрады. Олар жүйе мен қолданбаның тұрақты жұмыс істеуіне және басқа да жақсартулар енгізуге көмектеседі. Кейбір жиынтық деректер Google қолданбаларын жетілдіруге және Android әзірлеушілері сияқты серіктестердің жұмысына көмектеседі. Бұл параметрді иесі орнатқан. Егер "Интернет пен қолданбаларды пайдаланудың қосымша тарихы" параметрі қосулы болса, бұл деректер сіздің Google есептік жазбаңызға сақталуы мүмкін.</translation>
@@ -5155,7 +5146,6 @@
 <translation id="7388044238629873883">Аяқтап қалдыңыз!</translation>
 <translation id="7392118418926456391">Вирустарды тексеру сәтсіз аяқталды</translation>
 <translation id="7392915005464253525">Жабылған терезені қа&amp;йта ашу</translation>
-<translation id="7393472013449507620">"*" алмастырғыш таңбалары бар параметрлерге бұдан былай қолдау көрсетілмейді. <ph name="BEGIN_LINK" />Бұл параметрлерді өзгерту<ph name="END_LINK" /> үшін кеңейтім әзірлеушісіне немесе әкімшіге хабарласыңыз.</translation>
 <translation id="7396017167185131589">Ортақ қалталар осы жерде көрсетіледі.</translation>
 <translation id="7396845648024431313">Жүйе қосылғанда, <ph name="APP_NAME" /> ашылады және барлық басқа <ph name="PRODUCT_NAME" /> терезелерін жапсаңыз да, фонда істеп тұра береді.</translation>
 <translation id="7399045143794278225">Синхрондауды реттеу</translation>
@@ -5268,6 +5258,7 @@
 <translation id="7526989658317409655">Толтырғыш белгі</translation>
 <translation id="7529411698175791732">Интернет байланысын тексеріңіз. Егер мәселе шешілмесе, жүйеден шығып, қайта кіріп көріңіз.</translation>
 <translation id="7530016656428373557">Зарядтың азаю жылдамдығы ватпен берілген</translation>
+<translation id="7531310913436731628">Mac жүйесінің параметрлерінде геодерек өшірулі.</translation>
 <translation id="7531779363494549572">"Параметрлер &gt; Қолданбалар мен хабарландырулар &gt; Хабарландырулар" тармағына өтіңіз.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> жауап бермей жатыр. Оны жабу үшін "Қолмен жабу" опциясын таңдаңыз.</translation>
 <translation id="7537451260744431038">Сайттар шолуды жақсарту (мысалы, есептік жазбадан шығармау не сатып алу себетіңіздегі нәрселерді есте сақтау) үшін cookie файлдарын пайдалана алмайды.</translation>
@@ -6047,7 +6038,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> сайты үшін құпия сөздер сақталды</translation>
 <translation id="8472623782143987204">жабдық қажет</translation>
 <translation id="8473863474539038330">Мекенжайлар және басқа ақпарат</translation>
-<translation id="8474733733775441349">Құпия сөздерді Google есептік жазбасынан көрсету</translation>
 <translation id="8475313423285172237">Компьютеріңіздегі басқа бір бағдарлама кеңейтім қосты, ол Chrome жұмысын өзгертуі мүмкін.</translation>
 <translation id="8477241577829954800">Алмастырылған</translation>
 <translation id="8477384620836102176">&amp;Жалпы</translation>
diff --git a/chrome/app/resources/generated_resources_km.xtb b/chrome/app/resources/generated_resources_km.xtb
index 33e89f4..5ab08c5 100644
--- a/chrome/app/resources/generated_resources_km.xtb
+++ b/chrome/app/resources/generated_resources_km.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">បម្លែងតែប៉ុណ្ណោះ</translation>
 <translation id="1038462104119736705">យ៉ាងហោច​ណាស់ <ph name="INSTALL_SIZE" /> នៃទំហំផ្ទុក​ត្រូវបានណែនាំ​ឱ្យប្រើសម្រាប់ Linux។ ដើម្បីបង្កើនទំហំផ្ទុក សូមលុបឯកសារចេញពីឧបករណ៍របស់អ្នក។</translation>
 <translation id="1039337018183941703">ឯកសារ​មិន​ត្រឹមត្រូវ ឬ​ខូច</translation>
-<translation id="104086161873270383">កម្រងព័ត៌មានថ្មី</translation>
 <translation id="1041175011127912238">ទំព័រ​នេះមិន​ដំណើរការទេ</translation>
 <translation id="1041263367839475438">ឧបករណ៍​ដែល​អាច​ប្រើបាន</translation>
 <translation id="1042174272890264476">កុំព្យូទ័ររបស់អ្នកក៏ភ្ជាប់មកជាមួយបណ្តាល័យដែលបំពាក់ RLZ របស់ <ph name="SHORT_PRODUCT_NAME" /> ផងដែរ។ RLZ ចាត់ស្លាកដែលអាចសម្គាល់បានដោយមិនមែនលក្ខណៈបុគ្គល ឬពិសេស ដើម្បីវាស់វែងការស្វែងរក និងការប្រើប្រាស់ <ph name="SHORT_PRODUCT_NAME" /> ដែលដំណើរការដោយយុទ្ធនាការផ្សព្ធផ្សាយជាក់លាក់មួយ។ ជួនកាល ផ្លាកទាំងនេះលេចឡើងនៅក្នុងការសួរ Google ស្វែងរក <ph name="PRODUCT_NAME" />។</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">ប៊ូតុង​ថយក្រោយ​ទៅទំព័ររង <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">មើល និងគ្រប់គ្រង​ពាក្យសម្ងាត់​ដែលបាន​រក្សាទុក​នៅក្នុង <ph name="SAVED_PASSWORDS_STORE" /> របស់អ្នក</translation>
 <translation id="1324106254079708331">ការពារ​គណនី Google ផ្ទាល់ខ្លួន​របស់​អ្នកគ្រប់គ្នា​ដែលប្រឈម​នឹងហានិភ័យ​នៃការវាយប្រហារ​តាមគោលដៅ</translation>
-<translation id="1325985428688410772">បញ្ចូល​កម្រងព័ត៌មាន</translation>
 <translation id="1326317727527857210">ដើម្បីទទួលបានផ្ទាំងរបស់អ្នកពីឧបករណ៍ផ្សេងទៀតរបស់អ្នក សូមចូលទៅកាន់ Chrome</translation>
 <translation id="1327074568633507428">ម៉ាស៊ីនបោះពុម្ពនៅលើ Google Cloud Print</translation>
 <translation id="1327272175893960498">សំបុត្រ Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">មិនអាចប្រើ​ការពិនិត្យពាក្យសម្ងាត់​នៅក្នុង Chromium បានទេ</translation>
 <translation id="1871534214638631766">បង្ហាញ​ព័ត៌មាន​ដែលពាក់ព័ន្ធ នៅពេល​អ្នកចុច​កណ្ដុរខាងស្ដាំ ឬចុចលើ​ខ្លឹមសារ​ឱ្យយូរ</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> របស់អ្នក​ជា​កំណែថ្មី​ហើយ</translation>
-<translation id="1874835396235780806">រក្សាទុកពាក្យសម្ងាត់នេះ និងពាក្យសម្ងាត់ផ្សេងទៀតនៅក្នុងគណនី Google របស់អ្នកឬ?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ផ្លាស់ទី​ផ្ទាំងទៅ​វិនដូ​ផ្សេងទៀត}other{ផ្លាស់ទី​ផ្ទាំងទៅ​វិនដូ​ផ្សេងទៀត}}</translation>
 <translation id="1875386316419689002">ផ្ទាំងនេះ​ត្រូវបានភ្ជាប់​ជាមួយ​ឧបករណ៍ HID។</translation>
 <translation id="1875387611427697908">វាអាចត្រូវបានបញ្ចូលពី <ph name="CHROME_WEB_STORE" /> តែប៉ុណ្ណោះ</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">បណ្ដាញ <ph name="NETWORK_INDEX" /> នៃ <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, ភ្ជាប់</translation>
 <translation id="1884705339276589024">ប្ដូរទំហំ​ថាស Linux</translation>
 <translation id="1885106732301550621">ទំហំ​ថាស</translation>
-<translation id="1885190042244431215">ការបញ្ចូល​គណនីសាលារៀន​ធ្វើឱ្យ​មានភាពងាយស្រួលក្នុងការ​ចូលគេហទំព័រ និង​កម្មវិធីបន្ថែម​ក្នុងនាម​ជាសិស្ស ដោយនៅតែ​ធ្វើប្រតិបត្តិការ​ក្រោមការគ្រប់គ្រង​ដោយមាតាបិតា​ដដែល។</translation>
 <translation id="1886996562706621347">អនុញ្ញាតឲ្យគេហទំព័រសួរដើម្បីឲ្យក្លាយទៅជាឧបករណ៍ដោះស្រាយលំនាំដើមសម្រាប់ប្រូតូកូល (បានណែនាំ)</translation>
 <translation id="1887442540531652736">មាន​បញ្ហា​ក្នុង​ការ​ចូលគណនី</translation>
 <translation id="1887597546629269384">និយាយ​ថា "Hey Google" ម្ដងទៀត</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">អានការកំណត់លទ្ធភាពប្រើប្រាស់របស់អ្នក</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{វាមានការចូលប្រើឯកសារមួយជាប្រចាំ។}other{វាមានការចូលប្រើឯកសារ # ជាប្រចាំ។}}</translation>
 <translation id="3660234220361471169">មិនអាចជឿជាក់</translation>
-<translation id="3661172646479098821">មានតែ​ឧបករណ៍ Android ប៉ុណ្ណោះ​ដែលអាចប្រើបានក្នុង​ពេលបច្ចុប្បន្ន។</translation>
 <translation id="3664511988987167893">រូបតំណាង​កម្មវិធី​បន្ថែម</translation>
 <translation id="3665589677786828986">Chrome បានរកឃើញថាការកំណត់របស់អ្នកមួួយចំនួនបានបង្កបញ្ហាដោយកម្មវិធីផ្សេងទៀត ហើយកំណត់ពួកវាឡើងវិញទៅលំនាំដើមរបស់ពួកវា។</translation>
 <translation id="3668801437375206837">ដើម្បី​កំណត់បញ្ហាប៊្លូធូស​ឱ្យកាន់តែ​ប្រសើរ បុគ្គលិក Google អាចរាប់បញ្ចូល​កំណត់ហេតុ​ប៊្លូធូសបន្ថែម​ដោយប្រើ​របាយការណ៍​មតិកែលម្អ​របស់គេ។ នៅពេល​ជម្រើសនេះ​ត្រូវបាន​ពិនិត្យ របាយការណ៍​របស់អ្នក​នឹងរាប់បញ្ចូល​កំណត់ហេតុ btsnoop និង HCI ពីរយៈពេលចូលប្រើបច្ចុប្បន្ន​របស់អ្នក ដែលបាន​សម្អាតដើម្បីលុប PII ឱ្យបានច្រើនតាមដែល​អាចធ្វើ​បាន។ សិទ្ធិចូលប្រើ​កំណត់ហេតុ​ទាំងនេះនឹង​ត្រូវបាន​រឹតបន្តឹង​ដោយអ្នកគ្រប់គ្រង​ក្រុមផលិតផល​ Chrome OS នៅក្នុងក្រុមហ៊ុន Listnr ។ កំណត់ហេតុ​នឹងត្រូវបាន​បោសសម្អាត​បន្ទាប់ពី​រយៈពេល 90 ថ្ងៃ។</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">អ៊ីមែល និងពាក្យសម្ងាត់ដែលអ្នកបញ្ចូលមិនត្រូវគ្នាទេ</translation>
 <translation id="4374831787438678295">កម្មវិធី​ដំឡើង Linux</translation>
 <translation id="4375035964737468845">បើកឯកសារដែលបានទាញយក</translation>
+<translation id="4376226992615520204">បានបិទ​ទីតាំង</translation>
 <translation id="4377363674125277448">មានបញ្ហាអ្វីមួយជាមួយវិញ្ញាបនប័ត្រម៉ាស៊ីនមេ។</translation>
 <translation id="4378154925671717803">ទូរស័ព្ទ</translation>
 <translation id="4378373042927530923">មិនដំណើរការទេ</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">ផ្ទាំងបានពីឧបករណ៍ផ្សេងទៀត</translation>
 <translation id="4620809267248568679">ការកំណត់នេះត្រូវបានអនុវត្តដោយកម្មវិធីបន្ថែម។</translation>
 <translation id="4623189117674524348">ប្រព័ន្ធមិន​អាច​ផ្ដល់សិទ្ធិឱ្យឧបករណ៍នេះចូលប្រើ API បានទេ។</translation>
-<translation id="4624190781974168453">សួរ​នៅពេលចាប់ផ្ដើម</translation>
 <translation id="4625078469366263107">បើក​កម្មវិធី</translation>
 <translation id="4627427111733173920">បានទប់ស្កាត់ខូគី</translation>
 <translation id="4627442949885028695">បន្តពីឧបករណ៍ផ្សេងទៀត</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">កំណែថ្មីបំផុតនៃ "<ph name="EXTENSION_NAME" />" ត្រូវបានបិទដំណើរការ ដោយសារតែវាទាមទារ ការអនុញ្ញាតបន្ថែមទៀត។</translation>
 <translation id="5185500136143151980">គ្មាន​អ៊ីនធឺណិតទេ</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">ម៉ឺនុយជម្រើសសម្រាប់ <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">បើកដំណើរការ​ច្រក</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ចង់ទាញយកឯកសារច្រើន</translation>
 <translation id="5192062846343383368">បើក​កម្មវិធី Family Link ដើម្បី​មើល​ការកំណត់​ការគ្រប់គ្រង​របស់អ្នក</translation>
@@ -3778,6 +3772,7 @@
 <translation id="5642508497713047">អ្នកចុះហត្ថលេខា CRL</translation>
 <translation id="5643321261065707929">បណ្ដាញផ្អែកតាមទិន្នន័យដែលប្រើ</translation>
 <translation id="5643620609347735571">សម្អាត ហើយបន្ត</translation>
+<translation id="5646376287012673985">ទីតាំង</translation>
 <translation id="5646558797914161501">អ្នកជំនួញ</translation>
 <translation id="5648166631817621825">7 ថ្ងៃមុន</translation>
 <translation id="5649053991847567735">ទាញយកស្វ័យប្រវត្តិ</translation>
@@ -4484,7 +4479,6 @@
 <translation id="6531282281159901044">រក្សាឯកសារគ្រោះថ្នាក់</translation>
 <translation id="6532101170117367231">រក្សាទុក​ក្នុង Google ថាស</translation>
 <translation id="6532106788206463496">រក្សាទុក​ការ​ផ្លាស់ប្ដូរ</translation>
-<translation id="6532113437901537254">ពាក្យសម្ងាត់ដែលមាននៅក្នុងគណនី Google របស់អ្នកក៏នឹងមាននៅក្នុងឧបករណ៍នេះដែរ នៅពេលអ្នកចូលគណនី</translation>
 <translation id="6532206849875187177">សុវត្ថិភាព និងការចូលគណនី</translation>
 <translation id="6532527800157340614">ការចូលគណនីមិន​បានសម្រេចទេ ដោយសារមិនអាចទាញយកទិន្នន័យ​ចូលរបស់អ្នក។ សូម​ពិនិត្យ​មើល​ការ​តភ្ជាប់​បណ្ដាញ​របស់​អ្នក​ រួច​ព្យាយាម​ម្ដង​ទៀត​។</translation>
 <translation id="6532663472409656417">បានចុះឈ្មោះ​សហគ្រាស</translation>
@@ -5014,9 +5008,6 @@
 <translation id="7201118060536064622">បានលុប '<ph name="DELETED_ITEM_NAME" />'</translation>
 <translation id="7201420661433230412">មើល​ឯកសារ</translation>
 <translation id="7203150201908454328">បានពង្រីក</translation>
-<translation id="7203826966018112936">ការបញ្ចូល​គណនីសាលារៀន​ទៅក្នុង​កម្រងព័ត៌មាន​ធ្វើឱ្យ​មានភាពងាយស្រួលក្នុងការ​ចូលគេហទំព័រ និង​កម្មវិធីបន្ថែម​ក្នុងនាម​ជាសិស្ស ដោយ​ធ្វើប្រតិបត្តិការ​ក្រោមការគ្រប់គ្រង​ដោយមាតាបិតា​។ ការបញ្ចូលនេះ​មិនផ្ដល់សិទ្ធ​ឱ្យកូនចូលប្រើ​ចំណាំ ពាក្យសម្ងាត់ ឬ​ទិន្នន័យរុករក​ផ្សេងទៀត​ដែលធ្វើសមកាលកម្ម​ជាមួយគណនី​សាលារៀនទេ​។&lt;br&gt;&lt;br&gt;
-    ប្រសិនបើ​កូនរបស់អ្នក​ប្រើ Chromebook នៅសាលារៀន ហើយ​អ្នកចង់​បញ្ចាំង​បទពិសោធន៍ប្រើប្រាស់​នៅសាលារៀន​នៅផ្ទះ ដើម្បីប្រាកដថា​កូនរបស់អ្នក​មានសិទ្ធិចូលប្រើ​កិច្ចការសាលា​ដែលចាំបាច់​ទាំងអស់ សូម​ចេញពីគណនី Family Link នេះ ហើយ​ចូលគណនី​សាលារៀន​ពីទំព័រ​គណនី Chrome OS (ចំណាំ៖ ការគ្រប់គ្រង​ដោយមាតាបិតារបស់ Family Link នឹងមិនត្រូវបាន​អនុវត្តទេ)។&lt;br&gt;&lt;br&gt;
-    ប្រសិនបើ​កូនរបស់អ្នក​មិនប្រើ Chromebook នៅសាលារៀន ឬ​ប្រសិនបើ​អ្នកចង់​គ្រប់គ្រង​បទពិសោធន៍ប្រើប្រាស់​របស់កូនអ្នក​នៅផ្ទះ​ដោយប្រើ Family Link ជាង សូម​ចុច​ប៊ូតុង "បន្ទាប់" ខាងក្រោម ដើម្បី​បញ្ចូល​គណនីសាលារៀន​ទៅក្នុង​កម្រងព័ត៌មាន​នេះ។</translation>
 <translation id="7206693748120342859">កំពុងទាញយក <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{ចាកចេញ​ពី​ទំព័រ}other{ចាកចេញ​ពី​ទំព័រ}}</translation>
 <translation id="7207457272187520234">បញ្ជូន​ទិន្នន័យនៃការ​ប្រើប្រាស់ និង​ការវិភាគ។ បច្ចុប្បន្ននេះ ឧបករណ៍នេះ​កំពុងបញ្ជូន​ទិន្នន័យនៃការ​វិភាគ ឧបករណ៍ និងការ​ប្រើប្រាស់​កម្មវិធី​ទៅ Google ដោយស្វ័យប្រវត្តិ។ ការធ្វើ​បែបនេះ​នឹងជួយ​ដល់ស្ថិរភាព​កម្មវិធី និង​ប្រព័ន្ធ ព្រមទាំង​ការកែលម្អ​ផ្សេងទៀត។ ទិន្នន័យ​ប្រមូលបាន​មួយចំនួន​ក៏នឹង​ជួយដល់​កម្មវិធី និង​ដៃគូ Google ដូចជា​អ្នកអភិវឌ្ឍន៍ Android ផងដែរ។ ការកំណត់នេះត្រូវបាន​អនុវត្ត​ដោយម្ចាស់។ ប្រសិនបើ​ការកំណត់​សកម្មភាព​កម្មវិធី និង​គេហទំព័រ​បន្ថែម​របស់អ្នក​ត្រូវបាន​បើក នោះទិន្នន័យនេះ​អាចត្រូវ​បានរក្សាទុក​ទៅក្នុង​គណនី Google របស់អ្នក។</translation>
@@ -5159,7 +5150,6 @@
 <translation id="7388044238629873883">អ្នកជិតបញ្ចប់ហើយ!</translation>
 <translation id="7392118418926456391">ការស្កេនមេរោគបានបរាជ័យ</translation>
 <translation id="7392915005464253525">បើកផ្ទាំងដែលបានបិទឡើងវិញ</translation>
-<translation id="7393472013449507620">មិនអាចប្រើ​ការកំណត់​ដែលមាន​តួអក្សរជំនួស "*" បានទៀតទេ។ សូមទាក់ទង​អ្នកអភិវឌ្ឍន៍​កម្មវិធីបន្ថែម ឬអ្នកគ្រប់គ្រង​របស់អ្នក ដើម្បី<ph name="BEGIN_LINK" />ប្ដូរ​ការកំណត់​ទាំងនេះ<ph name="END_LINK" />។</translation>
 <translation id="7396017167185131589">ថត​ដែលបានចែករំលែក​នឹងបង្ហាញនៅទីនេះ</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> នឹងបើកដំណើរការនៅពេលចាប់ផ្តើមដំណើរការប្រព័ន្ធ ហើយបន្តដំណើរការនៅផ្ទៃខាងក្រោយ បើទោះបីជាអ្នកបិទ <ph name="PRODUCT_NAME" /> ផ្ទាំងផ្សេងទៀតទាំងអស់ក៏ដោយ។</translation>
 <translation id="7399045143794278225">ប្ដូរសមកាលកម្ម​តាមបំណង</translation>
@@ -5272,6 +5262,7 @@
 <translation id="7526989658317409655">ធាតុជំនួស</translation>
 <translation id="7529411698175791732">សូមពិនិត្យមើល​ការតភ្ជាប់​អ៊ីនធឺណិត​របស់អ្នក។ ប្រសិនបើ​បញ្ហានេះ​នៅតែ​បន្ត​កើតឡើង សូមសាកល្បង​ចាកចេញ​ពី​គណនី រួច​ចូលវិញ​ម្តងទៀត។</translation>
 <translation id="7530016656428373557">កម្រិតទាញយកថាមពលជាវ៉ាត់</translation>
+<translation id="7531310913436731628">ទីតាំង​ត្រូវបានបិទ​ក្នុងចំណូលចិត្តប្រព័ន្ធ Mac</translation>
 <translation id="7531779363494549572">ចូល​ទៅ​កាន់​ការកំណត់ &gt; កម្មវិធី និង​ការ​ជូន​ដំណឹង &gt; ការ​ជូន​ដំណឹង។</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> មិន​ដំណើរការ​ទេ។ សូមជ្រើសរើស "បង្ខំឱ្យបិទ" ដើម្បីបិទ​កម្មវិធី។</translation>
 <translation id="7537451260744431038">គេហទំព័រ​មិនអាច​ប្រើ​ខូគី ដើម្បី​កែលម្អ​បទពិសោធន៍​រុករក​របស់អ្នក ឧទាហរណ៍ ដើម្បីឱ្យអ្នក​បន្តចូលគណនី ឬ​ចងចាំ​ទំនិញ​នៅក្នុង​រទេះ​ទិញទំនិញ​របស់អ្នក​បានទេ</translation>
@@ -6051,7 +6042,6 @@
 <translation id="8470513973197838199">បាន​រក្សា​ទុកពាក្យ​សម្ងាត់​​សម្រាប់ <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">ផ្នែករឹងបម្រុង</translation>
 <translation id="8473863474539038330">អាសយដ្ឋាន​ និងច្រើន​ទៀត</translation>
-<translation id="8474733733775441349">បង្ហាញពាក្យសម្ងាត់ដែលមាននៅក្នុងគណនី Google របស់អ្នក</translation>
 <translation id="8475313423285172237">កម្មវិធីដ៏ទៃទៀតនៅលើកុំព្យូទ័ររបស់អ្នកបានបន្ថែមកម្មវិធីបន្ថែម ដែលអាចប្តូររបៀបដំណើរការរបស់ Chrome។</translation>
 <translation id="8477241577829954800">បានជំនួស</translation>
 <translation id="8477384620836102176">ទូទៅ</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb
index 0828809..d8bc2142 100644
--- a/chrome/app/resources/generated_resources_kn.xtb
+++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">ಸಂಕೇತಲಿಪಿ ಮಾತ್ರ</translation>
 <translation id="1038462104119736705">Linux ಗಾಗಿ ಕನಿಷ್ಠ <ph name="INSTALL_SIZE" /> ಸ್ಥಳಾವಕಾಶವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. ಮುಕ್ತ ಸ್ಥಳಾವಕಾಶವನ್ನು ಹೆಚ್ಚಿಸಲು, ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿರುವ ಫೈಲ್‌ಗಳನ್ನು ಅಳಿಸಿ.</translation>
 <translation id="1039337018183941703">ಅಮಾನ್ಯ ಅಥವಾ ದೋಷಯುಕ್ತ ಫೈಲ್</translation>
-<translation id="104086161873270383">ಹೊಸ  ಪ್ರೊಫೈಲ್</translation>
 <translation id="1041175011127912238">ಈ ಪುಟವು ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತಿಲ್ಲ</translation>
 <translation id="1041263367839475438">ಲಭ್ಯವಿರುವ ಸಾಧನಗಳು</translation>
 <translation id="1042174272890264476">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಅಂತರ್‌ನಿರ್ಮಿತ <ph name="SHORT_PRODUCT_NAME" /> ನ RLZ ಲೈಬ್ರರಿಯೊಂದಿಗೆ ಸಹ ಬರುತ್ತದೆ. ಹುಡುಕಾಟಗಳನ್ನು ಅಳತೆ ಮಾಡಲು ಮತ್ತು ಒಂದು ನಿರ್ದಿಷ್ಟ ಪ್ರಚಾರದ ಶಿಬಿರದಿಂದ <ph name="SHORT_PRODUCT_NAME" /> ಬಳಕೆಯಿಂದ ಗಳಿಸಿದ ಅನನ್ಯವಲ್ಲದ, ವೈಯಕ್ತಿಕವಾಗಿ ಗುರುತಿಸದಂತಹ ಟ್ಯಾಗ್ ಅನ್ನು RLZ ಆಯೋಜಿಸುತ್ತದೆ. ಈ ಲೇಬಲ್‌ಗಳು ಕೆಲವು ಬಾರಿ <ph name="PRODUCT_NAME" /> ನಲ್ಲಿ Google ಹುಡುಕಾಟ ಪ್ರಶ್ನೆಗಳಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> ಉಪಪುಟದ ಹಿಂದೆ ಬಟನ್</translation>
 <translation id="1322046419516468189">ಉಳಿಸಿದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು <ph name="SAVED_PASSWORDS_STORE" /> ನಲ್ಲಿ ವೀಕ್ಷಿಸಿ ಮತ್ತು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="1324106254079708331">ಉದ್ದೇಶಿತ ದಾಳಿಯ ಅಪಾಯದಲ್ಲಿರುವ ಯಾವುದೇ ವೈಯಕ್ತಿಕ Google ಖಾತೆಗಳನ್ನು ರಕ್ಷಿಸುತ್ತದೆ</translation>
-<translation id="1325985428688410772">ಸ್ಥಳವನ್ನು ಸೇರಿಸಿ</translation>
 <translation id="1326317727527857210">ನಿಮ್ಮ ಇತರ ಸಾಧನಗಳಿಂದ ನಿಮ್ಮ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಪಡೆದುಕೊಳ್ಳಲು, Chrome ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ.</translation>
 <translation id="1327074568633507428">Google ಕ್ಲೌಡ್ ಮುದ್ರಣದಲ್ಲಿ ಪ್ರಿಂಟರ್</translation>
 <translation id="1327272175893960498">Kerberos ಟಿಕೆಟ್‌ಗಳು</translation>
@@ -751,7 +749,6 @@
 <translation id="1868553836791672080">Chromium ನಲ್ಲಿ ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲನೆ ಲಭ್ಯವಿಲ್ಲ</translation>
 <translation id="1871534214638631766">ಕಂಟೆಂಟ್ ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ಅಥವಾ ದೀರ್ಘಕಾಲ ಒತ್ತಿಹಿಡಿದಾಗ, ಕಂಟೆಂಟ್‌ಗೆ ಸಂಬಂಧಿಸಿದ ಮಾಹಿತಿಯನ್ನು ತೋರಿಸಿ</translation>
 <translation id="1871615898038944731">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಅಪ್‌ ಟು ಡೇಟ್‌ ಆಗಿದೆ</translation>
-<translation id="1874835396235780806">ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿ ಈ ಪಾಸ್‌ವರ್ಡ್ ಹಾಗೂ ಇತರ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಉಳಿಸುವುದೇ?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ಟ್ಯಾಬ್ ಅನ್ನು ಬೇರೊಂದು ವಿಂಡೋಗೆ ಸರಿಸಿ}one{ಟ್ಯಾಬ್‌ಗಳನ್ನು ಬೇರೊಂದು ವಿಂಡೋಗೆ ಸರಿಸಿ}other{ಟ್ಯಾಬ್‌ಗಳನ್ನು ಬೇರೊಂದು ವಿಂಡೋಗೆ ಸರಿಸಿ}}</translation>
 <translation id="1875386316419689002">ಈ ಟ್ಯಾಬ್, HID ಸಾಧನಕ್ಕೆ ಕನೆಕ್ಟ್ ಆಗಿದೆ.</translation>
 <translation id="1875387611427697908"><ph name="CHROME_WEB_STORE" /> ಮೂಲಕ ಮಾತ್ರ ಇದನ್ನು ಸೇರಿಸಬಹುದಾಗಿದೆ</translation>
@@ -764,7 +761,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" /> ರಲ್ಲಿ <ph name="NETWORK_INDEX" /> ನೆಟ್‌ವರ್ಕ್, <ph name="NETWORK_NAME" />, ಕನೆಕ್ಟ್</translation>
 <translation id="1884705339276589024">Linux ಡಿಸ್ಕ್ ಅನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಿ</translation>
 <translation id="1885106732301550621">ಡಿಸ್ಕ್ ಸ್ಥಳಾವಕಾಶ</translation>
-<translation id="1885190042244431215">ಶಾಲಾ ಖಾತೆಯನ್ನು ಸೇರಿಸಿದರೆ ಪೋಷಕರ ನಿಯಂತ್ರಣಗಳ ಅಡಿಯಲ್ಲಿ ಇನ್ನೂ ಕಾರ್ಯಾಚರಿಸುತ್ತಲೇ ವೆಬ್‌ಸೈಟ್‌ಗಳು ಮತ್ತು ವಿಸ್ತರಣೆಗಳಲ್ಲಿ ವಿದ್ಯಾರ್ಥಿಯಾಗಿ ಸೈನ್ ಇನ್ ಮಾಡಲು ಸುಲಭವಾಗುತ್ತದೆ.</translation>
 <translation id="1886996562706621347">ಪ್ರೊಟೋಕಾಲ್‌ಗಳಿಗಾಗಿ ಡಿಫಾಲ್ಟ್ ಹ್ಯಾಂಡ್ಲರ್‌‌ಗಳಾಗಲು ಸೈಟ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)</translation>
 <translation id="1887442540531652736">ಸೈನ್‌ ಇನ್‌ ದೋಷ</translation>
 <translation id="1887597546629269384">ಮತ್ತೊಮ್ಮೆ "ಹೇ Google" ಎಂದು ಹೇಳಿ</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">ನಿಮ್ಮ ಪ್ರವೇಶಿಸುವಿಕೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಓದಿಕೊಳ್ಳಿ</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ಇದು ಒಂದು ಫೈಲ್‌ಗೆ ಶಾಶ್ವತ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದೆ.}one{ಇದು # ಫೈಲ್‌ಗಳಿಗೆ ಶಾಶ್ವತ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದೆ.}other{ಇದು # ಫೈಲ್‌ಗಳಿಗೆ ಶಾಶ್ವತ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದೆ.}}</translation>
 <translation id="3660234220361471169">ವಿಶ್ವಾಸಾರ್ಹವಿಲ್ಲದ</translation>
-<translation id="3661172646479098821">ಪ್ರಸ್ತುತ, Android ಸಾಧನಗಳಿಗೆ ಮಾತ್ರ ಬೆಂಬಲವಿದೆ.</translation>
 <translation id="3664511988987167893">ವಿಸ್ತರಣೆ ಐಕಾನ್</translation>
 <translation id="3665589677786828986">ನಿಮ್ಮ ಕೆಲವು ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಬೇರೊಂದು ಪ್ರೋಗ್ರಾಂನಿಂದಾಗಿ ಹಾನಿಗೊಳಗಾಗಿರುವುದು Chrome ಗಮನಕ್ಕೆ ಬಂದಿದೆ ಮತ್ತು ಅವುಗಳ ಮೂಲ ಡೀಫಾಲ್ಟ್‌ಗಳಿಗೆ ಅವುಗಳನ್ನು ಮರುಹೊಂದಿಸಿದೆ.</translation>
 <translation id="3668801437375206837">ಬ್ಲೂಟೂತ್ ಸಮಸ್ಯೆಗಳನ್ನು ಇನ್ನೂ ಉತ್ತಮವಾಗಿ ಪತ್ತೆಮಾಡಲು, ಗೂಗ್ಲರ್‌ಗಳು ತಮ್ಮ ಪ್ರತಿಕ್ರಿಯೆ ವರದಿಗಳೊಂದಿಗೆ ಹೆಚ್ಚುವರಿ ಬ್ಲೂಟೂತ್ ಲಾಗ್‌ಗಳನ್ನು ಸೇರಿಸಿಕೊಳ್ಳಬಹುದು. ಈ ಆಯ್ಕೆಯನ್ನು ಗುರುತಿಸಿದಾಗ, ನಿಮ್ಮ ವರದಿಯು ಸಾಧ್ಯವಾದಷ್ಟು PII ಯನ್ನು ತೆಗೆದುಹಾಕಲು ಸ್ವಚ್ಛಗೊಳಿಸಲಾಗಿರುವ ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಸೆಶನ್‌ನಿಂದ ಪಡೆಯಲಾದ btsnoop ಮತ್ತು HCI ಲಾಗ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಈ ಲಾಗ್‌ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು Listnr ನಲ್ಲಿರುವ Chrome OS ಉತ್ಪನ್ನ ಗುಂಪಿನ ನಿರ್ವಾಹಕರಿಗಷ್ಟೇ ಸೀಮಿತಗೊಳಿಸಲಾಗುತ್ತದೆ. ದಾಖಲೆಗಳನ್ನು 90 ದಿನಗಳ ನಂತರ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">ನೀವು ನಮೂದಿಸಿದ ಇಮೇಲ್ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಹೊಂದಿಕೆಯಾಗುತ್ತಿಲ್ಲ</translation>
 <translation id="4374831787438678295">Linux ಇನ್‌ಸ್ಟಾಲರ್‌‌</translation>
 <translation id="4375035964737468845">ಡೌನ್‌ಲೋಡ್‌ ಆಗಿರುವ ಫೈಲ್‌ಗಳನ್ನು ತೆರೆ</translation>
+<translation id="4376226992615520204">ಸ್ಥಳ ಆಫ್ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="4377363674125277448">ಸರ್ವರ್‌ನ ಪ್ರಮಾಣಪತ್ರದಲ್ಲಿ ಸಮಸ್ಯೆ ಇದೆ.</translation>
 <translation id="4378154925671717803">ಫೋನ್</translation>
 <translation id="4378373042927530923">ರನ್ ಆಗಲಿಲ್ಲ</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">ಇತರ ಸಾಧನಗಳಿಂದ ಟ್ಯಾಬ್‌ಗಳು</translation>
 <translation id="4620809267248568679">ಈ ಸೆಟ್ಟಿಂಗ್ ವಿಸ್ತರಣೆಯಿಂದ ಜಾರಿಗೊಳಿಸಲಾಗಿದೆ.</translation>
 <translation id="4623189117674524348">ಈ ಸಾಧನಕ್ಕಾಗಿ API ಪ್ರವೇಶವನ್ನು ದೃಢೀಕರಿಸಲು ಸಿಸ್ಟಂ ವಿಫಲವಾಗಿದೆ.</translation>
-<translation id="4624190781974168453">ಸ್ಟಾರ್ಟ್‌ಅಪ್‌ನಲ್ಲಿ ಕೇಳಿ</translation>
 <translation id="4625078469366263107">ಅಪ್ಲಿಕೇಶನ್ ಸಕ್ರಿಯಗೊಳಿಸಿ</translation>
 <translation id="4627427111733173920">ಕುಕೀಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation>
 <translation id="4627442949885028695">ಬೇರೆ ಸಾಧನದಿಂದ ಮುಂದುವರಿಸಿ</translation>
@@ -3402,7 +3397,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" ನ ಹೊಸ ಆವೃತ್ತಿಗೆ ಹೆಚ್ಚಿನ ಅನುಮತಿಗಳ ಅಗತ್ಯವಿರುವ ಕಾರಣ ಅದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ.</translation>
 <translation id="5185500136143151980">ಇಂಟರ್ನೆಟ್ ಇಲ್ಲ</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> ಗಾಗಿ ಆಯ್ಕೆಗಳ ಮೆನು</translation>
 <translation id="5190926251776387065">ಪೋರ್ಟ್ ಸಕ್ರಿಯಗೊಳಿಸಿ</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ಬಹು ಫೈಲ್‌ಗಳನ್ನು ಡೌನ್‌ಲೋಡ್‌ ಮಾಡಲು ಬಯಸುತ್ತದೆ</translation>
 <translation id="5192062846343383368">ನಿಮ್ಮ ಮೇಲ್ವಿಚಾರಣೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನೋಡಲು Family Link ಆ್ಯಪ್ ಅನ್ನು ತೆರೆಯಿರಿ</translation>
@@ -3779,6 +3773,7 @@
 <translation id="5642508497713047">CRL ಸೈನರ್</translation>
 <translation id="5643321261065707929">ಮಾಪನ ಮಾಡಿದ ನೆಟ್‌ವರ್ಕ್</translation>
 <translation id="5643620609347735571">ತೆರವುಗೊಳಿಸಿ ಮತ್ತು ಮುಂದುವರಿಸಿ</translation>
+<translation id="5646376287012673985">ಸ್ಥಳ</translation>
 <translation id="5646558797914161501">ವ್ಯಾಪಾರಿ</translation>
 <translation id="5648166631817621825">ಕಳೆದ 7 ದಿನಗಳು</translation>
 <translation id="5649053991847567735">ಸ್ವಯಂಚಾಲಿತ ಡೌನ್‌ಲೋಡ್‌ಗಳು</translation>
@@ -4014,7 +4009,7 @@
 <translation id="5939518447894949180">ಮರುಹೊಂದಿಸು</translation>
 <translation id="5941153596444580863">ವ್ಯಕ್ತಿಯನ್ನು ಸೇರಿಸಿ...</translation>
 <translation id="5941343993301164315">ದಯವಿಟ್ಟು <ph name="TOKEN_NAME" /> ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ.</translation>
-<translation id="5941711191222866238">ಕುಗ್ಗಿಸು</translation>
+<translation id="5941711191222866238">ಕುಗ್ಗಿಸಿ</translation>
 <translation id="5942964813783878922">ಈ ಅಪ್‌ಡೇಟ್‌ನ ನಂತರ ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಮರುಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ನಂತರದ ಸಾಫ್ಟವೇರ್ ಮತ್ತು ಭದ್ರತೆ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗುತ್ತದೆ.</translation>
 <translation id="5944869793365969636">QR ಕೋಡ್ ಸ್ಕ್ಯಾನ್ ಮಾಡಿ</translation>
 <translation id="5946591249682680882">ವರದಿ ID <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4485,7 +4480,6 @@
 <translation id="6531282281159901044">ಅಪಾಯಕಾರಿ ಫೈಲ್ ಇರಿಸು</translation>
 <translation id="6532101170117367231">Google ಡ್ರೈವ್‌ನಲ್ಲಿ ಉಳಿಸಿ</translation>
 <translation id="6532106788206463496">ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಿ</translation>
-<translation id="6532113437901537254">ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿರುವಾಗ ನಿಮ್ಮ Google ಖಾತೆಯ ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಈ ಸಾಧನದಲ್ಲಿಯೂ ಲಭ್ಯವಿರುತ್ತವೆ</translation>
 <translation id="6532206849875187177">ಭದ್ರತೆ ಮತ್ತು ಸೈನ್-ಇನ್</translation>
 <translation id="6532527800157340614">ನಿಮ್ಮ ಪ್ರವೇಶ ಟೋಕನ್ ಅನ್ನು ಹಿಂಪಡೆಯಲು ಸಾಧ್ಯವಾಗದ ಕಾರಣ ಸೈನ್-ಇನ್ ವಿಫಲವಾಗಿದೆ. ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="6532663472409656417">ಎಂಟರ್‌ಪ್ರೈಸ್ ನೋಂದಣಿಯಾಗಿದೆ</translation>
@@ -4617,7 +4611,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> ಮತ್ತು 1 ಇತರ ಟ್ಯಾಬ್}one{<ph name="PAGE_TITLE" /> ಮತ್ತು # ಇತರ ಟ್ಯಾಬ್‌ಗಳು}other{<ph name="PAGE_TITLE" /> ಮತ್ತು # ಇತರ ಟ್ಯಾಬ್‌ಗಳು}}</translation>
 <translation id="6709133671862442373">News</translation>
 <translation id="6709357832553498500"><ph name="EXTENSIONNAME" /> ಬಳಸುವ ಮೂಲಕ ಸಂಪರ್ಕಪಡಿಸು</translation>
-<translation id="6710213216561001401">ಹಿಂದೆ</translation>
+<translation id="6710213216561001401">ಹಿಂದಿನದು</translation>
 <translation id="6715803357256707211">ನಿಮ್ಮ Linux ಆ್ಯಪ್‌ ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುವಾಗ ದೋಷವೊಂದು ಸಂಭವಿಸಿದೆ. ವಿವರಗಳಿಗಾಗಿ ಅಧಿಸೂಚನೆಯ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ.</translation>
 <translation id="671619610707606484">ಸೈಟ್‌ಗಳಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ <ph name="TOTAL_USAGE" /> ಡೇಟಾವನ್ನು ಇದು ತೆರವುಗೊಳಿಸುತ್ತದೆ</translation>
 <translation id="671928215901716392">ಪರದೆಯನ್ನು ಲಾಕ್ ಮಾಡಿ</translation>
@@ -5016,9 +5010,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ</translation>
 <translation id="7201420661433230412">ಫೈಲ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ</translation>
 <translation id="7203150201908454328">ವಿಸ್ತೃತವಾದ</translation>
-<translation id="7203826966018112936">ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ ಶಾಲಾ ಖಾತೆಯನ್ನು ಸೇರಿಸಿದರೆ ಪೋಷಕರ ನಿಯಂತ್ರಣಗಳ ಅಡಿಯಲ್ಲಿ ಕಾರ್ಯಾಚರಿಸುತ್ತಲೇ ವೆಬ್‌ಸೈಟ್‌ಗಳು ಮತ್ತು ವಿಸ್ತರಣೆಗಳಲ್ಲಿ ವಿದ್ಯಾರ್ಥಿಯಾಗಿ ಸೈನ್ ಇನ್ ಮಾಡಲು ಸುಲಭವಾಗುತ್ತದೆ. ಇದು ಮಗುವಿಗೆ ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳು, ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಅಥವಾ ಶಾಲಾ ಖಾತೆಯೊಂದಿಗೆ ಸಿಂಕ್ ಮಾಡಲಾಗಿರುವ ಇತರ ಡೇಟಾಕ್ಕೆ ಪ್ರವೇಶ ಒದಗಿಸುವುದಿಲ್ಲ.&lt;br&gt;&lt;br&gt;
-    ನಿಮ್ಮ ಮಗುವು ಶಾಲೆಯಲ್ಲಿ Chromebook ಅನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ ಮತ್ತು ಮಗುವಿಗೆ ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಶಾಲಾ ಸಾಮಗ್ರಿಗೆ ಪ್ರವೇಶವಿರುವ ಹಾಗೆ ನೋಡಿಕೊಳ್ಳಲು ಶಾಲೆಯ ಅನುಭವವನ್ನು ಮನೆಯಲ್ಲೂ ಒದಗಿಸಲು ನೀವು ಬಯಸುತ್ತೀರಾದರೆ, ಈ Family Link ಖಾತೆಯಿಂದ ಸೈನ್-ಔಟ್ ಮಾಡಿ ಮತ್ತು Chrome OS ಖಾತೆಗಳ ಪುಟದಿಂದ ಶಾಲೆಯ ಖಾತೆಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ (ಸೂಚನೆ: Family Link ಪೋಷಕರ ನಿಯಂತ್ರಣಗಳು ಅನ್ವಯಿಸುವುದಿಲ್ಲ).&lt;br&gt;&lt;br&gt;
-    ನಿಮ್ಮ ಮಗುವು ಶಾಲೆಯಲ್ಲಿ Chromebook ಬಳಸದಿದ್ದರೆ ಅಥವಾ ಮನೆಯಲ್ಲಿ ಮಗುವಿನ ಅನುಭವವನ್ನು Family Link ಮೂಲಕ ನಿರ್ವಹಿಸಲು ನೀವು ಬಯಸುತ್ತೀರಾದರೆ, ಈ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ ಶಾಲೆಯ ಖಾತೆಯನ್ನು ಸೇರಿಸಲು ಕೆಳಗೆ ಇರುವ ಮುಂದೆ ಬಟನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{ನಿರ್ಗಮನ ಪುಟ}one{ನಿರ್ಗಮನ ಪುಟಗಳು}other{ನಿರ್ಗಮನ ಪುಟಗಳು}}</translation>
 <translation id="7207457272187520234">ಬಳಕೆ ಮತ್ತು ಡಯಾಗ್ನಾಸ್ಟಿಕ್ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಿ. ಪ್ರಸ್ತುತ, ಈ ಸಾಧನವು ಡಯಾಗ್ನಾಸ್ಟಿಕ್, ಸಾಧನ ಹಾಗೂ ಆ್ಯಪ್ ಬಳಕೆಯ ಡೇಟಾವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ Google ಗೆ ಕಳುಹಿಸುತ್ತಿದೆ. ಇದು ಸಿಸ್ಟಂ ಮತ್ತು ಆ್ಯಪ್‌ನ ಸ್ಥಿರತೆ ಹಾಗೂ ಇತರ ಸುಧಾರಣೆಗಳಿಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಒಟ್ಟುಗೂಡಿಸಲಾದ ಕೆಲವೊಂದು ಡೇಟಾ, Google ಆ್ಯಪ್‌ಗಳಿಗೆ ಮತ್ತು Android ಡೆವಲಪರ್‌ಗಳಂತಹ ಪಾಲುದಾರರಿಗೂ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಮಾಲೀಕರು ಜಾರಿಗೊಳಿಸುತ್ತಾರೆ. ನಿಮ್ಮ ಹೆಚ್ಚುವರಿ ವೆಬ್‌ ಮತ್ತು ಆ್ಯಪ್ ಚಟುವಟಿಕೆ ಸೆಟ್ಟಿಂಗ್ ಆನ್‌ ಆಗಿದ್ದರೆ, ಈ ಡೇಟಾವನ್ನು ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿ ಉಳಿಸಬಹುದು.</translation>
@@ -5161,7 +5152,6 @@
 <translation id="7388044238629873883">ನೀವು ಬಹುತೇಕ ಪೂರೈಸಿರುವಿರಿ!</translation>
 <translation id="7392118418926456391">ವೈರಸ್ ಸ್ಕ್ಯಾನ್ ವಿಫಲವಾಗಿದೆ</translation>
 <translation id="7392915005464253525">ಮು&amp;ಚ್ಚಿದ ವಿಂಡೋವನ್ನು ಮತ್ತೆ ತೆರೆ</translation>
-<translation id="7393472013449507620">"*" ವೈಲ್ಡ್‌ಕಾರ್ಡ್‌ಗಳ ಜೊತೆಗಿನ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಇನ್ನು ಮುಂದೆ ಬೆಂಬಲಿತವಾಗಿರುವುದಿಲ್ಲ. <ph name="BEGIN_LINK" /> ಈ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು<ph name="END_LINK" /> ವಿಸ್ತರಣೆ ಡೆವಲಪರ್ ಅಥವಾ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.</translation>
 <translation id="7396017167185131589">ಹಂಚಿಕೊಂಡ ಫೋಲ್ಡರ್‌ಗಳು ಇಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ</translation>
 <translation id="7396845648024431313">ಸಿಸ್ಟಂ ಪ್ರಾರಂಭಗೊಳ್ಳುವಾಗ <ph name="APP_NAME" /> ಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಒಮ್ಮೆ ನೀವು ಇತರೆ ಎಲ್ಲ <ph name="PRODUCT_NAME" /> ವಿಂಡೊಗಳನ್ನು ಮುಚ್ಚಿದರೂ ಸಹ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಚಾಲನೆಗೊಳ್ಳಲು ಮುಂದುವರಿಯುತ್ತದೆ.</translation>
 <translation id="7399045143794278225">ಸಿಂಕ್ ಕಸ್ಟಮೈಸ್ ಮಾಡಿ</translation>
@@ -5274,6 +5264,7 @@
 <translation id="7526989658317409655">ಪ್ಲೇಸ್‌ಹೋಲ್ಡರ್</translation>
 <translation id="7529411698175791732">ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಪರೀಕ್ಷಿಸಿ. ಸಮಸ್ಯೆ ಮುಂದುವರೆದರೆ, ಸೈನ್ ಔಟ್ ಮಾಡಲು ಹಾಗೂ ಮರಳಿ ಸೈನ್ ಇನ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="7530016656428373557">ವ್ಯಾಟ್‌ಗಳಲ್ಲಿ ಡಿಸ್‌ಚಾರ್ಜ್ ದರ</translation>
+<translation id="7531310913436731628">Mac ಸಿಸ್ಟಂ ಆದ್ಯತೆಗಳಲ್ಲಿ ಸ್ಥಳವನ್ನು ಆಫ್ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="7531779363494549572">ಸೆಟ್ಟಿಂಗ್‌ಗಳು &gt; ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಅಧಿಸೂಚನೆಗಳು &gt; ಅಧಿಸೂಚನೆಗಳಿಗೆ ಹೋಗಿ.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತಿಲ್ಲ. ಆ್ಯಪ್ ಅನ್ನು ಮುಚ್ಚಲು "ಬಲವಂತವಾಗಿ ಮುಚ್ಚಿ" ಆಯ್ಕೆಮಾಡಿ.</translation>
 <translation id="7537451260744431038">ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಲು, ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮನ್ನು ಸೈನ್ ಇನ್ ಆಗಿರಿಸಲು ಅಥವಾ ನಿಮ್ಮ ಶಾಪಿಂಗ್ ಕಾರ್ಟ್‌ನಲ್ಲಿರುವ ಐಟಂಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ಕುಕೀಗಳನ್ನು ಬಳಸಲು, ಸೈಟ್‌ಗಳಿಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ</translation>
@@ -6050,7 +6041,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> ಗಾಗಿ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಉಳಿಸಲಾಗಿದೆ</translation>
 <translation id="8472623782143987204">ಹಾರ್ಡ್‌ವೇರ್-ಹಿಂತಿರುಗಿಸಿದೆ</translation>
 <translation id="8473863474539038330">ವಿಳಾಸಗಳು ಮತ್ತು ಇನ್ನಷ್ಟು</translation>
-<translation id="8474733733775441349">ನಿಮ್ಮ Google ಖಾತೆಯಿಂದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ತೋರಿಸಿ</translation>
 <translation id="8475313423285172237">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿನ ಮತ್ತೊಂದು ಪ್ರೋಗ್ರಾಂ Chrome ಕಾರ್ಯನಿರ್ವಹಿಸುವ ವಿಧಾನವನ್ನು ಬದಲಿಸಬಹುದಾದಂತಹ ವಿಸ್ತರಣೆಯನ್ನು ಸೇರಿಸಿದೆ.</translation>
 <translation id="8477241577829954800">ಬದಲಿ ಇರಿಸಲಾಗಿದೆ</translation>
 <translation id="8477384620836102176">&amp;ಸಾಮಾನ್ಯ</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb
index 22c5b0b..076f7282 100644
--- a/chrome/app/resources/generated_resources_ko.xtb
+++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">암호화만</translation>
 <translation id="1038462104119736705">Linux를 사용하려면 최소 <ph name="INSTALL_SIZE" />의 여유 공간이 권장됩니다. 여유 공간을 늘리려면 기기에서 파일을 삭제하세요.</translation>
 <translation id="1039337018183941703">잘못되었거나 손상된 파일입니다.</translation>
-<translation id="104086161873270383">새 프로필</translation>
 <translation id="1041175011127912238">페이지가 응답하지 않음</translation>
 <translation id="1041263367839475438">사용 가능한 기기</translation>
 <translation id="1042174272890264476">또한 컴퓨터에는 <ph name="SHORT_PRODUCT_NAME" /> RLZ 라이브러리가 내장되어 있습니다. RLZ는 고유하지 않고 개인 식별이 불가능한 태그를 할당하여 특정 홍보 캠페인을 통한 검색 및 <ph name="SHORT_PRODUCT_NAME" /> 사용 실태를 측정합니다. 이러한 라벨은 <ph name="PRODUCT_NAME" />의 Google 검색어에 표시되기도 합니다.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> 하위 페이지 뒤로 버튼</translation>
 <translation id="1322046419516468189"><ph name="SAVED_PASSWORDS_STORE" />에 저장된 비밀번호 보기 및 관리</translation>
 <translation id="1324106254079708331">개인 Google 계정을 표적 공격으로부터 보호합니다.</translation>
-<translation id="1325985428688410772">공간 추가</translation>
 <translation id="1326317727527857210">다른 기기에서 탭을 가져오려면 Chrome에 로그인하세요.</translation>
 <translation id="1327074568633507428">Google 클라우드 프린트의 프린터</translation>
 <translation id="1327272175893960498">Kerberos 티켓</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Chromium에서 비밀번호 확인 기능을 사용할 수 없습니다.</translation>
 <translation id="1871534214638631766">콘텐츠를 마우스 오른쪽 버튼으로 클릭하거나 길게 누르면 관련 정보가 표시됩니다.</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" />이(가) 최신 버전</translation>
-<translation id="1874835396235780806">Google 계정에 이 비밀번호와 다른 비밀번호를 저장하시겠습니까?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{탭을 다른 창으로 이동}other{탭을 다른 창으로 이동}}</translation>
 <translation id="1875386316419689002">이 탭이 HID 기기에 연결되었습니다.</translation>
 <translation id="1875387611427697908">이 프로그램은 <ph name="CHROME_WEB_STORE" />에서만 추가할 수 있습니다</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">네트워크 <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, 연결</translation>
 <translation id="1884705339276589024">Linux 디스크 크기 조정</translation>
 <translation id="1885106732301550621">디스크 공간</translation>
-<translation id="1885190042244431215">학교 계정을 추가하면 학생이 계속 자녀 보호 기능으로 감독받으면서 웹사이트 및 확장 프로그램에 간편하게 로그인할 수 있습니다.</translation>
 <translation id="1886996562706621347">사이트에서 프로토콜 기본 핸들러로 사용할지 여부를 묻도록 허용(권장)</translation>
 <translation id="1887442540531652736">로그인 오류</translation>
 <translation id="1887597546629269384">"Hey Google"이라고 다시 말하세요.</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">접근성 설정 확인</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{파일 1개에 영구적으로 액세스할 수 있습니다.}other{파일 #개에 영구적으로 액세스할 수 있습니다.}}</translation>
 <translation id="3660234220361471169">신뢰할 수 없음</translation>
-<translation id="3661172646479098821">현재 Android 기기만 지원됩니다.</translation>
 <translation id="3664511988987167893">확장 프로그램 아이콘</translation>
 <translation id="3665589677786828986">Chrome에서 다른 프로그램이 브라우저 설정을 일부 손상시키고 원래 기본값으로 재설정했음을 감지했습니다.</translation>
 <translation id="3668801437375206837">블루투스 문제를 더 효과적으로 진단하기 위해 Google 직원이 의견 보고서에 추가 블루투스 로그를 포함할 수 있습니다. 이 옵션을 선택하면 보고서에 현재 세션의 btsnoop 및 HCI 로그가 포함됩니다. 이 로그는 개인 식별 정보가 가능한 한 적게 포함되도록 정리되며, Listnr의 Chrome OS 제품 그룹 관리자만 액세스할 수 있습니다. 해당 로그는 90일 후에 삭제됩니다.</translation>
@@ -2770,6 +2765,7 @@
 <translation id="4370975561335139969">입력한 이메일과 비밀번호가 일치하지 않습니다.</translation>
 <translation id="4374831787438678295">Linux 설치 프로그램</translation>
 <translation id="4375035964737468845">다운로드한 파일 열기</translation>
+<translation id="4376226992615520204">위치 사용 중지됨</translation>
 <translation id="4377363674125277448">서버의 인증서에 문제가 발생했습니다.</translation>
 <translation id="4378154925671717803">전화기</translation>
 <translation id="4378373042927530923">실행되지 않음</translation>
@@ -2969,7 +2965,6 @@
 <translation id="4619615317237390068">다른 기기의 탭</translation>
 <translation id="4620809267248568679">이 설정은 확장 프로그램에서 시행합니다.</translation>
 <translation id="4623189117674524348">시스템에서 이 기기의 API 액세스를 승인하지 못했습니다.</translation>
-<translation id="4624190781974168453">시작 시 묻기</translation>
 <translation id="4625078469366263107">앱 사용</translation>
 <translation id="4627427111733173920">쿠키가 차단됨</translation>
 <translation id="4627442949885028695">다른 기기에서 계속</translation>
@@ -3399,7 +3394,6 @@
 <translation id="5185386675596372454">'<ph name="EXTENSION_NAME" />'의 최신 버전에 더 많은 권한이 필요하여 사용이 중지되었습니다.</translation>
 <translation id="5185500136143151980">인터넷 연결 없음</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" />(<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" />의 옵션 메뉴</translation>
 <translation id="5190926251776387065">포트 활성화</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" />에서 여러 파일을 다운로드하려고 합니다.</translation>
 <translation id="5192062846343383368">Family Link 앱을 열어 감독 설정을 확인합니다.</translation>
@@ -3775,6 +3769,7 @@
 <translation id="5642508497713047">CRL 서명자</translation>
 <translation id="5643321261065707929">종량제 네트워크</translation>
 <translation id="5643620609347735571">삭제하고 계속</translation>
+<translation id="5646376287012673985">위치</translation>
 <translation id="5646558797914161501">사업가</translation>
 <translation id="5648166631817621825">지난 7일</translation>
 <translation id="5649053991847567735">자동 다운로드</translation>
@@ -4481,7 +4476,6 @@
 <translation id="6531282281159901044">위험한 파일 보관</translation>
 <translation id="6532101170117367231">Google 드라이브에 저장</translation>
 <translation id="6532106788206463496">변경사항 저장</translation>
-<translation id="6532113437901537254">로그인한 상태라면 이 기기에서도 Google 계정의 비밀번호를 사용할 수 있습니다.</translation>
 <translation id="6532206849875187177">보안 및 로그인</translation>
 <translation id="6532527800157340614">액세스 토큰을 검색할 수 없어 로그인에 실패했습니다. 네트워크 연결을 확인한 다음 다시 시도해 보세요.</translation>
 <translation id="6532663472409656417">기업 등록됨</translation>
@@ -5011,9 +5005,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' 삭제됨</translation>
 <translation id="7201420661433230412">파일 보기</translation>
 <translation id="7203150201908454328">펼쳐짐</translation>
-<translation id="7203826966018112936">프로필에 학교 계정을 추가하면 계속 자녀 보호 기능으로 사용하면서 학생으로서 웹사이트 및 확장 프로그램에 편리하게 로그인할 수 있습니다. 이렇게 해도 자녀는 학교 계정과 동기화된 북마크, 비밀번호 및 기타 브라우저 데이터에 액세스할 수 없습니다.&lt;br&gt;&lt;br&gt;
-    자녀가 학교에서 Chromebook을 사용하며 집에서 학교 환경을 미러링하여 필요한 학교 작업에 모두 액세스할 수 있기를 원한다면 이 Family Link 계정에서 로그아웃한 후 Chrome OS 계정 페이지에서 학교 계정으로 로그인하세요(참고: Family Link 자녀 보호 기능이 적용되지 않음).&lt;br&gt;&lt;br&gt;
-    자녀가 학교에서 Chromebook을 사용하지 않거나 Family Link를 사용하여 집에서 자녀의 환경을 관리하고 싶다면 아래에서 다음 버튼을 클릭하여 이 프로필에 학교 계정을 추가하세요.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" />을(를) 다운로드 중...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{페이지 나가기}other{페이지 나가기}}</translation>
 <translation id="7207457272187520234">사용 및 진단 데이터를 보냅니다. 이 기기는 현재 진단, 기기 및 앱 사용 데이터를 Google에 자동으로 보내고 있습니다. 데이터는 시스템 및 앱 안정성 등을 개선하는 데 활용됩니다. 일부 수집 데이터는 Google 앱과 파트너(Android 개발자 등)에게도 도움을 줍니다. 설정은 소유자가 지정합니다. 추가 웹 및 앱 활동이 사용 설정되어 있다면 이 데이터가 Google 계정에 저장될 수 있습니다.</translation>
@@ -5156,7 +5147,6 @@
 <translation id="7388044238629873883">거의 완료되었습니다.</translation>
 <translation id="7392118418926456391">바이러스 검사 실패</translation>
 <translation id="7392915005464253525">닫은 탭 다시 열기(&amp;E)</translation>
-<translation id="7393472013449507620">와일드 카드 '*'가 포함된 설정은 더 이상 지원되지 않습니다. <ph name="BEGIN_LINK" />이 설정을 변경<ph name="END_LINK" />하려면 확장 프로그램 개발자 또는 관리자에게 문의하세요.</translation>
 <translation id="7396017167185131589">공유 폴더가 여기에 표시됩니다.</translation>
 <translation id="7396845648024431313">시스템이 시작할 때 <ph name="APP_NAME" />이(가) 실행되며 다른 모든 <ph name="PRODUCT_NAME" /> 창을 종료한 후에도 백그라운드에서 계속 실행됩니다.</translation>
 <translation id="7399045143794278225">동기화 맞춤설정</translation>
@@ -5269,6 +5259,7 @@
 <translation id="7526989658317409655">자리표시자</translation>
 <translation id="7529411698175791732">인터넷 연결 상태를 확인하세요. 문제가 계속되면 로그아웃한 뒤 다시 로그인해보세요.</translation>
 <translation id="7530016656428373557">방전율(와트)</translation>
+<translation id="7531310913436731628">Mac 시스템 환경설정에서 위치가 사용 중지되었습니다</translation>
 <translation id="7531779363494549572">설정 &gt; 앱 및 알림 &gt; 알림으로 이동합니다.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> 앱이 응답하지 않습니다. '강제 종료'를 선택하여 앱을 닫으세요.</translation>
 <translation id="7537451260744431038">사이트에서 사용자의 로그인 상태를 유지하거나 장바구니에 담긴 상품을 기억하는 등 탐색 환경을 개선하기 위해 쿠키를 사용할 수 없습니다.</translation>
@@ -6049,7 +6040,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" />의 저장된 비밀번호</translation>
 <translation id="8472623782143987204">하드웨어 지원</translation>
 <translation id="8473863474539038330">주소 및 기타</translation>
-<translation id="8474733733775441349">Google 계정의 비밀번호 표시</translation>
 <translation id="8475313423285172237">컴퓨터의 다른 프로그램에서 Chrome 작동에 영향을 줄 수 있는 확장 프로그램을 추가했습니다.</translation>
 <translation id="8477241577829954800">대체됨</translation>
 <translation id="8477384620836102176">일반(&amp;G)</translation>
diff --git a/chrome/app/resources/generated_resources_ky.xtb b/chrome/app/resources/generated_resources_ky.xtb
index f6369804..7b2bcba 100644
--- a/chrome/app/resources/generated_resources_ky.xtb
+++ b/chrome/app/resources/generated_resources_ky.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Шифрлегич гана</translation>
 <translation id="1038462104119736705">Linux үчүн кеминде <ph name="INSTALL_SIZE" /> орун сунушталат. Орун бошотуу үчүн түзмөгүңүздөн файлдарды жок кылыңыз.</translation>
 <translation id="1039337018183941703">Жараксыз же бузук файл</translation>
-<translation id="104086161873270383">Жаңы профиль</translation>
 <translation id="1041175011127912238">Барак жооп бербей жатат</translation>
 <translation id="1041263367839475438">Жеткиликтүү түзмөктөр</translation>
 <translation id="1042174272890264476">Компьютериңизде <ph name="SHORT_PRODUCT_NAME" /> өнүмүнүн RLZ китепканасы камтылган. Белгилүү бир жарнамалык иш-чара башкарган издөө аракеттерин жана <ph name="SHORT_PRODUCT_NAME" /> колдонулушун талдап туруу үчүн RLZ кеңири кездешкен жалпы таанылуучу тегди дайындайт. Бул белгилер айрым учурларда Google Издөө сурамдарындагы <ph name="PRODUCT_NAME" /> өнүмүндө көрүнөт.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Мурунку <ph name="SUBPAGE_TITLE" /> барагына кайтуу баскычы</translation>
 <translation id="1322046419516468189">Сакталган сырсөздөрдү <ph name="SAVED_PASSWORDS_STORE" /> дарегинен көрүп, башкарыңыз</translation>
 <translation id="1324106254079708331">Жеке Google аккаунттарын максаттуу чабуулдардан коргойт</translation>
-<translation id="1325985428688410772">Мейкиндик кошуу</translation>
 <translation id="1326317727527857210">Өтмөктөрүңүздү башка түзмөктөрүңүздөн алуу үчүн Chrome'го кириңиз.</translation>
 <translation id="1327074568633507428">Google Булуттагы принтер кызматына байланган принтер</translation>
 <translation id="1327272175893960498">Kerberos билеттери</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Chromium'да сырсөздү текшерүүгө болбойт</translation>
 <translation id="1871534214638631766">Чычкандын оң баскычын чыкылдатканда же мазмунду коё бербей басып турганда тийиштүү маалымат көрсөтүлөт</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> түзмөгүңүз жаңыртылган</translation>
-<translation id="1874835396235780806">Ушул жана башка сырсөздөр Google аккаунтуңузда сакталсынбы?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Өтмөктү башка терезеге жылдыруу}other{Өтмөктөрдү башка терезеге жылдыруу}}</translation>
 <translation id="1875386316419689002">Бул өтмөк HID түзмөгүнө туташтырылган.</translation>
 <translation id="1875387611427697908">Муну <ph name="CHROME_WEB_STORE" /> дарегинен гана кошсо болот</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" /> ичинен <ph name="NETWORK_INDEX" />-тармак, <ph name="NETWORK_NAME" />, Туташуу</translation>
 <translation id="1884705339276589024">Linux дискинин өлчөмүн өзгөртүү</translation>
 <translation id="1885106732301550621">Дисктин өлчөмү</translation>
-<translation id="1885190042244431215">Мектеп аккаунтун кошуп койсоңуз, окуучу балаңыз вебсайттарга жана кеңейтүүлөргө оңой кире алат. Аккаунттагы бардык аракеттер көзөмөлүңүздүн астында болот.</translation>
 <translation id="1886996562706621347">Сайттарга сурап туруп протоколдордун демейки иштетүүчүсү болууга уруксат берүү (сунушталат)</translation>
 <translation id="1887442540531652736">Аккаунтка кирүү катасы</translation>
 <translation id="1887597546629269384">"Окей Google" деп кайра айтыңыз</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Атайын мүмкүнчүлүктөр жөндөөлөрүн окуңуз</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Бир файлды туруктуу пайдалана алат.}other{# файлды туруктуу пайдалана алат.}}</translation>
 <translation id="3660234220361471169">Ишенимсиз</translation>
-<translation id="3661172646479098821">Учурда Android түзмөктөрүндө гана жеткиликтүү.</translation>
 <translation id="3664511988987167893">Кеңейтүү сүрөтчөсү</translation>
 <translation id="3665589677786828986">Chrome айрым жөндөөлөрүңүздүн башка программа тарабынан бузулгандыгын аныктап, аларды демейки түпнуска жөндөөлөрүнө кайтарды.</translation>
 <translation id="3668801437375206837">Бул желек белгиленгенде, Google'дун кызматкерлери таржымалга учурдагы сеанска тиешелүү болгон кошумча Bluetooth журналдарын (btsnoop жана HCI) кошуп коюшат. Алардагы жеке маалыматтар өчүрүлөт. Журналдар Bluetooth'дун жөндөөлөрүндө келип чыккан маселени жакшыраак аныктоо үчүн керек, жана аларды Listnr'деги Chrome OS өнүм тобунун башчылары гана көрө алышат. Таржымалдар 90 күндөн кийин калыбына келбегендей кылып өчүрүлөт.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Киргизилген электрондук почта дареги менен сырсөз дал келбейт</translation>
 <translation id="4374831787438678295">Linux орноткучу</translation>
 <translation id="4375035964737468845">Жүктөлүп алынган файлдарды ачуу</translation>
+<translation id="4376226992615520204">Жайгашкан жерди аныктоо функциясы өчүк</translation>
 <translation id="4377363674125277448">Сервердин тастыктамасында көйгөй келип чыкты.</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4378373042927530923">Иштетилген жок</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Башка түзмөктөрдөгү өтмөктөр</translation>
 <translation id="4620809267248568679">Бул жөндөөнү кеңейтүү күчүнө киргизген.</translation>
 <translation id="4623189117674524348">Тутум бул түзмөктө API'ге кирүүгө уруксат бере алган жок.</translation>
-<translation id="4624190781974168453">Башында суралсын</translation>
 <translation id="4625078469366263107">Колдонмону иштетүү</translation>
 <translation id="4627427111733173920">Кукилер бөгөттөлдү</translation>
 <translation id="4627442949885028695">Башка түзмөктөн улантуу</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" эң акыркы версиясына көбүрөөк уруксат талап кылынгандыктан, ал иштен чыгарылды.</translation>
 <translation id="5185500136143151980">Интернет жок</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> үчүн параметрлер менюсу</translation>
 <translation id="5190926251776387065">Оюкчаны иштетүү</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> бир нече файлды жүктөп алганы жатат</translation>
 <translation id="5192062846343383368">Көзөмөлдөө жөндөөлөрүн көрүү үчүн Family Link колдонмосун ачыңыз</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">CRL кол койгуч</translation>
 <translation id="5643321261065707929">Тарифтелген тармак</translation>
 <translation id="5643620609347735571">Тазалоо жана улантуу</translation>
+<translation id="5646376287012673985">Жайгашкан жер</translation>
 <translation id="5646558797914161501">Ишкер мырза</translation>
 <translation id="5648166631817621825">Акыркы 7 күн</translation>
 <translation id="5649053991847567735">Автоматтык жүктөп алуулар</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Бул коркунучтуу файл сакталсын</translation>
 <translation id="6532101170117367231">Google Drive'да сактоо</translation>
 <translation id="6532106788206463496">Өзгөрүүлөрдү сактоо</translation>
-<translation id="6532113437901537254">Аккаунтуңузга кирип турганда, анда сакталган сырсөздөр түзмөктө жеткиликтүү болот</translation>
 <translation id="6532206849875187177">Коопсуздук жана аккаунтка кирүү</translation>
 <translation id="6532527800157340614">Кирүү мүмкүнчүлүгүнүн токени алынбагандыктан аккаунтка кирген жоксуз. Тармактык туташууңузду текшерип, дагы бир жолу аракет кылыңыз.</translation>
 <translation id="6532663472409656417">Ишкана катталды</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" өчүрүлдү</translation>
 <translation id="7201420661433230412">Файлдарды көрүү</translation>
 <translation id="7203150201908454328">Жайылып көрсөтүлгөн</translation>
-<translation id="7203826966018112936">Мектеп аккаунтун профилге кошуп койсоңуз, окуучу балаңыз вебсайттарга жана кеңейтүүлөргө оңой кире алат. Аккаунттагы бардык аракеттер көзөмөлүңүздө болот. Бул аракет балаңызга кыстармаларга, сырсөздөргө же мектеп аккаунту менен шайкештирилген башка серептөө дайындарына кирүүгө мүмкүнчүлүк бербейт.&lt;br&gt;&lt;br&gt;
-    Эгер балаңыз мектепте Chromebook'ту колдонсо жана балаңыз мектеп программасы менен үйдөн окусун десеңиз бул Family Link аккаунтунан чыгып, Chrome OS аккаунттарынын барагынан мектеп аккаунтуна кириңиз (Family Link'теги ата-эненин көзөмөлдөрүнө таасири тийбейт).&lt;br&gt;&lt;br&gt;
-    Эгер балаңыз мектепте Chromebook'ту колдонбосо жана балаңыздын үйдөгү окуусун Family Link аркылуу көзөмөлдөгүңүз келсе, төмөндөгү "Кийинки" баскычын чыкылдатып, мектеп аккаунтун бул профилге кошуңуз.</translation>
 <translation id="7206693748120342859">Жүктөлүп алынууда <ph name="PLUGIN_NAME" />…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Барактан чыгуу}other{Барактардан чыгуу}}</translation>
 <translation id="7207457272187520234">Колдонуу жана мүчүлүштүктөрдү аныктоо маалыматын жөнөтүү. Учурда бул түзмөк мүчүлүштүктөрдү аныктоо маалыматын, түзмөктүн жана колдонмонун иштетилиши жөнүндө маалыматты Google'га автоматтык түрдө жөнөтүп жатат. Бул маалымат тутум менен колдонмонун кыйла туруктуу иштешин камсыз кылууга жана башка нерселерди жакшыртууга көмөктөшөт. Айрым маалыматтар тобу Google колдонмолоруна жана Android'дин иштеп чыгуучулары сыяктуу өнөктөштөрүнө да жардам берет. Бул жөндөөнү түзмөктүн ээси иштетет. Эгер кошумча Колдонмолор жана Интернеттеги аракеттериңиздин таржымалынын жөндөөлөрү күйгүзүлгөн болсо, бул маалымат Google аккаунтуңузга сакталышы мүмкүн.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Бүтөйүн деп калдыңыз!</translation>
 <translation id="7392118418926456391">Вирустар иликтенбей калды</translation>
 <translation id="7392915005464253525">Жабылган терезени кай&amp;ра ачуу</translation>
-<translation id="7393472013449507620">"*" деген атайын символдору бар жөндөөлөр мындан ары колдоого алынбайт. <ph name="BEGIN_LINK" />Бул жөндөөлөрдү өзгөртүү<ph name="END_LINK" /> үчүн кеңейтүүнү иштеп чыгуучуга же администраторуңузга кайрылыңыз.</translation>
 <translation id="7396017167185131589">Бөлүшүлгөн папкалар ушул жерде көрүнөт</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> тутум иштеп баштаганда ишке киргизилет жана башка <ph name="PRODUCT_NAME" /> терезелеринин баары жабылганда да фондо иштей берет.</translation>
 <translation id="7399045143794278225">Шайкештирүүнү ыңгайлаштыруу</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Толтургуч</translation>
 <translation id="7529411698175791732">Интернет туташууңузду текшериңиз. Эгер көйгөй чечилбесе, каттоо эсебинен чыгып, кайра кирип көрүңүз.</translation>
 <translation id="7530016656428373557">Кубаттын түгөнүү ылдамдыгы Ватт менен</translation>
+<translation id="7531310913436731628">Жайгашкан жер Mac'тын Тутум жөндөөлөрүнөн өчүрүлдү</translation>
 <translation id="7531779363494549572">Жөндөөлөр &gt; Колдонмолор жана билдирмелер &gt; Билдирмелер бөлүмүнө өтүңүз.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> жооп бербей жатат. Аны жабуу үчүн "Мажбурлап токтотуу" баскычын басыңыз.</translation>
 <translation id="7537451260744431038">Серептөөнү ыңгайлаштыруу, мисалы, аккаунттан чыгарбоо же арабадагы сатып алган нерселериңизди эстеп калуу үчүн сайттар cookie файлдарын колдоно алышат</translation>
@@ -6050,7 +6041,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> үчүн сакталган сырсөздөр</translation>
 <translation id="8472623782143987204">жабдык менен камсыздалган</translation>
 <translation id="8473863474539038330">Даректер жана башкалар</translation>
-<translation id="8474733733775441349">Google аккаунтуңуздагы сырсөздөрдү көрсөтүү</translation>
 <translation id="8475313423285172237">Chrome'дун ишин өзгөртө турган кеңейтүүнү компьютериңиздеги башка программа кошуп койду.</translation>
 <translation id="8477241577829954800">Алмаштырылды</translation>
 <translation id="8477384620836102176">&amp;Жалпы</translation>
diff --git a/chrome/app/resources/generated_resources_lo.xtb b/chrome/app/resources/generated_resources_lo.xtb
index fcbc309..23c8beb2 100644
--- a/chrome/app/resources/generated_resources_lo.xtb
+++ b/chrome/app/resources/generated_resources_lo.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">ປ່ຽນເປັນລະຫັດເທົ່ານັ້ນ</translation>
 <translation id="1038462104119736705">ຂໍແນະນຳພື້ນທີ່ຫວ່າງຢ່າງໜ້ອຍ <ph name="INSTALL_SIZE" /> ສຳລັບ Linux. ເພື່ອເພີ່ມພື້ນທີ່ຫວ່າງ, ກະລຸນາລຶບໄຟລ໌ຕ່າງໆອອກຈາກອຸປະກອນຂອງທ່ານ.</translation>
 <translation id="1039337018183941703">ໄຟລ໌ເສຍຫາຍ ຫຼື ບໍ່ຖືກຕ້ອງ</translation>
-<translation id="104086161873270383">ໂປຣໄຟລ໌ໃໝ່</translation>
 <translation id="1041175011127912238">ໜ້ານີ້ບໍ່ຕອບສະໜອງ</translation>
 <translation id="1041263367839475438">ອຸປະກອນທີ່ໃຊ້ໄດ້</translation>
 <translation id="1042174272890264476">ຄອມພິວເຕີຂອງທ່ານຍັງມາພ້ອມກັບຄັງເກັບມ້ຽນ RLZ ຂອງ <ph name="SHORT_PRODUCT_NAME" /> ມາກັບເຄື່ອງ. RLZ ມອບໝາຍໃຫ້ແທັກສາມາດລະບຸໄດ້ບໍ່ເປັນເອກະລັກ, ບໍ່ເປັນສ່ວນຕົວ ເພື່ອວັດແທກການຄົ້ນຫາ ແລະການໃຊ້ <ph name="SHORT_PRODUCT_NAME" /> ຂັບເຄື່ອນໂດຍການໂຄສະນາສະເພາະ. ບາງຄັ້ງສະຫຼາກເຫຼົ່ານີ້ປະກົດຂຶ້ນຢູ່ໃນການສອບຖາມການຄົ້ນຫາ Google ຢູ່ໃນ <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">ການຕັ້ງຄ່ານີ້ຖືກບັງຄັບໃຊ້ໂດຍສ່ວນຂະຫຍາຍ "<ph name="NAME" />".</translation>
 <translation id="1118738876271697201">ລະບົບບໍ່ສາມາດກຳນົດຮຸ່ນອຸປະກອນ ຫຼື ໝາຍເລກຊີຣຽວໄດ້.</translation>
 <translation id="1119447706177454957">ຜິດພາດພາຍໃນ</translation>
+<translation id="1122068467107743258">ວຽກ</translation>
 <translation id="1122198203221319518">ເຄື່ອງ​ມື​:</translation>
 <translation id="1122242684574577509">ການ​ຮັບ​ຮອງ​ບໍ່​ສຳ​ເລັດ. ຄ​ລິກ​ເພື່ອ​ເຂົ້າ​ເບິ່ງ​ໜ້າ​ເຂົ້າລະບົບ​ສຳ​ລັບ​ເຄືອ​ຂ່າຍ Wi-Fi ທີ່​ທ່ານ​ກຳ​ລັງ​ໃຊ້ (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">ຊື່ບຸກມາກສ໌</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">ຈັດການແອັບ</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - ສ່ວນໜຶ່ງຂອງກຸ່ມ <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">ເປີດຢູ່ໃນໜ້າຈໍ Incognito</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> ຈາກທັງໝົດ <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">ກະແຈຄວາມປອດໄພຖືກລັອກໄວ້ ເພາະວ່າມີການປ້ອນ PIN ບໍ່ຖືກຕ້ອງຫຼາຍຄັ້ງເກີນໄປ. ເພື່ອປົດລັອກມັນ, ກະລຸນາຖອດມັນອອກ ແລ້ວສຽບເຂົ້າໃໝ່.</translation>
 <translation id="1137673463384776352">ເປີດລິ້ງໃນ <ph name="APP" /></translation>
 <translation id="1139343347646843679">ເກີດຄວາມຜິດພາດໃນຂະນະທີ່ຕັ້ງຄ່າ Linux. ກະລຸນາຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">ປຸ່ມກັບຄືນຂອງໜ້າຍ່ອຍ <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">ເບິ່ງ ແລະ ຈັດການລະຫັດຜ່ານທີ່ບັນທຶກໄວ້ໃນ <ph name="SAVED_PASSWORDS_STORE" /> ຂອງທ່ານ</translation>
 <translation id="1324106254079708331">ປົກປ້ອງບັນຊີ Google ສ່ວນຕົວຂອງທຸກຄົນທີ່ມີຄວາມສ່ຽງຕໍ່ກັບການໂຈມຕີແບບມີເປົ້າໝາຍ</translation>
-<translation id="1325985428688410772">ເພີ່ມຍະຫວ່າງ</translation>
 <translation id="1326317727527857210">ເພື່ອໂຫຼດແຖບຂອງທ່ານຈາກອຸປະກອນອື່ນ,​ ໃຫ້ເຂົ້າສູ່ລະບົບ Chrome ກ່ອນ.</translation>
 <translation id="1327074568633507428">ເຄື່ອງພິມຢູ່ໃນ Google Cloud Print</translation>
 <translation id="1327272175893960498">ປີ້ Kerberos</translation>
@@ -486,6 +486,7 @@
 <translation id="1572876035008611720">ກະ​ລຸ​ນາ​ໃສ່​ອີ​ເມວ​ຂອງ​ທ່ານ</translation>
 <translation id="1576594961618857597">ຮູບແທນຕົວສີຂາວຕາມຄ່າເລີ່ມຕົ້ນ</translation>
 <translation id="1578558981922970608">ບັງຄັບປິດ</translation>
+<translation id="1578784163189013834">ເລືອກພື້ນຫຼັງສະກຣີເຊັບເວີ</translation>
 <translation id="1580772913177567930">ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ</translation>
 <translation id="1581962803218266616">ສະແດງຢູ່ໃນຕົວຊອກ​ຫາ</translation>
 <translation id="1582955169539260415">ລຶບ [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -748,7 +749,6 @@
 <translation id="1868553836791672080">ການກວດລະຫັດຜ່ານບໍ່ສາມາດໃຊ້ໄດ້ໃນ Chromium</translation>
 <translation id="1871534214638631766">ສະແດງຂໍ້ມູນທີ່ກ່ຽວຂ້ອງເມື່ອທ່ານຄລິກຂວາ ຫຼື ກົດໃສ່ເນື້ອຫາຄ້າງໄວ້</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> ຂອງທ່ານໃໝ່ຫຼ້າສຸດແລ້ວ</translation>
-<translation id="1874835396235780806">ບັນທຶກລະຫັດຜ່ານນີ້ ແລະ ລະຫັດຜ່ານອື່ນໄວ້ໃນບັນຊີ Google ຂອງທ່ານບໍ?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ຍ້າຍແຖບໄປໃສ່ໜ້າຈໍອື່ນ}other{ຍ້າຍແຖບໄປໃສ່ໜ້າຈໍອື່ນ}}</translation>
 <translation id="1875386316419689002">ແຖບນີ້ເຊື່ອມຕໍ່ກັບອຸປະກອນ HID.</translation>
 <translation id="1875387611427697908">ສາມາດເພີ່ມອັນນີ້ໄດ້ຈາກ <ph name="CHROME_WEB_STORE" /> ເທົ່ານັ້ນ</translation>
@@ -761,7 +761,6 @@
 <translation id="1884013283844450420">ເຄືອຂ່າຍທີ <ph name="NETWORK_INDEX" /> ຈາກທັງໝົດ <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, ເຊື່ອມຕໍ່</translation>
 <translation id="1884705339276589024">ປັບຂະໜາດດິສ Linux</translation>
 <translation id="1885106732301550621">ພື້ນທີ່ດິສ</translation>
-<translation id="1885190042244431215">ການເພີ່ມບັນຊີໂຮງຮຽນເຮັດໃຫ້ສາມາດເຂົ້າສູ່ລະບົບເວັບໄຊ ແລະ ສ່ວນຂະຫຍາຍເປັນນັກຮຽນໄດ້ຢ່າງງ່າຍດາຍໃນຂະນະທີ່ນຳໃຊ້ພາຍໃຕ້ການຄວບຄຸມຂອງພໍ່ແມ່.</translation>
 <translation id="1886996562706621347">ອະນຸຍາດໃຫ້ເວັບໄຊທ໌ຖາມ ເພື່ອເປັນຕົວຈັດການມາດຕະຖານສໍາລັບໂປຣໂຕໂຄລ (ແນະນໍາ)</translation>
 <translation id="1887442540531652736">ການເຂົ້າສູ່ລະບົບຜິດພາດ</translation>
 <translation id="1887597546629269384">ເວົ້າ "Hey Google" ອີກຄັ້ງ</translation>
@@ -1129,6 +1128,7 @@
 <translation id="2347644257713614136">ການໃຊ້ Hangouts ແລະ Cast for Education ແມ່ນເປັນໄປຕາມນະໂຍບາຍຄວາມເປັນສ່ວນຕົວຂອງ Google.</translation>
 <translation id="2348176352564285430">ແອັບ: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">ເກີດຂໍ້ຜິດພາດໃນການໂຫຼດຂໍ້ມູນ</translation>
+<translation id="2349610121459545414">ສືບຕໍ່ອະນຸຍາດໃຫ້ເວັບໄຊນີ້ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານ</translation>
 <translation id="2349896577940037438">ຖ້າເປີດການຕັ້ງຄ່າການເຄື່ອນໄຫວເວັບ ແລະ ແອັບເພີ່ມເຕີມຂອງທ່ານ, ລະບົບອາດຈະບັນທຶກຂໍ້ມູນນີ້ໄວ້ໃນບັນຊີ Google ຂອງທ່ານ. ທ່ານສາມາດເຫັນຂໍ້ມູນຂອງທ່ານ, ລຶບມັນ ແລະ ປ່ຽນການຕັ້ງຄ່າບັນຊີຂອງທ່ານໄດ້ທີ່ account.google.com.</translation>
 <translation id="2350133097354918058">ໂຫຼດຄືນໃໝ່ແລ້ວ</translation>
 <translation id="2350182423316644347">ກໍາລັງລິເລີ່ມແອັບພລິເຄຊັນ...</translation>
@@ -1230,6 +1230,7 @@
 <translation id="247051149076336810">URL ການແບ່ງປັນໄຟລ໌</translation>
 <translation id="2470702053775288986">ປິດໃຊ້ງານສ່ວນຂະຫຍາຍທີ່ບໍ່ຮອງຮັບ</translation>
 <translation id="2471469610750100598">ສີດຳ (ຄ່າເລີ່ມຕົ້ນ)</translation>
+<translation id="2471506181342525583">ອະນຸຍາດສິດເຂົ້າເຖິງສະຖານທີ່ແລ້ວ</translation>
 <translation id="2473195200299095979">ແປ​​ຫນ້າ​ນີ້</translation>
 <translation id="2475982808118771221">ເກີດຄວາມຜິດພາດຂຶ້ນ.</translation>
 <translation id="2476578072172137802">ການຕັ້ງຄ່າເວັບໄຊທ໌</translation>
@@ -1241,6 +1242,7 @@
 <translation id="2482878487686419369">ການແຈ້ງເຕືອນ</translation>
 <translation id="2484959914739448251">ເພື່ອລຶບລ້າງຂໍ້ມູນການທ່ອງເວັບອອກຈາກອຸປະກອນທີ່ຊິ້ງຂໍ້ມູນຂອງທ່ານທັງໝົດ ແລະ ບັນຊີ Google ຂອງທ່ານ, ກະລຸນາ <ph name="BEGIN_LINK" />ປ້ອນລະຫັດຜ່ານຂອງທ່ານ<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">ບັນທຶກລະຫັດຜ່ານໄວ້ໃນອຸປະກອນນີ້ແລ້ວ</translation>
+<translation id="2485394160472549611">ເລືອກໃຫ້ສະເພາະທ່ານ</translation>
 <translation id="2485422356828889247">ຖອນ​ຕິດ​ຕັ້ງ</translation>
 <translation id="2487067538648443797">ເພີ່ມບຸກມາກໃໝ່</translation>
 <translation id="2487268545026948104">ເພື່ອກູ້ຄືນຂໍ້ມູນຂອງທ່ານ, ກະລຸນາເຊື່ອມຕໍ່ກັບອິນເຕີເນັດ</translation>
@@ -1622,6 +1624,7 @@
 <translation id="2932483646085333864">ອອກຈາກລະບົບ ຈາກນັ້ນເຂົ້າສູ່ລະບົບອີກຄັ້ງເພື່ອເລີ່ມການຊິ້ງຂໍ້ມູນ</translation>
 <translation id="2932883381142163287">ລາຍງານການນຳ​ໃຊ້​ຜິດ</translation>
 <translation id="2933632078076743449">ອັບເດດຫຼ້າສຸດ</translation>
+<translation id="2934999512438267372">ອະນຸຍາດການຄວບຄຸມອຸປະກອນ MIDI ແບບເຕັມແລ້ວ</translation>
 <translation id="2936851848721175671">ສຳຮອງ ແລະ ກູ້ຄືນ</translation>
 <translation id="2938225289965773019">ເປີດ​ລິ້ງ <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">ເບິ່ງ ແລະ ລຶບຂໍ້ມູນການເຂົ້າສູ່ລະບົບທີ່ເກັບໄວ້ໃນກະແຈຄວາມປອດໄພຂອງທ່ານ</translation>
@@ -1737,6 +1740,7 @@
 <translation id="3083193146044397360">ບລັອກໄວ້ຊົ່ວຄາວແລ້ວເພື່ອປົກປ້ອງຄວາມປອດໄພຂອງທ່ານ</translation>
 <translation id="3084548735795614657">ວາງລົງເພື່ອຕິດຕັ້ງ</translation>
 <translation id="3084771660770137092">Chrome ໝົດຄວາມຈໍາ ຫຼືຂະບວນການສໍາລັບໜ້າເວັບຖືກສິ້ນສຸດລົງດ້ວຍເຫດຜົນໃດໜຶ່ງ. ເພື່ອສືບຕໍ່, ໂຫຼດຄືນໃໝ່ ແລະໄປຫາໜ້າອື່ນ.</translation>
+<translation id="3084958266922136097">ປິດການນຳໃຊ້ສກຣີນເຊັບເວີ</translation>
 <translation id="3085412380278336437">ເວັບໄຊສາມາດໃຊ້ກ້ອງຖ່າຍຮູບຂອງທ່ານໄດ້</translation>
 <translation id="3085752524577180175">ແມ່ຂ່າຍ SOCKS</translation>
 <translation id="3088052000289932193">ເວັບໄຊກຳລັງໃຊ້ MIDI</translation>
@@ -1933,6 +1937,7 @@
 <translation id="3345886924813989455">ບໍ່ພົບບຣາວ​ເຊີທີ່ຮອງຮັບ</translation>
 <translation id="3347086966102161372">ອັດ​ສຳ​ເນົາ​ທີ່​ຢູ່​ຮູບ</translation>
 <translation id="3348038390189153836">ກວດພົບອຸປະກອນທີ່​ສາມາດຖອດອອກໄດ້</translation>
+<translation id="3348131053948466246">ແນະນຳອີໂມຈິແລ້ວ. ກົດປຸ່ມລູກສອນຂຶ້ນ ຫຼື ລົງເພື່ອເລື່ອນໄປມາ, ກົດປຸ່ມ enter ເພື່ອແຊກໃສ່.</translation>
 <translation id="3349933790966648062">ຮ່ອງຮອຍຄວາມຈຳ</translation>
 <translation id="3355936511340229503">ການເຊື່ອມຕໍ່ຜິດພາດ</translation>
 <translation id="3356580349448036450">ສຳ​ເລັດ</translation>
@@ -1968,6 +1973,7 @@
 <translation id="3402585168444815892">ການລົງທະບຽນໃນໂໝດສາທິດ</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">ບໍ່ມີລະຫັດຜ່ານທີ່ບັນທຶກໄວ້ສຳລັບເວັບໄຊນີ້</translation>
+<translation id="3404249063913988450">ເປີດການນຳໃຊ້ສະກຣີນເຊັບເວີແລ້ວ</translation>
 <translation id="3405664148539009465">ກໍານົດຟອນເອົາເອງ</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">ສະແດງແຖບບຸກມາກສ໌</translation>
@@ -2198,7 +2204,6 @@
 <translation id="3654045516529121250">ອ່ານການຕັ້ງຄ່າຄວາມສາມາດເຂົ້າຫາ</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ມັນມີການເຂົ້າຫາໜຶ່ງ​ໄຟ​ລ໌ຖາວອນ.}other{ມັນມີການເຂົ້າຫາ # ໄຟ​ລ໌ຖາວອນ.}}</translation>
 <translation id="3660234220361471169">ບໍ່ເຊື່ອຖືໄດ້</translation>
-<translation id="3661172646479098821">ຮອງຮັບແຕ່ອຸປະກອນ Android ເທົ່ານັ້ນໃນຂະນະນີ້.</translation>
 <translation id="3664511988987167893">ໄອຄອນສ່ວນຂະຫຍາຍ</translation>
 <translation id="3665589677786828986">Chrome ກວດພົບວ່າ ການຕັ້ງຄ່າຂອງທ່ານບາງຕົວໄດ້ຮັບຄວາມເສຍຫາຍໂດຍໂປຣແກຼມອື່ນ ແລະໄດ້ຕັ້ງຄ່າພວກມັນໄປເປັນຄ່າມາດຕະຖານເດີມຂອງພວກມັນແລ້ວ.</translation>
 <translation id="3668801437375206837">ເພື່ອວິເຄາະບັນຫາ Bluetooth ໃຫ້ດີຂຶ້ນ, ຜູ້ໃຊ້ Google ສາມາດຮວມເອົາບັນທຶກ Bluetooth ເພີ່ມເຕີມພ້ອມກັບລາຍງານຄຳຕິຊົມຂອງພວກມັນ. ເມື່ອໝາຍເອົາຕົວເລືອກນີ້, ລາຍງານຂອງທ່ານຈະຮວມເອົາບັນທຶກ btsnoop ແລະ HCI ຈາກເຊດຊັນປັດຈຸບັນຂອງທ່ານ, ເຊິ່ງຈະທຳຄວາມສະອາດເພື່ອກຳຈັດ PII ອອກໃຫ້ຫຼາຍທີ່ສຸດເທົ່າທີ່ຈະເປັນໄປໄດ້. ສິດເຂົ້າເຖິງບັນທຶກເຫຼົ່ານີ້ຈະຈຳກັດໃຫ້ແຕ່ຜູ້ຈັດການກຸ່ມຜະລິດຕະພັນ Chrome OS ໃນ Listnr ເທົ່ານັ້ນ. ລະບົບຈະລຶບບັນທຶກອອກໄປຢ່າງຖາວອນຫຼັງຈາກ 90 ມື້.</translation>
@@ -2508,6 +2513,7 @@
 <translation id="3984159763196946143">ບໍ່ສາມາດເລີ່ມໂໝດສາທິດໄດ້</translation>
 <translation id="3984431586879874039">ອະນຸຍາດໃຫ້ເວັບໄຊນີ້ເຫັນກະແຈຄວາມປອດໄພຂອງທ່ານບໍ?</translation>
 <translation id="3986705137476756801">ປິດຄຳບັນຍາຍສົດສຳລັບຕອນນີ້</translation>
+<translation id="3987544746655539083">ສືບຕໍ່ບລັອກບໍ່ໃຫ້ເວັບໄຊນີ້ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານ</translation>
 <translation id="3987938432087324095">ຂໍອະໄພ, ບໍ່ໄດ້ຍິນສິ່ງນັ້ນ.</translation>
 <translation id="3988996860813292272">ເລືອກເຂດເວລາ</translation>
 <translation id="399179161741278232">ນໍາ​ເຂົ້າແລ້ວ</translation>
@@ -2573,6 +2579,7 @@
 <translation id="4087089424473531098">ສ້າງສ່ວນຂະຫຍາຍ:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">ປະຕິເສດການຄວບຄຸມອຸປະກອນ MIDI ແບບເຕັມແລ້ວ</translation>
 <translation id="4088095054444612037">ຍອມ​ຮັບ​ສໍາ​ລັບ​ກຸ່ມ</translation>
 <translation id="4089235344645910861">ບັນທຶກການຕັ້ງຄ່າໄວ້ແລ້ວ. ເລີ່ມການຊິ້ງຂໍ້ມູນແລ້ວ.</translation>
 <translation id="4090103403438682346">ເປີດໃຊ້ງານການ​ເຂົ້າ​ຫາທີ່ກວດສອບແລ້ວ</translation>
@@ -2653,6 +2660,7 @@
 <translation id="4200689466366162458">ຄຳສັບທີ່ກຳນົດເອງ</translation>
 <translation id="4200983522494130825">ແຖບ​ໃຫມ່</translation>
 <translation id="4201546031411513170">ທ່ານສາມາດເລືອກສິ່ງທີ່ຈະຊິ້ງຂໍ້ມູນໄດ້ທຸກເທື່ອໃນການຕັ້ງຄ່າ.</translation>
+<translation id="420283545744377356">ປິດສະກຣີນເຊັບເວີ</translation>
 <translation id="4206144641569145248">ມະນຸດຕ່າງດາວ</translation>
 <translation id="4206323443866416204">ລາຍງານຄຳຕິຊົມ</translation>
 <translation id="4208390505124702064">ຊອກຫາ <ph name="SITE_NAME" /></translation>
@@ -2751,6 +2759,7 @@
 <translation id="4348766275249686434">ເກັບ​ກໍາ​ຂໍ້​ຜິດ​ພາດ</translation>
 <translation id="4349828822184870497">ມີປະໂຫຍດ</translation>
 <translation id="4350019051035968019">ອຸປະກອນນີ້ບໍ່ສາມາດລົງທະບຽນໃສ່ໂດເມນທີ່ເປັນຂອງບັນຊີຂອງທ່ານໄດ້ ເພາະວ່າອຸປະກອນຖືກໝາຍສໍາລັບການຈັດການໂດຍໂດເມນອື່ນ.</translation>
+<translation id="4350230709416545141">ບລັອກບໍ່ໃຫ້ <ph name="HOST" /> ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານທຸກເທື່ອ</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> ຕ້ອງການສະແກນຫາອຸປະກອນ Bluetooth ທີ່ຢູ່ໃກ້ຄຽງ, ພົບເຫັນອຸປະກອນຕໍ່ໄປນີ້ແລ້ວ:</translation>
 <translation id="4354073718307267720">ຖາມເມື່ອເວັບໄຊຕ້ອງການສ້າງແຜນທີ່ 3 ມິຕິຂອງສິ່ງທີ່ຢູ່ອ້ອມຂ້າງຕົວທ່ານ ຫຼື ຕາມຕຳແໜ່ງກ້ອງ</translation>
@@ -2770,6 +2779,7 @@
 <translation id="4370975561335139969">ອີ​ເມວ ແລະ​ລະ​ຫັດ​ຜ່ານ​ທີ່​ທ່ານປ້ອນ​ເຂົ້າບໍ່ກົງ​ກັນ.</translation>
 <translation id="4374831787438678295">ຕົວຕິດຕັ້ງ Linux</translation>
 <translation id="4375035964737468845">ເປີດ​ໄຟລ​໌​ທີ່ດາວ​ໂຫຼດແລ້ວ</translation>
+<translation id="4376226992615520204">ປິດສະຖານທີ່ແລ້ວ</translation>
 <translation id="4377363674125277448">ມີ​ບັນ​ຫາ​ກັບ​ໃບ​ຢັ້ງ​ຢືນ​ຂອງເຊີບເວີ.</translation>
 <translation id="4378154925671717803">ໂທລະ​ສັບ</translation>
 <translation id="4378373042927530923">ບໍ່ໄດ້ເອີ້ນໃຊ້</translation>
@@ -2969,7 +2979,6 @@
 <translation id="4619615317237390068">ແຖບຈາກອຸປະກອນອື່ນ</translation>
 <translation id="4620809267248568679">ການຕັ້ງຄ່ານີ້ຖືກບັງຄັບໂດຍສ່ວນຂະຫຍາຍ.</translation>
 <translation id="4623189117674524348">ລະບົບອະນຸຍາດສິດເຂົ້າເຖິງ API ສຳລັບອຸປະກອນນີ້ບໍ່ສຳເລັດ.</translation>
-<translation id="4624190781974168453">ຖາມໃນເວລາສະຕາດອັບ</translation>
 <translation id="4625078469366263107">ເປີດນຳໃຊ້ແອັບ</translation>
 <translation id="4627427111733173920">ບລັອກຄຸກກີ້ໄວ້ແລ້ວ</translation>
 <translation id="4627442949885028695">ສືບຕໍ່ຈາກອຸປະກອນອື່ນ</translation>
@@ -3399,7 +3408,6 @@
 <translation id="5185386675596372454">ລຸ້ນໃໝ່ສຸດຂອງ "<ph name="EXTENSION_NAME" />" ໄດ້ປິດໃຊ້ງານ ເພາະວ່າມັນຕ້ອງການໃຫ້ມີການອະນຸຍາດເພີ່ມເຕີມ.</translation>
 <translation id="5185500136143151980">ບໍ່ມີອິນເຕີເນັດ</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">ເມນູຕົວເລືອກສຳລັບ <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">ເປີດນຳໃຊ້ຜອດ</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ຕ້ອງການດາວໂຫຼດຫຼາຍໄຟລ໌</translation>
 <translation id="5192062846343383368">ເປີດແອັບ Family Link ເພື່ອເບິ່ງການຕັ້ງຄ່າການຄວບຄຸມເບິ່ງແຍງຂອງທ່ານ</translation>
@@ -3592,6 +3600,7 @@
 <translation id="5431825016875453137">OpenVPN / L2TP</translation>
 <translation id="543338862236136125">ແກ້ໄຂລະຫັດຜ່ານ</translation>
 <translation id="5434065355175441495">ການໃສ່ລະຫັດ PKCS #1 RSA</translation>
+<translation id="5435779377906857208">ອະນຸຍາດໃຫ້ <ph name="HOST" /> ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານທຸກເທື່ອ</translation>
 <translation id="5436492226391861498">ກໍາລັງລໍຖ້າຊ່ອງພຣັອກຊີ...</translation>
 <translation id="5436510242972373446">ຊອກຫາ <ph name="SITE_NAME" /> :</translation>
 <translation id="543806387003274181">ກະລຸນາບັນທຶກໄຟລ໌ຂອງທ່ານໄວ້ ແລະ ສ້າງບັນຊີໃໝ່ຕອນນີ້ເລີຍ.</translation>
@@ -3775,6 +3784,7 @@
 <translation id="5642508497713047">ຜູ້ເຊັນ CRL</translation>
 <translation id="5643321261065707929">ເຄືອຂ່າຍມີການວັດແທກປະລິມານອິນເຕີເນັດ</translation>
 <translation id="5643620609347735571">ລຶບລ້າງ ແລະ ສືບຕໍ່</translation>
+<translation id="5646376287012673985">ສະ​ຖານ​ທີ່</translation>
 <translation id="5646558797914161501">ນັກທຸລະກິດ</translation>
 <translation id="5648166631817621825">7 ມື້ທີ່ຜ່ານມາ</translation>
 <translation id="5649053991847567735">ດາວ​ໂຫຼດ​ອັດ​ຕະ​ໂນ​ມັດ</translation>
@@ -3818,6 +3828,7 @@
 <translation id="5701212929149679556">ໂຣມມິງຜ່ານເຄືອຂ່າຍມືຖື</translation>
 <translation id="5701381305118179107">ໃຈກາງ</translation>
 <translation id="5701441174893770082">ການອັບເກຣດ Linux ສາມາດເຮັດໃຫ້ແບັດເຕີຣີໝົດຢ່າງວ່ອງໄວໄດ້. ກະລຸນາເຊື່ອມຕໍ່ອຸປະກອນຂອງທ່ານກັບສາຍສາກ ແລ້ວລອງໃໝ່.</translation>
+<translation id="5702749864074810610">ປິດການແນະນຳໄວ້ແລ້ວ</translation>
 <translation id="5702898740348134351">ແກ້ໄຂເຄື່ອງຈັກຄົ້ນຫາ...</translation>
 <translation id="5704875434923668958">ກຳລັງຊິ້ງຂໍ້ມູນກັບ</translation>
 <translation id="5705005699929844214">ສະແດງຕົວເລືອກການຊ່ວຍເຂົ້າເຖິງທຸກເທື່ອ</translation>
@@ -3938,6 +3949,7 @@
 <translation id="5857090052475505287">ໂຟລເດີ​ໃຫມ່</translation>
 <translation id="5857171483910641802">ລະບົບແນະນຳທາງລັດອີງຕາມເວັບໄຊທີ່ທ່ານມັກເຂົ້າເບິ່ງ</translation>
 <translation id="5858490737742085133">ອຸປະກອນປາຍທາງ</translation>
+<translation id="5859603669299126575">ອະລະບໍ້າແກເລີຣີສິນລະປະ</translation>
 <translation id="585979798156957858">ເມຕາພາຍນອກ</translation>
 <translation id="5860033963881614850">ປິດ</translation>
 <translation id="5860491529813859533">ເປີດ</translation>
@@ -4323,6 +4335,7 @@
 <translation id="6318125393809743217">ຮວມເອົາໄຟລ໌ policies.json ພ້ອມກັບການຕັ້ງຄ່ານະໂຍບາຍ.</translation>
 <translation id="6318407754858604988">ເລີ່ມດາວໂຫລດແລ້ວ</translation>
 <translation id="6318944945640833942">ບໍ່ສາມາດກວດພົບເຄື່ອງພິມ. ກະລຸນາປ້ອນທີ່ຢູ່ເຄື່ອງພິມອີກຄັ້ງ.</translation>
+<translation id="6321407676395378991">ເປີດສະກຣີນເຊັບເວີ</translation>
 <translation id="6322653941595359182">ສົ່ງ ແລະ ຮັບຂໍ້ຄວາມຈາກ Chromebook ຂອງທ່ານ</translation>
 <translation id="6324916366299863871">ແກ້ໄຂທາງລັດ</translation>
 <translation id="6325191661371220117">ປິດໃຊ້ງານເປີດໃຊ້ອັດຕະໂນມັດ</translation>
@@ -4481,7 +4494,6 @@
 <translation id="6531282281159901044">ຮັກສາໄຟລ໌ອັນຕະລາຍໄວ້</translation>
 <translation id="6532101170117367231">ບັນທຶກໄວ້ໃນ Google Drive</translation>
 <translation id="6532106788206463496">ບັນທຶກການປ່ຽນແປງ</translation>
-<translation id="6532113437901537254">ລະຫັດຜ່ານຂອງທ່ານຈາກບັນຊີ Google ຂອງທ່ານຈະມີໃຫ້ນຳໃຊ້ໃນອຸປະກອນນີ້ໃນຂະນະທີ່ທ່ານເຂົ້າສູ່ລະບົບ</translation>
 <translation id="6532206849875187177">ຄວາມປອດໄພ ແລະ ການເຂົ້າສູ່ລະບົບ</translation>
 <translation id="6532527800157340614">ເຂົ້າສູ່ລະບົບບໍ່ສຳເລັດ ເພາະວ່າລະບົບກູ້ຄືນໂທເຄັນສິດເຂົ້າເຖິງຂອງທ່ານບໍ່ສຳເລັດ. ກະລຸນາກວດເບິ່ງການເຊື່ອມຕໍ່ເຄືອຂ່າຍຂອງທ່ານ ແລ້ວລອງອີກຄັ້ງ.</translation>
 <translation id="6532663472409656417">ວິສາຫະກິດທີ່ລົງທະບຽນແລ້ວ</translation>
@@ -4503,6 +4515,7 @@
 <translation id="6555432686520421228">ເອົາອອກຈາກບັນຊີຜູ້ໃຊ້​ຂອງ​ທ່ານ ແລະຕັ້ງອຸປະກອນ <ph name="IDS_SHORT_PRODUCT_NAME" /> ຂອງທ່ານໃຫ້ຄືກັບອັນໃໝ່.</translation>
 <translation id="6555810572223193255">ການອະນາໄມບໍ່ສາມາດໃຊ້ໄດ້ໃນປັດຈຸບັນ</translation>
 <translation id="6556866813142980365">ເຮັດຄືນ</translation>
+<translation id="6556903358015358733">ຮູບແບບສີສັນ ແລະ ຮູບພື້ນຫຼັງ</translation>
 <translation id="6557290421156335491">ທາງລັດຂອງຂ້ອຍ</translation>
 <translation id="6561560012278703671">ໃຊ້ການສົ່ງຂໍ້ຄວາມທີ່ງຽບກວ່າ (ບລັອກບໍ່ໃຫ້ການແຈ້ງເຕືອນຂັດຈັງຫວະທ່ານ)</translation>
 <translation id="6561726789132298588">ປ້ອນເຂົ້າ</translation>
@@ -4526,6 +4539,7 @@
 <translation id="6590458744723262880">ປ່ຽນຊື່ໂຟນເດີ</translation>
 <translation id="6592267180249644460">ແຄັບເຈີບັນທຶກ WebRTC <ph name="WEBRTC_LOG_CAPTURE_TIME" /> ແລ້ວ</translation>
 <translation id="6592808042417736307">ບັນທຶກລາຍນິ້ວມືຂອງທ່ານແລ້ວ</translation>
+<translation id="6595187330192059106">ບລັອກບໍ່ໃຫ້ <ph name="HOST" /> ມີການຄວບຄຸມອຸປະກອນ MIDI ແບບເຕັມ.</translation>
 <translation id="6596325263575161958">ທາງເລືອກການໃສ່ລະຫັດ</translation>
 <translation id="6596816719288285829">ທີ່​ຢູ່ IP</translation>
 <translation id="6597017209724497268">ຕົວ​ຢ່າງ</translation>
@@ -5011,9 +5025,6 @@
 <translation id="7201118060536064622">ລຶບ '<ph name="DELETED_ITEM_NAME" />' ແລ້ວ</translation>
 <translation id="7201420661433230412">ເບິ່ງໄຟລ໌</translation>
 <translation id="7203150201908454328">ຂະ​ຫຍາຍ​ແລ້ວ</translation>
-<translation id="7203826966018112936">ການເພີ່ມບັນຊີໂຮງຮຽນເຮັດໃຫ້ສາມາດເຂົ້າສູ່ລະບົບເວັບໄຊ ແລະ ສ່ວນຂະຫຍາຍເປັນນັກຮຽນໄດ້ຢ່າງງ່າຍດາຍໃນຂະນະທີ່ນຳໃຊ້ພາຍໃຕ້ການຄວບຄຸມຂອງພໍ່ແມ່. ມັນບໍ່ໃຫ້ສິດເຂົ້າເຖິງບຸກມາກ, ລະຫັດຜ່ານ ຫຼື ຂໍ້ມູນໂປຣແກຣມທ່ອງເວັບອື່ນຂອງເດັກທີ່ຊິ້ງຂໍ້ມູນກັບບັນຊີໂຮງຮຽນ.&lt;br&gt;&lt;br&gt;
-    ຖ້າລູກຂອງທ່ານໃຊ້ Chromebook ຢູ່ໂຮງຮຽນ ແລະ ທ່ານຕ້ອງການສະແດງປະສົບການຢູ່ໂຮງຮຽນຢູ່ເຮືອນເພື່ອໃຫ້ແນ່ໃຈວ່າລູກຂອງທ່ານມີສິດເຂົ້າເຖິງການຮຽນທີ່ຈຳເປັນທັງໝົດຢູ່ໂຮງຮຽນ, ກະລຸນາອອກຈາກລະບົບບັນຊີ Family Link ນີ້ ແລ້ວເຂົ້າສູ່ລະບົບບັນຊີໂຮງຮຽນຈາກໜ້າບັນຊີ Chrome OS (ໝາຍເຫດ: ການຄວບຄຸມຂອງພໍ່ແມໃນ Family Link ຈະບໍ່ນຳໃຊ້).&lt;br&gt;&lt;br&gt;
-    ຖ້າລູກຂອງທ່ານບໍ່ໄດ້ໃຊ້ Chromebook ຢູ່ໂຮງຮຽນ ຫຼື ຖ້າທ່ານຕ້ອງການຈັດການປະສົບການຂອງລູກທ່ານຢູ່ເຮືອນໂດຍໃຊ້ Family Link, ກະລຸນາຄລິກປຸ່ມຕໍ່ໄປຢູ່ຂ້າງລຸ່ມເພື່ອເພີ່ມບັນຊີໂຮງຮຽນໃສ່ໂປຣໄຟລ໌ນີ້.</translation>
 <translation id="7206693748120342859">ກໍາລັງດາວ​ໂຫຼດ <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{ອອກຈາກໜ້າ}other{ອອກຈາກໜ້າ}}</translation>
 <translation id="7207457272187520234">ສົ່ງຂໍ້ມູນການນຳໃຊ້ ແລະ ການວິເຄາະ. ອຸປະກອນນີ້ກຳລັງສົ່ງຂໍ້ມູນການວິເຄາະ, ຂໍ້ມູນອຸປະກອນ ແລະ ການໃຊ້ແອັບໃຫ້ Google ໂດຍອັດຕະໂນມັດໃນຂະນະນີ້. ນີ້ຈະຊ່ວຍປັບປຸງຄວາມສະຖຽນຂອງລະບົບ ແລະ ແອັບ ແລະ ການປັບປຸງອື່ນໆ. ບາງຂໍ້ມູນແບບຮວມກັນຍັງຈະຊ່ວຍແອັບ ແລະ ຮຸ້ນສ່ວນຂອງ Google ນຳອີກ ເຊັ່ນ: ຜູ້ພັດທະນາ Android. ເຈົ້າຂອງບັງຄັບໃຊ້ການຕັ້ງຄ່ານີ້. ຖ້າເປີດການຕັ້ງຄ່າການເຄື່ອນໄຫວເວັບ ແລະ ແອັບເພີ່ມເຕີມຂອງທ່ານ, ລະບົບອາດຈະບັນທຶກຂໍ້ມູນນີ້ໄວ້ໃນບັນຊີ Google ຂອງທ່ານ.</translation>
@@ -5156,7 +5167,6 @@
 <translation id="7388044238629873883">ທ່ານເກືອບສໍາເລັດແລ້ວ​!</translation>
 <translation id="7392118418926456391">ສະແກນໄວຣັສບໍ່ສໍາເລັດ</translation>
 <translation id="7392915005464253525">ເປີດໜ້າ​ຕ່າງທີ່ປິດແລ້ວຄືນໃໝ່</translation>
-<translation id="7393472013449507620">ບໍ່ຮັບຮອງການຕັ້ງຄ່າດ້ວຍໂຕແທນ "*" ອີກຕໍ່ໄປ. ຕິດຕໍ່ຫາຜູ້ພັດທະນາສ່ວນຂະຫຍາຍ ຫຼື ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານເພື່ອ <ph name="BEGIN_LINK" /> ປ່ຽນການຕັ້ງຄ່າເຫຼົ່ານີ້<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">ໂຟນເດີທີ່ໃຊ້ຮ່ວມກັນຈະປາກົດຢູ່ບ່ອນນີ້</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ຈະເລີ່ມເປີດໃຊ້ຢູ່ທີ່ການເລີ່ມຕົ້ນລະບົບ ແລະສືບຕໍ່ແລ່ນຢູ່ໃນພື້ນຫຼັງ ແມ້ກະທັ້ງ​ໃນ​ເວລາ​ທີ່​ທ່ານປິດທຸກໜ້າ​ຕ່າງ​ <ph name="PRODUCT_NAME" /> ອື່ນແລ້ວກໍ່ຕາມ.</translation>
 <translation id="7399045143794278225">ປັບແຕ່ງການຊິ້ງຂໍ້ມູນ</translation>
@@ -5269,6 +5279,7 @@
 <translation id="7526989658317409655">ຕົວຍຶດບ່ອນ</translation>
 <translation id="7529411698175791732">ກວດເບິ່ງການເຊື່ອມຕໍ່ອິນເຕີເນັດຂອງທ່ານ. ຖ້າບັນຫາຍັງສືບຕໍ່, ກະລຸນາລອງອອກຈາກລະບົບແລ້ວເຂົ້າສູ່ລະບົບຄືນໃໝ່.</translation>
 <translation id="7530016656428373557">ອັດຕາປ່ອຍອອກມາເປັນວັດຕ໌</translation>
+<translation id="7531310913436731628">ສະຖານທີ່ປິດຢູ່ໃນການຕັ້ງຄ່າລະບົບ Mac</translation>
 <translation id="7531779363494549572">ໄປຫາການຕັ້ງຄ່າ &gt; ແອັບ ແລະ ການແຈ້ງເຕືອນ &gt; ການແຈ້ງເຕືອນ.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ບໍ່ຕອບສະໜອງ. ເລືອກ "ບັງຄັບປິດ" ເພື່ອປິດແອັບ.</translation>
 <translation id="7537451260744431038">ເວັບໄຊສາມາດໃຊ້ຄຸກກີ້ເພື່ອປັບປຸງປະສົບການທ່ອງເວັບຂອງທ່ານ, ຕົວຢ່າງ: ເພື່ອໃຫ້ທ່ານສືບຕໍ່ຢູ່ໃນລະບົບ ຫຼື ຈື່ລາຍການຕ່າງໆໃນກະຕ່າຊື້ເຄື່ອງຂອງທ່ານ</translation>
@@ -5381,6 +5392,7 @@
 <translation id="767147716926917172">ສົ່ງຂໍ້ມູນການວິເຄາະ ແລະ ການນຳໃຊ້ໃຫ້ Google ໂດຍອັດຕະໂນມັດ</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, ໃນ <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">ປິດນຳໃຊ້ຜອດທັງໝົດທີ່ຖືກສົ່ງຕໍ່ໃນ Linux</translation>
+<translation id="7674542105240814168">ປະຕິເສດສິດເຂົ້າເຖິງສະຖານທີ່ແລ້ວ</translation>
 <translation id="7676867886086876795">ສົ່ງສຽງຂອງທ່ານໃຫ້ Google ເພື່ອອະນຸຍາດການຂຽນຕາມຄຳບອກໃສ່ໃນຊ່ອງໃສ່ຂໍ້ຄວາມຕ່າງໆ.</translation>
 <translation id="7678280409648629969">ລະບົບຈະເກັບຂໍ້ມູນເຂົ້າສູ່ລະບົບໄວ້ໃນ Chrome ຫຼັງຈາກທີ່ທ່ານອອກຈາກໂໝດທີ່ບໍ່ເຜີຍຕົວຕົນ. ນີ້ຈະເຮັດໃຫ້ທ່ານສາມາດໃຊ້ Touch ID ກັບເວັບໄຊນີ້ໄດ້ອີກຄັ້ງໃນພາຍຫຼັງ.</translation>
 <translation id="7680416688940118410">ການປັບຕັ້ງຄ່າໜ້າຈໍສຳພັດ</translation>
@@ -5587,6 +5599,7 @@
 <translation id="790040513076446191">ຈັດການເລື່ອງການຕັ້ງຄ່າກ່ຽວຂ້ອງກັບຄວາມເປັນສ່ວນຕົວຢູ່</translation>
 <translation id="7903345046358933331">ໜ້າບໍ່ຕອບສະໜອງ. ທ່ານສາມາດລໍຖ້າມັນໃຫ້ຕອບສະໜອງ ຫຼື ປິດ​ມັນ​ໄດ້.</translation>
 <translation id="7903742244674067440">ທ່ານມີໃບຢັ້ງຢືນຢູ່ໃນໄຟລ໌ທີ່ລະບຸໜ່ວຍ​ງານ​ອອກໃບຢັ້ງຢືນເຫຼົ່ານີ້</translation>
+<translation id="7903859912536385558">ສະຖຽນ (ຜູ້ທົດສອບທີ່ເຊື່ອງຖືໄດ້)</translation>
 <translation id="7903925330883316394">ການ​ໃຊ້ປະ​ໂຫຍດ​: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">ຜູ້ຄວບຄຸມສໍາລັບບັນຊີນີ້​ໄດ້​ຖອນ​ການອະນຸຍາດສຳລັບ​ການລົງຊື່ເຂົ້າໃຊ້ຫຼາຍອັນ.</translation>
 <translation id="7904526211178107182">ເຮັດໃຫ້ຜອດ Linux ໃຊ້ໄດ້ສຳລັບອຸປະກອນອື່ນໃນເຄືອຂ່າຍຂອງທ່ານ.</translation>
@@ -5711,6 +5724,7 @@
 <translation id="8049705080247101012">Google ໄດ້ປັກທຸງ "<ph name="EXTENSION_NAME" />" ວ່າເປັນອັນຕະລາຍ ແລະ ໄດ້ປ້ອງກັນການຕິດຕັ້ງໄວ້ແລ້ວ</translation>
 <translation id="8049948037269924837">ການເລື່ອນແຜ່ນສຳຜັດຖອຍຫຼັງ</translation>
 <translation id="8050038245906040378">ການເຊັນລະຫັດທາງການຄ້າຂອງ Microsoft</translation>
+<translation id="8051390370038326517">ອະນຸຍາດໃຫ້ <ph name="HOST" /> ມີການຄວບຄຸມອຸປະກອນ MIDI ແບບເຕັມທຸກເທື່ອ</translation>
 <translation id="8053278772142718589">PKCS # 12 ໄຟລ​໌</translation>
 <translation id="8053390638574070785">​ໂຫຼດ​ຫນ້າ​ນີ້ຄືນອີກ</translation>
 <translation id="8054517699425078995">ໄຟລ໌ປະເພດນີ້ສາມາດເປັນອັນຕະລາຍຕໍ່ອຸປະກອນຂອງທ່ານໄດ້. ແນວໃດທ່ານກໍ່ຕ້ອງການເກັບ <ph name="FILE_NAME" /> ໄວ້ບໍ?</translation>
@@ -5762,6 +5776,7 @@
 <translation id="810728361871746125">ຄວາມລະອຽດຈໍສະແດງຜົນ</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{ບໍ່ມີຄຸກກີ້ພາກສ່ວນທີສາມ}=1{ບລັອກຄຸກກີ້ພາກສ່ວນທີສາມໄວ້ 1 ລາຍການ}other{ບລັອກຄຸກກີ້ພາກສ່ວນທີສາມໄວ້ # ລາຍການ}}</translation>
 <translation id="810875025413331850">ບໍ່ພົບອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງ.</translation>
+<translation id="8113476325385351118">ສືບຕໍ່ບລັອກບໍ່ໃຫ້ເວັບໄຊນີ້ມີການຄວບຄຸມອຸປະກອນ MIDI ແບບເຕັມ</translation>
 <translation id="8114199541033039755">ໄປຫາໜ້າຫຼັກ, ກັບຄືນ ແລະ ສະຫຼັບແອັບດ້ວຍປຸ່ມໃນໂໝດແທັບເລັດ. ເປີດເມື່ອເປີດການນຳໃຊ້ ChromeVox ຫຼື Automatic clicks.</translation>
 <translation id="8114875720387900039">ແຍກຕາມລວງນອນ</translation>
 <translation id="8116972784401310538">ຕົວຈັດການບຸກມາກຄ໌</translation>
@@ -6047,7 +6062,6 @@
 <translation id="8470513973197838199">ລະຫັດຜ່ານທີ່ບັນທຶກໄວ້ສຳລັບ <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">ຮາດແວສໍາຮອງໄວ້</translation>
 <translation id="8473863474539038330">ທີ່ຢູ່ ແລະ ອື່ນໆອີກ</translation>
-<translation id="8474733733775441349">ສະແດງລະຫັດຜ່ານຈາກບັນຊີ Google ຂອງທ່ານ</translation>
 <translation id="8475313423285172237">ໂປຣແກຼມອື່ນຢູ່ໃນຄອມພິວເຕີຂອງທ່ານໄດ້ເພີ່ມສ່ວນຂະຫຍາຍທີ່ອາດຈະປ່ຽນແປງວິທີການເຮັດວຽກຂອງ Chrome ແລ້ວ.</translation>
 <translation id="8477241577829954800">ປ່ຽນແທນແລ້ວ</translation>
 <translation id="8477384620836102176">ທົ່ວໄປ</translation>
@@ -6130,6 +6144,7 @@
 <translation id="8590375307970699841">ຕັ້ງການອັບເດດອັດຕະໂນມັດ</translation>
 <translation id="8591783563402255548">1 ວິນາທີ</translation>
 <translation id="8592141010104017453">ບໍ່ສະແດງການແຈ້ງເຕືອນເລີຍ</translation>
+<translation id="859246725979739260">ເວັບໄຊນີ້ໄດ້ຖືກບລັອກບໍ່ໃຫ້ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານແລ້ວ</translation>
 <translation id="8593121833493516339">ສົ່ງຂໍ້ມູນການນຳໃຊ້ ແລະ ການວິເຄາະ. ຊ່ວຍປັບປຸງປະສົບການ Android ຂອງລູກທ່ານໂດຍການສົ່ງຂໍ້ມູນການວິເຄາະ, ຂໍ້ມູນອຸປະກອນ ແລະ ການໃຊ້ແອັບໃຫ້ Google ໂດຍອັດຕະໂນມັດ. ຂໍ້ມູນນີ້ຈະບໍ່ຖືກໃຊ້ເພື່ອລະບຸຕົວລູກຂອງທ່ານ ແລະ ຈະຊ່ວຍປັບປຸງຄວາມສະຖຽນຂອງລະບົບ ແລະ ແອັບ ແລະ ການປັບປຸງອື່ນໆ. ບາງຂໍ້ມູນແບບຮວມກັນຍັງຈະຊ່ວຍແອັບ ແລະ ຮຸ້ນສ່ວນຂອງ Google ນຳອີກ ເຊັ່ນ: ຜູ້ພັດທະນາ Android. ຖ້າເປີດການຕັ້ງຄ່າການເຄື່ອນໄຫວເວັບ ແລະ ແອັບເພີ່ມເຕີມສໍາລັບລູກຂອງທ່ານ, ລະບົບອາດຈະບັນທຶກຂໍ້ມູນນີ້ໄວ້ໃນບັນຊີ Google ຂອງເຂົາເຈົ້າ. <ph name="BEGIN_LINK1" />ສຶກສາ​ເພີ່ມ​ເຕີມ<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">ຖ່າຍວິດີໂອ</translation>
 <translation id="8596540852772265699">ໄຟລ໌ກໍານົດເອງ</translation>
@@ -6142,6 +6157,7 @@
 <translation id="860909219589324847">ຢ່າໃຊ້ອິນເຕີເນັດເພື່ອໂອນຍ້າຍ</translation>
 <translation id="8609465669617005112">ຍ້າຍຂຶ້ນ</translation>
 <translation id="8610103157987623234">ຮູບແບບບໍ່ຖືກຕ້ອງ, ກະລຸນາລອງອີກຄັ້ງ</translation>
+<translation id="8611682088849615761">ສືບຕໍ່ອະນຸຍາດໃຫ້ເວັບໄຊນີ້ມີການຄວບຄຸມອຸປະກອນ MIDI ແບບເຕັມ</translation>
 <translation id="8613164732773110792">ຕົວອັກສອນຕົວພິມນ້ອຍ, ຕົວເລກ, ຂີດກ້ອງ ຫຼື ຂີດຕໍ່ເທົ່ານັ້ນ</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> ໃຫຍ່ເກີນໄປສຳລັບການກວດສອບຄວາມປອດໄພ. ທ່ານສາມາດເປີດໄຟລ໌ໄດ້ບໍ່ເກີນ 50 MB.</translation>
 <translation id="8615618338313291042">ແອັບບໍ່ເປີດເຜີຍຕົນຕົວ: <ph name="APP_NAME" /></translation>
@@ -6284,6 +6300,7 @@
 <translation id="8761945298804995673">ມີຜູ້ໃຊ້ນີ້ຢູ່ແລ້ວ</translation>
 <translation id="8762886931014513155"><ph name="DEVICE_TYPE" /> ຂອງທ່ານຈຳເປັນຕ້ອງມີການອັບເດດ</translation>
 <translation id="8763927697961133303">ອຸປະກອນ USB</translation>
+<translation id="87646919272181953">ອະລະບໍ້າ Google ຮູບພາບ</translation>
 <translation id="8767621466733104912">ອັບເດດ Chrome ໂດຍອັດຕະໂນມັດສຳລັບຜູ້ໃຊ້ທຸກຄົນ</translation>
 <translation id="8770406935328356739">ໄດເຣັກທໍຣີພື້ນຖານຂອງສ່ວນຂະຫຍາຍ</translation>
 <translation id="8770507190024617908">ຈັດການຜູ້ຄົນ</translation>
@@ -6600,6 +6617,7 @@
 <translation id="9147392381910171771">ທາງ​ເລືອກ​</translation>
 <translation id="9148058034647219655">ອອກ</translation>
 <translation id="9148126808321036104">ລົງຊື່ເຂົ້າ​ໃຊ້ອີກ</translation>
+<translation id="9148963623915467028">ເວັບໄຊນີ້ສາມາດເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານໄດ້.</translation>
 <translation id="9149866541089851383">ແກ້ໄຂ...</translation>
 <translation id="9150045010208374699">ໃຊ້​ກ້ອງ​ຖ່າຍ​ຮູບ​ຂອງ​ທ່ານ</translation>
 <translation id="9153934054460603056">ບັນທຶກເອ​ກະ​ລັກ​ ແລະ​ລະ​ຫັດ​ຜ່ານ</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index 38722b8..226179b 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Tik šifruoti</translation>
 <translation id="1038462104119736705">„Linux“ rekomenduojama turėti bent <ph name="INSTALL_SIZE" /> vietos. Kad padidintumėte nemokamos saugyklos vietos, ištrinkite failus iš įrenginio.</translation>
 <translation id="1039337018183941703">Netinkamas arba sugadintas failas</translation>
-<translation id="104086161873270383">Naujas profilis</translation>
 <translation id="1041175011127912238">Šis puslapis neatsako</translation>
 <translation id="1041263367839475438">Pasiekiami įrenginiai</translation>
 <translation id="1042174272890264476">Jūsų kompiuteryje taip pat įdiegta „<ph name="SHORT_PRODUCT_NAME" />“ RLZ biblioteka. RLZ priskiria neunikalią, asmens neidentifikuojančią žymą, kad įvertintų tam tikros reklamos kampanijos paieškas ir „<ph name="SHORT_PRODUCT_NAME" />“ naudojimą. Šios etiketės kartais rodomos „Google“ paieškos užklausose „<ph name="PRODUCT_NAME" />“.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Papildomo puslapio „<ph name="SUBPAGE_TITLE" />“ mygtukas „Atgal“</translation>
 <translation id="1322046419516468189">Peržiūrėkite ir tvarkykite išsaugotus slaptažodžius <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Saugomos visų naudotojų, kuriems kyla tikslinių atakų pavojus, asmeninės „Google“ paskyros</translation>
-<translation id="1325985428688410772">Pridėti tarpą</translation>
 <translation id="1326317727527857210">Prisijunkite prie „Chrome“, kad pasiektumėte skirtukus iš kitų įrenginių.</translation>
 <translation id="1327074568633507428">„Google“ spausdinimo iš debesies spausdintuvas</translation>
 <translation id="1327272175893960498">„Kerberos“ bilietai</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Naudojant „Chromium“ slaptažodžio patikra nepasiekiama</translation>
 <translation id="1871534214638631766">Rodyti susijusią informaciją, kai turinys spustelėjamas dešiniuoju klavišu arba ilgai paspaudžiamas</translation>
 <translation id="1871615898038944731">„<ph name="DEVICE_TYPE" />“ atnaujintas</translation>
-<translation id="1874835396235780806">Išsaugoti šį ir kitus slaptažodžius „Google“ paskyroje?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Perkelti skirtuką į kitą langą}one{Perkelti skirtukus į kitą langą}few{Perkelti skirtukus į kitą langą}many{Perkelti skirtukus į kitą langą}other{Perkelti skirtukus į kitą langą}}</translation>
 <translation id="1875386316419689002">Šis skirtukas susietas su HID įrenginiu.</translation>
 <translation id="1875387611427697908">Tai galima pridėti tik iš sistemos <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" /> tinklas iš <ph name="NETWORK_COUNT" />, „<ph name="NETWORK_NAME" />“, prisijungti</translation>
 <translation id="1884705339276589024">„Linux“ disko dydžio keitimas</translation>
 <translation id="1885106732301550621">Laisva vieta diske</translation>
-<translation id="1885190042244431215">Pridėję mokyklos paskyrą galėsite lengvai prisijungti prie svetainių ir plėtinių kaip mokinys, bet vis tiek bus galima taikyti tėvų kontrolę.</translation>
 <translation id="1886996562706621347">Leisti svetainėms prašyti tapti numatytosiomis protokolų doroklėmis (rekomenduojama)</translation>
 <translation id="1887442540531652736">Prisijungimo klaida</translation>
 <translation id="1887597546629269384">Dar kartą pasakykite „Hey Google“</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Skaitykite pasiekiamumo nustatymus</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Suteikta nuolatinė prieiga prie vieno failo.}one{Suteikta nuolatinė prieiga prie # failo.}few{Suteikta nuolatinė prieiga prie # failų.}many{Suteikta nuolatinė prieiga prie # failo.}other{Suteikta nuolatinė prieiga prie # failų.}}</translation>
 <translation id="3660234220361471169">Nepatikima</translation>
-<translation id="3661172646479098821">Šiuo metu palaikomi tik „Android“ įrenginiai.</translation>
 <translation id="3664511988987167893">Plėtinio piktograma</translation>
 <translation id="3665589677786828986">„Chrome“ aptiko, kad kai kuriuos nustatymus sugadino kita programa, ir nustatė juos iš naujo į pirminius numatytuosius nustatymus.</translation>
 <translation id="3668801437375206837">Siekdami geriau diagnozuoti „Bluetooth“ problemas, „Google“ darbuotojai gali įtraukti papildomų „Bluetooth“ žurnalų į savo atsiliepimų ataskaitas. Kai ši parinktis pažymėta, į ataskaitą iš dabartinės sesijos bus įtraukti „btsnoop“ ir HCI žurnalai, pašalinus kuo daugiau AAI. Pasiekti šiuos žurnalus galės tik „Listnr“ „Chrome“ OS produkto grupės valdytojai. Žurnalai bus panaikinti po 90 dienų.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Įvestas slaptažodis neatitinka el. pašto adreso</translation>
 <translation id="4374831787438678295">„Linux“ diegimo programa</translation>
 <translation id="4375035964737468845">Atidaryti atsisiųstus failus</translation>
+<translation id="4376226992615520204">Vietovė išjungta</translation>
 <translation id="4377363674125277448">Iškilo su serverio sertifikatu susijusi problema.</translation>
 <translation id="4378154925671717803">Telefonas</translation>
 <translation id="4378373042927530923">Nevykdyti</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Skirtukai iš kitų įrenginių</translation>
 <translation id="4620809267248568679">Šį nustatymą paleidžia plėtinys.</translation>
 <translation id="4623189117674524348">Sistemai nepavyko suteikti šio įrenginio prieigos prie API.</translation>
-<translation id="4624190781974168453">Klausti paleidžiant</translation>
 <translation id="4625078469366263107">Įgalinti programą</translation>
 <translation id="4627427111733173920">Slapukai užblokuoti</translation>
 <translation id="4627442949885028695">Tęsiama kitu įrenginiu</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Naujausia „<ph name="EXTENSION_NAME" />“ versija buvo išjungta, nes jai reikia daugiau leidimų.</translation>
 <translation id="5185500136143151980">Nėra interneto ryšio</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> skirtų parinkčių meniu</translation>
 <translation id="5190926251776387065">Suaktyvinti prievadą</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> nori atsisiųsti kelis failus</translation>
 <translation id="5192062846343383368">Atidarykite programą „Family Link“ ir peržiūrėkite priežiūros nustatymus</translation>
@@ -3778,6 +3772,7 @@
 <translation id="5642508497713047">CRL pasirašantis asmuo</translation>
 <translation id="5643321261065707929">Matuojamas tinklas</translation>
 <translation id="5643620609347735571">Išvalyti ir tęsti</translation>
+<translation id="5646376287012673985">Vietovė</translation>
 <translation id="5646558797914161501">Verslininkas</translation>
 <translation id="5648166631817621825">Pastarosios 7 dienos</translation>
 <translation id="5649053991847567735">Automatiškai atsisiųsti</translation>
@@ -4484,7 +4479,6 @@
 <translation id="6531282281159901044">Palikti pavojingą failą</translation>
 <translation id="6532101170117367231">Išsaugoti „Google“ diske</translation>
 <translation id="6532106788206463496">Išsaugoti pakeitimus</translation>
-<translation id="6532113437901537254">„Google“ paskyros slaptažodžiai taip pat bus pasiekiami šiame įrenginyje, kol būsite prisijungę</translation>
 <translation id="6532206849875187177">Sauga ir prisijungimas</translation>
 <translation id="6532527800157340614">Nepavyko prisijungti, nes nepavyko gauti jūsų prieigos kodo. Patikrinkite tinklo ryšį ir bandykite dar kartą.</translation>
 <translation id="6532663472409656417">Užregistruota įmonėje</translation>
@@ -4616,7 +4610,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> ir dar 1 skirtukas}one{<ph name="PAGE_TITLE" /> ir dar # skirtukas}few{<ph name="PAGE_TITLE" /> ir dar # skirtukai}many{<ph name="PAGE_TITLE" /> ir dar # skirtuko}other{<ph name="PAGE_TITLE" /> ir dar # skirtukų}}</translation>
 <translation id="6709133671862442373">Naujienos</translation>
 <translation id="6709357832553498500">Prisijungti naudojant „<ph name="EXTENSIONNAME" />“</translation>
-<translation id="6710213216561001401">Ankstesnis</translation>
+<translation id="6710213216561001401">Ankstesnė</translation>
 <translation id="6715803357256707211">Įdiegiant „Linux“ programą įvyko klaida. Spustelėję pranešimą rasite išsamią informaciją.</translation>
 <translation id="671619610707606484">Bus išvalyta <ph name="TOTAL_USAGE" /> svetainių saugomų duomenų</translation>
 <translation id="671928215901716392">Užrakinti ekraną</translation>
@@ -5014,9 +5008,6 @@
 <translation id="7201118060536064622">„<ph name="DELETED_ITEM_NAME" />“ ištrintas (-a)</translation>
 <translation id="7201420661433230412">Peržiūrėti failus</translation>
 <translation id="7203150201908454328">Išskleista</translation>
-<translation id="7203826966018112936">Pridėję mokyklos paskyrą prie profilio galėsite lengvai prisijungti prie svetainių ir plėtinių kaip mokinys, bet vis tiek bus galima taikyti tėvų kontrolę. Nesuteikiama vaiko prieiga prie žymių, slaptažodžių ar kitų naršyklės duomenų, sinchronizuojamų su mokyklos paskyra.&lt;br&gt;&lt;br&gt;
-    Jei vaikas naudoja „Chromebook“ mokykloje ir norite namuose naudoti mokykloje teikiamas funkcijas, kad vaikas galėtų pasiekti visus reikiamus mokyklos darbus, atsijunkite nuo šios „Family Link“ paskyros ir prisijunkite prie mokyklos paskyros apsilankę „Chrome“ OS paskyrų puslapyje (pastaba: „Family Link“ tėvų kontrolė netaikoma).&lt;br&gt;&lt;br&gt;
-    Jei vaikas nenaudoja „Chromebook“ mokykloje arba norite valdyti vaiko funkcijas namuose naudodami „Family Link“, spustelėkite toliau pateiktą mygtuką „Kitas“, kad pridėtumėte mokyklos paskyrą prie šio profilio.</translation>
 <translation id="7206693748120342859">Atsisiunčiamas „<ph name="PLUGIN_NAME" />“...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Išeiti iš puslapio}one{Išeiti iš puslapių}few{Išeiti iš puslapių}many{Išeiti iš puslapių}other{Išeiti iš puslapių}}</translation>
 <translation id="7207457272187520234">Siųskite naudojimo ir diagnostikos duomenis. Šiuo metu šis įrenginys automatiškai siunčia „Google“ diagnostikos, įrenginio ir programų naudojimo duomenis. Tai padės pagerinti sistemos bei programos stabilumą ir teikti kitus patobulinimus. Kai kurie sukaupti duomenys taip pat bus naudingi „Google“ programoms ir partneriams, pvz., „Android“ kūrėjams. Šį nustatymą taiko savininkas. Jei papildomas Žiniatinklio ir programų veiklos nustatymas įjungtas, šie duomenys gali būti išsaugoti „Google“ paskyroje.</translation>
@@ -5159,7 +5150,6 @@
 <translation id="7388044238629873883">Jau beveik baigėte!</translation>
 <translation id="7392118418926456391">Nepavyko žvalgyti, ar yra virusų</translation>
 <translation id="7392915005464253525">I&amp;š naujo atidaryti uždarytą langą</translation>
-<translation id="7393472013449507620">Nustatymai su pakaitos simboliais „*“ nebepalaikomi. Norėdami <ph name="BEGIN_LINK" />pakeisti šiuos nustatymus<ph name="END_LINK" /> susisiekite su plėtinio kūrėju arba administratoriumi.</translation>
 <translation id="7396017167185131589">Čia bus rodomi bendrinami aplankai</translation>
 <translation id="7396845648024431313">„<ph name="APP_NAME" />“ bus paleista kartu su sistema ir fone veiks toliau, net ir išjungus visus kitus „<ph name="PRODUCT_NAME" />“ langus.</translation>
 <translation id="7399045143794278225">Tinkinti sinchronizavimą</translation>
@@ -5272,6 +5262,7 @@
 <translation id="7526989658317409655">Rezervuota vieta</translation>
 <translation id="7529411698175791732">Patikrinkite interneto ryšį. Jei problema kartosis, pabandykite atsijungti ir vėl prisijungti.</translation>
 <translation id="7530016656428373557">Iškrovos koeficientas vatais</translation>
+<translation id="7531310913436731628">Vietovė išjungta „Mac“ sistemos nuostatose</translation>
 <translation id="7531779363494549572">Eikite į skiltį „Nustatymai“ &gt; „Programos ir pranešimai“ &gt; „Pranešimai“.</translation>
 <translation id="7532009420053991888">„<ph name="LINUX_APP_NAME" />“ nereaguoja. Pasirinkite „Priverstinai uždaryti“, kad uždarytumėte programą.</translation>
 <translation id="7537451260744431038">Svetainės negali naudoti slapukų naršymo kokybei pagerinti, pavyzdžiui, kad liktumėte prisijungę ar būtų įsimintos pirkinių krepšelyje esančios prekės</translation>
@@ -6052,7 +6043,6 @@
 <translation id="8470513973197838199">Išsaugoti <ph name="ORIGIN" /> slaptažodžiai</translation>
 <translation id="8472623782143987204">palaikoma aparatinės įrangos</translation>
 <translation id="8473863474539038330">Adresai ir dar daugiau</translation>
-<translation id="8474733733775441349">Rodykite „Google“ paskyros slaptažodžius</translation>
 <translation id="8475313423285172237">Kita jūsų kompiuteryje esanti programa pridėjo plėtinį, kuris gali pakeisti „Chrome“ veikimo būdą.</translation>
 <translation id="8477241577829954800">Pakeista</translation>
 <translation id="8477384620836102176">Bendra</translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb
index 9cc0b68..8ee2f87 100644
--- a/chrome/app/resources/generated_resources_lv.xtb
+++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Tikai šifrēt</translation>
 <translation id="1038462104119736705">Sistēmai Linux ir ieteicams vismaz <ph name="INSTALL_SIZE" /> vietas krātuvē. Lai atbrīvotu vietu, dzēsiet failus no ierīces.</translation>
 <translation id="1039337018183941703">Nederīgs vai bojāts fails</translation>
-<translation id="104086161873270383">Jauns profils</translation>
 <translation id="1041175011127912238">Šī lapa nereaģē</translation>
 <translation id="1041263367839475438">Pieejamās ierīces</translation>
 <translation id="1042174272890264476">Jūsu datorā ir iebūvēta arī pārlūka <ph name="SHORT_PRODUCT_NAME" /> RLZ bibliotēka. RLZ piešķir neunikālu, personu neidentificējošu atzīmi, lai novērtētu noteiktas reklāmas kampaņas ietvaros ievadītos meklēšanas vienumus un pārlūka <ph name="SHORT_PRODUCT_NAME" /> lietojumu. Šīs atzīmes pārlūkā <ph name="PRODUCT_NAME" /> dažkārt tiek rādītas Google meklēšanas vaicājumos.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> apakšlapas poga Atpakaļ</translation>
 <translation id="1322046419516468189">Saglabātās paroles varat skatīt un pārvaldīt šeit: <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Aizsargā jebkuru personīgo Google kontu pret mērķtiecīga uzbrukuma risku</translation>
-<translation id="1325985428688410772">Pievienot darbvietu</translation>
 <translation id="1326317727527857210">Pierakstieties pārlūkā Chrome, lai būtu pieejamas cilnes no citām jūsu ierīcēm.</translation>
 <translation id="1327074568633507428">Printeris Google mākoņdrukā</translation>
 <translation id="1327272175893960498">Kerberos biļetes</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Paroļu pārbaude nav pieejama pārlūkā Chromium.</translation>
 <translation id="1871534214638631766">Rādīt saistītu informāciju, kad noklikšķināt uz satura ar peles labo pogu vai nospiežat un turat saturu</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> ierīce ir atjaunināta.</translation>
-<translation id="1874835396235780806">Vai saglabāt šo un citas paroles jūsu Google kontā?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Pārvietot cilni uz citu logu}zero{Pārvietot cilnes uz citu logu}one{Pārvietot cilnes uz citu logu}other{Pārvietot cilnes uz citu logu}}</translation>
 <translation id="1875386316419689002">Šī cilne ir saistīta ar HID ierīci.</translation>
 <translation id="1875387611427697908">To var pievienot tikai no veikala <ph name="CHROME_WEB_STORE" />.</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" />. tīkls no <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, savienojums</translation>
 <translation id="1884705339276589024">Linux diska lieluma mainīšana</translation>
 <translation id="1885106732301550621">Vieta diskā</translation>
-<translation id="1885190042244431215">Pievienojot mācību iestādes kontu, skolēns var ērti pierakstīties vietnēs un paplašinājumos, bet vienlaikus tiek lietoti vecāku kontroles iestatījumi.</translation>
 <translation id="1886996562706621347">Ļaut vietnēm lūgt kļūt par protokolu noklusējuma apdarinātājiem (ieteicams)</translation>
 <translation id="1887442540531652736">Pierakstīšanās kļūda</translation>
 <translation id="1887597546629269384">Vēlreiz izrunājiet “Hey Google”</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Lasīt jūsu piekļuves iestatījumus</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Tai ir pastāvīga piekļuve vienam failam.}zero{Tai ir pastāvīga piekļuve # failiem.}one{Tai ir pastāvīga piekļuve # failam.}other{Tai ir pastāvīga piekļuve # failiem.}}</translation>
 <translation id="3660234220361471169">Neuzticami</translation>
-<translation id="3661172646479098821">Pašlaik tiek atbalstītas tikai Android ierīces.</translation>
 <translation id="3664511988987167893">Paplašinājuma ikona</translation>
 <translation id="3665589677786828986">Pārlūkā Chrome tika konstatēts, ka daži jūsu iestatījumi tika bojāti citā programmā, tāpēc šie iestatījumi tika atiestatīti uz sākotnējiem noklusējuma iestatījumiem.</translation>
 <translation id="3668801437375206837">Lai precīzāk noteiktu problēmas ar Bluetooth savienojumu, Google darbinieki atsauksmju ziņojumam var pievienot papildu Bluetooth žurnālus. Ja šī opcija ir atzīmēta, ziņojumā būs iekļauti pašreizējās sesijas btsnoop un HCI žurnāli, kuros maksimāli noņemta personu identificējoša informācija. Šiem žurnāliem varēs piekļūt tikai Chrome OS produktu grupas pārvaldnieki ierīcē Listnr. Žurnāli tiks dzēsti pēc 90 dienām.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Ievadītā e-pasta adrese un parole neatbilst.</translation>
 <translation id="4374831787438678295">Linux instalēšanas programma</translation>
 <translation id="4375035964737468845">Atvērt lejupielādētos failus</translation>
+<translation id="4376226992615520204">Atrašanās vietas noteikšana ir izslēgta</translation>
 <translation id="4377363674125277448">Radās problēma ar servera sertifikātu.</translation>
 <translation id="4378154925671717803">Tālrunis</translation>
 <translation id="4378373042927530923">Nav veikta izpilde</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Cilnes no citām ierīcēm</translation>
 <translation id="4620809267248568679">Šis iestatījums tiek kontrolēts, izmantojot paplašinājumu.</translation>
 <translation id="4623189117674524348">Sistēmā neizdevās autorizēt šo ierīci API piekļuvei.</translation>
-<translation id="4624190781974168453">Vaicāt palaišanas brīdī</translation>
 <translation id="4625078469366263107">Iespējot lietotni</translation>
 <translation id="4627427111733173920">Sīkfaili bloķēti</translation>
 <translation id="4627442949885028695">Turpiniet citā ierīcē</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454"><ph name="EXTENSION_NAME" /> jaunākā versija ir atspējota, jo tai ir nepieciešams vairāk atļauju.</translation>
 <translation id="5185500136143151980">Nav interneta savienojuma</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Opciju izvēlne profilam <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktivizēt portu</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vēlas lejupielādēt vairākus failus</translation>
 <translation id="5192062846343383368">Atveriet lietotni Family Link, lai skatītu uzraudzības iestatījumus.</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">CRL parakstītājs</translation>
 <translation id="5643321261065707929">Maksas tīkls</translation>
 <translation id="5643620609347735571">Notīrīt un turpināt</translation>
+<translation id="5646376287012673985">Atrašanās vieta</translation>
 <translation id="5646558797914161501">Uzņēmējs</translation>
 <translation id="5648166631817621825">Pēdējās 7 dienas</translation>
 <translation id="5649053991847567735">Automātiskās lejupielādes</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Paturēt bīstamo failu</translation>
 <translation id="6532101170117367231">Saglabāt Google diskā</translation>
 <translation id="6532106788206463496">Saglabāt izmaiņas</translation>
-<translation id="6532113437901537254">Ja būsiet pierakstījies, jūsu Google konta paroles būs pieejamas arī šajā ierīcē</translation>
 <translation id="6532206849875187177">Drošība un pierakstīšanās</translation>
 <translation id="6532527800157340614">Neizdevās pierakstīties, jo nevarēja izgūt piekļuves pilnvaru. Lūdzu, pārbaudiet tīkla savienojumu un mēģiniet vēlreiz.</translation>
 <translation id="6532663472409656417">Reģistrēja uzņēmums</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">Vienums “<ph name="DELETED_ITEM_NAME" />” ir izdzēsts.</translation>
 <translation id="7201420661433230412">Skatīt failus</translation>
 <translation id="7203150201908454328">Izvērsts</translation>
-<translation id="7203826966018112936">Pievienojot profilam mācību iestādes kontu, skolēns var ērti pierakstīties vietnēs un paplašinājumos, bet vienlaikus tiek lietoti vecāku kontroles iestatījumi. Bērnam netiek piešķirta piekļuve grāmatzīmēm, parolēm vai citiem pārlūkošanas datiem, kas tiek sinhronizēti ar mācību iestādes kontu.&lt;br&gt;&lt;br&gt;
-    Ja bērns lieto Chromebook datoru mācību iestādē un vēlaties mājās izmantot tādas pašas iespējas kā mācību iestādē, lai bērnam būtu piekļuve visiem nepieciešamajiem skolas darbiem, izrakstieties no šī Family Link konta un pierakstieties mācību iestādes kontā Chrome OS kontu lapā (piezīme: netiks lietoti Family Link vecāku kontroles iestatījumi).&lt;br&gt;&lt;br&gt;
-    Ja bērns nelieto Chromebook datoru mācību iestādē vai ja vēlaties pārvaldīt bērna iespējas mājās, izmantojot Family Link, lūdzu, noklikšķiniet uz pogas Tālāk, lai pievienotu šim profilam mācību iestādes kontu.</translation>
 <translation id="7206693748120342859">Notiek spraudņa <ph name="PLUGIN_NAME" /> lejupielāde...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Iziet no lapas}zero{Iziet no lapām}one{Iziet no lapām}other{Iziet no lapām}}</translation>
 <translation id="7207457272187520234">Lietojuma un diagnostikas datu sūtīšana. Pašlaik dati par šo ierīci un ierīces diagnostikas un lietotņu lietojuma dati tiek automātiski sūtīti uzņēmumam Google. Šī informācija palīdzēs uzlabot sistēmas un lietotņu stabilitāti un daudz ko citu. Noteiktus apkopotus datus izmantos arī Google lietotņu izstrādātāji un partneri, piemēram, Android izstrādātāji. Šo iestatījumu ir noteicis īpašnieks. Ja ir ieslēgts iestatījums “papildu darbības tīmeklī un lietotnēs”, šie dati var tikt saglabāti jūsu Google kontā.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Jūs esat gandrīz pabeidzis!</translation>
 <translation id="7392118418926456391">Vīrusu skenēšana neizdevās.</translation>
 <translation id="7392915005464253525">A&amp;tkārtoti atvērt aizvērto logu</translation>
-<translation id="7393472013449507620">Iestatījumi ar aizstājējzīmi “*” vairs netiek atbalstīti. Sazinieties ar paplašinājuma izstrādātāju vai administratoru, lai <ph name="BEGIN_LINK" /> mainītu šos iestatījumus<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Šeit būs redzamas kopīgotās mapes.</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> tiks startēta pie sistēmas startēšanas un turpinās darboties fonā arī tad, ja aizvērsiet visus citus <ph name="PRODUCT_NAME" /> logus.</translation>
 <translation id="7399045143794278225">Pielāgot sinhronizāciju</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Vietturis</translation>
 <translation id="7529411698175791732">Pārbaudiet interneta savienojumu. Ja neizdodas novērst problēmu, izrakstieties un atkārtoti pierakstieties.</translation>
 <translation id="7530016656428373557">Izlādes ātrums vatos</translation>
+<translation id="7531310913436731628">Atrašanās vietas noteikšana ir izslēgta Mac sistēmas preferencēs</translation>
 <translation id="7531779363494549572">Pārejiet uz sadaļu Iestatījumi &gt; Lietotnes un paziņojumi &gt; Paziņojumi.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> nereaģē. Lai aizvērtu lietotni, atlasiet vienumu “Aizvērt piespiedu kārtā”.</translation>
 <translation id="7537451260744431038">Vietnes nedrīkst izmantot sīkfailus, lai uzlabotu pārlūkošanas pieredzi, piemēram, lai nodrošinātu ilgstošu pierakstīšanos vai saglabātu iepirkumu grozā ievietotās preces.</translation>
@@ -6050,7 +6041,6 @@
 <translation id="8470513973197838199">Saglabātās paroles vietnei <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">hardware-backed</translation>
 <translation id="8473863474539038330">Adreses un citus datus</translation>
-<translation id="8474733733775441349">Rādīt Google konta paroles</translation>
 <translation id="8475313423285172237">Cita datorā instalēta programma ir izraisījusi tāda paplašinājuma pievienošanu, kas var ietekmēt pārlūkprogrammas Chrome darbību.</translation>
 <translation id="8477241577829954800">Aizvietots</translation>
 <translation id="8477384620836102176">&amp;Vispārīgi</translation>
diff --git a/chrome/app/resources/generated_resources_mk.xtb b/chrome/app/resources/generated_resources_mk.xtb
index 64df886..074a886 100644
--- a/chrome/app/resources/generated_resources_mk.xtb
+++ b/chrome/app/resources/generated_resources_mk.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Само шифрирање</translation>
 <translation id="1038462104119736705">За Linux, се препорачува најмалку <ph name="INSTALL_SIZE" /> слободен простор. За да го зголемите слободниот простор, избришете датотеки од уредот.</translation>
 <translation id="1039337018183941703">Невалидна или оштетена датотека</translation>
-<translation id="104086161873270383">Нов профил</translation>
 <translation id="1041175011127912238">Страницава не реагира</translation>
 <translation id="1041263367839475438">Достапни уреди</translation>
 <translation id="1042174272890264476">Вашиот компјутер е со вградена <ph name="SHORT_PRODUCT_NAME" /> RLZ библиотека. RLZ доделува неуникатна, не-лична идентификувачка картичка за мерење на пребарувањата и користење на <ph name="SHORT_PRODUCT_NAME" /> поттикнато од одредена промотивна кампања. Овие ознаки понекогаш се појавуваат во прашалници за пребарување на Google во <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Копче за назад на подредената страница <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Прегледајте ги и управувајте со зачуваните лозинки во вашата <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Ги чува личните сметки на Google на луѓето што се во ризик од насочени напади</translation>
-<translation id="1325985428688410772">Додајте простор</translation>
 <translation id="1326317727527857210">За да ги преземете картичките од другите уреди, најавете се на Chrome.</translation>
 <translation id="1327074568633507428">Печатач на Google Cloud Print</translation>
 <translation id="1327272175893960498">Билети на Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Проверката на лозинки не е достапна во Chromium</translation>
 <translation id="1871534214638631766">Прикажувај поврзани информации кога ќе кликнам со десно копче или кога долго ќе притиснам на содржини</translation>
 <translation id="1871615898038944731">Вашиот <ph name="DEVICE_TYPE" /> е ажуриран</translation>
-<translation id="1874835396235780806">Да се зачува оваа и другите лозинки во сметката на Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Преместете ја картичката во друг прозорец}one{Преместете ги картичките во друг прозорец}other{Преместете ги картичките во друг прозорец}}</translation>
 <translation id="1875386316419689002">Картичкава е поврзана со HID-уред.</translation>
 <translation id="1875387611427697908">Ова може да се додаде само од <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Мрежа <ph name="NETWORK_INDEX" /> од <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, поврзи</translation>
 <translation id="1884705339276589024">Променете ја големината на дискот на Linux</translation>
 <translation id="1885106732301550621">Простор на дискот</translation>
-<translation id="1885190042244431215">Ако додадете училишна сметка, ќе се овозможи лесно најавување на веб-сајтовите и екстензиите како ученик додека уште се работи под родителски контроли.</translation>
 <translation id="1886996562706621347">Дозволи им на локациите да побараат да станат стандардни ракувачи на протоколи (препорачано)</translation>
 <translation id="1887442540531652736">Грешка при најавувањето</translation>
 <translation id="1887597546629269384">Повторно кажете „Hey Google“</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Прочитајте ги поставките за пристапност</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Има постојан пристап до една датотека.}one{Има постојан пристап до # датотека.}other{Има постојан пристап до # датотеки.}}</translation>
 <translation id="3660234220361471169">Недоверливи</translation>
-<translation id="3661172646479098821">Во моментов се поддржуваат само уреди со Android.</translation>
 <translation id="3664511988987167893">Икона за екстензијата</translation>
 <translation id="3665589677786828986">Chrome откри дека некои од поставките на прелистувачот ги оштетила друга програма и ги ресетирала на првичните стандардни вредности.</translation>
 <translation id="3668801437375206837">За подобро дијагностицирање проблеми со Bluetooth, вработените во Google може да вклучат дополнителна евиденција за Bluetooth во нивните извештаи со повратни информации. Кога е избрана опцијава, вашиот извештај ќе опфаќа евиденција за btsnoop и HCI од тековната сесија, преработени да се отстранат што е можно повеќе лично идентификувачки информации. Пристапот до оваа евиденција ќе биде ограничена на управниците на групата производи на Chrome OS во Listnr. Евиденцијата ќе се прочистува на секои 90 дена.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Е-поштата и лозинката што ги внесовте не се совпаѓаат</translation>
 <translation id="4374831787438678295">Инсталатор на Linux</translation>
 <translation id="4375035964737468845">Отвори преземени датотеки</translation>
+<translation id="4376226992615520204">Локацијата е исклучена</translation>
 <translation id="4377363674125277448">Имаше проблем со сертификатот на серверот.</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4378373042927530923">Не е извршена</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Картички од другите уреди</translation>
 <translation id="4620809267248568679">Наставката ја наметнува оваа поставка.</translation>
 <translation id="4623189117674524348">Системот не успеа да овласти пристап до API за овој уред.</translation>
-<translation id="4624190781974168453">Прашувај при стартување</translation>
 <translation id="4625078469366263107">Овозможи апликација</translation>
 <translation id="4627427111733173920">Колачињата се блокирани</translation>
 <translation id="4627442949885028695">Продолжете од друг уред</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Најновата верзија на „<ph name="EXTENSION_NAME" />“ е оневозможена бидејќи бара повеќе дозволи.</translation>
 <translation id="5185500136143151980">Нема интернет</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Мени со опции за <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Активирај ја портата</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> сака да преземе повеќе датотеки</translation>
 <translation id="5192062846343383368">Отворете ја апликацијата Family Link за да ги видите поставките за надзор</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">CRL-пријавувач</translation>
 <translation id="5643321261065707929">Мрежа со мерен сообраќај</translation>
 <translation id="5643620609347735571">Исчисти и продолжи</translation>
+<translation id="5646376287012673985">Локација</translation>
 <translation id="5646558797914161501">Бизнисмен</translation>
 <translation id="5648166631817621825">Изминатите 7 дена</translation>
 <translation id="5649053991847567735">Автоматски преземања</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Задржи ја опасната датотека</translation>
 <translation id="6532101170117367231">Зачувај во Google Drive</translation>
 <translation id="6532106788206463496">Зачувај ги промените</translation>
-<translation id="6532113437901537254">Вашите лозинки од сметката на Google ќе бидат достапни и на уредов додека сте најавени</translation>
 <translation id="6532206849875187177">Безбедност и најавување</translation>
 <translation id="6532527800157340614">Пријавувањето не успеа затоа што не можеше да се преземе токенот за пристап. Проверете ја мрежната врска и обидете се повторно.</translation>
 <translation id="6532663472409656417">Регистриран во компанија</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">Ставката „<ph name="DELETED_ITEM_NAME" />“ е избришана</translation>
 <translation id="7201420661433230412">Прикажи ги датотеките</translation>
 <translation id="7203150201908454328">Проширено</translation>
-<translation id="7203826966018112936">Ако додадете училишна сметка на профилот, ќе се овозможи лесно најавување на веб-сајтовите и екстензиите како ученик додека се работи под родителски контроли. Така детето не добива пристап до обележувачите, лозинките и другите податоци од прелистувачот што се синхронизираат со училишната сметка.&lt;br&gt;&lt;br&gt;
-    Ако вашето дете користи Chromebook во училиште и сакате на истиот начин да учи и дома за да бидете сигурни дека има пристап до сите потребни училишни задачи, одјавете се од сметкава на Family Link и најавете се на училишната сметка од страницата со сметки на Chrome OS (забелешка: родителските контроли на Family Link нема да важат).&lt;br&gt;&lt;br&gt;
-    Ако детето не користи Chromebook во училиште или, пак, ако повеќе сакате да му помагате на детето дома со Family Link, кликнете го копчето „Следно“ подолу и додајте училишна сметка на профилов.</translation>
 <translation id="7206693748120342859">Се презема <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Излези од страницата}one{Излези од страниците}other{Излези од страниците}}</translation>
 <translation id="7207457272187520234">Испраќајте податоци за користење и дијагностика. Уредов во моментов автоматски испраќа дијагностички и податоци за користењето на уредот и апликациите до Google. Податоциве ќе ни помогнат околу стабилноста на системот и апликациите и за други подобрувања. Некои збирни податоци ќе им помогнат на апликациите и партнерите на Google, како што се програмерите на Android. Поставкава е наметната од сопственикот. Ако сте ја вклучиле дополнителната поставка „Активност на интернет и апликации“, податоциве може да се зачувуваат во вашата сметка на Google.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Речиси сте готови!</translation>
 <translation id="7392118418926456391">Скенирањето за вируси не успеа</translation>
 <translation id="7392915005464253525">Повторно о&amp;твори затворен прозорец</translation>
-<translation id="7393472013449507620">Поставките со џокери „*“ веќе не се поддржани. Контактирајте со програмерот на екстензијата или вашиот администратор за да ги <ph name="BEGIN_LINK" />измените поставкиве<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Споделените папки ќе се појават тука</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ќе стартува при подигнувањето на системот и ќе продолжи да се извршува во заднина дури и откако сте ги затвориле останатите прозорци на <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Приспособете ја синхронизацијата</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Резервирано место</translation>
 <translation id="7529411698175791732">Проверете ја врската со интернет. Ако проблемот опстојува, обидете се да се одјавите и да се најавите повторно.</translation>
 <translation id="7530016656428373557">Стапка на празнење во вати</translation>
+<translation id="7531310913436731628">Локацијата е исклучена во поставките за системот Mac</translation>
 <translation id="7531779363494549572">Одете во „Поставки &gt; Апликации и известувања &gt; Известувања“.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> не одговара. Изберете „Затвори присилно“ за да ја затворите.</translation>
 <translation id="7537451260744431038">Сајтовите не може да користат колачиња за да го подобрат вашето доживување со прелистувањето, на пример, да ве одржат најавени или да запомнат ставки во кошничката за купување</translation>
@@ -6053,7 +6044,6 @@
 <translation id="8470513973197838199">Зачувани лозинки за <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">со резервни копии од хардвер</translation>
 <translation id="8473863474539038330">Адреси и друго</translation>
-<translation id="8474733733775441349">Прикажување лозинки од сметката на Google</translation>
 <translation id="8475313423285172237">Друга програма на компјутерот додаде наставка која може да промени како работи Chrome.</translation>
 <translation id="8477241577829954800">Заменет</translation>
 <translation id="8477384620836102176">&amp;Општи информации</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index 6b8a09a..20698d6 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">എന്‍‌സിഫര്‍‌ മാത്രം</translation>
 <translation id="1038462104119736705">കുറഞ്ഞത് <ph name="INSTALL_SIZE" /> ഇടമാണ് Linux-ന് വേണ്ടി ശുപാർശ ചെയ്യുന്നത്. ഇടം സൃഷ്‌ടിക്കാൻ, നിങ്ങളുടെ ഉപകരണത്തിൽ നിന്ന് ഫയലുകൾ ഇല്ലാതാക്കുക.</translation>
 <translation id="1039337018183941703">ഫയൽ അസാധുവോ കേടായതോ ആണ്</translation>
-<translation id="104086161873270383">പുതിയ പ്രൊഫൈൽ</translation>
 <translation id="1041175011127912238">ഈ പേജ് പ്രതികരിക്കുന്നില്ല</translation>
 <translation id="1041263367839475438">ലഭ്യമായ ഉപകരണങ്ങൾ</translation>
 <translation id="1042174272890264476">നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ <ph name="SHORT_PRODUCT_NAME" /> എന്നതിന്റെ RLZ ലൈബ്രറി അന്തർനിർമ്മിതവുമാണ്. RLZ, ഒരു നിർദ്ദിഷ്‌ട പ്രമോഷണൽ കാമ്പെയ്‌നിലൂടെ ലഭിക്കുന്ന തിരയലുകളും <ph name="SHORT_PRODUCT_NAME" /> ഉപയോഗവും കണക്കാക്കുന്നതിന് അദ്വിതീയമല്ലാത്തതും വ്യക്തിപരമായി തിരിച്ചറിയാനാകാത്തതുമായ ഒരു ടാഗ് നിയുക്തമാക്കുന്നു. ഈ ലേബലുകൾ ചിലസമയത്ത് <ph name="PRODUCT_NAME" /> എന്നതിലെ Google തിരയലിൽ ദൃശ്യമാകുന്നു.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> സബ്‌പേജ് മടങ്ങുക ബട്ടൺ</translation>
 <translation id="1322046419516468189">നിങ്ങളുടെ <ph name="SAVED_PASSWORDS_STORE" /> എന്നതിൽ സംരക്ഷിച്ച പാസ്‌വേഡുകൾ കാണുക, മാനേജ് ചെയ്യുക</translation>
 <translation id="1324106254079708331">ടാർഗറ്റ് ചെയ്തുള്ള ആക്രമണങ്ങളുടെ ഭീഷണി നേരിടുന്ന ഏതൊരാളുടെയും വ്യക്തിപരമായ Google അക്കൗണ്ടുകളെ സംരക്ഷിക്കുന്നു</translation>
-<translation id="1325985428688410772">സ്‌പെയ്‌സ് ചേർക്കുക</translation>
 <translation id="1326317727527857210">നിങ്ങളുടെ മറ്റ് ഉപകരണങ്ങളിൽ നിന്നുള്ള ടാബുകൾ ലഭിക്കാൻ, Chrome-ൽ സൈൻ ഇൻ ചെയ്യുക.</translation>
 <translation id="1327074568633507428">Google ക്ലൗഡ് പ്രിന്റിലെ പ്രിന്റർ</translation>
 <translation id="1327272175893960498">Kerberos ടിക്കറ്റുകൾ</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">പാസ്‌വേഡ് പരിശോധന Chromium-ൽ ലഭ്യമല്ല</translation>
 <translation id="1871534214638631766">ഉള്ളടക്കത്തിൽ വലത്-ക്ലിക്ക് ചെയ്യുമ്പോഴോ ദീർഘനേരം അമർത്തുമ്പോഴോ അതിന്റെ അനുബന്ധ വിവരങ്ങൾ കാണിക്കുക</translation>
 <translation id="1871615898038944731">നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> അപ്‌‌ടു‌ഡേറ്റാണ്</translation>
-<translation id="1874835396235780806">ഈ പാസ്‌വേഡും മറ്റ് പാസ്‌വേഡുകളും നിങ്ങളുടെ Google അക്കൗണ്ടിൽ സംരക്ഷിക്കണോ?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ടാബ് മറ്റൊരു വിൻഡോയിലേക്ക് നീക്കുക}other{ടാബുകൾ മറ്റൊരു വിൻഡോയിലേക്ക് നീക്കുക}}</translation>
 <translation id="1875386316419689002">ഈ ടാബ് HID ഉപകരണവുമായി കണക്‌റ്റ് ചെയ്‌തിരിക്കുന്നു.</translation>
 <translation id="1875387611427697908"><ph name="CHROME_WEB_STORE" />-ല്‍ നിന്ന് മാത്രമേ ഇത് ചേർക്കാനാവൂ</translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" />-ൽ <ph name="NETWORK_INDEX" /> നെറ്റ്‌വർക്ക്, <ph name="NETWORK_NAME" />, കണക്‌റ്റ് ചെയ്യുക</translation>
 <translation id="1884705339276589024">Linux ഡിസ്‌ക്കിന്റെ വലുപ്പം‌ മാറ്റുക</translation>
 <translation id="1885106732301550621">ഡിസ്ക് സ്പെയ്സ്</translation>
-<translation id="1885190042244431215">ഒരു വിദ്യാർത്ഥി എന്ന നിലയിൽ തുടർന്നും രക്ഷാകർതൃ നിയന്ത്രണങ്ങൾക്ക് കീഴിൽ പ്രവർത്തിക്കുമ്പോൾ, ഒരു സ്‌കൂൾ അക്കൗണ്ട് ചേർക്കുന്നതിലൂടെ വെബ്സൈറ്റുകളിലേക്കും വിപുലീകരണങ്ങളിലേക്കും എളുപ്പത്തിൽ സൈൻ ഇൻ ചെയ്യാനാവും.</translation>
 <translation id="1886996562706621347">പ്രോട്ടോകോളുകള്‍ക്കായി ഡിഫോൾട്ട് ഹാന്‍ഡ്‌ലറുകള്‍ ആകുന്നത് ആവശ്യപ്പെടാൻ സൈറ്റുകളെ അനുവദിക്കുന്നു (ശുപാർശ ചെയ്തിരിക്കുന്നത്)</translation>
 <translation id="1887442540531652736">സൈൻ-ഇൻ പിശക്</translation>
 <translation id="1887597546629269384">"Hey Google" എന്ന് വീണ്ടും പറയുക</translation>
@@ -2197,7 +2193,6 @@
 <translation id="3654045516529121250">നിങ്ങളുടെ ഉപയോഗസഹായി ക്രമീകരണങ്ങൾ റീഡ് ചെയ്യുക</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ഇതിന് ഒരു ഫയലിലേക്ക് ശാശ്വതമായ ആക്‌സസ്സ് ഉണ്ട്.}other{ഇതിന് # ഫയലുകളിലേക്ക് ശാശ്വതമായ ആക്‌സസ്സ് ഉണ്ട്.}}</translation>
 <translation id="3660234220361471169">വിശ്വസ്തമല്ലാത്തത്</translation>
-<translation id="3661172646479098821">Android ഉപകരണങ്ങൾ മാത്രമേ നിലവിൽ പിന്തുണയ്ക്കുന്നുള്ളൂ.</translation>
 <translation id="3664511988987167893">വിപുലീകരണ ഐക്കൺ</translation>
 <translation id="3665589677786828986">മറ്റൊരു പ്രോഗ്രാം നിങ്ങളുടെ ചില ക്രമീകരണങ്ങൾക്ക് കേടുവരുത്തി അവയുടെ യഥാർത്ഥ ഡിഫോൾട്ട് ക്രമീകരണങ്ങളിലേക്ക് അവ റീസെറ്റ് ചെയ്തതായി Chrome കണ്ടെത്തി.</translation>
 <translation id="3668801437375206837">Bluetooth-മായി ബന്ധപ്പെട്ട പ്രശ്‌നങ്ങൾ കൂടുതൽ നന്നായി തിരിച്ചറിയുന്നതിന്, Googlers-ന് അവരുടെ ഫീഡ്ബാക്ക് റിപ്പോർട്ടുകൾക്കൊപ്പം അധിക Bluetooth ലോഗുകൾ ഉൾപ്പെടുത്താം. ഈ ഓപ്ഷൻ ചെക്ക് ചെയ്‌തിട്ടുണ്ടെങ്കിൽ, നിലവിലെ സെഷനിൽ നിന്നുള്ള btsnoop, HCI ലോഗുകൾ നിങ്ങളുടെ റിപ്പോർട്ടിൽ ഉൾപ്പെടും, പരമാവധി PII നീക്കം ചെയ്യാനായി പരിഷ്ക്കരിച്ചതാണ് ഇത്. ഈ ലോഗുകളിലേക്കുള്ള ആക്‌സസ്, Listnr-ലെ Chrome OS ഉൽപ്പന്ന ഗ്രൂപ്പിലുള്ള മാനേജർമാർക്ക് മാത്രമായി പരിമിതപ്പെടുത്തും. 90 ദിവസത്തിന് ശേഷം ലോഗുകൾ ശുദ്ധീകരിക്കും.</translation>
@@ -2768,6 +2763,7 @@
 <translation id="4370975561335139969">നിങ്ങൾ നൽകിയ ഇമെയിലും പാസ്‌വേഡും പൊരുത്തപ്പെടുന്നില്ല</translation>
 <translation id="4374831787438678295">Linux ഇൻസ്‌റ്റാളർ</translation>
 <translation id="4375035964737468845">ഡൗൺലോഡുചെയ്‌ത ഫയലുകൾ തുറക്കുക</translation>
+<translation id="4376226992615520204">ലൊക്കേഷൻ ഓഫാക്കി</translation>
 <translation id="4377363674125277448">സെർവറിന്റെ സർട്ടിഫിക്കറ്റിൽ ഒരു പ്രശ്‌നമുണ്ടായി.</translation>
 <translation id="4378154925671717803">ഫോൺ</translation>
 <translation id="4378373042927530923">റൺ ചെയ്‌തിട്ടില്ല</translation>
@@ -2967,7 +2963,6 @@
 <translation id="4619615317237390068">മറ്റ് ഉപകരണങ്ങളിൽ നിന്നുള്ള ടാബുകൾ</translation>
 <translation id="4620809267248568679">ഈ ക്രമീകരണം നടപ്പിലാക്കുന്നത് ഒരു വിപുലീകരണമാണ്.</translation>
 <translation id="4623189117674524348">സിസ്‌റ്റത്തിന്, ഈ ഉപകരണത്തിനായുള്ള API ആക്‌സസ് അംഗീകൃതമാക്കാനായില്ല.</translation>
-<translation id="4624190781974168453">ആരംഭത്തിൽ ചോദിക്കുക</translation>
 <translation id="4625078469366263107">ആപ്പ് പ്രവർത്തനക്ഷമമാക്കുക</translation>
 <translation id="4627427111733173920">കുക്കികളെ ബ്ലോക്ക് ചെയ്‌തു</translation>
 <translation id="4627442949885028695">മറ്റൊരു ഉപകരണത്തിൽ നിന്ന് തുടരുക</translation>
@@ -3397,7 +3392,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" എന്നതിന്റെ ഏറ്റവും പുതിയ പതിപ്പിന് കൂടുതൽ അനുമതികൾ ആവശ്യമുള്ളതുകൊണ്ട് അത് പ്രവർത്തനരഹിതമാക്കി.</translation>
 <translation id="5185500136143151980">ഇന്റർനെറ്റ് ഇല്ല</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> എന്നതിനുള്ള ഓപ്‌ഷനുകളുടെ മെനു</translation>
 <translation id="5190926251776387065">പോർട്ട് സജീവമാക്കുക</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" />, ഒന്നിലധികം ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യാൻ താൽപ്പര്യപ്പെടുന്നു</translation>
 <translation id="5192062846343383368">നിങ്ങളുടെ മേൽനോട്ട ക്രമീകരണം കാണാൻ Family Link ആപ്പ് തുറക്കുക</translation>
@@ -3773,6 +3767,7 @@
 <translation id="5642508497713047">CRL സൈനര്‍‌</translation>
 <translation id="5643321261065707929">മീറ്റർ ചെയ്‌ത നെറ്റ്‌വർക്ക്</translation>
 <translation id="5643620609347735571">മായ്ച്ചതിന് ശേഷം തുടരുക</translation>
+<translation id="5646376287012673985">സ്ഥാനം</translation>
 <translation id="5646558797914161501">ബിസിനസ്‌മാൻ</translation>
 <translation id="5648166631817621825">കഴിഞ്ഞ 7 ദിവസം</translation>
 <translation id="5649053991847567735">യാന്ത്രിക ഡൗൺലോഡുകൾ</translation>
@@ -4009,7 +4004,7 @@
 <translation id="5939518447894949180">റീസെറ്റ് ചെയ്യുക</translation>
 <translation id="5941153596444580863">ഉപയോക്താവിനെ ചേർക്കുക...</translation>
 <translation id="5941343993301164315"><ph name="TOKEN_NAME" /> എന്നതിലേക്ക് ദയവായി പ്രവേശിക്കുക.</translation>
-<translation id="5941711191222866238">ചെറുതാക്കുക‍</translation>
+<translation id="5941711191222866238">ചെറുതാക്കുക</translation>
 <translation id="5942964813783878922">ഈ അപ്ഡേറ്റിന് ശേഷം നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> റീസ്റ്റാർട്ട് ചെയ്യും. ഭാവിയിൽ സോഫ്‌റ്റ്‌വെയറും സുരക്ഷാ അപ്ഡേറ്റുകളും സ്വയമേവ ഇൻസ്റ്റാൾ ചെയ്യും.</translation>
 <translation id="5944869793365969636">QR കോഡ് സ്‌കാൻ ചെയ്യുക</translation>
 <translation id="5946591249682680882">റിപ്പോർട്ട് ഐഡി <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4481,7 +4476,6 @@
 <translation id="6531282281159901044">അപകടകരമായ ഫയൽ സൂക്ഷിക്കുക</translation>
 <translation id="6532101170117367231">Google ഡ്രൈവിൽ സംരക്ഷിക്കൂ</translation>
 <translation id="6532106788206463496">മാറ്റങ്ങൾ സംരക്ഷിക്കുക</translation>
-<translation id="6532113437901537254">സൈൻ ഇൻ ചെയ്‌തിരിക്കുമ്പോൾ നിങ്ങളുടെ Google അക്കൗണ്ടിൽ നിന്നുള്ള പാസ്‌വേഡുകൾ ഈ ഉപകരണത്തിലും ലഭ്യമാകും</translation>
 <translation id="6532206849875187177">സുരക്ഷയും സൈൻ ഇൻ ചെയ്യലും</translation>
 <translation id="6532527800157340614">നിങ്ങളുടെ ആക്സസ് ടോക്കൺ വീണ്ടെടുക്കാനാവാത്തതിനാൽ സൈൻ ഇൻ ചെയ്യാനായില്ല. നിങ്ങളുടെ നെറ്റ്‌വർക്ക് കണക്ഷൻ പരിശോധിച്ച ശേഷം വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="6532663472409656417">എൻറോൾ ചെയ്ത എന്റർപ്രൈസ്</translation>
@@ -5011,11 +5005,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ഇല്ലാതാക്കി</translation>
 <translation id="7201420661433230412">ഫയലുകൾ കാണുക</translation>
 <translation id="7203150201908454328">വിപുലീകരിച്ചത്</translation>
-<translation id="7203826966018112936">ഒരു വിദ്യാർത്ഥി എന്ന നിലയിൽ രക്ഷാകർതൃ
-നിയന്ത്രണങ്ങൾക്ക് കീഴിൽ പ്രവർത്തിക്കുമ്പോൾ , പ്രൊഫൈലിലേക്ക് ഒരു സ്‌കൂൾ അക്കൗണ്ട്
-ചേർക്കുന്നതിലൂടെ വെബ്സൈറ്റുകളിലേക്കും വിപുലീകരണങ്ങളിലേക്കും എളുപ്പത്തിൽ സൈൻ ഇൻ ചെയ്യാനാവും. സ്‌കൂൾ അക്കൗണ്ടുമായി സമന്വയിപ്പിച്ചിട്ടുള്ള ബുക്ക്‌മാർക്കുകളിലേക്കോ പാസ്‌വേഡുകളിലേക്കോ മറ്റ് ബ്രൗസർ ഡാറ്റയിലേക്കോ ഇത് കുട്ടിക്ക് ആക്‌സസ് നൽകുന്നില്ല.&lt;br&gt;&lt;br&gt;
-    നിങ്ങളുടെ കുട്ടി സ്‌കൂളിൽ Chromebook ഉപയോഗിക്കുകയും സ്‌കൂളിലെ അതേ അനുഭവം വീട്ടിൽ നൽകണമെന്ന് നിങ്ങൾ ആഗ്രഹിക്കുകയും ചെയ്യുന്നുണ്ടെങ്കിൽ, ആവശ്യമായ സ്‌കൂൾ വർക്കിലേക്കുള്ള ആക്‌സസ് കുട്ടിക്കുണ്ടെന്ന് ഉറപ്പ് വരുത്താൻ ഈ Family Link അക്കൗണ്ടിൽ നിന്നും സൈൻ ഔട്ട് ചെയ്‌ത ശേഷം Chrome OS അക്കൗണ്ടുകളുടെ പേജിൽ നിന്നും സ്‌കൂൾ അക്കൗണ്ടിലേക്ക് സൈൻ ഇൻ ചെയ്യുക (ശ്രദ്ധിക്കുക: Family Link-ന്റെ രക്ഷാകർതൃ നിയന്ത്രണങ്ങൾ ബാധകമല്ല).&lt;br&gt;&lt;br&gt;
-    നിങ്ങളുടെ കുട്ടി സ്‌കൂളിൽ Chromebook ഉപയോഗിക്കുന്നില്ലെങ്കിലോ കുട്ടിയുടെ സ്‌കൂൾ അനുഭവം Family Link ഉപയോഗിച്ച് വീട്ടിലിരുന്ന് മാനേജ് ചെയ്യാനാണ് നിങ്ങൾ ആഗ്രഹിക്കുന്നതെങ്കിലോ, ഈ പ്രൊഫൈലിലേക്ക് സ്‌കൂൾ അക്കൗണ്ട് ചേർക്കാൻ ചുവടെയുള്ള 'അടുത്തത്' ബട്ടണ്‍ ക്ലിക്ക് ചെയ്യുക.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ഡൗൺലോഡുചെയ്യുന്നു...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{പേജിൽ നിന്ന് പുറത്തുകടക്കുക}other{പേജുകളിൽ നിന്ന് പുറത്തുകടക്കുക}}</translation>
 <translation id="7207457272187520234">ഉപയോഗവും പ്രശ്‌നനിർണ്ണയവുമായി ബന്ധപ്പെട്ട ഡാറ്റ അയയ്ക്കുക. പ്രശ്‌നനിർണ്ണയം, ഉപകരണം, ആപ്പ് ഉപയോഗം എന്നിവയുമായി ബന്ധപ്പെട്ട ഡാറ്റ, ഈ ഉപകരണം നിലവിൽ സ്വയമേവ Google-ന് അയയ്ക്കുന്നുണ്ട്. സിസ്‌റ്റം, ആപ്പ് സ്ഥിരത, മറ്റ് മെച്ചപ്പെടുത്തലുകൾ എന്നിവയ്ക്ക് ഇത് സഹായിക്കും. ചില സംഗ്രഹ ഡാറ്റ, Google ആപ്പുകളെയും Android ഡെവലപ്പർമാരെപ്പോലുള്ള പങ്കാളികളെയും സഹായിക്കുകയും ചെയ്യും. ഈ ക്രമീകരണം നടപ്പിലാക്കിയിരിക്കുന്നത് ഉടമയാണ്. നിങ്ങളുടെ അധിക വെബ്, ആപ്പ് പ്രവർത്തനം ക്രമീകരണം ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ, ഈ ഡാറ്റ നിങ്ങളുടെ Google അക്കൗണ്ടിൽ സംരക്ഷിക്കപ്പെട്ടേക്കാം.</translation>
@@ -5158,7 +5147,6 @@
 <translation id="7388044238629873883">നിങ്ങൾ മിക്കവാറും പൂർത്തിയാക്കി!</translation>
 <translation id="7392118418926456391">വൈറസ് സ്‌കാൻ പരാജയപ്പെട്ടു</translation>
 <translation id="7392915005464253525">അടച്ച വിൻഡോ വീണ്ടും തു&amp;റക്കുക</translation>
-<translation id="7393472013449507620">"*" വൈൽഡ്‌കാർഡുകളുള്ള ക്രമീകരണം ഇനിയങ്ങോട്ട് പിന്തുണയ്‌ക്കുന്നില്ല. <ph name="BEGIN_LINK" />ഈ ക്രമീകരണം മാറ്റാൻ<ph name="END_LINK" /> വിപുലീകരണ ഡെവലപ്പറുമായോ അഡ്‌മിനുമായോ ബന്ധപ്പെടുക.</translation>
 <translation id="7396017167185131589">പങ്കിട്ട ഫോൾഡറുകൾ ഇവിടെ ദൃശ്യമാകും</translation>
 <translation id="7396845648024431313">നിങ്ങൾ മറ്റെല്ലാ <ph name="PRODUCT_NAME" /> വിൻഡോകളും അടച്ചുകഴിഞ്ഞാൽപ്പോലും, സിസ്‌റ്റം സ്‌റ്റാർട്ടപ്പിൽ <ph name="APP_NAME" /> സമാരംഭിച്ച് പശ്‌ചാത്തലത്തിൽ പ്രവർത്തിക്കുന്നത് തുടരും</translation>
 <translation id="7399045143794278225">സമന്വയിപ്പിക്കൽ ഇഷ്ടാനുസൃതമാക്കുക</translation>
@@ -5271,6 +5259,7 @@
 <translation id="7526989658317409655">പ്ലെയ്‌സ്‌ഹോൾഡർ</translation>
 <translation id="7529411698175791732">നിങ്ങളുടെ ഇന്റർനെറ്റ് കണക്ഷൻ പരിശോധിക്കുക. പ്രശ്‌നം തുടരുകയാണെങ്കിൽ, സൈൻ ഔട്ട് ചെയ്‌ത് വീണ്ടും സൈൻ ഇൻ ചെയ്യുന്നത് പരീക്ഷിക്കൂ.</translation>
 <translation id="7530016656428373557">ഡിസ്ചാർജ്ജ് നിരക്ക് വാട്‌സിൽ</translation>
+<translation id="7531310913436731628">Mac സിസ്‌റ്റം മുൻഗണനകളിൽ ലൊക്കേഷൻ ഓഫാക്കി</translation>
 <translation id="7531779363494549572">ക്രമീകരണം &gt; ആപ്പുകളും അറിയിപ്പുകളും &gt; അറിയിപ്പുകൾ എന്നതിലേക്ക് പോവുക.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> പ്രതികരിക്കുന്നില്ല. ആപ്പ് അടയ്ക്കാൻ, "നിർബന്ധിതമായി അടയ്ക്കുക" തിരഞ്ഞെടുക്കുക.</translation>
 <translation id="7537451260744431038">നിങ്ങളുടെ ബ്രൗസിംഗ് അനുഭവം മെച്ചപ്പെടുത്താൻ സൈറ്റുകൾക്ക് കുക്കികൾ ഉപയോഗിക്കാനാവില്ല, ഉദാഹരണത്തിന്, സൈൻ ഇൻ ചെയ്‌ത നിലയിൽ തുടരാനോ ഷോപ്പിംഗ് കാർട്ടിലെ ഇനങ്ങൾ ഓർമ്മിക്കാനോ</translation>
@@ -6051,7 +6040,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" />-നായി സംരക്ഷിച്ച പാസ്‌വേഡുകൾ</translation>
 <translation id="8472623782143987204">ഹാര്‍ഡ്‌വെയര്‍-ബാക്കപ്പ് ചെയ്തു</translation>
 <translation id="8473863474539038330">വിലാസങ്ങളും മറ്റും</translation>
-<translation id="8474733733775441349">നിങ്ങളുടെ Google അക്കൗണ്ടിൽ നിന്നുള്ള പാസ്‌വേഡുകൾ ദൃശ്യമാക്കുക</translation>
 <translation id="8475313423285172237">നിങ്ങളുടെ കമ്പ്യൂട്ടറിലെ മറ്റൊരു പ്രോഗ്രാം Chrome പ്രവർത്തിക്കുന്ന രീതി മാറ്റിയേക്കാവുന്ന ഒരു വിപുലീകരണം ചേർത്തു.</translation>
 <translation id="8477241577829954800">അസാധുവാക്കി</translation>
 <translation id="8477384620836102176">&amp;പൊതുവായത്</translation>
diff --git a/chrome/app/resources/generated_resources_mn.xtb b/chrome/app/resources/generated_resources_mn.xtb
index 3b578aa..1cdb134e 100644
--- a/chrome/app/resources/generated_resources_mn.xtb
+++ b/chrome/app/resources/generated_resources_mn.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Зөвхөн шифрлэх</translation>
 <translation id="1038462104119736705">Linux-д хамгийн багадаа <ph name="INSTALL_SIZE" />-н зайтай байхыг зөвлөж байна. Сул зайг нэмэгдүүлэхийн тулд төхөөрөмжөөсөө файлуудыг устгана уу.</translation>
 <translation id="1039337018183941703">Буруу эсвэл алдаатай файл</translation>
-<translation id="104086161873270383">Шинэ профайл</translation>
 <translation id="1041175011127912238">Энэ хуудас хариу өгөхгүй байна</translation>
 <translation id="1041263367839475438">Боломжтой байгаа төхөөрөмжүүд</translation>
 <translation id="1042174272890264476">Таны компьютер мөн <ph name="SHORT_PRODUCT_NAME" />-ын RLZ программын мэдээллийн сантай байдаг.  RLZ нь тодорхой кампанит ажлаар удирдуулсан хайлтууд болон <ph name="SHORT_PRODUCT_NAME" />-ын хэрэглээг хэмжих онцгой бус, мөн хувийн бус, тодорхойлох боломжтой цонхнуудыг ажиллуулдаг. Эдгээр хаягууд нь заримдаа <ph name="PRODUCT_NAME" /> дахь Google Хайлтын асуултуудад харагддаг.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> дэд хуудасны буцах товчлуур</translation>
 <translation id="1322046419516468189"><ph name="SAVED_PASSWORDS_STORE" />-д хадгалсан нууц үгнүүдийг харах болон удирдах</translation>
 <translation id="1324106254079708331">Зорилтот халдлагын эрсдэлд байгаа аливаа хүний хувийн Google Бүртгэлийг хамгаалдаг</translation>
-<translation id="1325985428688410772">Орон зай нэмэх</translation>
 <translation id="1326317727527857210">Бусад төхөөрөмжөөс чихтэй хуудсаа авахын тулд Chrome-д нэвтэрнэ үү.</translation>
 <translation id="1327074568633507428">Google Cloud Print дээрх принтер</translation>
 <translation id="1327272175893960498">Kerberos тасалбар</translation>
@@ -746,7 +744,6 @@
 <translation id="1868553836791672080">Chromium дээр нууц үг шалгах боломжгүй</translation>
 <translation id="1871534214638631766">Таныг контент дээр хулганынхаа баруун талыг товших эсвэл дээр нь удаан дарах үед холбоотой мэдээллийг харуулна</translation>
 <translation id="1871615898038944731">Таны <ph name="DEVICE_TYPE" />-г шинэчилсэн байна</translation>
-<translation id="1874835396235780806">Энэ болон бусад нууц үгийг Google Бүртгэлдээ хадгалах уу?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Табыг өөр цонх руу зөөх}other{Табуудыг өөр цонх руу зөөх}}</translation>
 <translation id="1875386316419689002">Энэ табыг HID төхөөрөмжид холбосон байна.</translation>
 <translation id="1875387611427697908">Үүнийг зөвхөн <ph name="CHROME_WEB_STORE" />-с нэмэх боломжтой</translation>
@@ -759,7 +756,6 @@
 <translation id="1884013283844450420">Сүлжээ: <ph name="NETWORK_COUNT" />-н <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, холбогдох</translation>
 <translation id="1884705339276589024">Linux дискийн хэмжээг өөрчлөх</translation>
 <translation id="1885106732301550621">Дискийн зай</translation>
-<translation id="1885190042244431215">Сургуулийн бүртгэл нэмснээр сурагч вэб сайтууд болон өргөтгөлүүдэд хялбар нэвтрэх боломжтой болох бөгөөд тэдний үйлдэл эцэг эхийн хяналтад хэвээр байх болно.</translation>
 <translation id="1886996562706621347">Сайтуудыг протоколуудын тогмтол удирдагч байхыг зөвшөөр (зөвлж байна)</translation>
 <translation id="1887442540531652736">Нэвтрэлтийн алдаа</translation>
 <translation id="1887597546629269384">"Hey Google" гэж дахин хэлнэ үү</translation>
@@ -2195,7 +2191,6 @@
 <translation id="3654045516529121250">Өөрийн нэвтрэх боломжит байдлын тохиргоонуудыг унш</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Энэ нь нэг файл руу байнга нэвтрэх эрхтэй байна.}other{Энэ нь # файл руу байнга нэвтрэх эрхтэй байна.}}</translation>
 <translation id="3660234220361471169">Найдваргүй</translation>
-<translation id="3661172646479098821">Одоогоор зөвхөн Android төхөөрөмжүүдийг дэмждэг.</translation>
 <translation id="3664511988987167893">Өргөтгөлийн дүрс тэмдэг</translation>
 <translation id="3665589677786828986">Chrome таны тохиргоонд өөр програмтай холбоотойгоор алдаа гарсныг илрүүлсэн тул тохиргоог үндсэн хэлбэрээр дахин тохируулна уу.</translation>
 <translation id="3668801437375206837">Bluetooth-н асуудлыг тогтооход Google-н ажилчид санал хүсэлтийн мэдэгдлээрээ Bluetooth-н нэмэлт логийг оруулах боломжтой. Энэ сонголтыг сонгоход таны мэдэгдэлд одоогийн харилцан үйлдлээс btsnoop болон HCI лог, PII-г аль болох ихийг хасахын тулд ариутгал хийхийг оруулна. Эдгээр лог руу Listnr-д хандахыг Chrome OS бүтээгдэхүүний бүлгийн менежерүүдэд хязгаарлана. Логуудийг 90 хоногийн дараа цэвэрлэх болно.</translation>
@@ -2766,6 +2761,7 @@
 <translation id="4370975561335139969">Таны оруулсан имэйл болон нууц үг таарахгүй байна</translation>
 <translation id="4374831787438678295">Linux суулгагч</translation>
 <translation id="4375035964737468845">Татаж авсан файлуудыг нээх</translation>
+<translation id="4376226992615520204">Байршил унтраалттай байна</translation>
 <translation id="4377363674125277448">Серверийн сертификат асуудалтай байсан.</translation>
 <translation id="4378154925671717803">Утас</translation>
 <translation id="4378373042927530923">Ажилдаггүй</translation>
@@ -2965,7 +2961,6 @@
 <translation id="4619615317237390068">Бусад төхөөрөмжний чихтэй хуудас</translation>
 <translation id="4620809267248568679">Энэ тохиргоог өргөтгөлөөр идэвхжүүлсэн байна.</translation>
 <translation id="4623189117674524348">Систем энэ төхөөрөмжийн API хандалтыг зөвшөөрч чадсангүй.</translation>
-<translation id="4624190781974168453">Эхлэхэд асуух</translation>
 <translation id="4625078469366263107">Аппыг идэвхжүүлэх</translation>
 <translation id="4627427111733173920">Күүкиг блоклосон</translation>
 <translation id="4627442949885028695">Өөр төхөөрөмжөөс үргэлжлүүлэх</translation>
@@ -3395,7 +3390,6 @@
 <translation id="5185386675596372454"><ph name="EXTENSION_NAME" />-ийн хамгийн сүүлийн хувилбар нь олон зөвшөөрөл шаарддаг учир идэвхгүй болсон байна.</translation>
 <translation id="5185500136143151980">Интернэт алга</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> ( <ph name="DEVICE" /> )</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" />-н сонголтын цэс</translation>
 <translation id="5190926251776387065">Портыг идэвхжүүлэх</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> хэд хэдэн файл татах хүсэлтэй байна</translation>
 <translation id="5192062846343383368">Хяналтынхаа тохиргоог харахын тулд Family Link аппыг нээнэ үү</translation>
@@ -3772,6 +3766,7 @@
 <translation id="5642508497713047">CRL гарын үсэг зурагч</translation>
 <translation id="5643321261065707929">Хязгаартай сүлжээ</translation>
 <translation id="5643620609347735571">Устгаад үргэлжлүүлэх</translation>
+<translation id="5646376287012673985">Байршил</translation>
 <translation id="5646558797914161501">Ажил хэрэгч хүн</translation>
 <translation id="5648166631817621825">Сүүлийн 7 хоног</translation>
 <translation id="5649053991847567735">Автоматаар татаж  авах файл</translation>
@@ -4477,7 +4472,6 @@
 <translation id="6531282281159901044">Аюултай файлыг хадгалах</translation>
 <translation id="6532101170117367231">Google Драйвд хадгалах</translation>
 <translation id="6532106788206463496">Өөрчлөлтийг хадгалах</translation>
-<translation id="6532113437901537254">Таны Google Бүртгэл дээрх нууц үгнүүд нь таныг нэвтэрсэн үед энэ төхөөрөмж дээр мөн боломжтой байх болно</translation>
 <translation id="6532206849875187177">Аюулгүй байдал болон нэвтрэлт</translation>
 <translation id="6532527800157340614">Таны хандалтын зүүлтийг сэргээж чадаагүй тул нэвтэрч чадсангүй. Сүлжээний холболтоо шалгаад дахин оролдоно уу.</translation>
 <translation id="6532663472409656417">Байгууллагад бүртгүүлсэн</translation>
@@ -5007,9 +5001,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />'-г устгасан</translation>
 <translation id="7201420661433230412">Файл харах</translation>
 <translation id="7203150201908454328">Өргөтгөсөн</translation>
-<translation id="7203826966018112936">Профайлд сургуулийн бүртгэл нэмснээр сурагч вэб сайтууд болон өргөтгөлүүдэд хялбар нэвтрэх боломжтой болох бөгөөд тэдний үйлдэл эцэг эхийн хяналтад хэвээр байх болно. Энэ нь хүүхдэд хавчуурга, нууц үг эсвэл сургуулийн бүртгэлтэй синк хийсэн хөтчийн бусад өгөгдөлд хандах эрх өгдөггүй.&lt;br&gt;&lt;br&gt;
-    Хэрэв танай хүүхэд сургуульдаа Chromebook-г ашигладаг бөгөөд та хүүхдээ шаардлагатай бүх хичээлдээ хандах эрхтэй эсэхийг баталгаажуулах зорилгоор сургуулийн туршлагыг гэртээ тусгахыг хүсэж байвал энэ Family Link-н бүртгэлээс гарч, Chrome үйлдлийн системийн бүртгэлийн хуудаснаас сургуулийн бүртгэлд нэвтэрнэ үү (санамж: Family Link-н эцэг эхийн хяналт хэрэгжихгүй).&lt;br&gt;&lt;br&gt;
-    Хэрэв танай хүүхэд сургуульдаа Chromebook-г ашигладаггүй буюу эсхүл та хүүхдийнхээ туршлагыг гэрээсээ Family Link ашиглан удирдахыг илүүд үзвэл сургуулийн бүртгэлийг энэ профайлд нэмэхийн тулд доорх "Дараах" товчлуурыг товшино уу.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" />-ийг татаж авч байна...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Хуудаснаас гарах}other{Хуудаснуудаас гарах}}</translation>
 <translation id="7207457272187520234">Ашиглалт болон оношилгооны өгөгдлийг илгээнэ үү. Энэ төхөөрөмж нь одоогоор оношилгоо, төхөөрөмж болон аппын ашиглалтын өгөгдлийг Google-д автоматаар илгээж байна. Энэ нь систем, аппын тогтвортой байдал болон бусад зүйлийг сайжруулахад тусална. Хуримтлуулсан зарим өгөгдөл нь Google-н аппууд болон Android хөгжүүлэгч зэрэг түншүүдэд мөн тусална. Энэ тохиргоог эзэмшигчийн зүгээс хэрэгжүүлнэ. Хэрэв таны Вэб, аппын нэмэлт үйл ажиллагааны тохиргоо асаалттай байвал энэ өгөгдлийг таны Google Бүртгэлд хадгалж болзошгүй.</translation>
@@ -5152,7 +5143,6 @@
 <translation id="7388044238629873883">Бараг л дуусаж байна!</translation>
 <translation id="7392118418926456391">Вирус шалгалт амжилтгүй боллоо</translation>
 <translation id="7392915005464253525">Хаагдсан цонхийг дахин нээ</translation>
-<translation id="7393472013449507620">"*" төлөөлөх тэмдэгтэй тохиргоог цаашид дэмжихээ больсон. <ph name="BEGIN_LINK" /> Эдгээр тохиргоог өөрчлөх<ph name="END_LINK" />-ийн тулд өргөтгөлийн хөгжүүлэгч эсвэл администратортайгаа холбогдоно уу.</translation>
 <translation id="7396017167185131589">Хуваалцсан фолдерууд энд харагдана</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> программыг систем эхлэхэд эхлүүлээд бусад <ph name="PRODUCT_NAME" /> цонхууд хаагдсан байсан ч программыг үргэлжлүүл.</translation>
 <translation id="7399045143794278225">Синк хийхийг өөрчлөх</translation>
@@ -5265,6 +5255,7 @@
 <translation id="7526989658317409655">Oрлуулагч</translation>
 <translation id="7529411698175791732">Интернет холболтоо шалгана уу. Асуудал үргэлжилсээр байвал гараад, дахин нэвтэрнэ үү.</translation>
 <translation id="7530016656428373557">Ватт хэмжигдэхүүнээр цэнэггүй болгох</translation>
+<translation id="7531310913436731628">Байршил Mac-н системийн тохиргоон дээр унтраалттай байна</translation>
 <translation id="7531779363494549572">Toхиргоо &gt; Апп, мэдэгдэл &gt; Мэдэгдэл рүү очно уу.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> хариулахгүй байна. Аппыг хаахын тулд "Хүчээр хаах"-г сонгоно уу.</translation>
 <translation id="7537451260744431038">Сайтууд нь, жишээлбэл таныг нэвтэрсэн хэвээр байлгах эсвэл таны худалдан авалтын сагсны зүйлсийг санах зэргээр таны үзэх туршлагыг сайжруулахад күүки ашиглах боломжгүй</translation>
@@ -6041,7 +6032,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" />-н хадгалсан нууц үг</translation>
 <translation id="8472623782143987204">Техник хангамж дээр тулгуурласан</translation>
 <translation id="8473863474539038330">Хаяг болон бусад</translation>
-<translation id="8474733733775441349">Таны Google Бүртгэл дээрх нууц үгнүүдийг харуулах</translation>
 <translation id="8475313423285172237">Таны компьютер дээрх программ өргөтгөл нэмсэн байна. Энэ нь Chrome-ийн ажиллагаанд нөлөөлж болох юм.</translation>
 <translation id="8477241577829954800">Хүчингүй болсон байна</translation>
 <translation id="8477384620836102176">&amp;Ерөнхий</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index 3ac478b..8e339e9 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">केवळ एनसिफर</translation>
 <translation id="1038462104119736705">Linux साठी किमान <ph name="INSTALL_SIZE" /> जागेची शिफारस केली जाते. मोकळी जागा वाढवण्यासाठी, तुमच्या डिव्हाइसमधून फाइल हटवा.</translation>
 <translation id="1039337018183941703">चुकीची किंवा दूषित फाइल</translation>
-<translation id="104086161873270383">नवीन प्रोफाइल</translation>
 <translation id="1041175011127912238">हे पेज प्रतिसाद देत नाही</translation>
 <translation id="1041263367839475438">उपलब्ध असलेली डिव्हाइस</translation>
 <translation id="1042174272890264476">तुमचा कॉंप्युटर देखील <ph name="SHORT_PRODUCT_NAME" />च्या RLZ वाचनालयासह बिल्ट-इन आला आहे. एका विशिष्ट जाहिरात मोहीमेद्वारे चालविलेला शोध आणि <ph name="SHORT_PRODUCT_NAME" /> वापर मोजण्यासाठी RLZ एक अद्वितीय-नसलेला, वैयक्तिकरित्या-ओळखता न येणारा टॅग नियुक्त करते. <ph name="PRODUCT_NAME" /> मधील Google Search क्वेरींमध्ये ही लेबल काहीवेळा दिसतात.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> सबपेजचे मागे जा बटण</translation>
 <translation id="1322046419516468189">सेव्ह केलेले पासवर्ड तुमच्या <ph name="SAVED_PASSWORDS_STORE" /> मध्ये पाहा आणि व्यवस्थापित करा</translation>
 <translation id="1324106254079708331">लक्ष्यित हल्ल्यांचा धोका असलेल्या कोणाच्याही वैयक्तिक Google खात्यांचे संरक्षण करते</translation>
-<translation id="1325985428688410772">स्पेस जोडा</translation>
 <translation id="1326317727527857210">आपल्या इतर डिव्हाइसेसवरील तुमचे टॅब प्राप्त करण्यासाठी, Chrome मध्ये साइन इन करा.</translation>
 <translation id="1327074568633507428">Google क्लाउड प्रिंट वरील प्रिंटर</translation>
 <translation id="1327272175893960498">Kerberos तिकिटे</translation>
@@ -749,7 +747,6 @@
 <translation id="1868553836791672080">Chromium मध्ये पासवर्ड तपासणी उपलब्ध नाही</translation>
 <translation id="1871534214638631766">तुम्ही आशयावर राइट क्लिक करता किंवा दाबून ठेवता तेव्हा त्यासंबंधित माहिती दाखवा</translation>
 <translation id="1871615898038944731">तुमचे <ph name="DEVICE_TYPE" /> अद्ययावत आहे</translation>
-<translation id="1874835396235780806">हा आणि इतर पासवर्ड तुमच्या Google खाते मध्ये सेव्ह करायचे का?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{टॅब दुसर्‍या विंडोवर हलवा}other{टॅब दुसर्‍या विंडोवर हलवा}}</translation>
 <translation id="1875386316419689002">हा टॅब HID डिव्हाइसशी कनेक्ट केला आहे.</translation>
 <translation id="1875387611427697908">हे केवळ <ph name="CHROME_WEB_STORE" /> वरून जोडले जाऊ शकते</translation>
@@ -762,7 +759,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" /> पैकी <ph name="NETWORK_INDEX" /> नेटवर्क, <ph name="NETWORK_NAME" />, कनेक्ट करा</translation>
 <translation id="1884705339276589024">Linux डिस्कचा आकार बदला</translation>
 <translation id="1885106732301550621">डिस्क जागा</translation>
-<translation id="1885190042244431215">शाळेचे खाते जोडल्याने पालकांच्या नियंत्रणाखाली वापरत असतानादेखील एक विद्यार्थी म्हणून वेबसाइट आणि एक्स्टेंशनमध्ये सहजरीत्या साइन इन करता येते.</translation>
 <translation id="1886996562706621347">प्रोटोकॉलकरिता डीफॉल्ट हँडलर होण्यासाठी साइटना विचारण्याची अनुमती द्या</translation>
 <translation id="1887442540531652736">साइन इन एरर</translation>
 <translation id="1887597546629269384">पुन्हा "Hey Google" म्हणा</translation>
@@ -2199,7 +2195,6 @@
 <translation id="3654045516529121250">तुमच्या ॲक्सेस योग्यता सेटिंग्ज वाचा</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{यास एका फाईलवर कायमचा प्रवेश आहे.}other{यास # फाइलवर कायमचा प्रवेश आहे.}}</translation>
 <translation id="3660234220361471169">अविश्‍वासू</translation>
-<translation id="3661172646479098821">सध्या फक्त Android डिव्हाइसना सपोर्ट आहे.</translation>
 <translation id="3664511988987167893">एक्स्टेंशन आयकन</translation>
 <translation id="3665589677786828986">Chrome ला आढळले आहे की आपल्या काही सेटिंग्ज दुसर्‍या प्रोग्रामद्वारे दूषित झाल्या होत्या आणि त्यांच्या मूळ डीफॉल्टवर त्या रीसेट केल्या.</translation>
 <translation id="3668801437375206837">ब्लूटूथ समस्यांचे निदान चांगल्या प्रकारे करण्यासाठी, Googlers त्यांच्या फीडबॅक अहवालासह अतिरिक्त ब्लूटूथ लॉगचा समावेश करू शकतात. हा पर्याय निवडल्यास, तुमच्या अहवालात तुमच्या सध्याच्या सत्रातून शक्य तेवढे PII काढून टाकण्यासाठी btsnoop आणि HCI लॉगचा समावेश असेल. या लॉगचा ॲक्सेस Listnr मधील Chrome OS उत्पादन गटाच्या व्यवस्थापकांपर्यंत मर्यादित राहिल. ९० दिवसांनंतर लॉग कायमचे काढून टाकले जातील.</translation>
@@ -2769,6 +2764,7 @@
 <translation id="4370975561335139969">तुम्ही एंटर केलेला ईमेल आणि पासवर्ड जुळत नाही</translation>
 <translation id="4374831787438678295">Linux इंस्टॉलर</translation>
 <translation id="4375035964737468845">डाउनलोड केलेल्या फाइल उघडा</translation>
+<translation id="4376226992615520204">स्थान बंद केले</translation>
 <translation id="4377363674125277448">सर्व्हरच्या सर्टिफिकेटस समस्या आली.</translation>
 <translation id="4378154925671717803">फोन</translation>
 <translation id="4378373042927530923">रन झाले नाही</translation>
@@ -2968,7 +2964,6 @@
 <translation id="4619615317237390068">अन्य डिव्हाइसेसमधील टॅब</translation>
 <translation id="4620809267248568679">या सेटिंगची एक्स्टेंशनद्वारे अंमलबजावणी कली जाते.</translation>
 <translation id="4623189117674524348">सिस्टमला या डिव्हाइससाठी API ॲक्सेसला परवानगी देता आली नाही.</translation>
-<translation id="4624190781974168453">स्टार्टअपच्‍या वेळी विचारा</translation>
 <translation id="4625078469366263107">अ‍ॅप सुरू करा</translation>
 <translation id="4627427111733173920">कुकीज ब्लॉक केल्या</translation>
 <translation id="4627442949885028695">दुसर्‍या डिव्हाइस वरून सुरू ठेवा</translation>
@@ -3398,7 +3393,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" ची नवीनतम आवृत्ती अक्षम केली गेली कारण यासाठी अधिक परवानग्या आवश्यक आहेत.</translation>
 <translation id="5185500136143151980">इंटरनेट नाही</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> साठी पर्याय मेनू</translation>
 <translation id="5190926251776387065">पोर्ट सुरू करा</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ला एकाहून अधिक फाइल डाउनलोड करायच्या आहेत</translation>
 <translation id="5192062846343383368">तुमची पर्यवेक्षण सेटिंग्ज पाहण्यासाठी Family Link ॲप उघडा</translation>
@@ -3774,6 +3768,7 @@
 <translation id="5642508497713047">CRL स्वाक्षरीकर्ता</translation>
 <translation id="5643321261065707929">मर्यादित नेटवर्क</translation>
 <translation id="5643620609347735571">साफ करा आणि सुरू ठेवा</translation>
+<translation id="5646376287012673985">स्थान</translation>
 <translation id="5646558797914161501">व्यवसायी</translation>
 <translation id="5648166631817621825">अखेरच्या 7 दिवसांमधील</translation>
 <translation id="5649053991847567735">स्वयंचलित डाउनलोड</translation>
@@ -4010,7 +4005,7 @@
 <translation id="5939518447894949180">रीसेट करा</translation>
 <translation id="5941153596444580863">व्यक्ती जोडा...</translation>
 <translation id="5941343993301164315">कृपया <ph name="TOKEN_NAME" /> मध्ये साइन इन करा.</translation>
-<translation id="5941711191222866238">लहान करा</translation>
+<translation id="5941711191222866238">कमी करा</translation>
 <translation id="5942964813783878922">या अपडेटनंतर तुमचे <ph name="DEVICE_TYPE" /> रीस्टार्ट होईल. भविष्यातील सॉफ्टवेअर आणि सुरक्षितता अपडेट आपोआप इंस्टॉल होतील.</translation>
 <translation id="5944869793365969636">QR कोड स्कॅन करा</translation>
 <translation id="5946591249682680882">अहवाल आयडी <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4481,7 +4476,6 @@
 <translation id="6531282281159901044">धोकादायक फाईल ठेवा</translation>
 <translation id="6532101170117367231">Google ड्राइव्ह मध्ये सेव्ह करा</translation>
 <translation id="6532106788206463496">बदल सेव्ह करा</translation>
-<translation id="6532113437901537254">तुमच्या Google खाते मधील पासवर्ड तुम्ही साइन इन केलेले असताना या डिव्हाइसवरदेखील उपलब्ध असतील</translation>
 <translation id="6532206849875187177">सुरक्षितता आणि साइन इन करा</translation>
 <translation id="6532527800157340614">साइन इन करता आले नाही कारण तुमचे ॲक्सेस टोकन पुन्हा मिळवता आले नाही. कृपया तुमचे नेटवर्क कनेक्शन तपासा आणि पुन्हा प्रयत्न करा.</translation>
 <translation id="6532663472409656417">एंटरप्राइझची नोंदणी केली</translation>
@@ -5011,9 +5005,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' हटवले</translation>
 <translation id="7201420661433230412">फाइल पहा</translation>
 <translation id="7203150201908454328">विस्‍तृत केलेले</translation>
-<translation id="7203826966018112936">प्रोफाइलवर शाळा खाते जोडल्याने पालक नियंत्रणाखाली ऑपरेट करत असताना विद्यार्थी म्हणून वेबसाइट आणि एक्स्टेंशनमध्ये सहजपणे साइन इन करता येते. ते तुमच्या मुलाला बुकमार्क, पासवर्ड किंवा शाळा खात्याशी सिंक केलेल्या इतर ब्राउझर डेटाचा अ‍ॅक्सेस देत नाही.&lt;br&gt;&lt;br&gt;
-    तुमचे मूल शाळेत Chromebook वापरत असल्यास आणि तुमच्या मुलाला सर्व आवश्यक शालेय कामाचा अ‍ॅक्सेस असेल याची खात्री करण्यासाठी तुम्हाला शाळेतील अनुभव घरात प्रतिबिंबित करायचा असल्यास, कृपया या Family Link खात्यामधून साइन आउट करा आणि Chrome OS खाती पेजमधून शाळा खात्यामध्ये साइन इन करा (टीप: Family Link पालक नियंत्रणे लागू होणार नाहीत).&lt;br&gt;&lt;br&gt;
-    तुमचे मूल शाळेत Chromebook वापरत नसल्यास किंवा तुम्हाला घरीच Family Link वापरून तुमच्या मुलाचा अनुभव व्यवस्थापित करण्यास प्राधान्य द्यायचे असल्यास, या प्रोफाइलवर शाळा खाते जोडण्यासाठी खाली दिलेल्या पुढील बटणावर क्लिक करा.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> डाउनलोड करीत आहे...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{पेजमधून बाहेर या}other{पेजमधून बाहेर या}}</translation>
 <translation id="7207457272187520234">वापर आणि निदान डेटा पाठवा. हे डिव्हाइस सध्या Google ला निदान, डिव्हाइस आणि अ‍ॅप वापर डेटा आपोआप पाठवत आहे. हे सिस्टम व अ‍ॅप स्थिरता आणि इतर सुधारणांमध्ये मदत करेल. काही एकत्रित केलेला डेटा Google अ‍ॅप्स आणि Android डेव्हलपर यांसारख्या भागीदारांनादेखील मदत करेल. हे सेटिंग मालकाद्वारे लागू केले जाते. तुमचे अतिरिक्त वेब आणि अ‍ॅप अ‍ॅक्टिव्हिटी सेटिंग सुरू केलेले असल्यास, हा डेटा तुमच्या Google खाते वर सेव्ह केला जाऊ शकतो.</translation>
@@ -5156,7 +5147,6 @@
 <translation id="7388044238629873883">तुम्ही जवळपास पूर्ण केले!</translation>
 <translation id="7392118418926456391">व्हायरस स्कॅन अयशस्वी</translation>
 <translation id="7392915005464253525">बंद केलेली विंडो पु&amp;न्हा उघडा</translation>
-<translation id="7393472013449507620">"*" वाइल्डकार्ड असलेल्या सेटिंग्जना यापुढे सपोर्ट नाही. <ph name="BEGIN_LINK" />ही सेटिंग्ज बदलण्यासाठी<ph name="END_LINK" /> एक्स्टेंशन डेव्हलपर किंवा तुमच्या अ‍ॅडमिनिस्ट्रेटरशी संपर्क साधा.</translation>
 <translation id="7396017167185131589">शेअर केलेली फोल्डर येथे दिसतील</translation>
 <translation id="7396845648024431313">सिस्टीम सुरूाच्या वेळी <ph name="APP_NAME" /> लाँच होईल आणि एकदा तुम्ही सर्व अन्य <ph name="PRODUCT_NAME" /> विंडो बंद केल्यानंतर बॅकग्राउंडमध्ये चालणे सुरू ठेवेल.</translation>
 <translation id="7399045143794278225">सिंक कस्टमाइझ करा</translation>
@@ -5269,6 +5259,7 @@
 <translation id="7526989658317409655">प्लेसहोल्डर</translation>
 <translation id="7529411698175791732">तुमचे इंटरनेट कनेक्शन तपासा. समस्या कायम राहिल्यास, साइन आउट करून आणि पुन्हा साइन इन करून पहा.</translation>
 <translation id="7530016656428373557">डिस्चार्ज रेट वॉट्स मध्ये</translation>
+<translation id="7531310913436731628">Mac सिस्टम प्राधान्ये मध्ये स्थान बंद केले आहे</translation>
 <translation id="7531779363494549572">सेटिंग्‍ज &gt; ॲप्‍स आणि सूचना &gt; सूचना वर जा.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> प्रतिसाद देत नाही. ॲप बंद करण्यासाठी "सक्तीने बंद करा" निवडा.</translation>
 <translation id="7537451260744431038">तुमच्या ब्राउझिंग अनुभवात सुधारणा करण्यासाठी, उदाहरणार्थ, तुम्हाला साइन इन केलेले ठेवण्यासाठी किंवा तुमच्या शॉपिंग कार्टमधील आयटम लक्षात ठेवण्यासाठी साइट कुकी वापरू शकत नाहीत</translation>
@@ -6047,7 +6038,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> साठी सेव्ह केलेले पासवर्ड</translation>
 <translation id="8472623782143987204">हार्डवेअर-बॅक्ड</translation>
 <translation id="8473863474539038330">पत्ते आणि बरेच काही</translation>
-<translation id="8474733733775441349">तुमच्या Google खाते मधील पासवर्ड दाखवा</translation>
 <translation id="8475313423285172237">तुमच्या कॉंप्युटरवरील दुसऱ्या प्रोग्रामने Chrome च्या काम करण्याचा मार्ग बदलू शकणारा एक्स्टेंशन जोडला.</translation>
 <translation id="8477241577829954800">अधिग्रहित</translation>
 <translation id="8477384620836102176">&amp;सामान्य</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb
index 6d385296..752345e 100644
--- a/chrome/app/resources/generated_resources_ms.xtb
+++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Encipher Sahaja</translation>
 <translation id="1038462104119736705">Sekurang-kurangnya <ph name="INSTALL_SIZE" /> ruang disyorkan untuk Linux. Untuk meningkatkan ruang kosong, padamkan fail daripada peranti anda.</translation>
 <translation id="1039337018183941703">Fail tidak sah atau rosak</translation>
-<translation id="104086161873270383">Profil Baharu</translation>
 <translation id="1041175011127912238">Halaman ini tidak bertindak balas</translation>
 <translation id="1041263367839475438">Peranti yang tersedia</translation>
 <translation id="1042174272890264476">Komputer anda juga disertakan dengan pustaka RLZ <ph name="SHORT_PRODUCT_NAME" /> terbina dalam. RLZ memperuntukkan tanda nama tidak unik yang tidak boleh mengenal pasti secara peribadi untuk mengukur carian dan penggunaan <ph name="SHORT_PRODUCT_NAME" /> yang didorong oleh kempen galakan tertentu. Label ini kadangkala dipaparkan dalam pertanyaan Carian Google dalam <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Butang kembali subhalaman <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Lihat dan urus kata laluan yang disimpan dalam <ph name="SAVED_PASSWORDS_STORE" /> anda</translation>
 <translation id="1324106254079708331">Melindungi Akaun Google peribadi sesiapa yang berisiko menghadapi serangan bertumpu</translation>
-<translation id="1325985428688410772">Tambahkan Ruang</translation>
 <translation id="1326317727527857210">Log masuk ke Chrome untuk mendapatkan tab daripada peranti anda yang lain.</translation>
 <translation id="1327074568633507428">Pencetak di Cetakan Awan Google</translation>
 <translation id="1327272175893960498">Tiket Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Semakan kata laluan tidak tersedia dalam Chromium</translation>
 <translation id="1871534214638631766">Tunjukkan maklumat yang berkaitan apabila anda mengklik kanan atau menekan lama pada kandungan</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> anda sudah dikemas kini</translation>
-<translation id="1874835396235780806">Simpan kata laluan ini dan yang lain dalam Akaun Google anda?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Alihkan tab ke tetingkap lain}other{Alihkan tab ke tetingkap lain}}</translation>
 <translation id="1875386316419689002">Tab ini disambungkan kepada peranti HID.</translation>
 <translation id="1875387611427697908">Item ini hanya boleh ditambahkan daripada <ph name="CHROME_WEB_STORE" />.</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Rangkaian <ph name="NETWORK_INDEX" /> daripada <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, Sambung</translation>
 <translation id="1884705339276589024">Ubah saiz cakera Linux</translation>
 <translation id="1885106732301550621">Ruang cakera</translation>
-<translation id="1885190042244431215">Tindakan menambah akaun sekolah membolehkan anda log masuk dengan mudah ke tapak web dan sambungan sebagai pelajar dan dalam masa yang sama masih beroperasi di bawah kawalan ibu bapa.</translation>
 <translation id="1886996562706621347">Benarkan tapak meminta untuk menjadi pengendali lalai untuk protokol (disyorkan)</translation>
 <translation id="1887442540531652736">Ralat log masuk</translation>
 <translation id="1887597546629269384">Sebut "Hey Google" sekali lagi</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Baca tetapan kebolehaksesan anda</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Apl mempunyai akses tetap kepada satu fail.}other{Apl mempunyai akses tetap kepada # fail.}}</translation>
 <translation id="3660234220361471169">Tidak Dipercayai</translation>
-<translation id="3661172646479098821">Hanya peranti Android disokong pada masa ini.</translation>
 <translation id="3664511988987167893">Ikon Sambungan</translation>
 <translation id="3665589677786828986">Chrome mengesan bahawa sesetengah tetapan anda telah terganggu oleh program lain dan menetapkannya semula kepada tetapan lalainya yang asal.</translation>
 <translation id="3668801437375206837">Untuk mendiagnosis isu Bluetooth dengan lebih berkesan, Googler boleh menyertakan log Bluetooth tambahan dengan laporan maklum balas mereka. Apabila pilihan ini ditandai, laporan anda akan merangkumi log btsnoop dan HCI daripada sesi semasa anda, yang telah dibersihkan untuk mengalih keluar sebanyak mungkin PII. Akses kepada log ini akan dihadkan kepada pengurus kumpulan produk OS Chrome dalam Listnr. Log akan dihapuskan selepas 90 hari.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">E-mel dan kata laluan yang anda masukkan tidak padan</translation>
 <translation id="4374831787438678295">Pemasang Linux</translation>
 <translation id="4375035964737468845">Buka fail yang dimuat turun</translation>
+<translation id="4376226992615520204">Lokasi dimatikan</translation>
 <translation id="4377363674125277448">Berlaku masalah dengan sijil pelayan.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Tidak Berjalan</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Tab daripada peranti lain</translation>
 <translation id="4620809267248568679">Tetapan ini dikuatkuasakan oleh sambungan.</translation>
 <translation id="4623189117674524348">Sistem gagal membenarkan akses API untuk peranti ini.</translation>
-<translation id="4624190781974168453">Tanya pada permulaan</translation>
 <translation id="4625078469366263107">Dayakan Apl</translation>
 <translation id="4627427111733173920">Kuki disekat</translation>
 <translation id="4627442949885028695">Teruskan daripada peranti lain</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Versi terbaharu "<ph name="EXTENSION_NAME" />" telah dilumpuhkan kerana ia memerlukan lebih banyak kebenaran.</translation>
 <translation id="5185500136143151980">Tiada Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menu pilihan untuk <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktifkan port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> mahu memuat turun berbilang fail</translation>
 <translation id="5192062846343383368">Buka apl Family Link untuk melihat tetapan pengawasan anda</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">Penandatangan CRL</translation>
 <translation id="5643321261065707929">Rangkaian bermeter</translation>
 <translation id="5643620609347735571">Kosongkan dan teruskan</translation>
+<translation id="5646376287012673985">Lokasi</translation>
 <translation id="5646558797914161501">Ahli perniagaan</translation>
 <translation id="5648166631817621825">7 hari terakhir</translation>
 <translation id="5649053991847567735">Muat turun automatik</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Simpan fail berbahaya</translation>
 <translation id="6532101170117367231">Simpan ke Google Drive</translation>
 <translation id="6532106788206463496">Simpan perubahan</translation>
-<translation id="6532113437901537254">Kata laluan daripada Akaun Google anda juga akan tersedia pada peranti ini semasa anda log masuk</translation>
 <translation id="6532206849875187177">Keselamatan dan log masuk</translation>
 <translation id="6532527800157340614">Log masuk gagal kerana token akses anda tidak boleh didapatkan kembali. Sila semak sambungan rangkaian dan cuba lagi.</translation>
 <translation id="6532663472409656417">Perusahaan Didaftarkan</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' dipadamkan</translation>
 <translation id="7201420661433230412">Lihat fail</translation>
 <translation id="7203150201908454328">Diperluas</translation>
-<translation id="7203826966018112936">Tindakan menambahkan akaun sekolah pada profil membolehkan anda log masuk dengan mudah ke tapak web dan sambungan sebagai pelajar dan dalam masa yang sama beroperasi di bawah kawalan ibu bapa. Tindakan ini tidak memberi kanak-kanak akses kepada penanda halaman, kata laluan atau data penyemak imbas lain yang disegerakkan dengan akaun sekolah.&lt;br&gt;&lt;br&gt;
-Jika anak anda menggunakan Chromebook di sekolah dan anda ingin mencerminkan pengalaman sekolah di rumah untuk memastikan anak anda mempunyai akses kepada semua kerja sekolah yang diperlukan, sila log keluar daripada akaun Family Link ini dan log masuk ke akaun sekolah daripada halaman akaun OS Chrome (nota: kawalan ibu bapa Family Link tidak akan digunakan).&lt;br&gt;&lt;br&gt;
-Jika anak anda tidak menggunakan Chromebook di sekolah atau jika anda lebih suka mengurus pengalaman anak anda di rumah menggunakan Family Link, sila klik butang Seterusnya di bawah untuk menambahkan akaun sekolah pada profil ini.</translation>
 <translation id="7206693748120342859">Memuat turun <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Keluar daripada halaman}other{Keluar daripada halaman}}</translation>
 <translation id="7207457272187520234">Hantar data penggunaan dan diagnostik. Pada masa ini, peranti ini menghantar data diagnostik dan penggunaan peranti serta apl kepada Google secara automatik. Data ini akan membantu peningkatan kestabilan sistem dan apl serta pelbagai lagi. Sesetengah data agregat juga akan membantu apl dan rakan kongsi Google, seperti pembangun Android. Tetapan ini dikuatkuasakan oleh pemilik. Jika tetapan Aktiviti Web &amp; Apl tambahan anda dihidupkan, data ini mungkin disimpan pada Akaun Google anda.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Anda hampir selesai!</translation>
 <translation id="7392118418926456391">Imbasan virus gagal</translation>
 <translation id="7392915005464253525">B&amp;uka semula tetingkap ditutup</translation>
-<translation id="7393472013449507620">Tetapan dengan kad bebas "*" sudah tidak disokong. Hubungi pembangun sambungan atau pentadbir anda untuk <ph name="BEGIN_LINK" /> menukar tetapan ini<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Folder dikongsi akan dipaparkan di sini</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> akan melancarkan permulaan sistem dan terus dijalankan di latar belakang walaupun sebaik sahaja anda menutup semua tetingkap <ph name="PRODUCT_NAME" /> lain.</translation>
 <translation id="7399045143794278225">Sesuaikan penyegerakan</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Pemegang tempat</translation>
 <translation id="7529411698175791732">Semak sambungan Internet anda. Jika masalah ini masih berterusan, cuba log keluar dan log masuk semula.</translation>
 <translation id="7530016656428373557">Kadar Nyahcas dalam Watt</translation>
+<translation id="7531310913436731628">Lokasi dimatikan dalam Pilihan Sistem Mac</translation>
 <translation id="7531779363494549572">Pergi ke Tetapan &gt; Apl &amp; pemberitahuan &gt; Pemberitahuan.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> tiada respons. Pilih "Paksa tutup" untuk menutup apl.</translation>
 <translation id="7537451260744431038">Tapak tidak boleh menggunakan kuki untuk memperbaik pengalaman penyemakan imbas anda, contohnya, untuk mengekalkan log masuk anda atau untuk mengingat item dalam troli beli-belah anda</translation>
@@ -6052,7 +6043,6 @@
 <translation id="8470513973197838199">Kata laluan disimpan untuk <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">disokong perkakasan</translation>
 <translation id="8473863474539038330">Alamat dan pelbagai lagi</translation>
-<translation id="8474733733775441349">Tunjukkan kata laluan daripada Akaun Google anda</translation>
 <translation id="8475313423285172237">Program lain pada komputer anda menambah sambungan yang boleh mengubah cara Chrome berfungsi.</translation>
 <translation id="8477241577829954800">Menggantikan</translation>
 <translation id="8477384620836102176">&amp;Umum</translation>
diff --git a/chrome/app/resources/generated_resources_my.xtb b/chrome/app/resources/generated_resources_my.xtb
index eaf7bdb8..5bc3dc4 100644
--- a/chrome/app/resources/generated_resources_my.xtb
+++ b/chrome/app/resources/generated_resources_my.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">ကုဒ်သွင်းမှု သာလျှင်</translation>
 <translation id="1038462104119736705">Linux အတွက် အနည်းဆုံး နေရာ <ph name="INSTALL_SIZE" /> ရှိရန် အကြံပြုပါသည်။ နေရာလွတ်ပိုရရန် သင့်စက်မှ ဖိုင်များကို ဖျက်ပါ။</translation>
 <translation id="1039337018183941703">မမှန်ကန်သော သို့မဟုတ် ပျက်စီးနေသောဖိုင်</translation>
-<translation id="104086161873270383">ပရိုဖိုင် အသစ်</translation>
 <translation id="1041175011127912238">ဤစာမျက်နှာသည် တုံ့ပြန်မှုမရှိပါ</translation>
 <translation id="1041263367839475438">ရနိုင်သော စက်များ</translation>
 <translation id="1042174272890264476">သင်၏ ကွန်ပျူတာထဲတွင်ပါ <ph name="SHORT_PRODUCT_NAME" />၏ RLZ စာကြည့်တိုက် ထည့်သွင်းပြီး ဖြစ်သည်။ RLZ က တစ်ဦးတည်းပိုင် မဟုတ်သော၊ ကိုယ်ပိုင် မဟုတ်သော ထောက်ပြရနိုင်သည့် တဲဘ်ကို သတ်မှတ်ပေးလျက် မြှင့်တင်ရေး အစီအစဉ် တစ်ခုက လှုံ့ဆော်ပေးလိုက်သည့် ရှာဖွေမှုုများ နှင့် <ph name="SHORT_PRODUCT_NAME" /> သုံးစွဲမှုုကို တိုင်းထွာပေးသည်။ ထို တံဆိပ်များမှာ တခါတရံ <ph name="PRODUCT_NAME" /> ထဲက Google ရှာဖွေမှု မေးမြန်းချက်များထဲမှာ ပါလာတတ်ကြသည်။</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> အတွင်းပိုင်းစာမျက်နှာ နောက်ပြန်ခလုတ်</translation>
 <translation id="1322046419516468189">သိမ်းဆည်းထားသည့် စကားဝှက်များကို သင်၏ <ph name="SAVED_PASSWORDS_STORE" /> တွင် ကြည့်ရှုစီမံပါ</translation>
 <translation id="1324106254079708331">ပစ်မှတ်ထား တိုက်ခိုက်မှုကို ခံနေရသူများ၏ ကိုယ်ပိုင်သုံး Google အကောင့်များကို ကာကွယ်ပေးသည်</translation>
-<translation id="1325985428688410772">Space ထည့်ပါ</translation>
 <translation id="1326317727527857210">အခြားစက်ပစ္စည်းများမှ တဘ်များကို အသုံးပြုရန် Chrome သို့လက်မှတ်ထိုးဝင်ပါ။</translation>
 <translation id="1327074568633507428">Google Cloud ပရင့် ပေါ်ရှိ ပရင်တာ</translation>
 <translation id="1327272175893960498">Kerberos လက်မှတ်များ</translation>
@@ -751,7 +749,6 @@
 <translation id="1868553836791672080">စကားဝှက်စစ်ဆေးမှုကို Chromium တွင် မရနိုင်ပါ</translation>
 <translation id="1871534214638631766">အကြောင်းအရာကို ဖိထားလျှင် သို့မဟုတ် ညာဘက်ခလုတ်ကို နှိပ်လိုက်လျှင် ရှိုးနှင့်ပတ်သက်သည့် အချက်အလက်များပြပါမည်</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> ကို အပ်ဒိတ်လုပ်ပြီးသားဖြစ်သည်</translation>
-<translation id="1874835396235780806">၎င်းနှင့် အခြားစကားဝှက်များကို သင်၏ Google Account တွင် သိမ်းမလား။</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{တဘ်ကို ဝင်းဒိုးနောက်တစ်ခုသို့ ရွှေ့ရန်}other{တဘ်များကို ဝင်းဒိုးနောက်တစ်ခုသို့ ရွှေ့ရန်}}</translation>
 <translation id="1875386316419689002">ဤတဘ်သည် HID စက်ပစ္စည်းတစ်ခုသို့ ချိတ်ဆက်ထားသည်။</translation>
 <translation id="1875387611427697908">၎င်းကို <ph name="CHROME_WEB_STORE" /> မှသာ ထည့်သွင်းနိုင်သည်</translation>
@@ -764,7 +761,6 @@
 <translation id="1884013283844450420">ကွန်ရက် <ph name="NETWORK_COUNT" /> ခုအနက်မှ <ph name="NETWORK_INDEX" />၊ <ph name="NETWORK_NAME" />၊ ချိတ်ဆက်ရန်</translation>
 <translation id="1884705339276589024">Linux ဒစ်ခ်ကို အရွယ်အစားပြန်ပြင်ခြင်း</translation>
 <translation id="1885106732301550621">ဒစ်ခ်နေရာ</translation>
-<translation id="1885190042244431215">ကျောင်းအကောင့်ထည့်ခြင်းဖြင့် မိဘ အထိန်းအချုပ်များအောက်တွင် အသုံးပြုနေစဉ် ကျောင်းသားအဖြစ် ဝဘ်ဆိုက်နှင့် နောက်ဆက်တွဲများသို့ အလွယ်တကူ လက်မှတ်ထိုးဝင်နိုင်သည်။</translation>
 <translation id="1886996562706621347">ဆိုက်များအား ပရိုတိုကောများ အတွက် ပုံသေ ကိုင်တွယ်သူများ ဖြစ်လာရန် တောင်းခွင့် ပြုရန်</translation>
 <translation id="1887442540531652736">လက်မှတ်ထိုးဝင်ခြင်း အမှားအယွင်း</translation>
 <translation id="1887597546629269384">"ဟေး Google" ဟု ထပ်ပြောပါ</translation>
@@ -2201,7 +2197,6 @@
 <translation id="3654045516529121250">သင်၏ ရယူသုံးရေး ဆက်တင်များကို ဖတ်ကြည့်ရန်</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{၎င်းသည် ဖိုင်တစ်ဖိုင်အား အမြဲဝင်ရောက်သုံးခွင့်ရှိ၏။}other{၎င်းသည် ဖိုင် # ဖိုင်အား အမြဲဝင်ရောက်သုံးခွင့်ရှိ၏။}}</translation>
 <translation id="3660234220361471169">မယုံကြည်ရသော</translation>
-<translation id="3661172646479098821">လက်ရှိတွင် Android စက်ပစ္စည်းများကိုသာ ထောက်ပံ့ပေးပါသည်။</translation>
 <translation id="3664511988987167893">နောက်ဆက်တွဲ သင်္ကေတ</translation>
 <translation id="3665589677786828986">သင်၏ ဆက်တင်များ အချို့မှာ အခြား ပရိုဂရမ်ကြောင့် ပျက်စီးသွားခဲ့သည်ကို Chrome ရှာတွေ့ခဲ့၍ ၎င်းတို့ကို ၎င်းတို့၏ မူရင်း ပုံသေများဆီကို ပြန်ညှိပေးခဲ့သည်။</translation>
 <translation id="3668801437375206837">ဘလူးတုသ် ပြဿနာများအတွက် ချွတ်ယွင်းချက်များ ပိုမိုရှာဖွေနိုင်ရန် Google ဝန်ထမ်းများသည် ၎င်းတို့၏ အကြံပြုချက် အစီရင်ခံစာများထဲတွင် ထပ်ဆောင်း ဘလူးတုသ် မှတ်တမ်းများကို ထည့်သွင်းနိုင်ပါသည်။ ဤနည်းလမ်းကို ရွေးလိုက်ပါက PII များကို တတ်နိုင်သမျှ ဖယ်ရှားစစ်ထုတ်ထားသည့် သင်၏ လက်ရှိစက်ရှင်ထဲမှ btsnoop နှင့် HCI မှတ်တမ်းများကို သင့်အစီရင်ခံစာတွင် ထည့်သွင်းမည်ဖြစ်ပါသည်။ Chrome OS ထုတ်ကုန်အုပ်စု၏ မန်နေဂျာများကသာ Listnr တွင် ဤမှတ်တမ်းများကို သုံးနိုင်ပါမည်။ ရက်ပေါင်း ၉၀ ကြာပြီးနောက် မှတ်တမ်းများကို ရှင်းပစ်ပါမည်။</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">အီးမေးလိပ်စာနှင့် သင်ရိုက်ထည့်သော စကားဝှက် ကိုက်ညီမှု မရှိပါ</translation>
 <translation id="4374831787438678295">Linux ထည့်သွင်းကိရိယာ</translation>
 <translation id="4375035964737468845">ဒေါင်းလုပ်လုပ်ထားသည့် ဖိုင်များ ဖွင့်ရန်</translation>
+<translation id="4376226992615520204">တည်နေရာကို ပိတ်ထားပါသည်</translation>
 <translation id="4377363674125277448">ဆာဗား၏ လက်မှတ် ထဲတွင် ပြဿနာ ရှိခဲ့သည်။</translation>
 <translation id="4378154925671717803">ဖုန်း</translation>
 <translation id="4378373042927530923">မလုပ်ဆောင်ပါ</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">အခြားစက်ပစ္စည်းများမှ တဘ်များ</translation>
 <translation id="4620809267248568679">ဤဆက်တင်အား အိတ်စတန်းရှင်းတစ်ခုမှ တွန်းအားပေးခဲ့ခြင်း ဖြစ်သည်။</translation>
 <translation id="4623189117674524348">စနစ်သည် ဤစက်ပစ္စည်းအတွက် API အသုံးပြုခွင့် ပေး၍မရပါ။</translation>
-<translation id="4624190781974168453">စတင်ချိန်တွင် မေးပါ</translation>
 <translation id="4625078469366263107">အက်ပ်ကို ဖွင့်ရန်</translation>
 <translation id="4627427111733173920">ကွတ်ကီးများကို ပိတ်ထားခြင်း</translation>
 <translation id="4627442949885028695">အခြားစက်ပစ္စည်းမှ ဆက်လုပ်ပါ</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">နောက်ဆုံး ဗားရှင်းအတွက် ခွင့်ပြုချက်များ နောက်ထပ် လိုအပ်သေး၍  "<ph name="EXTENSION_NAME" />" ကို ပိတ်ခဲ့ရသည်။</translation>
 <translation id="5185500136143151980">အင်တာနက် မရှိပါ</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> အတွက် မီနူး ရွေးချယ်စရာများ</translation>
 <translation id="5190926251776387065">ပို့တ်စဖွင့်ရန်</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> က ဖိုင်အများအပြားကို ​ဒေါင်းလုဒ်လုပ်လိုသည်</translation>
 <translation id="5192062846343383368">သင်၏ကြီးကြပ်မှုဆက်တင်များ ကြည့်ရန် Family Link အက်ပ် ဖွင့်ပါ</translation>
@@ -3778,6 +3772,7 @@
 <translation id="5642508497713047">CRL လက်မှတ်ထိုးသူ</translation>
 <translation id="5643321261065707929">အခမဲ့မဟုတ်သော ကွန်ရက်</translation>
 <translation id="5643620609347735571">ရှင်းလင်းပြီး ရှေ့ဆက်ရန်</translation>
+<translation id="5646376287012673985">တည်နေရာ</translation>
 <translation id="5646558797914161501">စီးပွားရေးလုပ်ငန်းရှင်</translation>
 <translation id="5648166631817621825">ပြီးခဲ့သည့် ၇ ရက်</translation>
 <translation id="5649053991847567735">အလိုအလျောက် ဒေါင်းလုပ်ရယူခြင်း</translation>
@@ -4481,7 +4476,6 @@
 <translation id="6531282281159901044">အန္တရာယ်ရှိသည့်ဖိုင်ကို သိမ်းရန်</translation>
 <translation id="6532101170117367231">Google Drive သို့ သိမ်းရန်</translation>
 <translation id="6532106788206463496">ပြင်ဆင်မှုများကို သိမ်းရန်</translation>
-<translation id="6532113437901537254">လက်မှတ်ထိုးဝင်ထားသည့်အခါ ဤစက်တွင် သင်၏ Google Account မှ စကားဝှက်များကိုလည်း အသုံးပြုနိုင်မည်</translation>
 <translation id="6532206849875187177">လုံခြုံရေးနှင့် လက်မှတ်ထိုးဝင်ခြင်း</translation>
 <translation id="6532527800157340614">တိုကင်ကို မရယူနိုင်သည့်အတွက် လက်မှတ်ထိုးဝင်၍မရပါ။ သင့်ကွန်ရက်ချိတ်ဆက်မှုကို စစ်ဆေးပြီး ထပ်စမ်းကြည့်ပါ။</translation>
 <translation id="6532663472409656417">လုပ်ငန်း အမည်စာရင်းသွင်းထားသည်</translation>
@@ -5011,9 +5005,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ကို ဖျက်လိုက်ပါပြီ</translation>
 <translation id="7201420661433230412">ဖိုင်များကို ကြည့်ရန်</translation>
 <translation id="7203150201908454328">တိုးချဲ့ထား</translation>
-<translation id="7203826966018112936">ပရိုဖိုင်သို့ ကျောင်းအကောင့်ထည့်ခြင်းဖြင့် မိဘ အထိန်းအချုပ်များအောက်တွင် အသုံးပြုနေစဉ် ကျောင်းသားအဖြစ် ဝဘ်ဆိုက်နှင့် နောက်ဆက်တွဲများသို့ အလွယ်တကူ လက်မှတ်ထိုးဝင်နိုင်သည်။ ၎င်းက ကလေးကို လိပ်စာ၊ စကားဝှက် သို့မဟုတ် အခြား ဖွင့်ကြည့်ထားသည့် မှတ်တမ်းဒေတာများအား ကျောင်းအကောင့်နှင့် စင့်ခ်လုပ်ခွင့်မပေးပါ။&lt;br&gt;&lt;br&gt;
-    သင့်ကလေးသည် ကျောင်းတွင် Chromebook အသုံးပြုပြီး လိုအပ်သော ကျောင်းသင်ခန်းစာအားလုံးသို့ သင့်ကလေး ဝင်ကြည့်ခွင့်ရကြောင်း သေချာစေရန် ကျောင်းမှသင်ကြားမှုများကို အိမ်တွင် စကရင်ပွားလိုပါက ဤ Family Link အကောင့်မှ ထွက်ပါ၊ ထို့နောက် Chrome OS အကောင့်များ စာမျက်နှာမှ ကျောင်းအကောင့်သို့ လက်မှတ်ထိုးဝင်ပါ (မှတ်ချက်- Family Link မိဘ အထိန်းအချုပ်များ အသုံးပြု၍ရမည် မဟုတ်ပါ)။&lt;br&gt;&lt;br&gt;
-    သင့်ကလေးသည် ကျောင်းတွင် Chromebook အသုံးမပြုပါက သို့မဟုတ် သင့်ကလေး၏ ကျောင်းမှသင်ကြားမှုများကို အိမ်တွင် Family Link အသုံးပြုပြီး စီမံလိုပါက ဤပရိုဖိုင်တွင် ကျောင်းအကောင့်ထည့်ရန် အောက်ရှိ 'ရှေ့သို့' ခလုတ်ကို နှိပ်ပါ။</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" />ကို ဒေါင်းလုဒ် လုပ်နေ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{စာမျက်နှာကို ပိတ်ရန်}other{စာမျက်နှာများကို ပိတ်ရန်}}</translation>
 <translation id="7207457272187520234">အသုံးပြုမှုနှင့် အမှားရှာဖွေမှုဒေတာ ပို့ပါ။ ဤစက်ပစ္စည်းက အမှားရှာဖွေမှု၊ စက်ပစ္စည်းနှင့် အက်ပ်အသုံးပြုမှု ဒေတာတို့ကို လောလောဆယ်တွင် Google သို့ အလိုအလျောက် ပို့ပေးပါသည်။ ၎င်းက စနစ်နှင့် အက်ပ်တည်ငြိမ်မှု၊ အခြား တိုးတက်ပြင်ဆင်မှုများအတွက် ပံ့ပိုးပေးပါမည်။ စုစည်းထားသော ဒေတာအချို့က Google အက်ပ်နှင့် Android ဆော့ဖ်ဝဲအင်ဂျင်နီယာများကဲ့သို့ ပါတနာများကို ကူညီပေးပါမည်။ ဤဆက်တင်ကို ပိုင်ရှင်ဖြစ်သူက သတ်မှတ်ထားခြင်းဖြစ်သည်။ သင်၏ထပ်တိုး 'ဝဘ်နှင့် အက်ပ်လုပ်ဆောင်ချက်' ကို ဖွင့်ထားသည့်အခါ ဤဒေတာကို သင့် Google အကောင့်သို့ သိမ်းသွားပါမည်။</translation>
@@ -5156,7 +5147,6 @@
 <translation id="7388044238629873883">သင်သည် ပြီးခါနီးနေပြီ!</translation>
 <translation id="7392118418926456391">ဗိုင်းရပ်စ် စစ်ခြင်း မအောင်မြင်ပါ</translation>
 <translation id="7392915005464253525">ပိတ်ထားသည့် တဲဘ်များ ပြန်&amp;ဖွင့်ရန်</translation>
-<translation id="7393472013449507620">"*" အစားထိုး အထူးအက္ခရာများ ပါဝင်သော ဆက်တင်များကို မပံ့ပိုးတော့ပါ။ <ph name="BEGIN_LINK" />ဤဆက်တင်များ ပြောင်းလဲရန်<ph name="END_LINK" /> နောက်ဆက်တွဲဆော့ဖ်ဝဲအင်ဂျင်နီယာ (သို့) သင်၏စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။</translation>
 <translation id="7396017167185131589">မျှဝေထားသောဖိုင်တွဲများကို ဤနေရာတွင် ပြမည်</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ကို စနစ်ကို ဖွင့်ချိန်မှာ လွှတ်တင်ပေးမှာ ဖြစ်ပြီး သင်က အခြား<ph name="PRODUCT_NAME" /> ဝင်ဒိုးများကို ပိတ်လိုက်တောင် နောက်ခံမှာ ဆက်ပြီး အလုပ်လုပ်နေမည်။</translation>
 <translation id="7399045143794278225">စင့်ခ်လုပ်ခြင်းကို စိတ်ကြိုက်ပြင်ရန်</translation>
@@ -5269,6 +5259,7 @@
 <translation id="7526989658317409655">နေရာဦးထားခြင်း</translation>
 <translation id="7529411698175791732">အင်တာနက်ချိတ်ဆက်မှုကို စစ်ကြည့်ပါ။ ပြဿနာဆက်လက်ရှိနေသေးပါက ထွက်လိုက်ပြီး ပြန်လည်၍ လက်မှတ်ထိုးဝင်ကြည့်ပါ။</translation>
 <translation id="7530016656428373557">အားကုန်မှုနှုန်း ဝပ်</translation>
+<translation id="7531310913436731628">'Mac စနစ် သတ်မှတ်ချက်များ' တွင် တည်နေရာကို ပိတ်ထားသည်</translation>
 <translation id="7531779363494549572">ဆက်တင်များ &gt; အက်ပ်နှင့် အကြောင်းကြားချက်များ &gt; အကြောင်းကြားချက်များ သို့သွားပါ။</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> က တုံ့ပြန်မှုမရှိပါ။ အက်ပ်ကိုပိတ်ရန် "မဖြစ်မနေပိတ်ရန်" ကို ရွေးပါ။</translation>
 <translation id="7537451260744431038">သင်၏ဝဘ်ကြည့်ရှုမှု ပိုကောင်းမွန်စေရန် ဥပမာအားဖြင့် အမြဲလက်မှတ်ထိုးဝင်ထားရန် သို့မဟုတ် ဈေးခြင်းတောင်းထဲရှိ အရာများ မှတ်ထားရန်တို့အတွက် ဝဘ်ဆိုက်များက ကွတ်ကီးများကို အသုံးပြု၍မရပါ</translation>
@@ -6048,7 +6039,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> အတွက် သိမ်းဆည်းထားသည့် စကားဝှက်များ</translation>
 <translation id="8472623782143987204">ဟာ့ဒ်ဝဲ-ပံ့ပိုးမှု</translation>
 <translation id="8473863474539038330">လိပ်စာများနှင့် အခြားအရာများ</translation>
-<translation id="8474733733775441349">သင်၏ Google Account မှ စကားဝှက်များ ပြခြင်း</translation>
 <translation id="8475313423285172237">Chrome အလုပ်လုပ်ပုံ ပြောင်းလဲသွားစေမည့် တိုးချဲ့မှုကို သင့်ကွန်ပျူတာ ထဲက အခြား ပရိုဂရမ်မှ ထည့်ပေးခဲ့သည်။</translation>
 <translation id="8477241577829954800">အစားထိုးပြီး</translation>
 <translation id="8477384620836102176">&amp;အထွေထွေ</translation>
diff --git a/chrome/app/resources/generated_resources_ne.xtb b/chrome/app/resources/generated_resources_ne.xtb
index 6ba15c8..44ceded 100644
--- a/chrome/app/resources/generated_resources_ne.xtb
+++ b/chrome/app/resources/generated_resources_ne.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">एन्साइफर मात्रै</translation>
 <translation id="1038462104119736705">Linux प्रयोग गर्न कम्तीमा पनि <ph name="INSTALL_SIZE" /> ठाउँ खाली राख्न सिफारिस गरिन्छ। थप ठाउँ खाली गर्न आफ्नो यन्त्रमा भएका फाइलहरू मेटाउनुहोस्।</translation>
 <translation id="1039337018183941703">अमान्य वा बिग्रिएको फाइल</translation>
-<translation id="104086161873270383">नयाँ प्रोफाइल</translation>
 <translation id="1041175011127912238">यो पृष्ठले प्रतिक्रिया जनाइरहेको छैन</translation>
 <translation id="1041263367839475438">उपलब्ध यन्त्रहरू</translation>
 <translation id="1042174272890264476">तपाइँको कम्प्युटर <ph name="SHORT_PRODUCT_NAME" /> को RLZ अन्तरनिर्मित पुस्तकालयसँग पनि आउँछ। एक विशेष वृद्धि जनक अभियानद्वारा चालू भएको खोजीहरू र <ph name="SHORT_PRODUCT_NAME" /> प्रयोगहरू नाप्नको लागि RLZ ले एउटा अद्वितीय नभएको, व्यक्तिगत नभएको ठम्याउन सकिने ट्याग तोक्छ। यी लेबुलहरू कहिलेकाही <ph name="PRODUCT_NAME" /> मा Google खोजी क्वेरीहरूमका देखा पर्छन्।</translation>
@@ -278,7 +277,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> को उपपृष्ठमा फर्कने बटन</translation>
 <translation id="1322046419516468189">आफ्नो <ph name="SAVED_PASSWORDS_STORE" /> मा सुरक्षित गरिएका पासवर्डहरू हेर्नुहोस् र व्यवस्थापन गर्नुहोस्</translation>
 <translation id="1324106254079708331">लक्षित हमलाको जोखिममा रहेका जुनसुकै व्यक्तिको व्यक्तिगत Google खाताहरूको सुरक्षा गर्दछ</translation>
-<translation id="1325985428688410772">प्रोफाइल थप्नुहोस्</translation>
 <translation id="1326317727527857210">आफ्ना अन्य यन्त्रहरूबाट आफ्ना ट्याबहरू प्राप्त गर्न Chrome मा साइन इन गर्नुहोस्।</translation>
 <translation id="1327074568633507428">Google क्लाउड प्रिन्टमा प्रिन्टर</translation>
 <translation id="1327272175893960498">Kerberos का टिकटहरू</translation>
@@ -746,7 +744,6 @@
 <translation id="1868553836791672080">Chromium मा पासवर्ड जाँच गर्ने सुविधा उपलब्ध छैन</translation>
 <translation id="1871534214638631766">प्रयोगकर्ताले राइट क्लिक गर्दा वा सामग्रीमा केही बेरसम्म थिचिरहँदा त्यससँग सम्बन्धित जानकारी देखाइयोस्</translation>
 <translation id="1871615898038944731">तपाईंको <ph name="DEVICE_TYPE" /> अद्यावधिक छ</translation>
-<translation id="1874835396235780806">यो र अन्य पासवर्डहरू आफ्नो Google खातामा सुरक्षित गर्ने हो?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ट्याब सारेर अर्को विन्डोमा लैजानुहोस्}other{ट्याबहरू सारेर अर्को विन्डोमा लैजानुहोस्}}</translation>
 <translation id="1875386316419689002">यो ट्याब कुनै HID यन्त्रमा जोडिएको छ।</translation>
 <translation id="1875387611427697908">यसलाई <ph name="CHROME_WEB_STORE" /> बाट मात्रै थप्न सकिन्छ</translation>
@@ -759,7 +756,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" /> मध्ये नेटवर्क <ph name="NETWORK_INDEX" />, जोड्नुहोस्</translation>
 <translation id="1884705339276589024">Linux को डिस्कको आकार बदल्नुहोस्</translation>
 <translation id="1885106732301550621">डिस्कको भण्डारण स्थान</translation>
-<translation id="1885190042244431215">विद्यालयको खाता थप्दा विद्यार्थी सजिलैसँग वेबसाइट र एक्स्टेन्सनमा साइन गर्न सक्छन् भने अभिभावकीय नियन्त्रणहरू पनि लागू भइरहन्छन्।</translation>
 <translation id="1886996562706621347">प्रोटोकलहरूको लागि पूर्वनिर्धारित हेन्डलर बन्न अनुरोध गर्न साइटहरूलाई अनुमति दिनुहोस् (सिफारिश गरिएको)</translation>
 <translation id="1887442540531652736">साइन इनसम्बन्धी त्रुटि</translation>
 <translation id="1887597546629269384">फेरि "Hey Google" भन्नुहोस्</translation>
@@ -2197,7 +2193,6 @@
 <translation id="3654045516529121250">तपाइँका पहुँच सेटिङहरू पढ्नुहोस्</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ यसको एउटा फाइलमा स्थायी पहुँच छ।}other{ यसको # फाइलहरूमा स्थायी पहुँच छ।}}</translation>
 <translation id="3660234220361471169">अविश्वासनीय</translation>
-<translation id="3661172646479098821">हाल Android यन्त्रहरू मात्र यो सेवा प्रयोग गर्न मिल्छ।</translation>
 <translation id="3664511988987167893">विस्तारसम्बन्धी आइकन</translation>
 <translation id="3665589677786828986">Chrome ले तपाईंका केही सेटिङहरू अर्को कार्यक्रमले विकृत भएका थिए भनि पत्ता लगाएर तिनीहरूलाई तिनीहरूको मूल पूर्वनिर्धारितहरूमा रिसेट गर्‍यो।</translation>
 <translation id="3668801437375206837">ब्लुटुथसम्बन्धी समस्याहरूलाई अझ राम्ररी निदान गर्न, Google का कर्मचारीहरू आफ्ना प्रतिक्रियाका रिपोर्टहरूमा अतिरिक्त ब्लुटुथ लग समावेश गर्न सक्छन्। यो विकल्पलाई चिन्हमार्फत चयन गरिँदा , तपाईंको रिपोर्टले तपाईंको हालैको सत्रबाट सम्भव भएसम्म बढी भन्दा बढी PII हटाउन छाँटकाँट गरिएका btsnoop र HCI लगहरू समावेश गर्ने छl यी लगहरूमाथिको पहुँच Listnr का Chrome OS उत्पादनसमूहका व्यवस्थापकहरूलाई मात्र हुन्छ। लगहरू ९० दिनपछि हटाइन्छन्।</translation>
@@ -2768,6 +2763,7 @@
 <translation id="4370975561335139969">तपाईँले प्रविष्टि गर्नुभएको इमेल र पासवर्ड मेल खाँदैनन्</translation>
 <translation id="4374831787438678295">Linux को स्थापनाकर्ता</translation>
 <translation id="4375035964737468845">डाउनलोड गरिएका फाइलहरू खोल्नुहोस्</translation>
+<translation id="4376226992615520204">स्थान अफ गरिएको छ</translation>
 <translation id="4377363674125277448">सर्भरको प्रमाणपत्रमा एक समस्या थियो।</translation>
 <translation id="4378154925671717803">फोन</translation>
 <translation id="4378373042927530923">चलेन</translation>
@@ -2967,7 +2963,6 @@
 <translation id="4619615317237390068">अन्य यन्त्रहरूका ट्याबहरू</translation>
 <translation id="4620809267248568679">यो सेटिङ एक विस्तारले जोड दिएको छ ।</translation>
 <translation id="4623189117674524348">प्रणालीले यो यन्त्रलाई API माथि पहुँच राख्ने अधिकार दिन सकेन।</translation>
-<translation id="4624190781974168453">ब्राउजर खोल्दा सोधियोस्</translation>
 <translation id="4625078469366263107">एप सक्षम पार्नुहोस्</translation>
 <translation id="4627427111733173920">कूकीहरूमाथि रोक लगाइएको छ</translation>
 <translation id="4627442949885028695">अर्को यन्त्रबाट जारी राख्नुहोस्</translation>
@@ -3397,7 +3392,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" को नयाँ संस्करणलाई अक्षम गरिएको छ किनकी यसलाई धेरै अनुमतिहरूको आवश्यकता पर्छ।</translation>
 <translation id="5185500136143151980">इन्टरनेट छैन</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> का लागि विकल्पहरू देखाउने मेनु</translation>
 <translation id="5190926251776387065">पोर्ट सक्रिय गर्नुहोस्</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> एकभन्दा बढी फाइलहरू डाउनलोड गर्न चाहन्छ</translation>
 <translation id="5192062846343383368">आफ्नो सुपरिवेक्षणका सेटिङहरू हेर्न Family Link एप खोल्नुहोस्</translation>
@@ -3773,6 +3767,7 @@
 <translation id="5642508497713047">CRL हस्ताक्षरकर्ता</translation>
 <translation id="5643321261065707929">सीमा तोकिएको नेटवर्क</translation>
 <translation id="5643620609347735571">खाली गरी जारी राख्नुहोस्</translation>
+<translation id="5646376287012673985">स्थान</translation>
 <translation id="5646558797914161501">व्यापारी</translation>
 <translation id="5648166631817621825">पछिल्ला ७ दिन</translation>
 <translation id="5649053991847567735">स्वचालित डाउनलोडहरू</translation>
@@ -4478,7 +4473,6 @@
 <translation id="6531282281159901044">खतरनाक फाइल राख्नुहोस्</translation>
 <translation id="6532101170117367231">Google ड्राइभमा सुरक्षित गर्नुहोस्</translation>
 <translation id="6532106788206463496">परिवर्तनहरू सुरक्षित गर्ने</translation>
-<translation id="6532113437901537254">तपाईंले साइन इन गरेका बेला Google खातामा सुरक्षित गरिएका पासवर्डहरू यो यन्त्रमा पनि उपलब्ध हुने छन्</translation>
 <translation id="6532206849875187177">सुरक्षा तथा साइन इन</translation>
 <translation id="6532527800157340614">तपाईंको पहुँच टोकन प्राप्त गर्न नसकिएकाले साइन इन गर्न सकिएन। कृपया आफ्नो इन्टरनेटको जाँच गरी फेरि प्रयास गर्नुहोस्।</translation>
 <translation id="6532663472409656417">इन्टरप्राइजमा दर्ता गरिएको</translation>
@@ -5008,9 +5002,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' मेटियो</translation>
 <translation id="7201420661433230412">फाइलहरू हेर्ने</translation>
 <translation id="7203150201908454328">विस्तारित</translation>
-<translation id="7203826966018112936">कुनै प्रोफाइलमा विद्यालयको खाता थप्नुले अभिभावकको नियन्त्रणअन्तर्गत रहेर विद्यार्थीका हैसियतले वेबसाइट तथा एक्सटेन्सनहरूमा साइन इन गर्न सजिलो हुन्छ। यस कार्यले बच्चालाई विद्यालयको खातामा सिंक गरिएका बुकमार्क, पासवर्ड र ब्राउजरसम्बन्धी अन्य डेटा प्रयोग गर्न दिने छैन।&lt;br&gt;&lt;br&gt;
-    तपाईंका बच्चा विद्यालयमा Chromebook प्रयोग गर्छन् र तपाईं उनी घरमा भएका बेलामा पनि विद्यालयमा प्रयोग गर्ने सुविधाहरू उपभोग गर्दै विद्यालयका सबै काम गर्न सकून् भन्ने चाहनुहुन्छ भने कृपया यो Family Link खाताबाट साइन आउट गर्नुहोस् र Chrome OS को खाताहरू नामक पृष्ठमा गई विद्यालयको खातामा साइन इन गर्नुहोस् (याद राख्नुहोस्: Family Link का अभिभावकीय नियन्त्रणहरू लागू हुने छैनन्)।&lt;br&gt;&lt;br&gt;
-    तपाईंका बच्चा विद्यालयमा Chromebook प्रयोग गर्दैनन् वा तपाईं आफ्ना बच्चा घरमा भएका बेला उन‌ले गर्ने कामहरू Family Link प्रयोग गरी व्यवस्थापन गर्न चाहनुहुन्छ भने यो प्रोफाइलमा विद्यालयको खाता थप्न कृपया तलको अर्को नामक बटनमा क्लिक गर्नुहोस्।</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> डाउनलोड गर्दै...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{पृष्ठबाट बाहिरिनुहोस्}other{पृष्ठहरूबाट बाहिरिनुहोस्}}</translation>
 <translation id="7207457272187520234">प्रयोग तथा निदानसम्बन्धी डेटा पठाउनुहोस्। यो यन्त्रले हाल निदान, यन्त्र र एपको प्रयोगसम्बन्धी डेटा स्वतः Google लाई पठाइरहेको छ। यसले प्रणाली तथा एपको स्थिरता र अन्य कुराहरूमा सुधार ल्याउन मद्दत गर्ने छ। केही समग्र डेटाले Google का एप तथा Android का विकासकर्ता जस्ता साझेदारहरूलाई पनि मद्दत गर्ने छन्। यो सेटिङ मालिकले लागू गर्छन्। तपाईंको खातामा अतिरिक्त वेब तथा एपसम्बन्धी गतिविधिको सेटिङ सक्रिय गरिएको छ भने यो डेटा तपाईंको Google खातामा सुरक्षित गरिन सक्छ।</translation>
@@ -5153,7 +5144,6 @@
 <translation id="7388044238629873883">तपाईले लगभग सक्नुभयो!</translation>
 <translation id="7392118418926456391">भाइरस स्क्यान असफल भयो</translation>
 <translation id="7392915005464253525">बन्द विण्डोलाई पुन: खो&amp;ल्नुहोस्</translation>
-<translation id="7393472013449507620">"*" वाइल्ड कार्ड भएका सेटिङले अब उप्रान्त काम गर्दैनन्। <ph name="BEGIN_LINK" />यी सेटिङ परिवर्तन<ph name="END_LINK" /> गर्न यो एक्सटेन्सनका विकासकर्ता वा आफ्ना एड्मिनसँग सम्पर्क गर्नुहोस्।</translation>
 <translation id="7396017167185131589">आदान प्रदान गरिएका फोल्डरहरू यहाँ देखिने छन्</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> सिस्टम स्टार्टअपमा लन्च हुनेछ र तपाईंले अन्य सबै <ph name="PRODUCT_NAME" /> विन्डोहरू बन्द गरिसक्नुभएपछि समेत पृष्ठभूमिमा चल्न जारी राख्नेछ।</translation>
 <translation id="7399045143794278225">सिंक आफू अनुकूल पार्नुहोस्</translation>
@@ -5266,6 +5256,7 @@
 <translation id="7526989658317409655">प्लेसहोल्डर</translation>
 <translation id="7529411698175791732">आफ्नो इन्टरनेट जडान जाँच गर्नुहोस्। समस्या यथावत् रहिरहेमा साइन आउट गरेर पुन: साइन इन गरी हेर्नुहोस्।</translation>
 <translation id="7530016656428373557">वाट्स मा दर डिस्चार्ज गर्नुहोस्</translation>
+<translation id="7531310913436731628">Mac का सिस्टमसम्बन्धी प्राथमिकताहरूमा स्थान अफ गरिएको छ</translation>
 <translation id="7531779363494549572">सेटिङहरू &gt; एप तथा सूचनाहरू &gt; सूचनाहरू नामक विकल्पमा जानुहोस्।</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ले प्रतिक्रिया जनाइरहेको छैन। एप बन्द गर्न "बलपूर्वक बन्द गर्नुहोस्" चयन गर्नुहोस्।</translation>
 <translation id="7537451260744431038">साइटहरूले तपाईंलाई राम्रो ब्राउजिङ अनुभव दिन कुकीहरूको प्रयोग गर्न सक्दैनन्। उदाहरणको लागि साइटहरूले कुकीहरूको प्रयोग गरी तपाईंलाई साइन इन अवस्थामै राख्न वा तपाईंको किनमेलको कार्टमा भएका वस्तुहरू सम्झन सक्दैनन्।</translation>
@@ -6045,7 +6036,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> का सुरक्षित गरिएका पासवर्डहरू</translation>
 <translation id="8472623782143987204">हार्डवेयरद्वारा समर्थित</translation>
 <translation id="8473863474539038330">ठेगाना र थप कुराहरू</translation>
-<translation id="8474733733775441349">मेरो Google खातामा सुरक्षित गरिएका पासवर्डहरू देखाइयोस्</translation>
 <translation id="8475313423285172237">तपाईंको कम्प्युटरमा रहेको अर्को प्रोग्रामले एउटा एक्स्टेन्स थपेको छ जसले Chrome को काम गर्ने तरिकालाई परिवर्तन गर्न सक्छ।</translation>
 <translation id="8477241577829954800">सुपरसिडेड</translation>
 <translation id="8477384620836102176">&amp;सामान्य</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb
index 1e2cbc6..78884721 100644
--- a/chrome/app/resources/generated_resources_nl.xtb
+++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Alleen coderen</translation>
 <translation id="1038462104119736705">Er wordt ten minste <ph name="INSTALL_SIZE" /> vrije opslagruimte aanbevolen voor Linux. Verwijder bestanden op het apparaat om opslagruimte vrij te maken.</translation>
 <translation id="1039337018183941703">Ongeldig of beschadigd bestand</translation>
-<translation id="104086161873270383">Nieuw profiel</translation>
 <translation id="1041175011127912238">Deze pagina reageert niet</translation>
 <translation id="1041263367839475438">Beschikbare apparaten</translation>
 <translation id="1042174272890264476">Je computer is ook uitgerust met de RLZ-bibliotheek van <ph name="SHORT_PRODUCT_NAME" />. RLZ wijst een niet-unieke, niet-persoonlijke tag toe om de zoekopdrachten en het gebruik van <ph name="SHORT_PRODUCT_NAME" /> te meten als gevolg van een bepaalde promotiecampagne. Deze labels worden soms weergegeven in Google-zoekopdrachten in <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Terugknop van subpagina <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Bekijk en beheer opgeslagen wachtwoorden in je <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Beschermt de persoonlijke Google-accounts van iedereen die risico loopt op gerichte aanvallen</translation>
-<translation id="1325985428688410772">Ruimte toevoegen</translation>
 <translation id="1326317727527857210">Log in bij Chrome om de tabbladen van je andere apparaten te bekijken.</translation>
 <translation id="1327074568633507428">Printer op Google Cloudprinter</translation>
 <translation id="1327272175893960498">Kerberos-tickets</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Wachtwoordcheck is niet beschikbaar in Chromium</translation>
 <translation id="1871534214638631766">Gerelateerde informatie weergeven als je met de rechtermuisknop klikt of lang drukt op content</translation>
 <translation id="1871615898038944731">Je <ph name="DEVICE_TYPE" /> is up-to-date.</translation>
-<translation id="1874835396235780806">Dit en andere wachtwoorden opslaan in je Google-account?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Tabblad verplaatsen naar ander venster}other{Tabbladen verplaatsen naar ander venster}}</translation>
 <translation id="1875386316419689002">Dit tabblad is gekoppeld aan een HID-apparaat.</translation>
 <translation id="1875387611427697908">Dit pakket kan alleen worden toegevoegd via de <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Netwerk <ph name="NETWORK_INDEX" /> van <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, verbinden</translation>
 <translation id="1884705339276589024">Grootte van Linux-schijf aanpassen</translation>
 <translation id="1885106732301550621">Schijfruimte</translation>
-<translation id="1885190042244431215">Door een schoolaccount toe te voegen, kunnen kinderen gemakkelijk als leerling inloggen bij websites en extensies terwijl ze nog steeds onder ouderlijk toezicht staan.</translation>
 <translation id="1886996562706621347">Websites laten vragen of je ze als de standaardhandler voor protocollen wilt instellen (aanbevolen)</translation>
 <translation id="1887442540531652736">Fout bij inloggen</translation>
 <translation id="1887597546629269384">Zeg nog een keer 'Hey Google'</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Je toegankelijkheidsinstellingen lezen</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{De app heeft permanent toegang tot één bestand.}other{De app heeft permanent toegang tot # bestanden.}}</translation>
 <translation id="3660234220361471169">Niet vertrouwd</translation>
-<translation id="3661172646479098821">Momenteel worden alleen Android-apparaten ondersteund.</translation>
 <translation id="3664511988987167893">Extensiepictogram</translation>
 <translation id="3665589677786828986">Chrome heeft gedetecteerd dat sommige van je instellingen zijn beschadigd door een ander programma en heeft de instellingen teruggezet naar de oorspronkelijke standaardwaarden.</translation>
 <translation id="3668801437375206837">Googlers kunnen aanvullende Bluetooth-logboeken toevoegen aan hun feedbackrapporten om Bluetooth-problemen beter te analyseren. Als deze optie is aangevinkt, bevat je rapport btsnoop- en HCI-logboeken van je huidige sessie die zijn opgeschoond om zo veel mogelijk PII te verwijderen. Toegang tot deze logboeken is beperkt tot beheerders van de productgroep Chrome OS in Listnr. Logboeken worden na negentig dagen verwijderd.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Het opgegeven e-mailadres en wachtwoord komen niet overeen</translation>
 <translation id="4374831787438678295">Linux-installatieprogramma</translation>
 <translation id="4375035964737468845">Gedownloade bestanden openen</translation>
+<translation id="4376226992615520204">Locatie uitgeschakeld</translation>
 <translation id="4377363674125277448">Er is een probleem met het certificaat van de server.</translation>
 <translation id="4378154925671717803">Telefoon</translation>
 <translation id="4378373042927530923">Niet uitgevoerd</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Tabbladen van andere apparaten</translation>
 <translation id="4620809267248568679">Deze instelling wordt door een extensie afgedwongen.</translation>
 <translation id="4623189117674524348">Het systeem kan API-toegang voor dit apparaat niet verifiëren.</translation>
-<translation id="4624190781974168453">Vragen bij opstarten</translation>
 <translation id="4625078469366263107">App inschakelen</translation>
 <translation id="4627427111733173920">Cookies geblokkeerd</translation>
 <translation id="4627442949885028695">Doorgaan vanaf een ander apparaat</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">De nieuwste versie van '<ph name="EXTENSION_NAME" />' is uitgeschakeld omdat er meer rechten voor nodig zijn.</translation>
 <translation id="5185500136143151980">Geen internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Optiemenu voor <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Poort activeren</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> wil meerdere bestanden downloaden</translation>
 <translation id="5192062846343383368">Open de Family Link-app om de instellingen voor toezicht te bekijken</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">CRL-ondertekenaar</translation>
 <translation id="5643321261065707929">Netwerk met datalimiet</translation>
 <translation id="5643620609347735571">Wissen en doorgaan</translation>
+<translation id="5646376287012673985">Locatie</translation>
 <translation id="5646558797914161501">Zakenman</translation>
 <translation id="5648166631817621825">Afgelopen 7 dagen</translation>
 <translation id="5649053991847567735">Automatische downloads</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Gevaarlijk bestand behouden</translation>
 <translation id="6532101170117367231">Opslaan in Google Drive</translation>
 <translation id="6532106788206463496">Wijzigingen opslaan</translation>
-<translation id="6532113437901537254">Wachtwoorden van je Google-account zijn ook beschikbaar voor gebruik op dit apparaat als je bent ingelogd</translation>
 <translation id="6532206849875187177">Beveiliging en inloggen</translation>
 <translation id="6532527800157340614">Inloggen mislukt omdat je toegangstoken niet kan worden opgehaald. Controleer de netwerkverbinding en probeer het opnieuw.</translation>
 <translation id="6532663472409656417">Ingeschreven voor Enterprise</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' verwijderd</translation>
 <translation id="7201420661433230412">Bestanden weergeven</translation>
 <translation id="7203150201908454328">Uitgevouwen</translation>
-<translation id="7203826966018112936">Door een schoolaccount toe te voegen aan een profiel, kunnen kinderen gemakkelijk als leerling inloggen bij websites en extensies terwijl ze nog steeds onder ouderlijk toezicht staan. Dit geeft een kind geen toegang tot bookmarks, wachtwoorden en andere browsergegevens die zijn gesynchroniseerd met het schoolaccount.&lt;br&gt;&lt;br&gt;
-    Als je kind een Chromebook gebruikt op school en je de schoolomgeving thuis wilt mirroren zodat je kind toegang heeft tot al het benodigde schoolwerk, log je uit van dit Family Link-account en log je in op het schoolaccount vanaf de Chrome OS-accountpagina. (Opmerking: Ouderlijk toezicht van Family Link is niet van toepassing.)&lt;br&gt;&lt;br&gt;
-    Als je kind geen Chromebook gebruikt op school of als je liever de online omgeving van je kind thuis beheert met Family Link, klik je hieronder op de knop Volgende om een schoolaccount toe te voegen aan dit profiel.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> downloaden...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Pagina afsluiten}other{Pagina's afsluiten}}</translation>
 <translation id="7207457272187520234">Stuur gebruiks- en diagnostische gegevens. Dit apparaat stuurt momenteel automatisch diagnostische, apparaat- en app-gebruiksgegevens naar Google. Deze gegevens kunnen worden gebruikt om de systeem- en app-stabiliteit te verbeteren en andere optimalisaties mogelijk te maken. Daarnaast zijn bepaalde verzamelde gegevens nuttig voor Google-apps en -partners, zoals Android-ontwikkelaars. Deze instelling wordt afgedwongen door de eigenaar. Als je de instelling voor aanvullende Web- en app-activiteit hebt ingeschakeld, kunnen deze gegevens worden opgeslagen in je Google-account.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Je bent bijna klaar.</translation>
 <translation id="7392118418926456391">Virusscan is mislukt</translation>
 <translation id="7392915005464253525">G&amp;esloten venster opnieuw openen</translation>
-<translation id="7393472013449507620">Instellingen met het jokerteken '*' worden niet meer ondersteund. Neem contact op met de ontwikkelaar van de extensie of je beheerder om <ph name="BEGIN_LINK" />deze instellingen te wijzigen<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Gedeelde mappen worden hier weergegeven</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> wordt gestart zodra je het systeem opstart en blijft zelfs op de achtergrond actief als je alle andere vensters van <ph name="PRODUCT_NAME" /> sluit.</translation>
 <translation id="7399045143794278225">Synchronisatie aanpassen</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Tijdelijke aanduiding</translation>
 <translation id="7529411698175791732">Controleer de internetverbinding. Als het probleem blijft optreden, log je uit en weer in.</translation>
 <translation id="7530016656428373557">Ontlading in Watt</translation>
+<translation id="7531310913436731628">Locatie is uitgeschakeld in Mac-systeemvoorkeuren</translation>
 <translation id="7531779363494549572">Ga naar Instellingen &gt; Apps en meldingen &gt; Meldingen.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> reageert niet. Selecteer 'Nu sluiten' om de app te sluiten.</translation>
 <translation id="7537451260744431038">Sites mogen geen cookies gebruiken om de browsefunctionaliteit te verbeteren, bijvoorbeeld door je ingelogd te houden of door artikelen in je winkelwagen te onthouden</translation>
@@ -6050,7 +6041,6 @@
 <translation id="8470513973197838199">Opgeslagen wachtwoorden voor <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">hardware-ondersteund</translation>
 <translation id="8473863474539038330">Adressen en meer</translation>
-<translation id="8474733733775441349">Wachtwoorden van je Google-account weergeven</translation>
 <translation id="8475313423285172237">Een ander programma op je computer heeft een extensie toegevoegd die de manier waarop Chrome werkt kan wijzigen.</translation>
 <translation id="8477241577829954800">Vervangen</translation>
 <translation id="8477384620836102176">&amp;Algemeen</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index eae5c933..4805ae2e 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Kun chiffrering</translation>
 <translation id="1038462104119736705">Minst <ph name="INSTALL_SIZE" /> ledig plass anbefales for Linux. For å få mer ledig plass, slett filer fra enheten.</translation>
 <translation id="1039337018183941703">Ugyldig eller skadet fil.</translation>
-<translation id="104086161873270383">Ny profil</translation>
 <translation id="1041175011127912238">Denne siden svarer ikke</translation>
 <translation id="1041263367839475438">Tilgjengelige enheter</translation>
 <translation id="1042174272890264476">Datamaskinen din har <ph name="SHORT_PRODUCT_NAME" />s RLZ-bibliotek innebygget. RLZ tildeler en ikke-unik, ikke-personlig tagg for å måle søk og <ph name="SHORT_PRODUCT_NAME" />-bruk drevet av en bestemt markedsføringskampanje. Disse etikettene vises noen ganger i Google-søk i <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Tilbakeknapp for den underordnende <ph name="SUBPAGE_TITLE" />-siden</translation>
 <translation id="1322046419516468189">Se og administrer lagrede passord i <ph name="SAVED_PASSWORDS_STORE" /> din</translation>
 <translation id="1324106254079708331">Verner de personlige Google-kontoene til personer som er utsatt for målrettede angrep</translation>
-<translation id="1325985428688410772">Legg til område</translation>
 <translation id="1326317727527857210">For å få fanene dine fra de andre enhetene du bruker, logg på Chrome.</translation>
 <translation id="1327074568633507428">Skriver på Google Cloud Print</translation>
 <translation id="1327272175893960498">Kerberos-saker</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">Passordsjekking er ikke tilgjengelig i Chromium</translation>
 <translation id="1871534214638631766">Vis relatert informasjon når du høyreklikker eller utfører lange trykk på innhold</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" />-enheten er oppdatert</translation>
-<translation id="1874835396235780806">Vil du lagre dette og andre passord i Google-kontoen din?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Flytt fanen til et annet vindu}other{Flytt fanene til et annet vindu}}</translation>
 <translation id="1875386316419689002">Denne fanen er koblet til en HID-enhet.</translation>
 <translation id="1875387611427697908">Dette kan bare legges til fra <ph name="CHROME_WEB_STORE" /></translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420">Nettverk <ph name="NETWORK_INDEX" /> av <ph name="NETWORK_COUNT" /> – <ph name="NETWORK_NAME" /> – koble til</translation>
 <translation id="1884705339276589024">Endre størrelsen på Linux-disken</translation>
 <translation id="1885106732301550621">Diskplass</translation>
-<translation id="1885190042244431215">Du kan legge til en skolekonto for å gjøre det enkelt å logge på nettsteder og utvidelser som elev mens du er underlagt foreldrekontroll.</translation>
 <translation id="1886996562706621347">Tillat at nettsteder kan be om å bli standardbehandlere for protokoller (anbefales)</translation>
 <translation id="1887442540531652736">Påloggingsfeil</translation>
 <translation id="1887597546629269384">Si «Hey Google» igjen</translation>
@@ -2197,7 +2193,6 @@
 <translation id="3654045516529121250">lese tilgjengelighetsinnstillingene dine</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Den har permanent tilgang til én fil.}other{Den har permanent tilgang til # filer.}}</translation>
 <translation id="3660234220361471169">Uklarert</translation>
-<translation id="3661172646479098821">Foreløpig er det bare Android-enheter som støttes.</translation>
 <translation id="3664511988987167893">Utvidelsesikon</translation>
 <translation id="3665589677786828986">Chrome har oppdaget at noen av innstillingene ble ødelagt av et annet program og tilbakestille dem til originalinnstillingene.</translation>
 <translation id="3668801437375206837">For å diagnostisere Bluetooth-problemer kan Googlere inkludere flere Bluetooth-logger i tilbakemeldingsrapportene sine. Når dette alternativet er avmerket, inkluderer rapporten din btsnoop- and HCI-logger fra den gjeldende økten din. Disse er anonymisert for å fjerne så mye personlig identifiserende informasjon (PII) som mulig. Tilgang til disse loggene blir begrenset til administratorer av Chrome OS-produktgruppen i Listnr. Logger slettes permanent etter 90 dager.</translation>
@@ -2767,6 +2762,7 @@
 <translation id="4370975561335139969">E-posten og passordet du skrev inn, stemmer ikke overens.</translation>
 <translation id="4374831787438678295">Linux-installasjonsprogram</translation>
 <translation id="4375035964737468845">åpne nedlastede filer</translation>
+<translation id="4376226992615520204">Posisjon er slått av</translation>
 <translation id="4377363674125277448">Det oppsto et problem med sertifikatet til tjeneren.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Ikke kjørt</translation>
@@ -2966,7 +2962,6 @@
 <translation id="4619615317237390068">Faner fra andre enheter</translation>
 <translation id="4620809267248568679">Denne innstillingen håndheves av en utvidelse.</translation>
 <translation id="4623189117674524348">Systemet kunne ikke godkjenne API-tilgang for denne enheten.</translation>
-<translation id="4624190781974168453">Spør ved oppstart</translation>
 <translation id="4625078469366263107">Slå på appen</translation>
 <translation id="4627427111733173920">Informasjonskapsler er blokkert</translation>
 <translation id="4627442949885028695">Fortsett på en annen enhet</translation>
@@ -3396,7 +3391,6 @@
 <translation id="5185386675596372454">Den nyeste versjonen av <ph name="EXTENSION_NAME" /> er deaktivert fordi den krever ytterligere tillatelser.</translation>
 <translation id="5185500136143151980">Ingen internettilkobling</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Alternativmeny for <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktivér porten</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ber om å laste ned flere filer</translation>
 <translation id="5192062846343383368">Åpne Family Link-appen for å se tilsynsinnstillingene dine</translation>
@@ -3772,6 +3766,7 @@
 <translation id="5642508497713047">Signatar for sertifikatopphevelsesliste</translation>
 <translation id="5643321261065707929">Nettverk med datamåling</translation>
 <translation id="5643620609347735571">Slett og fortsett</translation>
+<translation id="5646376287012673985">Posisjon</translation>
 <translation id="5646558797914161501">Forretningsmann</translation>
 <translation id="5648166631817621825">Siste 7 dager</translation>
 <translation id="5649053991847567735">Automatiske nedlastinger</translation>
@@ -4478,7 +4473,6 @@
 <translation id="6531282281159901044">Behold den farlige filen</translation>
 <translation id="6532101170117367231">Lagre i Google Disk</translation>
 <translation id="6532106788206463496">Lagre endringene</translation>
-<translation id="6532113437901537254">Passordene fra Google-kontoen din blir også tilgjengelige på denne enheten mens du er pålogget</translation>
 <translation id="6532206849875187177">Sikkerhet og pålogging</translation>
 <translation id="6532527800157340614">Påloggingen mislyktes fordi tilgangstokenet ditt ikke kunne hentes. Sjekk nettverkstilkoblingen din, og prøv på nytt.</translation>
 <translation id="6532663472409656417">Bedriftsregistrert</translation>
@@ -5008,9 +5002,6 @@
 <translation id="7201118060536064622">«<ph name="DELETED_ITEM_NAME" />» er slettet</translation>
 <translation id="7201420661433230412">Se filer</translation>
 <translation id="7203150201908454328">Utvidet</translation>
-<translation id="7203826966018112936">Du kan legge til en skolekonto på en profil for å gjøre det enkelt å logge på nettsteder og utvidelser som elev mens du er underlagt foreldrekontroll. Dette gir ikke barnet tilgang til bokmerker, passord eller andre nettleserdata som er synkronisert med skolekontoen.&lt;br&gt;&lt;br&gt;
-    Hvis barnet bruker Chromebook på skolen og du vil gjenskape skoleopplevelsen hjemme for å sikre at barnet har tilgang til alt nødvendig skolearbeid, logger du av denne Family Link-kontoen og logger på skolekontoen på Chrome OS-kontosiden. (Merk: Family Link-foreldrekontroll kommer ikke til å være aktiv.)&lt;br&gt;&lt;br&gt;
-    Hvis barnet ikke bruker Chromebook på skolen, eller hvis du foretrekker å administrere barnets opplevelse hjemme ved å bruke Family Link, klikker du på Neste-knappen under for å legge til en skolekonto på denne profilen.</translation>
 <translation id="7206693748120342859">Laster ned <ph name="PLUGIN_NAME" /> …</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Lukk siden}other{Lukk sidene}}</translation>
 <translation id="7207457272187520234">Send bruks- og diagnostikkdata. Denne enheten sender for øyeblikket diagnostikk-, enhets- og appbruksdata til Google automatisk. Dette bidrar til å gjøre systemet og appene bedre og mer stabile. Noen aggregerte data hjelper også Google-apper og -partnere, for eksempel Android-utviklere. Denne innstillingen håndheves av eieren. Hvis du har slått på innstillingen for annen nett- og appaktivitet, kan disse dataene bli lagret i Google-kontoen din.</translation>
@@ -5153,7 +5144,6 @@
 <translation id="7388044238629873883">Du er nesten ferdig!</translation>
 <translation id="7392118418926456391">Virusskanningen mislyktes</translation>
 <translation id="7392915005464253525">Gj&amp;enåpne det lukkede vinduet</translation>
-<translation id="7393472013449507620">Innstillinger med «*» som jokertegn støttes ikke lenger. Ta kontakt med utvikleren av utvidelsen eller administratoren din for å <ph name="BEGIN_LINK" />endre disse innstillingene<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Delte mapper vises her</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> starter ved systemoppstart, og fortsetter å kjøre i bakgrunnen selv når du har lukket alle andre vinduer for <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Tilpass synkronisering</translation>
@@ -5266,6 +5256,7 @@
 <translation id="7526989658317409655">Plassholder</translation>
 <translation id="7529411698175791732">Sjekk Internett-tilkoblingen din. Hvis problemet vedvarer, bør du prøve å logge av og så logge på igjen.</translation>
 <translation id="7530016656428373557">Utladningshastighet i watt</translation>
+<translation id="7531310913436731628">Posisjon er slått av i Mac-systemvalgene</translation>
 <translation id="7531779363494549572">Gå til Innstillinger &gt; Apper og varsler &gt; Varsler.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> svarer ikke. Velg «Tving avslutning» for å lukke appen.</translation>
 <translation id="7537451260744431038">Nettsteder kan ikke bruke informasjonskapsler for å gi deg en bedre surfeopplevelse, for eksempel for å holde deg pålogget eller huske varene i handlekurven din</translation>
@@ -6046,7 +6037,6 @@
 <translation id="8470513973197838199">Lagrede passord for <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">maskinvarestøttet</translation>
 <translation id="8473863474539038330">Adresser med mer</translation>
-<translation id="8474733733775441349">Vis passord fra Google-kontoen din</translation>
 <translation id="8475313423285172237">Et annet program på datamaskinen la til en utvidelse som kan endre måten Chrome fungerer på.</translation>
 <translation id="8477241577829954800">Erstattet</translation>
 <translation id="8477384620836102176">&amp;Generelt</translation>
diff --git a/chrome/app/resources/generated_resources_or.xtb b/chrome/app/resources/generated_resources_or.xtb
index ef986cd8..dab5b9b 100644
--- a/chrome/app/resources/generated_resources_or.xtb
+++ b/chrome/app/resources/generated_resources_or.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">କେବଳ ଏନ୍‌ସାଇଫର୍‌</translation>
 <translation id="1038462104119736705">Linux ପାଇଁ ଅତିକମରେ <ph name="INSTALL_SIZE" />ର ସ୍ଥାନ ସୁପାରିଶ କରାଯାଇଛି। ଖାଲି ସ୍ଥାନ ବଢ଼ାଇବାକୁ, ଆପଣଙ୍କ ଡିଭାଇସରୁ ଫାଇଲଗୁଡ଼ିକ ଡିଲିଟ୍ କରନ୍ତୁ।</translation>
 <translation id="1039337018183941703">ଅବୈଧ କିମ୍ବା ଖରାପ ଫାଇଲ୍</translation>
-<translation id="104086161873270383">ନୂଆ ପ୍ରୋଫାଇଲ୍</translation>
 <translation id="1041175011127912238">ଏହି ପୃଷ୍ଠାଟି କାମ କରୁନାହିଁ</translation>
 <translation id="1041263367839475438">ଉପଲବ୍ଧ ଥିବା ଡିଭାଇସ୍‍ଗୁଡ଼ିକ</translation>
 <translation id="1042174272890264476">ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟର୍‌ରେ ମଧ୍ୟ ପୂର୍ବରୁ<ph name="SHORT_PRODUCT_NAME" />ର RLZ ଲାଇବ୍ରେରୀ ଥାଏ। ଏକ ନିର୍ଦ୍ଧିଷ୍ଟ ପ୍ରଚାର ଅଭିଯାନରେ ବ୍ୟବହାର ହୋ‍ଇଥିବା ସନ୍ଧାନ ଏବଂ <ph name="SHORT_PRODUCT_NAME" />ର ବ୍ୟବହାର ମାପିବାକୁ RLZ ଏକ ସାଧାରଣ, ସାର୍ବଜନିକ ଚିହ୍ନିପାରିବା ପରି ଟାଗ୍‌ ନିରୂପଣ କରେ। Google ସର୍ଚ୍ଚ କ୍ୱେରୀର <ph name="PRODUCT_NAME" />ରେ ଏହି ଲେବଲ୍‌ଗୁଡ଼ିକ ବେଳେବେଳେ ଦେଖାଯାଏ।</translation>
@@ -279,7 +278,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> ସବପେଜକୁ ଫେରିବା ବଟନ୍</translation>
 <translation id="1322046419516468189">ଆପଣଙ୍କର <ph name="SAVED_PASSWORDS_STORE" />ରେ ସେଭ୍‍ ହୋ‍ଇଥିବା ପାସ୍‍ୱର୍ଡଗୁଡ଼ିକ ଦେଖନ୍ତୁ ଏବଂ ପରିଚାଳନା କରନ୍ତୁ</translation>
 <translation id="1324106254079708331">ଉଦ୍ଦେଶ୍ୟମୂଳକ ଆକ୍ରମଣର ବିପଦରୁ ଯେ କୌଣସି ବ୍ୟକ୍ତିଙ୍କର ବ୍ୟକ୍ତିଗତ Google ଆକାଉଣ୍ଟଗୁଡ଼ିକୁ ସୁରକ୍ଷିତ ରଖେ</translation>
-<translation id="1325985428688410772">ସ୍ପେସ୍ ଯୋଗ କରନ୍ତୁ</translation>
 <translation id="1326317727527857210">ଆପଣଙ୍କର ଅନ୍ୟ ଡିଭାଇସ୍‍ଗୁଡ଼ିକରୁ ଟାବ୍‍ଗୁଡ଼ିକ ପାଇବା ପାଇଁ, Chromeରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ।</translation>
 <translation id="1327074568633507428">Google କ୍ଲାଉଡ୍ ପ୍ରିଣ୍ଟରେ ପ୍ରିଣ୍ଟର୍</translation>
 <translation id="1327272175893960498">Kerberos ଟିକେଟ୍‍ଗୁଡ଼ିକ</translation>
@@ -744,7 +742,6 @@
 <translation id="1868553836791672080">Chromiumରେ ପାସୱାର୍ଡ ଯାଞ୍ଚ ଉପଲବ୍ଧ ନାହିଁ</translation>
 <translation id="1871534214638631766">ଯେତେବେଳେ ବିଷୟବସ୍ତୁ ଉପରେ ଆପଣ ଡାହାଣ କ୍ଲିକ୍ କରନ୍ତି କିମ୍ବା ଅଧିକ ସମୟ ଦବାଇ ଧରନ୍ତି, ସେତେବେଳେ ସମ୍ବନ୍ଧିତ ସୂଚନା ଦେଖାନ୍ତୁ</translation>
 <translation id="1871615898038944731">ଆପଣଙ୍କ <ph name="DEVICE_TYPE" /> ଅପ୍-ଟୁ-ଡେଟ୍ ଅଛି।</translation>
-<translation id="1874835396235780806">ଏହି ପାସୱାର୍ଡ ଏବଂ ଅନ୍ୟ ପାସୱାର୍ଡଗୁଡ଼ିକୁ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରେ ସେଭ୍ କରିବେ?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ଅନ୍ୟ ଏକ ୱିଣ୍ଡୋକୁ ଟାବ୍ ମୁଭ୍ କରନ୍ତୁ}other{ଅନ୍ୟ ଏକ ୱିଣ୍ଡୋକୁ ଟାବଗୁଡ଼ିକ ମୁଭ୍ କରନ୍ତୁ}}</translation>
 <translation id="1875386316419689002">ଏହି ଟାବ୍ ଏକ HID ଡିଭାଇସ୍‌ରେ ସଂଯୋଗ କରାଯାଇଛି।</translation>
 <translation id="1875387611427697908">ଏହା କେବଳ <ph name="CHROME_WEB_STORE" />ରୁ ଯୋଗ କରାଯାଇପାରିବ</translation>
@@ -757,7 +754,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" />ଟିର <ph name="NETWORK_INDEX" /> ନେଟ୍‌ୱାର୍କ, <ph name="NETWORK_NAME" /> ସଂଯୋଗ କରନ୍ତୁ</translation>
 <translation id="1884705339276589024">Linux ଡିସ୍କର ଆକାର ପରିବର୍ତ୍ତନ କରନ୍ତୁ</translation>
 <translation id="1885106732301550621">ଡିସ୍କ ସ୍ପେସ୍</translation>
-<translation id="1885190042244431215">ଜଣେ ବିଦ୍ୟାର୍ଥୀ ଭାବରେ ଏବେ ବି ବାପାମାଙ୍କ ନିୟନ୍ତ୍ରଣରେ କାମ କରୁଥିବା ସମୟରେ ଏକ ସ୍କୁଲ ଆକାଉଣ୍ଟ ଯୋଗ କରିବା ଦ୍ଵାରା ୱେବସାଇଟ୍ ଏବଂ ଏକ୍ସଟେନସନକୁ ସହଜରେ ସାଇନ୍-ଇନ୍ କରିବାକୁ ସକ୍ଷମ କରିଥାଏ।</translation>
 <translation id="1886996562706621347">ସାଇଟ୍‍ଗୁଡ଼ିକୁ ପ୍ରୋଟୋକଲ୍ ପାଇଁ ଡିଫଲ୍ଟ ହ୍ୟାଣ୍ଡଲର୍ ହେବା ପାଇଁ ପଚାରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ (ସୁପାରିଶ୍ କରାଯାଇଛି)</translation>
 <translation id="1887442540531652736">ସାଇନ୍‍-ଇନ୍ କରିବାରେ ତ୍ରୁଟି</translation>
 <translation id="1887597546629269384">ପୁଣି "Hey Google" କୁହନ୍ତୁ</translation>
@@ -2193,7 +2189,6 @@
 <translation id="3654045516529121250">ଆପଣଙ୍କର ଆକ୍ସେସିବିଲିଟୀ ସେଟିଂସ୍ ପଢ଼ନ୍ତୁ</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ଏହାର ଗୋଟିଏ ଫାଇଲ୍‍‍ରେ ସ୍ଥାୟୀ ଆକ୍ସେସ୍ ରହିଛି।}other{ଏହାର #ଟି ଫାଇଲ୍‍‍ରେ ସ୍ଥାୟୀ ଆକ୍ସେସ୍ ରହିଛି।}}</translation>
 <translation id="3660234220361471169">ଭରସାଯୋଗ୍ୟ ନୁହେଁ</translation>
-<translation id="3661172646479098821">ବର୍ତ୍ତମାନ କେବଳ Android ଡିଭାଇସ୍‌ଗୁଡ଼ିକ ସମର୍ଥିତ ଅଟନ୍ତି।</translation>
 <translation id="3664511988987167893">ଏକ୍ସଟେନ୍‌ସନ୍ ଆଇକନ୍</translation>
 <translation id="3665589677786828986">Chrome ଚିହ୍ନଟ କରିଛି କି ଅନ୍ୟ କୌଣସି ପ୍ରୋଗ୍ରାମ୍ ଦ୍ବାରା ଆପଣଙ୍କର କିଛି ସେଟିଂସ୍ ନଷ୍ଟ ହୋଇଯାଇଥିଲା ଏବଂ ସେଗୁଡ଼ିକୁ ସେମାନଙ୍କର ମୂଳ ଡିଫଲ୍ଟରେ ପୁନଃସେଟ୍ କରନ୍ତୁ।</translation>
 <translation id="3668801437375206837">ବ୍ଲୁଟୁଥ୍ ସମସ୍ୟାଗୁଡ଼ିକର ଉତ୍ତମ ରୂପେ ନିର୍ଣ୍ଣୟ ନେବା ପାଇଁ, Googlerମାନେ ସେମାନଙ୍କର ମତାମତ ରିପୋର୍ଟ ସହିତ ଅତିରିକ୍ତ ବ୍ଲୁଟୁଥ୍ ଲଗ୍‍ଗୁଡ଼ିକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରିପାରିବେ। ଯେତେବେଳେ ଏହି ବିକଳ୍ପର ଯାଞ୍ଚ କରାଯାଏ, ସେତେବେଳେ ଆପଣଙ୍କର ରିପୋର୍ଟରେ ଆପଣଙ୍କ ବର୍ତ୍ତମାନର ସମୟ ଅବଧିରୁ btsnoop ଓ HCI ଲଗ୍‍ଗୁଡ଼ିକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରାଯିବ, ଯଥାସମ୍ଭବ PIIକୁ କାଢ଼ିବା ପାଇଁ କାଣ୍ଟଛାଣ୍ଟ କରାଯିବ। ଏହି ଲଗ୍‍ଗୁଡ଼ିକର ଆକ୍ସେସ୍‍କୁ Listnrରେ ଥିବା Chrome OS ଉତ୍ପାଦ ଗୋଷ୍ଠୀର ପରିଚାଳକମାନଙ୍କ ପର୍ଯ୍ୟନ୍ତ ସୀମିତ କରାଯିବ। 90 ଦିନ ପରେ ଲଗ୍‍ଗୁଡ଼ିକ ଖାଲି କରିଦିଆଯିବ।</translation>
@@ -2764,6 +2759,7 @@
 <translation id="4370975561335139969">ଆପଣ ଲେଖିଥିବା ଇମେଲ୍ ଓ ପାସ୍‍ୱର୍ଡ ମେଳ ହେଉନାହିଁ</translation>
 <translation id="4374831787438678295">Linux ଇନ୍‍ଷ୍ଟଲର୍</translation>
 <translation id="4375035964737468845">ଡାଇନ୍‌ଲୋଡ୍‍ ହୋ‍ଇଥିବା ଫାଇଲ୍‍ଗୁଡ଼ିକ ଖୋଲନ୍ତୁ</translation>
+<translation id="4376226992615520204">ଲୋକେସନ୍ ବନ୍ଦ କରାଯାଇଛି</translation>
 <translation id="4377363674125277448">ସର୍ଭର୍‌ର ସାର୍ଟିଫିକେଟ୍‌ରେ ଗୋଟିଏ ସମସ୍ୟା ହୋ‍ଇଛି।</translation>
 <translation id="4378154925671717803">ଫୋନ୍</translation>
 <translation id="4378373042927530923">ଚାଲୁନାହିଁ</translation>
@@ -2963,7 +2959,6 @@
 <translation id="4619615317237390068">ଅନ୍ୟ ଡିଭାଇସ୍‌ଗୁଡ଼ିକରୁ ଟାବ୍‌ଗୁଡ଼ିକ</translation>
 <translation id="4620809267248568679">ଏହି ସେଟିଂସ୍ ଏକ ଏକ୍ସଟେନ୍‌ସନ୍ ଦ୍ୱାରା ଲାଗୁ କରାଯାଇଛି।</translation>
 <translation id="4623189117674524348">ଏହି ଡିଭାଇସ୍ ପାଇଁ API ଆକ୍ସେସ୍ ସ୍ୱୀକୃତ କରିବାରେ ସିଷ୍ଟମ୍ ବିଫଳ ହୋଇଛି।</translation>
-<translation id="4624190781974168453">ଆରମ୍ଭ ହେବା ସମୟରେ ପଚାରନ୍ତୁ</translation>
 <translation id="4625078469366263107">ଆପ୍‍କୁ ସକ୍ଷମ କରନ୍ତୁ</translation>
 <translation id="4627427111733173920">କୁକୀଗୁଡିକ ବ୍ଲକ୍ ଅଛି</translation>
 <translation id="4627442949885028695">ଅନ୍ୟ ଏକ ଡିଭାଇସ୍‍ରୁ ଜାରି ରଖନ୍ତୁ</translation>
@@ -3393,7 +3388,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />"ର ନବୀନତମ ସଂସ୍କରଣ ଅକ୍ଷମ କରାଯାଇଛି କାରଣ ଏହା ଅଧିକ ଅନୁମତି ଆବଶ୍ୟକ କରେ।</translation>
 <translation id="5185500136143151980">ଇଣ୍ଟର୍ନେଟ୍ ସଂଯୋଗ ନାହିଁ</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> ପାଇଁ ବିକଳ୍ପ ମେନୁ</translation>
 <translation id="5190926251776387065">ପୋର୍ଟ ସକ୍ରିୟ କରନ୍ତୁ</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ଏକାଧିକ ଫାଇଲ୍ ଡାଉନ୍‌ଲୋଡ୍ କରିବାକୁ ଚାହୁଁଛି</translation>
 <translation id="5192062846343383368">ଆପଣଙ୍କର ନିରୀକ୍ଷଣ ସେଟିଂସ୍ ଦେଖିବାକୁ Family Link ଆପ୍ ଖୋଲନ୍ତୁ</translation>
@@ -3769,6 +3763,7 @@
 <translation id="5642508497713047">CRL ସ୍ୱାକ୍ଷରକାରୀ</translation>
 <translation id="5643321261065707929">ମିଟର ହୋଇଥିବା ନେଟୱାର୍କ</translation>
 <translation id="5643620609347735571">ଖାଲି କରନ୍ତୁ ଏବଂ ଜାରି ରଖନ୍ତୁ</translation>
+<translation id="5646376287012673985">ଅବସ୍ଥାନ</translation>
 <translation id="5646558797914161501">ବ୍ୟବସାୟୀ</translation>
 <translation id="5648166631817621825">ବିଗତ 7 ଦିନ</translation>
 <translation id="5649053991847567735">ସ୍ୱଚାଳିତ ଡାଉନ୍‌ଲୋଡ୍‌ଗୁଡ଼ିକ</translation>
@@ -4475,7 +4470,6 @@
 <translation id="6531282281159901044">ବିପଜ୍ଜନକ ଫାଇଲ୍‌କୁ ରଖନ୍ତୁ</translation>
 <translation id="6532101170117367231">Google Driveରେ ସେଭ୍ କରନ୍ତୁ</translation>
 <translation id="6532106788206463496">ପରିବର୍ତ୍ତନଗୁଡିକୁ ସେଭ୍ କରନ୍ତୁ</translation>
-<translation id="6532113437901537254">ଆପଣ ସାଇନ୍ ଇନ୍ କରିଥିବା ସମୟରେ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରୁ ଆପଣଙ୍କ ପାସୱାର୍ଡଗୁଡ଼ିକ ଏହି ଡିଭାଇସରେ ମଧ୍ୟ ଉପଲବ୍ଧ ହେବ</translation>
 <translation id="6532206849875187177">ସୁରକ୍ଷା ଏବଂ ସାଇନ୍-ଇନ୍</translation>
 <translation id="6532527800157340614">ଆପଣଙ୍କର ଆକ୍ସେସ୍ ଟୋକନକୁ ପୁନରୁଦ୍ଧାର କରାଯାଇ ନପାରିବା ଯୋଗୁଁ ସାଇନ୍-ଇନ୍ କରିବା ବିଫଳ ହୋଇଛି। ଦୟାକରି ଆପଣଙ୍କ ନେଟୱାର୍କ ସଂଯୋଗ ଯାଞ୍ଚ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="6532663472409656417">ଏଣ୍ଟରପ୍ରାଇଜ୍ ପଞ୍ଜିକରଣ କରାଯାଇଛି</translation>
@@ -5006,9 +5000,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ଡିଲିଟ୍ କରାଗଲା</translation>
 <translation id="7201420661433230412">ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ</translation>
 <translation id="7203150201908454328">ପ୍ରସାରିତ ହୋଇଛି</translation>
-<translation id="7203826966018112936">ଜଣେ ବିଦ୍ୟାର୍ଥୀ ଭାବରେ ବାପାମାଙ୍କ ନିୟନ୍ତ୍ରଣରେ କାମ କରୁଥିବା ସମୟରେ ଏକ ସ୍କୁଲ ଆକାଉଣ୍ଟକୁ ପ୍ରୋଫାଇଲ୍ ସହ ଯୋଗ କରିବା ଦ୍ଵାରା ୱେବସାଇଟ୍ ଏବଂ ଏକ୍ସଟେନସନକୁ ସହଜରେ ସାଇନ୍-ଇନ୍ କରିବା ସକ୍ଷମ ହୁଏ। ଏହା ଜଣେ ପିଲାକୁ ସ୍କୁଲ ଆକାଉଣ୍ଟ ସହିତ ସିଙ୍କ୍ କରାଯାଇଥିବା ବୁକମାର୍କ, ପାସୱାର୍ଡ କିମ୍ବା ଅନ୍ୟ ବ୍ରାଉଜର୍ ଡାଟା ଆକ୍ସେସ୍ କରିବାକୁ ଦେଇନଥାଏ।&lt;br&gt;&lt;br&gt;
-    ଯଦି ଆପଣଙ୍କ ପିଲା ସ୍କୁଲରେ କୌଣସି Chromebook ବ୍ୟବହାର କରେ ଏବଂ ଆପଣଙ୍କ ପିଲା ପାଖରେ ସମସ୍ତ ଆବଶ୍ୟକୀୟ ସ୍କୁଲ କାର୍ଯ୍ୟକୁ ଆକ୍ସେସ୍ ଅଛି ବୋଲି ସୁନିଶ୍ଚିତ କରିବାକୁ ଆପଣ ଘରେ ସ୍କୁଲର ଅନୁଭୂତି ଦେବାକୁ ଚାହୁଁଛନ୍ତି, ତେବେ ଦୟାକରି ଏହି Family Link ଆକାଉଣ୍ଟକୁ ସାଇନ୍ ଆଉଟ୍ କରି Chrome OS ଆକାଉଣ୍ଟ ପୃଷ୍ଠାରୁ ସ୍କୁଲ ଆକାଉଣ୍ଟରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ (ଧ୍ୟାନ ଦିଅନ୍ତୁ: Family Link ବାପାମାଙ୍କ ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ ଲାଗୁ ହେବ ନାହିଁ)।&lt;br&gt;&lt;br&gt;
-    ଯଦି ଆପଣଙ୍କ ପିଲା ସ୍କୁଲରେ କୌଣସି Chromebook ବ୍ୟବହାର କରେ ନାହିଁ କିମ୍ବା ଯଦି ଆପଣ ଆପଣଙ୍କ ଘରେ Family Link ବ୍ୟବହାର କରି ପିଲାର ଅନୁଭୂତି ପରିଚାଳନା କରିବାକୁ ପସନ୍ଦ କରନ୍ତି, ତେବେ ଦୟାକରି ଏହି ପ୍ରୋଫାଇଲରେ ଏକ ସ୍କୁଲ ଆକାଉଣ୍ଟ ଯୋଗ କରିବାକୁ ନିମ୍ନରେ ଥିବା ପରବର୍ତ୍ତୀ ବଟନରେ କ୍ଲିକ୍ କରନ୍ତୁ।</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ଡାଉନ୍‍‍‍ଲୋଡ୍ ହେଉଛି...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{ପୃଷ୍ଠାରୁ ବାହାରି ଯାଆନ୍ତୁ}other{ପୃଷ୍ଠାରୁ ବାହାରି ଯାଆନ୍ତୁ}}</translation>
 <translation id="7207457272187520234">ବ୍ୟବହାର ଏବଂ ଡାଏଗ୍ନୋଷ୍ଟିକ୍ ଡାଟା ପଠାନ୍ତୁ। ଏହି ଡିଭାଇସ୍ ବର୍ତ୍ତମାନ ସ୍ୱଚାଳିତ ରୂପେ ଡାଏଗ୍ନୋଷ୍ଟିକ୍, ଡିଭାଇସ୍ ଏବଂ ଆପ୍ ବ୍ୟବହାର ଡାଟା Googleକୁ ପଠାଉଛି। ସିଷ୍ଟମ୍ ଓ ଆପର ସ୍ଥିରତା ଏବଂ ଅନ୍ୟ ଉନ୍ନତିଗୁଡ଼ିକରେ ଏହା ସାହାଯ୍ୟ କରିବ। କିଛି ଏକତ୍ରିତ ଡାଟା Google ଆପ୍ ଓ Android ଡେଭଲପର୍ ପରି ଏହାର ପାର୍ଟନରଗୁଡ଼ିକୁ ମଧ୍ୟ ସାହାଯ୍ୟ କରିବ। ଏହି ସେଟିଂ ମାଲିକଙ୍କ ଦ୍ୱାରା ଲାଗୁ କରାଯାଇଛି। ଯଦି ଆପଣଙ୍କର ଅତିରିକ୍ତ ୱେବ୍ ଓ ଆପ୍ କାର୍ଯ୍ୟକଳାପ ସେଟିଂ ଚାଲୁ ଅଛି, ତେବେ ଏହି ଡାଟା ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରେ ସେଭ୍ ହୋଇପାରେ।</translation>
@@ -5151,7 +5142,6 @@
 <translation id="7388044238629873883">ଆପଣ ପ୍ରାୟ କରିସାରିଛନ୍ତି!</translation>
 <translation id="7392118418926456391">ଭାଇରସ୍ ସ୍କାନ୍ ବିଫଳ ହେଲା</translation>
 <translation id="7392915005464253525">ବନ୍ଦ ହୋଇଥିବା ୱିଣ୍ଡୋ ପୁନଃ ଖୋ&amp;ଲନ୍ତୁ</translation>
-<translation id="7393472013449507620">"*" ୱାଇଲ୍ଡକାର୍ଡଗୁଡ଼ିକ ଥିବା ସେଟିଂସ୍ ଆଉ ସମର୍ଥିତ ନୁହେଁ। <ph name="BEGIN_LINK" /> ଏହି ସେଟିଂସ୍ ପରିବର୍ତ୍ତନ<ph name="END_LINK" /> କରିବାକୁ ଏକ୍ସଟେନସନ୍ ଡେଭେଲପର୍ କିମ୍ବା ଆପଣଙ୍କ ଆଡମିନିଷ୍ଟ୍ରେଟରଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।</translation>
 <translation id="7396017167185131589">ସେୟାର୍ କରାଯାଇଥିବା ଫୋଲ୍ଡରଗୁଡ଼ିକ ଏଠାରେ ଦେଖାଯିବ</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ସିଷ୍ଟମ୍‍ ଆରମ୍ଭରେ ଲଞ୍ଚ ହେବ ଏବଂ ଆପଣ ଅନ୍ୟ ସମସ୍ତ <ph name="PRODUCT_NAME" /> ୱିଣ୍ଡୋକୁ ବନ୍ଦ କରିବା ପରେ ମଧ୍ୟ ପୃଷ୍ଠଭୂମିରେ ଚାଲିବା ଜାରି ରହିବ।</translation>
 <translation id="7399045143794278225">ସିଙ୍କକୁ କଷ୍ଟମାଇଜ୍ କରନ୍ତୁ</translation>
@@ -5264,6 +5254,7 @@
 <translation id="7526989658317409655">ପ୍ଲେସହୋଲ୍ଡର୍</translation>
 <translation id="7529411698175791732">ଆପଣଙ୍କର ଇଣ୍ଟର୍ନେଟ୍ ସଂଯୋଗ ଯାଞ୍ଚ କରନ୍ତୁ। ଯଦି ସମସ୍ୟା ଜାରି ରହେ, ସାଇନ୍ ଆଉଟ୍ କରି ପୁଣି ସାଇନ୍ ଇନ୍ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="7530016656428373557">ୱାଟ୍‌ରେ ଡିସ୍‌ଚାର୍ଜ୍ ହାର</translation>
+<translation id="7531310913436731628">Mac ସିଷ୍ଟମ୍ ପସନ୍ଦଗୁଡ଼ିକରେ ଲୋକେସନ୍ ବନ୍ଦ କରାଯାଇଛି</translation>
 <translation id="7531779363494549572">ସେଟିଂସ୍ &gt; ଆପ୍ସ ଏବଂ ବିଜ୍ଞପ୍ତି &gt; ବିଜ୍ଞପ୍ତିକୁ ଯାଆନ୍ତୁ।</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> କୌଣସି ପ୍ରତିକ୍ରିୟା କରୁନାହିଁ। ଆପ୍‍କୁ ବନ୍ଦ କରିବା ପାଇଁ "ବଳପୂର୍ବକ ବନ୍ଦ କରନ୍ତୁ"କୁ ଚୟନ କରନ୍ତୁ।</translation>
 <translation id="7537451260744431038">ଆପଣଙ୍କୁ ସାଇନ୍ ଇନ୍ ରଖିବା କିମ୍ବା ଆପଣଙ୍କ ସପିଂ କାର୍ଟରେ ଥିବା ଆଇଟମଗୁଡ଼ିକୁ ମନେରଖିବା ପରି ଆପଣଙ୍କ ବ୍ରାଉଜିଂ ଅନୁଭୂତିକୁ ଉନ୍ନତ କରିବା ନିମନ୍ତେ ସାଇଟଗୁଡ଼ିକ କୁକୀଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ</translation>
@@ -6041,7 +6032,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> ପାଇଁ ପାସ୍‍ୱର୍ଡ ସେଭ୍ କରାଯାଇଛି</translation>
 <translation id="8472623782143987204">ହାର୍ଡୱେର୍-ସମର୍ଥିତ</translation>
 <translation id="8473863474539038330">ଠିକଣାଗୁଡ଼ିକ ଏବଂ ଅଧିକ</translation>
-<translation id="8474733733775441349">ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରୁ ପାସୱାର୍ଡଗୁଡ଼ିକ ଦେଖାନ୍ତୁ</translation>
 <translation id="8475313423285172237">ଆପଣଙ୍କର କମ୍ପ୍ୟୁଟର୍‌ରେ ଥିବା ପ୍ରୋଗ୍ରାମ୍‌ ଅନ୍ୟ ଏକ ଏକ୍ସଟେନ୍‍ସନ୍‌ ଯୋଗ କରିଛି ଯାହା Chrome ଯେପରି କାର୍ଯ୍ୟ କରେ ସେଥିରେ ପରିବର୍ତ୍ତନ କରିପାରେ।</translation>
 <translation id="8477241577829954800">ଏହି ସ୍ଥାନ ଅଧିକାର କଲା</translation>
 <translation id="8477384620836102176">&amp;ସାଧାରଣ</translation>
diff --git a/chrome/app/resources/generated_resources_pa.xtb b/chrome/app/resources/generated_resources_pa.xtb
index 6e70c2a..ddd36fe2 100644
--- a/chrome/app/resources/generated_resources_pa.xtb
+++ b/chrome/app/resources/generated_resources_pa.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">ਕੇਵਲ ਐਨਸਿਫਰ</translation>
 <translation id="1038462104119736705">Linux ਲਈ ਘੱਟੋ-ਘੱਟ <ph name="INSTALL_SIZE" /> ਜਗ੍ਹਾ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਖਾਲੀ ਜਗ੍ਹਾ ਨੂੰ ਵਧਾਉਣ ਲਈ, ਆਪਣੇ ਡੀਵਾਈਸ ਵਿੱਚੋਂ ਫ਼ਾਈਲਾਂ ਮਿਟਾਓ।</translation>
 <translation id="1039337018183941703">ਅਵੈਧ ਜਾਂ ਖਰਾਬ ਫ਼ਾਈਲ</translation>
-<translation id="104086161873270383">ਨਵਾਂ ਪ੍ਰੋਫਾਈਲ</translation>
 <translation id="1041175011127912238">ਇਹ ਪੰਨਾ ਪ੍ਰਤਿਕਿਰਿਆ ਨਹੀਂ ਦੇ ਰਿਹਾ ਹੈ</translation>
 <translation id="1041263367839475438">ਉਪਲਬਧ ਡੀਵਾਈਸਾਂ</translation>
 <translation id="1042174272890264476">ਤੁਹਾਡਾ ਕੰਪਿਊਟਰ ਵੀ <ph name="SHORT_PRODUCT_NAME" /> ਦੀ RLZ ਲਾਇਬ੍ਰੇਰੀ ਬਿਲਟ ਇਨ ਤੋਂ ਆਉਂਦਾ ਹੈ। RLZ ਖੋਜਾਂ ਅਤੇ ਇੱਕ ਖ਼ਾਸ ਪ੍ਰਚਾਰ ਮੁਹਿੰਮ ਵੱਲੋਂ ਕੀਤੀ ਗਈ <ph name="SHORT_PRODUCT_NAME" /> ਵਰਤੋਂ ਦਾ ਹਿਸਾਬ ਲਗਾਉਣ ਲਈ ਇੱਕ ਗ਼ੈਰ-ਬੇਜੋੜ, ਗ਼ੈਰ-ਨਿੱਜੀ ਪਛਾਣਯੋਗ ਟੈਗ ਅਸਾਈਨ ਕਰਦਾ ਹੈ। ਇਹ ਲੇਬਲ ਕਦੇ-ਕਦਾਈਂ <ph name="PRODUCT_NAME" /> ਵਿੱਚ Google ਖੋਜ ਪੁੱਛਗਿੱਛਾਂ ਵਿੱਚ ਪ੍ਰਗਟ ਹੁੰਦੇ ਹਨ।</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> ਉਪ-ਪੰਨਾ ਪਿੱਛੇ ਜਾਓ ਬਟਨ</translation>
 <translation id="1322046419516468189">ਆਪਣੇ <ph name="SAVED_PASSWORDS_STORE" /> ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ ਦੇਖੋ ਅਤੇ ਉਹਨਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="1324106254079708331">ਕਿਸੇ ਦੇ ਵੀ ਨਿੱਜੀ Google ਖਾਤਿਆਂ ਨੂੰ ਉਦੇਸ਼ਿਤ ਹਮਲਿਆਂ ਦੇ ਖਤਰੇ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ</translation>
-<translation id="1325985428688410772">ਜਗ੍ਹਾ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="1326317727527857210">ਆਪਣੇ ਹੋਰ ਡੀਵਾਈਸਾਂ ਤੋਂ ਆਪਣੀਆਂ ਟੈਬਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ।</translation>
 <translation id="1327074568633507428">'Google ਕਲਾਊਡ ਪ੍ਰਿੰਟ' 'ਤੇ ਪ੍ਰਿੰਟਰ</translation>
 <translation id="1327272175893960498">Kerberos ਟਿਕਟਾਂ</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Chromium ਵਿੱਚ ਪਾਸਵਰਡ ਜਾਂਚ ਉਪਲਬਧ ਨਹੀਂ ਹੈ</translation>
 <translation id="1871534214638631766">ਸਮੱਗਰੀ 'ਤੇ ਸੱਜਾ-ਕਲਿੱਕ ਕਰਨ ਜਾਂ ਉਸਨੂੰ ਦਬਾਈ ਰੱਖਣ 'ਤੇ ਸੰਬੰਧਿਤ ਜਾਣਕਾਰੀ ਦਿਖਾਓ</translation>
 <translation id="1871615898038944731">ਤੁਹਾਡੀ <ph name="DEVICE_TYPE" /> ਅੱਪ ਟੂ ਡੇਟ ਹੈ</translation>
-<translation id="1874835396235780806">ਕੀ ਇਹ ਅਤੇ ਹੋਰ ਪਾਸਵਰਡ ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ ਰੱਖਿਅਤ ਕਰਨੇ ਹਨ?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ਟੈਬ ਨੂੰ ਕਿਸੇ ਹੋਰ ਵਿੰਡੋ ਵਿੱਚ ਲਿਜਾਓ}one{ਟੈਬ ਨੂੰ ਕਿਸੇ ਹੋਰ ਵਿੰਡੋ ਵਿੱਚ ਲਿਜਾਓ}other{ਟੈਬਾਂ ਨੂੰ ਕਿਸੇ ਹੋਰ ਵਿੰਡੋ ਵਿੱਚ ਲਿਜਾਓ}}</translation>
 <translation id="1875386316419689002">ਇਹ ਟੈਬ ਕਿਸੇ HID ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕੀਤੀ ਗਈ ਹੈ।</translation>
 <translation id="1875387611427697908">ਇਸਨੂੰ ਸਿਰਫ਼ <ph name="CHROME_WEB_STORE" /> ਤੋੋਂ ਹੀ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">ਨੈੱਟਵਰਕ <ph name="NETWORK_COUNT" /> ਵਿੱਚੋਂ <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, ਕਨੈਕਟ ਕਰੋ</translation>
 <translation id="1884705339276589024">Linux ਡਿਸਕ ਦਾ ਆਕਾਰ ਬਦਲੋ</translation>
 <translation id="1885106732301550621">ਡਿਸਕ ਵਿੱਚ ਜਗ੍ਹਾ</translation>
-<translation id="1885190042244431215">ਸਕੂਲੀ ਖਾਤਾ ਸ਼ਾਮਲ ਕਰਨ ਨਾਲ ਮਾਪਿਆਂ ਦੇ ਕੰਟਰੋਲ ਅਧੀਨ ਕੰਮ ਕਰਦਿਆਂ ਇੱਕ ਵਿਦਿਆਰਥੀ ਵਜੋਂ ਵੈੱਬਸਾਈਟਾਂ ਅਤੇ ਐਕਸਟੈਂਸ਼ਨਾਂ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨਾ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ।</translation>
 <translation id="1886996562706621347">ਸਾਈਟਾਂ ਨੂੰ ਪ੍ਰੋਟੋਕੋਲਾਂ ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਹੈਂਡਲਰ ਬਣਨ ਲਈ ਕਹਿਣ ਦੀ ਆਗਿਆ ਦਿਓ (ਸਿਫ਼ਾਰਿਸ਼ ਕੀਤਾ)</translation>
 <translation id="1887442540531652736">ਸਾਈਨ-ਇਨ ਗੜਬੜ</translation>
 <translation id="1887597546629269384">ਦੁਬਾਰਾ "Hey Google" ਕਹੋ</translation>
@@ -2198,7 +2194,6 @@
 <translation id="3654045516529121250">ਆਪਣੀਆਂ ਪਹੁੰਚਯੋਗਤਾ ਸੈਟਿੰਗਾਂ ਪੜ੍ਹੋ</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ਇਸਦੀ ਇੱਕ ਫਾਈਲ ਤੱਕ ਸਥਾਈ ਪਹੁੰਚ ਹੈ।}one{ਇਸਦੀ # ਫਾਈਲਾਂ ਤੱਕ ਸਥਾਈ ਪਹੁੰਚ ਹੈ।}other{ਇਸਦੀ # ਫਾਈਲਾਂ ਤੱਕ ਸਥਾਈ ਪਹੁੰਚ ਹੈ।}}</translation>
 <translation id="3660234220361471169">ਭਰੋਸੇਯੋਗ ਨਹੀਂ</translation>
-<translation id="3661172646479098821">ਫਿਲਹਾਲ ਸਿਰਫ਼ Android ਡੀਵਾਈਸਾਂ ਵਿੱਚ ਸੁਵਿਧਾ ਹੈ।</translation>
 <translation id="3664511988987167893">ਐਕਟੈਂਸ਼ਨ ਪ੍ਰਤੀਕ</translation>
 <translation id="3665589677786828986">Chrome ਨੇ ਪਤਾ ਲਗਾਇਆ ਕਿ ਕਿਸੇ ਹੋਰ ਪ੍ਰੋਗਰਾਮ ਨਾ ਤੁਹਾਡੀਆਂ ਕੁਝ ਸੈਟਿੰਗਾਂ ਨੂੰ ਖਰਾਬ ਕਰ ਦਿੱਤਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਮੂਲ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੈਟਿੰਗਾਂ 'ਤੇ ਰੀਸੈੱਟ ਕੀਤਾ ਗਿਆ ਸੀ।</translation>
 <translation id="3668801437375206837">ਬਲੂਟੁੱਥ ਸਮੱਸਿਆਵਾਂ ਦੀ ਬਿਹਤਰ ਤਰੀਕੇ ਨਾਲ ਤਸ਼ਖੀਸ ਕਰਨ ਲਈ, ਗੂਗਲਰ ਆਪਣੀਆਂ ਫੀਡਬੈਕ ਰਿਪੋਰਟਾਂ ਦੇ ਨਾਲ ਵਾਧੂ ਬਲੂਟੁੱਥ ਲੌਗ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹਨ। ਜਦੋਂ ਇਸ ਵਿਕਲਪ 'ਤੇ ਨਿਸ਼ਾਨ ਲਗਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡੀ ਰਿਪੋਰਟ ਵਿੱਚ ਤੁਹਾਡੇ ਵਰਤਮਾਨ ਸੈਸ਼ਨ ਤੋਂ btsnoop ਅਤੇ HCI ਲੌਗ ਸ਼ਾਮਲ ਹੋਣਗੇ, ਜਿਨ੍ਹਾਂ ਦੀ ਜਿੰਨਾ ਸੰਭਵ ਹੋ ਸਕੇ PII ਹਟਾਉਣ ਲਈ ਸਫਾਈ ਕੀਤੀ ਗਈ ਹੁੰਦੀ ਹੈ। ਇਹਨਾਂ ਲੌਗਾਂ ਤੱਕ ਪਹੁੰਚ Listnr ਵਿੱਚ Chrome OS ਉਤਪਾਦ ਸਮੂਹ ਦੇ ਪ੍ਰਬੰਧਕਾਂ ਤੱਕ ਸੀਮਿਤ ਹੋਵੇਗੀ। 90 ਦਿਨਾਂ ਬਾਅਦ ਲੌਗ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ।</translation>
@@ -2770,6 +2765,7 @@
 <translation id="4370975561335139969">ਤੁਹਾਡੇ ਵੱਲੋਂ ਦਰਜ ਕੀਤਾ ਈਮੇਲ ਅਤੇ ਪਾਸਵਰਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ</translation>
 <translation id="4374831787438678295">Linux ਸਥਾਪਨਾਕਾਰ</translation>
 <translation id="4375035964737468845">ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਫਾਈਲਾਂ ਖੋਲ੍ਹੋ</translation>
+<translation id="4376226992615520204">ਟਿਕਾਣਾ ਸੇਵਾ ਨੂੰ ਬੰਦ ਕੀਤਾ ਗਿਆ ਹੈ</translation>
 <translation id="4377363674125277448">ਸਰਵਰ ਦੇ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨਾਲ ਇੱਕ ਸਮੱਸਿਆ ਹੋਈ ਸੀ।</translation>
 <translation id="4378154925671717803">ਫ਼ੋਨ</translation>
 <translation id="4378373042927530923">ਨੈੱਟਵਰਕ ਤਸ਼ਖੀਸ ਨਹੀਂ ਚੱਲੀ</translation>
@@ -2969,7 +2965,6 @@
 <translation id="4619615317237390068">ਹੋਰ ਡੀਵਾਈਸਾਂ ਤੋਂ ਟੈਬਾਂ</translation>
 <translation id="4620809267248568679">ਇਹ ਸੈਟਿੰਗ ਇੱਕ ਐਕਸਟੈਂਸ਼ਨ ਵੱਲੋਂ ਲਾਗੂ ਕੀਤੀ ਗਈ ਹੈ।</translation>
 <translation id="4623189117674524348">ਸਿਸਟਮ ਇਸ ਡੀਵਾਈਸ ਲਈ API ਪਹੁੰਚ ਦਾ ਅਧਿਕਾਰ ਦੇਣ ਵਿੱਚ ਅਸਫਲ ਰਿਹਾ।</translation>
-<translation id="4624190781974168453">ਸ਼ੁਰੂਆਤ ਵੇਲੇ ਪੁੱਛੋ</translation>
 <translation id="4625078469366263107">ਐਪ ਨੂੰ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="4627427111733173920">ਕੁਕੀਜ਼ ਬਲਾਕ ਕੀਤੀਆਂ ਗਈਆਂ</translation>
 <translation id="4627442949885028695">ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ ਤੋਂ ਜਾਰੀ ਰੱਖੋ</translation>
@@ -3399,7 +3394,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" ਦੇ ਬਿਲਕੁਲ ਨਵੇਂ ਵਰਜਨ ਨੂੰ ਬੰਦ ਕੀਤਾ ਗਿਆ ਹੈ ਕਿਉਂਕਿ ਇਸਦੇ ਲਈ ਵੱਧ ਇਜਾਜ਼ਤਾਂ ਦੀ ਲੋੜ ਹੈ।</translation>
 <translation id="5185500136143151980">ਇੰਟਰਨੈੱਟ ਨਹੀਂ</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> ਲਈ ਵਿਕਲਪ ਮੀਨੂ</translation>
 <translation id="5190926251776387065">ਪੋਰਟ ਕਿਰਿਆਸ਼ੀਲ ਕਰੋ</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ਇੱਕ ਤੋਂ ਵੱਧ ਫ਼ਾਈਲਾਂ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ</translation>
 <translation id="5192062846343383368">ਆਪਣੀਆਂ ਨਿਗਰਾਨੀ ਸੈਟਿੰਗਾਂ ਦੇਖਣ ਲਈ Family Link ਐਪ ਖੋਲ੍ਹੋ</translation>
@@ -3775,6 +3769,7 @@
 <translation id="5642508497713047">CRL ਸਾਈਨਰ</translation>
 <translation id="5643321261065707929">ਮੀਟਰਡ ਨੈੱਟਵਰਕ</translation>
 <translation id="5643620609347735571">ਕਲੀਅਰ ਕਰਕੇ ਜਾਰੀ ਰੱਖੋ</translation>
+<translation id="5646376287012673985">ਨਿਰਧਾਰਿਤ ਸਥਾਨ</translation>
 <translation id="5646558797914161501">ਕਾਰੋਬਾਰੀ</translation>
 <translation id="5648166631817621825">ਪਿਛਲੇ 7 ਦਿਨ</translation>
 <translation id="5649053991847567735">ਆਟੋਮੈਟਿਕ ਡਾਊਨਲੋਡਸ</translation>
@@ -4481,7 +4476,6 @@
 <translation id="6531282281159901044">ਖਤਰਨਾਕ ਫ਼ਾਈਲ ਨੂੰ ਰੱਖੋ</translation>
 <translation id="6532101170117367231">'Google ਡਰਾਈਵ' ਵਿੱਚ ਰੱਖਿਅਤ ਕਰੋ</translation>
 <translation id="6532106788206463496">ਬਦਲਾਅ ਰੱਖਿਅਤ ਕਰੋ</translation>
-<translation id="6532113437901537254">ਸਾਈਨ-ਇਨ ਹੋਣ ਵੇਲੇ ਤੁਹਾਡੇ Google ਖਾਤੇ ਤੋਂ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਵੀ ਉਪਲਬਧ ਹੋਣਗੇ</translation>
 <translation id="6532206849875187177">ਸੁਰੱਖਿਆ ਅਤੇ ਸਾਈਨ-ਇਨ</translation>
 <translation id="6532527800157340614">ਸਾਈਨ-ਇਨ ਅਸਫਲ ਰਿਹਾ ਕਿਉਂਕਿ ਤੁਹਾਡਾ ਪਹੁੰਚ ਟੋਕਨ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋ ਸਕਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="6532663472409656417">ਐਂਟਰਪ੍ਰਾਈਜ਼ ਵਜੋਂ ਦਰਜ</translation>
@@ -5011,9 +5005,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ਮਿਟਾਇਆ ਗਿਆ</translation>
 <translation id="7201420661433230412">ਫ਼ਾਈਲਾਂ ਦੇਖੋ</translation>
 <translation id="7203150201908454328">ਵਿਸਤ੍ਰਿਤ</translation>
-<translation id="7203826966018112936">ਕਿਸੇ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਸਕੂਲੀ ਖਾਤਾ ਸ਼ਾਮਲ ਕਰਨ ਨਾਲ ਮਾਪਿਆਂ ਦੇ ਕੰਟਰੋਲ ਅਧੀਨ ਕੰਮ ਕਰਦਿਆਂ ਇੱਕ ਵਿਦਿਆਰਥੀ ਵਜੋਂ ਵੈੱਬਸਾਈਟਾਂ ਅਤੇ ਐਕਸਟੈਂਸ਼ਨਾਂ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨਾ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ। ਇਹ ਕਿਸੇ ਬੱਚੇ ਨੂੰ ਸਕੂਲੀ ਖਾਤੇ ਨਾਲ ਸਮਕਾਲੀਕਿਰਤ ਕੀਤੇ ਬੁੱਕਮਾਰਕ, ਪਾਸਵਰਡ ਅਤੇ ਹੋਰ ਬ੍ਰਾਊਜ਼ਰ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਦਿੰਦਾ ਹੈ।&lt;br&gt;&lt;br&gt;
-    ਜੇ ਤੁਹਾਡਾ ਬੱਚਾ ਸਕੂਲ ਵਿੱਚ Chromebook ਵਰਤਦਾ ਹੈ ਅਤੇ ਤੁਸੀਂ ਘਰ ਬੈਠੇ ਸਕੂਲੀ ਅਨੁਭਵ ਨੂੰ ਪ੍ਰਤਿਬਿੰਬਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਕਿ ਇਹ ਪੱਕਾ ਕੀਤਾ ਜਾ ਸਕੇ ਕਿ ਤੁਹਾਡੇ ਬੱਚੇ ਕੋਲ ਸਕੂਲ ਦੇ ਸਾਰੇ ਜ਼ਰੂਰੀ ਕੰਮਾਂ ਤੱਕ ਪਹੁੰਚ ਹੈ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਇਸ Family Link ਖਾਤੇ ਵਿੱਚੋਂ ਸਾਈਨ-ਆਊਟ ਕਰਕੇ 'Chrome OS ਖਾਤੇ' ਪੰਨੇ ਤੋਂ ਸਕੂਲੀ ਖਾਤੇ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ (ਨੋਟ-ਕਰੋ: Family Link ਸੰਬੰਧੀ ਮਾਪਿਆਂ ਦੇ ਕੰਟਰੋਲ ਲਾਗੂ ਨਹੀਂ ਹੋਣਗੇ)।&lt;br&gt;&lt;br&gt;
-    ਜੇ ਤੁਹਾਡਾ ਬੱਚਾ ਸਕੂਲ ਵਿੱਚ Chromebook ਨਹੀਂ ਵਰਤਦਾ ਜਾਂ ਜੇ ਤੁਸੀਂ ਘਰ ਬੈਠੇ Family Link ਵਰਤ ਕੇ ਆਪਣੇ ਬੱਚੇ ਦੇ ਅਨੁਭਵ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਇਸ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਸਕੂਲੀ ਖਾਤਾ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ 'ਅੱਗੇ ਜਾਓ' ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ਨੂੰ ਡਾਊਨਲੋਡ ਕਰ ਰਿਹਾ ਹੈ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{ਪੰਨੇ ਤੋਂ ਬਾਹਰ ਜਾਓ}one{ਪੰਨੇ ਤੋਂ ਬਾਹਰ ਜਾਓ}other{ਪੰਨਿਆਂ ਤੋਂ ਬਾਹਰ ਜਾਓ}}</translation>
 <translation id="7207457272187520234">ਵਰਤੋਂ ਅਤੇ ਤਸ਼ਖੀਸ ਡਾਟਾ ਭੇਜੋ। ਇਹ ਡੀਵਾਈਸ ਇਸ ਵੇਲੇ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਤਸ਼ਖੀਸ, ਡੀਵਾਈਸ ਅਤੇ ਐਪ ਵਰਤੋਂ ਡਾਟਾ Google ਨੂੰ ਭੇਜ ਰਿਹਾ ਹੈ। ਇਸ ਨਾਲ ਸਿਸਟਮ ਅਤੇ ਐਪ ਸਥਿਰਤਾ ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਮਿਲੇਗੀ। ਕੁਝ ਏਕੀਕ੍ਰਿਤ ਜਾਣਕਾਰੀ Google ਐਪਾਂ ਅਤੇ ਪਾਰਟਨਰਾਂ, ਜਿਵੇਂ ਕਿ Android ਵਿਕਾਸਕਾਰਾਂ ਦੀ ਵੀ ਮਦਦ ਕਰੇਗੀ। ਇਹ ਸੈਟਿੰਗ ਮਾਲਕ ਵੱਲੋਂ ਲਾਗੂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਜੇ ਤੁਹਾਡੀ ਵਧੀਕ 'ਵੈੱਬ ਅਤੇ ਐਪ ਸਰਗਰਮੀ' ਸੈਟਿੰਗ ਚਾਲੂ ਹੋਵੇ, ਤਾਂ ਇਹ ਡਾਟਾ ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।</translation>
@@ -5156,7 +5147,6 @@
 <translation id="7388044238629873883">ਤੁਸੀਂ ਲਗਭਗ ਕਰ ਲਿਆ ਹੈ!</translation>
 <translation id="7392118418926456391">ਵਾਇਰਸ ਸਕੈਨ ਅਸਫਲ</translation>
 <translation id="7392915005464253525">ਬੋਦ ਕੀਤੀ window ਮੁ&amp;ੜ ਖੋਲ੍ਹੋ</translation>
-<translation id="7393472013449507620">"*" ਵਾਈਲਡ-ਕਾਰਡਾਂ ਵਾਲੀਆਂ ਸੈਟਿੰਗਾਂ ਹੁਣ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ। <ph name="BEGIN_LINK" /> ਇਹਨਾਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਬਦਲਣ<ph name="END_LINK" /> ਲਈ ਐਕਸਟੈਂਸ਼ਨ ਵਿਕਾਸਕਾਰ ਜਾਂ ਆਪਣੇ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।</translation>
 <translation id="7396017167185131589">ਸਾਂਝੇ ਕੀਤੇ ਫੋਲਡਰ ਇੱਥੇ ਦਿਸਣਗੇ</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ਸਿਸਟਮ ਸਟਾਟਅੱਪ ਤੇ ਲਾਂਚ ਹੋਵੇਗਾ ਅਤੇ ਪਿਛੋਕੜ ਵਿੱਚ ਚਲਾਉਣ ਲਈ ਜਾਰੀ ਰੱਖੇਗਾ ਭਾਵੇਂ ਇੱਕ ਵਾਰ ਤੁਸੀਂ ਸਾਰੀਆਂ ਹੋਰ <ph name="PRODUCT_NAME" /> windows ਬੰਦ ਕਰ ਦਿੱਤੀਆਂ ਹੋਣ।</translation>
 <translation id="7399045143794278225">ਸਮਕਾਲੀਕਰਨ ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ</translation>
@@ -5269,6 +5259,7 @@
 <translation id="7526989658317409655">ਪਲੇਸਹੋਲਡਰ</translation>
 <translation id="7529411698175791732">ਆਪਣੇ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ। ਜੇਕਰ ਸਮੱਸਿਆ ਬਣੀ ਰਹਿੰਦੀ ਹੈ, ਤਾਂ ਸਾਈਨ ਆਊਟ ਕਰਕੇ ਦੇਖੋ ਅਤੇ ਦੁਬਾਰਾ ਸਾਈਨ-ਇਨ ਕਰੋ।</translation>
 <translation id="7530016656428373557">ਵਾਟ ਵਿੱਚ ਡਿਸਚਾਰਜ ਦਰ</translation>
+<translation id="7531310913436731628">Mac ਸਿਸਟਮ ਤਰਜੀਹਾਂ ਵਿੱਚ ਟਿਕਾਣਾ ਬੰਦ ਹੈ</translation>
 <translation id="7531779363494549572">ਸੈਟਿੰਗਾਂ &gt; ਐਪਾਂ ਅਤੇ ਸੂਚਨਾਵਾਂ &gt; ਸੂਚਨਾਵਾਂ 'ਤੇ ਜਾਓ।</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ਐਪ ਪ੍ਰਤੀਕਿਰਿਆ ਨਹੀਂ ਦੇ ਰਹੀ ਹੈ। ਐਪ ਬੰਦ ਕਰਨ ਲਈ "ਜ਼ਬਰਦਸਤੀ ਬੰਦ ਕਰੋ" ਨੂੰ ਚੁਣੋ।</translation>
 <translation id="7537451260744431038">ਸਾਈਟਾਂ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਕੁਕੀਜ਼ ਨੂੰ ਨਹੀਂ ਵਰਤ ਸਕਦੀਆਂ, ਉਦਾਹਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਸਾਈਨ-ਇਨ ਜਾਂ ਤੁਹਾਡੇ ਖਰੀਦਦਾਰੀ ਕਾਰਟ ਵਿਚਲੀਆਂ ਆਈਟਮਾਂ ਨੂੰ ਯਾਦ ਰੱਖਣ ਲਈ</translation>
@@ -6046,7 +6037,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> ਲਈ ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ</translation>
 <translation id="8472623782143987204">ਹਾਰਡਵੇਅਰ-ਬੈਕਅੱਪ</translation>
 <translation id="8473863474539038330">ਪਤੇ ਅਤੇ ਹੋਰ</translation>
-<translation id="8474733733775441349">ਤੁਹਾਡੇ Google ਖਾਤੇ ਤੋਂ ਪਾਸਵਰਡ ਦਿਖਾਓ</translation>
 <translation id="8475313423285172237">ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਦੇ ਕਿਸੇ ਹੋਰ ਪ੍ਰੋਗਰਾਮ ਨੇ ਇੱਕ ਐਕਸਟੈਂਸ਼ਨ ਜੋੜ ਦਿੱਤੀ ਜੋ Chrome ਦੇ ਕੰਮ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਬਦਲ ਸਕਦੀ ਹੈ।</translation>
 <translation id="8477241577829954800">ਛੱਡ ਦਿੱਤਾ</translation>
 <translation id="8477384620836102176">&amp;ਸਧਾਰਨ</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index 39dfd78d..fa1642a 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Tylko szyfrowanie</translation>
 <translation id="1038462104119736705">Do korzystania z Linuksa zalecane jest co najmniej <ph name="INSTALL_SIZE" /> wolnego miejsca. Aby zwolnić miejsce, usuń pliki z urządzenia.</translation>
 <translation id="1039337018183941703">Nieprawidłowy lub uszkodzony plik</translation>
-<translation id="104086161873270383">Nowy profil</translation>
 <translation id="1041175011127912238">Ta strona nie odpowiada</translation>
 <translation id="1041263367839475438">Dostępne urządzenia</translation>
 <translation id="1042174272890264476">Twój komputer zawiera również wbudowaną bibliotekę RLZ <ph name="SHORT_PRODUCT_NAME" />. Przypisuje ona powtarzalny, nieumożliwiający identyfikacji użytkownika tag służący do monitorowania wyszukiwań i używania <ph name="SHORT_PRODUCT_NAME" /> w ramach określonej kampanii promocyjnej. Etykiety te czasami pojawiają się w zapytaniach wyszukiwarki Google w <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">To ustawienie jest wymuszone przez rozszerzenie <ph name="NAME" />.</translation>
 <translation id="1118738876271697201">System nie mógł określić modelu lub numeru seryjnego urządzenia.</translation>
 <translation id="1119447706177454957">Błąd wewnętrzny</translation>
+<translation id="1122068467107743258">Służbowy</translation>
 <translation id="1122198203221319518">&amp;Narzędzia</translation>
 <translation id="1122242684574577509">Uwierzytelnianie nie powiodło się. Kliknij, by otworzyć stronę logowania do sieci Wi-Fi (<ph name="NETWORK_ID" />), której używasz.</translation>
 <translation id="1122960773616686544">Nazwa zakładki</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Zarządzaj aplikacjami</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – należy do grupy <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Otwórz w oknie incognito</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> z <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Klucz bezpieczeństwa jest zablokowany z powodu wprowadzenia nieprawidłowego kodu PIN zbyt wiele razy. Aby odblokować klucz bezpieczeństwa, wyjmij go i włóż ponownie.</translation>
 <translation id="1137673463384776352">Otwórz link w aplikacji <ph name="APP" /></translation>
 <translation id="1139343347646843679">Podczas konfigurowania Linuksa wystąpił błąd. Skontaktuj się z administratorem.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Przycisk Wstecz na podstronie <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Swoje zapisane hasła znajdziesz tutaj: <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Chroni osobiste konta Google każdej osoby zagrożonej atakami ukierunkowanymi</translation>
-<translation id="1325985428688410772">Dodaj profil</translation>
 <translation id="1326317727527857210">Aby korzystać z kart ze swoich innych urządzeń, zaloguj się w Chrome.</translation>
 <translation id="1327074568633507428">Drukarka w Google Cloud Print</translation>
 <translation id="1327272175893960498">Bilety Kerberos</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Wpisz swój adres e-mail</translation>
 <translation id="1576594961618857597">Domyślny biały awatar</translation>
 <translation id="1578558981922970608">Wymuś zamknięcie</translation>
+<translation id="1578784163189013834">Wybierz tło wygaszacza ekranu</translation>
 <translation id="1580772913177567930">Skontaktuj się z administratorem</translation>
 <translation id="1581962803218266616">Pokaż w Finderze</translation>
 <translation id="1582955169539260415">usuń [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -746,7 +747,6 @@
 <translation id="1868553836791672080">W Chromium sprawdzanie haseł nie jest dostępne</translation>
 <translation id="1871534214638631766">Pokazuj powiązane informacje po kliknięciu prawym przyciskiem lub przytrzymaniu treści</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> używa aktualnej wersji oprogramowania</translation>
-<translation id="1874835396235780806">Zapisać to i inne hasła na koncie Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Przenieś kartę do innego okna}few{Przenieś karty do innego okna}many{Przenieś karty do innego okna}other{Przenieś karty do innego okna}}</translation>
 <translation id="1875386316419689002">Ta karta jest połączona z urządzeniem HID.</translation>
 <translation id="1875387611427697908">Możesz to pobrać tylko z <ph name="CHROME_WEB_STORE" /></translation>
@@ -759,7 +759,6 @@
 <translation id="1884013283844450420">Sieć <ph name="NETWORK_INDEX" /> z <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, połącz</translation>
 <translation id="1884705339276589024">Zmień rozmiar dysku Linuksa</translation>
 <translation id="1885106732301550621">Miejsce na dysku</translation>
-<translation id="1885190042244431215">Po dodaniu konta szkolnego uczeń może łatwo logować się pod kontrolą rodzicielską na stronach i w rozszerzeniach.</translation>
 <translation id="1886996562706621347">Zezwól, by strony prosiły użytkownika o ustawienie ich jako domyślnego modułu obsługi protokołu (zalecane)</translation>
 <translation id="1887442540531652736">Błąd logowania</translation>
 <translation id="1887597546629269384">Jeszcze raz powiedz „Hej Google”</translation>
@@ -1127,6 +1126,7 @@
 <translation id="2347644257713614136">Korzystanie z Hangouts i Cast for Education podlega Polityce prywatności Google.</translation>
 <translation id="2348176352564285430">Aplikacja: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Błąd podczas ładowania danych</translation>
+<translation id="2349610121459545414">Nadal zezwalaj tej stronie na dostęp do Twojej lokalizacji</translation>
 <translation id="2349896577940037438">Jeśli włączysz ustawienie Dodatkowa aktywność w internecie i aplikacjach, te dane mogą być zapisywane na Twoim koncie Google. Na account.google.com możesz je zobaczyć, usunąć oraz zmienić ustawienia konta.</translation>
 <translation id="2350133097354918058">Załadowano ponownie</translation>
 <translation id="2350182423316644347">Inicjuję aplikację...</translation>
@@ -1228,6 +1228,7 @@
 <translation id="247051149076336810">URL udziału plików</translation>
 <translation id="2470702053775288986">Wyłączono nieobsługiwane rozszerzenia</translation>
 <translation id="2471469610750100598">Czarny (domyślny)</translation>
+<translation id="2471506181342525583">Zezwolono na dostęp do lokalizacji</translation>
 <translation id="2473195200299095979">Przetłumacz tę stronę</translation>
 <translation id="2475982808118771221">Wystąpił błąd</translation>
 <translation id="2476578072172137802">Ustawienia witryn</translation>
@@ -1239,6 +1240,7 @@
 <translation id="2482878487686419369">Powiadomienia</translation>
 <translation id="2484959914739448251">Aby wyczyścić dane przeglądania ze wszystkich swoich zsynchronizowanych urządzeń i z konta Google, <ph name="BEGIN_LINK" />wpisz hasło<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Zapisano hasło na tym urządzeniu</translation>
+<translation id="2485394160472549611">Polecane dla Ciebie</translation>
 <translation id="2485422356828889247">Odinstaluj</translation>
 <translation id="2487067538648443797">Dodaj nową zakładkę</translation>
 <translation id="2487268545026948104">Aby przywrócić dane, połącz się z internetem</translation>
@@ -1620,6 +1622,7 @@
 <translation id="2932483646085333864">Wyloguj się i zaloguj się ponownie, by rozpocząć synchronizację</translation>
 <translation id="2932883381142163287">Zgłoś nadużycie</translation>
 <translation id="2933632078076743449">Ostatnia aktualizacja</translation>
+<translation id="2934999512438267372">Zezwolono na pełną kontrolę nad urządzeniami MIDI</translation>
 <translation id="2936851848721175671">Kopia zapasowa i przywracanie</translation>
 <translation id="2938225289965773019">Otwieranie linków protokołu <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">Przeglądanie i usuwanie danych logowania zapisanych na kluczu bezpieczeństwa</translation>
@@ -1735,6 +1738,7 @@
 <translation id="3083193146044397360">Tymczasowo zablokowano, by chronić Twoje bezpieczeństwo</translation>
 <translation id="3084548735795614657">Przeciągnij tutaj, by zainstalować</translation>
 <translation id="3084771660770137092">W przeglądarce Chrome zabrakło pamięci albo proces strony internetowej został zakończony z innego powodu. Aby kontynuować, załaduj stronę ponownie lub przejdź do innej strony.</translation>
+<translation id="3084958266922136097">Wyłącz wygaszacz ekranu</translation>
 <translation id="3085412380278336437">Strona może używać kamery</translation>
 <translation id="3085752524577180175">Host SOCKS</translation>
 <translation id="3088052000289932193">Strona używa MIDI</translation>
@@ -1931,6 +1935,7 @@
 <translation id="3345886924813989455">Nie znaleziono obsługiwanej przeglądarki</translation>
 <translation id="3347086966102161372">K&amp;opiuj adres obrazu</translation>
 <translation id="3348038390189153836">Wykryto urządzenie wymienne</translation>
+<translation id="3348131053948466246">Zasugerowano emotikon. Naciśnij strzałkę w górę lub w dół, by przejść do innego elementu, i naciśnij Enter, by go wstawić.</translation>
 <translation id="3349933790966648062">Wykorzystanie pamięci</translation>
 <translation id="3355936511340229503">Błąd połączenia</translation>
 <translation id="3356580349448036450">Zakończone</translation>
@@ -1966,6 +1971,7 @@
 <translation id="3402585168444815892">Rejestruję w trybie demonstracyjnym</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Nie zapisano żadnych haseł do tej strony</translation>
+<translation id="3404249063913988450">Włącz wygaszacz ekranu</translation>
 <translation id="3405664148539009465">Dostosuj czcionki</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Pokaż pasek zakładek</translation>
@@ -2196,7 +2202,6 @@
 <translation id="3654045516529121250">Odczyt ustawień ułatwień dostępu</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Ma stały dostęp do jednego pliku.}few{Ma stały dostęp do # plików.}many{Ma stały dostęp do # plików.}other{Ma stały dostęp do # pliku.}}</translation>
 <translation id="3660234220361471169">Niezaufany</translation>
-<translation id="3661172646479098821">Obecnie obsługiwane są tylko urządzenia z Androidem.</translation>
 <translation id="3664511988987167893">Ikona rozszerzenia</translation>
 <translation id="3665589677786828986">Przeglądarka Chrome wykryła, że niektóre z jej ustawień zostały zmodyfikowane przez inny program, i przywróciła im pierwotne wartości domyślne.</translation>
 <translation id="3668801437375206837">Aby lepiej diagnozować problemy z Bluetoothem, pracownicy Google mogą dołączać do raportów z opiniami dodatkowe dzienniki dotyczące działania Bluetootha. Jeśli ta opcja jest zaznaczona, Twój raport będzie zawierał dzienniki btsnoop i HCI z bieżącej sesji, przy czym zostanie usuniętych możliwie najwięcej informacji umożliwiających identyfikację. Dostęp do tych dzienników zostanie ograniczony do menedżerów grupy produktów Chrome OS w Listnr. Dzienniki zostaną usunięte po 90 dniach.</translation>
@@ -2506,6 +2511,7 @@
 <translation id="3984159763196946143">Nie udało się uruchomić trybu demonstracyjnego</translation>
 <translation id="3984431586879874039">Zezwolić tej stronie na odczytywanie danych klucza bezpieczeństwa?</translation>
 <translation id="3986705137476756801">Na razie wyłącz napisy na żywo</translation>
+<translation id="3987544746655539083">Nadal nie zezwalaj tej stronie na dostęp do Twojej lokalizacji</translation>
 <translation id="3987938432087324095">Nie rozumiem.</translation>
 <translation id="3988996860813292272">Wybierz strefę czasową</translation>
 <translation id="399179161741278232">Zaimportowane</translation>
@@ -2571,6 +2577,7 @@
 <translation id="4087089424473531098">Utworzono rozszerzenie:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Zabroniono pełnej kontroli nad urządzeniami MIDI</translation>
 <translation id="4088095054444612037">Zaakceptuj dla grupy</translation>
 <translation id="4089235344645910861">Ustawienia zapisane. Synchronizacja rozpoczęta.</translation>
 <translation id="4090103403438682346">Włącz weryfikację dostępu</translation>
@@ -2651,6 +2658,7 @@
 <translation id="4200689466366162458">Słowa niestandardowe</translation>
 <translation id="4200983522494130825">Nowa &amp;karta</translation>
 <translation id="4201546031411513170">W ustawieniach możesz wybrać, co chcesz synchronizować.</translation>
+<translation id="420283545744377356">Wyłącz wygaszacz ekranu</translation>
 <translation id="4206144641569145248">Kosmita</translation>
 <translation id="4206323443866416204">Przesyłanie opinii</translation>
 <translation id="4208390505124702064">Szukaj na stronie <ph name="SITE_NAME" /></translation>
@@ -2749,6 +2757,7 @@
 <translation id="4348766275249686434">Zbieraj błędy</translation>
 <translation id="4349828822184870497">Przydatne</translation>
 <translation id="4350019051035968019">To urządzenie jest oznaczone jako zarządzane przez inną domenę i nie można go przypisać do domeny, do której należy Twoje konto.</translation>
+<translation id="4350230709416545141">Nigdy nie zezwalaj stronie <ph name="HOST" /> na dostęp do Twojej lokalizacji</translation>
 <translation id="4350782034419308508">OK Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> chce wyszukać urządzenia Bluetooth w pobliżu. Znaleziono te urządzenia:</translation>
 <translation id="4354073718307267720">Pytaj, gdy strona chce tworzyć mapę 3D otoczenia lub śledzić pozycję kamery</translation>
@@ -2768,6 +2777,7 @@
 <translation id="4370975561335139969">Podany adres e-mail i hasło nie pasują do siebie</translation>
 <translation id="4374831787438678295">Instalator Linuksa</translation>
 <translation id="4375035964737468845">Otwieranie pobranych plików</translation>
+<translation id="4376226992615520204">Lokalizacja wyłączona</translation>
 <translation id="4377363674125277448">Wystąpił problem z certyfikatem serwera.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Nie wykonano</translation>
@@ -2967,7 +2977,6 @@
 <translation id="4619615317237390068">Karty z innych urządzeń</translation>
 <translation id="4620809267248568679">To ustawienie jest wymuszone przez rozszerzenie.</translation>
 <translation id="4623189117674524348">System nie mógł autoryzować dostępu do interfejsu API dla tego urządzenia.</translation>
-<translation id="4624190781974168453">Pytaj po uruchomieniu</translation>
 <translation id="4625078469366263107">Włącz aplikację</translation>
 <translation id="4627427111733173920">Pliki cookie zablokowane</translation>
 <translation id="4627442949885028695">Kontynuuj z innego urządzenia</translation>
@@ -3397,7 +3406,6 @@
 <translation id="5185386675596372454">Najnowsza wersja rozszerzenia „<ph name="EXTENSION_NAME" />” została wyłączona, ponieważ wymaga więcej uprawnień.</translation>
 <translation id="5185500136143151980">Brak internetu</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menu opcji dla: <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktywuj port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> chce pobrać wiele plików</translation>
 <translation id="5192062846343383368">Otwórz aplikację Family Link, by zobaczyć ustawienia nadzoru</translation>
@@ -3590,6 +3598,7 @@
 <translation id="5431825016875453137">OpenVPN / L2TP</translation>
 <translation id="543338862236136125">Edytuj hasło</translation>
 <translation id="5434065355175441495">PKCS #1, szyfrowanie RSA</translation>
+<translation id="5435779377906857208">Zawsze zezwalaj stronie <ph name="HOST" /> na dostęp do lokalizacji</translation>
 <translation id="5436492226391861498">Czekam na tunel serwera proxy...</translation>
 <translation id="5436510242972373446">Wyszukiwanie w <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Zapisz teraz pliki i załóż nowe konto.</translation>
@@ -3773,6 +3782,7 @@
 <translation id="5642508497713047">Podmiot podpisujący listę CRL</translation>
 <translation id="5643321261065707929">Sieć z pomiarem użycia danych</translation>
 <translation id="5643620609347735571">Usuń i kontynuuj</translation>
+<translation id="5646376287012673985">Lokalizacja</translation>
 <translation id="5646558797914161501">Biznesmen</translation>
 <translation id="5648166631817621825">Ostatnie 7 dni</translation>
 <translation id="5649053991847567735">Pobieranie automatyczne</translation>
@@ -3816,6 +3826,7 @@
 <translation id="5701212929149679556">Roaming w sieci komórkowej</translation>
 <translation id="5701381305118179107">Wyśrodkuj</translation>
 <translation id="5701441174893770082">Uaktualnianie Linuksa może szybko rozładować baterię. Podłącz ładowarkę i spróbuj ponownie.</translation>
+<translation id="5702749864074810610">Sugestia została zamknięta</translation>
 <translation id="5702898740348134351">&amp;Edytuj wyszukiwarki...</translation>
 <translation id="5704875434923668958">Synchronizacja z</translation>
 <translation id="5705005699929844214">Zawsze pokazuj opcje ułatwień dostępu</translation>
@@ -3936,6 +3947,7 @@
 <translation id="5857090052475505287">Nowy folder</translation>
 <translation id="5857171483910641802">Skróty proponowane są na podstawie stron, które często odwiedzasz</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Album Galeria sztuki</translation>
 <translation id="585979798156957858">Zewnętrzny klawisz Meta</translation>
 <translation id="5860033963881614850">Wyłączone</translation>
 <translation id="5860491529813859533">Włącz</translation>
@@ -4321,6 +4333,7 @@
 <translation id="6318125393809743217">Uwzględnij plik policies.json w konfiguracji zasad.</translation>
 <translation id="6318407754858604988">Rozpoczęto pobieranie</translation>
 <translation id="6318944945640833942">Nie udało się wykryć drukarki. Wpisz jej adres ponownie.</translation>
+<translation id="6321407676395378991">Włącz wygaszacz ekranu</translation>
 <translation id="6322653941595359182">Wysyłanie i odbieranie SMS-ów na Chromebooku</translation>
 <translation id="6324916366299863871">Edytuj skrót</translation>
 <translation id="6325191661371220117">Wyłącz automatyczne uruchamianie</translation>
@@ -4479,7 +4492,6 @@
 <translation id="6531282281159901044">Zachowaj niebezpieczny plik</translation>
 <translation id="6532101170117367231">Zapisz na Dysku Google</translation>
 <translation id="6532106788206463496">Zapisz zmiany</translation>
-<translation id="6532113437901537254">Po zalogowaniu na tym urządzeniu będą także dostępne hasła z Twojego konta Google</translation>
 <translation id="6532206849875187177">Zabezpieczenia i logowanie</translation>
 <translation id="6532527800157340614">Nie można Cię zalogować, ponieważ nie udało się pobrać Twojego tokenu dostępu. Sprawdź połączenie sieciowe i spróbuj jeszcze raz.</translation>
 <translation id="6532663472409656417">Zarejestrowane w firmie</translation>
@@ -4501,6 +4513,7 @@
 <translation id="6555432686520421228">Usuń wszystkie konta użytkowników i przywróć urządzenie <ph name="IDS_SHORT_PRODUCT_NAME" /> do stanu fabrycznego.</translation>
 <translation id="6555810572223193255">Czyszczenie jest obecnie niedostępne</translation>
 <translation id="6556866813142980365">Ponów</translation>
+<translation id="6556903358015358733">Motyw i tapeta</translation>
 <translation id="6557290421156335491">Moje skróty</translation>
 <translation id="6561560012278703671">Pokazuj wiadomości dyskretnie (blokuje powiadomienia, by Ci nie przeszkadzały)</translation>
 <translation id="6561726789132298588">wpisz</translation>
@@ -4524,6 +4537,7 @@
 <translation id="6590458744723262880">Zmień nazwę folderu</translation>
 <translation id="6592267180249644460">Zapisany log WebRTC: <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Twój odcisk został zarejestrowany</translation>
+<translation id="6595187330192059106">Nigdy nie zezwalaj stronie <ph name="HOST" /> na pełną kontrolę nad urządzeniami MIDI.</translation>
 <translation id="6596325263575161958">Opcje szyfrowania</translation>
 <translation id="6596816719288285829">Adres IP</translation>
 <translation id="6597017209724497268">Przykłady</translation>
@@ -4611,7 +4625,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> i 1 inna karta}few{<ph name="PAGE_TITLE" /> i # inne karty}many{<ph name="PAGE_TITLE" /> i # innych kart}other{<ph name="PAGE_TITLE" /> i # innej karty}}</translation>
 <translation id="6709133671862442373">Wiadomości</translation>
 <translation id="6709357832553498500">Połącz za pomocą rozszerzenia <ph name="EXTENSIONNAME" /></translation>
-<translation id="6710213216561001401">Wstecz</translation>
+<translation id="6710213216561001401">Poprzedni</translation>
 <translation id="6715803357256707211">Podczas instalowania aplikacji na Linuksa wystąpił błąd. Kliknij powiadomienie, by zobaczyć szczegółowe informacje.</translation>
 <translation id="671619610707606484">Spowoduje to usunięcie <ph name="TOTAL_USAGE" /> danych zapisanych przez strony</translation>
 <translation id="671928215901716392">Zablokuj ekran</translation>
@@ -5009,9 +5023,6 @@
 <translation id="7201118060536064622">Element „<ph name="DELETED_ITEM_NAME" />” został usunięty</translation>
 <translation id="7201420661433230412">Wyświetl pliki</translation>
 <translation id="7203150201908454328">Rozwinięty</translation>
-<translation id="7203826966018112936">Po dodaniu konta szkolnego do profilu uczeń może łatwo logować się pod kontrolą rodzicielską na stronach i w rozszerzeniach. Nie daje to dziecku dostępu do zakładek, haseł ani innych danych przeglądania zsynchronizowanych z kontem szkolnym.&lt;br&gt;&lt;br&gt;
-Jeśli Twoje dziecko używa w szkole Chromebooka i chcesz mu zapewnić w domu środowisko podobne do szkolnego oraz dostęp do niezbędnych materiałów edukacyjnych, wyloguj się z konta Family Link i zaloguj się na konto szkolne ze strony kont Chrome OS (uwaga: ustawienia kontroli rodzicielskiej w Family Link nie będą stosowane).&lt;br&gt;&lt;br&gt;
-Jeśli Twoje dziecko nie używa w szkole Chromebooka lub jeśli wolisz zarządzać pracą dziecka z domu za pomocą konta Family Link, kliknij przycisk Dalej, by dodać konto szkolne do tego profilu.</translation>
 <translation id="7206693748120342859">Pobieram <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Zamknij stronę}few{Zamknij strony}many{Zamknij strony}other{Zamknij strony}}</translation>
 <translation id="7207457272187520234">Wysyłaj dane diagnostyczne oraz informacje o użyciu. To urządzenie automatycznie wysyła do Google dane diagnostyczne oraz informacje o używaniu urządzenia i aplikacji. Dzięki temu będziemy mogli poprawić stabilność systemu i aplikacji oraz wprowadzić inne ulepszenia. Niektóre dane zbiorcze pomogą nam też udoskonalić aplikacje Google lub zostaną wykorzystane przez naszych partnerów, na przykład deweloperów aplikacji na Androida. To ustawienie jest wymuszone przez właściciela. Jeśli włączysz ustawienie Dodatkowa aktywność w internecie i aplikacjach, te dane mogą być zapisywane na Twoim koncie Google.</translation>
@@ -5154,7 +5165,6 @@
 <translation id="7388044238629873883">Wszystko jest już prawie gotowe.</translation>
 <translation id="7392118418926456391">Skanowanie antywirusowe nie powiodło się</translation>
 <translation id="7392915005464253525">Otwórz ponowni&amp;e zamknięte okno</translation>
-<translation id="7393472013449507620">Ustawienia zawierające symbol wieloznaczny „*” nie są już obsługiwane. Jeśli chcesz <ph name="BEGIN_LINK" />zmienić te ustawienia<ph name="END_LINK" />, skontaktuj się z programistą rozszerzenia lub administratorem.</translation>
 <translation id="7396017167185131589">Tu pojawią się udostępnione foldery</translation>
 <translation id="7396845648024431313">Aplikacja <ph name="APP_NAME" /> zostanie włączona podczas uruchamiania systemu i będzie działać w tle nawet po zamknięciu wszystkich pozostałych okien przeglądarki <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Dostosuj synchronizację</translation>
@@ -5267,6 +5277,7 @@
 <translation id="7526989658317409655">Zmienna</translation>
 <translation id="7529411698175791732">Sprawdź połączenie z internetem. Jeśli problem nie ustąpi, wyloguj się i zaloguj ponownie.</translation>
 <translation id="7530016656428373557">Szybkość rozładowywania w watach</translation>
+<translation id="7531310913436731628">Lokalizacja jest wyłączona w Preferencjach systemowych Maca</translation>
 <translation id="7531779363494549572">Otwórz Ustawienia &gt; Aplikacje i powiadomienia &gt; Powiadomienia.</translation>
 <translation id="7532009420053991888">Aplikacja <ph name="LINUX_APP_NAME" /> nie odpowiada. Aby ją zamknąć, wybierz „Wymuś zamknięcie”.</translation>
 <translation id="7537451260744431038">Strony nie mogą używać plików cookie dla Twojej wygody, by na przykład zapamiętać Twoje logowanie lub zawartość koszyka</translation>
@@ -5379,6 +5390,7 @@
 <translation id="767147716926917172">Powoduje automatyczne wysyłanie do Google danych diagnostycznych i danych o korzystaniu</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" /> na stronie <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">W Linuksie dezaktywuj wszystkie przekierowywane porty</translation>
+<translation id="7674542105240814168">Zabroniono dostępu do lokalizacji</translation>
 <translation id="7676867886086876795">Wysyła Twój głos do Google, by umożliwić dyktowanie w dowolnym polu tekstowym.</translation>
 <translation id="7678280409648629969">Dane logowania zostaną zapisane po wyjściu z trybu incognito. Umożliwi Ci to późniejsze korzystanie na tej stronie z funkcji Touch ID.</translation>
 <translation id="7680416688940118410">Kalibracja ekranu dotykowego</translation>
@@ -5586,6 +5598,7 @@
 <translation id="790040513076446191">Manipulować ustawieniami ochrony prywatności</translation>
 <translation id="7903345046358933331">Ta strona nie odpowiada. Możesz zaczekać, aż zacznie odpowiadać, lub ją zamknąć.</translation>
 <translation id="7903742244674067440">Masz zapisane certyfikaty, które umożliwiają identyfikację tych urzędów certyfikacji</translation>
+<translation id="7903859912536385558">stabilna (zaufany tester)</translation>
 <translation id="7903925330883316394">Narzędzie: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Administrator tego konta zablokował możliwość wielokrotnego logowania.</translation>
 <translation id="7904526211178107182">Udostępnij porty Linuksa innym urządzeniom w Twojej sieci.</translation>
@@ -5711,6 +5724,7 @@
 <translation id="8049705080247101012">Google uznaje rozszerzenie „<ph name="EXTENSION_NAME" />” za złośliwe, dlatego nie dopuściliśmy do jego zainstalowania</translation>
 <translation id="8049948037269924837">Odwrotne przewijanie na touchpadzie</translation>
 <translation id="8050038245906040378">Podpisywanie kodu handlowego firmy Microsoft</translation>
+<translation id="8051390370038326517">Zawsze zezwalaj stronie <ph name="HOST" /> na pełną kontrolę nad urządzeniami MIDI</translation>
 <translation id="8053278772142718589">Pliki PKCS #12</translation>
 <translation id="8053390638574070785">Załaduj ponownie tę stronę</translation>
 <translation id="8054517699425078995">Pliki tego typu mogą wyrządzić szkody na urządzeniu. Czy mimo to chcesz zachować plik <ph name="FILE_NAME" />?</translation>
@@ -5762,6 +5776,7 @@
 <translation id="810728361871746125">Rozdzielczość wyświetlacza</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Brak plików cookie innych firm}=1{Zablokowano 1 plik cookie innej firmy}few{Zablokowano # pliki cookie innych firm}many{Zablokowano # plików cookie innych firm}other{Zablokowano # pliku cookie innych firm}}</translation>
 <translation id="810875025413331850">Nie znaleziono żadnych urządzeń w pobliżu.</translation>
+<translation id="8113476325385351118">Nadal nie zezwalaj tej stronie na pełną kontrolę nad urządzeniami MIDI</translation>
 <translation id="8114199541033039755">Przechodź do strony głównej i wstecz oraz przełączaj się między aplikacjami, korzystając z przycisków w trybie tabletu. To ustawienie jest włączone, gdy aktywne są ChromeVox lub automatyczne kliknięcia.</translation>
 <translation id="8114875720387900039">Podziel poziomo</translation>
 <translation id="8116972784401310538">&amp;Menedżer zakładek</translation>
@@ -6047,7 +6062,6 @@
 <translation id="8470513973197838199">Zapisane hasła do <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">sprzętowe</translation>
 <translation id="8473863474539038330">Adresy i ustawienia</translation>
-<translation id="8474733733775441349">Pokaż hasła z konta Google</translation>
 <translation id="8475313423285172237">Inny program na Twoim komputerze dodał rozszerzenie, które może zmienić działanie Chrome.</translation>
 <translation id="8477241577829954800">Zastąpiony</translation>
 <translation id="8477384620836102176">&amp;Ogólne</translation>
@@ -6130,6 +6144,7 @@
 <translation id="8590375307970699841">Skonfiguruj aktualizacje automatyczne</translation>
 <translation id="8591783563402255548">1 s</translation>
 <translation id="8592141010104017453">Nie pokazuj żadnych powiadomień</translation>
+<translation id="859246725979739260">Tej stronie zablokowano dostęp do Twojej lokalizacji.</translation>
 <translation id="8593121833493516339">Wysyłaj dane diagnostyczne oraz informacje o użyciu. Pomóż ulepszyć działanie Androida na urządzeniu dziecka, automatycznie wysyłając do Google dane diagnostyczne oraz informacje o używaniu urządzenia i aplikacji. Nie zostaną one użyte do zidentyfikowania Twojego dziecka. Wykorzystamy je, by poprawić stabilność systemu i aplikacji oraz wprowadzić inne ulepszenia. Niektóre dane zbiorcze pomogą nam też udoskonalić aplikacje Google lub zostaną wykorzystane przez naszych partnerów, na przykład deweloperów aplikacji na Androida. Jeśli na koncie Google dziecka włączysz Dodatkową aktywność w internecie i aplikacjach, te dane mogą być zapisywane na tym koncie. <ph name="BEGIN_LINK1" />Więcej informacji<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Nagraj film</translation>
 <translation id="8596540852772265699">Pliki niestandardowe</translation>
@@ -6142,6 +6157,7 @@
 <translation id="860909219589324847">Do przesyłania nie będzie używana mobilna transmisja danych</translation>
 <translation id="8609465669617005112">W górę</translation>
 <translation id="8610103157987623234">Nieprawidłowy format – spróbuj ponownie</translation>
+<translation id="8611682088849615761">Nadal zezwalaj tej stronie na pełną kontrolę nad urządzeniami MIDI</translation>
 <translation id="8613164732773110792">Możesz użyć tylko małych liter, cyfr, podkreśleń i myślników</translation>
 <translation id="8613786722548417558">Plik <ph name="FILE_NAME" /> jest za duży, by przeprowadzić kontrolę bezpieczeństwa. Możesz otwierać pliki, których rozmiar nie przekracza 50 MB.</translation>
 <translation id="8615618338313291042">Aplikacja w trybie incognito: <ph name="APP_NAME" /></translation>
@@ -6284,6 +6300,7 @@
 <translation id="8761945298804995673">Ten użytkownik już istnieje</translation>
 <translation id="8762886931014513155"><ph name="DEVICE_TYPE" /> wymaga aktualizacji</translation>
 <translation id="8763927697961133303">Urządzenie USB</translation>
+<translation id="87646919272181953">Album Zdjęcia Google</translation>
 <translation id="8767621466733104912">Automatycznie aktualizuj Chrome u wszystkich użytkowników</translation>
 <translation id="8770406935328356739">Główny katalog rozszerzenia</translation>
 <translation id="8770507190024617908">Zarządzaj użytkownikami</translation>
@@ -6600,6 +6617,7 @@
 <translation id="9147392381910171771">&amp;Opcje</translation>
 <translation id="9148058034647219655">Zakończ</translation>
 <translation id="9148126808321036104">Zaloguj się ponownie</translation>
+<translation id="9148963623915467028">Ta strona ma dostęp do Twojej lokalizacji.</translation>
 <translation id="9149866541089851383">Edytuj...</translation>
 <translation id="9150045010208374699">Korzystanie z Twojej kamery</translation>
 <translation id="9153934054460603056">Zapisz tożsamość i hasło</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index 7aeee9a..e7848ef 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Somente codificar</translation>
 <translation id="1038462104119736705">Recomenda-se ter pelo menos <ph name="INSTALL_SIZE" /> de espaço livre para o Linux. Para liberar espaço, exclua arquivos do dispositivo.</translation>
 <translation id="1039337018183941703">Arquivo inválido ou corrompido</translation>
-<translation id="104086161873270383">Novo Perfil</translation>
 <translation id="1041175011127912238">Esta página não está respondendo</translation>
 <translation id="1041263367839475438">Dispositivos disponíveis</translation>
 <translation id="1042174272890264476">Seu computador já vem com a biblioteca RLZ do <ph name="SHORT_PRODUCT_NAME" /> integrada. O RLZ atribui uma tag não exclusiva e sem identificação pessoal para medir as pesquisas e o uso do <ph name="SHORT_PRODUCT_NAME" /> gerados por uma campanha promocional específica. Esses marcadores às vezes aparecem em consultas da Pesquisa Google no <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Botão "Voltar" da subpágina <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Ver e gerenciar senhas salvas na sua <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Protege as Contas do Google pessoais de todos que correm risco de ataques direcionados</translation>
-<translation id="1325985428688410772">Adicionar espaço</translation>
 <translation id="1326317727527857210">Para ver as guias dos seus outros dispositivos, faça login no Chrome.</translation>
 <translation id="1327074568633507428">Impressora no Google Cloud Print</translation>
 <translation id="1327272175893960498">Tíquetes do Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">A verificação de senhas não está disponível no Chromium</translation>
 <translation id="1871534214638631766">Mostrar informações relacionadas ao clicar com o botão direito no conteúdo ou tocar nele e mantê-lo pressionado</translation>
 <translation id="1871615898038944731">Seu <ph name="DEVICE_TYPE" /> está atualizado</translation>
-<translation id="1874835396235780806">Salvar essa e outras senhas na sua Conta do Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Mover guia para outra janela}one{Mover guia para outra janela}other{Mover guias para outra janela}}</translation>
 <translation id="1875386316419689002">Esta guia está conectada a um dispositivo HID.</translation>
 <translation id="1875387611427697908">Esse item só por ser adicionado a partir da <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Rede <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, conectar</translation>
 <translation id="1884705339276589024">Redimensionar disco do Linux</translation>
 <translation id="1885106732301550621">Espaço em disco</translation>
-<translation id="1885190042244431215">A adição de uma conta escolar facilita o login como estudante em sites e extensões, sem desativar o "controle dos pais".</translation>
 <translation id="1886996562706621347">Permitir que os sites peçam para se tornar manipuladores padrão de protocolos (recomendado)</translation>
 <translation id="1887442540531652736">Erro de login</translation>
 <translation id="1887597546629269384">Diga "Ei Google" novamente</translation>
@@ -957,7 +953,7 @@
 <translation id="2143765403545170146">Sempre mostrar a barra de ferramentas em tela cheia</translation>
 <translation id="2143778271340628265">Configuração manual de proxy</translation>
 <translation id="2144536955299248197">Visualizador do certificado: <ph name="CERTIFICATE_NAME" /></translation>
-<translation id="2144557304298909478">Desenvolvimento de apps para Android no Linux</translation>
+<translation id="2144557304298909478">Desenvolvimento de apps Android no Linux</translation>
 <translation id="2148219725039824548">Erro ao ativar o compartilhamento. O compartilhamento especificado não foi encontrado na rede.</translation>
 <translation id="2148756636027685713">Formatação concluída</translation>
 <translation id="2148892889047469596">Transmitir guia</translation>
@@ -1362,7 +1358,7 @@
 <translation id="2624142942574147739">Esta página está acessando sua câmera e seu microfone.</translation>
 <translation id="2626799779920242286">Tente novamente mais tarde.</translation>
 <translation id="2628770867680720336">É necessário redefinir este Chromebook para a configuração original para ativar a depuração do adb. <ph name="BEGIN_LINK_LEARN_MORE" />Saiba mais<ph name="END_LINK_LEARN_MORE" /></translation>
-<translation id="2629227353894235473">Desenvolver apps para Android</translation>
+<translation id="2629227353894235473">Desenvolver apps Android</translation>
 <translation id="2630681426381349926">Conecte-se ao Wi-Fi para começar</translation>
 <translation id="2631498379019108537">Mostrar opções de entrada na estante</translation>
 <translation id="2633212996805280240">Remover "<ph name="EXTENSION_NAME" />"?</translation>
@@ -2201,7 +2197,6 @@
 <translation id="3654045516529121250">Ler suas configurações de acessibilidade</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Tem acesso permanente a um arquivo.}one{Tem acesso permanente a # arquivos.}other{Tem acesso permanente a # arquivos.}}</translation>
 <translation id="3660234220361471169">Não confiáveis</translation>
-<translation id="3661172646479098821">No momento, apenas dispositivos Android são compatíveis.</translation>
 <translation id="3664511988987167893">Ícone de extensão</translation>
 <translation id="3665589677786828986">O Google Chrome detectou que algumas das suas configurações foram corrompidas por outro programa e as redefiniu para os padrões originais.</translation>
 <translation id="3668801437375206837">Para diagnosticar melhor os problemas de Bluetooth, os Googlers podem incluir outros registros de Bluetooth aos relatórios de feedback deles. Quando essa opção estiver marcada, seu relatório incluirá registros btsnoop e HCI da sua sessão atual, depois de terem sido corrigidos para remover o máximo de PII possível. O acesso a esses registros será restrito aos gerentes do grupo de produtos do Chrome OS no Listnr. Os registros serão excluídos após 90 dias.</translation>
@@ -2278,7 +2273,7 @@
 <translation id="3742055079367172538">Captura de tela realizada</translation>
 <translation id="3742666961763734085">Não foi possível encontrar uma unidade organizacional com esse nome. Tente novamente.</translation>
 <translation id="3744111561329211289">Sincronização em segundo plano</translation>
-<translation id="3746127522257263495">Não há compatibilidade com a adição de contas do G Suite for Education em apps para Android.</translation>
+<translation id="3746127522257263495">Não há compatibilidade com a adição de contas do G Suite for Education em apps Android.</translation>
 <translation id="3747077776423672805">Para remover apps, acesse "Configurações" &gt; "Google Play Store" &gt; "Gerenciar preferências do Android" &gt; "Apps" ou "Gerenciador de aplicativos". Depois, toque no app que você quer desinstalar (talvez seja necessário deslizar para a direita ou esquerda para encontrar o app). Em seguida, toque em "Desinstalar" ou "Desativar".</translation>
 <translation id="3748026146096797577">Não conectado</translation>
 <translation id="3748706263662799310">Informar um bug</translation>
@@ -2334,7 +2329,7 @@
 <translation id="380408572480438692">A ativação da coleta de dados de desempenho ajuda o Google a melhorar o sistema com o passar do tempo. Os dados só são enviados depois que você preencher um relatório de feedback (Alt-Shift-I) e incluir dados de desempenho. Você pode retornar a esta tela para desativar a coleta a qualquer momento.</translation>
 <translation id="3807249107536149332">A extensão <ph name="EXTENSION_NAME" /> (código "<ph name="EXTENSION_ID" />") não é permitida em uma tela de login.</translation>
 <translation id="3807747707162121253">&amp;Cancelar</translation>
-<translation id="3808443763115411087">Desenvolvimento de apps para Android no Crostini</translation>
+<translation id="3808443763115411087">Desenvolvimento de apps Android no Crostini</translation>
 <translation id="38089336910894858">Mostrar aviso antes de sair com ⌘Q</translation>
 <translation id="3809272675881623365">Coelho</translation>
 <translation id="3809280248639369696">Lunar</translation>
@@ -2621,7 +2616,7 @@
 <translation id="413193092008917129">Rotinas de diagnóstico de rede</translation>
 <translation id="4133076602192971179">Abra o app para mudar sua senha</translation>
 <translation id="4136203100490971508">O Modo noturno será desativado automaticamente ao amanhecer</translation>
-<translation id="41365691917097717">Se você continuar, a depuração do adb será ativada para a criação e o teste de apps para Android. Essa ação permite a instalação de apps para Android que não foram verificados pelo Google. Para desativar, será necessária uma redefinição para a configuração original.</translation>
+<translation id="41365691917097717">Se você continuar, a depuração do adb será ativada para a criação e o teste de apps Android. Essa ação permite a instalação de apps Android que não foram verificados pelo Google. Para desativar, será necessária uma redefinição para a configuração original.</translation>
 <translation id="4138267921960073861">Mostrar nomes de usuários e fotos na tela de login</translation>
 <translation id="413915106327509564"><ph name="WINDOW_TITLE" />: dispositivo HID conectado</translation>
 <translation id="4142052906269098341">Desbloqueie o <ph name="DEVICE_TYPE" /> com seu smartphone. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
@@ -2773,6 +2768,7 @@
 <translation id="4370975561335139969">O e-mail e a senha que você digitou não coincidem.</translation>
 <translation id="4374831787438678295">Instalador do Linux</translation>
 <translation id="4375035964737468845">Abrir arquivos baixados</translation>
+<translation id="4376226992615520204">Localização desativada</translation>
 <translation id="4377363674125277448">Ocorreu um problema com o certificado do servidor.</translation>
 <translation id="4378154925671717803">Telefone</translation>
 <translation id="4378373042927530923">Não executada</translation>
@@ -2972,7 +2968,6 @@
 <translation id="4619615317237390068">Guias de outros dispositivos</translation>
 <translation id="4620809267248568679">Esta configuração é aplicada por uma extensão.</translation>
 <translation id="4623189117674524348">Falha do sistema ao autorizar o acesso à API para este dispositivo.</translation>
-<translation id="4624190781974168453">Perguntar na inicialização</translation>
 <translation id="4625078469366263107">Ativar app</translation>
 <translation id="4627427111733173920">Cookies bloqueados</translation>
 <translation id="4627442949885028695">Continuar de outro dispositivo</translation>
@@ -3261,7 +3256,7 @@
 <translation id="4998430619171209993">Ativado</translation>
 <translation id="5000922062037820727">Bloqueada (recomendado)</translation>
 <translation id="5005498671520578047">Copiar senha</translation>
-<translation id="5006218871145547804">ADB de apps para Android no Crostini</translation>
+<translation id="5006218871145547804">ADB de apps Android no Crostini</translation>
 <translation id="5007392906805964215">Revisar</translation>
 <translation id="5008936837313706385">Nome da atividade</translation>
 <translation id="5010043101506446253">Autoridade de certificação</translation>
@@ -3402,7 +3397,6 @@
 <translation id="5185386675596372454">A versão mais recente de "<ph name="EXTENSION_NAME" />" foi desativada porque requer mais permissões.</translation>
 <translation id="5185500136143151980">Sem Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menu "Opções" para <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Ativar porta</translation>
 <translation id="51918995459521422">Solicitação do download de vários arquivos feita por <ph name="ORIGIN" /></translation>
 <translation id="5192062846343383368">Abra o app Family Link para ver as configurações de supervisão</translation>
@@ -3779,6 +3773,7 @@
 <translation id="5642508497713047">Signatário de lista de certificados revogados</translation>
 <translation id="5643321261065707929">Rede limitada</translation>
 <translation id="5643620609347735571">Limpar e continuar</translation>
+<translation id="5646376287012673985">Local</translation>
 <translation id="5646558797914161501">Empresário</translation>
 <translation id="5648166631817621825">Últimos sete dias</translation>
 <translation id="5649053991847567735">Downloads automáticos</translation>
@@ -3812,7 +3807,7 @@
 <translation id="5691772641933328258">Impressão digital não reconhecida</translation>
 <translation id="5692183275898619210">Impressão concluída</translation>
 <translation id="569425414730375234">Sessão anônima atual: <ph name="RECENT_PERMISSIONS_CHANGE_SENTENCE_START" /></translation>
-<translation id="5695184138696833495">ADB de apps para Android no Linux</translation>
+<translation id="5695184138696833495">ADB de apps Android no Linux</translation>
 <translation id="5696143504434933566">Denunciar abuso de "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="5696177755977520104">Sincronização de configurações do Chrome OS</translation>
 <translation id="5696679855467848181">Arquivo PPD atual em uso: <ph name="PPD_NAME" /></translation>
@@ -4486,7 +4481,6 @@
 <translation id="6531282281159901044">Manter arquivo perigoso</translation>
 <translation id="6532101170117367231">Salvar no Google Drive</translation>
 <translation id="6532106788206463496">Salvar alterações</translation>
-<translation id="6532113437901537254">As senhas da sua Conta do Google também estarão disponíveis neste dispositivo enquanto a conta estiver conectada nele.</translation>
 <translation id="6532206849875187177">Segurança e login</translation>
 <translation id="6532527800157340614">O login falhou porque não foi possível recuperar seu token de acesso. Verifique sua conexão de rede e tente novamente.</translation>
 <translation id="6532663472409656417">Inscrito pela empresa</translation>
@@ -5016,9 +5010,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' excluído</translation>
 <translation id="7201420661433230412">Visualizar arquivos</translation>
 <translation id="7203150201908454328">Expandido</translation>
-<translation id="7203826966018112936">Adicionar uma conta escolar a um perfil permite fazer login facilitado como estudante em sites e extensões, mesmo sob controle dos pais. Isso não permite que a criança acesse favoritos, senhas e outros dados de navegação sincronizados com a conta escolar.&lt;br&gt;&lt;br&gt;
-    Se a criança usa um Chromebook na escola e você quer proporcionar a mesma experiência em casa para garantir que a criança tenha acesso a todos os trabalhos escolares necessários, saia dessa conta do Family Link e faça login na conta escolar na página de contas do Chrome OS (observação: os controles dos pais do Family Link não serão aplicados).&lt;br&gt;&lt;br&gt;
-    Se a criança não usa um Chromebook na escola ou se você prefere gerenciar a experiência da criança em casa usando o Family Link, clique no botão "Próximo" abaixo para adicionar uma conta escolar a esse perfil.</translation>
 <translation id="7206693748120342859">Fazendo download do <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Sair da página}one{Sair da página}other{Sair das páginas}}</translation>
 <translation id="7207457272187520234">Envie dados de uso e diagnóstico. No momento, este dispositivo está enviando automaticamente ao Google dados de diagnóstico, de uso de apps e do dispositivo. Eles ajudarão a melhorar o sistema, a estabilidade de apps e muito mais. Alguns dados agregados também ajudarão os apps do Google e nossos parceiros, como os desenvolvedores Android. Essa configuração é aplicada pelo proprietário, Se a configuração "Atividade na Web e de apps adicional" estiver ativada, esses dados poderão ser salvos na sua Conta do Google.</translation>
@@ -5161,7 +5152,6 @@
 <translation id="7388044238629873883">Está quase terminando!</translation>
 <translation id="7392118418926456391">Falha na verificação de vírus</translation>
 <translation id="7392915005464253525">R&amp;eabrir janela fechada</translation>
-<translation id="7393472013449507620">Configurações com caracteres curinga "*" não são mais compatíveis. Entre em contato com o desenvolvedor da extensão ou com seu administrador para <ph name="BEGIN_LINK" />mudar essas configurações<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">As pastas compartilhadas serão exibidas aqui</translation>
 <translation id="7396845648024431313">O <ph name="APP_NAME" /> será iniciado na inicialização do sistema e continuará sendo executado em segundo plano, mesmo quando você fechar todas as outras janelas de <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Personalizar sincronização</translation>
@@ -5274,6 +5264,7 @@
 <translation id="7526989658317409655">Marcador</translation>
 <translation id="7529411698175791732">Verifique sua conexão com a Internet. Se o problema continuar, tente sair e fazer login novamente.</translation>
 <translation id="7530016656428373557">Taxa de descarga em Watts</translation>
+<translation id="7531310913436731628">A localização está desativada nas preferências do sistema do Mac</translation>
 <translation id="7531779363494549572">Acesse Config. &gt; Apps e notificações &gt; Notificações.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> não está respondendo. Selecione "Forçar fechamento" para fechar o app.</translation>
 <translation id="7537451260744431038">Os sites não podem usar cookies para melhorar sua experiência de navegação, como manter sua conta conectada ou se lembrar dos itens em um carrinho de compras</translation>
@@ -5393,7 +5384,7 @@
 <translation id="7683373461016844951">Para continuar, clique em OK e depois em Adicionar pessoa para criar um novo perfil para seu endereço de e-mail do <ph name="DOMAIN" />.</translation>
 <translation id="7684212569183643648">Instalada pelo administrador</translation>
 <translation id="7684559058815332124">Visitar a página de login do portal cativo</translation>
-<translation id="7684718995427157417">Para criar e testar seus apps, ative o Android Debug Bridge (ADB). Essa ação permite a instalação de apps para Android que não foram verificados pelo Google. Para desativá-lo, será necessária uma redefinição para a configuração original.</translation>
+<translation id="7684718995427157417">Para criar e testar seus apps, ative o Android Debug Bridge (ADB). Essa ação permite a instalação de apps Android que não foram verificados pelo Google. Para desativá-lo, será necessária uma redefinição para a configuração original.</translation>
 <translation id="7685049629764448582">Memória JavaScript</translation>
 <translation id="7685087414635069102">PIN necessário</translation>
 <translation id="768549422429443215">Adicionar idiomas ou reordenar lista.</translation>
@@ -6054,7 +6045,6 @@
 <translation id="8470513973197838199">Senhas salvas para <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">suportado por hardware</translation>
 <translation id="8473863474539038330">Endereços e mais</translation>
-<translation id="8474733733775441349">Mostrar senhas da sua Conta do Google</translation>
 <translation id="8475313423285172237">Outro programa em seu computador adicionou uma extensão que pode mudar a forma como o Google Chrome funciona.</translation>
 <translation id="8477241577829954800">Substituído</translation>
 <translation id="8477384620836102176">&amp;Geral</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index 8513454..1b6d6e80 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Cifrar apenas</translation>
 <translation id="1038462104119736705">Recomenda-se, pelo menos, <ph name="INSTALL_SIZE" /> de espaço para o Linux. Para aumentar o espaço livre, elimine ficheiros do dispositivo.</translation>
 <translation id="1039337018183941703">Ficheiro inválido ou danificado</translation>
-<translation id="104086161873270383">Novo Perfil</translation>
 <translation id="1041175011127912238">Esta página não está a responder.</translation>
 <translation id="1041263367839475438">Dispositivos disponíveis</translation>
 <translation id="1042174272890264476">O seu computador também tem a biblioteca RLZ de <ph name="SHORT_PRODUCT_NAME" /> incorporada. A RLZ atribui uma etiqueta não exclusiva e não identificável a nível pessoal para medir as pesquisas e a utilização de <ph name="SHORT_PRODUCT_NAME" /> impulsionada por uma campanha promocional específica. Estas etiquetas por vezes aparecem em consultas da Pesquisa Google em <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Esta definição é aplicada pela extensão "<ph name="NAME" />".</translation>
 <translation id="1118738876271697201">O sistema não conseguiu determinar o modelo ou o número de série do dispositivo.</translation>
 <translation id="1119447706177454957">Erro interno</translation>
+<translation id="1122068467107743258">Trabalho</translation>
 <translation id="1122198203221319518">&amp;Ferramentas</translation>
 <translation id="1122242684574577509">Falha na autenticação. Clique para aceder à página de início de sessão da rede Wi-Fi que está a utilizar (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Nome do marcador</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Gerir apps</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – Parte do grupo <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Abrir na janela de navegação anónima</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> de <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">A chave de segurança está bloqueada porque foi introduzido o PIN incorreto demasiadas vezes. Para a desbloquear, remova-a e volte a inseri-la.</translation>
 <translation id="1137673463384776352">Abrir link na aplicação <ph name="APP" /></translation>
 <translation id="1139343347646843679">Ocorreu um erro ao configurar o Linux. Contacte o seu administrador.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Botão anterior da subpágina <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Veja e faça a gestão das palavras-passe guardadas em <ph name="SAVED_PASSWORDS_STORE" />.</translation>
 <translation id="1324106254079708331">Salvaguarda as Contas Google pessoais de qualquer pessoa em risco de ataques direcionados.</translation>
-<translation id="1325985428688410772">Adicionar espaço</translation>
 <translation id="1326317727527857210">Para obter os separadores dos seus outros dispositivos, inicie sessão no Chrome.</translation>
 <translation id="1327074568633507428">Impressora no Google Cloud Print</translation>
 <translation id="1327272175893960498">Permissões Kerberos</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">Introduza o seu email</translation>
 <translation id="1576594961618857597">Avatar branco predefinido</translation>
 <translation id="1578558981922970608">Forçar fecho</translation>
+<translation id="1578784163189013834">Escolher fundo da proteção de ecrã</translation>
 <translation id="1580772913177567930">Contacte o administrador</translation>
 <translation id="1581962803218266616">Mostrar no Finder</translation>
 <translation id="1582955169539260415">eliminar [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">A verificação da palavra-passe não está disponível no Chromium.</translation>
 <translation id="1871534214638631766">Mostrar informações relacionadas quando mantém premido ou clica com o botão direito do rato em conteúdo</translation>
 <translation id="1871615898038944731">O seu <ph name="DEVICE_TYPE" /> está atualizado</translation>
-<translation id="1874835396235780806">Pretende guardar esta e outras palavras-passe na sua Conta Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Mover separador para outra janela}other{Mover separadores para outra janela}}</translation>
 <translation id="1875386316419689002">Este separador está associado a um dispositivo HID.</translation>
 <translation id="1875387611427697908">Só é possível adicioná-la a partir da <ph name="CHROME_WEB_STORE" />.</translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420">Rede <ph name="NETWORK_INDEX" /> de <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, ligar</translation>
 <translation id="1884705339276589024">Redimensione o disco do Linux</translation>
 <translation id="1885106732301550621">Espaço em disco</translation>
-<translation id="1885190042244431215">Adicionar uma conta escolar permite iniciar sessão facilmente em Websites e extensões como aluno e continuar a trabalhar sob controlo parental.</translation>
 <translation id="1886996562706621347">Permitir que os Web sites peçam para se tornarem os processadores de protocolos predefinidos (recomendado)</translation>
 <translation id="1887442540531652736">Erro de início de sessão</translation>
 <translation id="1887597546629269384">Diga "Ok Google" novamente</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">A utilização do Hangouts e do Cast for Education é regida pela Política de Privacidade da Google.</translation>
 <translation id="2348176352564285430">Aplicação: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Ocorreu um erro ao carregar os dados.</translation>
+<translation id="2349610121459545414">Continuar a permitir que este site aceda à sua localização</translation>
 <translation id="2349896577940037438">Se a definição Atividade da Web e de apps adicional estiver ativada, estes dados podem ser guardados na sua Conta Google. Pode ver os seus dados, eliminá-los e alterar as definições da conta em account.google.com.</translation>
 <translation id="2350133097354918058">Atualizada.</translation>
 <translation id="2350182423316644347">A inicializar a aplicação...</translation>
@@ -1231,6 +1231,7 @@
 <translation id="247051149076336810">URL de partilha de ficheiros</translation>
 <translation id="2470702053775288986">Extensões não suportadas desativadas</translation>
 <translation id="2471469610750100598">Negro (predefinição)</translation>
+<translation id="2471506181342525583">Acesso à localização permitido</translation>
 <translation id="2473195200299095979">Traduzir esta página</translation>
 <translation id="2475982808118771221">Ocorreu um erro</translation>
 <translation id="2476578072172137802">Definições de sites</translation>
@@ -1242,6 +1243,7 @@
 <translation id="2482878487686419369">Notificações</translation>
 <translation id="2484959914739448251">Para limpar os dados de navegação de todos os seus dispositivos sincronizados e da sua Conta Google, <ph name="BEGIN_LINK" />introduza a sua frase de acesso<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Palavra-passe guardada neste dispositivo</translation>
+<translation id="2485394160472549611">Principais sugestões para si</translation>
 <translation id="2485422356828889247">Desinstalar</translation>
 <translation id="2487067538648443797">Adicionar novo marcador</translation>
 <translation id="2487268545026948104">Para restaurar os dados, estabeleça ligação à Internet.</translation>
@@ -1623,6 +1625,7 @@
 <translation id="2932483646085333864">Termine e inicie sessão novamente para iniciar a sincronização</translation>
 <translation id="2932883381142163287">Denunciar abuso</translation>
 <translation id="2933632078076743449">Última atualização</translation>
+<translation id="2934999512438267372">Controlo total sobre dispositivos MIDI permitido</translation>
 <translation id="2936851848721175671">Cópia de segurança e restauro</translation>
 <translation id="2938225289965773019">Abrir links de <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">Veja e elimine os dados de início de sessão armazenados na sua chave de segurança.</translation>
@@ -1739,6 +1742,7 @@
 <translation id="3083193146044397360">Foi bloqueado temporariamente para proteger a sua segurança</translation>
 <translation id="3084548735795614657">Largar para instalar</translation>
 <translation id="3084771660770137092">O Chrome ficou sem memória ou o processo para a página Web foi terminado por qualquer outro motivo. Para continuar, atualize ou aceda a outra página.</translation>
+<translation id="3084958266922136097">Desativar proteção de ecrã</translation>
 <translation id="3085412380278336437">O site pode utilizar a câmara.</translation>
 <translation id="3085752524577180175">Anfitrião SOCKS</translation>
 <translation id="3088052000289932193">O site está a utilizar MIDI</translation>
@@ -1935,6 +1939,7 @@
 <translation id="3345886924813989455">Não encontrado um browser suportado</translation>
 <translation id="3347086966102161372">C&amp;opiar endereço da imagem</translation>
 <translation id="3348038390189153836">Detetado dispositivo removível</translation>
+<translation id="3348131053948466246">Emoji sugerido. Prima a seta para cima ou para baixo para navegar e Enter para inserir.</translation>
 <translation id="3349933790966648062">Utilização da memória</translation>
 <translation id="3355936511340229503">Erro de ligação</translation>
 <translation id="3356580349448036450">Concluído</translation>
@@ -1970,6 +1975,7 @@
 <translation id="3402585168444815892">A inscrever-se no modo de demonstração…</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Sem palavras-passe guardadas para este site</translation>
+<translation id="3404249063913988450">Ativar proteção de ecrã</translation>
 <translation id="3405664148539009465">Personalizar tipos de letra</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Mostrar barra de marcadores</translation>
@@ -2200,7 +2206,6 @@
 <translation id="3654045516529121250">Ler definições de acessibilidade</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Tem acesso permanente a um ficheiro.}other{Tem acesso permanente a # ficheiros.}}</translation>
 <translation id="3660234220361471169">Não fidedigno</translation>
-<translation id="3661172646479098821">Atualmente, apenas são suportados dispositivos Android.</translation>
 <translation id="3664511988987167893">Ícone da extensão</translation>
 <translation id="3665589677786828986">O Chrome detetou que algumas das suas definições foram danificadas por outro programa e repôs as respetivas predefinições originais.</translation>
 <translation id="3668801437375206837">Para melhorar o diagnóstico de problemas com o Bluetooth, os funcionários da Google podem incluir registos do Bluetooth adicionais nos respetivos relatórios de comentários. Quando esta opção está selecionada, o seu relatório inclui os registos btsnoop e HCI da sua sessão atual, limpos para remover o máximo de PII possível. O acesso a estes registos será restringido aos gestores do grupo de produtos do Chrome OS no Listnr. Os registos são removidos completamente após 90 dias.</translation>
@@ -2510,6 +2515,7 @@
 <translation id="3984159763196946143">Não foi possível iniciar o modo de demonstração</translation>
 <translation id="3984431586879874039">Permitir que este site veja a sua chave de segurança?</translation>
 <translation id="3986705137476756801">Desativar as Legendas instantâneas por agora</translation>
+<translation id="3987544746655539083">Continuar a impedir que este site aceda à sua localização</translation>
 <translation id="3987938432087324095">Lamento, mas não compreendi.</translation>
 <translation id="3988996860813292272">Selecionar fuso horário</translation>
 <translation id="399179161741278232">Importado</translation>
@@ -2575,6 +2581,7 @@
 <translation id="4087089424473531098">Criou a extensão:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Controlo total dos dispositivos MIDI recusado</translation>
 <translation id="4088095054444612037">Aceitar para o grupo</translation>
 <translation id="4089235344645910861">Definições guardadas. A sincronização foi iniciada.</translation>
 <translation id="4090103403438682346">Ativar acesso confirmado</translation>
@@ -2655,6 +2662,7 @@
 <translation id="4200689466366162458">Palavras personalizadas</translation>
 <translation id="4200983522494130825">Novo &amp;separador</translation>
 <translation id="4201546031411513170">Pode sempre escolher o que pretende sincronizar nas definições.</translation>
+<translation id="420283545744377356">Desativar a proteção de ecrã</translation>
 <translation id="4206144641569145248">Extraterrestre</translation>
 <translation id="4206323443866416204">Relatório de comentários</translation>
 <translation id="4208390505124702064">Pesquisar <ph name="SITE_NAME" /></translation>
@@ -2753,6 +2761,7 @@
 <translation id="4348766275249686434">Recolher erros</translation>
 <translation id="4349828822184870497">Útil</translation>
 <translation id="4350019051035968019">Não é possível inscrever este dispositivo no domínio a que pertence a sua conta, porque está marcado para gestão por um domínio diferente.</translation>
+<translation id="4350230709416545141">Impedir sempre que <ph name="HOST" /> aceda à sua localização</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> pretende procurar dispositivos Bluetooth próximos. Foram encontrados os seguintes dispositivos:</translation>
 <translation id="4354073718307267720">Perguntar quando um site pretender criar um mapa 3D do ambiente à sua volta ou monitorizar a posição da câmara</translation>
@@ -2772,6 +2781,7 @@
 <translation id="4370975561335139969">O email e a palavra-passe introduzidos não coincidem.</translation>
 <translation id="4374831787438678295">Instalador para o Linux</translation>
 <translation id="4375035964737468845">Abrir ficheiros transferidos</translation>
+<translation id="4376226992615520204">Localização desativada</translation>
 <translation id="4377363674125277448">Ocorreu um problema com o certificado do servidor.</translation>
 <translation id="4378154925671717803">Telemóvel</translation>
 <translation id="4378373042927530923">Não foi executada.</translation>
@@ -2971,7 +2981,6 @@
 <translation id="4619615317237390068">Separadores de outros dispositivos</translation>
 <translation id="4620809267248568679">Esta definição é gerida por uma extensão.</translation>
 <translation id="4623189117674524348">O sistema não conseguiu autorizar o acesso da API para este dispositivo.</translation>
-<translation id="4624190781974168453">Perguntar no arranque</translation>
 <translation id="4625078469366263107">Ativar aplicação</translation>
 <translation id="4627427111733173920">Cookies bloqueados</translation>
 <translation id="4627442949885028695">Continuar a partir de outro dispositivo</translation>
@@ -3401,7 +3410,6 @@
 <translation id="5185386675596372454">A versão mais recente de "<ph name="EXTENSION_NAME" />" foi desativada porque necessita de mais permissões.</translation>
 <translation id="5185500136143151980">Sem Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menu de opções para <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Ativar porta</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> pretende transferir vários ficheiros.</translation>
 <translation id="5192062846343383368">Abra a aplicação Family Link para ver as suas definições de supervisão.</translation>
@@ -3594,6 +3602,7 @@
 <translation id="5431825016875453137">OpenVPN/L2TP</translation>
 <translation id="543338862236136125">Editar palavra-passe</translation>
 <translation id="5434065355175441495">PKCS #1 Encriptação RSA</translation>
+<translation id="5435779377906857208">Permitir sempre que <ph name="HOST" /> aceda à sua localização</translation>
 <translation id="5436492226391861498">A aguardar pelo túnel do proxy...</translation>
 <translation id="5436510242972373446">Pesquisar <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Guarde os ficheiros e crie uma nova conta agora.</translation>
@@ -3778,6 +3787,7 @@
 <translation id="5642508497713047">Signatário CRL</translation>
 <translation id="5643321261065707929">Rede com acesso limitado</translation>
 <translation id="5643620609347735571">Limpar e continuar</translation>
+<translation id="5646376287012673985">Localização</translation>
 <translation id="5646558797914161501">Homem de negócios</translation>
 <translation id="5648166631817621825">Últimos 7 dias</translation>
 <translation id="5649053991847567735">Transferências automáticas</translation>
@@ -3821,6 +3831,7 @@
 <translation id="5701212929149679556">Roaming de rede móvel</translation>
 <translation id="5701381305118179107">Centrar</translation>
 <translation id="5701441174893770082">A atualização do Linux pode consumir significativamente a bateria. Ligue o dispositivo a um carregador e tente novamente.</translation>
+<translation id="5702749864074810610">Sugestão ignorada</translation>
 <translation id="5702898740348134351">&amp;Editar motores de pesquisa...</translation>
 <translation id="5704875434923668958">A sincronizar com…</translation>
 <translation id="5705005699929844214">Mostrar sempre opções de acessibilidade</translation>
@@ -3941,6 +3952,7 @@
 <translation id="5857090052475505287">Nova pasta</translation>
 <translation id="5857171483910641802">Os atalhos são sugeridos com base nos Websites que visita com frequência</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Álbum da galeria de arte</translation>
 <translation id="585979798156957858">Meta externo</translation>
 <translation id="5860033963881614850">Desativado</translation>
 <translation id="5860491529813859533">Ativar</translation>
@@ -4326,6 +4338,7 @@
 <translation id="6318125393809743217">Instale um ficheiro policies.json com configurações de políticas.</translation>
 <translation id="6318407754858604988">A transferência foi iniciada.</translation>
 <translation id="6318944945640833942">Não foi possível detetar uma impressora. Introduza o endereço de impressão novamente.</translation>
+<translation id="6321407676395378991">Ativar proteção de ecrã</translation>
 <translation id="6322653941595359182">Envie e receba mensagens de texto com o Chromebook.</translation>
 <translation id="6324916366299863871">Editar atalho</translation>
 <translation id="6325191661371220117">Desativar a iniciação automática</translation>
@@ -4484,7 +4497,6 @@
 <translation id="6531282281159901044">Manter ficheiro perigoso</translation>
 <translation id="6532101170117367231">Guardar no Google Drive</translation>
 <translation id="6532106788206463496">Guardar alterações</translation>
-<translation id="6532113437901537254">As palavras-passe da sua Conta Google também estarão disponíveis neste dispositivo enquanto tiver sessão iniciada.</translation>
 <translation id="6532206849875187177">Segurança e início de sessão</translation>
 <translation id="6532527800157340614">O início de sessão falhou porque não foi possível obter a sua chave de acesso. Verifique a sua ligação de rede e tente novamente.</translation>
 <translation id="6532663472409656417">Inscrito pela empresa</translation>
@@ -4506,6 +4518,7 @@
 <translation id="6555432686520421228">Remova todas as contas de utilizador e reponha o seu dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /> para que fique como novo.</translation>
 <translation id="6555810572223193255">A limpeza está atualmente indisponível.</translation>
 <translation id="6556866813142980365">Refazer</translation>
+<translation id="6556903358015358733">Tema e imagem de fundo</translation>
 <translation id="6557290421156335491">Os meus atalhos</translation>
 <translation id="6561560012278703671">Utilizar mensagens mais discretas (impede interrupções de pedidos de notificação)</translation>
 <translation id="6561726789132298588">introduzir</translation>
@@ -4529,6 +4542,7 @@
 <translation id="6590458744723262880">Mudar o nome da pasta</translation>
 <translation id="6592267180249644460">Registo de WebRTC capturado <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">A sua impressão digital foi capturada.</translation>
+<translation id="6595187330192059106">Impedir sempre que <ph name="HOST" /> tenha controlo total sobre dispositivos MIDI</translation>
 <translation id="6596325263575161958">Opções de encriptação</translation>
 <translation id="6596816719288285829">Endereço IP</translation>
 <translation id="6597017209724497268">Amostras</translation>
@@ -5014,9 +5028,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" eliminado</translation>
 <translation id="7201420661433230412">Ver ficheiros</translation>
 <translation id="7203150201908454328">Expandido</translation>
-<translation id="7203826966018112936">Adicionar uma conta escolar a um perfil permite iniciar sessão facilmente em Websites e extensões como aluno e, ainda assim, continuar a operar com controlo parental. Não confere a uma criança acesso a marcadores, palavras-passe ou outros dados do navegador sincronizados com a conta escolar.&lt;br&gt;&lt;br&gt;
-    Se a criança utilizar um Chromebook na escola e pretender reproduzir a experiência escolar em casa para se assegurar de que a criança tem acesso a todos os trabalhos escolares necessários, termine sessão nesta conta do Family Link e inicie sessão na conta escolar na página de contas do Chrome OS (nota: não se aplica o controlo parental do Family Link).&lt;br&gt;&lt;br&gt;
-    Se a criança não utilizar um Chromebook na escola ou se preferir gerir a experiência da criança em casa através do Family Link, clique no botão Seguinte abaixo para adicionar uma conta escolar a este perfil.</translation>
 <translation id="7206693748120342859">A transferir <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Sair da página}other{Sair das páginas}}</translation>
 <translation id="7207457272187520234">Envie dados de utilização e diagnóstico. Agora, este dispositivo está a enviar automaticamente dados de diagnóstico, de utilização de apps e do dispositivo para a Google. Deste modo, ajudará a melhorar a estabilidade das apps e do sistema, entre outras melhorias. Alguns dados agregados também ajudarão as apps e os parceiros Google, como os programadores Android. Esta definição é aplicada pelo proprietário. Se a definição Atividade da Web e de apps adicional estiver ativada, estes dados podem ser guardados na sua Conta Google.</translation>
@@ -5159,7 +5170,6 @@
 <translation id="7388044238629873883">Está quase!</translation>
 <translation id="7392118418926456391">Falha ao analisar vírus</translation>
 <translation id="7392915005464253525">Voltar a abrir a jan&amp;ela fechada</translation>
-<translation id="7393472013449507620">As definições com carateres universais "*" já não são suportadas. Contacte o programador da extensão ou o seu administrador para <ph name="BEGIN_LINK" />alterar estas definições<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">As pastas partilhadas aparecem aqui.</translation>
 <translation id="7396845648024431313">O <ph name="APP_NAME" /> é iniciado no arranque do sistema e continua a ser executado em segundo plano, mesmo depois de fechar todas as restantes janelas do <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Personalizar sincronização</translation>
@@ -5272,6 +5282,7 @@
 <translation id="7526989658317409655">Marcador de posição</translation>
 <translation id="7529411698175791732">Verifique a sua ligação à Internet. Se o problema continuar, experimente terminar e iniciar sessão novamente.</translation>
 <translation id="7530016656428373557">Taxa de descarga em Watts</translation>
+<translation id="7531310913436731628">A localização está desativada nas Preferências do sistema no Mac</translation>
 <translation id="7531779363494549572">Aceda a Definições &gt; Apps e notificações &gt; Notificações.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> não está a responder. Selecione "Forçar fecho" para fechar a aplicação.</translation>
 <translation id="7537451260744431038">Os sites não podem utilizar cookies para melhorar a experiência de navegação, por exemplo, para manter a sua sessão iniciada ou memorizar os artigos no seu carrinho de compras.</translation>
@@ -5384,6 +5395,7 @@
 <translation id="767147716926917172">Envia automaticamente dados de diagnóstico e de utilização para a Google</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, em <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Desativar todas as portas a serem encaminhadas no Linux</translation>
+<translation id="7674542105240814168">Acesso à localização recusado</translation>
 <translation id="7676867886086876795">Envie a sua voz para o Google para permitir a introdução por voz em qualquer campo de texto.</translation>
 <translation id="7678280409648629969">Os dados de início de sessão são armazenados no Chrome depois de sair do modo de navegação anónima. Isto permite-lhe utilizar novamente o Touch ID neste Website mais tarde.</translation>
 <translation id="7680416688940118410">Calibração do ecrã tátil</translation>
@@ -5591,6 +5603,7 @@
 <translation id="790040513076446191">Manipular as definições relacionadas com privacidade</translation>
 <translation id="7903345046358933331">A página deixou de responder. Pode esperar pela respetiva resposta ou fechá-la.</translation>
 <translation id="7903742244674067440">Tem certificados em arquivo que identificam estas autoridades de certificação</translation>
+<translation id="7903859912536385558">estável (Testador fidedigno)</translation>
 <translation id="7903925330883316394">Utilitário: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">O gestor desta conta removeu a permissão de início de sessão integrado.</translation>
 <translation id="7904526211178107182">Disponibilize as portas do Linux a outros dispositivos na sua rede.</translation>
@@ -5716,6 +5729,7 @@
 <translation id="8049705080247101012">A Google sinalizou a extensão "<ph name="EXTENSION_NAME" />" como sendo maliciosa e a instalação foi impedida.</translation>
 <translation id="8049948037269924837">Deslocamento inverso do touchpad</translation>
 <translation id="8050038245906040378">Assinatura de código comercial Microsoft</translation>
+<translation id="8051390370038326517">Permitir sempre que <ph name="HOST" /> tenha controlo total sobre dispositivos MIDI</translation>
 <translation id="8053278772142718589">Ficheiros PKCS #12</translation>
 <translation id="8053390638574070785">Recarregar esta página</translation>
 <translation id="8054517699425078995">Este tipo de ficheiro pode danificar o seu dispositivo. Ainda assim, pretende manter o ficheiro <ph name="FILE_NAME" />?</translation>
@@ -5767,6 +5781,7 @@
 <translation id="810728361871746125">Resolução do ecrã</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Sem cookies de terceiros}=1{1 cookie de terceiros está bloqueado}other{# cookies de terceiros estão bloqueados}}</translation>
 <translation id="810875025413331850">Não foram encontrados dispositivos nas proximidades.</translation>
+<translation id="8113476325385351118">Continuar a impedir que este site tenha controlo total sobre dispositivos MIDI</translation>
 <translation id="8114199541033039755">Navegue para a página inicial, para trás e mude de apps através de botões no modo de tablet. Esta definição está ativada quando o ChromeVox ou os cliques automáticos estão ativados.</translation>
 <translation id="8114875720387900039">Divisão horizontal</translation>
 <translation id="8116972784401310538">&amp;Gestor de marcadores</translation>
@@ -6051,7 +6066,6 @@
 <translation id="8470513973197838199">Palavras-passe guardadas para <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">suporte de hardware</translation>
 <translation id="8473863474539038330">Endereços e mais</translation>
-<translation id="8474733733775441349">Mostre palavras-passe da sua Conta Google</translation>
 <translation id="8475313423285172237">Outro programa do computador adicionou uma extensão que pode alterar o funcionamento do Chrome.</translation>
 <translation id="8477241577829954800">Substituído</translation>
 <translation id="8477384620836102176">&amp;Geral</translation>
@@ -6134,6 +6148,7 @@
 <translation id="8590375307970699841">Configurar actualizações automáticas</translation>
 <translation id="8591783563402255548">1 segundo</translation>
 <translation id="8592141010104017453">Não mostrar qualquer notificação</translation>
+<translation id="859246725979739260">Este site foi impedido de aceder à sua localização.</translation>
 <translation id="8593121833493516339">Envie dados de utilização e diagnósticos. Ajude a melhorar a experiência Android da criança ao enviar automaticamente dados de diagnóstico, de utilização de aplicações e do dispositivo para a Google. Estes dados não serão utilizados para identificar a criança e ajudarão a melhorar a estabilidade das aplicações e do sistema, entre outras melhorias. Alguns dados agregados também ajudarão as aplicações e os parceiros Google, como os programadores Android. Se a Atividade da Web e de apps adicional estiver ativada para a criança, estes dados podem ser guardados na respetiva Conta Google. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Capturar vídeo</translation>
 <translation id="8596540852772265699">Ficheiros personalizados</translation>
@@ -6146,6 +6161,7 @@
 <translation id="860909219589324847">Nunca utilizar dados para transferir</translation>
 <translation id="8609465669617005112">Mover para cima</translation>
 <translation id="8610103157987623234">Formato incorreto. Tente novamente.</translation>
+<translation id="8611682088849615761">Continuar a permitir que este site tenha controlo total sobre dispositivos MIDI</translation>
 <translation id="8613164732773110792">Apenas carateres minúsculos, dígitos, sublinhados ou traços.</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> é demasiado grande para uma verificação de segurança. Pode abrir ficheiros até 50 MB.</translation>
 <translation id="8615618338313291042">Aplicação em navegação anónima: <ph name="APP_NAME" /></translation>
@@ -6288,6 +6304,7 @@
 <translation id="8761945298804995673">Este utilizador já existe.</translation>
 <translation id="8762886931014513155">O seu <ph name="DEVICE_TYPE" /> precisa de ser atualizado</translation>
 <translation id="8763927697961133303">Dispositivo USB</translation>
+<translation id="87646919272181953">Álbum do Google Fotos</translation>
 <translation id="8767621466733104912">Atualizar automaticamente o Chrome para todos os utilizadores</translation>
 <translation id="8770406935328356739">Diretório raiz da extensão</translation>
 <translation id="8770507190024617908">Gerir pessoas</translation>
@@ -6604,6 +6621,7 @@
 <translation id="9147392381910171771">&amp;Opções</translation>
 <translation id="9148058034647219655">Sair</translation>
 <translation id="9148126808321036104">Iniciar sessão novamente</translation>
+<translation id="9148963623915467028">Este site pode aceder à sua localização.</translation>
 <translation id="9149866541089851383">Editar...</translation>
 <translation id="9150045010208374699">Utilizar a sua câmara</translation>
 <translation id="9153934054460603056">Guardar identidade e palavra-passe</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb
index 7a5acedf..a8bc28a 100644
--- a/chrome/app/resources/generated_resources_ro.xtb
+++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Numai cifrare</translation>
 <translation id="1038462104119736705">Pentru Linux, se recomandă un spațiu de cel puțin <ph name="INSTALL_SIZE" />. Pentru a elibera spațiu, șterge fișiere de pe dispozitiv.</translation>
 <translation id="1039337018183941703">Fișier nevalid sau deteriorat</translation>
-<translation id="104086161873270383">Profil nou</translation>
 <translation id="1041175011127912238">Pagina nu răspunde</translation>
 <translation id="1041263367839475438">Dispozitive disponibile</translation>
 <translation id="1042174272890264476">Computerul este dotat, de asemenea, cu o bibliotecă RLZ încorporată, oferită de <ph name="SHORT_PRODUCT_NAME" />. Biblioteca RLZ atribuie o etichetă non-unică și care nu vă identifică în mod personal, pentru a măsura căutările și modul în care este utilizat <ph name="SHORT_PRODUCT_NAME" /> în funcție de o anumită campanie promoțională. Aceste etichete pot apărea uneori în interogările Căutării Google din <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Butonul Înapoi din pagina secundară <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Vezi și gestionează parolele salvate în <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Protejează Conturile Google personale ale utilizatorilor care pot fi ținta atacurilor direcționate</translation>
-<translation id="1325985428688410772">Adaugă un spațiu</translation>
 <translation id="1326317727527857210">Pentru a accesa filele de pe alte dispozitive, conectează-te la Chrome.</translation>
 <translation id="1327074568633507428">Imprimantă în Google Cloud Print</translation>
 <translation id="1327272175893960498">Tichete Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Verificarea parolei nu este disponibilă în Chromium</translation>
 <translation id="1871534214638631766">Afișează informații conexe atunci când dai clic dreapta sau apeși lung conținutul</translation>
 <translation id="1871615898038944731">Dispozitivul <ph name="DEVICE_TYPE" /> este actualizat</translation>
-<translation id="1874835396235780806">Salvezi această parolă și alte parole în Contul Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Mută fila în altă fereastră}few{Mută filele în altă fereastră}other{Mută filele în altă fereastră}}</translation>
 <translation id="1875386316419689002">Această filă este conectată la un dispozitiv HID.</translation>
 <translation id="1875387611427697908">Aceasta poate fi adăugată numai din <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Rețeaua <ph name="NETWORK_INDEX" /> din <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, conectează-te</translation>
 <translation id="1884705339276589024">Redimensionează discul Linux</translation>
 <translation id="1885106732301550621">Spațiu pe disc</translation>
-<translation id="1885190042244431215">Dacă adaugi un cont de la școală, te poți conecta ușor la site-uri și extensii ca elev, iar opțiunile de control parental vor rămâne active.</translation>
 <translation id="1886996562706621347">Permiteți site-urilor să solicite să devină handlere prestabilite pentru protocoale (recomandat)</translation>
 <translation id="1887442540531652736">Eroare de conectare</translation>
 <translation id="1887597546629269384">Rostește din nou „Hei Google"</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Citește setările de accesibilitate</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Aplicația are acces definitiv la un fișier.}few{Aplicația are acces definitiv la # fișiere.}other{Aplicația are acces definitiv la # de fișiere.}}</translation>
 <translation id="3660234220361471169">Nu prezintă încredere</translation>
-<translation id="3661172646479098821">Sunt acceptate numai dispozitivele Android.</translation>
 <translation id="3664511988987167893">Pictograma extensiei</translation>
 <translation id="3665589677786828986">Chrome a detectat că unele dintre setări au fost deteriorate de alt program și le-a resetat la valorile inițiale.</translation>
 <translation id="3668801437375206837">Pentru o mai bună diagnosticare a problemelor cu funcția Bluetooth, angajații Google pot include jurnale Bluetooth suplimentare în rapoartele de feedback. Dacă această opțiune este selectată, raportul va include jurnalele btsnoop și HCI din sesiunea actuală curățate, pentru a elimina cât mai multe informații de identificare personală. Accesul la aceste jurnale va fi limitat la administratorii grupului de produse Chrome OS din Listnr. Jurnalele vor fi șterse după 90 de zile.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Adresa de e-mail și parola pe care le-ai introdus nu se potrivesc</translation>
 <translation id="4374831787438678295">Programul de instalare Linux</translation>
 <translation id="4375035964737468845">Deschide fișierele descărcate</translation>
+<translation id="4376226992615520204">Localizarea este dezactivată</translation>
 <translation id="4377363674125277448">A apărut o problemă cu privire la certificatul serverului.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Nu a rulat</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">File de pe alte dispozitive</translation>
 <translation id="4620809267248568679">Această setare este impusă de o extensie.</translation>
 <translation id="4623189117674524348">Sistemul nu a putut să autorizeze accesul la API pentru acest dispozitiv.</translation>
-<translation id="4624190781974168453">Întreabă la pornire</translation>
 <translation id="4625078469366263107">Activează aplicația</translation>
 <translation id="4627427111733173920">Cookie-uri blocate</translation>
 <translation id="4627442949885028695">Continuă de pe un alt dispozitiv</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Cea mai nouă versiune a „<ph name="EXTENSION_NAME" />” a fost dezactivată, deoarece necesită permisiuni suplimentare.</translation>
 <translation id="5185500136143151980">Nu există conexiune la internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Meniu cu opțiuni pentru <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Activează portul</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vrea să descarce mai multe fișiere</translation>
 <translation id="5192062846343383368">Deschide aplicația Family Link și vezi setările de supraveghere</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">Semnatar CRL</translation>
 <translation id="5643321261065707929">Rețea contorizată</translation>
 <translation id="5643620609347735571">Șterge și continuă</translation>
+<translation id="5646376287012673985">Locație</translation>
 <translation id="5646558797914161501">Om de afaceri</translation>
 <translation id="5648166631817621825">Ultimele 7 zile</translation>
 <translation id="5649053991847567735">Descărcări automate</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Păstrează fișierul periculos</translation>
 <translation id="6532101170117367231">Salvați în Google Drive</translation>
 <translation id="6532106788206463496">Salvează modificările</translation>
-<translation id="6532113437901537254">Parolele din Contul tău Google vor fi disponibile și pe acest dispozitiv după ce te conectezi</translation>
 <translation id="6532206849875187177">Securitate și conectare</translation>
 <translation id="6532527800157340614">Conectarea nu a reușit, deoarece indicativul de acces nu a putut fi preluat. Verifică starea conexiunii la rețea și încearcă din nou.</translation>
 <translation id="6532663472409656417">Înregistrat de întreprindere</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">„<ph name="DELETED_ITEM_NAME" />” a fost șters</translation>
 <translation id="7201420661433230412">Afișați fișierele</translation>
 <translation id="7203150201908454328">Extins</translation>
-<translation id="7203826966018112936">Dacă adaugi un cont de la școală la un profil, te poți conecta ușor la site-uri și extensii ca elev, iar opțiunile de control parental vor rămâne active. Aceasta nu permite accesul unui copil la marcaje, parole sau alte date ale browserului sincronizate cu contul de la școală.&lt;br&gt;&lt;br&gt;
-    În cazul în care copilul tău folosește un Chromebook la școală și vrei să redai acasă experiența de la școală, ca să te asiguri că acesta are acces la toate resursele necesare pentru activitatea școlară, deconectează-te de la acest cont Family Link și conectează-te la contul de la școală din pagina Conturi a sistemului de operare Chrome (notă: opțiunile de control parental Family Link nu se vor aplica).&lt;br&gt;&lt;br&gt;
-    În cazul în care copilul tău nu folosește un Chromebook la școală sau preferi să gestionezi experiența copilului acasă folosind Family Link, dă clic pe butonul Înainte de mai jos pentru a adăuga un cont de la școală la acest profil.</translation>
 <translation id="7206693748120342859">Se descarcă pluginul <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Închide pagina}few{Închide paginile}other{Închide paginile}}</translation>
 <translation id="7207457272187520234">Trimite date de utilizare și diagnosticare. Momentan, dispozitivul trimite automat date de diagnosticare și de utilizare a dispozitivului și aplicațiilor la Google. Aceasta va ajuta la stabilitatea sistemului, a aplicației și altele. Unele date cumulate vor ajuta aplicațiile și partenerii Google, cum ar fi dezvoltatorii Android. Această setare este impusă de proprietar. Dacă setarea Activitatea suplimentară de pe web și din aplicații este activată, aceste date pot fi salvate în Contul tău Google.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Aproape ați terminat!</translation>
 <translation id="7392118418926456391">Scanarea antivirus nu a reușit</translation>
 <translation id="7392915005464253525">R&amp;edeschide fereastra închisă</translation>
-<translation id="7393472013449507620">Setările cu metacaractere „*” nu mai sunt acceptate. Contactează dezvoltatorul extensiei sau administratorul pentru a <ph name="BEGIN_LINK" />modifica aceste setări<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Dosarele comune vor apărea aici</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> se va lansa la pornirea sistemului și va continua să ruleze în fundal, chiar după ce ai închis toate celelalte ferestre ale <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Personalizează sincronizarea</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Substituent</translation>
 <translation id="7529411698175791732">Verifică conexiunea la internet. Dacă problema persistă, deconectează-te și conectează-te din nou.</translation>
 <translation id="7530016656428373557">Rata de descărcare în wați</translation>
+<translation id="7531310913436731628">Locația este dezactivată în System Preferences (Preferințe de sistem) pentru Mac</translation>
 <translation id="7531779363494549572">Accesează Setări &gt; Aplicații și notificări &gt; Notificări.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> nu răspunde. Selectează „Închide forțat” pentru a închide aplicația.</translation>
 <translation id="7537451260744431038">Site-urile nu pot folosi cookie-uri pentru a-ți îmbunătăți experiența de navigare, de exemplu, pentru a te menține conectat(ă) sau pentru a reține articolele din coșul de cumpărături</translation>
@@ -6051,7 +6042,6 @@
 <translation id="8470513973197838199">Parole salvate pentru <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">susținut de hardware</translation>
 <translation id="8473863474539038330">Adrese și altele</translation>
-<translation id="8474733733775441349">Afișează parolele din Contul Google</translation>
 <translation id="8475313423285172237">Un alt program de pe computerul dvs. a adăugat o extensie care poate schimba modul în care funcționează Chrome.</translation>
 <translation id="8477241577829954800">Depășit</translation>
 <translation id="8477384620836102176">&amp;General</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index d4e8fe5f..6cb71b6 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Только расшифровка</translation>
 <translation id="1038462104119736705">Для Linux рекомендуется как минимум <ph name="INSTALL_SIZE" /> свободного пространства. Удалите с устройства файлы, которые больше не нужны.</translation>
 <translation id="1039337018183941703">Файл поврежден или недействителен</translation>
-<translation id="104086161873270383">Создание профиля</translation>
 <translation id="1041175011127912238">Страница не отвечает</translation>
 <translation id="1041263367839475438">Доступные устройства</translation>
 <translation id="1042174272890264476">В ваш компьютер встроена библиотека RLZ <ph name="SHORT_PRODUCT_NAME" />. RLZ присваивает компьютеру неуникальную и не позволяющую идентифицировать пользователя метку, с помощью которой мы можем оценить количество запросов и статистику использования этого продукта (<ph name="SHORT_PRODUCT_NAME" />) по результатам рекламных кампаний. Иногда метки могут включаться в поисковые запросы, сделанные в этом продукте (<ph name="PRODUCT_NAME" />).</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Кнопка "Назад" для перехода на подстраницу "<ph name="SUBPAGE_TITLE" />"</translation>
 <translation id="1322046419516468189">Просматривать сохраненные пароли и управлять ими можно на странице <ph name="SAVED_PASSWORDS_STORE" />.</translation>
 <translation id="1324106254079708331">Защита личных аккаунтов Google для тех, кто чаще других подвергается целенаправленным атакам.</translation>
-<translation id="1325985428688410772">Добавить профиль</translation>
 <translation id="1326317727527857210">Чтобы получить доступ к вкладкам на всех ваших устройствах, войдите в Chrome.</translation>
 <translation id="1327074568633507428">Принтер, подключенный к Виртуальному принтеру Google</translation>
 <translation id="1327272175893960498">Билеты Kerberos</translation>
@@ -749,7 +747,6 @@
 <translation id="1868553836791672080">В Chromium недоступна проверка паролей.</translation>
 <translation id="1871534214638631766">Показывать информацию о контенте, когда вы выбираете его с помощью правого клика или долгого нажатия</translation>
 <translation id="1871615898038944731">На вашем устройстве <ph name="DEVICE_TYPE" /> установлены все необходимые обновления</translation>
-<translation id="1874835396235780806">Сохранить этот и другие пароли в вашем аккаунте Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Открыть вкладку в другом окне}one{Открыть вкладки в другом окне}few{Открыть вкладки в другом окне}many{Открыть вкладки в другом окне}other{Открыть вкладки в другом окне}}</translation>
 <translation id="1875386316419689002">Эта вкладка подключена к HID-устройству</translation>
 <translation id="1875387611427697908">Это приложение или расширение можно установить только из сервиса "<ph name="CHROME_WEB_STORE" />".</translation>
@@ -762,7 +759,6 @@
 <translation id="1884013283844450420">Сеть <ph name="NETWORK_INDEX" /> из <ph name="NETWORK_COUNT" />, название – "<ph name="NETWORK_NAME" />", подключение</translation>
 <translation id="1884705339276589024">Изменение размера диска Linux</translation>
 <translation id="1885106732301550621">Место на диске</translation>
-<translation id="1885190042244431215">Чтобы упростить доступ к нужным в учебе сайтам и расширениям, можно добавить учебный аккаунт. Родительский контроль будет по-прежнему включен.</translation>
 <translation id="1886996562706621347">Разрешить запросы на установку обработчиков протоколов (рекомендуется)</translation>
 <translation id="1887442540531652736">Ошибка входа</translation>
 <translation id="1887597546629269384">Скажите "Эй, Google" ещё раз</translation>
@@ -1343,7 +1339,7 @@
 <translation id="2604255671529671813">Ошибка подключения к сети</translation>
 <translation id="2606246518223360146">Связать данные</translation>
 <translation id="2607101320794533334">Информация об открытом ключе субъекта</translation>
-<translation id="2607968157341167679">Альбомов нет Создайте альбом в<ph name="LINK_BEGIN" />Google Фото<ph name="LINK_END" />.</translation>
+<translation id="2607968157341167679">Альбомов нет. Создайте альбом в<ph name="LINK_BEGIN" />Google Фото<ph name="LINK_END" />.</translation>
 <translation id="2609896558069604090">Создать ярлык…</translation>
 <translation id="2610157865375787051">Включать спящий режим</translation>
 <translation id="2610260699262139870">&amp;Реальный размер</translation>
@@ -2198,7 +2194,6 @@
 <translation id="3654045516529121250">Чтение настроек специальных возможностей</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{С постоянным доступом к 1 файлу.}one{С постоянным доступом к # файлу.}few{С постоянным доступом к # файлам.}many{С постоянным доступом к # файлам.}other{С постоянным доступом к # файла.}}</translation>
 <translation id="3660234220361471169">Недоверенный</translation>
-<translation id="3661172646479098821">В настоящий момент поддерживаются только устройства Android.</translation>
 <translation id="3664511988987167893">Значок расширения</translation>
 <translation id="3665589677786828986">Некоторые настройки Chrome недавно были изменены посторонней программой. Браузер восстановил их значения по умолчанию.</translation>
 <translation id="3668801437375206837">Если установлен этот флажок, сотрудники Google могут прикреплять к своим отчетам дополнительные журналы Bluetooth (btsnoop и HCI), относящиеся к текущему сеансу. Информация, позволяющая идентифицировать личность, удаляется из них. Эти журналы нужны для более точной диагностики, и доступ к ним есть только у менеджеров Chrome OS в Listnr. Через 90 дней журналы удаляются без возможности восстановления.</translation>
@@ -2770,6 +2765,7 @@
 <translation id="4370975561335139969">Указан неправильный адрес или пароль</translation>
 <translation id="4374831787438678295">Установщик Linux</translation>
 <translation id="4375035964737468845">Открывание скачанных файлов</translation>
+<translation id="4376226992615520204">Геолокация отключена</translation>
 <translation id="4377363674125277448">Возникла проблема с сертификатом сервера.</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4378373042927530923">Не проверено</translation>
@@ -2969,7 +2965,6 @@
 <translation id="4619615317237390068">Вкладки с других устройств</translation>
 <translation id="4620809267248568679">Этот параметр определяется расширением.</translation>
 <translation id="4623189117674524348">Не удалось предоставить доступ API на этом устройстве.</translation>
-<translation id="4624190781974168453">Спрашивать при запуске</translation>
 <translation id="4625078469366263107">Включить приложение</translation>
 <translation id="4627427111733173920">Файлы cookie заблокированы</translation>
 <translation id="4627442949885028695">Продолжить на другом устройстве</translation>
@@ -3399,7 +3394,6 @@
 <translation id="5185386675596372454">Новая версия "<ph name="EXTENSION_NAME" />" была отключена, так как для нее требуются дополнительные разрешения.</translation>
 <translation id="5185500136143151980">Нет подключения к Интернету</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Меню параметров профиля "<ph name="PROFILE_LOCAL_NAME" />"</translation>
 <translation id="5190926251776387065">Активировать порт</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> хочет скачать несколько файлов</translation>
 <translation id="5192062846343383368">Чтобы открыть настройки родительского контроля, запустите приложение Family Link.</translation>
@@ -3775,6 +3769,7 @@
 <translation id="5642508497713047">Сторона, подписавшая список отзыва сертификатов</translation>
 <translation id="5643321261065707929">Сеть с тарификацией</translation>
 <translation id="5643620609347735571">Удалить и продолжить</translation>
+<translation id="5646376287012673985">Местоположение</translation>
 <translation id="5646558797914161501">Бизнесмен</translation>
 <translation id="5648166631817621825">Последние 7 дней</translation>
 <translation id="5649053991847567735">Автоматическое скачивание</translation>
@@ -4481,7 +4476,6 @@
 <translation id="6531282281159901044">Сохранить</translation>
 <translation id="6532101170117367231">Сохранить на Google Диске</translation>
 <translation id="6532106788206463496">Сохранить</translation>
-<translation id="6532113437901537254">Пароли, сохраненные в вашем аккаунте Google, будут также доступны вам на этом устройстве, если вы выполните вход в аккаунт.</translation>
 <translation id="6532206849875187177">Безопасность и вход</translation>
 <translation id="6532527800157340614">При выполнении входа произошла ошибка: не удалось получить токен доступа. Проверьте подключение к сети и повторите попытку.</translation>
 <translation id="6532663472409656417">Зарегистрировано в корпоративном домене</translation>
@@ -5011,9 +5005,6 @@
 <translation id="7201118060536064622">Объект "<ph name="DELETED_ITEM_NAME" />" удален</translation>
 <translation id="7201420661433230412">Просмотреть файлы</translation>
 <translation id="7203150201908454328">Развернуто</translation>
-<translation id="7203826966018112936">Для удобного доступа к используемым в учебе сайтам и расширениям можно добавить в профиль учебный аккаунт. Родительский контроль будет по-прежнему включен. У ребенка не будет доступа к закладкам, паролям и другим данным о работе в браузере, синхронизированным с учебным аккаунтом.&lt;br&gt;&lt;br&gt;
-    Если ваш ребенок пользуется устройством Chromebook в школе и вы хотите, чтобы дома ему также были доступны все необходимые для учебы ресурсы, выйдите из этого аккаунта Family Link и войдите в учебный аккаунт на странице аккаунтов в Chrome OS (обратите внимание, что при этом перестанут действовать настройки родительского контроля Family Link).&lt;br&gt;&lt;br&gt;
-    Если ваш ребенок не пользуется устройством Chromebook в школе или вы предпочитаете контролировать действия ребенка дома с помощью Family Link, нажмите "Далее", чтобы добавить в этот профиль учебный аккаунт.</translation>
 <translation id="7206693748120342859">Скачивание плагина <ph name="PLUGIN_NAME" />…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Закрыть страницу}one{Закрыть страницы}few{Закрыть страницы}many{Закрыть страницы}other{Закрыть страницы}}</translation>
 <translation id="7207457272187520234">Отправка данных об использовании и диагностике. Сейчас это устройство автоматически отправляет в Google диагностическую информацию, сведения об использовании приложений и самого устройства. Эти сведения помогут нам повысить стабильность приложений и внести другие улучшения. Некоторые агрегированные данные пригодятся партнерам Google, например разработчикам Android. Эта настройка принудительно применяется владельцем. Если запись дополнительной истории приложений и веб-поиска включена, эта информация может сохраняться в вашем аккаунте.</translation>
@@ -5156,7 +5147,6 @@
 <translation id="7388044238629873883">Почти готово!</translation>
 <translation id="7392118418926456391">Не удалось выполнить проверку на вирусы</translation>
 <translation id="7392915005464253525">О&amp;ткрыть закрытое окно</translation>
-<translation id="7393472013449507620">Поддержка параметров с подстановочным знаком * прекращена. Если вам нужно <ph name="BEGIN_LINK" />изменить эти параметры<ph name="END_LINK" />, свяжитесь с разработчиком расширения или со своим администратором.</translation>
 <translation id="7396017167185131589">Здесь будут появляться общие папки.</translation>
 <translation id="7396845648024431313">Приложение <ph name="APP_NAME" /> будет запущено при старте системы и продолжит работу в фоновом режиме даже после закрытия всех окон <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Настроить синхронизацию</translation>
@@ -5269,6 +5259,7 @@
 <translation id="7526989658317409655">Тег</translation>
 <translation id="7529411698175791732">Проверьте подключение к Интернету. Если оно установлено, попробуйте выйти из аккаунта и войти снова.</translation>
 <translation id="7530016656428373557">Скорость разрядки в ваттах</translation>
+<translation id="7531310913436731628">Доступ к геоданным запрещен в системных настройках macOS.</translation>
 <translation id="7531779363494549572">Откройте настройки устройства и выберите "Приложения и уведомления &gt; Уведомления".</translation>
 <translation id="7532009420053991888">Приложение "<ph name="LINUX_APP_NAME" />" не отвечает. Чтобы выйти из него, нажмите "Закрыть принудительно".</translation>
 <translation id="7537451260744431038">Сайты не могут использовать файлы cookie, чтобы сделать работу в браузере более удобной, например запоминая товары в корзине или информацию о том, что вы вошли в аккаунт</translation>
@@ -6048,7 +6039,6 @@
 <translation id="8470513973197838199">Сохраненные пароли для <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">требуется оборудование</translation>
 <translation id="8473863474539038330">Адреса и другие данные</translation>
-<translation id="8474733733775441349">Показывать пароли из аккаунта Google</translation>
 <translation id="8475313423285172237">Одна из программ на вашем компьютере установила расширение, которое может влиять на работу Chrome.</translation>
 <translation id="8477241577829954800">Заменен</translation>
 <translation id="8477384620836102176">&amp;Общие</translation>
diff --git a/chrome/app/resources/generated_resources_si.xtb b/chrome/app/resources/generated_resources_si.xtb
index 14ec809..6586019 100644
--- a/chrome/app/resources/generated_resources_si.xtb
+++ b/chrome/app/resources/generated_resources_si.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Encipher පමණි</translation>
 <translation id="1038462104119736705">ලිනක්ස් සඳහා අවම වශයෙන් <ph name="INSTALL_SIZE" /> ක ඉඩ නිර්දේශ කෙරේ. නිදහස් ඉඩ වැඩි කිරීමට, ඔබේ උපාංගයෙන් ගොනු මකන්න.</translation>
 <translation id="1039337018183941703">වලංගු නොවන හෝ දූෂිත ගොනුවකි</translation>
-<translation id="104086161873270383">නව පැතිකඩ</translation>
 <translation id="1041175011127912238">මෙම පිටුව ප්‍රතිචාර නොදක්වයි</translation>
 <translation id="1041263367839475438">තිබෙන උපාංග</translation>
 <translation id="1042174272890264476">ඔබේ පරිගණකය අැතුළතින් සවි කළ <ph name="SHORT_PRODUCT_NAME" />හි RLZ පුස්තකාලයද සමඟ පැමිණේ. RLZ විසින් විශේෂ ප්‍රවර්ධනාත්මක ව්‍යාපාරයක් මඟින් ධාවනය වන සෙවීම් සහ <ph name="SHORT_PRODUCT_NAME" /> භාවිතය මැනීම සදහා අසමසම නොවන, පුද්ගලික නොවන ලෙස හදුනාගත හැකි ටැග් ඒකක් පවරයි. මෙම ලේබල සමහර විට Google සෙවීම් විමසුම්වල දිස් වේ <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">මෙම සැකසීම "<ph name="NAME" />" දිගුව විසින් බලාත්මක කර ඇත.</translation>
 <translation id="1118738876271697201">පද්ධතියට උපාංගයේ මාදිලිය හෝ අනුක්‍රමික අංකය තීරණ කළ නොහැකි විය.</translation>
 <translation id="1119447706177454957">අභ්‍යන්තර දෝෂය</translation>
+<translation id="1122068467107743258">කාර්යාල</translation>
 <translation id="1122198203221319518">&amp;මෙවලම්</translation>
 <translation id="1122242684574577509">සත්‍යාපනය අසාර්ථක විය. ඔබ භාවිත කරන Wi-Fi ජාලය (<ph name="NETWORK_ID" />) සඳහා ඇතුළු වීමේ පිටුව වෙත පිවිසෙන්න.</translation>
 <translation id="1122960773616686544">නම පිටු සලකුණු කරන්න</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">යෙදුම් කළමනා කරන්න</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - <ph name="GROUP_NAME" /> කණ්ඩායමේ කොටසකි</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>
 <translation id="1137673463384776352">සබැඳිය <ph name="APP" /> තුළ විවෘත කරන්න</translation>
 <translation id="1139343347646843679">ලිනක්ස් වින්‍යාස කිරීමේදී දෝෂයක් තිබුණා. ඔබගේ පරිපාලක සම්බන්ධ කර ගන්න.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> උප පිටු ආපසු බොත්තම</translation>
 <translation id="1322046419516468189">ඔබගේ <ph name="SAVED_PASSWORDS_STORE" /> හි සුරකින ලද මුරපද බලන්න සහ කළමනාකරණය කරන්න</translation>
 <translation id="1324106254079708331">කිසියම් ඉලක්කගත ප්‍රහාරවල අවදානමෙන් පුද්ගලික Google ගිණුම් ආරක්‍ෂා කරයි</translation>
-<translation id="1325985428688410772">ඉඩ එක් කරන්න</translation>
 <translation id="1326317727527857210">ඔබගේ වෙනත් උපාංග වෙතින් ඔබගේ ටැබ ලබා ගැනීමට, Chrome වෙත පුරන්න.</translation>
 <translation id="1327074568633507428">Google Cloud Print මත මුද්‍රකය</translation>
 <translation id="1327272175893960498">Kerberos ප්‍රවේශපත්‍ර</translation>
@@ -485,6 +485,7 @@
 <translation id="1572876035008611720">ඔබේ ඊ-තැපැල ඇතුළු කරන්න</translation>
 <translation id="1576594961618857597">පෙරනිමි සුදු නියුරුව</translation>
 <translation id="1578558981922970608">බලෙන් වසන්න</translation>
+<translation id="1578784163189013834">තිර සුරැකුම් පසුබිම තෝරන්න</translation>
 <translation id="1580772913177567930">ඔබේ පරිපාලක සම්බන්ධ කර ගන්න</translation>
 <translation id="1581962803218266616">ෆෝල්ඩරයේ පෙන්වන්න</translation>
 <translation id="1582955169539260415">[<ph name="FINGERPRINT_NAME" />] මකන්න</translation>
@@ -747,7 +748,6 @@
 <translation id="1868553836791672080">Chromium හි මුරපද පිරික්සුම ලබා ගත නොහැක</translation>
 <translation id="1871534214638631766">ඔබ අන්තර්ගතය දකුණු ක්ලික් කළ විට හෝ දිගු කාලයක් එබූ විට අදාළ තතු පෙන්වන්න</translation>
 <translation id="1871615898038944731">ඔබගේ <ph name="DEVICE_TYPE" /> යාවත්කාලීනයි</translation>
-<translation id="1874835396235780806">මෙය සහ වෙනත් මුරපද ඔබේ Google ගිණුමට සුරකින්නද?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{පටිත්ත වෙනත් කවුළුවකට ගෙන යන්න}one{පටිති වෙනත් කවුළුවකට ගෙන යන්න}other{පටිති වෙනත් කවුළුවකට ගෙන යන්න}}</translation>
 <translation id="1875386316419689002">මෙම පටිත්ත HID උපාංගයකට සම්බන්ධිතයි.</translation>
 <translation id="1875387611427697908">මෙය එක් කළ හැක්කේ <ph name="CHROME_WEB_STORE" /> වෙතින් පමණි</translation>
@@ -760,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" />න් <ph name="NETWORK_INDEX" /> වැනි ජාලය, <ph name="NETWORK_NAME" />, සබඳින්න</translation>
 <translation id="1884705339276589024">ලිනක්ස් තැටිය ප්‍රතිප්‍රමාණ කරන්න</translation>
 <translation id="1885106732301550621">තැටි ඉඩ</translation>
-<translation id="1885190042244431215">පාසල් ගිණුමක් එක් කිරීම තවමත් මාපිය පාලන යටතේ ක්‍රියා කරමින් සිටින අතරතුරු ශිෂ්‍යයෙක් වශයෙන් වෙබ් අඩවිවලට සහ දිගුවලට පහසු පුරනය සබල කරයි.</translation>
 <translation id="1886996562706621347">නාමාවලි සඳහා වන පෙරනිමි හසුරවන වීමට විමසීම සඳහා අඩවි වලට ඉඩ දෙන්න (නිර්දේශිතයි)</translation>
 <translation id="1887442540531652736">පුරනය වීමේ දෝෂයකි</translation>
 <translation id="1887597546629269384">නැවතත් "ඒයි Google" කියන්න</translation>
@@ -1128,6 +1127,7 @@
 <translation id="2347644257713614136">අධ්‍යාපනය සඳහා Hangouts සහ Cast භාවිතය Google රහස්‍යතා ප්‍රතිපත්තිය මගින් පාලනය වේ.</translation>
 <translation id="2348176352564285430">යෙදුම: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">දත්ත පූරණය කිරීමේ දෝෂයකි</translation>
+<translation id="2349610121459545414">ඔබේ ස්ථානයට පිවිසීමට මෙම අඩවියට ඉඩ දීම දිගටම කරගෙන යන්න</translation>
 <translation id="2349896577940037438">ඔබේ අමතර වෙබ් සහ යෙදුම් ක්‍රියාකාරකම් සැකසීම සක්‍රීය නම්, මෙම දත්ත ඔබේ Google ගිණුුමට සුරකිනු ලැබේ. account.google.com හි ඔබට ඔබේ දත්ත බැලීමට, එය වෙනස් කිරීමට සහ ඔබේ ගිණුම් සැකසීම් වෙනස් කිරීමට හැකිය.</translation>
 <translation id="2350133097354918058">යළි පූරණ කළා</translation>
 <translation id="2350182423316644347">යෙදුම ආරම්භ කරමින්...</translation>
@@ -1229,6 +1229,7 @@
 <translation id="247051149076336810">ගොනු බෙදා ගැනීමේ URL</translation>
 <translation id="2470702053775288986">සහාය නොදක්වන දිගු අක්‍රීය කෙරිණි</translation>
 <translation id="2471469610750100598">කළු (පෙරනිමි)</translation>
+<translation id="2471506181342525583">ස්ථාන ප්‍රවේශය ඉඩ දේ</translation>
 <translation id="2473195200299095979">මෙම පිටුව පරිවර්තනය කරන්න</translation>
 <translation id="2475982808118771221">දෝෂයක් සිදු විණි</translation>
 <translation id="2476578072172137802">අඩවි සැකසුම්</translation>
@@ -1240,6 +1241,7 @@
 <translation id="2482878487686419369">දැනුම්දීම්</translation>
 <translation id="2484959914739448251">ඔබේ සියලුම සමමුහුර්ත කළ උපාංගවලින් සහ ඔබේ Google ගිණුමෙන් බ්‍රවුස් කිරීමේ දත්ත හිස් කිරීමට, <ph name="BEGIN_LINK" />ඔබේ මුරවැකිකඩ ඇතුළත් කරන්න<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">මුරපදය මෙම උපංගය මත සුරැකිණි</translation>
+<translation id="2485394160472549611">ඔබ සඳහා ඉහළම තේරීම්</translation>
 <translation id="2485422356828889247">අස්ථාපනය</translation>
 <translation id="2487067538648443797">නව පිටුසන එක් කරන්න</translation>
 <translation id="2487268545026948104">ඔබේ දත්ත ප්‍රතිසාධන කිරීමට, අන්තර්ජාලයට සම්බන්ධ කරන්න</translation>
@@ -1621,6 +1623,7 @@
 <translation id="2932483646085333864">සමමුහුර්ත කිරීම ආරම්භ කිරීමට වරා නැවත පුරන්න</translation>
 <translation id="2932883381142163287">අපහරණය වාර්තා කරන්න</translation>
 <translation id="2933632078076743449">අවසාන යාවත්කාලීනය</translation>
+<translation id="2934999512438267372">MIDI උපාංගවල පූර්ණ පාලනයට ඉඩ දේ</translation>
 <translation id="2936851848721175671">උපස්ථය සහ ප්‍රතිසාධනය</translation>
 <translation id="2938225289965773019"><ph name="PROTOCOL" /> සබැඳි විවෘත කරන්න</translation>
 <translation id="2938845886082362843">ඔබේ ආරක්‍ෂක යතුරේ ගබඩා කර ඇති පුරන දත්ත බලන්න සහ මකන්න</translation>
@@ -1736,6 +1739,7 @@
 <translation id="3083193146044397360">ඔබේ ආරක්ෂාව සුරැකීමට තාවකාලිකව අවහිර කර ඇත</translation>
 <translation id="3084548735795614657">ස්ථාපනය කිරීමට ඇද දමන්න</translation>
 <translation id="3084771660770137092">Chrome හට ක්‍රියාත්මක වීමට මතකය ප්‍රමාණවත් නොමැත හෝ වෙනත් හේතුවක් නිසා ජාල අඩවිය සඳහා වන ක්‍රියාවලිය නවතා දැමිනි. ඉදිරියට යෑමට, නැවුම් කරන්න හෝ වෙනත් පිටුවකට යන්න.</translation>
+<translation id="3084958266922136097">තිර සුරැකුම අබල කරන්න</translation>
 <translation id="3085412380278336437">අඩවියට ඔබේ කැමරාව භාවිත කළ හැකිය</translation>
 <translation id="3085752524577180175">SOCKS සංග්‍රාහක</translation>
 <translation id="3088052000289932193">වෙබ් අඩවිය MIDI භාවිත කරයි</translation>
@@ -1932,6 +1936,7 @@
 <translation id="3345886924813989455">සහය නොදක්වන බ්‍රව්සරයක් හමුවිය</translation>
 <translation id="3347086966102161372">පින්තූර ලිපිනය පිටපත් කරන්න</translation>
 <translation id="3348038390189153836">ඉවත් කළ හැකි උපාංගය අනාවරණය විය</translation>
+<translation id="3348131053948466246">ඉමොජි යෝජනා කරන ලදි. සංචාලනය කිරීමට ඉහළට හෝ පහළට ඔබන්න සහ ඇතුළු කිරීමට enter ඔබන්න.</translation>
 <translation id="3349933790966648062">මතක පා සටහන</translation>
 <translation id="3355936511340229503">සම්බන්ධතා දෝෂයකි</translation>
 <translation id="3356580349448036450">සම්පූර්ණ</translation>
@@ -1967,6 +1972,7 @@
 <translation id="3402585168444815892">ආදර්ශන ප්‍රකාරයට ලියාපදිංචි කිරීම</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">මෙම අඩවිය සඳහා මුරපද කිසිවක් සුරැකුවේ නැත</translation>
+<translation id="3404249063913988450">තිර සුරැකුම සබල කරන්න</translation>
 <translation id="3405664148539009465">ෆොන්ට අභිරුචිකරණය කරන්න</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">පිටු සලකුණු තීරුව &amp;පෙන්වන්න</translation>
@@ -2197,7 +2203,6 @@
 <translation id="3654045516529121250">ඔබේ ප්‍රවේශ්‍යතා පසුතල කියවන්න</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ එයට එක් ගොනුවක් වෙත ස්ථිර ප්රවේශය ඇත.}one{ එයට ගොනු # ට ස්ථිර ප්රවේශය ඇත.}other{ එයට ගොනු # ට ස්ථිර ප්රවේශය ඇත.}}</translation>
 <translation id="3660234220361471169">විශ්වාස කළ නොහැකි</translation>
-<translation id="3661172646479098821">දැනට Android උපාංගවලට පමණක් සහය දක්වනු ලැබේ.</translation>
 <translation id="3664511988987167893">දිගු නිරූපකය</translation>
 <translation id="3665589677786828986">ඔබගේ ඇතැම් සැකසීම් වෙනත් ක්‍රමලේඛයක් මගින් දූෂිතව ඇති බව Chrome අනාවරණය කර ගත් අතර, ඒවා එහි මුල් පෙරනිමිවලට යළි සකසන ලදී.</translation>
 <translation id="3668801437375206837">බ්ලූටූත් ගැටලු වඩාත් හොඳින් හඳුනා ගැනීම සඳහා, ගූගල්කරුවන් ඔවුන්ගේ ප්‍රතිපෝෂණ වාර්තා සමඟ අතිරේක බ්ලූටූත් ලොග ඇතුළත් කළ හැකිය. මෙම විකල්පය ලකුණු කරනු ලැබූ විට, ඔබේ වර්තමාන සැසියේ සිට btsnoop සහ HCI ලොග ඇතුළත් වනු ඇත, හැකි තරම් PII ඉවත් කිරීමට පවිත්‍ර කෙරේ. මෙම ලොගවලට පිවිසීමට Listnr හි Chrome OS නිෂ්පාදන කණ්ඩායමේ කළමනාකරුවන්ට සීමා වනු ඇත. දින 90 කට පසුව ලොග ඉවත් කරනු ලැබේ.</translation>
@@ -2508,6 +2513,7 @@
 <translation id="3984159763196946143">ආදර්ශන ප්‍රකාරය ඇරඹිය නොහැකි විය</translation>
 <translation id="3984431586879874039">මෙම වෙබ් අඩවියට ඔබේ ආරක්‍ෂක යතුර බැලීමට ඉඩ දෙන්නේද?</translation>
 <translation id="3986705137476756801">දැනට සජීවී සිරස්තල ක්‍රියා විරහිත කරන්න</translation>
+<translation id="3987544746655539083">ඔබගේ ස්ථානයට පිවිසීමෙන් මෙම අඩවිය අවහිර කිරීම දිගටම කරගෙන යන්න</translation>
 <translation id="3987938432087324095">කනගාටුයි, එය තේරුණේ නැහැ.</translation>
 <translation id="3988996860813292272">වේලා කලාපය තෝරන්න</translation>
 <translation id="399179161741278232">ආයාත කෙරිණි</translation>
@@ -2573,6 +2579,7 @@
 <translation id="4087089424473531098">දිගුව නිර්මාණය කරන්න:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">MIDI උපාංගවල පූර්ණ පාලනය ප්‍රතික්ෂේප කරන ලදි</translation>
 <translation id="4088095054444612037">කණ්ඩායම සඳහා පිළිගන්න</translation>
 <translation id="4089235344645910861">සැකසීම් සුරකින ලදී. සමමුහුර්ත කිරීම ආරම්භ විය.</translation>
 <translation id="4090103403438682346">තහවුරුකළ පිවිසුම සක්‍රීය කරන්න</translation>
@@ -2653,6 +2660,7 @@
 <translation id="4200689466366162458">අභිමත වචන</translation>
 <translation id="4200983522494130825">නව ටැබය</translation>
 <translation id="4201546031411513170">ඔබට සැමවිටම සැකසීම් තුළ සමමුහු කළ යුතු දෙය තෝරා ගත හැක.</translation>
+<translation id="420283545744377356">තිර සුරැකුම ක්‍රියාවිරහිත කරන්න</translation>
 <translation id="4206144641569145248">පිටසක්වලයා</translation>
 <translation id="4206323443866416204">ප්‍රතිපෝෂණ වාර්තාව</translation>
 <translation id="4208390505124702064"><ph name="SITE_NAME" /> සොයන්න</translation>
@@ -2751,6 +2759,7 @@
 <translation id="4348766275249686434">දෝශ එක්රැස් කරන්න</translation>
 <translation id="4349828822184870497">උපකාරී</translation>
 <translation id="4350019051035968019">උපාංගය වෙනත් වසමක් මගින් පරිපාලනය සඳහා ලකුණු කර ඇති බැවින් මෙම උපාංගට ඔබේ ගිනුම අයත් වසමට එක්විය නොහැක.</translation>
+<translation id="4350230709416545141">ඔබගේ ස්ථානයට ප්‍රවේශ වීමෙන් <ph name="HOST" /> සැම විට අවහිර කරන්න</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> හට අවට බ්ලූටූත් උපාංග සඳහා ස්කෑන් කිරීමට අවශ්‍යයි. පහත උපාංග සොයාගනු ලැබීය:</translation>
 <translation id="4354073718307267720">වෙබ් අඩවියකට ඔබේ වටපිටාවේ ත්‍රිමාන සිතියමක් සෑදීමට හෝ කැමරා ස්ථානය හඹා යෑමට ඉඩ දීමට පෙර අසන්න</translation>
@@ -2770,6 +2779,7 @@
 <translation id="4370975561335139969">ඔබ ඇතුළු කළ ඊ-තැපැෑල සහ මුරපදය නොගැළපේ.</translation>
 <translation id="4374831787438678295">Linux ස්ථාපකය</translation>
 <translation id="4375035964737468845">බාගත් ගොනු විවෘත කරන්න</translation>
+<translation id="4376226992615520204">ස්ථානය ක්‍රියාවිරහිතයි</translation>
 <translation id="4377363674125277448">සෙවාදායකයෙහි සහතිකය හා ගැටලුවක් පැවතිණි.</translation>
 <translation id="4378154925671717803">දුරකථනය</translation>
 <translation id="4378373042927530923">ධාවනය නොවේ</translation>
@@ -2969,7 +2979,6 @@
 <translation id="4619615317237390068">වෙනත් උපාංග වෙතින් ටැබ</translation>
 <translation id="4620809267248568679">මෙම සැකසුම දිගුවක් මගින් බලකර ඇත.</translation>
 <translation id="4623189117674524348">පද්ධතියට මෙම උපාංගය සඳහා API ප්‍රවේශය අනුමත කළ නොහැකි විය.</translation>
-<translation id="4624190781974168453">ආරම්භයේදී අසන්න</translation>
 <translation id="4625078469366263107">යෙදුම සබල කරන්න</translation>
 <translation id="4627427111733173920">කුකීස් අවහිරයි</translation>
 <translation id="4627442949885028695">වෙනත් උපාංගයකින් කරගෙන යන්න</translation>
@@ -3399,7 +3408,6 @@
 <translation id="5185386675596372454">වැඩි අවශ්‍ය බැවින්  "<ph name="EXTENSION_NAME" />" හි නවතම සංස්කරණය අක්‍රීය කරන ලදී.</translation>
 <translation id="5185500136143151980">අන්තර්ජාලය නැත</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> සඳහා විකල්ප මෙනුව</translation>
 <translation id="5190926251776387065">තොට ක්‍රියාත්මක කරන්න</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> හට බහුවිධ ගොනු බාගැනීමට අවශ්‍යයි</translation>
 <translation id="5192062846343383368">ඔබේ අධීක්‍ෂණ සැකසීම් බැලීමට Family Link යෙදුම විවෘත කරන්න</translation>
@@ -3592,6 +3600,7 @@
 <translation id="5431825016875453137">OpenVPN / L2TP</translation>
 <translation id="543338862236136125">මුරපදය සංස්කරණ කරන්න</translation>
 <translation id="5434065355175441495">PKCS #1 RSA ගුප්තකේතනය</translation>
+<translation id="5435779377906857208">ඔබගේ ස්ථානයට පිවිසීමට <ph name="HOST" /> හට සැම විට ඉඩ දෙන්න</translation>
 <translation id="5436492226391861498">ප්‍රොක්සි උමඟ සඳහා රැඳෙමින්...</translation>
 <translation id="5436510242972373446">සොයන්න <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">ඔබේ ගොනු සුරැකී දැන් නව ගිණුමක් සාදන්න.</translation>
@@ -3776,6 +3785,7 @@
 <translation id="5642508497713047">CRL Signer</translation>
 <translation id="5643321261065707929">මනුගත ජාලය</translation>
 <translation id="5643620609347735571">හිස් කර දිගටම පවත්වාගෙන යන්න</translation>
+<translation id="5646376287012673985">පිහිටීම</translation>
 <translation id="5646558797914161501">ව්‍යාපාරිකයා</translation>
 <translation id="5648166631817621825">පසුගිය දින 7</translation>
 <translation id="5649053991847567735">ස්වයංක්‍රීය බාගැනීම්</translation>
@@ -3819,6 +3829,7 @@
 <translation id="5701212929149679556">සෙලියුලර් රෝමිං</translation>
 <translation id="5701381305118179107">මධ්‍ය</translation>
 <translation id="5701441174893770082">ලිනක්ස් උත්ශ්‍රේණි කිරීම ඔබේ බැටරිය සැලකිය යුතු තරම් බස්සවයි. ඔබේ උපාංගය ආරෝපකයකට සම්බන්ධ කර නැවත උත්සාහ කරන්න.</translation>
+<translation id="5702749864074810610">යෝජනාව ඉවත ලන ලදී</translation>
 <translation id="5702898740348134351">සෙවුම් එන්ජින් සකසන්න (&amp;E)...</translation>
 <translation id="5704875434923668958">සමමුහුර්ත කරමින්</translation>
 <translation id="5705005699929844214">ප්‍රවේශ්‍යතා විකල්ප සැම විටම පෙන්වන්න</translation>
@@ -3939,6 +3950,7 @@
 <translation id="5857090052475505287">නව ෆෝල්ඩරය</translation>
 <translation id="5857171483910641802">කෙටිමං ඔබ නිතර පැමිණෙන වෙබ් අඩවිවලට අනුව යෝජනා කෙරෙති</translation>
 <translation id="5858490737742085133">පර්යන්තය</translation>
+<translation id="5859603669299126575">කලා ගැලරි ඇල්බමය</translation>
 <translation id="585979798156957858">බාහිර මෙටා</translation>
 <translation id="5860033963881614850">අක්‍රීය</translation>
 <translation id="5860491529813859533">ක්‍රියාත්මක කරන්න</translation>
@@ -4324,6 +4336,7 @@
 <translation id="6318125393809743217">ප්‍රතිපත්ති වින්‍යාසකරණ සමග policies.json ගොනුවක් ඇතුළත් කරන්න.</translation>
 <translation id="6318407754858604988">බාගැනීම ආරම්භ කරන ලදී</translation>
 <translation id="6318944945640833942">මුද්‍රකයක් අනාවරණ කළ නොහැකි වි. මුද්‍රක ලිපිනය නැවත ඇතුළත් කරන්න.</translation>
+<translation id="6321407676395378991">තිර සුරැකුම ක්‍රියාත්මක කරන්න</translation>
 <translation id="6322653941595359182">ඔබේ Chromebook වෙතින් පෙළ පණිවිඩ යවන්න සහ ලබා ගන්න</translation>
 <translation id="6324916366299863871">කෙටිමඟ සංස්කරණය</translation>
 <translation id="6325191661371220117">ස්වයං-දියත් කිරීම අබල කරන්න</translation>
@@ -4480,7 +4493,6 @@
 <translation id="6531282281159901044">අනතුරුදායක ගොනුව තබා ගන්න</translation>
 <translation id="6532101170117367231">Google Drive වෙත සුරකින්න</translation>
 <translation id="6532106788206463496">වෙනස්කම් සුරකින්න</translation>
-<translation id="6532113437901537254">ඔබේ Google ගිණුමෙන් ඔබේ මුරපද ඔබ පුරා ඇති අතර මෙම උපාංගයේ ද ලබා ගත හැකි වනු ඇත</translation>
 <translation id="6532206849875187177">සුරක්‍ෂිතතාව සහ පුරනය</translation>
 <translation id="6532527800157340614">ඔබේ ප්‍රවේශ ටෝකනය ලබා ගත නොහැකි බැවින් පුරනය අසමත් විය. ඔබගේ අන්තර්ජාල සම්බන්ධතාව පරීක්‍ෂා කර නැවත උත්සාහ කරන්න.</translation>
 <translation id="6532663472409656417">ව්‍යවසාය ලියාපදිංචි කළා</translation>
@@ -4502,6 +4514,7 @@
 <translation id="6555432686520421228">සියලු පරිශීලක ගිණුම් ඉවත් කර ඔබේ උපාංගය නව උපාංගයක් සේ පත්කිරීමට ඔබේ <ph name="IDS_SHORT_PRODUCT_NAME" /> නැවත සකසන්න.</translation>
 <translation id="6555810572223193255">පිරිසිදු කිරීම දැනට නොමැත</translation>
 <translation id="6556866813142980365">නැවත කරන්න</translation>
+<translation id="6556903358015358733">තේමාව සහ වෝල්පේපරය</translation>
 <translation id="6557290421156335491">මගේ කෙටිමං</translation>
 <translation id="6561560012278703671">වඩා නිශ්ශබ්ද පණිවුඩකරණය භාවිත කරන්න (දැනුම්දීම් ප්‍රේරක ඔබට බාධා කිරීමෙන් අවහිර කරයි)</translation>
 <translation id="6561726789132298588">ඇතුල් කරන්න</translation>
@@ -4525,6 +4538,7 @@
 <translation id="6590458744723262880">ෆෝල්ඩරය යළි නම් කරන්න</translation>
 <translation id="6592267180249644460">WebRTC වාර්ථාව <ph name="WEBRTC_LOG_CAPTURE_TIME" /> ගන්නා ලදී</translation>
 <translation id="6592808042417736307">ඔබේ ඇඟිලි සලකුණ ග්‍රහණ කළා</translation>
+<translation id="6595187330192059106"><ph name="HOST" /> හට MIDI උපාංගවල පූර්ණ ප්‍රවේශය තිබීමෙන් සැම විට අවහිර කරන්න.</translation>
 <translation id="6596325263575161958">සංකේතනය කිරීමේ විකල්ප</translation>
 <translation id="6596816719288285829">IP ලිපිනය</translation>
 <translation id="6597017209724497268">සාම්පල</translation>
@@ -5010,9 +5024,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' මැකිණි</translation>
 <translation id="7201420661433230412">ගොනු බලන්න</translation>
 <translation id="7203150201908454328">දිග හරින ලද</translation>
-<translation id="7203826966018112936">පැතිකඩකට පාසල් ගිණුමක් එක් කිරීම මාපිය පාලන යටතේ ක්‍රියා කරමින් සිටින අතරතුරු ශිෂ්‍යයෙක් වශයෙන් වෙබ් අඩවිවලට සහ දිගුවලට පහසු පුරනය සබල කරයි. එය දරුවෙකුට සමමුහූර්ත කළ පිටුසන්, මුරපද, හෝ වෙනත් බ්‍රවුසර දත්ත වෙත පාසල් ගිණුම මඟින් ප්‍රවේශ නොදෙයි.&lt;br&gt;&lt;br&gt;
-    ඔබේ දරුවා Chromebook  එකක් භාවිත කරන අතර ඔබ ඔබේ දරුවාට අවශ්‍ය පාසල් වැඩ සියල්ල වෙත ප්‍රවේශය තිබීම තහවුරු කිරීමට නිවසේදී පාසල් අත්දැකීම දර්පණ කිරීමට කැමති නම්, මෙම Family Link ගිණුමෙන් වැරී Chrome OS ගිණුම් පිටුවෙන් පාසල් ගිණුමට පුරන්න (සටහන: Family Link මාපිය පාලන නොයෙදේ).&lt;br&gt;&lt;br&gt;
-    ඔබේ දරුවා පාසලේදී Chromebook එකක් භාවිත නොකරන්නේ නම් හෝ ඔබ ඔබේ දරුවාගේ අත්දැකීම නිවසේදී Family Link භාවිත කර කළමනා කිරීමට කැමති නම්, මෙම පැතිකඩට පාසල් ගිණුමක් එක් කිරීමට පහත 'මීළඟ' බොත්ත ක්ලික් කරන්න.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> බාගනිමින්...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{පිටවීමේ පිටුව}one{පිටවීමේ පිටු}other{පිටවීමේ පිටු}}</translation>
 <translation id="7207457272187520234">භාවිත සහ දෝෂ නිර්ණ දත්ත යවන්න. මෙම උපාංගය ස්වයංක්‍රියව රෝග විනිශ්චය, උපාංග සහ යෙදුම් භාවිත දත්ත Google වෙත යවයි. මෙය පද්ධති සහ යෙදුම් ස්ථායිතාවට සහ අනෙකුත් වැඩිදියුණු කිරීම්වලට උදවු කරයි. සමහර එකතු කළ දත්ත Google යෙදුම්වලට සහ Android සංවර්ධකයින් වැනි හවුල්කරුවන්ට ද උදවු කරති. මෙම සැකසීම හිමිකරු විසින් බලාත්මක කෙරේ. ඔබේ අමතර වෙබ් සහ යෙදුම් ක්‍රියාකාරකම් සැකසීම සක්‍රීය නම්, මෙම දත්ත ඔබේ Google ගිණුුමට සුරකිනු ලැබේ.</translation>
@@ -5155,7 +5166,6 @@
 <translation id="7388044238629873883">ඔබ අවසන්කිරීමට ආසන්නයි!</translation>
 <translation id="7392118418926456391">වෛරස් පරීක්ෂාව අසාර්ථකයි</translation>
 <translation id="7392915005464253525">වැසූ කවුළුව නැවත විවෘත කරන්න (&amp;e)</translation>
-<translation id="7393472013449507620">"*" ආදේශක සහිත සැකසීම් තවදුරටත් සහාය නොදක්වයි. <ph name="BEGIN_LINK" /> මෙම සැකසීම් වෙනස් කිරීමට<ph name="END_LINK" /> දිගු සංවර්ධක හෝ ඔබගේ පරිපාලක අමතන්න.</translation>
 <translation id="7396017167185131589">බෙදා ගත් ෆෝල්ඩර මෙහි දිස් වේ</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> පද්ධති ඇරඹුමෙහිදී දියත්ව ඔබ අනෙකුත් සියලු <ph name="PRODUCT_NAME" /> කවුළු වැසූ පසුව පවා පසුබිමින් දිගටම ධාවනය වනු ඇත.</translation>
 <translation id="7399045143794278225">සමමුහූර්තය අභිරුචි කරන්න</translation>
@@ -5268,6 +5278,7 @@
 <translation id="7526989658317409655">තැන් දරණුව</translation>
 <translation id="7529411698175791732">ඔබේ අන්තර්ජාල සබැඳුම පරීක්ෂා කරන්න. ප්‍රශ්නය දිගටම පැවතුණහොත්, වරා නැවත පිරීමට උත්සාහ කරන්න.</translation>
 <translation id="7530016656428373557">විසර්ජන අනුපාතය වොට් මගින්</translation>
+<translation id="7531310913436731628">Mac පද්ධති මනාප තුළ ස්ථානය ක්‍රියාවිරහිතයි</translation>
 <translation id="7531779363494549572">සැකසීම් &gt; යෙදුම් සහ දැනුම්දීම් &gt; දැනුම්දීම් වෙත යන්න.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ප්‍රතිචාර නොදක්වයි. යෙදුම වැසීමට "බලෙන් වසන්න" තෝරන්න.</translation>
 <translation id="7537451260744431038">වෙබ් අඩවි ඔබේ බ්‍රවුස කිරීමේ අත්දැකීම වැඩිදියුණු කිරීමට, උදාහරණයක් වශයෙන්, ඔබව පුරනය කර තබා ගැනීමට හෝ ඔබේ සාප්පු සවාරි කරත්තයේ අයිතම මතක තබා ගැනීමට කුකී භාවිත නොකළ හැක</translation>
@@ -5380,6 +5391,7 @@
 <translation id="767147716926917172">Google වෙත දෝෂහරණ සහ භාවිතයේ දත්ත ස්වයංක්‍රීයව යවයි</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, <ph name="PAGE_TITLE" /> තුළ.</translation>
 <translation id="7674416868315480713">ලිනක්ස් තුළ යොමු කෙරෙන සියලුම තොටවල් ක්‍රියා විරහිත කරන්න</translation>
+<translation id="7674542105240814168">ස්ථාන ප්‍රවේශය ප්‍රතික්ෂේප කරන ලදි</translation>
 <translation id="7676867886086876795">ඕනෑම පෙළ ක්ෂේත්‍රයක හඬ ටයිප් කිරීමට ඉඩ දීමට, අනුලේඛනය විසින් ඔබගේ හඬ Google වෙත යවන්න.</translation>
 <translation id="7678280409648629969">ඔබ අප්‍රසිද්ධ ප්‍රකාරයෙන් පිට වූ පසු පුරන දත්ත Chrome තුළ ගබඩා කරනු ලැබේ. මෙය ඔබට පසුව මෙම වෙබ් අඩවිය සමඟ නැවතත් ස්පර්ශ හැඳුනුම භාවිත කිරීමට ඉඩ සලසයි.</translation>
 <translation id="7680416688940118410">ස්පර්ශ තිර ක්‍රමාංකණය</translation>
@@ -5586,6 +5598,7 @@
 <translation id="790040513076446191">පුද්ගලිකත්ව-දායක සැකසුම් පාලනය කරන්න</translation>
 <translation id="7903345046358933331">පිටුව ප්‍රතිචාර නොදක්වයි. ඔබට එය ප්‍රතිචාර දක්වන තෙක් රැඳී සිටීමට හෝ වසා දැමීමට හැකිය.</translation>
 <translation id="7903742244674067440">මෙම සහතික බලධාරීන් හඳුනා ගන්නා සහතික ගොනුව තුළ ඔබට තිබේ</translation>
+<translation id="7903859912536385558">ස්ථාවර (විශ්වාසදායී පරීක්ෂක)</translation>
 <translation id="7903925330883316394">උපයෝගිතා: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">මෙම ගිනුමේ පරිපාලක විසින් බහු පිවිසුම් වලට අවසර දී නොමැත.</translation>
 <translation id="7904526211178107182">ලිනක්ස් තොට ඔබේ ජාලයෙන් වෙනත් උපාංගවලට ලද හැකි කරන්න.</translation>
@@ -5710,6 +5723,7 @@
 <translation id="8049705080247101012">Google විසින් "<ph name="EXTENSION_NAME" />" අනිෂ්ට ලෙස ලකුණු කර ඇති අතර ස්ථාපනය වළක්වා ඇත</translation>
 <translation id="8049948037269924837">ස්පර්ශ පුවරු ආපස්සයට අනුචලනය</translation>
 <translation id="8050038245906040378">Microsoft වානිජ්‍ය කේත සන්කිරීම</translation>
+<translation id="8051390370038326517"><ph name="HOST" /> හට MIDI උපාංගවල පූර්ණ පාලනය සැම විට ඉඩ දෙන්න</translation>
 <translation id="8053278772142718589">PKCS #12 ගොනු</translation>
 <translation id="8053390638574070785">මෙම පිටුව නැවත පටවන්න</translation>
 <translation id="8054517699425078995">මෙම ආකාරයේ ගොුවක් ඔබේ උපාංගයට හැනි කරයි. කෙසේවෙතත් ඔබට <ph name="FILE_NAME" /> තබා ගැනීමට අවශ්‍යද?</translation>
@@ -5761,6 +5775,7 @@
 <translation id="810728361871746125">සංදර්ශක විභේදනය</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{තෙවන පාර්ශ්ව කුකී නැත}=1{1 තෙවන පාර්ශ්ව කුකීයක් අවහිර කළා}one{තෙවන පාර්ශ්ව කුකී # ක් අවහිර කළා}other{තෙවන පාර්ශ්ව කුකී # ක් අවහිර කළා}}</translation>
 <translation id="810875025413331850">කිසිඳු උපාංගයක් අවටින් හමු නොවිය.</translation>
+<translation id="8113476325385351118">MIDI උපාංගවල පූර්ණ පාලනය ලබා ගැනීමෙන් මෙම අඩවිය අවහිර කිරීම දිගටම කරගෙන යන්න</translation>
 <translation id="8114199541033039755">ටැබ්ලට් ප්‍රකාරය තුළ බොත්තම් මඟින් නිවසට සංචලන වීම, ආපසු යාම, සහ යෙදුම් මාරු කිරීම. ChromeVox හෝ ස්වයංක්‍රීය ක්ලික් සබල කළ විට සක්‍රීය කළා.</translation>
 <translation id="8114875720387900039">තිරස්ව වෙන් කරන්න</translation>
 <translation id="8116972784401310538">&amp;පිටු සලකුණු කලමනාකරු</translation>
@@ -6046,7 +6061,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> සඳහා සුරැකි මුරපද</translation>
 <translation id="8472623782143987204">දෘඪාංග-උපකාර ලද</translation>
 <translation id="8473863474539038330">ලිපින සහ තව</translation>
-<translation id="8474733733775441349">ඔබේ Google ගිණුමෙන් මුරපද පෙන්වීම</translation>
 <translation id="8475313423285172237">ඔබේ පරිගණකයේ වෙනත් වැඩසටහනක් දිගුවක් එක් කර ඇති අතර එයින් Chrome ක්‍රියා කරන ආකරය වෙනස් විය හැකිය.</translation>
 <translation id="8477241577829954800">අබිබවන ලද</translation>
 <translation id="8477384620836102176">සාමාන්‍ය</translation>
@@ -6129,6 +6143,7 @@
 <translation id="8590375307970699841">ස්වයංක්‍රිය යාවත්කාලීන පිහිටුවන්න</translation>
 <translation id="8591783563402255548">1 තත්පරයක්</translation>
 <translation id="8592141010104017453">කිසිවිටක දැනුම්දීම් පෙන්වන්න එපා</translation>
+<translation id="859246725979739260">මෙම අඩවිය ඔබගේ ස්ථානයට පිවිසීමෙන් අවහිර කරනු ලැබ ඇත.</translation>
 <translation id="8593121833493516339">භාවිත සහ දෝෂ නිර්ණ දත්ත යවන්න. ස්වයංක්‍රියව රෝග විනිශ්චය, උපාංග සහ යෙදුම් භාවිත දත්ත Google වෙත යැවීමෙන් ඔබගේ දරුවාගේ Android අත්දැකීම වැඩි දියුණු කර ගැනීමට උපකාරී වන්න. මෙය ඔබේ දරුවා හඳුනා ගැනීමට භාවිත නොකෙරෙන අතර, පද්ධති සහ යෙදුම් ස්ථායිතාවට සහ අනෙකුත් වැඩිදියුණු කිරීම්වලට උදවු කරයි. සමහර එකතු කළ දත්ත Google යෙදුම්වලට සහ Android සංවර්ධකයින් වැනි හවුල්කරුවන්ට ද උදවු කරති. ඔබේ දරුවා සඳහා අමතර වෙබ් සහ යෙදුම් ක්‍රියාකාරකම සක්‍රීය කර තිබේ නම්, මෙම දත්ත ඔවුන්ගේ Google ගිණුමට සුරැකිය හැක. <ph name="BEGIN_LINK1" />තවත් දැන ගන්න<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">වීඩියෝව ග්‍රහණය කරන්න</translation>
 <translation id="8596540852772265699">සැකසුම් ගොනු</translation>
@@ -6141,6 +6156,7 @@
 <translation id="860909219589324847">මාරු කිරීමට කිසි විටක දත්ත භාවිත නොකරන්න</translation>
 <translation id="8609465669617005112">ඉහළට යන්න</translation>
 <translation id="8610103157987623234">වැරදි ආකෘතිය, නැවත උත්සාහ කරන්න</translation>
+<translation id="8611682088849615761">මෙම අඩවියට MIDI උපාංගවල පූර්ණ පාලනය ඉඩ දීම දිගටම කර ගෙන යන්න</translation>
 <translation id="8613164732773110792">ඉංග්‍රීසි සිම්පල් අකුරු, අංක, පහත් ඉර, හෝ මැද ඉර පමණයි</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> ආරක්ෂක පරීක්ෂාවට විශාල වැඩියි. ඔබට 50 MB දක්වා ගොනු විවෘත කළ හැක.</translation>
 <translation id="8615618338313291042">ඉන්කග්නිටෝ යෙදු: <ph name="APP_NAME" /></translation>
@@ -6283,6 +6299,7 @@
 <translation id="8761945298804995673">මෙම පරිශීලකයා දැනටමත් සිටී</translation>
 <translation id="8762886931014513155">ඔබේ <ph name="DEVICE_TYPE" />ට යාවත්කාලීනයක් අවශ්‍යයි</translation>
 <translation id="8763927697961133303">USB උපාංගය</translation>
+<translation id="87646919272181953">Google ඡායාරූප ඇල්බමය</translation>
 <translation id="8767621466733104912">සියලු පරිශීලකයන් සඳහා Chrome ස්වයංක්‍රීයව යාවත්කාලීන කරන්න</translation>
 <translation id="8770406935328356739">දිගු මූල නාමාවලිය</translation>
 <translation id="8770507190024617908">පුද්ගලයින් කළමනාකරණය කරන්න</translation>
@@ -6599,6 +6616,7 @@
 <translation id="9147392381910171771">&amp;විකල්ප</translation>
 <translation id="9148058034647219655">ඉවත් වන්න</translation>
 <translation id="9148126808321036104">නැවත පිවිසෙන්න</translation>
+<translation id="9148963623915467028">මෙම අඩවියට ඔබේ ස්ථානයට ප්‍රවේශ විය හැකිය.</translation>
 <translation id="9149866541089851383">සකසන්න...</translation>
 <translation id="9150045010208374699">ඔබගේ කැමරාව භාවිතා කරන්න</translation>
 <translation id="9153934054460603056">අනන්‍යතාව හා මුරපදය සුරකින්න</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index a59846a9..a44b1d17 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Len zašifrovanie</translation>
 <translation id="1038462104119736705">Na používanie systému Linux sa vyžaduje minimálne <ph name="INSTALL_SIZE" /> voľného priestoru. Uvoľníte ho odstránením súborov zo zariadenia.</translation>
 <translation id="1039337018183941703">Neplatný alebo poškodený súbor</translation>
-<translation id="104086161873270383">Nový profil</translation>
 <translation id="1041175011127912238">Táto stránka nereaguje</translation>
 <translation id="1041263367839475438">Dostupné zariadenia</translation>
 <translation id="1042174272890264476">Váš počítač má tiež vstavanú knižnicu RLZ prehliadača <ph name="SHORT_PRODUCT_NAME" />. Knižnica RLZ priradí nejedinečnú značku, pomocou ktorej sa nedá zistiť totožnosť, na meranie výsledkov a použitia prehliadača <ph name="SHORT_PRODUCT_NAME" /> vyplývajúceho z konkrétnej propagačnej kampane. Tieto menovky sa niekedy zobrazujú v dopytoch Vyhľadávania Google v prehliadači <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Tlačidlo Späť podstránky <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Uložené heslá si môžete zobraziť a spravovať v časti <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Zabezpečuje ochranu všetkých osobných účtov Google, ktorým hrozia cielené útoky</translation>
-<translation id="1325985428688410772">Pridať priestor</translation>
 <translation id="1326317727527857210">Ak chcete získať karty z ďalších svojich zariadení, prihláste sa do Chromu.</translation>
 <translation id="1327074568633507428">Tlačiareň v službe Google Cloud Print</translation>
 <translation id="1327272175893960498">Tikety Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Kontrola hesla nie je v prehliadači Chromium k dispozícii</translation>
 <translation id="1871534214638631766">Zobrazovať súvisiace informácie, keď na obsah kliknete pravým tlačidlom alebo ho dlho stlačíte</translation>
 <translation id="1871615898038944731">Vaše zariadenie <ph name="DEVICE_TYPE" /> je aktuálne</translation>
-<translation id="1874835396235780806">Chcete toto a ďalšie heslá uložiť vo svojom účte Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Presunúť kartu do iného okna}few{Presunúť karty do iného okna}many{Presunúť karty do iného okna}other{Presunúť karty do iného okna}}</translation>
 <translation id="1875386316419689002">Táto karta je pripojená k zariadeniu HID.</translation>
 <translation id="1875387611427697908">Dá sa pridať iba zo služby <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" />. sieť z <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, pripojenie</translation>
 <translation id="1884705339276589024">Zmena veľkosti disku Linux</translation>
 <translation id="1885106732301550621">Priestor disku</translation>
-<translation id="1885190042244431215">Pridanie školského účtu uľahčuje prihlásenie v rámci webov a rozšírení študentom, ktorí majú aktívnu rodičovskú kontrolu.</translation>
 <translation id="1886996562706621347">Povoliť webovým stránkam požiadať o nastavenie za predvolené obslužné nástroje protokolov (odporúčané)</translation>
 <translation id="1887442540531652736">Chyba prihlásenia.</translation>
 <translation id="1887597546629269384">Znova povedzte „Hej Google“</translation>
@@ -2199,7 +2195,6 @@
 <translation id="3654045516529121250">Čítať nastavenia dostupnosti</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Aplikácia má trvalý prístup k jednému súboru.}few{Aplikácia má trvalý prístup k # súborom.}many{Aplikácia má trvalý prístup k # súboru.}other{Aplikácia má trvalý prístup k # súborom.}}</translation>
 <translation id="3660234220361471169">Nedôveryhodné</translation>
-<translation id="3661172646479098821">Momentálne sú podporované iba zariadenia s Androidom.</translation>
 <translation id="3664511988987167893">Ikona rozšírenia</translation>
 <translation id="3665589677786828986">Chrome zistil, že niektoré nastavenia boli poškodené iným programom, a preto obnovil pôvodné predvolené nastavenia.</translation>
 <translation id="3668801437375206837">Zamestnanci Googlu môžu do svojich hlásení so spätnou väzbou zahrnúť ďalšie denníky rozhrania Bluetooth, aby bolo možné lepšie diagnostikovať problémy s rozhraním Bluetooth. Keď začiarknete túto možnosť, hlásenie bude obsahovať denníky btsnoop a HCI aktuálnej relácie, z ktorých boli odstránené všetky informácie umožňujúce identifikáciu osôb. Prístup k týmto denníkom bude obmedzený na správcov skupiny produktov so systémom Chrome OS v nástroji Listnr. Denníky budú vyčistené po 90 dňoch.</translation>
@@ -2771,6 +2766,7 @@
 <translation id="4370975561335139969">Zadaný e-mail a heslo nesúhlasia.</translation>
 <translation id="4374831787438678295">Inštalátor systému Linux</translation>
 <translation id="4375035964737468845">Otvárať stiahnuté súbory</translation>
+<translation id="4376226992615520204">Poloha je vypnutá</translation>
 <translation id="4377363674125277448">Vyskytol sa problém s certifikátom servera.</translation>
 <translation id="4378154925671717803">Telefón</translation>
 <translation id="4378373042927530923">Nebolo spustené</translation>
@@ -2970,7 +2966,6 @@
 <translation id="4619615317237390068">Karty z iných zariadení</translation>
 <translation id="4620809267248568679">Toto nastavenie je vynútené rozšírením.</translation>
 <translation id="4623189117674524348">Systému sa nepodarilo autorizovať prístup k rozhraniu API pre toto zariadenie.</translation>
-<translation id="4624190781974168453">Pýtať sa pri spustení</translation>
 <translation id="4625078469366263107">Povoliť aplikáciu</translation>
 <translation id="4627427111733173920">Boli zablokované súbory cookie</translation>
 <translation id="4627442949885028695">Pokračovať na inom zariadení</translation>
@@ -3400,7 +3395,6 @@
 <translation id="5185386675596372454">Najnovšia verzia doplnku „<ph name="EXTENSION_NAME" />“ bola zakázaná, pretože vyžaduje viac povolení.</translation>
 <translation id="5185500136143151980">Bez internetu</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Ponuka možností pre profil <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktivovať port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> chce stiahnuť viacero súborov</translation>
 <translation id="5192062846343383368">Ak chcete zobraziť nastavenia dohľadu, otvorte aplikáciu Family Link</translation>
@@ -3776,6 +3770,7 @@
 <translation id="5642508497713047">Podpisovateľ CRL</translation>
 <translation id="5643321261065707929">Meraná sieť</translation>
 <translation id="5643620609347735571">Vymazať a pokračovať</translation>
+<translation id="5646376287012673985">Poloha</translation>
 <translation id="5646558797914161501">Obchodník</translation>
 <translation id="5648166631817621825">Posledných 7 dní</translation>
 <translation id="5649053991847567735">Automatické sťahovanie</translation>
@@ -4482,7 +4477,6 @@
 <translation id="6531282281159901044">Ponechať nebezpečný súbor</translation>
 <translation id="6532101170117367231">Uložiť do služby Disk Google</translation>
 <translation id="6532106788206463496">Uložiť zmeny</translation>
-<translation id="6532113437901537254">Heslá z vášho účtu Google budú tiež k dispozícii v tomto zariadení, kým budete mať aktívne prihlásenie</translation>
 <translation id="6532206849875187177">Zabezpečenie a prihlásenie</translation>
 <translation id="6532527800157340614">Prihlásenie zlyhalo, pretože sa nepodarilo načítať prístupový token. Skontrolujte pripojenie k sieti a skúste to znova.</translation>
 <translation id="6532663472409656417">Zaregistrované v rámci podniku</translation>
@@ -4614,7 +4608,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> a 1 ďalšia karta}few{<ph name="PAGE_TITLE" /> a # ďalšie karty}many{<ph name="PAGE_TITLE" /> and # Other Tabs}other{<ph name="PAGE_TITLE" /> a # ďalších kariet}}</translation>
 <translation id="6709133671862442373">News</translation>
 <translation id="6709357832553498500">Pripojiť sa pomocou rozšírenia <ph name="EXTENSIONNAME" /></translation>
-<translation id="6710213216561001401">Dozadu</translation>
+<translation id="6710213216561001401">Späť</translation>
 <translation id="6715803357256707211">Počas inštalácie aplikácie pre Linux sa vyskytla chyba. Podrobnosti zistíte po kliknutí na upozornenie.</translation>
 <translation id="671619610707606484">Týmto vymažete <ph name="TOTAL_USAGE" /> dát uložených webmi</translation>
 <translation id="671928215901716392">Uzamknúť obrazovku</translation>
@@ -5012,9 +5006,6 @@
 <translation id="7201118060536064622">Položka <ph name="DELETED_ITEM_NAME" /> bola odstránená</translation>
 <translation id="7201420661433230412">Zobraziť súbory</translation>
 <translation id="7203150201908454328">Rozbalené</translation>
-<translation id="7203826966018112936">Pridanie školského účtu do profilu uľahčuje prihlásenie v rámci webov a rozšírení študentom, ktorí majú v zariadení aktívnu rodičovskú kontrolu. Dieťaťu tým neposkytnete prístup k záložkám, heslám ani dátam prehliadača synchronizovaným so školským účtom.&lt;br&gt;&lt;br&gt;
-    Ak vaše dieťa používa Chromebook v škole a chcete doma vytvoriť školské prostredie, aby malo prístup k všetkým potrebným domácim úlohám, odhláste sa z účtu Family Link a prihláste sa do účtu zo stránky účtov Chrome OS. (Poznámka: Rodičovská kontrola Family Link nebude platiť.)&lt;br&gt;&lt;br&gt;
-    Ak vaše dieťa nepoužíva Chromebook v škole alebo radšej spravujete prostredie dieťaťa doma pomocou aplikácie Family Link, kliknutím na tlačidlo Ďalej uvedené nižšie pridajte školský účet pre tento profil.</translation>
 <translation id="7206693748120342859">Sťahovanie doplnku <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Opustiť stránku}few{Opustiť stránky}many{Opustiť stránky}other{Opustiť stránky}}</translation>
 <translation id="7207457272187520234">Odosielanie údajov o využití a diagnostiky. Toto zariadenie momentálne automaticky odosiela Googlu diagnostiky a údaje o používaní zariadenia a aplikácií. Pomôžu zvýšiť stabilitu systému a aplikácií a poskytovať ďalšie zlepšenia. Niektoré súhrnné údaje tiež pomôžu aplikáciám Google a partnerom, ako napríklad vývojárom pre Android. Používanie tohto nastavenia je presadzované vlastníkom. Ak aktivujete ďalšiu aktivitu na internete a v aplikáciách, tieto údaje sa uložia vo vašom účte Google.</translation>
@@ -5157,7 +5148,6 @@
 <translation id="7388044238629873883">Už ste skoro na konci!</translation>
 <translation id="7392118418926456391">Antivírusová kontrola zlyhala</translation>
 <translation id="7392915005464253525">Znovu o&amp;tvoriť zatvorené okno</translation>
-<translation id="7393472013449507620">Nastavenia so zástupnými znakmi „*“ už nie sú podporované. Kontaktujte vývojára rozšírenia alebo svojho správcu a <ph name="BEGIN_LINK" />tieto nastavenia zmeňte<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Tu sa zobrazia zdieľané priečinky</translation>
 <translation id="7396845648024431313">Aplikácia <ph name="APP_NAME" /> sa spustí pri spustení systému a bude fungovať na pozadí aj po zatvorení všetkých okien programu <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Prispôsobiť synchronizáciu</translation>
@@ -5270,6 +5260,7 @@
 <translation id="7526989658317409655">Zástupný symbol</translation>
 <translation id="7529411698175791732">Skontrolujte internetové pripojenie. Ak problém pretrváva, skúste sa odhlásiť a znovu prihlásiť.</translation>
 <translation id="7530016656428373557">Vybíjanie batérie (W)</translation>
+<translation id="7531310913436731628">Poloha je v predvoľbách systému Mac vypnutá</translation>
 <translation id="7531779363494549572">Prejdite do časti Nastavenia &gt; Aplikácie a upozornenia &gt; Upozornenia.</translation>
 <translation id="7532009420053991888">Aplikácia <ph name="LINUX_APP_NAME" /> nereaguje. Zavrite ju výberom možnosti Vynútiť zavretie.</translation>
 <translation id="7537451260744431038">Weby nemôžu pomocou súborov cookie zlepšovať vaše prostredie prehliadania, napríklad zabrániť odhláseniu alebo zapamätať si položky vo vašom nákupnom košíku</translation>
@@ -6049,7 +6040,6 @@
 <translation id="8470513973197838199">Uložené heslá pre <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">hardvérová záloha</translation>
 <translation id="8473863474539038330">Adresy a ďalšie údaje</translation>
-<translation id="8474733733775441349">Zobrazenie hesiel z účtu Google</translation>
 <translation id="8475313423285172237">Iný program v počítači pridal rozšírenie, ktoré môže zmeniť spôsob fungovania prehliadača Chrome.</translation>
 <translation id="8477241577829954800">Nahradené</translation>
 <translation id="8477384620836102176">&amp;Všeobecné</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb
index 8c54eb9..27ade60 100644
--- a/chrome/app/resources/generated_resources_sl.xtb
+++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Le šifriranje</translation>
 <translation id="1038462104119736705">Za Linux priporočamo najmanj <ph name="INSTALL_SIZE" /> prostora. Če želite povečati nezasedeni prostor, izbrišite datoteke iz naprave.</translation>
 <translation id="1039337018183941703">Neveljavna ali poškodovana datoteka</translation>
-<translation id="104086161873270383">Nov profil</translation>
 <translation id="1041175011127912238">Ta stran se ne odziva</translation>
 <translation id="1041263367839475438">Razpoložljive naprave</translation>
 <translation id="1042174272890264476">V vašem računalniku je tudi vgrajena knjižnica RLZ izdelka <ph name="SHORT_PRODUCT_NAME" />. RLZ za merjenje iskanj in uporabe izdelka <ph name="SHORT_PRODUCT_NAME" /> v okviru določene promocijske akcije dodeli neenolično oznako, ki ne omogoča osebne prepoznave. Te oznake so včasih v izdelku <ph name="PRODUCT_NAME" /> prikazane v iskalnih poizvedbah v Googlu.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Gumb za nazaj na podstrani <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Shranjena gesla si lahko ogledate in jih upravljate tukaj: <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Varuje osebne račune Google vseh, pri katerih je možno, da pride do ciljanih napadov</translation>
-<translation id="1325985428688410772">Dodaj prostor</translation>
 <translation id="1326317727527857210">Če želite dostopati do zavihkov v drugih napravah, se prijavite v Chrome.</translation>
 <translation id="1327074568633507428">Tiskalnik v Google Tiskanju v oblaku</translation>
 <translation id="1327272175893960498">Kartončki za Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Preverjanje gesla ni na voljo v Chromiumu</translation>
 <translation id="1871534214638631766">Prikaz sorodnih informacij, če z desnim gumbom miške kliknete vsebino ali jo za dalj časa pritisnete</translation>
 <translation id="1871615898038944731">Naprava <ph name="DEVICE_TYPE" /> je posodobljena</translation>
-<translation id="1874835396235780806">Želite to geslo in druga gesla shraniti v račun Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Premakni zavihek v drugo okno}one{Premakni zavihke v drugo okno}two{Premakni zavihke v drugo okno}few{Premakni zavihke v drugo okno}other{Premakni zavihke v drugo okno}}</translation>
 <translation id="1875386316419689002">Ta zavihek je povezan z napravo HID.</translation>
 <translation id="1875387611427697908">To je mogoče dodati samo z mesta <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Omrežje <ph name="NETWORK_INDEX" /> od <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, vzpostavitev povezave</translation>
 <translation id="1884705339276589024">Spreminjanje velikosti diska Linuxa</translation>
 <translation id="1885106732301550621">Prostor na disku</translation>
-<translation id="1885190042244431215">Če dodate šolski račun, omogočite preprosto prijavo kot učenca na spletnih mestih in v razširitvah, medtem ko račun še vedno deluje pod starševskim nadzorom.</translation>
 <translation id="1886996562706621347">Dovoli spletnim mestom, da zahtevajo, da postanejo privzete rutine za obravnavo protokolov (priporočeno)</translation>
 <translation id="1887442540531652736">Napaka pri prijavi</translation>
 <translation id="1887597546629269384">Znova izgovorite »Hey Google«</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Branje nastavitev za funkcije za ljudi s posebnimi potrebami</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Ima trajni dostop do ene datoteke.}one{Ima trajni dostop do # datoteke.}two{Ima trajni dostop do # datotek.}few{Ima trajni dostop do # datotek.}other{Ima trajni dostop do # datotek.}}</translation>
 <translation id="3660234220361471169">Ni vredno zaupanja</translation>
-<translation id="3661172646479098821">Trenutno so podprte samo naprave Android.</translation>
 <translation id="3664511988987167893">Ikona razširitve</translation>
 <translation id="3665589677786828986">Chrome je zaznal, da je drug program spremenil nastavitve, in jih ponastavil na prvotne privzete nastavitve.</translation>
 <translation id="3668801437375206837">Googlovi uporabniki lahko za boljše diagnosticiranje težav z Bluetoothom v poročila s povratnimi informacijami vključijo dodatne dnevnike za Bluetooth. Če je označena ta možnost, bosta v vašem poročilu vključena dnevnika btsnoop in HCI iz trenutne seje, in sicer prečiščena tako, da je odstranjenih čim več podatkov, ki omogočajo osebno prepoznavo. Dostop do teh dnevnikov bo omejen na skrbnike skupine izdelkov OS Chrome za Listnr. Dnevniki bodo trajno odstranjeni po 90 dneh.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">E-poštni naslov in geslo, ki ste ju vnesli, se ne ujemata.</translation>
 <translation id="4374831787438678295">Namestitveni program za Linux</translation>
 <translation id="4375035964737468845">Odpiranje prenesenih slik</translation>
+<translation id="4376226992615520204">Lokacija je izklopljena</translation>
 <translation id="4377363674125277448">Težava s potrdilom strežnika.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Ni se izvedlo</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Zavihki iz drugih naprav</translation>
 <translation id="4620809267248568679">To nastavitev je vsilila razširitev.</translation>
 <translation id="4623189117674524348">Sistemu za to napravo ni uspelo pooblastiti dostop do API-ja.</translation>
-<translation id="4624190781974168453">Vprašaj ob zagonu</translation>
 <translation id="4625078469366263107">Omogoči aplikacijo</translation>
 <translation id="4627427111733173920">Piškotki so blokirani</translation>
 <translation id="4627442949885028695">Nadaljevanje iz druge naprave</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Najnovejša različica razširitve »<ph name="EXTENSION_NAME" />« je bila onemogočena, ker zahteva več dovoljenj.</translation>
 <translation id="5185500136143151980">Ni internetne povezave</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Meni z možnostmi za profil <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Omogoči vrata</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> želi prenesti več datotek</translation>
 <translation id="5192062846343383368">Če si želite ogledati nastavitve nadzora, odprite aplikacijo Family Link</translation>
@@ -3779,6 +3773,7 @@
 <translation id="5642508497713047">Podpisnik seznama ukinjenih potrdil</translation>
 <translation id="5643321261065707929">Omrežje z omejenim prenosom podatkov</translation>
 <translation id="5643620609347735571">Počisti in nadaljuj</translation>
+<translation id="5646376287012673985">Lokacija</translation>
 <translation id="5646558797914161501">Poslovnež</translation>
 <translation id="5648166631817621825">Zadnjih 7 dni</translation>
 <translation id="5649053991847567735">Samodejni prenosi</translation>
@@ -4014,7 +4009,7 @@
 <translation id="5939518447894949180">Ponastavi</translation>
 <translation id="5941153596444580863">Dodaj osebo ...</translation>
 <translation id="5941343993301164315">Prijavite se v <ph name="TOKEN_NAME" />.</translation>
-<translation id="5941711191222866238">Pomanjšaj</translation>
+<translation id="5941711191222866238">Minimiziraj</translation>
 <translation id="5942964813783878922">Naprava <ph name="DEVICE_TYPE" /> se bo po tej posodobitvi znova zagnala. Prihodnje posodobitve programske opreme in varnostne posodobitve bodo nameščene samodejno.</translation>
 <translation id="5944869793365969636">Branje kode QR</translation>
 <translation id="5946591249682680882">ID poročila: <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4485,7 +4480,6 @@
 <translation id="6531282281159901044">Obdrži nevarno datoteko</translation>
 <translation id="6532101170117367231">Shrani v Google Drive</translation>
 <translation id="6532106788206463496">Shrani spremembe</translation>
-<translation id="6532113437901537254">Gesla v računu Google bodo na voljo tudi v tej napravi, ko ste prijavljeni.</translation>
 <translation id="6532206849875187177">Varnost in prijava</translation>
 <translation id="6532527800157340614">Prijava ni uspela, ker ni bilo mogoče pridobiti žetona za dostop. Preverite omrežno povezavo in poskusite znova.</translation>
 <translation id="6532663472409656417">Včlanjeno v poslovnem okolju</translation>
@@ -4617,7 +4611,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> in še en zavihek}one{<ph name="PAGE_TITLE" /> in še # zavihek}two{<ph name="PAGE_TITLE" /> in še # zavihka}few{<ph name="PAGE_TITLE" /> in še # zavihki}other{<ph name="PAGE_TITLE" /> in še # zavihkov}}</translation>
 <translation id="6709133671862442373">Novice</translation>
 <translation id="6709357832553498500">Povezava z uporabo razširitve <ph name="EXTENSIONNAME" /></translation>
-<translation id="6710213216561001401">Nazaj</translation>
+<translation id="6710213216561001401">Prejšnji</translation>
 <translation id="6715803357256707211">Med namestitvijo aplikacije za Linux je prišlo do napake. Za podrobnosti kliknite obvestilo.</translation>
 <translation id="671619610707606484">S tem boste izbrisali <ph name="TOTAL_USAGE" /> podatkov, ki so jih shranila spletna mesta.</translation>
 <translation id="671928215901716392">Zakleni zaslon</translation>
@@ -5015,9 +5009,6 @@
 <translation id="7201118060536064622">Element »<ph name="DELETED_ITEM_NAME" />« je izbrisan</translation>
 <translation id="7201420661433230412">Prikaz datotek</translation>
 <translation id="7203150201908454328">Razširjeno</translation>
-<translation id="7203826966018112936">Če profilu dodate šolski račun, omogočite preprosto prijavo kot učenca na spletnih mestih in v razširitvah, medtem ko račun še vedno deluje pod starševskim nadzorom. Otroku ne omogoča dostopa do zaznamkov, gesel ali drugih podatkov brskalnika, sinhroniziranih s šolskim računom.&lt;br&gt;&lt;br&gt;
-    Če otrok uporablja Chromebook v šoli in želite poustvariti šolsko izkušnjo doma ter s tem zagotoviti, da bo imel otrok dostop do vseh potrebnih šolskih gradiv, se odjavite iz tega računa za Family Link in se na strani z računi za Chrome OS prijavite v šolski račun (opomba: starševski nadzor Family Linka se ne bo uporabil).&lt;br&gt;&lt;br&gt;
-    Če otrok ne uporablja Chromebooka v šoli ali če želite otrokovo izkušnjo doma upravljati s Family Linkom, spodaj kliknite gumb »Naprej«, če želite temu profilu dodati šolski račun.</translation>
 <translation id="7206693748120342859">Prenos vtičnika <ph name="PLUGIN_NAME" /> ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Zapri stran}one{Zapri strani}two{Zapri strani}few{Zapri strani}other{Zapri strani}}</translation>
 <translation id="7207457272187520234">Pošiljanje podatkov o uporabi in diagnostičnih podatkov. Ta naprava trenutno Googlu samodejno pošilja diagnostične podatke ter podatke o uporabi naprave in aplikacij. Te podatke uporabljamo za izboljšanje stabilnosti sistema in izvajanja aplikacij ter drugega. Nekateri združeni podatki bodo pomagali tudi Googlovim aplikacijam in partnerjem, na primer razvijalcem za Android. To nastavitev je uveljavil lastnik naprave. Če ste vklopili dodatno beleženje dejavnosti v spletu in aplikacijah, bodo ti podatki morda shranjeni v vašem računu Google.</translation>
@@ -5160,7 +5151,6 @@
 <translation id="7388044238629873883">Skoraj ste že končali.</translation>
 <translation id="7392118418926456391">Protivirusni pregled ni uspel</translation>
 <translation id="7392915005464253525">&amp;Znova odpri zaprto okno</translation>
-<translation id="7393472013449507620">Nastavitve z nadomestnimi znaki »*« niso več podprte. Obrnite se na razvijalca razširitev ali skrbnika, če želite <ph name="BEGIN_LINK" />spremeniti te nastavitve<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Deljene mape bodo prikazane tukaj</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> se bo zagnal ob zagonu sistema in se izvajal v ozadju, tudi ko zaprete vsa druga okna programa <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Prilagajanje sinhronizacije</translation>
@@ -5273,6 +5263,7 @@
 <translation id="7526989658317409655">Nadomestni znak</translation>
 <translation id="7529411698175791732">Preverite internetno povezavo. Če težave ne odpravite, se poskusite odjaviti in znova prijaviti.</translation>
 <translation id="7530016656428373557">Hitrost praznjenja v vatih</translation>
+<translation id="7531310913436731628">Lokacija je izklopljena v nastavitvah sistema macOS</translation>
 <translation id="7531779363494549572">Odprite »Nastavitve &gt; Aplikacije in obvestila &gt; Obvestila«.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> se ne odziva. Če želite zapreti aplikacijo, izberite »Vsili zapiranje«.</translation>
 <translation id="7537451260744431038">Spletna mesta ne smejo uporabljati piškotkov za izboljšanje izkušnje brskanja, in sicer tako, da bi na primer poskrbeli, da bi ostali prijavljeni, ali bi si zapomnili izdelke v nakupovalnem vozičku.</translation>
@@ -6053,7 +6044,6 @@
 <translation id="8470513973197838199">Shranjena gesla za <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">podprto s strojno opremo</translation>
 <translation id="8473863474539038330">Naslovi in drugo</translation>
-<translation id="8474733733775441349">Prikaz gesel iz računa Google</translation>
 <translation id="8475313423285172237">Drug program v računalniku je dodal razširitev, ki lahko spremeni način delovanja Chroma.</translation>
 <translation id="8477241577829954800">Zamenjano</translation>
 <translation id="8477384620836102176">&amp;Splošno</translation>
diff --git a/chrome/app/resources/generated_resources_sq.xtb b/chrome/app/resources/generated_resources_sq.xtb
index 32b659fe..583a26e 100644
--- a/chrome/app/resources/generated_resources_sq.xtb
+++ b/chrome/app/resources/generated_resources_sq.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Vetëm shifrues</translation>
 <translation id="1038462104119736705">Për Linux rekomandohet të paktën <ph name="INSTALL_SIZE" /> hapësirë. Për të rritur nivelin e hapësirës së lirë, fshi skedarë nga pajisja jote.</translation>
 <translation id="1039337018183941703">Skedar i pavlefshëm ose i dëmtuar</translation>
-<translation id="104086161873270383">Profil i ri</translation>
 <translation id="1041175011127912238">Kjo faqe nuk përgjigjet</translation>
 <translation id="1041263367839475438">Pajisjet që ofrohen</translation>
 <translation id="1042174272890264476">Kompjuteri yt vjen po ashtu me bibliotekën RLZ të <ph name="SHORT_PRODUCT_NAME" /> të integruar. Parametri RLZ cakton një etiketë jo unike, jo personalisht të identifikueshme për të matur kërkimet dhe përdorimin e <ph name="SHORT_PRODUCT_NAME" /> të nxitur nga një fushatë promocionale të veçantë. Këto etiketa ndonjëherë shfaqen në pyetjet e "Kërko me Google" në <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Butoni i kthimit për nënfaqen "<ph name="SUBPAGE_TITLE" />"</translation>
 <translation id="1322046419516468189">Shfaq dhe administro fjalëkalimet e ruajtura në <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Mbron "Llogaritë personale të Google" të të gjithëve nga rreziku i sulmeve të personalizuara</translation>
-<translation id="1325985428688410772">Shto hapësirë</translation>
 <translation id="1326317727527857210">Për të marrë skedat e tua nga pajisjet e tua të tjera, identifikohu në Chrome.</translation>
 <translation id="1327074568633507428">Printeri në "Printo nëpërmjet resë kompjuterike të Google"</translation>
 <translation id="1327272175893960498">Biletat e Kerberos</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">Kontrolli i fjalëkalimit nuk ofrohet në Chromium</translation>
 <translation id="1871534214638631766">Shfaq informacionet e lidhura kur klikon me butonin djathtas ose shtyp gjatë mbi përmbajtje</translation>
 <translation id="1871615898038944731">Pajisja jote <ph name="DEVICE_TYPE" /> është e përditësuar</translation>
-<translation id="1874835396235780806">Të ruhet ky fjalëkalim dhe fjalëkalime të tjera në "Llogarinë tënde të Google"?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Zhvendose skedën në një dritare të re}other{Zhvendosi skedat në një dritare të re}}</translation>
 <translation id="1875386316419689002">Kjo skedë është e lidhur me një pajisje HID.</translation>
 <translation id="1875387611427697908">Kjo mund të shtohet vetëm nga <ph name="CHROME_WEB_STORE" /></translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420">Rrjeti <ph name="NETWORK_INDEX" /> nga <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, lidhu</translation>
 <translation id="1884705339276589024">Ndrysho madhësinë e diskut të Linux</translation>
 <translation id="1885106732301550621">Hapësira e diskut</translation>
-<translation id="1885190042244431215">Shtimi i një llogarie të shkollës bën të mundur identifikimin me lehtësi si student në sajte uebi dhe shtesa ndërkohë që vepron përsëri në kuadër të kontrolleve prindërore.</translation>
 <translation id="1886996562706621347">Lejo faqet të pyesin dhe të bëhen përpunues të parazgjedhur për protokollet (rekomandohet)</translation>
 <translation id="1887442540531652736">Gabim në identifikim</translation>
 <translation id="1887597546629269384">Thuaj përsëri "Hej Google"</translation>
@@ -2197,7 +2193,6 @@
 <translation id="3654045516529121250">Lexo cilësimet e qasjes</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Ka qasje të përhershme te një skedar.}other{Ka qasje të përhershme te # skedarë.}}</translation>
 <translation id="3660234220361471169">Jo e besuar</translation>
-<translation id="3661172646479098821">Aktualisht mbështeten vetëm pajisjet Android.</translation>
 <translation id="3664511988987167893">Ikona e shtesës</translation>
 <translation id="3665589677786828986">Chrome zbuloi se disa prej cilësimeve të tua ishin të dëmtuara nga një program tjetër dhe i rivendosi ato në vlerat fillestare.</translation>
 <translation id="3668801437375206837">Për të diagnostikuar më mirë problemet e Bluetooth-it, përdoruesit e Google mund të përfshijnë evidenca shtesë të Bluetooth-it me raportet e tyre të komenteve. Kur është i zgjedhur ky opsion, raporti yt do të përfshijë evidencat për btsnoop dhe HCI nga sesioni yt aktual, të pastruara për të hequr sa më shumë informacione personalisht të identifikueshme (PII). Qasja te këto evidenca do të jetë e kufizuar për menaxherët e grupit të produkteve të Chrome OS në Listnr. Evidencat do të hiqen pas 90 ditësh.</translation>
@@ -2769,6 +2764,7 @@
 <translation id="4370975561335139969">Mail-i dhe fjalëkalimi që ke futur nuk përputhen</translation>
 <translation id="4374831787438678295">Instaluesi për Linux</translation>
 <translation id="4375035964737468845">Hap skedarët e shkarkuar</translation>
+<translation id="4376226992615520204">Vendndodhja është çaktivizuar</translation>
 <translation id="4377363674125277448">Pati një problem me certifikatën e serverit.</translation>
 <translation id="4378154925671717803">Telefoni</translation>
 <translation id="4378373042927530923">Nuk u ekzekutua</translation>
@@ -2968,7 +2964,6 @@
 <translation id="4619615317237390068">Skedat nga pajisjet e tjera</translation>
 <translation id="4620809267248568679">Ky cilësim është detyruar nga një shtesë.</translation>
 <translation id="4623189117674524348">Sistemi nuk arriti të autorizonte qasjen e API-së për këtë pajisje.</translation>
-<translation id="4624190781974168453">Pyet në momentin e nisjes</translation>
 <translation id="4625078469366263107">Aktivizo aplikacionin</translation>
 <translation id="4627427111733173920">Kukit u bllokuan</translation>
 <translation id="4627442949885028695">Vazhdo nga një pajisje tjetër</translation>
@@ -3398,7 +3393,6 @@
 <translation id="5185386675596372454">Versioni më i ri i "<ph name="EXTENSION_NAME" />" është çaktivizuar, sepse kërkon më shumë leje.</translation>
 <translation id="5185500136143151980">Nuk ka internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menyja e opsioneve për <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktivizo portën</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> dëshiron të shkarkojë disa skedarë</translation>
 <translation id="5192062846343383368">Hap aplikacionin Family Link për të shikuar cilësimet e mbikëqyrjes</translation>
@@ -3774,6 +3768,7 @@
 <translation id="5642508497713047">Nënshkrues CRL</translation>
 <translation id="5643321261065707929">Rrjet me matje</translation>
 <translation id="5643620609347735571">Pastro dhe vazhdo</translation>
+<translation id="5646376287012673985">Vendndodhja</translation>
 <translation id="5646558797914161501">Biznesmen</translation>
 <translation id="5648166631817621825">7 ditët e fundit</translation>
 <translation id="5649053991847567735">Shkarkimet automatike</translation>
@@ -4480,7 +4475,6 @@
 <translation id="6531282281159901044">Mbaje skedarin e rrezikshëm</translation>
 <translation id="6532101170117367231">Ruaj në "Diskun e Google"</translation>
 <translation id="6532106788206463496">Ruaj ndryshimet</translation>
-<translation id="6532113437901537254">Fjalëkalimet e tua nga "Llogaria jote e Google" do të jenë të disponueshme gjithashtu në pajisjen tënde ndërsa je i identifikuar</translation>
 <translation id="6532206849875187177">Siguria dhe identifikimi</translation>
 <translation id="6532527800157340614">Identifikimi dështoi sepse kodi i qasjes nuk mund të merrej. Kontrollo lidhjen e rrjetit dhe provo përsëri.</translation>
 <translation id="6532663472409656417">E regjistruar për ndërmarrjen</translation>
@@ -5010,9 +5004,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" u fshi</translation>
 <translation id="7201420661433230412">Shiko skedarët</translation>
 <translation id="7203150201908454328">I zgjeruar</translation>
-<translation id="7203826966018112936">Shtimi i një llogarie të shkollës te një profil bën të mundur identifikimin me lehtësi si student në sajte uebi dhe shtesa ndërkohë që vepron në kuadër të kontrolleve prindërore. Kjo nuk i jep një fëmije qasje te faqeshënuesit, fjalëkalimet ose të dhëna të tjera të shfletuesit të sinkronizuara me llogarinë e shkollës.&lt;br&gt;&lt;br&gt;
-    Nëse fëmija yt përdor një Chromebook në shkollë dhe dëshiron ta pasqyrosh përvojën e shkollës në shtëpi për të siguruar që fëmija të ketë qasje te të gjitha detyrat e nevojshme të shkollës, dil nga kjo llogari e Family Link dhe identifikohu në llogarinë e shkollës nga faqja e llogarive të Chrome OS. (Shënim. Nuk do të zbatohen kontrollet prindërore të Family Link.)&lt;br&gt;&lt;br&gt;
-    Nëse fëmija yt nuk përdor një Chromebook në shkollë ose nëse preferon ta menaxhosh përvojën e fëmijës tënd në shtëpi duke përdorur Family Link, kliko te butoni "Para" më poshtë për të shtuar një llogari të shkollës te ky profil.</translation>
 <translation id="7206693748120342859">Po shkarkon <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Dil nga faqja}other{Dil nga faqet}}</translation>
 <translation id="7207457272187520234">Dërgo të dhënat e përdorimit dhe të diagnostikimit. Aktualisht kjo pajisje po dërgon automatikisht te Google të dhënat e diagnostikimit dhe të përdorimit të pajisjes dhe të aplikacioneve. Këto do të ndihmojnë për qëndrueshmërinë e sistemit dhe të aplikacioneve dhe për përmirësime të tjera. Disa të dhëna të përmbledhura do të ndihmojnë po ashtu aplikacionet dhe partnerët e Google, si p.sh. zhvilluesit e Android. Ky cilësim zbatohet nga zotëruesi. Nëse cilësimi i "Aktivitetit shtesë të uebit dhe të aplikacioneve" është i aktivizuar, këto të dhëna mund të ruhen në "Llogarinë tënde të Google".</translation>
@@ -5155,7 +5146,6 @@
 <translation id="7388044238629873883">Pothuajse mbarove!</translation>
 <translation id="7392118418926456391">Skanimi për viruse dështoi</translation>
 <translation id="7392915005464253525">H&amp;ape sërish dritaren e mbyllur</translation>
-<translation id="7393472013449507620">Cilësimet me simbolet e ndryshoreve "*" nuk mbështeten më. Kontakto me zhvilluesin e shtesës ose me administratorin tënd <ph name="BEGIN_LINK" />për t'i ndryshuar këto cilësime<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Dosjet e ndara do të shfaqen këtu</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> do të nisë pas fillimit të sistemit dhe do të vazhdojë të funksionojë në sfond edhe nëse i mbyll të gjitha dritaret e tjera <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Personalizo sinkronizimin</translation>
@@ -5268,6 +5258,7 @@
 <translation id="7526989658317409655">Vendmbajtësi</translation>
 <translation id="7529411698175791732">Kontrollo lidhjen e internetit. Nëse problemi vazhdon, provo të dalësh dhe të identifikohesh përsëri.</translation>
 <translation id="7530016656428373557">Norma e shkarkimit në vat</translation>
+<translation id="7531310913436731628">Vendndodhja është çaktivizuar te Mac System Preferences</translation>
 <translation id="7531779363494549572">Shko te Cilësimet &gt; Aplikacionet dhe njoftimet &gt; Njoftimet.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> nuk po përgjigjet. Zgjidh "Ndalo me forcë" për ta mbyllur aplikacionin.</translation>
 <translation id="7537451260744431038">Sajtet nuk mund t'i përdorin kukit për të përmirësuar përvojën e shfletimit, për shembull për të të mbajtur të identifikuar ose për të kujtuar artikujt në karrocën e blerjeve</translation>
@@ -6046,7 +6037,6 @@
 <translation id="8470513973197838199">Fjalëkalimet e ruajtura për <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">të mbështetur nga hardueri</translation>
 <translation id="8473863474539038330">Adresat dhe të tjera</translation>
-<translation id="8474733733775441349">Shfaq fjalëkalimet nga "Llogaria jote e Google"</translation>
 <translation id="8475313423285172237">Një program tjetër në kompjuterin tënd shtoi një shtesë që mund të ndryshojë mënyrën e funksionimit të Chrome.</translation>
 <translation id="8477241577829954800">E zëvendësuar</translation>
 <translation id="8477384620836102176">&amp;Të përgjithshme</translation>
diff --git a/chrome/app/resources/generated_resources_sr-Latn.xtb b/chrome/app/resources/generated_resources_sr-Latn.xtb
index 049953c..bb7ca72 100644
--- a/chrome/app/resources/generated_resources_sr-Latn.xtb
+++ b/chrome/app/resources/generated_resources_sr-Latn.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Samo šifruj</translation>
 <translation id="1038462104119736705">Za Linux se preporučuje najmanje <ph name="INSTALL_SIZE" /> prostora. Da biste oslobodili prostor, izbrišite datoteke sa uređaja.</translation>
 <translation id="1039337018183941703">Nevažeća ili oštećena datoteka</translation>
-<translation id="104086161873270383">Novi profil</translation>
 <translation id="1041175011127912238">Ova stranica ne reaguje</translation>
 <translation id="1041263367839475438">Dostupni uređaji</translation>
 <translation id="1042174272890264476">Uz računar takođe dobijate ugrađenu RLZ biblioteku proizvoda <ph name="SHORT_PRODUCT_NAME" />. RLZ dodeljuje nejedinstvenu oznaku pomoću koje vas nije moguće lično identifikovati da bi izmerio pretrage i korišćenje proizvoda <ph name="SHORT_PRODUCT_NAME" /> koji su podstaknuti određenom promotivnom kampanjom. Te oznake se ponekad prikazuju u upitima Google pretrage u proizvodu <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Dodatak „<ph name="NAME" />“ primenjuje ovo podešavanje.</translation>
 <translation id="1118738876271697201">Sistem nije uspeo da odredi model uređaja ili serijski broj.</translation>
 <translation id="1119447706177454957">Interna greška</translation>
+<translation id="1122068467107743258">Posao</translation>
 <translation id="1122198203221319518">&amp;Alatke</translation>
 <translation id="1122242684574577509">Potvrda autentičnosti nije uspela. Kliknite da biste posetili stranicu za prijavljivanje za Wi-Fi mrežu koju koristite (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Naziv obeleživača</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Upravljajte aplikacijama</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – deo grupe <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Otvori u prozoru bez arhiviranja</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" />. od <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Bezbednosni ključ je zaključan jer ste previše puta uneli pogrešan PIN. Da biste ga otključali, uklonite ga, pa ga ponovo umetnite.</translation>
 <translation id="1137673463384776352">Otvori link u <ph name="APP" /></translation>
 <translation id="1139343347646843679">Došlo je do greške pri konfigurisanju Linux-a. Obratite se administratoru.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Dugme Nazad za podstranicu <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Pregledajte sačuvane lozinke i upravljajte njima sa <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Predostrožno štiti lične Google naloge svih korisnika ugroženih ciljanim napadima</translation>
-<translation id="1325985428688410772">Dodaj prostor</translation>
 <translation id="1326317727527857210">Da bi vam kartice bile dostupne na drugim uređajima, prijavite se u Chrome.</translation>
 <translation id="1327074568633507428">Štampač u Google Cloud štampanju</translation>
 <translation id="1327272175893960498">Kerberos tiketi</translation>
@@ -485,6 +485,7 @@
 <translation id="1572876035008611720">Unesite imejl</translation>
 <translation id="1576594961618857597">Podrazumevani beli avatar</translation>
 <translation id="1578558981922970608">Prinudno zatvori</translation>
+<translation id="1578784163189013834">Odaberite pozadinu čuvara ekrana</translation>
 <translation id="1580772913177567930">Obratite se administratoru</translation>
 <translation id="1581962803218266616">Prikaži u Finder-u</translation>
 <translation id="1582955169539260415">izbrišite [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -747,7 +748,6 @@
 <translation id="1868553836791672080">Provera lozinke nije dostupna u Chromium-u</translation>
 <translation id="1871534214638631766">Prikažite povezane informacije kada kliknete desnim tasterom na sadržaj ili ga dugo pritisnete</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> je ažuriran</translation>
-<translation id="1874835396235780806">Želite da sačuvate ovu i druge lozinke na Google nalogu?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Premesti karticu u drugi prozor}one{Premesti kartice u drugi prozor}few{Premesti kartice u drugi prozor}other{Premesti kartice u drugi prozor}}</translation>
 <translation id="1875386316419689002">Ova kartica je povezana sa HID uređajem.</translation>
 <translation id="1875387611427697908">Ovo može da se doda samo iz usluge <ph name="CHROME_WEB_STORE" /></translation>
@@ -760,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" />. mreža od <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, poveži</translation>
 <translation id="1884705339276589024">Promenite veličinu Linux diska</translation>
 <translation id="1885106732301550621">Prostor na disku</translation>
-<translation id="1885190042244431215">Dodavanje školskog naloga omogućava da se dete lako prijavljuje na veb-sajtove i u dodatke kao učenik, a da i dalje radi pod roditeljskim nadzorom.</translation>
 <translation id="1886996562706621347">Dozvoli sajtovima da zahtevaju da postanu podrazumevani obrađivači za protokole (preporučeno)</translation>
 <translation id="1887442540531652736">Greška pri prijavljivanju</translation>
 <translation id="1887597546629269384">Recite „Hej Google“ ponovo</translation>
@@ -1128,6 +1127,7 @@
 <translation id="2347644257713614136">Korišćenje usluga Hangouts i Cast for Education je regulisano Google politikom privatnosti.</translation>
 <translation id="2348176352564285430">Aplikacija: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Greška pri učitavanju podataka</translation>
+<translation id="2349610121459545414">Nastavi da dozvoljavaš ovom sajtu da pristupa lokaciji</translation>
 <translation id="2349896577940037438">Ako uključite podešavanje dodatne aktivnosti na vebu i u aplikacijama, ti podaci će se možda čuvati na Google nalogu. Podatke možete da pregledate, izbrišete i promenite na account.google.com.</translation>
 <translation id="2350133097354918058">Učitano ponovo</translation>
 <translation id="2350182423316644347">Pokretanje aplikacije...</translation>
@@ -1229,6 +1229,7 @@
 <translation id="247051149076336810">URL za deljenje datoteka</translation>
 <translation id="2470702053775288986">Nepodržani dodaci su onemogućeni</translation>
 <translation id="2471469610750100598">Crna (podrazumevano)</translation>
+<translation id="2471506181342525583">Dozvoljen je pristup lokaciji</translation>
 <translation id="2473195200299095979">Prevedite ovu stranicu</translation>
 <translation id="2475982808118771221">Došlo je do greške</translation>
 <translation id="2476578072172137802">Podešavanja sajta</translation>
@@ -1240,6 +1241,7 @@
 <translation id="2482878487686419369">Obaveštenja</translation>
 <translation id="2484959914739448251">Da biste obrisali podatke pregledanja sa svih sinhronizovanih uređaja i sa Google naloga, <ph name="BEGIN_LINK" />unesite pristupnu frazu<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Lozinka je sačuvana na ovom uređaju</translation>
+<translation id="2485394160472549611">Najbolji izbor za vas</translation>
 <translation id="2485422356828889247">Deinstaliraj</translation>
 <translation id="2487067538648443797">Dodaj novi obeleživač</translation>
 <translation id="2487268545026948104">Da biste vratili podatke, povežite se na internet</translation>
@@ -1621,6 +1623,7 @@
 <translation id="2932483646085333864">Odjavite se, pa se ponovo prijavite da biste započeli sinhronizaciju</translation>
 <translation id="2932883381142163287">Prijavi zloupotrebu</translation>
 <translation id="2933632078076743449">Poslednje ažuriranje</translation>
+<translation id="2934999512438267372">Potpuna kontrola nad MIDI uređajima je dozvoljena</translation>
 <translation id="2936851848721175671">Pravljenje rezervne kopije i vraćanje</translation>
 <translation id="2938225289965773019">otvori linkove za <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">Pregledajte i izbrišite podatke za prijavljivanje sačuvane na bezbednosnom ključu</translation>
@@ -1736,6 +1739,7 @@
 <translation id="3083193146044397360">Privremeno blokirano radi zaštite privatnosti</translation>
 <translation id="3084548735795614657">Otpustite za instalaciju</translation>
 <translation id="3084771660770137092">Chrome pregledaču je ponestalo memorije ili je proces za veb-stranicu prekinut iz nekog drugog razloga. Da biste nastavili, ponovo učitajte stranicu ili idite na neku drugu stranicu.</translation>
+<translation id="3084958266922136097">Onemogućite čuvar ekrana</translation>
 <translation id="3085412380278336437">Sajt može da koristi kameru</translation>
 <translation id="3085752524577180175">SOCKS host</translation>
 <translation id="3088052000289932193">Sajt koristi MIDI</translation>
@@ -1932,6 +1936,7 @@
 <translation id="3345886924813989455">Nije pronađen nijedan podržani pregledač</translation>
 <translation id="3347086966102161372">K&amp;opiraj adresu slike</translation>
 <translation id="3348038390189153836">Otkriven je prenosivi uređaj</translation>
+<translation id="3348131053948466246">Emodži je predložen. Pritisnite nagore ili nadole da biste se kretali i Enter za unos.</translation>
 <translation id="3349933790966648062">Memorijski prostor u upotrebi</translation>
 <translation id="3355936511340229503">Greška pri povezivanju</translation>
 <translation id="3356580349448036450">Završeno</translation>
@@ -1967,6 +1972,7 @@
 <translation id="3402585168444815892">Registrovanje za režim demonstracije</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Nijedna lozinka nije sačuvana za ovaj sajt</translation>
+<translation id="3404249063913988450">Omogućite čuvar ekrana</translation>
 <translation id="3405664148539009465">Prilagodi fontove</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Prikaži traku sa obeleživačima</translation>
@@ -2197,7 +2203,6 @@
 <translation id="3654045516529121250">Čitanje podešavanja pristupačnosti</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Ima stalan pristup jednoj datoteci.}one{Ima stalan pristup # datoteci.}few{Ima stalan pristup za # datoteke.}other{Ima stalan pristup za # datoteka.}}</translation>
 <translation id="3660234220361471169">Nepouzdani</translation>
-<translation id="3661172646479098821">Trenutno su podržani samo Android uređaji.</translation>
 <translation id="3664511988987167893">Ikona dodatka</translation>
 <translation id="3665589677786828986">Chrome je otkrio da je drugi program oštetio neka od podešavanja i resetovao ih je na prvobitne podrazumevane vrednosti.</translation>
 <translation id="3668801437375206837">Da bi bolje dijagnostikovali probleme sa Bluetooth-om, zaposleni u Google-u mogu da uključe dodatne Bluetooth evidencije u izveštaje sa povratnim informacijama. Kad izaberete ovu opciju, izveštaj će obuhvatiti btsnoop i HCI evidencije iz aktuelne očišćene sesije iz koje je uklonjeno što više podataka koji mogu da otkriju identitet. Pristup tim evidencijama je ograničen na menadžere grupe proizvoda Chrome OS u Listnr-u. Evidencije se trajno brišu posle 90 dana.</translation>
@@ -2507,6 +2512,7 @@
 <translation id="3984159763196946143">Pokretanje režima demonstracije nije uspelo</translation>
 <translation id="3984431586879874039">Želite li da dozvolite ovom sajtu da vidi bezbednosni ključ?</translation>
 <translation id="3986705137476756801">Isključi Titl uživo za sada</translation>
+<translation id="3987544746655539083">Nastavi da blokiraš pristup lokaciji za ovaj sajt</translation>
 <translation id="3987938432087324095">Žao nam je, nismo vas čuli.</translation>
 <translation id="3988996860813292272">Izaberite vremensku zonu</translation>
 <translation id="399179161741278232">Uvezeni</translation>
@@ -2572,6 +2578,7 @@
 <translation id="4087089424473531098">Napravljen je dodatak:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Potpuna kontrola nad MIDI uređajima je odbijena</translation>
 <translation id="4088095054444612037">Prihvati za grupu</translation>
 <translation id="4089235344645910861">Podešavanja su sačuvana. Sinhronizacija je počela.</translation>
 <translation id="4090103403438682346">Omogućite verifikovani pristup</translation>
@@ -2652,6 +2659,7 @@
 <translation id="4200689466366162458">Prilagođene reči</translation>
 <translation id="4200983522494130825">Nova &amp;kartica</translation>
 <translation id="4201546031411513170">Uvek možete da odaberete šta ćete sinhronizovati u podešavanjima.</translation>
+<translation id="420283545744377356">Isključite čuvar ekrana</translation>
 <translation id="4206144641569145248">Vanzemaljac</translation>
 <translation id="4206323443866416204">Izveštaj sa povratnim informacijama</translation>
 <translation id="4208390505124702064">Pretraži <ph name="SITE_NAME" /></translation>
@@ -2750,6 +2758,7 @@
 <translation id="4348766275249686434">Prikupljaj greške</translation>
 <translation id="4349828822184870497">Korisno</translation>
 <translation id="4350019051035968019">Ovaj uređaj ne može da se registruje na domenu kome pripada vaš nalog jer je označen kao uređaj kojim upravlja drugi domen.</translation>
+<translation id="4350230709416545141">Uvek blokiraj pristup lokaciji za <ph name="HOST" /></translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> želi da traži Bluetooth uređaje u blizini. Pronađeni su sledeći uređaji:</translation>
 <translation id="4354073718307267720">Pitaj kada sajt želi da pravi 3D mapu okruženja ili da prati položaj kamere</translation>
@@ -2769,6 +2778,7 @@
 <translation id="4370975561335139969">Imejl i lozinka koje ste uneli se ne podudaraju</translation>
 <translation id="4374831787438678295">Linux program za instalaciju</translation>
 <translation id="4375035964737468845">Otvaranje preuzetih datoteka</translation>
+<translation id="4376226992615520204">Lokacija je isključena</translation>
 <translation id="4377363674125277448">Došlo je do problema sa sertifikatom servera.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Nije pokrenuto</translation>
@@ -2968,7 +2978,6 @@
 <translation id="4619615317237390068">Kartice sa drugih uređaja</translation>
 <translation id="4620809267248568679">Dodatak primenjuje ovo podešavanje.</translation>
 <translation id="4623189117674524348">Sistem nije uspeo da odobri pristup API-ju za ovaj uređaj.</translation>
-<translation id="4624190781974168453">Zatraži pri pokretanju</translation>
 <translation id="4625078469366263107">Omogući aplikaciju</translation>
 <translation id="4627427111733173920">Kolačići su blokirani</translation>
 <translation id="4627442949885028695">Nastavite na drugom uređaju</translation>
@@ -3398,7 +3407,6 @@
 <translation id="5185386675596372454">Najnovija verzija dodatka „<ph name="EXTENSION_NAME" />“ je onemogućena jer zahteva još dozvola.</translation>
 <translation id="5185500136143151980">Nema interneta</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Meni sa opcijama za <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktiviraj port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> želi da preuzme više datoteka</translation>
 <translation id="5192062846343383368">Otvorite aplikaciju Family Link da biste videli podešavanja nadzora</translation>
@@ -3591,6 +3599,7 @@
 <translation id="5431825016875453137">Otvoreni VPN/L2TP</translation>
 <translation id="543338862236136125">Izmenite lozinku</translation>
 <translation id="5434065355175441495">PKCS #1 RSA šifrovanje</translation>
+<translation id="5435779377906857208">Uvek dozvoli da <ph name="HOST" /> pristupa mikrofonu</translation>
 <translation id="5436492226391861498">Čekanje na proksi tunel...</translation>
 <translation id="5436510242972373446">Pretraži sajt <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Sačuvajte datoteke i otvorite novi nalog odmah.</translation>
@@ -3775,6 +3784,7 @@
 <translation id="5642508497713047">CRL potpisnik</translation>
 <translation id="5643321261065707929">Mreža sa ograničenjem</translation>
 <translation id="5643620609347735571">Obriši i nastavi</translation>
+<translation id="5646376287012673985">Lokacija</translation>
 <translation id="5646558797914161501">Biznismen</translation>
 <translation id="5648166631817621825">Poslednjih 7 dana</translation>
 <translation id="5649053991847567735">Automatska preuzimanja</translation>
@@ -3818,6 +3828,7 @@
 <translation id="5701212929149679556">Roming na mobilnoj mreži</translation>
 <translation id="5701381305118179107">Centriraj</translation>
 <translation id="5701441174893770082">Nadogradnjom Linux-a možete značajno da ispraznite bateriju. Povežite uređaj sa punjačem i probajte ponovo.</translation>
+<translation id="5702749864074810610">Predlog je odbačen</translation>
 <translation id="5702898740348134351">&amp;Izmeni pretraživače...</translation>
 <translation id="5704875434923668958">Sinhronizuje se sa</translation>
 <translation id="5705005699929844214">Uvek prikazuj opcije pristupačnosti</translation>
@@ -3938,6 +3949,7 @@
 <translation id="5857090052475505287">Novi direktorijum</translation>
 <translation id="5857171483910641802">Prečice se predlažu na osnovu veb-sajtova koje često posećujete</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Album likovne galerije</translation>
 <translation id="585979798156957858">Spoljni meta taster</translation>
 <translation id="5860033963881614850">Isključeno</translation>
 <translation id="5860491529813859533">Uključi</translation>
@@ -4010,7 +4022,7 @@
 <translation id="5939518447894949180">Resetuj</translation>
 <translation id="5941153596444580863">Dodaj osobu...</translation>
 <translation id="5941343993301164315">Prijavite se na <ph name="TOKEN_NAME" />.</translation>
-<translation id="5941711191222866238">Smanji</translation>
+<translation id="5941711191222866238">Umanji</translation>
 <translation id="5942964813783878922"><ph name="DEVICE_TYPE" /> će se restartovati posle ovog ažuriranja. Buduća softverska i bezbednosna ažuriranja će se instalirati automatski.</translation>
 <translation id="5944869793365969636">Skenirajte QR kôd</translation>
 <translation id="5946591249682680882">ID izveštaja <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4323,6 +4335,7 @@
 <translation id="6318125393809743217">Uvrsti datoteku policies.json uz konfiguracije smernica.</translation>
 <translation id="6318407754858604988">Preuzimanje je započeto</translation>
 <translation id="6318944945640833942">Štampač nije otkriven. Ponovo unesite adresu štampača.</translation>
+<translation id="6321407676395378991">Uključite čuvar ekrana</translation>
 <translation id="6322653941595359182">Šaljite i primajte SMS-ove pomoću Chromebook-a</translation>
 <translation id="6324916366299863871">Izmeni prečicu</translation>
 <translation id="6325191661371220117">Onemogući automatsko pokretanje</translation>
@@ -4481,7 +4494,6 @@
 <translation id="6531282281159901044">Zadrži opasnu datoteku</translation>
 <translation id="6532101170117367231">Čuvanje na Google disku</translation>
 <translation id="6532106788206463496">Sačuvaj promene</translation>
-<translation id="6532113437901537254">Lozinke sa Google naloga biće dostupne i na ovom uređaju dok ste prijavljeni</translation>
 <translation id="6532206849875187177">Bezbednost i prijavljivanje</translation>
 <translation id="6532527800157340614">Prijavljivanje nije uspelo jer nije preuzeta oznaka pristupa. Proverite mrežnu vezu i probajte ponovo.</translation>
 <translation id="6532663472409656417">Registrovano za preduzeće</translation>
@@ -4503,6 +4515,7 @@
 <translation id="6555432686520421228">Uklonite sve korisničke naloge i restartujte <ph name="IDS_SHORT_PRODUCT_NAME" /> uređaj da bi bio kao nov.</translation>
 <translation id="6555810572223193255">Čišćenje je trenutno nedostupno</translation>
 <translation id="6556866813142980365">Ponovi</translation>
+<translation id="6556903358015358733">Tema i pozadina</translation>
 <translation id="6557290421156335491">Moje prečice</translation>
 <translation id="6561560012278703671">Koristite nenametljivu razmenu poruka (sprečava upite sa obaveštenjima da vas ometaju)</translation>
 <translation id="6561726789132298588">enter</translation>
@@ -4526,6 +4539,7 @@
 <translation id="6590458744723262880">Promenite naziv direktorijuma</translation>
 <translation id="6592267180249644460">WebRTC evidencija je snimljena <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Otisak prsta je snimljen</translation>
+<translation id="6595187330192059106">Uvek blokiraj potpunu kontrolu nad MIDI uređajima za <ph name="HOST" />.</translation>
 <translation id="6596325263575161958">Opcije šifrovanja</translation>
 <translation id="6596816719288285829">IP adresa</translation>
 <translation id="6597017209724497268">Uzorci</translation>
@@ -5011,9 +5025,6 @@
 <translation id="7201118060536064622">Stavka „<ph name="DELETED_ITEM_NAME" />“ je izbrisana</translation>
 <translation id="7201420661433230412">Prikaži datoteke</translation>
 <translation id="7203150201908454328">Prošireno</translation>
-<translation id="7203826966018112936">Dodavanje školskog naloga na profil omogućava da se dete lako prijavljuje na veb-sajtove i u dodatke kao učenik, a da i dalje radi pod roditeljskim nadzorom. Time se detetu ne daje pristup obeleživačima, lozinkama ili drugim podacima pregledača koji se sinhronizuju sa školskim nalogom.&lt;br&gt;&lt;br&gt;
-    Ako dete koristi Chromebook u školi i želite da preslikate taj doživljaj kod kuće kako biste osigurali da ono ima pristup svim neophodnim školskim zadacima, odjavite se sa ovog Family Link naloga i prijavite se na školski nalog sa stranice Chrome OS naloga (napomena: Family Link roditeljski nadzor se neće primenjivati).&lt;br&gt;&lt;br&gt;
-    Ako dete ne koristi Chromebook u školi ili biste radije da upravljate detetovim doživljajem kod kuće koristeći Family Link, kliknite na dugme Dalje u nastavku da biste dodali školski nalog ovom profilu.</translation>
 <translation id="7206693748120342859">Preuzimanje dodatne komponente <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Zatvori stranicu}one{Zatvori stranice}few{Zatvori stranice}other{Zatvori stranice}}</translation>
 <translation id="7207457272187520234">Šaljite podatke o korišćenju i dijagnostičke podatke. Ovaj uređaj trenutno automatski šalje podatke o dijagnostici, uređaju i korišćenju aplikacija Google-u. To doprinosi održavanju stabilnosti sistema i aplikacije i drugim podešavanjima. Neki objedinjeni podaci će takođe pomoći Google aplikacijama i partnerima, poput Android programera. To podešavanje primenjuje vlasnik. Ako uključite podešavanje dodatne aktivnosti na vebu i u aplikacijama, ti podaci će se možda čuvati na Google nalogu.</translation>
@@ -5156,7 +5167,6 @@
 <translation id="7388044238629873883">Još malo pa gotovo!</translation>
 <translation id="7392118418926456391">Skeniranje virusa nije uspelo</translation>
 <translation id="7392915005464253525">P&amp;onovo otvori zatvoren prozor</translation>
-<translation id="7393472013449507620">Podešavanja sa džokerskim znakom „*“ više nisu podržana. Obratite se programeru dodatka ili administratoru da biste<ph name="BEGIN_LINK" /> promenili ova podešavanja<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Ovde se prikazuju deljeni direktorijumi</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> će se pokrenuti prilikom pokretanja sistema i nastaviti da radi u pozadini čak i kada zatvorite sve ostale <ph name="PRODUCT_NAME" /> prozore.</translation>
 <translation id="7399045143794278225">Prilagodite sinhronizaciju</translation>
@@ -5269,6 +5279,7 @@
 <translation id="7526989658317409655">Čuvar mesta</translation>
 <translation id="7529411698175791732">Proverite internet vezu. Ako se problem i dalje javlja, probajte da se odjavite i ponovo prijavite.</translation>
 <translation id="7530016656428373557">Nivo potrošnje u vatima</translation>
+<translation id="7531310913436731628">Lokacija je isključena u podešavanjima Mac sistema</translation>
 <translation id="7531779363494549572">Idite u Podešavanja &gt; Aplikacije i obaveštenja &gt; Obaveštenja.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ne reaguje. Izaberite „Prinudno zatvori“ da biste zatvorili aplikaciju.</translation>
 <translation id="7537451260744431038">Sajtovi ne mogu da koriste kolačiće za poboljšanje doživljaja pregledanja, na primer, da biste ostali prijavljeni ili da bi stavke u vašoj korpi za kupovinu ostale sačuvane</translation>
@@ -5381,6 +5392,7 @@
 <translation id="767147716926917172">Automatski šalje Google-u dijagnostiku i podatke o korišćenju</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, na stranici <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Deaktiviraj sve portove koji se prosleđuju u Linux-u</translation>
+<translation id="7674542105240814168">Odbijen je pristup lokaciji</translation>
 <translation id="7676867886086876795">Šaljite podatke o glasu Google-u da bi se omogućilo diktiranje u svim poljima za tekst.</translation>
 <translation id="7678280409648629969">Podaci o prijavljivanju se čuvaju u Chrome-u kada izađete iz režima bez arhiviranja. To će vam omogućiti da kasnije ponovo koristite Touch ID sa ovim veb-sajtom.</translation>
 <translation id="7680416688940118410">Kalibracija dodirnog ekrana</translation>
@@ -5588,6 +5600,7 @@
 <translation id="790040513076446191">Upravljanje podešavanjima u vezi sa privatnošću</translation>
 <translation id="7903345046358933331">Stranica je prestala da se odaziva. Možete da sačekate da počne da se odaziva ili da je zatvorite.</translation>
 <translation id="7903742244674067440">Imate sačuvane sertifikate koji identifikuju ove autoritete za izdavanje sertifikata</translation>
+<translation id="7903859912536385558">stabilno (pouzdani tester)</translation>
 <translation id="7903925330883316394">Pomoćni proces: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Administrator za ovaj nalog je zabranio višestruko prijavljivanje.</translation>
 <translation id="7904526211178107182">Učinite Linux portove dostupnim za druge uređaje na svojoj mreži.</translation>
@@ -5713,6 +5726,7 @@
 <translation id="8049705080247101012">Google je označio dodatak „<ph name="EXTENSION_NAME" />“ kao zlonameran i instalacija je sprečena</translation>
 <translation id="8049948037269924837">Obrnuto pomeranje tačpedom</translation>
 <translation id="8050038245906040378">Microsoft potpisivanje komercijalnih kodova</translation>
+<translation id="8051390370038326517">Uvek dozvoli potpunu kontrolu nad MIDI uređajima za <ph name="HOST" /></translation>
 <translation id="8053278772142718589">PKCS #12 datoteke</translation>
 <translation id="8053390638574070785">Ponovo učitaj ovu stranicu</translation>
 <translation id="8054517699425078995">Ovaj tip datoteke može da naškodi uređaju. Želite li da ipak zadržite datoteku <ph name="FILE_NAME" />?</translation>
@@ -5764,6 +5778,7 @@
 <translation id="810728361871746125">Rezolucija ekrana</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Nema kolačića treće strane}=1{1 kolačić treće strane je blokiran}one{# kolačić treće strane je blokiran}few{# kolačića treće strane su blokirana}other{# kolačića treće strane je blokirano}}</translation>
 <translation id="810875025413331850">Nije pronađen nijedan uređaj u blizini.</translation>
+<translation id="8113476325385351118">Nastavi da blokiraš potpunu kontrolu nad MIDI uređajima za ovaj sajt</translation>
 <translation id="8114199541033039755">Idite na početnu stranicu ili nazad i menjajte aplikacije pomoću dugmadi u režimu tableta. Uključeno je kada su ChromeVox ili Automatski klikovi omogućeni.</translation>
 <translation id="8114875720387900039">Podeli horizontalno</translation>
 <translation id="8116972784401310538">&amp;Menadžer obeleživača</translation>
@@ -6049,7 +6064,6 @@
 <translation id="8470513973197838199">Sačuvane lozinke za <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">hardverski podržan</translation>
 <translation id="8473863474539038330">Adrese i drugo</translation>
-<translation id="8474733733775441349">Pregledajte lozinke sa Google naloga</translation>
 <translation id="8475313423285172237">Drugi program na računaru je dodao dodatak koji može da promeni način na koji Chrome funkcioniše.</translation>
 <translation id="8477241577829954800">Zamenjeno</translation>
 <translation id="8477384620836102176">&amp;Opšte</translation>
@@ -6132,6 +6146,7 @@
 <translation id="8590375307970699841">Podesi automatska ažuriranja</translation>
 <translation id="8591783563402255548">1 sekunda</translation>
 <translation id="8592141010104017453">Ne prikazuj nikakva obaveštenja</translation>
+<translation id="859246725979739260">Ovom sajtu je zabranjeno da pristupa lokaciji.</translation>
 <translation id="8593121833493516339">Šaljite podatke o korišćenju i dijagnostičke podatke. Pomozite nam da poboljšamo Android doživljaj za dete tako što ćete automatski slati Google-u podatke o dijagnostici i korišćenju uređaja i aplikacija. Te informacije se neće koristiti za identifikaciju deteta i pomoći će u održavanju stabilnosti sistema i aplikacije i drugim podešavanjima. Neki objedinjeni podaci će takođe pomoći Google aplikacijama i partnerima, poput Android programera. Ako za dete uključite dodatne aktivnosti na vebu i u aplikacijama, ti podaci će se možda čuvati na Google nalogu deteta. <ph name="BEGIN_LINK1" />Saznajte više<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Snimi video</translation>
 <translation id="8596540852772265699">Prilagođene datoteke</translation>
@@ -6144,6 +6159,7 @@
 <translation id="860909219589324847">Nikada ne koristi podatke za prenos</translation>
 <translation id="8609465669617005112">Premesti nagore</translation>
 <translation id="8610103157987623234">Pogrešan format. Probajte ponovo</translation>
+<translation id="8611682088849615761">Nastavi da dozvoljavaš ovom sajtu da ima potpunu kontrolu nad MIDI uređajima</translation>
 <translation id="8613164732773110792">Samo mala slova, cifre, donje crte ili crte</translation>
 <translation id="8613786722548417558">Datoteka <ph name="FILE_NAME" /> je prevelika za bezbednosnu proveru. Možete da otvorite datoteke veličine do 50 MB.</translation>
 <translation id="8615618338313291042">Apl. u režimu bez arhiviranja: <ph name="APP_NAME" /></translation>
@@ -6286,6 +6302,7 @@
 <translation id="8761945298804995673">Ovaj korisnik već postoji</translation>
 <translation id="8762886931014513155">Treba da ažurirate <ph name="DEVICE_TYPE" /></translation>
 <translation id="8763927697961133303">USB uređaj</translation>
+<translation id="87646919272181953">Album Google slika</translation>
 <translation id="8767621466733104912">Automatski ažuriraj Chrome za sve korisnike</translation>
 <translation id="8770406935328356739">Osnovni direktorijum dodatka</translation>
 <translation id="8770507190024617908">Upravljaj ljudima</translation>
@@ -6602,6 +6619,7 @@
 <translation id="9147392381910171771">&amp;Opcije</translation>
 <translation id="9148058034647219655">Izađi</translation>
 <translation id="9148126808321036104">Prijavi me ponovo</translation>
+<translation id="9148963623915467028">Ovaj sajt može da pristupa lokaciji.</translation>
 <translation id="9149866541089851383">Izmeni...</translation>
 <translation id="9150045010208374699">Korišćenje kamere</translation>
 <translation id="9153934054460603056">Sačuvaj identitet i lozinku</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index 4b564f6..3852a38 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Само шифруј</translation>
 <translation id="1038462104119736705">За Linux се препоручује најмање <ph name="INSTALL_SIZE" /> простора. Да бисте ослободили простор, избришите датотеке са уређаја.</translation>
 <translation id="1039337018183941703">Неважећа или оштећена датотека</translation>
-<translation id="104086161873270383">Нови профил</translation>
 <translation id="1041175011127912238">Ова страница не реагује</translation>
 <translation id="1041263367839475438">Доступни уређаји</translation>
 <translation id="1042174272890264476">Уз рачунар такође добијате уграђену RLZ библиотеку производа <ph name="SHORT_PRODUCT_NAME" />. RLZ додељује нејединствену ознаку помоћу које вас није могуће лично идентификовати да би измерио претраге и коришћење производа <ph name="SHORT_PRODUCT_NAME" /> који су подстакнути одређеном промотивном кампањом. Те ознаке се понекад приказују у упитима Google претраге у производу <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Додатак „<ph name="NAME" />“ примењује ово подешавање.</translation>
 <translation id="1118738876271697201">Систем није успео да одреди модел уређаја или серијски број.</translation>
 <translation id="1119447706177454957">Интерна грешка</translation>
+<translation id="1122068467107743258">Посао</translation>
 <translation id="1122198203221319518">&amp;Алатке</translation>
 <translation id="1122242684574577509">Потврда аутентичности није успела. Кликните да бисте посетили страницу за пријављивање за Wi-Fi мрежу коју користите (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Назив обележивача</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Управљајте апликацијама</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – део групе <ph name="GROUP_NAME" /></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>
 <translation id="1137673463384776352">Отвори линк у <ph name="APP" /></translation>
 <translation id="1139343347646843679">Дошло је до грешке при конфигурисању Linux-а. Обратите се администратору.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Дугме Назад за подстраницу <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Прегледајте сачуване лозинке и управљајте њима са <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Предострожно штити личне Google налоге свих корисника угрожених циљаним нападима</translation>
-<translation id="1325985428688410772">Додај простор</translation>
 <translation id="1326317727527857210">Да би вам картице биле доступне на другим уређајима, пријавите се у Chrome.</translation>
 <translation id="1327074568633507428">Штампач у Google Cloud штампању</translation>
 <translation id="1327272175893960498">Kerberos тикети</translation>
@@ -485,6 +485,7 @@
 <translation id="1572876035008611720">Унесите имејл</translation>
 <translation id="1576594961618857597">Подразумевани бели аватар</translation>
 <translation id="1578558981922970608">Принудно затвори</translation>
+<translation id="1578784163189013834">Одаберите позадину чувара екрана</translation>
 <translation id="1580772913177567930">Обратите се администратору</translation>
 <translation id="1581962803218266616">Прикажи у Finder-у</translation>
 <translation id="1582955169539260415">избришите [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -747,7 +748,6 @@
 <translation id="1868553836791672080">Провера лозинке није доступна у Chromium-у</translation>
 <translation id="1871534214638631766">Прикажите повезане информације када кликнете десним тастером на садржај или га дуго притиснете</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> је ажуриран</translation>
-<translation id="1874835396235780806">Желите да сачувате ову и друге лозинке на Google налогу?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Премести картицу у други прозор}one{Премести картице у други прозор}few{Премести картице у други прозор}other{Премести картице у други прозор}}</translation>
 <translation id="1875386316419689002">Ова картица је повезана са HID уређајем.</translation>
 <translation id="1875387611427697908">Ово може да се дода само из услуге <ph name="CHROME_WEB_STORE" /></translation>
@@ -760,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_INDEX" />. мрежа од <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, повежи</translation>
 <translation id="1884705339276589024">Промените величину Linux диска</translation>
 <translation id="1885106732301550621">Простор на диску</translation>
-<translation id="1885190042244431215">Додавање школског налога омогућава да се дете лако пријављује на веб-сајтове и у додатке као ученик, а да и даље ради под родитељским надзором.</translation>
 <translation id="1886996562706621347">Дозволи сајтовима да захтевају да постану подразумевани обрађивачи за протоколе (препоручено)</translation>
 <translation id="1887442540531652736">Грешка при пријављивању</translation>
 <translation id="1887597546629269384">Реците „Хеј Google“ поново</translation>
@@ -1128,6 +1127,7 @@
 <translation id="2347644257713614136">Коришћење услуга Hangouts и Cast for Education је регулисано Google политиком приватности.</translation>
 <translation id="2348176352564285430">Апликација: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Грешка при учитавању података</translation>
+<translation id="2349610121459545414">Настави да дозвољаваш овом сајту да приступа локацији</translation>
 <translation id="2349896577940037438">Ако укључите подешавање додатне активности на вебу и у апликацијама, ти подаци ће се можда чувати на Google налогу. Податке можете да прегледате, избришете и промените на account.google.com.</translation>
 <translation id="2350133097354918058">Учитано поново</translation>
 <translation id="2350182423316644347">Покретање апликације...</translation>
@@ -1229,6 +1229,7 @@
 <translation id="247051149076336810">URL за дељење датотека</translation>
 <translation id="2470702053775288986">Неподржани додаци су онемогућени</translation>
 <translation id="2471469610750100598">Црна (подразумевано)</translation>
+<translation id="2471506181342525583">Дозвољен је приступ локацији</translation>
 <translation id="2473195200299095979">Преведите ову страницу</translation>
 <translation id="2475982808118771221">Дошло је до грешке</translation>
 <translation id="2476578072172137802">Подешавања сајта</translation>
@@ -1240,6 +1241,7 @@
 <translation id="2482878487686419369">Обавештења</translation>
 <translation id="2484959914739448251">Да бисте обрисали податке прегледања са свих синхронизованих уређаја и са Google налога, <ph name="BEGIN_LINK" />унесите приступну фразу<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Лозинка је сачувана на овом уређају</translation>
+<translation id="2485394160472549611">Најбољи избор за вас</translation>
 <translation id="2485422356828889247">Деинсталирај</translation>
 <translation id="2487067538648443797">Додај нови обележивач</translation>
 <translation id="2487268545026948104">Да бисте вратили податке, повежите се на интернет</translation>
@@ -1621,6 +1623,7 @@
 <translation id="2932483646085333864">Одјавите се, па се поново пријавите да бисте започели синхронизацију</translation>
 <translation id="2932883381142163287">Пријави злоупотребу</translation>
 <translation id="2933632078076743449">Последње ажурирање</translation>
+<translation id="2934999512438267372">Потпуна контрола над MIDI уређајима је дозвољена</translation>
 <translation id="2936851848721175671">Прављење резервне копије и враћање</translation>
 <translation id="2938225289965773019">отвори линкове за <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">Прегледајте и избришите податке за пријављивање сачуване на безбедносном кључу</translation>
@@ -1736,6 +1739,7 @@
 <translation id="3083193146044397360">Привремено блокирано ради заштите приватности</translation>
 <translation id="3084548735795614657">Отпустите за инсталацију</translation>
 <translation id="3084771660770137092">Chrome прегледачу је понестало меморије или је процес за веб-страницу прекинут из неког другог разлога. Да бисте наставили, поново учитајте страницу или идите на неку другу страницу.</translation>
+<translation id="3084958266922136097">Онемогућите чувар екрана</translation>
 <translation id="3085412380278336437">Сајт може да користи камеру</translation>
 <translation id="3085752524577180175">SOCKS хост</translation>
 <translation id="3088052000289932193">Сајт користи MIDI</translation>
@@ -1932,6 +1936,7 @@
 <translation id="3345886924813989455">Није пронађен ниједан подржани прегледач</translation>
 <translation id="3347086966102161372">К&amp;опирај адресу слике</translation>
 <translation id="3348038390189153836">Откривен је преносиви уређај</translation>
+<translation id="3348131053948466246">Емоџи је предложен. Притисните нагоре или надоле да бисте се кретали и Enter за унос.</translation>
 <translation id="3349933790966648062">Меморијски простор у употреби</translation>
 <translation id="3355936511340229503">Грешка при повезивању</translation>
 <translation id="3356580349448036450">Завршено</translation>
@@ -1967,6 +1972,7 @@
 <translation id="3402585168444815892">Регистровање за режим демонстрације</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Ниједна лозинка није сачувана за овај сајт</translation>
+<translation id="3404249063913988450">Омогућите чувар екрана</translation>
 <translation id="3405664148539009465">Прилагоди фонтове</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Прикажи траку са обележивачима</translation>
@@ -2197,7 +2203,6 @@
 <translation id="3654045516529121250">Читање подешавања приступачности</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Има сталан приступ једној датотеци.}one{Има сталан приступ # датотеци.}few{Има сталан приступ за # датотеке.}other{Има сталан приступ за # датотека.}}</translation>
 <translation id="3660234220361471169">Непоуздани</translation>
-<translation id="3661172646479098821">Тренутно су подржани само Android уређаји.</translation>
 <translation id="3664511988987167893">Икона додатка</translation>
 <translation id="3665589677786828986">Chrome је открио да је други програм оштетио нека од подешавања и ресетовао их је на првобитне подразумеване вредности.</translation>
 <translation id="3668801437375206837">Да би боље дијагностиковали проблеме са Bluetooth-ом, запослени у Google-у могу да укључе додатне Bluetooth евиденције у извештаје са повратним информацијама. Кад изаберете ову опцију, извештај ће обухватити btsnoop и HCI евиденције из актуелне очишћене сесије из које је уклоњено што више података који могу да открију идентитет. Приступ тим евиденцијама је ограничен на менаџере групе производа Chrome ОС у Listnr-у. Евиденције се трајно бришу после 90 дана.</translation>
@@ -2507,6 +2512,7 @@
 <translation id="3984159763196946143">Покретање режима демонстрације није успело</translation>
 <translation id="3984431586879874039">Желите ли да дозволите овом сајту да види безбедносни кључ?</translation>
 <translation id="3986705137476756801">Искључи Титл уживо за сада</translation>
+<translation id="3987544746655539083">Настави да блокираш приступ локацији за овај сајт</translation>
 <translation id="3987938432087324095">Жао нам је, нисмо вас чули.</translation>
 <translation id="3988996860813292272">Изаберите временску зону</translation>
 <translation id="399179161741278232">Увезени</translation>
@@ -2572,6 +2578,7 @@
 <translation id="4087089424473531098">Направљен је додатак:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Потпуна контрола над MIDI уређајима је одбијена</translation>
 <translation id="4088095054444612037">Прихвати за групу</translation>
 <translation id="4089235344645910861">Подешавања су сачувана. Синхронизација је почела.</translation>
 <translation id="4090103403438682346">Омогућите верификовани приступ</translation>
@@ -2652,6 +2659,7 @@
 <translation id="4200689466366162458">Прилагођене речи</translation>
 <translation id="4200983522494130825">Нова &amp;картица</translation>
 <translation id="4201546031411513170">Увек можете да одаберете шта ћете синхронизовати у подешавањима.</translation>
+<translation id="420283545744377356">Искључите чувар екрана</translation>
 <translation id="4206144641569145248">Ванземаљац</translation>
 <translation id="4206323443866416204">Извештај са повратним информацијама</translation>
 <translation id="4208390505124702064">Претражи <ph name="SITE_NAME" /></translation>
@@ -2750,6 +2758,7 @@
 <translation id="4348766275249686434">Прикупљај грешке</translation>
 <translation id="4349828822184870497">Корисно</translation>
 <translation id="4350019051035968019">Овај уређај не може да се региструје на домену коме припада ваш налог јер је означен као уређај којим управља други домен.</translation>
+<translation id="4350230709416545141">Увек блокирај приступ локацији за <ph name="HOST" /></translation>
 <translation id="4350782034419308508">Ок Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> жели да тражи Bluetooth уређаје у близини. Пронађени су следећи уређаји:</translation>
 <translation id="4354073718307267720">Питај када сајт жели да прави 3D мапу окружења или да прати положај камере</translation>
@@ -2769,6 +2778,7 @@
 <translation id="4370975561335139969">Имејл и лозинка које сте унели се не подударају</translation>
 <translation id="4374831787438678295">Linux програм за инсталацију</translation>
 <translation id="4375035964737468845">Отварање преузетих датотека</translation>
+<translation id="4376226992615520204">Локација је искључена</translation>
 <translation id="4377363674125277448">Дошло је до проблема са сертификатом сервера.</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4378373042927530923">Није покренуто</translation>
@@ -2968,7 +2978,6 @@
 <translation id="4619615317237390068">Картице са других уређаја</translation>
 <translation id="4620809267248568679">Додатак примењује ово подешавање.</translation>
 <translation id="4623189117674524348">Систем није успео да одобри приступ API-ју за овај уређај.</translation>
-<translation id="4624190781974168453">Затражи при покретању</translation>
 <translation id="4625078469366263107">Омогући апликацију</translation>
 <translation id="4627427111733173920">Колачићи су блокирани</translation>
 <translation id="4627442949885028695">Наставите на другом уређају</translation>
@@ -3398,7 +3407,6 @@
 <translation id="5185386675596372454">Најновија верзија додатка „<ph name="EXTENSION_NAME" />“ је онемогућена јер захтева још дозвола.</translation>
 <translation id="5185500136143151980">Нема интернета</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Мени са опцијама за <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Активирај порт</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> жели да преузме више датотека</translation>
 <translation id="5192062846343383368">Отворите апликацију Family Link да бисте видели подешавања надзора</translation>
@@ -3591,6 +3599,7 @@
 <translation id="5431825016875453137">Отворени VPN/L2TP</translation>
 <translation id="543338862236136125">Измените лозинку</translation>
 <translation id="5434065355175441495">PKCS #1 RSA шифровање</translation>
+<translation id="5435779377906857208">Увек дозволи да <ph name="HOST" /> приступа микрофону</translation>
 <translation id="5436492226391861498">Чекање на прокси тунел...</translation>
 <translation id="5436510242972373446">Претражи сајт <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Сачувајте датотеке и отворите нови налог одмах.</translation>
@@ -3775,6 +3784,7 @@
 <translation id="5642508497713047">CRL потписник</translation>
 <translation id="5643321261065707929">Мрежа са ограничењем</translation>
 <translation id="5643620609347735571">Обриши и настави</translation>
+<translation id="5646376287012673985">Локација</translation>
 <translation id="5646558797914161501">Бизнисмен</translation>
 <translation id="5648166631817621825">Последњих 7 дана</translation>
 <translation id="5649053991847567735">Аутоматска преузимања</translation>
@@ -3818,6 +3828,7 @@
 <translation id="5701212929149679556">Роминг на мобилној мрежи</translation>
 <translation id="5701381305118179107">Центрирај</translation>
 <translation id="5701441174893770082">Надоградњом Linux-а можете значајно да испразните батерију. Повежите уређај са пуњачем и пробајте поново.</translation>
+<translation id="5702749864074810610">Предлог је одбачен</translation>
 <translation id="5702898740348134351">&amp;Измени претраживаче...</translation>
 <translation id="5704875434923668958">Синхронизује се са</translation>
 <translation id="5705005699929844214">Увек приказуј опције приступачности</translation>
@@ -3938,6 +3949,7 @@
 <translation id="5857090052475505287">Нови директоријум</translation>
 <translation id="5857171483910641802">Пречице се предлажу на основу веб-сајтова које често посећујете</translation>
 <translation id="5858490737742085133">Терминал</translation>
+<translation id="5859603669299126575">Албум ликовне галерије</translation>
 <translation id="585979798156957858">Спољни мета тастер</translation>
 <translation id="5860033963881614850">Искључено</translation>
 <translation id="5860491529813859533">Укључи</translation>
@@ -4010,7 +4022,7 @@
 <translation id="5939518447894949180">Ресетуј</translation>
 <translation id="5941153596444580863">Додај особу...</translation>
 <translation id="5941343993301164315">Пријавите се на <ph name="TOKEN_NAME" />.</translation>
-<translation id="5941711191222866238">Смањи</translation>
+<translation id="5941711191222866238">Умањи</translation>
 <translation id="5942964813783878922"><ph name="DEVICE_TYPE" /> ће се рестартовати после овог ажурирања. Будућа софтверска и безбедносна ажурирања ће се инсталирати аутоматски.</translation>
 <translation id="5944869793365969636">Скенирајте QR кôд</translation>
 <translation id="5946591249682680882">ИД извештаја <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4323,6 +4335,7 @@
 <translation id="6318125393809743217">Уврсти датотеку policies.json уз конфигурације смерница.</translation>
 <translation id="6318407754858604988">Преузимање је започето</translation>
 <translation id="6318944945640833942">Штампач није откривен. Поново унесите адресу штампача.</translation>
+<translation id="6321407676395378991">Укључите чувар екрана</translation>
 <translation id="6322653941595359182">Шаљите и примајте SMS-ове помоћу Chromebook-а</translation>
 <translation id="6324916366299863871">Измени пречицу</translation>
 <translation id="6325191661371220117">Онемогући аутоматско покретање</translation>
@@ -4481,7 +4494,6 @@
 <translation id="6531282281159901044">Задржи опасну датотеку</translation>
 <translation id="6532101170117367231">Чување на Google диску</translation>
 <translation id="6532106788206463496">Сачувај промене</translation>
-<translation id="6532113437901537254">Лозинке са Google налога биће доступне и на овом уређају док сте пријављени</translation>
 <translation id="6532206849875187177">Безбедност и пријављивање</translation>
 <translation id="6532527800157340614">Пријављивање није успело јер није преузета ознака приступа. Проверите мрежну везу и пробајте поново.</translation>
 <translation id="6532663472409656417">Регистровано за предузеће</translation>
@@ -4503,6 +4515,7 @@
 <translation id="6555432686520421228">Уклоните све корисничке налоге и рестартујте <ph name="IDS_SHORT_PRODUCT_NAME" /> уређај да би био као нов.</translation>
 <translation id="6555810572223193255">Чишћење је тренутно недоступно</translation>
 <translation id="6556866813142980365">Понови</translation>
+<translation id="6556903358015358733">Тема и позадина</translation>
 <translation id="6557290421156335491">Моје пречице</translation>
 <translation id="6561560012278703671">Користите ненаметљиву размену порука (спречава упите са обавештењима да вас ометају)</translation>
 <translation id="6561726789132298588">enter</translation>
@@ -4526,6 +4539,7 @@
 <translation id="6590458744723262880">Промените назив директоријума</translation>
 <translation id="6592267180249644460">WebRTC евиденција је снимљена <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Отисак прста је снимљен</translation>
+<translation id="6595187330192059106">Увек блокирај потпуну контролу над MIDI уређајима за <ph name="HOST" />.</translation>
 <translation id="6596325263575161958">Опције шифровања</translation>
 <translation id="6596816719288285829">IP адреса</translation>
 <translation id="6597017209724497268">Узорци</translation>
@@ -5011,9 +5025,6 @@
 <translation id="7201118060536064622">Ставка „<ph name="DELETED_ITEM_NAME" />“ је избрисана</translation>
 <translation id="7201420661433230412">Прикажи датотеке</translation>
 <translation id="7203150201908454328">Проширено</translation>
-<translation id="7203826966018112936">Додавање школског налога на профил омогућава да се дете лако пријављује на веб-сајтове и у додатке као ученик, а да и даље ради под родитељским надзором. Тиме се детету не даје приступ обележивачима, лозинкама или другим подацима прегледача који се синхронизују са школским налогом.&lt;br&gt;&lt;br&gt;
-    Ако дете користи Chromebook у школи и желите да пресликате тај доживљај код куће како бисте осигурали да оно има приступ свим неопходним школским задацима, одјавите се са овог Family Link налога и пријавите се на школски налог са странице Chrome ОС налога (напомена: Family Link родитељски надзор се неће примењивати).&lt;br&gt;&lt;br&gt;
-    Ако дете не користи Chromebook у школи или бисте радије да управљате дететовим доживљајем код куће користећи Family Link, кликните на дугме Даље у наставку да бисте додали школски налог овом профилу.</translation>
 <translation id="7206693748120342859">Преузимање додатне компоненте <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Затвори страницу}one{Затвори странице}few{Затвори странице}other{Затвори странице}}</translation>
 <translation id="7207457272187520234">Шаљите податке о коришћењу и дијагностичке податке. Овај уређај тренутно аутоматски шаље податке о дијагностици, уређају и коришћењу апликација Google-у. То доприноси одржавању стабилности система и апликације и другим подешавањима. Неки обједињени подаци ће такође помоћи Google апликацијама и партнерима, попут Android програмера. То подешавање примењује власник. Ако укључите подешавање додатне активности на вебу и у апликацијама, ти подаци ће се можда чувати на Google налогу.</translation>
@@ -5156,7 +5167,6 @@
 <translation id="7388044238629873883">Још мало па готово!</translation>
 <translation id="7392118418926456391">Скенирање вируса није успело</translation>
 <translation id="7392915005464253525">П&amp;оново отвори затворен прозор</translation>
-<translation id="7393472013449507620">Подешавања са џокерским знаком „*“ више нису подржана. Обратите се програмеру додатка или администратору да бисте<ph name="BEGIN_LINK" /> променили ова подешавања<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Овде се приказују дељени директоријуми</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ће се покренути приликом покретања система и наставити да ради у позадини чак и када затворите све остале <ph name="PRODUCT_NAME" /> прозоре.</translation>
 <translation id="7399045143794278225">Прилагодите синхронизацију</translation>
@@ -5269,6 +5279,7 @@
 <translation id="7526989658317409655">Чувар места</translation>
 <translation id="7529411698175791732">Проверите интернет везу. Ако се проблем и даље јавља, пробајте да се одјавите и поново пријавите.</translation>
 <translation id="7530016656428373557">Ниво потрошње у ватима</translation>
+<translation id="7531310913436731628">Локација је искључена у подешавањима Mac система</translation>
 <translation id="7531779363494549572">Идите у Подешавања &gt; Апликације и обавештења &gt; Обавештења.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> не реагује. Изаберите „Принудно затвори“ да бисте затворили апликацију.</translation>
 <translation id="7537451260744431038">Сајтови не могу да користе колачиће за побољшање доживљаја прегледања, на пример, да бисте остали пријављени или да би ставке у вашој корпи за куповину остале сачуване</translation>
@@ -5381,6 +5392,7 @@
 <translation id="767147716926917172">Аутоматски шаље Google-у дијагностику и податке о коришћењу</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, на страници <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Деактивирај све портове који се прослеђују у Linux-у</translation>
+<translation id="7674542105240814168">Одбијен је приступ локацији</translation>
 <translation id="7676867886086876795">Шаљите податке о гласу Google-у да би се омогућило диктирање у свим пољима за текст.</translation>
 <translation id="7678280409648629969">Подаци о пријављивању се чувају у Chrome-у када изађете из режима без архивирања. То ће вам омогућити да касније поново користите Touch ID са овим веб-сајтом.</translation>
 <translation id="7680416688940118410">Калибрација додирног екрана</translation>
@@ -5588,6 +5600,7 @@
 <translation id="790040513076446191">Управљање подешавањима у вези са приватношћу</translation>
 <translation id="7903345046358933331">Страница је престала да се одазива. Можете да сачекате да почне да се одазива или да је затворите.</translation>
 <translation id="7903742244674067440">Имате сачуване сертификате који идентификују ове ауторитете за издавање сертификата</translation>
+<translation id="7903859912536385558">стабилно (поуздани тестер)</translation>
 <translation id="7903925330883316394">Помоћни процес: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Администратор за овај налог је забранио вишеструко пријављивање.</translation>
 <translation id="7904526211178107182">Учините Linux портове доступним за друге уређаје на својој мрежи.</translation>
@@ -5713,6 +5726,7 @@
 <translation id="8049705080247101012">Google је означио додатак „<ph name="EXTENSION_NAME" />“ као злонамеран и инсталација је спречена</translation>
 <translation id="8049948037269924837">Обрнуто померање тачпедом</translation>
 <translation id="8050038245906040378">Microsoft потписивање комерцијалних кодова</translation>
+<translation id="8051390370038326517">Увек дозволи потпуну контролу над MIDI уређајима за <ph name="HOST" /></translation>
 <translation id="8053278772142718589">PKCS #12 датотеке</translation>
 <translation id="8053390638574070785">Поново учитај ову страницу</translation>
 <translation id="8054517699425078995">Овај тип датотеке може да нашкоди уређају. Желите ли да ипак задржите датотеку <ph name="FILE_NAME" />?</translation>
@@ -5764,6 +5778,7 @@
 <translation id="810728361871746125">Резолуција екрана</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Нема колачића треће стране}=1{1 колачић треће стране је блокиран}one{# колачић треће стране је блокиран}few{# колачића треће стране су блокирана}other{# колачића треће стране је блокирано}}</translation>
 <translation id="810875025413331850">Није пронађен ниједан уређај у близини.</translation>
+<translation id="8113476325385351118">Настави да блокираш потпуну контролу над MIDI уређајима за овај сајт</translation>
 <translation id="8114199541033039755">Идите на почетну страницу или назад и мењајте апликације помоћу дугмади у режиму таблета. Укључено је када су ChromeVox или Аутоматски кликови омогућени.</translation>
 <translation id="8114875720387900039">Подели хоризонтално</translation>
 <translation id="8116972784401310538">&amp;Менаџер обележивача</translation>
@@ -6049,7 +6064,6 @@
 <translation id="8470513973197838199">Сачуване лозинке за <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">хардверски подржан</translation>
 <translation id="8473863474539038330">Адресе и друго</translation>
-<translation id="8474733733775441349">Прегледајте лозинке са Google налога</translation>
 <translation id="8475313423285172237">Други програм на рачунару је додао додатак који може да промени начин на који Chrome функционише.</translation>
 <translation id="8477241577829954800">Замењено</translation>
 <translation id="8477384620836102176">&amp;Опште</translation>
@@ -6132,6 +6146,7 @@
 <translation id="8590375307970699841">Подеси аутоматска ажурирања</translation>
 <translation id="8591783563402255548">1 секунда</translation>
 <translation id="8592141010104017453">Не приказуј никаква обавештења</translation>
+<translation id="859246725979739260">Овом сајту је забрањено да приступа локацији.</translation>
 <translation id="8593121833493516339">Шаљите податке о коришћењу и дијагностичке податке. Помозите нам да побољшамо Android доживљај за дете тако што ћете аутоматски слати Google-у податке о дијагностици и коришћењу уређаја и апликација. Те информације се неће користити за идентификацију детета и помоћи ће у одржавању стабилности система и апликације и другим подешавањима. Неки обједињени подаци ће такође помоћи Google апликацијама и партнерима, попут Android програмера. Ако за дете укључите додатне активности на вебу и у апликацијама, ти подаци ће се можда чувати на Google налогу детета. <ph name="BEGIN_LINK1" />Сазнајте више<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Сними видео</translation>
 <translation id="8596540852772265699">Прилагођене датотеке</translation>
@@ -6144,6 +6159,7 @@
 <translation id="860909219589324847">Никада не користи податке за пренос</translation>
 <translation id="8609465669617005112">Премести нагоре</translation>
 <translation id="8610103157987623234">Погрешан формат. Пробајте поново</translation>
+<translation id="8611682088849615761">Настави да дозвољаваш овом сајту да има потпуну контролу над MIDI уређајима</translation>
 <translation id="8613164732773110792">Само мала слова, цифре, доње црте или црте</translation>
 <translation id="8613786722548417558">Датотека <ph name="FILE_NAME" /> је превелика за безбедносну проверу. Можете да отворите датотеке величине до 50 MB.</translation>
 <translation id="8615618338313291042">Апл. у режиму без архивирања: <ph name="APP_NAME" /></translation>
@@ -6286,6 +6302,7 @@
 <translation id="8761945298804995673">Овај корисник већ постоји</translation>
 <translation id="8762886931014513155">Треба да ажурирате <ph name="DEVICE_TYPE" /></translation>
 <translation id="8763927697961133303">USB уређај</translation>
+<translation id="87646919272181953">Албум Google слика</translation>
 <translation id="8767621466733104912">Аутоматски ажурирај Chrome за све кориснике</translation>
 <translation id="8770406935328356739">Основни директоријум додатка</translation>
 <translation id="8770507190024617908">Управљај људима</translation>
@@ -6602,6 +6619,7 @@
 <translation id="9147392381910171771">&amp;Опције</translation>
 <translation id="9148058034647219655">Изађи</translation>
 <translation id="9148126808321036104">Пријави ме поново</translation>
+<translation id="9148963623915467028">Овај сајт може да приступа локацији.</translation>
 <translation id="9149866541089851383">Измени...</translation>
 <translation id="9150045010208374699">Коришћење камере</translation>
 <translation id="9153934054460603056">Сачувај идентитет и лозинку</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb
index e963d83..a4c3bc14 100644
--- a/chrome/app/resources/generated_resources_sv.xtb
+++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Endast chiffrering</translation>
 <translation id="1038462104119736705">Minst <ph name="INSTALL_SIZE" /> utrymme rekommenderas för Linux. Frigör utrymme genom att radera filer på enheten.</translation>
 <translation id="1039337018183941703">Ogiltig eller skadad fil</translation>
-<translation id="104086161873270383">Ny profil</translation>
 <translation id="1041175011127912238">Sidan svarar inte</translation>
 <translation id="1041263367839475438">Tillgängliga enheter</translation>
 <translation id="1042174272890264476">Datorn har även RLZ-biblioteket för <ph name="SHORT_PRODUCT_NAME" /> inbyggt. RLZ tilldelar en icke-unik, icke-personligt identifierbar tagg för att mäta antalet sökningar och användningen av <ph name="SHORT_PRODUCT_NAME" /> som drivs av en viss reklamkampanj. Dessa etiketter visas ibland vid sökningar på Google i <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Bakåtknapp för undersidan <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Visa och hantera sparade lösenord i <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Skyddar personliga Google-konton från riktade attacker</translation>
-<translation id="1325985428688410772">Lägg till profil</translation>
 <translation id="1326317727527857210">Logga in i Chrome om du vill ha samma flikar tillgängliga på alla enheter.</translation>
 <translation id="1327074568633507428">Skrivare på Google Cloud Print</translation>
 <translation id="1327272175893960498">Kerberos-biljetter</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Kontroll av lösenord är inte tillgängligt i Chromium</translation>
 <translation id="1871534214638631766">Visa relaterade uppgifter när du högerklickar eller trycker länge på innehåll</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> är uppdaterad</translation>
-<translation id="1874835396235780806">Vill du spara detta och andra lösenord i Google-kontot?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Flytta fliken till ett annat fönster}other{Flytta flikarna till ett annat fönster}}</translation>
 <translation id="1875386316419689002">Den här fliken är ansluten till en HID-enhet.</translation>
 <translation id="1875387611427697908">Kan endast installeras från <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Nätverk <ph name="NETWORK_INDEX" /> av <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, anslut</translation>
 <translation id="1884705339276589024">Ändra storlek på Linux-disken</translation>
 <translation id="1885106732301550621">Diskutrymme</translation>
-<translation id="1885190042244431215">Om du lägger till ett skolkonto är det enkelt att logga in på webbplatser och tillägg som elev medan föräldrakontroller fortfarande används.</translation>
 <translation id="1886996562706621347">Tillåt att webbplatser begär att bli standardhanterare för protokoll (rekommenderas)</translation>
 <translation id="1887442540531652736">Inloggningsfel</translation>
 <translation id="1887597546629269384">Säg ”Hey Google” igen</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Läsa tillgänglighetsinställningarna</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Den har permanent åtkomst till en fil.}other{Den har permanent åtkomst till # filer.}}</translation>
 <translation id="3660234220361471169">Opålitliga</translation>
-<translation id="3661172646479098821">För närvarande stöds bara Android-enheter.</translation>
 <translation id="3664511988987167893">Tilläggsikon</translation>
 <translation id="3665589677786828986">Chrome har upptäckt att visa av inställningarna har skadats av ett annat program och återställer dem till standardinställningarna.</translation>
 <translation id="3668801437375206837">Anställda hos Google kan inkludera ytterligare Bluetooth-loggar i sina feedbackrapporter för att underlätta diagnosticeringen av problem med Bluetooth. När alternativet är markerat ingår HCI-loggar i btsnoop-format från den nuvarande sessionen i din rapport. Dessa loggar rensas på så mycket personligt identifierande information som möjligt. Åtkomsten till loggarna begränsas till ansvariga i produktgruppen för Chrome OS på Listnr. Loggarna raderas permanent efter 90 dagar.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">E-postadressen och lösenordet matchar inte</translation>
 <translation id="4374831787438678295">Linux-installationsprogram</translation>
 <translation id="4375035964737468845">Öppna nedladdade filer</translation>
+<translation id="4376226992615520204">Plats har inaktiverats</translation>
 <translation id="4377363674125277448">Det fanns ett problem i serverns certifikat.</translation>
 <translation id="4378154925671717803">Mobil</translation>
 <translation id="4378373042927530923">Har inte körts</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Flikar från andra enheter</translation>
 <translation id="4620809267248568679">Den här inställningen är låst av ett tillägg.</translation>
 <translation id="4623189117674524348">Det gick inte att auktorisera API-åtkomst för den här enheten.</translation>
-<translation id="4624190781974168453">Fråga vid start</translation>
 <translation id="4625078469366263107">Aktivera appen</translation>
 <translation id="4627427111733173920">Cookies har blockeras</translation>
 <translation id="4627442949885028695">Fortsätta på en annan enhet</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Den senaste versionen av <ph name="EXTENSION_NAME" /> har inaktiverats eftersom ytterligare rättigheter krävs.</translation>
 <translation id="5185500136143151980">Inget internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Alternativmeny för <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Aktivera port</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> vill ladda ned flera filer</translation>
 <translation id="5192062846343383368">Öppna Family Link-appen om du vill se inställningarna för kontroll</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">CRL-signerare</translation>
 <translation id="5643321261065707929">Nätverk med datapriser</translation>
 <translation id="5643620609347735571">Rensa och fortsätt</translation>
+<translation id="5646376287012673985">Plats</translation>
 <translation id="5646558797914161501">Affärsman</translation>
 <translation id="5648166631817621825">Senaste sju dagarna</translation>
 <translation id="5649053991847567735">Automatiska nedladdningar</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Behåll den farliga filen</translation>
 <translation id="6532101170117367231">Spara på Google Drive</translation>
 <translation id="6532106788206463496">Spara ändringarna</translation>
-<translation id="6532113437901537254">Lösenorden i Google-kontot är även tillgängliga på denna enhet när du är inloggad</translation>
 <translation id="6532206849875187177">Säkerhet och inloggning</translation>
 <translation id="6532527800157340614">Inloggningen misslyckades eftersom det inte gick att hämta din åtkomsttoken. Kontrollera nätverksanslutningen och försök igen.</translation>
 <translation id="6532663472409656417">Med företagsregistrering</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622"><ph name="DELETED_ITEM_NAME" /> har raderats</translation>
 <translation id="7201420661433230412">Visa filer</translation>
 <translation id="7203150201908454328">Utökat</translation>
-<translation id="7203826966018112936">Om du lägger till ett skolkonto i en profil är det enkelt att logga in på webbplatser och tillägg som elev medan föräldrakontroller fortfarande används. Det ger inte barnet tillgång till bokmärken, lösenord eller annan webbläsardata som synkroniseras med skolkontot.&lt;br&gt;&lt;br&gt;
-    Använder ditt barn en Chromebook i skolan och du vill att barnet ska få skolupplevelsen hemma och ha tillgång till allt nödvändigt skolarbete? Logga ut från detta Family Link-konto och logga in på barnets skolkonto från kontosidan i Chrome OS (obs! Family Link-föräldrakontrollerna tillämpas inte).&lt;br&gt;&lt;br&gt;
-   Använder ditt barn inte en Chromebook i skolan eller föredrar du att hantera barnets upplevelse hemifrån med Family Link? Klicka på knappen Nästa nedan för att lägga till ett skolkonto i denna profil.</translation>
 <translation id="7206693748120342859">Laddar ned <ph name="PLUGIN_NAME" /> ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Lämna sidan}other{Lämna sidorna}}</translation>
 <translation id="7207457272187520234">Skicka diagnostik- och användningsdata. Den här enheten skickar för närvarande diagnostikdata, enhetsdata och data om appanvändning till Google automatiskt. Denna data används till att förbättra systemets och apparnas stabilitet med mera. Viss samlad data används även till att förbättra appar från Google och Googles partner, till exempel Android-utvecklare. Ägaren har gjort denna inställning obligatorisk. Om ytterligare webb- och appaktivitet har aktiverats kan denna data sparas i Google-kontot.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Du är nästan klar.</translation>
 <translation id="7392118418926456391">Virussökningen misslyckades</translation>
 <translation id="7392915005464253525">Ö&amp;ppna ett stängt fönster igen</translation>
-<translation id="7393472013449507620">Inställningar med * som jokertecken stöds inte längre. Kontakta den som har utvecklat tillägget eller administratören och be honom eller henne att <ph name="BEGIN_LINK" />ändra inställningarna<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Delade mappar visas här</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> startas när systemet startas och fortsätter att köras i bakgrunden även när du har stängt alla andra fönster i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Anpassa synkronisering</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Platshållare</translation>
 <translation id="7529411698175791732">Kontrollera internetanslutningen. Om problemet kvarstår testar du att logga ut och logga in igen.</translation>
 <translation id="7530016656428373557">Urladdningstakt i watt</translation>
+<translation id="7531310913436731628">Plats har inaktiverats i systeminställningarna för Mac</translation>
 <translation id="7531779363494549572">Öppna Inställningar &gt; Appar och aviseringar &gt; Aviseringar.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> svarar inte. Stäng appen med Tvångsavsluta.</translation>
 <translation id="7537451260744431038">Webbplatser får inte förbättra surfupplevelsen med hjälp av cookies, till exempel genom att låta dig förbli inloggad eller spara vad du har lagt till i kundvagnen</translation>
@@ -6051,7 +6042,6 @@
 <translation id="8470513973197838199">Sparade lösenord för <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">maskinvarustödd</translation>
 <translation id="8473863474539038330">Adresser och annat</translation>
-<translation id="8474733733775441349">Visa lösenord från Google-kontot</translation>
 <translation id="8475313423285172237">Ett annat program i datorn har lagt till ett tillägg som kan ändra hur Chrome fungerar.</translation>
 <translation id="8477241577829954800">Ersatt</translation>
 <translation id="8477384620836102176">&amp;Allmänt</translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb
index e657b47..75a918d9 100644
--- a/chrome/app/resources/generated_resources_sw.xtb
+++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Usimabji Tu</translation>
 <translation id="1038462104119736705">Tunapendekeza uwe na angalau nafasi ya <ph name="INSTALL_SIZE" /> kwenye Linux. Ili upate nafasi zaidi ya hifadhi, futa faili kwenye kifaa chako.</translation>
 <translation id="1039337018183941703">Faili si sahihi au imeharibika</translation>
-<translation id="104086161873270383">Wasifu Mpya</translation>
 <translation id="1041175011127912238">Ukurasa huu haufanyi kazi</translation>
 <translation id="1041263367839475438">Vifaa vinavyopatikana</translation>
 <translation id="1042174272890264476">Kompyuta yako pia huja na maktaba ya <ph name="SHORT_PRODUCT_NAME" /> ya RLZ iliyojengewa ndani. RLZ hutoa lebo isiyo ya kipekee, isiyotambulika kibinafsi ili kupima utafutaji na matumizi ya <ph name="SHORT_PRODUCT_NAME" />  yanayoendeshwa na kampeni husika ya ukwezaji. Lebo hizi wakati mwingine hutokea katika hoja za Huduma ya Tafuta na Google katika <ph name="PRODUCT_NAME" />.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Mipangilio hii inatekelezwa na kiendelezi cha "<ph name="NAME" />".</translation>
 <translation id="1118738876271697201">Mfumo umeshindwa kutambua muundo wa kifaa wala nambari ya ufuatiliaji.</translation>
 <translation id="1119447706177454957">Hitilafu ya ndani</translation>
+<translation id="1122068467107743258">Kazini</translation>
 <translation id="1122198203221319518">Zana</translation>
 <translation id="1122242684574577509">Uidhinishaji haujafaulu. Bofya ili kutembelea ukurasa wa kuingia katika akaunti kwa mtandao wa Wi-Fi unaotumia (<ph name="NETWORK_ID" />).</translation>
 <translation id="1122960773616686544">Jina la alamisho</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Dhibiti programu</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - Sehemu ya kikundi cha <ph name="GROUP_NAME" /></translation>
 <translation id="1134009406053225289">Fungua katika dirisha fiche</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> kati ya <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">Tumefunga ufunguo wa usalama kwa sababu umeweka PIN isiyo sahihi mara nyingi mno. Ili kuufungua, uondoe kisha uuweke tena.</translation>
 <translation id="1137673463384776352">Fungua kiungo katika <ph name="APP" /></translation>
 <translation id="1139343347646843679">Hitilafu imetokea wakati wa kuweka mipangilio ya Linux. Tafadhali wasiliana na msimamizi wako.</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">Kitufe cha kurudi nyuma kwenye ukurasa mdogo wa <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Angalia na udhibiti manenosiri yaliyohifadhiwa kwenye <ph name="SAVED_PASSWORDS_STORE" /> yako</translation>
 <translation id="1324106254079708331">Hulinda Akaunti binafsi za Google za mtu yeyote zilizo katika hatari ya mashambulizi mahususi.</translation>
-<translation id="1325985428688410772">Ongeza Space</translation>
 <translation id="1326317727527857210">Ili upate vichupo kutoka kwenye vifaa vyako vingine, ingia katika Chrome.</translation>
 <translation id="1327074568633507428">Printa kwenye Google Cloud Print</translation>
 <translation id="1327272175893960498">Tiketi za Kerberos</translation>
@@ -485,6 +485,7 @@
 <translation id="1572876035008611720">Weka anwani yako ya barua pepe</translation>
 <translation id="1576594961618857597">Ishara chaguomsingi nyeupe</translation>
 <translation id="1578558981922970608">Lazimisha kufunga</translation>
+<translation id="1578784163189013834">Chagua mandharinyuma ya taswira ya skrini</translation>
 <translation id="1580772913177567930">Wasiliana na msimamizi wako</translation>
 <translation id="1581962803218266616">Onyesha katika Kipataji</translation>
 <translation id="1582955169539260415">Futa [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -747,7 +748,6 @@
 <translation id="1868553836791672080">Kipengele cha kukagua manenosiri hakipatikani katika Chromium</translation>
 <translation id="1871534214638631766">Onyesha maelezo yanayohusiana unapobofya kulia au unapobonyeza maudhui kwa muda mrefu</translation>
 <translation id="1871615898038944731">Kifaa chako cha <ph name="DEVICE_TYPE" /> kimesasishwa</translation>
-<translation id="1874835396235780806">Ungependa kuhifadhi nenosiri hili na manenosiri mengine kwenye Akaunti yako ya Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Hamishia kichupo kwenye dirisha jingine}other{Hamishia vichupo kwenye dirisha jingine}}</translation>
 <translation id="1875386316419689002">Kichupo hiki kimeunganishwa kwenye kifaa cha HID.</translation>
 <translation id="1875387611427697908">Hii inaweza tu kuongezwa kutoka <ph name="CHROME_WEB_STORE" />.</translation>
@@ -760,7 +760,6 @@
 <translation id="1884013283844450420">Mtandao wa <ph name="NETWORK_INDEX" /> kati ya <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, Unganisha</translation>
 <translation id="1884705339276589024">Badilisha ukubwa wa diski ya Linux</translation>
 <translation id="1885106732301550621">Nafasi ya hifadhi ya diski</translation>
-<translation id="1885190042244431215">Hatua ya kuweka akaunti ya shule hurahisisha shughuli ya kuingia katika akaunti za tovuti na viendelezi ukiwa mwanafunzi huku ukiendelea kutumia akaunti chini ya vidhibiti vya wazazi.</translation>
 <translation id="1886996562706621347">Ruhusu tovuti kutuma ombi la kuwa vishikizi chaguomsingi vya itifaki (inapendekezwa)</translation>
 <translation id="1887442540531652736">Hitilafu ya kuingia katika akaunti</translation>
 <translation id="1887597546629269384">Sema "Hey Google" tena</translation>
@@ -1128,6 +1127,7 @@
 <translation id="2347644257713614136">Matumizi ya Hangouts na Cast for Education yanasimamiwa na Sera ya Faragha ya Google.</translation>
 <translation id="2348176352564285430">Programu: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Hitilafu ya kupakia data</translation>
+<translation id="2349610121459545414">Endelea kuruhusu tovuti hii ifikie maelezo ya mahali ulipo</translation>
 <translation id="2349896577940037438">Ikiwa umewasha mipangilio ya historia ya Shughuli za ziada kwenye Wavuti na Programu, huenda data hii itahifadhiwa kwenye Akaunti yako ya Google. Unaweza kuona data yako, kuifuta na kubadilisha mipangilio ya akaunti yako katika account.google.com.</translation>
 <translation id="2350133097354918058">Kimepakiwa upya</translation>
 <translation id="2350182423316644347">Inaanzisha programu...</translation>
@@ -1229,6 +1229,7 @@
 <translation id="247051149076336810">URL ya faili ya kushiriki</translation>
 <translation id="2470702053775288986">Viendelezi visivyotumika vimezimwa</translation>
 <translation id="2471469610750100598">Nyeusi (chaguomsingi)</translation>
+<translation id="2471506181342525583">Imeruhusiwa kufikia maelezo ya mahali</translation>
 <translation id="2473195200299095979">Tafsiri ukurasa huu</translation>
 <translation id="2475982808118771221">Hitilafu fulani imetokea</translation>
 <translation id="2476578072172137802">Mipangilio ya Tovuti</translation>
@@ -1240,6 +1241,7 @@
 <translation id="2482878487686419369">Arifa</translation>
 <translation id="2484959914739448251">Ili ufute data ya kuvinjari kwenye vifaa vyako vyote vilivyosawazishwa na Akaunti yako ya Google, <ph name="BEGIN_LINK" />weka kauli yako ya siri<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Nenosiri limehifadhiwa kwenye kifaa hiki</translation>
+<translation id="2485394160472549611">Chaguo maarufu kwa ajili yako</translation>
 <translation id="2485422356828889247">Ondoa</translation>
 <translation id="2487067538648443797">Ongeza alamisho mpya</translation>
 <translation id="2487268545026948104">Ili urejeshe data yako, unganisha kwenye intaneti</translation>
@@ -1621,6 +1623,7 @@
 <translation id="2932483646085333864">Ondoka kisha uingie katika akaunti tena ili uanze kusawazisha</translation>
 <translation id="2932883381142163287">Ripoti matumizi mabaya</translation>
 <translation id="2933632078076743449">Mara ya Mwisho Kusasishwa</translation>
+<translation id="2934999512438267372">Imeruhusu kutumia udhibiti kamili wa vifaa vya MIDI</translation>
 <translation id="2936851848721175671">Hifadhi nakala na urejeshe</translation>
 <translation id="2938225289965773019">Kufungua viungo vya <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">Angalia na ufute data ya kuingia katika akaunti iliyohifadhiwa kwenye ufunguo wako wa usalama</translation>
@@ -1736,6 +1739,7 @@
 <translation id="3083193146044397360">Ruhusa imefungwa kwa muda ili kuimarisha usalama wako</translation>
 <translation id="3084548735795614657">Achilia ili kusakinisha</translation>
 <translation id="3084771660770137092">Chrome imeishiwa na kumbukumbu au mchakato wa ukurasa wa wavuti ulisitishwa kwa sababu nyingine. Kuendelea, pakia upya au nenda kwenye ukurasa mwingine.</translation>
+<translation id="3084958266922136097">Zima taswira ya skrini</translation>
 <translation id="3085412380278336437">Tovuti inaweza kutumia kamera yako</translation>
 <translation id="3085752524577180175">Seva Mbadala ya Seva Pangishi ya SOCKS</translation>
 <translation id="3088052000289932193">Tovuti inatumia MIDI</translation>
@@ -1932,6 +1936,7 @@
 <translation id="3345886924813989455">Kivinjari kinachochukuana hakikupatikana</translation>
 <translation id="3347086966102161372">Nakili anwani ya picha</translation>
 <translation id="3348038390189153836">Kifaa cha kuondolewa kimegunduliwa</translation>
+<translation id="3348131053948466246">Emoji zimependekezwa. Bonyeza kishale cha juu au chini ili usogeze na 'Enter' ili uweke.</translation>
 <translation id="3349933790966648062">Kiasi cha Hifadhi Iliyotumiwa na Programu</translation>
 <translation id="3355936511340229503">Hitilafu ya muunganisho</translation>
 <translation id="3356580349448036450">Imekamilika</translation>
@@ -1967,6 +1972,7 @@
 <translation id="3402585168444815892">Inaandikisha katika Hali ya Onyesho</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Hakuna manenosiri ya tovuti hii yaliyohifadhiwa</translation>
+<translation id="3404249063913988450">Washa taswira ya skrini</translation>
 <translation id="3405664148539009465">Badilisha fonti zikufae</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Onyesha upau alamisho</translation>
@@ -2197,7 +2203,6 @@
 <translation id="3654045516529121250">Soma mipangilio yako ya ufikiaji</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Ina idhini ya ufikiaji wa kudumu wa faili moja.}other{Ina idhini ya ufikiaji wa kudumu wa faili #.}}</translation>
 <translation id="3660234220361471169">Haviaminiki</translation>
-<translation id="3661172646479098821">Kwa sasa inaweza kutumia vifaa vya Android pekee.</translation>
 <translation id="3664511988987167893">Aikoni ya Kiendelezi</translation>
 <translation id="3665589677786828986">Chrome imegundua kuwa baadhi ya mipangilio yako ilivurugwa na programu nyingine na ikairejesha kwenye mipangilio yake iliyotoka nayo kiwandani.</translation>
 <translation id="3668801437375206837">Ili kutambua matatizo ya Bluetooth vyema zaidi, WanaGoogle wanaweza kujumuisha kumbukumbu za ziada za Bluetooth kwenye ripoti zao za maoni. Wakati umeteua chaguo hili, ripoti yako itajumuisha kumbukumbu za btsnoop na HCI kuanzia kipindi chako cha sasa, zilizosafishwa ili kuondoa PII nyingi kadri iwezekanavyo. Wasimamizi wa kundi la bidhaa ya Chrome OS katika Listnr ndio tu wataweza kufikia kumbukumbu hizi. Kumbukumbu zitaondolewa kabisa baada ya siku 90.</translation>
@@ -2507,6 +2512,7 @@
 <translation id="3984159763196946143">Imeshindwa kuanzisha hali ya onyesho</translation>
 <translation id="3984431586879874039">Ungependa kuruhusu tovuti hii kuona ufunguo wako wa usalama?</translation>
 <translation id="3986705137476756801">Zima kipengele cha Manukuu Papo Hapo kwa sasa</translation>
+<translation id="3987544746655539083">Endelea kuzuia tovuti hii isifikie maelezo ya mahali ulipo</translation>
 <translation id="3987938432087324095">Samahani, haikurekodi sauti hiyo.</translation>
 <translation id="3988996860813292272">Chagua saa za eneo</translation>
 <translation id="399179161741278232">Zilizoingizwa</translation>
@@ -2570,6 +2576,7 @@
 <translation id="4085270836953633510">Iulize wakati tovuti inataka kufikia milango ya kuingiza</translation>
 <translation id="4085298594534903246">JavaScript ilizuiwa kwenye ukurasa huu.</translation>
 <translation id="4087089424473531098">Imeunda kiendelezi: <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">Haijaruhusiwa kutumia udhibiti kamili wa vifaa vya MIDI</translation>
 <translation id="4088095054444612037">Kubali ombi la kundi</translation>
 <translation id="4089235344645910861">Mipangilio imehifadhiwa. Imeanza kusawazisha.</translation>
 <translation id="4090103403438682346">Washa Ufikiaji Uliothibitishwa</translation>
@@ -2650,6 +2657,7 @@
 <translation id="4200689466366162458">Maneno maalum</translation>
 <translation id="4200983522494130825">&amp;Kichupo kipya</translation>
 <translation id="4201546031411513170">Unaweza kuchagua utakachosawazisha wakati wowote katika mipangilio.</translation>
+<translation id="420283545744377356">Zima taswira ya skrini</translation>
 <translation id="4206144641569145248">Kiumbe wa angani</translation>
 <translation id="4206323443866416204">Ripoti ya Maoni</translation>
 <translation id="4208390505124702064">Tafuta <ph name="SITE_NAME" /></translation>
@@ -2748,6 +2756,7 @@
 <translation id="4348766275249686434">Kusanya hitilafu</translation>
 <translation id="4349828822184870497">Imenifaa</translation>
 <translation id="4350019051035968019">Kifaa hiki hakiwezi kusajiliwa kwenye kikoa cha akaunti yako kwa sababu kifaa kimewekewa alama kwa usimamizi wa kikoa tofauti.</translation>
+<translation id="4350230709416545141">Zuia <ph name="HOST" /> kila wakati isifikie maelezo ya mahali ulipo</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> inataka kutafuta vifaa vya Bluetooth vilivyo karibu. Vifaa vifuatavyo vimepatikana:</translation>
 <translation id="4354073718307267720">Uliza wakati tovuti inataka kubuni ramani ya 3D ya mazingira yako au kufuatilia mkao wa kamera</translation>
@@ -2767,6 +2776,7 @@
 <translation id="4370975561335139969">Anwani ya barua pepe na nenosiri uliloweka havilingani</translation>
 <translation id="4374831787438678295">Kisakinishaji cha Linux</translation>
 <translation id="4375035964737468845">Fungua faili zilizopakuliwa</translation>
+<translation id="4376226992615520204">Kipengele cha maelezo ya mahali kimezimwa</translation>
 <translation id="4377363674125277448">Kulikuwa na tatizo kwenye cheti cha seva.</translation>
 <translation id="4378154925671717803">Simu</translation>
 <translation id="4378373042927530923">Usitekeleze</translation>
@@ -2966,7 +2976,6 @@
 <translation id="4619615317237390068">Vichupo kutoka kwenye vifaa vingine</translation>
 <translation id="4620809267248568679">Mpangilio huu unatekelezwa kwa kiendelezi.</translation>
 <translation id="4623189117674524348">Mfumo umeshindwa kuidhinisha ufikiaji wa API kwa kifaa hiki.</translation>
-<translation id="4624190781974168453">Uliza wakati wa kufungua</translation>
 <translation id="4625078469366263107">Washa Programu</translation>
 <translation id="4627427111733173920">Vidakuzi vimezuiwa</translation>
 <translation id="4627442949885028695">Endelea kutoka kwenye kifaa kingine</translation>
@@ -3396,7 +3405,6 @@
 <translation id="5185386675596372454">Toleo jipya zaidi la "<ph name="EXTENSION_NAME" />" limezimwa kwa sababu linahitaji idhini zaidi.</translation>
 <translation id="5185500136143151980">Hakuna Intaneti</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Menyu ya chaguo za <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Washa mlango</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> inataka kupakua faili kadhaa</translation>
 <translation id="5192062846343383368">Fungua programu ya Family Link ili uone mipangilio yako ya usimamizi</translation>
@@ -3589,6 +3597,7 @@
 <translation id="5431825016875453137">OpenVPN / L2TP</translation>
 <translation id="543338862236136125">Badilisha nenosiri</translation>
 <translation id="5434065355175441495">PKCS #1 Usimbaji wa RSA</translation>
+<translation id="5435779377906857208">Ruhusu <ph name="HOST" /> kila wakati ifikie maelezo ya mahali ulipo</translation>
 <translation id="5436492226391861498">Inasubiri handaki la proksi...</translation>
 <translation id="5436510242972373446">Tafuta <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">Tafadhali hifadhi faili zako halafu ufungue akaunti mpya.</translation>
@@ -3772,6 +3781,7 @@
 <translation id="5642508497713047">Kitia Sahihi cha CRL</translation>
 <translation id="5643321261065707929">Mtandao unaopima data</translation>
 <translation id="5643620609347735571">Futa na uendelee</translation>
+<translation id="5646376287012673985">Mahali</translation>
 <translation id="5646558797914161501">Mfanyabiashara</translation>
 <translation id="5648166631817621825">Siku 7 zilizopita</translation>
 <translation id="5649053991847567735">Vipakuliwa vya kiotomatiki</translation>
@@ -3815,6 +3825,7 @@
 <translation id="5701212929149679556">Mitandao ya simu ya ng'ambo</translation>
 <translation id="5701381305118179107">Katikati</translation>
 <translation id="5701441174893770082">Hatua ya kupata toleo jipya la Linux inaweza kutumia kiasi kikubwa cha chaji ya betri yako. Tafadhali weka kifaa chako kwenye chaja na ujaribu tena.</translation>
+<translation id="5702749864074810610">Pendekezo limeondolewa</translation>
 <translation id="5702898740348134351">&amp;Badilisha Mitambo ya Kutafuta...</translation>
 <translation id="5704875434923668958">Inasawazisha kwenye</translation>
 <translation id="5705005699929844214">Onyesha chaguo za ufikivu kila wakati</translation>
@@ -3935,6 +3946,7 @@
 <translation id="5857090052475505287">Folda Mpya</translation>
 <translation id="5857171483910641802">Tunapendekeza njia za mkato kulingana na tovuti unazotembelea mara kwa mara</translation>
 <translation id="5858490737742085133">Kituo</translation>
+<translation id="5859603669299126575">Albamu ya matunzio ya sanaa</translation>
 <translation id="585979798156957858">Meta ya Nje</translation>
 <translation id="5860033963881614850">Kimezimwa</translation>
 <translation id="5860491529813859533">Washa</translation>
@@ -4320,6 +4332,7 @@
 <translation id="6318125393809743217">Jumuisha faili ya policies.json na mipangilio ya sera.</translation>
 <translation id="6318407754858604988">Upakuaji umeanza</translation>
 <translation id="6318944945640833942">Imeshindwa kutambua printa. Tafadhali weka anwani ya printa tena.</translation>
+<translation id="6321407676395378991">Washa taswira ya skrini</translation>
 <translation id="6322653941595359182">Tuma na upokee SMS kupitia Chromebook yako</translation>
 <translation id="6324916366299863871">Badilisha njia ya mkato</translation>
 <translation id="6325191661371220117">Zima uzinduzi wa otomatiki</translation>
@@ -4478,7 +4491,6 @@
 <translation id="6531282281159901044">Hifadhi faili hatari</translation>
 <translation id="6532101170117367231">Hifadhi katika Hifadhi ya Google</translation>
 <translation id="6532106788206463496">Hifadhi mabadiliko</translation>
-<translation id="6532113437901537254">Manenosiri yaliyo kwenye Akaunti yako ya Google yatapatikana pia kwenye kifaa hiki ukiwa umeingia katika akaunti</translation>
 <translation id="6532206849875187177">Usalama na kuingia katika akaunti</translation>
 <translation id="6532527800157340614">Imeshindwa kuingia katika akaunti kwa sababu haikuleta data ya ufikiaji. Tafadhali kagua muunganisho wa mtandao kisha ujaribu tena.</translation>
 <translation id="6532663472409656417">Imejumuishwa kwenye Biashara</translation>
@@ -4500,6 +4512,7 @@
 <translation id="6555432686520421228">Ondoa akaunti zote za watumiaji na uweke upya kifaa chako cha <ph name="IDS_SHORT_PRODUCT_NAME" /> ili kiwe kama kipya.</translation>
 <translation id="6555810572223193255">Kipengele cha usafishaji hakiwezi kutumika kwa sasa</translation>
 <translation id="6556866813142980365">Rudia</translation>
+<translation id="6556903358015358733">Mandhari</translation>
 <translation id="6557290421156335491">Njia zangu za mikato</translation>
 <translation id="6561560012278703671">Tumia kipengele cha kutuma na kupokea ujumbe bila sauti (huzuia vidokezo vya arifa visikusumbue)</translation>
 <translation id="6561726789132298588">ingiza</translation>
@@ -4523,6 +4536,7 @@
 <translation id="6590458744723262880">Badilisha jina la folda</translation>
 <translation id="6592267180249644460">Kumbukumbu ya WebRTC ilipigwa picha <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Imenasa alama yako ya kidole</translation>
+<translation id="6595187330192059106">Zuia <ph name="HOST" /> kila wakati isiwe na udhibiti kamili wa vifaa vya MIDI.</translation>
 <translation id="6596325263575161958">Chaguo za usimbaji fiche</translation>
 <translation id="6596816719288285829">Anwani ya IP</translation>
 <translation id="6597017209724497268">Sampuli</translation>
@@ -4610,7 +4624,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> na Kichupo Kingine Kimoja}other{<ph name="PAGE_TITLE" /> na Vichupo Vingine #}}</translation>
 <translation id="6709133671862442373">Habari</translation>
 <translation id="6709357832553498500">Unganisha ukitumia <ph name="EXTENSIONNAME" /></translation>
-<translation id="6710213216561001401">Iliyotangulia</translation>
+<translation id="6710213216561001401">Iliyopita</translation>
 <translation id="6715803357256707211">Hitilafu imetokea wakati wa kusakinisha programu yako ya Linux. Bofya kwenye arifa ili upate maelezo.</translation>
 <translation id="671619610707606484">Hatua hii itafuta <ph name="TOTAL_USAGE" /> za data iliyohifadhiwa na tovuti</translation>
 <translation id="671928215901716392">Funga skrini</translation>
@@ -5008,9 +5022,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' imefutwa</translation>
 <translation id="7201420661433230412">Angalia faili</translation>
 <translation id="7203150201908454328">Imepanuliwa</translation>
-<translation id="7203826966018112936">Hatua ya kuweka akaunti ya shuleni kwenye wasifu hurahisisha shughuli ya kuingia katika akaunti za tovuti na viendelezi kama mwanafunzi huku vidhibiti vya wazazi vikiendelea kutumika. Haimruhusu mtoto kufikia alamisho, manenosiri au data nyingine ya kivinjari iliyosawazishwa na akaunti ya shuleni.&lt;br&gt;&lt;br&gt;
-    Iwapo mtoto wako hutumia Chromebook shuleni na ungependelea kuakisi mazingira ya shuleni ukiwa nyumbani ili uhakikishe kuwa mtoto wako ana uwezo wa kufikia kazi zote za shuleni zinazohitajika, tafadhali ondoka katika akaunti hii ya Family Link na uingie katika akaunti ya shuleni kupitia ukurasa wa akaunti za Mfumo wa Uendeshaji wa Chrome (kumbuka: Vidhibiti vya wazazi kwenye Family Link havitatumika).&lt;br&gt;&lt;br&gt;
-    Iwapo mtoto wako hatumii Chromebook shuleni au iwapo unapendelea kudhibiti hali ya utumiaji ya mtoto wako nyumbani ukitumia Family Link, tafadhali bofya kitufe cha 'Endelea' hapa chini ili uweke akaunti ya shuleni kwenye wasifu huu.</translation>
 <translation id="7206693748120342859">Inapakua <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Funga ukurasa}other{Funga kurasa}}</translation>
 <translation id="7207457272187520234">Tuma data ya matumizi na uchunguzi. Kwa sasa, kifaa hiki kinatuma kiotomatiki data ya uchunguzi na matumizi ya programu na kifaa kwa Google. Maelezo haya yatatusaidia kuboresha uthabiti wa programu na mfumo na maboresho mengine. Baadhi ya maelezo yaliyojumlishwa pia yatasaidia programu na washirika wa Google kama vile wasanidi programu za Android. Mipangilio hii hutekelezwa na mmiliki. Ikiwa umewasha mipangilio ya historia ya Shughuli za ziada kwenye Wavuti na Programu, huenda data hii itahifadhiwa kwenye Akaunti yako ya Google.</translation>
@@ -5153,7 +5164,6 @@
 <translation id="7388044238629873883">Unakaribia kumaliza!</translation>
 <translation id="7392118418926456391">Utambazaji wa Virusi Umeshindwa</translation>
 <translation id="7392915005464253525">&amp;Fungua tena ukurasa uliofungwa</translation>
-<translation id="7393472013449507620">Mipangilio yenye herufi wakilishi za "*" haitumiki tena. Wasiliana na msanidi programu wa kiendelezi au msimamizi wako ili <ph name="BEGIN_LINK" />ubadilishe mipangilio hii<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Folda za pamoja zitaonekana hapa</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> itazinduliwa katika kuanzishwa kwa mfumo na iendelee kuendeshwa katika mandharinyuma hata pindi tu umefunga madirisha mengine <ph name="PRODUCT_NAME" /> yote.</translation>
 <translation id="7399045143794278225">Weka mapendeleo ya usawazishaji</translation>
@@ -5266,6 +5276,7 @@
 <translation id="7526989658317409655">Kishikilia nafasi</translation>
 <translation id="7529411698175791732">Angalia muunganisho wako wa intaneti. Iwapo tatizo litaendelea, jaribu kuondoka na uingie tena katika akaunti.</translation>
 <translation id="7530016656428373557">Kiwango cha Kutoa katika kipimo cha Wati</translation>
+<translation id="7531310913436731628">Mipangilio ya mahali imezimwa kwenye Mapendeleo ya Mfumo wa Mac</translation>
 <translation id="7531779363494549572">Nenda kwenye Mipangilio &gt; Programu na arifa &gt; Arifa.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> haifanyi kazi. Chagua "Lazimisha kufunga" ili ufunge programu.</translation>
 <translation id="7537451260744431038">Tovuti haziwezi kutumia vidakuzi ili kuboresha hali yako ya kuvinjari, kwa mfano, ili kufanya ubaki ukiwa umeingia katika akaunti au kukumbuka bidhaa zilizo kwenye kikapu chako cha ununuzi</translation>
@@ -5378,6 +5389,7 @@
 <translation id="767147716926917172">Tuma kiotomatiki data ya matumizi na uchunguzi kwa Google.</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, katika <ph name="PAGE_TITLE" />.</translation>
 <translation id="7674416868315480713">Zima milango yote inayosambazwa kwenye Linux</translation>
+<translation id="7674542105240814168">Haijaruhusiwa kufikia maelezo ya mahali</translation>
 <translation id="7676867886086876795">Tuma sauti yako kwa Google ili uruhusu kuandika kwa kutamka katika sehemu ya maandishi.</translation>
 <translation id="7678280409648629969">Data ya kuingia katika akaunti itahifadhiwa kwenye Chrome baada ya kufunga Hali Fiche. Hali hii itakuruhusu utumie tena Touch ID kwenye tovuti hii baadaye.</translation>
 <translation id="7680416688940118410">Vipimo vya skrini ya kugusa</translation>
@@ -5587,6 +5599,7 @@
 <translation id="790040513076446191">Weka utakavyo mipangilio husika ya faragha</translation>
 <translation id="7903345046358933331">Ukurasa haufanyi kazi. Unaweza kusubiri uanze kufanya kazi au uufunge.</translation>
 <translation id="7903742244674067440">Una vyeti kwenye faili vinavyotambua mamlaka ya vyeti hivi</translation>
+<translation id="7903859912536385558">thabiti (mchunguzaji mwaminiwa)</translation>
 <translation id="7903925330883316394">Kitumizi: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Msimamizi wa akaunti hii ameondoa uwezo wa kuingia katika akaunti nyingi kwa wakati mmoja</translation>
 <translation id="7904526211178107182">Fanya milango ya Linux ipatikane kwenye vifaa vingine katika mtandao wako.</translation>
@@ -5712,6 +5725,7 @@
 <translation id="8049705080247101012">Google imeripoti kuwa "<ph name="EXTENSION_NAME" />" ni programu hasidi na imezuia kuisakinisha</translation>
 <translation id="8049948037269924837">Usogezaji kinyume kwa kutumia padi ya kugusa</translation>
 <translation id="8050038245906040378">Uwekaji Sahihi kwa Misimbo kwa Biashara kutoka Microsoft</translation>
+<translation id="8051390370038326517">Ruhusu <ph name="HOST" /> kila wakati iwe na udhibiti kamili wa vifaa vya MIDI</translation>
 <translation id="8053278772142718589">Faili PKCS #12</translation>
 <translation id="8053390638574070785">Pakia Ukurasa Huu Upya</translation>
 <translation id="8054517699425078995">Aina hii ya faili inaweza kudhuru kifaa chako. Je, ungetaka kupakua <ph name="FILE_NAME" /> licha ya hayo?</translation>
@@ -5763,6 +5777,7 @@
 <translation id="810728361871746125">Ubora wa skrini</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Hakuna vidakuzi vya mtu au kampuni nyingine}=1{Imezuia kidakuzi kimoja cha mtu au kampuni nyingine}other{Imezuia vidakuzi # vya mtu na kampuni nyingine}}</translation>
 <translation id="810875025413331850">Haikupata vifaa vyovyote vilivyo karibu.</translation>
+<translation id="8113476325385351118">Endelea kuzuia tovuti hii isiwe na udhibiti kamili wa vifaa vya MIDI</translation>
 <translation id="8114199541033039755">Nenda kwenye kifungua programu, rudi nyuma na ubadilishe programu ukitumia vitufe katika hali ya kompyuta kibao. Huwashwa wakati ChromeVox au kipengele cha Mibofyo ya kiotomatiki kimewashwa.</translation>
 <translation id="8114875720387900039">Gawanya kimlalo</translation>
 <translation id="8116972784401310538">Kidhi&amp;biti alamisho</translation>
@@ -6048,7 +6063,6 @@
 <translation id="8470513973197838199">Manenosiri yaliyohifadhiwa ya <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">maunzi-imechelezwa</translation>
 <translation id="8473863474539038330">Anwani na zaidi</translation>
-<translation id="8474733733775441349">Onyesha manenosiri yaliyo kwenye Akaunti yako ya Google</translation>
 <translation id="8475313423285172237">Programu nyingine kwenye kompyuta yako iliongeza kiendelezi ambacho kinaweza kubadilisha jinsi Chrome inavyofanya kazi.</translation>
 <translation id="8477241577829954800">Mahali pake pamechukuliwa</translation>
 <translation id="8477384620836102176">&amp;Kawaida</translation>
@@ -6131,6 +6145,7 @@
 <translation id="8590375307970699841">Weka masasisho ya kiotomatiki</translation>
 <translation id="8591783563402255548">Sekunde 1</translation>
 <translation id="8592141010104017453">Usionyeshe arifa kabisa</translation>
+<translation id="859246725979739260">Tovuti hii imezuiwa isifikie maelezo ya mahali ulipo.</translation>
 <translation id="8593121833493516339">Tuma data ya matumizi na uchunguzi. Tusaidie kuboresha jinsi mtoto wako anavyotumia Android kwa kutuma kiotomatiki data ya uchunguzi na matumizi ya kifaa na programu kwa Google. Hatutatumia data hii kumtambulisha mtoto wako na itatusaidia kuboresha uthabiti wa programu na mfumo na maboresho mengine. Baadhi ya maelezo yaliyojumlishwa pia yatasaidia programu za Google na washirika kama vile wasanidi programu za Android. Ikiwa umewasha mipangilio ya historia ya Shughuli za ziada kwenye Wavuti na Programu kwa ajili ya mtoto wako, data hii inaweza kuhifadhiwa kwenye akaunti yake ya Google. <ph name="BEGIN_LINK1" />Pata maelezo zaidi<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Rekodi video</translation>
 <translation id="8596540852772265699">Faili Maalum</translation>
@@ -6143,6 +6158,7 @@
 <translation id="860909219589324847">Isiwahi kutumia data kuhamisha faili</translation>
 <translation id="8609465669617005112">Songa juu</translation>
 <translation id="8610103157987623234">Muundo si sahihi, tafadhali jaribu tena</translation>
+<translation id="8611682088849615761">Endelea kuruhusu tovuti hii iwe na udhibiti kamili wa vifaa vya MIDI</translation>
 <translation id="8613164732773110792">Herufi ndogo, tarakimu, mistari ya chini au dashi pekee</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> ni kubwa mno kufanyiwa ukaguzi wa usalama. Unaweza kufungua faili za hadi MB 50.</translation>
 <translation id="8615618338313291042">Programu iliyo katika hali fiche: <ph name="APP_NAME" /></translation>
@@ -6285,6 +6301,7 @@
 <translation id="8761945298804995673">Mtumiaji huyu tayari yupo</translation>
 <translation id="8762886931014513155">Unahitaji kusasisha <ph name="DEVICE_TYPE" /> yako</translation>
 <translation id="8763927697961133303">Kifaa cha USB</translation>
+<translation id="87646919272181953">Albamu ya Picha kwenye Google</translation>
 <translation id="8767621466733104912">Sasisha Chrome kwa watumiaji wote kiotomatiki</translation>
 <translation id="8770406935328356739">Saraka msingi ya kiendelezi</translation>
 <translation id="8770507190024617908">Simamia Watu</translation>
@@ -6601,6 +6618,7 @@
 <translation id="9147392381910171771">&amp;Chaguo</translation>
 <translation id="9148058034647219655">Ondoka</translation>
 <translation id="9148126808321036104">Ingia tena</translation>
+<translation id="9148963623915467028">Tovuti hii inaweza kufikia maelezo ya mahali ulipo.</translation>
 <translation id="9149866541089851383">Badilisha...</translation>
 <translation id="9150045010208374699">Tumia kamera yako</translation>
 <translation id="9153934054460603056">Hifadhi kitambulisho na nenosiri</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index da1f0b5..a37bf07 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">என்சைபர் மட்டுமே</translation>
 <translation id="1038462104119736705">Linuxஸிற்குக் குறைந்தபட்சம் <ph name="INSTALL_SIZE" /> சேமிப்பகத்தைக் காலியாக வைத்திருப்பது சிறந்தது. சேமிப்பகத்தை அதிகரிக்க சாதனத்திலிருந்து கோப்புகளை நீக்கவும்.</translation>
 <translation id="1039337018183941703">தவறானது அல்லது சிதைந்த கோப்பு</translation>
-<translation id="104086161873270383">புதிய சுயவிவரம்</translation>
 <translation id="1041175011127912238">இந்தப் பக்கம் செயல்படவில்லை</translation>
 <translation id="1041263367839475438">கிடைக்கும் சாதனங்கள்</translation>
 <translation id="1042174272890264476">உள்ளிணைந்த <ph name="SHORT_PRODUCT_NAME" /> இன் RLZ நூலகமும் உங்கள் கம்ப்யூட்டரில் அமைந்துள்ளது. தேடல்களையும், குறிப்பிட்ட விளம்பரப் பிரச்சாரத்தால் இயக்கப்படும் <ph name="SHORT_PRODUCT_NAME" /> இன் ஆப்ஸையும் அளவிட தனிப்பட்டது அல்லாத, தனிப்பட்ட முறையில் அடையாளம் காண முடியாத குறியை RLZ ஒதுக்கும். சில சமயங்களில் இந்த லேபிள்கள் <ph name="PRODUCT_NAME" /> இன் Google தேடல் வினவல்களில் தோன்றும்.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> துணைப்பக்கத்தின் 'பின்செல்' பட்டன்</translation>
 <translation id="1322046419516468189"><ph name="SAVED_PASSWORDS_STORE" /> இலுள்ள சேமிக்கப்பட்ட கடவுச்சொற்களைப் பார்க்கலாம், நிர்வகிக்கலாம்</translation>
 <translation id="1324106254079708331">இலக்கிடப்பட்ட தாக்குதல்களுக்கு உட்படக்கூடிய எவரது தனிப்பட்ட Google கணக்குகளையும் பாதுகாக்கும்</translation>
-<translation id="1325985428688410772">ஸ்பேஸைச் சேர்க்கவும்</translation>
 <translation id="1326317727527857210">உங்கள் பிற சாதனங்களிலிருந்து தாவல்களைப் பெற, Chrome இல் உள்நுழையவும்.</translation>
 <translation id="1327074568633507428">Google கிளவுடு அச்சில் உள்ள பிரிண்டர்</translation>
 <translation id="1327272175893960498">Kerberos டிக்கெட்டுகள்</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">கடவுச்சொல் சரிபார்ப்பு அம்சம் Chromiumமில் இல்லை</translation>
 <translation id="1871534214638631766">உள்ளடக்கத்தில் வலது கிளிக் செய்யும்போதோ நீண்ட நேரம் அழுத்தும்போதோ தொடர்புடைய தகவலைக் காட்டும்</translation>
 <translation id="1871615898038944731">உங்கள் <ph name="DEVICE_TYPE" /> புதுப்பித்த நிலையில் உள்ளது</translation>
-<translation id="1874835396235780806">இதையும் பிற கடவுச்சொற்களையும் உங்கள் Google கணக்கில் சேமிக்கவா?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{தாவலை மற்றொரு சாளரத்திற்கு நகர்த்து}other{தாவல்களை மற்றொரு சாளரத்திற்கு நகர்த்து}}</translation>
 <translation id="1875386316419689002">HID சாதனத்துடன் இந்தத் தாவல் இணைக்கப்பட்டுள்ளது.</translation>
 <translation id="1875387611427697908"><ph name="CHROME_WEB_STORE" /> இலிருந்து மட்டுமே இதைச் சேர்க்க முடியும்</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">நெட்வொர்க்: <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, இணை</translation>
 <translation id="1884705339276589024">Linux டிஸ்க்கின் அளவை மாற்று</translation>
 <translation id="1885106732301550621">டிஸ்க் சேமிப்பிடம்</translation>
-<translation id="1885190042244431215">பள்ளிக் கணக்கைச் சேர்ப்பதன் மூலம் பெற்றோர் கட்டுப்பாடுகளின் கீழ் இருந்தாலும் பிள்ளையால் ஒரு மாணவராக இணையதளங்களிலும் நீட்டிப்புகளிலும் எளிதாக உள்நுழைய முடியும்.</translation>
 <translation id="1886996562706621347">நெறிமுறைகளுக்கு இயல்புநிலை ஹேண்ட்லர்களாக இருக்கும்படி கேட்க தளங்களை அனுமதி (பரிந்துரைத்தது)</translation>
 <translation id="1887442540531652736">உள்நுழைவில் பிழை</translation>
 <translation id="1887597546629269384">மீண்டும் "Hey Google" எனக் கூறவும்</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">உங்கள் அணுகல்தன்மை அமைப்புகளைப் படித்தல்</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ஒரு கோப்பிற்கு நிரந்தர அணுகலைக் கொண்டுள்ளது.}other{# கோப்புகளுக்கு நிரந்தர அணுகலைக் கொண்டுள்ளது.}}</translation>
 <translation id="3660234220361471169">நம்பகமில்லாதது</translation>
-<translation id="3661172646479098821">தற்சமயம் Android சாதனங்களில் மட்டுமே பயன்படுத்த இயலும்.</translation>
 <translation id="3664511988987167893">நீட்டிப்பு ஐகான்</translation>
 <translation id="3665589677786828986">மற்றொரு நிரலால் உங்கள் அமைப்புகளில் சில சிதைந்துள்ளதை Chrome கண்டறிந்ததுடன், அவற்றை அசல் இயல்புநிலைகளுக்கு மீட்டமைக்கிறது.</translation>
 <translation id="3668801437375206837">புளூடூத் சிக்கல்களை இன்னும் துல்லியமாகக் கண்டறிவதற்காக, Googlerகள் தங்களுடைய கருத்து அறிக்கைகளில் கூடுதல் புளூடூத் பதிவுகளைச் சேர்க்கலாம். இந்த விருப்பம் தேர்ந்தெடுக்கப்பட்டால், உங்கள் அறிக்கையில் உங்கள் நடப்பு அமர்விலிருந்து btsnoop மற்றும் HCI பதிவுகள் சேர்க்கப்படும், இது அவற்றிலுள்ள PIIஐ முடிந்தவரை அகற்றும். இந்தப் பதிவுகளை Listnrரிலுள்ள Chrome OS தயாரிப்புக் குழுவின் நிர்வாகிகள் மட்டுமே அணுக முடியும். 90 நாட்களுக்குப் பிறகு இந்தப் பதிவுகள் முற்றிலுமாக அகற்றப்படும்.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">உள்ளிட்ட மின்னஞ்சலும், கடவுச்சொல்லும் பொருந்தவில்லை.</translation>
 <translation id="4374831787438678295">Linux நிறுவி</translation>
 <translation id="4375035964737468845">பதிவிறக்கப்பட்ட கோப்புகளைத் திறக்கவும்</translation>
+<translation id="4376226992615520204">இருப்பிடம் முடக்கப்பட்டுள்ளது</translation>
 <translation id="4377363674125277448">பாதுகாப்புச் சான்றிதழில் சிக்கல் உள்ளது.</translation>
 <translation id="4378154925671717803">மொபைல்</translation>
 <translation id="4378373042927530923">இயங்கவில்லை</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">பிற சாதனங்களின் தாவல்கள்</translation>
 <translation id="4620809267248568679">இந்த அமைப்பு நீட்டிப்பால் செயல்படுத்தப்படுகிறது.</translation>
 <translation id="4623189117674524348">இந்தச் சாதனத்திற்கான API அணுகலை சிஸ்டத்தால் அங்கீகரிக்க முடியவில்லை.</translation>
-<translation id="4624190781974168453">தொடங்கும்போது கேள்</translation>
 <translation id="4625078469366263107">ஆப்ஸை இயக்கு</translation>
 <translation id="4627427111733173920">குக்கீகள் தடுக்கப்பட்டன</translation>
 <translation id="4627442949885028695">மற்றொரு சாதனத்திலிருந்து பார்த்தவை</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" இன் புதிய பதிப்பு முடக்கப்பட்டது, ஏனெனில் அதற்கு கூடுதல் அனுமதி தேவை.</translation>
 <translation id="5185500136143151980">இணைய இணைப்பு இல்லை</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> சுயவிவரத்திற்கான விருப்பங்கள் மெனு</translation>
 <translation id="5190926251776387065">போர்ட்டைச் செயல்படுத்து</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> பல கோப்புகளைப் பதிவிறக்க விரும்புகிறது</translation>
 <translation id="5192062846343383368">கண்காணிப்பு அமைப்புகளைப் பார்க்க Family Link ஆப்ஸைத் திறக்கவும்</translation>
@@ -3778,6 +3772,7 @@
 <translation id="5642508497713047">CRL கையொப்பமிடுநர்</translation>
 <translation id="5643321261065707929">கட்டண நெட்வொர்க்</translation>
 <translation id="5643620609347735571">அழித்து, தொடர்க</translation>
+<translation id="5646376287012673985">இருப்பிடம்</translation>
 <translation id="5646558797914161501">தொழிலதிபர்</translation>
 <translation id="5648166631817621825">கடந்த 7 நாட்கள்</translation>
 <translation id="5649053991847567735">தன்னியக்கப் பதிவிறக்கங்கள்</translation>
@@ -4484,7 +4479,6 @@
 <translation id="6531282281159901044">ஆபத்தான கோப்பை வைத்திரு</translation>
 <translation id="6532101170117367231">Google இயக்ககத்தில் சேமி</translation>
 <translation id="6532106788206463496">மாற்றங்களைச் சேமி</translation>
-<translation id="6532113437901537254">உங்கள் Google கணக்கில் சேமிக்கப்பட்டுள்ள கடவுச்சொற்களை, உள்நுழைந்திருக்கும்போது இந்தச் சாதனத்திலும் பயன்படுத்தலாம்</translation>
 <translation id="6532206849875187177">பாதுகாப்பு மற்றும் உள்நுழைவு</translation>
 <translation id="6532527800157340614">உங்கள் அணுகல் டோக்கனை மீட்டெடுக்க இயலாததால் உள்நுழைய முடியவில்லை. நெட்வொர்க் இணைப்பைச் சரிபார்த்துவிட்டு மீண்டும் முயலவும்.</translation>
 <translation id="6532663472409656417">நிறுவனத்தால் பதிவுசெய்யப்பட்டது</translation>
@@ -5014,9 +5008,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' நீக்கப்பட்டது</translation>
 <translation id="7201420661433230412">கோப்புகளைப் பார்</translation>
 <translation id="7203150201908454328">விரிவாக்கப்பட்டது</translation>
-<translation id="7203826966018112936">பள்ளிக் கணக்கை சுயவிவரத்தில் சேர்ப்பதன் மூலம் மாணவர் என்ற முறையில் இணையதளங்களிலும் நீட்டிப்புகளிலும் எளிதாக உள்நுழைய முடியும், ஆனாலும் இவை பெற்றோர் கட்டுப்பாடுகளின் கீழ் இருக்கும். இது பள்ளிக் கணக்குடன் ஒத்திசைக்கப்பட்ட புக்மார்க்குகள், கடவுச்சொற்கள், பிற உலாவித் தரவு போன்றவற்றுக்கான அணுகலை பிள்ளைக்கு வழங்குவதில்லை.&lt;br&gt;&lt;br&gt;
-    பள்ளியில் உங்கள் பிள்ளை Chromebookகைப் பயன்படுத்தும்பட்சத்தில், தேவையான அனைத்துப் பள்ளிப் பாடங்களையும் பிள்ளை அணுகுவதை உறுதிசெய்யும் வகையில் நீங்கள் வீட்டிலேயே பள்ளி அனுபவத்தை வழங்க விரும்பலாம். அதற்கு இந்த Family Link கணக்கிலிருந்து வெளியேறி, Chrome OS கணக்குகள் பக்கத்திற்குச் சென்று பள்ளிக் கணக்கில் உள்நுழையவும் (கவனத்திற்கு: Family Linkகின் பெற்றோர் கட்டுப்பாடுகள் பொருந்தாது).&lt;br&gt;&lt;br&gt;
-    பள்ளியில் உங்கள் பிள்ளை Chromebookகைப் பயன்படுத்தவில்லை என்றாலோ Family Linkகைப் பயன்படுத்தி வீட்டிலேயே பிள்ளையின் பள்ளி அனுபவத்தை நிர்வகிக்க விரும்பினாலோ இந்தச் சுயவிவரத்தில் பள்ளிக் கணக்கைச் சேர்க்க கீழேயுள்ள அடுத்து என்ற பட்டனைக் கிளிக் செய்யவும்.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ஐப் பதிவிறக்குகிறது...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{பக்கத்திலிருந்து வெளியேறு}other{பக்கங்களிலிருந்து வெளியேறு}}</translation>
 <translation id="7207457272187520234">உபயோகம் மற்றும் பிழை கண்டறிதல் தரவை அனுப்பவும். பிழை கண்டறிதல் தரவு, சாதனம் மற்றும் ஆப்ஸ் உபயோகத் தரவு போன்றவற்றை இந்தச் சாதனம் தற்போது Googleளுக்குத் தானாக அனுப்புகிறது. இது சிஸ்டம் மற்றும் ஆப்ஸின் நிலைத்தன்மையை மேம்படுத்தவும் பிற மேம்பாடுகளைச் செய்யவும் உதவும். ஒருங்கிணைக்கப்பட்ட சில தரவு, Google ஆப்ஸுக்கும் Android டெவெலப்பர்கள் போன்ற கூட்டாளர்களுக்கும் உதவும். உரிமையாளர் இந்த அமைப்பைச் செயல்படுத்தியுள்ளார். கூடுதல் ’இணையம் &amp; ஆப்ஸ் செயல்பாடு’ அமைப்பு இயக்கப்பட்டிருந்தால், இந்தத் தரவு உங்கள் Google கணக்கில் சேமிக்கப்படக்கூடும்.</translation>
@@ -5159,7 +5150,6 @@
 <translation id="7388044238629873883">கிட்டத்தட்ட முடித்துவிட்டீர்கள்!</translation>
 <translation id="7392118418926456391">வைரஸ் ஸ்கேன் தோல்வி</translation>
 <translation id="7392915005464253525">மூடப்பட்ட சாளரத்தை மீ&amp;ண்டும் திற</translation>
-<translation id="7393472013449507620">"*" வைல்டுகார்டுகள் உள்ள அமைப்புகள் இனி ஆதரிக்கப்படாது. <ph name="BEGIN_LINK" />இந்த அமைப்புகளை மாற்ற<ph name="END_LINK" />, நீட்டிப்பு டெவெலப்பரையோ உங்கள் நிர்வாகியையோ தொடர்புகொள்ளவும்.</translation>
 <translation id="7396017167185131589">பகிரப்பட்ட கோப்புறைகள் இங்கே தோன்றும்</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ஆனது முறைமை தொடக்கத்தின்போதே தொடங்கப்படும், மேலும் நீங்கள் பிற <ph name="PRODUCT_NAME" /> சாளரங்களை மூடி விட்டாலும் கூட பின்னணியில் தொடர்ந்து இயங்கும்.</translation>
 <translation id="7399045143794278225">ஒத்திசைவைப் பிரத்தியேகமாக்கு</translation>
@@ -5272,6 +5262,7 @@
 <translation id="7526989658317409655">ஒதுக்கிடம்</translation>
 <translation id="7529411698175791732">இணைய இணைப்பைச் சரிபார்க்கவும். சிக்கல் தொடர்ந்தால், வெளியேறி மீண்டும் உள்நுழையவும்.</translation>
 <translation id="7530016656428373557">வாட்ஸ் அலகில் வெளியேற்ற வீதம்</translation>
+<translation id="7531310913436731628">Mac சிஸ்டம் விருப்பத்தேர்வுகளில் இருப்பிடம் முடக்கப்பட்டுள்ளது</translation>
 <translation id="7531779363494549572">அமைப்புகள் &gt; ஆப்ஸ் &amp; அறிவிப்புகள் &gt; அறிவிப்புகள் என்பதற்குச் செல்லவும்.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> செயல்படவில்லை. ஆப்ஸை மூட "உடனே மூடு" என்பதைத் தேர்ந்தெடுங்கள்.</translation>
 <translation id="7537451260744431038">உங்கள் உலாவல் அனுபவத்தை மேம்படுத்துவதற்காக (எ.கா., உங்களை உள்நுழைந்தபடியே வைத்திருப்பது, உங்கள் ஷாப்பிங் கார்ட்டில் உள்ளவற்றை நினைவில் கொள்வது போன்றவை) குக்கீகளைத் தளங்கள் பயன்படுத்த முடியாது</translation>
@@ -6052,7 +6043,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" />க்கான சேமித்த கடவுச்சொற்கள்</translation>
 <translation id="8472623782143987204">வன்பொருளைச் சார்ந்தது</translation>
 <translation id="8473863474539038330">முகவரிகள் மற்றும் பல</translation>
-<translation id="8474733733775441349">உங்கள் Google கணக்கில் சேமிக்கப்பட்டுள்ள கடவுச்சொற்களைக் காட்டவா?</translation>
 <translation id="8475313423285172237">உங்கள் கம்ப்யூட்டரில் உள்ள மற்றொரு நிரல் Chrome இயங்கும் முறையை மாற்றும் நீட்டிப்பைச் சேர்த்துள்ளது.</translation>
 <translation id="8477241577829954800">இடமாற்றப்பட்டது</translation>
 <translation id="8477384620836102176">&amp;பொது</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index e392fef..39c947d 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">కోడ్ మాత్రమే</translation>
 <translation id="1038462104119736705">Linux కోసం కనీసం <ph name="INSTALL_SIZE" /> స్పేస్ సిఫార్సు చేయబడింది. ఖాళీ స్పేస్‌ను పెంచడానికి, మీ పరికరం నుండి ఫైల్స్‌ను తొలగించండి.</translation>
 <translation id="1039337018183941703">ఫైల్ చెల్లదు లేదా పాడైంది</translation>
-<translation id="104086161873270383">క్రొత్త ప్రొఫైల్</translation>
 <translation id="1041175011127912238">ఈ పేజీ ప్రతిస్పందించడం లేదు</translation>
 <translation id="1041263367839475438">అందుబాటులో ఉన్న పరికరాలు</translation>
 <translation id="1042174272890264476">మీ కంప్యూటర్‌‍లో కూడా <ph name="SHORT_PRODUCT_NAME" /> యొక్క అంతర్గత RLZ లైబ్రరీ ఉంటుంది. RLZ శోధనలను మరియు నిర్దిష్ట ప్రమోషనల్ ప్రచారం ద్వారా ఉపయోగించబడిన <ph name="SHORT_PRODUCT_NAME" /> వినియోగాన్ని లెక్కించడానికి, ప్రత్యేకం కానటువంటి, వ్యక్తిగతంగా గుర్తించలేని ట్యాగ్‌ను సమర్పిస్తుంది. ఈ లేబుల్‌లు కొన్నిసార్లు <ph name="PRODUCT_NAME" />లోని Google శోధన ప్రశ్నలలో కనిపిస్తాయి.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> సబ్‌పేజీ 'వెనుకకు' బటన్</translation>
 <translation id="1322046419516468189">మీ <ph name="SAVED_PASSWORDS_STORE" />లో సేవ్ చేసిన పాస్‌వర్డ్‌లను చూడండి మరియు నిర్వహించండి</translation>
 <translation id="1324106254079708331">లక్షిత ఇంటర్నెట్ దాడులకు గురయ్యే అవకాశం ఉన్న ఎవరి వ్యక్తిగత Google ఖాతాలనైనా రక్షిస్తుంది</translation>
-<translation id="1325985428688410772">Spaceను జోడించండి</translation>
 <translation id="1326317727527857210">మీ ఇతర పరికరాల నుండి మీ ట్యాబ్‌లను పొందడానికి, Chromeకు సైన్ ఇన్ చేయండి.</translation>
 <translation id="1327074568633507428">Google క్లౌడ్ ప్రింట్‌లో ప్రింటర్</translation>
 <translation id="1327272175893960498">Kerberos టిక్కెట్‌లు</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Chromiumలో పాస్‌వర్డ్ తనిఖీ ఫీచర్ అందుబాటులో లేదు</translation>
 <translation id="1871534214638631766">కంటెంట్‌పై కుడి క్లిక్ చేసినప్పుడు లేదా ఎక్కువసేపు నొక్కినప్పుడు సంబంధిత సమాచారాన్ని చూపు</translation>
 <translation id="1871615898038944731">మీ <ph name="DEVICE_TYPE" /> తాజాగా ఉంది</translation>
-<translation id="1874835396235780806">దీన్ని, ఇతర పాస్‌వర్డ్‌లను మీ Google ఖాతాలో సేవ్ చేయాలా?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ట్యాబ్‌ను మరొక విండోకు తరలించండి}other{ట్యాబ్‌లను మరొక విండోకు తరలించండి}}</translation>
 <translation id="1875386316419689002">HID పరికరానికి ఈ ట్యాబ్ కనెక్ట్ చేయబడింది.</translation>
 <translation id="1875387611427697908">దీనిని <ph name="CHROME_WEB_STORE" /> నుండి మాత్రమే జోడించవచ్చు</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" />లో <ph name="NETWORK_INDEX" />, <ph name="NETWORK_NAME" />, కనెక్ట్ చేయండి</translation>
 <translation id="1884705339276589024">Linux డిస్క్ పరిమాణాన్ని మార్చండి</translation>
 <translation id="1885106732301550621">డిస్క్ స్పేస్</translation>
-<translation id="1885190042244431215">పాఠశాల ఖాతాను జోడించడం వలన తల్లిదండ్రుల నియంత్రణలో ఆపరేట్ చేస్తున్నప్పుడు, విద్యార్థిగా వెబ్‌సైట్‌లు, ఎక్స్‌టెన్షన్‌లకు సులభంగా సైన్ ఇన్ చేయడాన్ని ఎనేబుల్ చేస్తుంది.</translation>
 <translation id="1886996562706621347">ప్రోటోకాల్స్‌కు డిఫాల్ట్ హ్యాండ్లర్‌లుగా కావడం కోసం అడగటానికి సైట్‌లను అనుమతించండి (సిఫార్సు చేయబడింది)</translation>
 <translation id="1887442540531652736">సైన్ ఇన్ ఎర్రర్</translation>
 <translation id="1887597546629269384">మళ్లీ ఒక్కసారి "Hey Google" అని చెప్పండి</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">మీ యాక్సెస్‌ సెట్టింగ్‌లను చదవండి</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ఇది ఒక ఫైల్‌కు శాశ్వత యాక్సెస్‌ను కలిగి ఉంది.}other{ఇది # ఫైల్‌లకు శాశ్వత యాక్సెస్‌ను కలిగి ఉంది.}}</translation>
 <translation id="3660234220361471169">అవిశ్వసనీయ</translation>
-<translation id="3661172646479098821">కేవలం Android పరికరాలకు మాత్రమే ప్రస్తుతం మద్దతు ఉంది.</translation>
 <translation id="3664511988987167893">ఎక్స్‌టెన్షన్ చిహ్నం</translation>
 <translation id="3665589677786828986">మీ సెట్టింగ్‌లలో కొన్నింటిని మరో ప్రోగ్రామ్ మార్చినట్లుగా Chrome గుర్తించింది, తర్వాత వాటిని వాటి అసలు డిఫాల్ట్‌లకు రీసెట్ చేసింది.</translation>
 <translation id="3668801437375206837">బ్లూటూత్ సమస్యలని మరింత మెరుగ్గా విశ్లేషించడానికి, Google ఉద్యోగులు తాము ఇచ్చే అభిప్రాయ నివేదికలతో పాటు అదనపు బ్లూటూత్ లాగ్‌లను జోడించి వివరంగా పంపవచ్చు. ఈ ఎంపిక ఎంచుకోబడితే, మీ ప్రస్తుత సెషన్ యొక్క btsnoop మరియు HCI లాగ్‌ల యొక్క PIIను వీలున్న మేరకు క్లీన్ చేసి తొలగించడం కోసం నివేదికలో చేర్చబడతాయి. Listnrలో ఉన్న Chrome OS ఉత్పత్తి సమూహ మేనేజర్‌లు మాత్రమే ఈ లాగ్‌లను యాక్సెస్ చేసుకొనే వెసులుబాటును కలిగి ఉంటారు. అయితే 90 రోజుల తర్వాత ఈ లాగ్‌లు అనేవి పూర్తిగా తొలగించబడతాయి.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">మీరు నమోదు చేసిన ఇమెయిల్, పాస్‌వర్డ్ సరిపోలలేదు</translation>
 <translation id="4374831787438678295">Linux ఇన్‌స్టాలర్</translation>
 <translation id="4375035964737468845">డౌన్‌లోడ్ చేసిన పైల్‌లను తెరవండి</translation>
+<translation id="4376226992615520204">లొకేషన్ ఆఫ్ చేయబడింది</translation>
 <translation id="4377363674125277448">సర్వర్ ప్రమాణపత్రంతో సమస్య ఏర్పడింది.</translation>
 <translation id="4378154925671717803">ఫోన్</translation>
 <translation id="4378373042927530923">రన్ కాలేదు</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">ఇతర పరికరాల్లోని ట్యాబ్‌లు</translation>
 <translation id="4620809267248568679">ఈ సెట్టింగ్ పొడిగింపు ద్వారా అమలు చేయబడింది.</translation>
 <translation id="4623189117674524348">ఈ పరికరం కోసం API యాక్సెస్ అధికారం మంజూరు చేయడంలో సిస్టమ్ విఫలమైంది.</translation>
-<translation id="4624190781974168453">ప్రారంభంలో అడుగు</translation>
 <translation id="4625078469366263107">యాప్‌ను ప్రారంభించు</translation>
 <translation id="4627427111733173920">కుక్కీలు బ్లాక్ చేయబడ్డాయి</translation>
 <translation id="4627442949885028695">మరో పరికరం నుండి కొనసాగించండి</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" కొత్త వెర్షన్ నిలిపివేయబడింది ఎందుకంటే దానికి మరిన్ని అనుమతులు అవసరం.</translation>
 <translation id="5185500136143151980">ఇంటర్నెట్ లేదు</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> కోసం ఆప్షన్‌ల మెనూ</translation>
 <translation id="5190926251776387065">పోర్ట్‌ను యాక్టివేట్ చేయండి</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> పలు ఫైల్‌లను డౌన్‌లోడ్ చేయాలనుకుంటోంది</translation>
 <translation id="5192062846343383368">మీ పర్యవేక్షణ సెట్టింగ్‌లను చూడడానికి Family Link యాప్‌ను తెరవండి</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">CRL సైన్ చేసినవారు</translation>
 <translation id="5643321261065707929">డేటా నియంత్రిత నెట్‌వర్క్</translation>
 <translation id="5643620609347735571">క్లియర్ చేసి కొనసాగించు</translation>
+<translation id="5646376287012673985">స్థానం</translation>
 <translation id="5646558797914161501">వ్యాపారవేత్త</translation>
 <translation id="5648166631817621825">గత 7 రోజులు</translation>
 <translation id="5649053991847567735">ఆటోమేటిక్ డౌన్‌లోడ్‌లు</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">అపాయకరమైన ఫైల్‌ను అలాగే ఉంచు</translation>
 <translation id="6532101170117367231">Google డిస్క్‌‌కు సేవ్ చేయండి</translation>
 <translation id="6532106788206463496">మార్పులను సేవ్ చేయి</translation>
-<translation id="6532113437901537254">మీరు సైన్ ఇన్ చేసినప్పుడు మీ Google ఖాతా నుండి మీ పాస్‌వర్డ్‌లు ఈ పరికరంలో కూడా అందుబాటులో ఉంటాయి</translation>
 <translation id="6532206849875187177">భద్రత మరియు సైన్ ఇన్</translation>
 <translation id="6532527800157340614">మీ యాక్సెస్ టోకెన్‌ని పొందడం సాధ్యం కాలేదు కాబట్టి, సైన్ ఇన్ విఫలమైంది. దయచేసి మీ నెట్‌వర్క్ కనెక్షన్‌ను తనిఖీ చేసి, మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="6532663472409656417">ఎంటర్‌ప్రైజ్ నమోదు చేయబడింది</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' తొలగించబడింది</translation>
 <translation id="7201420661433230412">ఫైల్‌లను వీక్షించండి</translation>
 <translation id="7203150201908454328">విస్తరించబడింది</translation>
-<translation id="7203826966018112936">ప్రొఫైల్‌కు పాఠశాల ఖాతాను జోడించడం వలన తల్లిదండ్రుల నియంత్రణలో ఆపరేట్ చేస్తున్నప్పుడు, విద్యార్థిగా వెబ్‌సైట్‌లు, ఎక్స్‌టెన్షన్‌లకు సులభంగా సైన్ ఇన్ చేయడాన్ని ఎనేబుల్ చేస్తుంది. పాఠశాల ఖాతాతో సింక్ అయిన బుక్‌మార్క్‌లు, పాస్‌వర్డ్‌లు లేదా ఇతర బ్రౌజర్ డేటాకు ఇది చిన్నారికి యాక్సెస్‌ను ఇవ్వదు.&lt;br&gt;&lt;br&gt;
-    మీ చిన్నారి పాఠశాలలో Chromebook ఉపయోగిస్తుంటే, పాఠశాల విద్యకు అవసరమైన అన్నింటికీ మీ చిన్నారికి ఇంటి వద్ద యాక్సెస్ ఉందా అని నిర్ధారించడానికి మీరు ఇంట్లోనే పాఠశాల అనుభవాన్ని ప్రతిబింబించాలనుకుంటే, దయచేసి ఈ Family Link ఖాతా నుండి సైన్ అవుట్ చేసి, Chrome OS ఖాతాల పేజీ నుండి పాఠశాల ఖాతాకు సైన్ ఇన్ చేయండి (గమనిక: Family Link తల్లిదండ్రుల నియంత్రణలు వర్తించవు).&lt;br&gt;&lt;br&gt;
-    మీ చిన్నారి పాఠశాలలో Chromebookను ఉపయోగించకపోతే లేదా Family Linkను ఉపయోగించి మీ చిన్నారికి ఇంటి వద్ద పాఠశాల అనుభవాన్ని మేనేజ్ చేయాలని మీరు కోరుకుంటే, ఈ ప్రొఫైల్‌కు పాఠశాల ఖాతాను జోడించడానికి దయచేసి కింద ఉన్న 'తర్వాత' బటన్‌ను క్లిక్ చేయండి.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" />ని డౌన్‌లోడ్ చేస్తోంది...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{పేజీ నుండి నిష్క్రమించు}other{పేజీల నుండి నిష్క్రమించు}}</translation>
 <translation id="7207457272187520234">వినియోగం &amp; విశ్లేషణల డేటాను పంపండి. ఈ పరికరం ప్రస్తుతం సమస్య విశ్లేషణ డేటాను, పరికరం డేటాను, దానితో పాటు యాప్ వినియోగ డేటాను ఆటోమేటిక్‌గా Googleకు పంపుతోంది. ఇది సిస్టమ్, యాప్ స్థిరత్వానికి, అలాగే ఇతర మెరుగుదలలకు సహాయపడుతుంది. కొంత ఏకీకృత డేటా కూడా Google యాప్‌లకు, Android డెవలపర్‌ల లాంటి భాగస్వాములకు సహాయపడుతుంది. ఈ సెట్టింగ్‌ను యజమాని సెట్ చేశారు. మీ అదనపు వెబ్ &amp; యాప్ కార్యకలాపం సెట్టింగ్‌ను ఆన్ చేసినట్లయితే, ఈ డేటా మీ Google ఖాతాలో సేవ్ చేయబడవచ్చు.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">మీరు దాదాపు పూర్తి చేసారు!</translation>
 <translation id="7392118418926456391">వైరస్‌ను స్కాన్ చేయడంలో విఫలమైంది</translation>
 <translation id="7392915005464253525">మూసివేయబడిన విండోను మ&amp;ళ్లీ తెరువు</translation>
-<translation id="7393472013449507620">"*" వైల్డ్‌కార్డ్‌లతో కూడిన సెట్టింగ్‌లకు ఇప్పుడు సపోర్ట్ లేదు. <ph name="BEGIN_LINK" /> ఈ సెట్టింగ్‌లను మార్చడానికి<ph name="END_LINK" /> ఎక్స్‌టెన్షన్ డెవలపర్ లేదా మీ అడ్మినిస్ట్రేట‌ర్‌ను సంప్రదించండి.</translation>
 <translation id="7396017167185131589">షేర్ చేసిన ఫోల్డర్‌లు ఇక్కడ కనిపిస్తాయి</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> సిస్టమ్ ప్రారంభంలో ప్రారంభమవ్వడమే కాక, అన్ని ఇతర <ph name="PRODUCT_NAME" /> విండోలను మీరు మూసివేసిన తర్వాత కూడా నేపథ్యంలో అమలవడం కొనసాగుతుంది.</translation>
 <translation id="7399045143794278225">సింక్‌ను అనుకూలీకరించు</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">ప్లేస్‌హోల్డర్</translation>
 <translation id="7529411698175791732">మీ ఇంటర్నెట్ కనెక్షన్‌ను తనిఖీ చేయండి. సమస్య కొనసాగితే, సైన్ అవుట్ చేసి, మళ్లీ సైన్ ఇన్ చేయడాన్ని ప్రయత్నించండి.</translation>
 <translation id="7530016656428373557">వాట్‌లలో తరుగుదల రేట్</translation>
+<translation id="7531310913436731628">Mac సిస్టమ్ ప్రాధాన్యతలలో లొకేషన్ ఆఫ్ చేయబడింది</translation>
 <translation id="7531779363494549572">సెట్టింగ్‌లు &gt; యాప్‌లు &amp; నోటిఫికేషన్‌లు &gt; నోటిఫికేషన్‌లలోకి వెళ్లండి.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> స్పందించడం లేదు. యాప్‌ను మూసివేయడానికి "బలవంతంగా మూసివేయి" ఎంచుకోండి.</translation>
 <translation id="7537451260744431038">మీ బ్రౌజింగ్ అనుభవాన్ని మెరుగుపరచడానికి సైట్‌లు కుక్కీలను ఉపయోగించలేవు, ఉదాహరణకు, మిమ్మల్ని సైన్ ఇన్ చేసి ఉంచడం, మీ షాపింగ్ కార్ట్‌లో ఐటెమ్‌లను గుర్తు చేయడం లాంటివి</translation>
@@ -6047,7 +6038,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> కోసం సేవ్ చేసిన పాస్‌వర్డ్‌లు</translation>
 <translation id="8472623782143987204">హార్డ్‌వేర్ మద్దతు గలది</translation>
 <translation id="8473863474539038330">అడ్రస్‌లు, మరికొన్ని వివరాలు</translation>
-<translation id="8474733733775441349">మీ Google ఖాతా నుండి పాస్‌వర్డ్‌లను చూపండి</translation>
 <translation id="8475313423285172237">మీ కంప్యూటర్‌లోని మరో ప్రోగ్రామ్ జోడించిన ఎక్స్‌టెన్షన్ కారణంగా Chrome పని చేసే విధానం మారవచ్చు.</translation>
 <translation id="8477241577829954800">బదులు పెట్టు</translation>
 <translation id="8477384620836102176">&amp;సాధారణ</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index 798702f8..935b1f72 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">เข้ารหัสเท่านั้น</translation>
 <translation id="1038462104119736705">ขอแนะนำให้เตรียมพื้นที่ว่างอย่างน้อย <ph name="INSTALL_SIZE" /> สำหรับ Linux หากต้องการเพิ่มพื้นที่ว่าง ให้ลบไฟล์ออกจากอุปกรณ์</translation>
 <translation id="1039337018183941703">ไฟล์ไม่ถูกต้องหรือเสียหาย</translation>
-<translation id="104086161873270383">โปรไฟล์ใหม่</translation>
 <translation id="1041175011127912238">หน้านี้ไม่ตอบสนอง</translation>
 <translation id="1041263367839475438">อุปกรณ์ที่ใช้ได้</translation>
 <translation id="1042174272890264476">คอมพิวเตอร์ของคุณมาพร้อมกับไลบรารี RLZ ของ <ph name="SHORT_PRODUCT_NAME" /> ในตัว โดย RLZ จะระบุแท็กที่ซ้ำกันได้และไม่สามารถระบุตัวบุคคลเพื่อวัดการค้นหาและการใช้งาน <ph name="SHORT_PRODUCT_NAME" /> ที่ทำงานโดยแคมเปญส่งเสริมการขายบางรายการ บางครั้งป้ายกำกับจะปรากฏในคำค้นหาของ Google Search ใน <ph name="PRODUCT_NAME" /></translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">การตั้งค่านี้ถูกบังคับใช้โดยส่วนขยาย "<ph name="NAME" />"</translation>
 <translation id="1118738876271697201">ระบบระบุรุ่นหรือหมายเลขซีเรียลของอุปกรณ์ไม่สำเร็จ</translation>
 <translation id="1119447706177454957">ข้อผิดพลาดภายใน</translation>
+<translation id="1122068467107743258">งาน</translation>
 <translation id="1122198203221319518">&amp;เครื่องมือ</translation>
 <translation id="1122242684574577509">การตรวจสอบสิทธิ์ล้มเหลว คลิกเพื่อไปที่หน้าการเข้าสู่ระบบสำหรับเครือข่าย Wi-Fi ที่คุณกำลังใช้อยู่ (<ph name="NETWORK_ID" />)</translation>
 <translation id="1122960773616686544">ชื่อบุ๊กมาร์ก</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">จัดการแอป</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - ส่วนหนึ่งของกลุ่ม <ph name="GROUP_NAME" /></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>
 <translation id="1137673463384776352">เปิดลิงก์ใน <ph name="APP" /></translation>
 <translation id="1139343347646843679">เกิดข้อผิดพลาดขณะกำหนดค่า Linux โปรดติดต่อผู้ดูแลระบบ</translation>
@@ -280,7 +281,6 @@
 <translation id="1319983966058170660">ปุ่มย้อนกลับของหน้าย่อย<ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">ดูและจัดการรหัสผ่านที่บันทึกไว้ได้ใน<ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">ป้องกันบัญชี Google ส่วนบุคคลของผู้ที่เสี่ยงต่อการโจมตีแบบกำหนดเป้าหมาย</translation>
-<translation id="1325985428688410772">เพิ่ม Space</translation>
 <translation id="1326317727527857210">ลงชื่อเข้าใช้ Chrome เพื่อรับแท็บจากอุปกรณ์เครื่องอื่นๆ ของคุณ</translation>
 <translation id="1327074568633507428">เครื่องพิมพ์บน Google Cloud Print</translation>
 <translation id="1327272175893960498">ตั๋ว Kerberos</translation>
@@ -488,6 +488,7 @@
 <translation id="1572876035008611720">ป้อนอีเมล</translation>
 <translation id="1576594961618857597">รูปโปรไฟล์เริ่มต้นสีขาว</translation>
 <translation id="1578558981922970608">บังคับปิด</translation>
+<translation id="1578784163189013834">เลือกพื้นหลังของโปรแกรมรักษาหน้าจอ</translation>
 <translation id="1580772913177567930">ติดต่อผู้ดูแลระบบ</translation>
 <translation id="1581962803218266616">แสดงใน Finder</translation>
 <translation id="1582955169539260415">ลบ [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -750,7 +751,6 @@
 <translation id="1868553836791672080">การตรวจสอบรหัสผ่านไม่พร้อมใช้งานใน Chromium</translation>
 <translation id="1871534214638631766">แสดงข้อมูลที่เกี่ยวข้องเมื่อคลิกขวาที่เนื้อหาหรือกดเนื้อหาค้างไว้</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> ของคุณเป็นเวอร์ชันล่าสุดแล้ว</translation>
-<translation id="1874835396235780806">บันทึกรหัสผ่านนี้และรหัสผ่านอื่นๆ ไว้ในบัญชี Google ไหม</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ย้ายแท็บไปที่หน้าต่างใหม่}other{ย้ายหลายแท็บไปที่หน้าต่างใหม่}}</translation>
 <translation id="1875386316419689002">แท็บนี้เชื่อมต่ออยู่กับอุปกรณ์ HID</translation>
 <translation id="1875387611427697908">ต้องเพิ่มจาก <ph name="CHROME_WEB_STORE" /> เท่านั้น</translation>
@@ -763,7 +763,6 @@
 <translation id="1884013283844450420">เครือข่ายที่ <ph name="NETWORK_INDEX" /> จาก <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, เชื่อมต่อ</translation>
 <translation id="1884705339276589024">ปรับขนาดดิสก์ Linux</translation>
 <translation id="1885106732301550621">พื้นที่ในดิสก์</translation>
-<translation id="1885190042244431215">การเพิ่มบัญชีโรงเรียนช่วยให้ผู้ใช้ซึ่งเป็นนักเรียนลงชื่อเข้าใช้เว็บไซต์และส่วนขยายต่างๆ ได้โดยง่ายในขณะที่ยังคงดำเนินการภายใต้การควบคุมโดยผู้ปกครอง</translation>
 <translation id="1886996562706621347">อนุญาตให้ไซต์แจ้งขอเป็นเครื่องจัดการเริ่มต้นสำหรับโปรโตคอล (แนะนำ)</translation>
 <translation id="1887442540531652736">ข้อผิดพลาดในการลงชื่อเข้าใช้</translation>
 <translation id="1887597546629269384">พูดว่า "Hey Google" อีกครั้ง</translation>
@@ -1131,6 +1130,7 @@
 <translation id="2347644257713614136">การใช้งาน Hangouts และ Cast for Education อยู่ภายใต้นโยบายความเป็นส่วนตัวของ Google</translation>
 <translation id="2348176352564285430">แอป: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">เกิดข้อผิดพลาดขณะโหลดข้อมูล</translation>
+<translation id="2349610121459545414">อนุญาตให้เว็บไซต์นี้เข้าถึงตำแหน่งของคุณต่อไป</translation>
 <translation id="2349896577940037438">หากเปิดการตั้งค่ากิจกรรมเพิ่มเติมบนเว็บและแอปไว้ ระบบอาจบันทึกข้อมูลนี้ไว้ในบัญชี Google ของคุณ คุณดูและลบข้อมูล ตลอดจนเปลี่ยนแปลงการตั้งค่าบัญชีได้ที่ account.google.com</translation>
 <translation id="2350133097354918058">โหลดซ้ำแล้ว</translation>
 <translation id="2350182423316644347">กำลังเริ่มต้นแอปพลิเคชัน...</translation>
@@ -1232,6 +1232,7 @@
 <translation id="247051149076336810">URL ของพื้นที่แชร์ไฟล์</translation>
 <translation id="2470702053775288986">ปิดใช้ส่วนขยายที่ไม่สนับสนุนแล้ว</translation>
 <translation id="2471469610750100598">ดำ (ค่าเริ่มต้น)</translation>
+<translation id="2471506181342525583">อนุญาตให้เข้าถึงตำแหน่ง</translation>
 <translation id="2473195200299095979">แปลหน้านี้</translation>
 <translation id="2475982808118771221">มีข้อผิดพลาดเกิดขึ้น</translation>
 <translation id="2476578072172137802">การตั้งค่าเว็บไซต์</translation>
@@ -1243,6 +1244,7 @@
 <translation id="2482878487686419369">การแจ้งเตือน</translation>
 <translation id="2484959914739448251"><ph name="BEGIN_LINK" />ป้อนรหัสผ่าน<ph name="END_LINK" />เพื่อล้างข้อมูลการท่องเว็บในอุปกรณ์ทุกเครื่องที่ซิงค์และบัญชี Google</translation>
 <translation id="2485005079599453134">รหัสผ่านที่บันทึกในอุปกรณ์นี้</translation>
+<translation id="2485394160472549611">แนะนำสำหรับคุณ</translation>
 <translation id="2485422356828889247">ถอนการติดตั้ง</translation>
 <translation id="2487067538648443797">เพิ่มบุ๊กมาร์กใหม่</translation>
 <translation id="2487268545026948104">โปรดเชื่อมต่ออินเทอร์เน็ตเพื่อคืนค่าข้อมูล</translation>
@@ -1252,7 +1254,7 @@
 <translation id="249113932447298600">ขออภัย อุปกรณ์ <ph name="DEVICE_LABEL" /> ไม่ได้รับการสนับสนุนในขณะนี้</translation>
 <translation id="2492461744635776704">กำลังเตรียมคำขอลงนามใบรับรอง</translation>
 <translation id="249303669840926644">ไม่สามารถลงทะเบียนให้เสร็จสมบูรณ์ได้</translation>
-<translation id="2493126929778606526">รูปภาพเลือกอัตโนมัติที่ดีที่สุด</translation>
+<translation id="2493126929778606526">รูปภาพที่ดีที่สุดซึ่งเลือกสรรมาให้คุณโดยอัตโนมัติ</translation>
 <translation id="2495777824269688114">ค้นพบฟีเจอร์เพิ่มเติมหรือรับคำตอบที่ต้องการ เลือก “?” เพื่อรับความช่วยเหลือ</translation>
 <translation id="2496180316473517155">ประวัติการเข้าชมที่เรียกดู</translation>
 <translation id="2497229222757901769">ความเร็วเมาส์</translation>
@@ -1482,7 +1484,7 @@
 <translation id="2762441749940182211">บล็อกกล้องถ่ายรูป</translation>
 <translation id="2764786626780673772">รายละเอียด VPN</translation>
 <translation id="2765217105034171413">ขนาดเล็ก</translation>
-<translation id="2765729904637714153">ระลึกช่วงเวลาแห่งความทรงจำดีๆ ที่คุณโปรดปราน หากต้องการเพิ่มหรือแก้ไขอัลบั้ม ให้ไปที่ <ph name="LINK_BEGIN" />Google Photos<ph name="LINK_END" /></translation>
+<translation id="2765729904637714153">ระลึกถึงความทรงจำดีๆ ที่คุณโปรดปราน หากต้องการเพิ่มหรือแก้ไขอัลบั้ม ให้ไปที่ <ph name="LINK_BEGIN" />Google Photos<ph name="LINK_END" /></translation>
 <translation id="2766006623206032690">&amp;วางแล้วไป</translation>
 <translation id="2766161002040448006">ถามผู้ปกครอง</translation>
 <translation id="2767127727915954024"><ph name="ORIGIN" /> จะแก้ไข <ph name="FILENAME" /> ได้อยู่จนกว่าคุณจะปิดทุกแท็บของเว็บไซต์นี้</translation>
@@ -1624,6 +1626,7 @@
 <translation id="2932483646085333864">ออกจากระบบแล้วลงชื่อเข้าใช้อีกครั้งเพื่อเริ่มการซิงค์</translation>
 <translation id="2932883381142163287">รายงานการละเมิด</translation>
 <translation id="2933632078076743449">อัปเดตล่าสุด</translation>
+<translation id="2934999512438267372">อนุญาตให้ควบคุมอุปกรณ์ MIDI โดยสมบูรณ์</translation>
 <translation id="2936851848721175671">การสำรองและคืนค่าข้อมูล</translation>
 <translation id="2938225289965773019">เปิดลิงก์ <ph name="PROTOCOL" /></translation>
 <translation id="2938845886082362843">ดูและลบข้อมูลการลงชื่อเข้าใช้ที่เก็บไว้ในคีย์ความปลอดภัย</translation>
@@ -1739,6 +1742,7 @@
 <translation id="3083193146044397360">ถูกบล็อกชั่วคราวเพื่อรักษาความปลอดภัยให้คุณ</translation>
 <translation id="3084548735795614657">วางเพื่อติดตั้ง</translation>
 <translation id="3084771660770137092">ไม่ว่า Chrome จะมีหน่วยความจำไม่เพียงพอหรือกระบวนการของหน้าเว็บถูกยกเลิกด้วยเหตุใดก็ตาม หากต้องการดำเนินการต่อ ให้โหลดซ้ำหรือไปที่หน้าเว็บอื่น</translation>
+<translation id="3084958266922136097">ปิดใช้โปรแกรมรักษาหน้าจอ</translation>
 <translation id="3085412380278336437">เว็บไซต์ใช้กล้องของคุณได้</translation>
 <translation id="3085752524577180175">โฮสต์ SOCKS</translation>
 <translation id="3088052000289932193">เว็บไซต์กำลังใช้ MIDI</translation>
@@ -1935,6 +1939,7 @@
 <translation id="3345886924813989455">ไม่พบเบราว์เซอร์ที่สนับสนุน</translation>
 <translation id="3347086966102161372">คัด&amp;ลอกที่อยู่รูปภาพ</translation>
 <translation id="3348038390189153836">พบอุปกรณ์แบบถอดออกได้</translation>
+<translation id="3348131053948466246">มีการแนะนำอีโมจิ กดขึ้นหรือลงเพื่อไปยังอีโมจิที่ต้องการแล้วกด Enter เพื่อแทรก</translation>
 <translation id="3349933790966648062">หน่วยความจำที่ใช้</translation>
 <translation id="3355936511340229503">ข้อผิดพลาดในการเชื่อมต่อ</translation>
 <translation id="3356580349448036450">เสร็จสมบูรณ์</translation>
@@ -1970,6 +1975,7 @@
 <translation id="3402585168444815892">ลงทะเบียนในโหมดสาธิต</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">ไม่มีรหัสผ่านบันทึกไว้สำหรับเว็บไซต์นี้</translation>
+<translation id="3404249063913988450">เปิดใช้โปรแกรมรักษาหน้าจอ</translation>
 <translation id="3405664148539009465">กำหนดค่าแบบอักษร</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;แสดงแถบบุ๊กมาร์ก</translation>
@@ -2200,7 +2206,6 @@
 <translation id="3654045516529121250">อ่านการตั้งค่าการเข้าถึง</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{แอปมีการเข้าถึงอย่างถาวรไปยัง 1 ไฟล์}other{แอปมีการเข้าถึงอย่างถาวรไปยัง # ไฟล์}}</translation>
 <translation id="3660234220361471169">ไม่น่าเชื่อถือ</translation>
-<translation id="3661172646479098821">ตอนนี้รองรับเพียงอุปกรณ์ Android เท่านั้น</translation>
 <translation id="3664511988987167893">ไอคอนส่วนขยาย</translation>
 <translation id="3665589677786828986">Chrome ตรวจพบว่าการตั้งค่าของคุณบางส่วนได้รับความเสียหายจากโปรแกรมอื่น และรีเซ็ตการตั้งค่าเป็นค่าเริ่มต้นเดิม</translation>
 <translation id="3668801437375206837">Googler จะช่วยรวมบันทึกเพิ่มเติมเกี่ยวกับบลูทูธไว้กับรายงานความคิดเห็นเพื่อการวินิจฉัยปัญหาบลูทูธที่แม่นยำยิ่งขึ้นได้ เมื่อคุณเลือกตัวเลือกนี้ รายงานจะรวมบันทึก btsnoop และ HCI จากเซสชันปัจจุบัน ซึ่งได้รับการปรับแต่งเพื่อนำ PII ออกไปให้ได้มากที่สุด จะมีเพียงผู้จัดการกลุ่มผลิตภัณฑ์ Chrome OS ใน Listnr เท่านั้นที่มีสิทธิ์เข้าถึงบันทึกเหล่านี้ และระบบจะลบบันทึกออกโดยถาวรหลังผ่านไป 90 วัน</translation>
@@ -2510,6 +2515,7 @@
 <translation id="3984159763196946143">เริ่มโหมดสาธิตไม่ได้</translation>
 <translation id="3984431586879874039">อนุญาตให้เว็บไซต์นี้ดูคีย์ความปลอดภัยของคุณไหม</translation>
 <translation id="3986705137476756801">ปิดคำบรรยายสดไปก่อน</translation>
+<translation id="3987544746655539083">บล็อกเว็บไซต์นี้ไม่ให้เข้าถึงตำแหน่งของคุณต่อไป</translation>
 <translation id="3987938432087324095">ขออภัย ฉันไม่ค่อยเข้าใจ</translation>
 <translation id="3988996860813292272">เลือกเขตเวลา</translation>
 <translation id="399179161741278232">นำเข้า</translation>
@@ -2575,6 +2581,7 @@
 <translation id="4087089424473531098">สร้างส่วนขยายแล้ว:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">ปฏิเสธไม่ให้ควบคุมอุปกรณ์ MIDI โดยสมบูรณ์</translation>
 <translation id="4088095054444612037">ยอมรับสำหรับกลุ่ม</translation>
 <translation id="4089235344645910861">บันทึกการตั้งค่าและเริ่มซิงค์แล้ว</translation>
 <translation id="4090103403438682346">เปิดใช้การเข้าถึงที่ได้รับการยืนยัน</translation>
@@ -2655,6 +2662,7 @@
 <translation id="4200689466366162458">คำที่กำหนดเอง</translation>
 <translation id="4200983522494130825">แ&amp;ท็บใหม่</translation>
 <translation id="4201546031411513170">คุณเลือกสิ่งที่ต้องการซิงค์ได้เสมอในการตั้งค่า</translation>
+<translation id="420283545744377356">ปิดโปรแกรมรักษาหน้าจอ</translation>
 <translation id="4206144641569145248">มนุษย์ต่างดาว</translation>
 <translation id="4206323443866416204">รายงานความคิดเห็น</translation>
 <translation id="4208390505124702064">ค้นหา <ph name="SITE_NAME" /></translation>
@@ -2753,6 +2761,7 @@
 <translation id="4348766275249686434">รวบรวมข้อผิดพลาด</translation>
 <translation id="4349828822184870497">มีประโยชน์</translation>
 <translation id="4350019051035968019">ไม่สามารถลงทะเบียนอุปกรณ์นี้กับโดเมนที่บัญชีของคุณใช้อยู่ได้ เนื่องจากอุปกรณ์มีการทำเครื่องหมายไว้ว่าได้รับการจัดการจากโดเมนอื่น</translation>
+<translation id="4350230709416545141">บล็อก <ph name="HOST" /> ไม่ให้เข้าถึงตำแหน่งของคุณเสมอ</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> ต้องการสแกนหาอุปกรณ์บลูทูธที่อยู่ใกล้เคียงและได้พบอุปกรณ์ต่อไปนี้</translation>
 <translation id="4354073718307267720">ถามเมื่อเว็บไซต์ต้องการสร้างแผนที่ 3 มิติของสิ่งที่อยู่รอบตัวคุณหรือติดตามตำแหน่งของกล้อง</translation>
@@ -2772,6 +2781,7 @@
 <translation id="4370975561335139969">อีเมลและรหัสผ่านที่คุณป้อนไม่ตรงกัน</translation>
 <translation id="4374831787438678295">โปรแกรมติดตั้ง Linux</translation>
 <translation id="4375035964737468845">เปิดไฟล์ที่ดาวน์โหลดมา</translation>
+<translation id="4376226992615520204">ตำแหน่งปิดอยู่</translation>
 <translation id="4377363674125277448">มีปัญหาเกี่ยวกับใบรับรองของเซิร์ฟเวอร์</translation>
 <translation id="4378154925671717803">โทรศัพท์</translation>
 <translation id="4378373042927530923">ไม่ทำงาน</translation>
@@ -2971,7 +2981,6 @@
 <translation id="4619615317237390068">แท็บจากอุปกรณ์อื่นๆ</translation>
 <translation id="4620809267248568679">การตั้งค่านี้ได้รับการบังคับใช้โดยส่วนขยาย</translation>
 <translation id="4623189117674524348">ระบบให้สิทธิ์การเข้าถึง API แก่อุปกรณ์นี้ไม่สำเร็จ</translation>
-<translation id="4624190781974168453">ถามเมื่อเริ่มต้นใช้งาน</translation>
 <translation id="4625078469366263107">เปิดใช้แอป</translation>
 <translation id="4627427111733173920">บล็อกคุกกี้</translation>
 <translation id="4627442949885028695">ดำเนินการต่อจากอุปกรณ์อื่น</translation>
@@ -3401,7 +3410,6 @@
 <translation id="5185386675596372454">รุ่นใหม่ล่าสุดของ "<ph name="EXTENSION_NAME" />" ถูกปิดใช้งาน เนื่องจากต้องได้รับการอนุญาตมากกว่านี้</translation>
 <translation id="5185500136143151980">ไม่มีอินเทอร์เน็ต</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">เมนูตัวเลือกสำหรับ <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">เปิดใช้งานพอร์ต</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ต้องการดาวน์โหลดหลายไฟล์</translation>
 <translation id="5192062846343383368">เปิดแอป Family Link เพื่อดูการตั้งค่าการควบคุมดูแล</translation>
@@ -3594,6 +3602,7 @@
 <translation id="5431825016875453137">OpenVPN/L2TP</translation>
 <translation id="543338862236136125">แก้ไขรหัสผ่าน</translation>
 <translation id="5434065355175441495">PKCS #1 การเข้ารหัส RSA</translation>
+<translation id="5435779377906857208">อนุญาตให้ <ph name="HOST" /> เข้าถึงตำแหน่งของคุณเสมอ</translation>
 <translation id="5436492226391861498">กำลังรอช่องทางการเชื่อมต่อพร็อกซี...</translation>
 <translation id="5436510242972373446">ค้นหา <ph name="SITE_NAME" />:</translation>
 <translation id="543806387003274181">โปรดบันทึกไฟล์และสร้างบัญชีใหม่ตอนนี้เลย</translation>
@@ -3777,6 +3786,7 @@
 <translation id="5642508497713047">ผู้เซ็นชื่อ CRL</translation>
 <translation id="5643321261065707929">เครือข่ายมีการวัดปริมาณอินเทอร์เน็ต</translation>
 <translation id="5643620609347735571">ล้างและดำเนินการต่อ</translation>
+<translation id="5646376287012673985">ตำแหน่ง</translation>
 <translation id="5646558797914161501">นักธุรกิจ</translation>
 <translation id="5648166631817621825">7 วันที่แล้ว</translation>
 <translation id="5649053991847567735">การดาวน์โหลดโดยอัตโนมัติ</translation>
@@ -3820,6 +3830,7 @@
 <translation id="5701212929149679556">การโรมมิ่งเครือข่ายมือถือ</translation>
 <translation id="5701381305118179107">กึ่งกลาง</translation>
 <translation id="5701441174893770082">การอัปเกรด Linux อาจทำให้แบตเตอรี่หมดอย่างรวดเร็ว โปรดต่ออุปกรณ์กับที่ชาร์จแล้วลองอีกครั้ง</translation>
+<translation id="5702749864074810610">ปิดคำแนะนำแล้ว</translation>
 <translation id="5702898740348134351">แ&amp;ก้ไขเครื่องมือค้นหา...</translation>
 <translation id="5704875434923668958">กำลังซิงค์กับ</translation>
 <translation id="5705005699929844214">แสดงตัวเลือกการช่วยเหลือพิเศษเสมอ</translation>
@@ -3940,6 +3951,7 @@
 <translation id="5857090052475505287">โฟลเดอร์ใหม่</translation>
 <translation id="5857171483910641802">แนะนำทางลัดโดยอิงตามเว็บไซต์ที่คุณเข้าชมบ่อย</translation>
 <translation id="5858490737742085133">เทอร์มินัล</translation>
+<translation id="5859603669299126575">อัลบั้มแกลเลอรีศิลปะ</translation>
 <translation id="585979798156957858">แป้นเมตาภายนอก</translation>
 <translation id="5860033963881614850">ปิด</translation>
 <translation id="5860491529813859533">เปิด</translation>
@@ -4012,7 +4024,7 @@
 <translation id="5939518447894949180">รีเซ็ต</translation>
 <translation id="5941153596444580863">เพิ่มบุคคล...</translation>
 <translation id="5941343993301164315">โปรดลงชื่อเข้าใช้ <ph name="TOKEN_NAME" /></translation>
-<translation id="5941711191222866238">ย่อ</translation>
+<translation id="5941711191222866238">ย่อเล็กสุด</translation>
 <translation id="5942964813783878922"><ph name="DEVICE_TYPE" /> จะรีสตาร์ทหลังการอัปเดตนี้ การอัปเดตซอฟต์แวร์และการรักษาความปลอดภัยในอนาคตจะติดตั้งโดยอัตโนมัติ</translation>
 <translation id="5944869793365969636">สแกนคิวอาร์โค้ด</translation>
 <translation id="5946591249682680882">รหัสรายงาน <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4325,6 +4337,7 @@
 <translation id="6318125393809743217">รวมไฟล์ policies.json พร้อมการกำหนดค่านโยบาย</translation>
 <translation id="6318407754858604988">เริ่มดาวน์โหลดแล้ว</translation>
 <translation id="6318944945640833942">ไม่พบเครื่องพิมพ์ โปรดป้อนที่อยู่เครื่องพิมพ์อีกครั้ง</translation>
+<translation id="6321407676395378991">เปิดโปรแกรมรักษาหน้าจอ</translation>
 <translation id="6322653941595359182">ส่งและรับข้อความจาก Chromebook</translation>
 <translation id="6324916366299863871">แก้ไขทางลัด</translation>
 <translation id="6325191661371220117">ปิดใช้งานการเรียกใช้อัตโนมัติ</translation>
@@ -4483,7 +4496,6 @@
 <translation id="6531282281159901044">เก็บไฟล์อันตรายไว้</translation>
 <translation id="6532101170117367231">บันทึกไปยัง Google ไดรฟ์</translation>
 <translation id="6532106788206463496">บันทึกการเปลี่ยนแปลง</translation>
-<translation id="6532113437901537254">รหัสผ่านจากบัญชี Google จะพร้อมใช้งานในอุปกรณ์นี้ด้วยในระหว่างที่คุณลงชื่อเข้าใช้</translation>
 <translation id="6532206849875187177">ความปลอดภัยและการลงชื่อเข้าใช้</translation>
 <translation id="6532527800157340614">ลงชื่อเข้าใช้ไม่สำเร็จเนื่องจากระบบเรียกดูโทเค็นเพื่อการเข้าถึงไม่ได้ โปรดตรวจสอบการเชื่อมต่อเครือข่ายแล้วลองอีกครั้ง</translation>
 <translation id="6532663472409656417">องค์กรที่ลงทะเบียน</translation>
@@ -4505,6 +4517,7 @@
 <translation id="6555432686520421228">ลบบัญชีผู้ใช้ทั้งหมดและรีเซ็ตอุปกรณ์ <ph name="IDS_SHORT_PRODUCT_NAME" /> ของคุณให้เหมือนใหม่</translation>
 <translation id="6555810572223193255">การทำความสะอาดไม่พร้อมใช้งานในขณะนี้</translation>
 <translation id="6556866813142980365">ทำซ้ำ</translation>
+<translation id="6556903358015358733">ธีมและวอลเปเปอร์</translation>
 <translation id="6557290421156335491">ทางลัดของฉัน</translation>
 <translation id="6561560012278703671">ใช้การส่งข้อความแบบไม่ส่งเสียง (บล็อกข้อความแจ้งเตือนไม่ให้รบกวนคุณ)</translation>
 <translation id="6561726789132298588">ป้อน</translation>
@@ -4528,6 +4541,7 @@
 <translation id="6590458744723262880">เปลี่ยนชื่อโฟลเดอร์</translation>
 <translation id="6592267180249644460">บันทึก WebRTC ที่จับภาพ <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">บันทึกลายนิ้วมือของคุณได้แล้ว</translation>
+<translation id="6595187330192059106">บล็อก <ph name="HOST" /> ไม่ให้ควบคุมอุปกรณ์ MIDI โดยสมบูรณ์เสมอ</translation>
 <translation id="6596325263575161958">ตัวเลือกการเข้ารหัส</translation>
 <translation id="6596816719288285829">ที่อยู่ IP</translation>
 <translation id="6597017209724497268">ตัวอย่าง</translation>
@@ -5013,9 +5027,6 @@
 <translation id="7201118060536064622">ลบ "<ph name="DELETED_ITEM_NAME" />" แล้ว</translation>
 <translation id="7201420661433230412">ดูไฟล์</translation>
 <translation id="7203150201908454328">ขยาย</translation>
-<translation id="7203826966018112936">การเพิ่มบัญชีโรงเรียนลงในโปรไฟล์ช่วยให้ผู้ใช้ซึ่งเป็นนักเรียนลงชื่อเข้าใช้เว็บไซต์และส่วนขยายต่างๆ ได้โดยง่ายในขณะที่ยังคงดำเนินการภายใต้การควบคุมโดยผู้ปกครอง การดำเนินการนี้ไม่ได้อนุญาตให้เด็กเข้าถึงบุ๊กมาร์ก รหัสผ่าน หรือข้อมูลอื่นๆ ของเบราว์เซอร์ที่ซิงค์กับบัญชีโรงเรียน&lt;br&gt;&lt;br&gt;
-    หากบุตรหลานของคุณใช้ Chromebook ในโรงเรียนและคุณต้องการให้การเรียนการสอนที่บ้านเหมือนกับที่โรงเรียนเพื่อให้แน่ใจว่าเด็กจะเข้าถึงงานที่โรงเรียนตามที่จำเป็นทั้งหมดได้ โปรดออกจากระบบบัญชี Family Link นี้และลงชื่อเข้าใช้บัญชีโรงเรียนจากหน้าบัญชี Chrome OS (หมายเหตุ: ระบบจะไม่ใช้การควบคุมโดยผู้ปกครองของ Family Link)&lt;br&gt;&lt;br&gt;
-    หากเด็กไม่ได้ใช้ Chromebook ในโรงเรียน หรือคุณต้องการจัดการเรียนการสอนที่บ้านโดยใช้ Family Link โปรดคลิกปุ่ม "ถัดไป" ด้านล่างเพื่อเพิ่มบัญชีโรงเรียนลงในโปรไฟล์นี้</translation>
 <translation id="7206693748120342859">กำลังดาวน์โหลด <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{หน้าที่ออกไป}other{หน้าที่ออกไป}}</translation>
 <translation id="7207457272187520234">ส่งข้อมูลการใช้งานและการวินิจฉัย ปัจจุบันอุปกรณ์นี้ส่งข้อมูลการวินิจฉัย อุปกรณ์ และการใช้งานแอปไปยัง Google โดยอัตโนมัติ ซึ่งจะช่วยปรับปรุงความเสถียรของแอปและระบบ และอื่นๆ ข้อมูลที่รวบรวมมาบางส่วนจะมีประโยชน์ต่อแอปและพาร์ทเนอร์ของ Google ด้วย เช่น นักพัฒนาซอฟต์แวร์ Android เจ้าของเป็นผู้บังคับใช้การตั้งค่านี้ หากเปิดการตั้งค่ากิจกรรมเพิ่มเติมบนเว็บและแอปไว้ ระบบอาจบันทึกข้อมูลนี้ไว้ในบัญชี Google ของคุณ</translation>
@@ -5158,7 +5169,6 @@
 <translation id="7388044238629873883">ใกล้จะเสร็จเรียบร้อยแล้ว!</translation>
 <translation id="7392118418926456391">สแกนไวรัสล้มเหลว</translation>
 <translation id="7392915005464253525">เ&amp;ปิดหน้าต่างที่ถูกปิดขึ้นใหม่</translation>
-<translation id="7393472013449507620">ไม่รองรับการตั้งค่าด้วยไวลด์การ์ด "*" อีกต่อไป ติดต่อนักพัฒนาซอฟต์แวร์ของส่วนขยายหรือผู้ดูแลระบบเพื่อ<ph name="BEGIN_LINK" />เปลี่ยนการตั้งค่าเหล่านี้<ph name="END_LINK" /></translation>
 <translation id="7396017167185131589">โฟลเดอร์ที่แชร์จะปรากฏที่นี่</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> จะเปิดใช้งานเมื่อเริ่มต้นระบบและทำงานต่อไปในแบบเบื้องหลัง แม้คุณจะปิดหน้าต่าง <ph name="PRODUCT_NAME" /> อื่นๆ จนหมดแล้ว</translation>
 <translation id="7399045143794278225">ปรับแต่งการซิงค์</translation>
@@ -5271,6 +5281,7 @@
 <translation id="7526989658317409655">ตัวยึดตำแหน่ง</translation>
 <translation id="7529411698175791732">ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ หากปัญหายังคงอยู่ ให้ลองออกจากระบบและลงชื่อเข้าใช้อีกครั้ง</translation>
 <translation id="7530016656428373557">อัตราการใช้ไฟฟ้าเป็นวัตต์</translation>
+<translation id="7531310913436731628">ตำแหน่งปิดอยู่ในค่ากำหนดของระบบ Mac</translation>
 <translation id="7531779363494549572">ไปที่การตั้งค่า &gt; แอปและการแจ้งเตือน &gt; การแจ้งเตือน</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> ไม่ตอบสนอง เลือก "บังคับปิด" เพื่อปิดแอป</translation>
 <translation id="7537451260744431038">เว็บไซต์จะใช้คุกกี้เพื่อปรับปรุงประสบการณ์การท่องเว็บไม่ได้ เช่น ให้คุณลงชื่อเข้าใช้ต่อไปเรื่อยๆ หรือจำรายการในรถเข็นช็อปปิ้ง</translation>
@@ -5383,6 +5394,7 @@
 <translation id="767147716926917172">ส่งข้อมูลการวินิจฉัยและการใช้งานให้ Google โดยอัตโนมัติ</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" /> ใน <ph name="PAGE_TITLE" /></translation>
 <translation id="7674416868315480713">ปิดใช้งานทุกพอร์ตที่กำลังส่งต่อใน Linux</translation>
+<translation id="7674542105240814168">ปฏิเสธไม่ให้เข้าถึงตำแหน่ง</translation>
 <translation id="7676867886086876795">ส่งเสียงของคุณไปยัง Google เพื่อให้พิมพ์ตามคำบอกในช่องข้อความต่างๆ</translation>
 <translation id="7678280409648629969">ข้อมูลการลงชื่อเข้าใช้จะจัดเก็บอยู่ใน Chrome หลังจากที่คุณออกจากโหมดไม่ระบุตัวตน การดำเนินการนี้จะทำให้คุณใช้ Touch ID กับเว็บไซต์นี้ได้อีกในภายหลัง</translation>
 <translation id="7680416688940118410">การปรับเทียบหน้าจอสัมผัส</translation>
@@ -5590,6 +5602,7 @@
 <translation id="790040513076446191">จัดการการตั้งค่าที่เกี่ยวข้องกับความเป็นส่วนตัว</translation>
 <translation id="7903345046358933331">หน้าไม่ตอบสนอง คุณสามารถรอจนกระทั่งหน้าตอบสนอง หรือปิดหน้านั้น</translation>
 <translation id="7903742244674067440">คุณมีใบรับรองของไฟล์ซึ่งระบุตัวตนของผู้ออกใบรับรองเหล่านี้</translation>
+<translation id="7903859912536385558">เสถียร (ผู้ทดสอบที่เชื่อถือได้)</translation>
 <translation id="7903925330883316394">ยูทิลิตี: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">ผู้ดูแลระบบของบัญชีนี้ไม่อนุญาตการลงชื่อเข้าสู่ระบบพร้อมกันหลายบัญชี</translation>
 <translation id="7904526211178107182">ทำให้พอร์ต Linux ใช้งานได้กับอุปกรณ์อื่นๆ ในเครือข่าย</translation>
@@ -5715,6 +5728,7 @@
 <translation id="8049705080247101012">Google ได้ตั้งค่าสถานะ "<ph name="EXTENSION_NAME" />" ว่าเป็นอันตราย และป้องกันไม่ให้มีการติดตั้งแล้ว</translation>
 <translation id="8049948037269924837">การเลื่อนทัชแพดแบบย้อนกลับ</translation>
 <translation id="8050038245906040378">การรับรองรหัสเชิงพาณิชย์ของ Microsoft</translation>
+<translation id="8051390370038326517">อนุญาตให้ <ph name="HOST" /> ควบคุมอุปกรณ์ MIDI โดยสมบูรณ์เสมอ</translation>
 <translation id="8053278772142718589">ไฟล์ PKCS #12</translation>
 <translation id="8053390638574070785">โหลดหน้านี้ใหม่</translation>
 <translation id="8054517699425078995">ไฟล์ประเภทนี้อาจเป็นอันตรายต่ออุปกรณ์ของคุณ คุณยังต้องการเก็บไฟล์ <ph name="FILE_NAME" /> ไว้ไหม</translation>
@@ -5766,6 +5780,7 @@
 <translation id="810728361871746125">ความละเอียดของจอแสดงผล</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{ไม่มีคุกกี้ของบุคคลที่สาม}=1{บล็อกคุกกี้ของบุคคลที่สามไว้ 1 รายการ}other{บล็อกคุกกี้ของบุคคลที่สามไว้ # รายการ}}</translation>
 <translation id="810875025413331850">ไม่พบอุปกรณ์ที่อยู่ใกล้เคียง</translation>
+<translation id="8113476325385351118">บล็อกเว็บไซต์นี้ไม่ให้มีสิทธิ์ควบคุมอุปกรณ์ MIDI โดยสมบูรณ์ต่อไป</translation>
 <translation id="8114199541033039755">ไปยังหน้าแรก ย้อนกลับ และสลับแอปด้วยปุ่มในโหมดแท็บเล็ต เปิดเมื่อมีการเปิดใช้ ChromeVox หรือการคลิกอัตโนมัติ</translation>
 <translation id="8114875720387900039">แยกในแนวนอน</translation>
 <translation id="8116972784401310538">ตั&amp;วจัดการบุ๊กมาร์ก</translation>
@@ -6051,7 +6066,6 @@
 <translation id="8470513973197838199">รหัสผ่านที่บันทึกไว้สำหรับ <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">การสนับสนุนฮาร์ดแวร์</translation>
 <translation id="8473863474539038330">ที่อยู่และอื่นๆ</translation>
-<translation id="8474733733775441349">แสดงรหัสผ่านจากบัญชี Google</translation>
 <translation id="8475313423285172237">โปรแกรมอื่นในคอมพิวเตอร์ของคุณเพิ่มส่วนขยายที่อาจเปลี่ยนวิธีการทำงานของ Chrome</translation>
 <translation id="8477241577829954800">ถูกแทนที่</translation>
 <translation id="8477384620836102176">&amp;ทั่วไป</translation>
@@ -6134,6 +6148,7 @@
 <translation id="8590375307970699841">ติดตั้งการอัปเดตอัตโนมัติ</translation>
 <translation id="8591783563402255548">1 วินาที</translation>
 <translation id="8592141010104017453">ไม่ต้องแสดงการแจ้งเตือนใดๆ</translation>
+<translation id="859246725979739260">เว็บไซต์นี้ถูกบล็อกไม่ให้เข้าถึงตำแหน่งของคุณ</translation>
 <translation id="8593121833493516339">ส่งข้อมูลการใช้งานและการวินิจฉัย ช่วยปรับปรุงประสบการณ์การใช้งาน Android ของบุตรหลานให้ดีขึ้นด้วยการส่งข้อมูลการวินิจฉัย อุปกรณ์ และการใช้งานแอปไปยัง Google โดยอัตโนมัติ โดยจะไม่มีการใช้ข้อมูลนี้ในการระบุชื่อบุตรหลานของคุณ และจะช่วยปรับปรุงความเสถียรของแอปและระบบ และอื่นๆ ข้อมูลที่รวบรวมมาบางส่วนจะมีประโยชน์ต่อแอปและพาร์ทเนอร์ของ Google ด้วย เช่น นักพัฒนาซอฟต์แวร์ Android หากเปิดการตั้งค่ากิจกรรมเพิ่มเติมบนเว็บและแอปสำหรับบุตรหลาน ระบบอาจบันทึกข้อมูลนี้ไว้ในบัญชี Google ของบุตรหลาน <ph name="BEGIN_LINK1" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">จับภาพวิดีโอ</translation>
 <translation id="8596540852772265699">ไฟล์ที่กำหนดเอง</translation>
@@ -6146,6 +6161,7 @@
 <translation id="860909219589324847">ไม่ใช้อินเทอร์เน็ตมือถือในการโอนข้อมูล</translation>
 <translation id="8609465669617005112">เลื่อนขึ้น</translation>
 <translation id="8610103157987623234">รูปแบบไม่ถูกต้อง โปรดลองอีกครั้ง</translation>
+<translation id="8611682088849615761">อนุญาตให้เว็บไซต์นี้มีสิทธิ์ควบคุมอุปกรณ์ MIDI โดยสมบูรณ์ต่อไป</translation>
 <translation id="8613164732773110792">อักขระตัวพิมพ์เล็ก ตัวเลข ขีดล่าง หรือขีดกลางเท่านั้น</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> ใหญ่เกินไปสำหรับการตรวจสอบความปลอดภัย ไฟล์ที่เปิดต้องมีขนาดไม่เกิน 50 MB</translation>
 <translation id="8615618338313291042">แอปพลิเคชันที่ไม่ระบุตัวตน: <ph name="APP_NAME" /></translation>
@@ -6288,6 +6304,7 @@
 <translation id="8761945298804995673">มีผู้ใช้รายนี้แล้ว</translation>
 <translation id="8762886931014513155"><ph name="DEVICE_TYPE" /> ต้องการการอัปเดต</translation>
 <translation id="8763927697961133303">อุปกรณ์ USB</translation>
+<translation id="87646919272181953">อัลบั้มใน Google Photos</translation>
 <translation id="8767621466733104912">อัปเดต Chrome สำหรับผู้ใช้ทุกคนโดยอัตโนมัติ</translation>
 <translation id="8770406935328356739">ไดเรกทอรีหลักของส่วนขยาย</translation>
 <translation id="8770507190024617908">จัดการบุคคล</translation>
@@ -6604,6 +6621,7 @@
 <translation id="9147392381910171771">&amp;ตัวเลือก</translation>
 <translation id="9148058034647219655">ออก</translation>
 <translation id="9148126808321036104">ลงชื่อเข้าใช้อีกครั้ง</translation>
+<translation id="9148963623915467028">เว็บไซต์นี้เข้าถึงตำแหน่งของคุณได้</translation>
 <translation id="9149866541089851383">แก้ไข...</translation>
 <translation id="9150045010208374699">ใช้กล้องถ่ายรูปของคุณ</translation>
 <translation id="9153934054460603056">บันทึกข้อมูลประจำตัวและรหัสผ่าน</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb
index f5e5a92..8b6a9d2 100644
--- a/chrome/app/resources/generated_resources_tr.xtb
+++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Yalnızca Şifrele</translation>
 <translation id="1038462104119736705">Linux için en az <ph name="INSTALL_SIZE" /> alan olması önerilir. Boş alanı artırmak için cihazdan bazı dosyaları silin.</translation>
 <translation id="1039337018183941703">Geçersiz veya bozuk dosya</translation>
-<translation id="104086161873270383">Yeni Profil</translation>
 <translation id="1041175011127912238">Bu sayfa yanıt vermiyor</translation>
 <translation id="1041263367839475438">Kullanılabilir cihazlar</translation>
 <translation id="1042174272890264476">Bilgisayarınızda aynı zamanda yerleşik <ph name="SHORT_PRODUCT_NAME" /> RLZ kitaplığı da bulunur. RLZ, aramaları ve belirli bir promosyon kampanyasının sağladığı <ph name="SHORT_PRODUCT_NAME" /> kullanımını ölçmek için benzersiz olmayan ve kimlik bilgileri içermeyen bir etiket atar. Bu etiketler bazen <ph name="PRODUCT_NAME" /> içindeki Google Arama sorgularında görünür.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> alt sayfa geri düğmesi</translation>
 <translation id="1322046419516468189">Kayıtlı şifreleri <ph name="SAVED_PASSWORDS_STORE" /> üzerinde görüntüleyin ve yönetin</translation>
 <translation id="1324106254079708331">Hedeflenmiş saldırıya uğrama riski olan herkesin kişisel Google Hesaplarını korur</translation>
-<translation id="1325985428688410772">Alan Ekle</translation>
 <translation id="1326317727527857210">Diğer cihazlarınızdaki sekmelerinize ulaşmak için Chrome'da oturum açın.</translation>
 <translation id="1327074568633507428">Google Cloud Print'teki yazıcı</translation>
 <translation id="1327272175893960498">Kerberos biletleri</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Şifre kontrolü özelliği Chromium'da kullanılamıyor</translation>
 <translation id="1871534214638631766">İçeriği sağ tıkladığınızda veya uzun bastığınızda ilgili bilgileri gösterir</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> cihazınız güncel</translation>
-<translation id="1874835396235780806">Bu ve diğer şifreler Google Hesabınıza kaydedilsin mi?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Sekmeyi başka bir pencereye taşı}other{Sekmeleri başka bir pencereye taşı}}</translation>
 <translation id="1875386316419689002">Bu sekme bir HID cihazına bağlı.</translation>
 <translation id="1875387611427697908">Bu yalnızca <ph name="CHROME_WEB_STORE" /> kullanılarak eklenebilir</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Ağ <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, Bağlan</translation>
 <translation id="1884705339276589024">Linux Disk'i yeniden yeniden boyutlandırma</translation>
 <translation id="1885106732301550621">Disk alanı</translation>
-<translation id="1885190042244431215">Okul hesabı eklemek, ebeveyn denetimleri altında çalışırken web sitelerinde ve uzantılarda öğrenci olarak kolayca oturum açmayı sağlar.</translation>
 <translation id="1886996562706621347">Sitelerin, protokoller için varsayılan işleyiciler olmasını sormasına izin ver (önerilir)</translation>
 <translation id="1887442540531652736">Oturum açma hatası</translation>
 <translation id="1887597546629269384">Tekrar "Hey Google" deyin</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Erişilebilirlik ayarlarınızı okuma</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Bir dosyaya kalıcı erişimi vardır.}other{# dosyaya kalıcı erişimi vardır.}}</translation>
 <translation id="3660234220361471169">Güvenilmeyen</translation>
-<translation id="3661172646479098821">Şu anda yalnızca Android cihazlar desteklenmektedir.</translation>
 <translation id="3664511988987167893">Uzantı Simgesi</translation>
 <translation id="3665589677786828986">Chrome, bazı ayarlarınızın başka bir program tarafından bozulduğunu algıladı ve onları orijinal varsayılan değerlerine sıfırladı.</translation>
 <translation id="3668801437375206837">Google çalışanları Bluetooth sorunlarını daha iyi teşhis etmek için geri bildirim raporlarına ek Bluetooth günlükleri dahil edebilirler. Bu seçenek işaretlendiğinde, geçerli oturumunuzdan btsnoop ve HCI günlükleri raporunuza eklenecektir. Bu şekilde mümkün olan en fazla sayıda PII temizlenecektir. Bu günlüklere erişim, Listnr'da Chrome OS ürün grubu yöneticileri ile kısıtlı olacaktır. Günlükler 90 gün sonra tamamen silinecektir.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Girdiğiniz e-posta ve şifre eşleşmiyor</translation>
 <translation id="4374831787438678295">Linux yükleyici</translation>
 <translation id="4375035964737468845">İndirilen dosyaları açma</translation>
+<translation id="4376226992615520204">Konum kapatıldı</translation>
 <translation id="4377363674125277448">Sunucunun sertifikasıyla ilgili bir sorun vardı.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Çalıştırılmadı</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Diğer cihazlardan sekmeler</translation>
 <translation id="4620809267248568679">Bu ayar bir uzantı tarafından zorunlu tutuluyor.</translation>
 <translation id="4623189117674524348">Sistem bu cihaz için API erişimini yetkilendiremedi.</translation>
-<translation id="4624190781974168453">Başlangıçta sor</translation>
 <translation id="4625078469366263107">Uygulamayı Etkinleştir</translation>
 <translation id="4627427111733173920">Çerezler engellendi</translation>
 <translation id="4627442949885028695">Başka bir cihazdan devam edin</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" adlı uzantının en yeni sürümü daha fazla izin gerektirdiğinden devre dışı bırakıldı.</translation>
 <translation id="5185500136143151980">İnternet bağlantısı yok</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> seçenekler menüsü</translation>
 <translation id="5190926251776387065">Bağlantı noktasını etkinleştir</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> birden fazla dosya indirmek istiyor</translation>
 <translation id="5192062846343383368">Gözetim ayarlarınızı görmek için Family Link uygulamasını açın</translation>
@@ -3778,6 +3772,7 @@
 <translation id="5642508497713047">CRL İmza Sahibi</translation>
 <translation id="5643321261065707929">Sayaçlı ağ</translation>
 <translation id="5643620609347735571">Temizle ve devam et</translation>
+<translation id="5646376287012673985">Konum</translation>
 <translation id="5646558797914161501">İş adamı</translation>
 <translation id="5648166631817621825">Son 7 gün</translation>
 <translation id="5649053991847567735">Otomatik indirmeler</translation>
@@ -4013,7 +4008,7 @@
 <translation id="5939518447894949180">Sıfırla</translation>
 <translation id="5941153596444580863">Kişi ekle...</translation>
 <translation id="5941343993301164315">Lütfen şurada oturum açın: <ph name="TOKEN_NAME" />.</translation>
-<translation id="5941711191222866238">Simge durumuna küçült</translation>
+<translation id="5941711191222866238">Küçült</translation>
 <translation id="5942964813783878922">Bu güncellemeden sonra <ph name="DEVICE_TYPE" /> cihazınız yeniden başlatılır. Gelecekteki yazılım ve güvenlik güncellemeleri otomatik olarak yüklenir.</translation>
 <translation id="5944869793365969636">QR kodunu tara</translation>
 <translation id="5946591249682680882">Rapor kimliği <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4484,7 +4479,6 @@
 <translation id="6531282281159901044">Tehlikeli dosyayı tut</translation>
 <translation id="6532101170117367231">Google Drive'a Kaydet</translation>
 <translation id="6532106788206463496">Değişiklikleri kaydet</translation>
-<translation id="6532113437901537254">Oturum açtığınızda Google Hesabınızdaki şifrelerinize bu cihazdan da erişebilirsiniz.</translation>
 <translation id="6532206849875187177">Güvenlik ve oturum açma</translation>
 <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>
@@ -5014,9 +5008,6 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" silindi</translation>
 <translation id="7201420661433230412">Dosyaları görüntüle</translation>
 <translation id="7203150201908454328">Genişletilmiş</translation>
-<translation id="7203826966018112936">Profile okul hesabı eklemek, ebeveyn denetimleri altında çalışmaya devam ederken web sitelerinde ve uzantılarda öğrenci olarak kolayca oturum açmayı sağlar. Bu, çocuğa okul hesabıyla senkronize edilen yer işaretlerine, şifrelere ve diğer tarayıcı verilerine erişim izni vermez.&lt;br&gt;&lt;br&gt;
-    Çocuğunuz okulda Chromebook kullanıyorsa ve çocuğunuzun gerekli tüm okul çalışmalarına erişimini sağlamak için evde okul deneyimini yansıtmak istiyorsanız lütfen bu Family Link hesabında oturumunuzu kapatıp Chrome OS hesapları sayfasından okul hesabında oturum açın (Not: Family Link ebeveyn denetimleri geçerli olmayacak).&lt;br&gt;&lt;br&gt;
-    Çocuğunuz okulda Chromebook kullanmıyorsa veya çocuğunuzun evdeki deneyimini Family Link'i kullanarak yönetmeyi tercih ediyorsanız bu profile okul hesabı eklemek için lütfen aşağıdaki Sonraki düğmesini tıklayın.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> indiriliyor...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Sayfadan çık}other{Sayfalardan çık}}</translation>
 <translation id="7207457272187520234">Kullanım ve teşhis verilerini gönder. Bu cihaz şu anda teşhis, cihaz ve uygulama kullanımı verilerini otomatik olarak Google'a gönderiyor. Bu veriler, sistem ve uygulama kararlılığı ile diğer özellikleri iyileştirmeye yardımcı olur. Bazı birleştirilmiş veriler, Google uygulamalarına ve iş ortaklarına da (ör. Android geliştiricileri) yardımcı olur. Bu ayar, cihazın sahibi tarafından zorunlu kılınmıştır. Ek Web ve Uygulama Etkinliği açıksa bu veriler Google Hesabınıza kaydedilebilir.</translation>
@@ -5159,7 +5150,6 @@
 <translation id="7388044238629873883">Neredeyse bitti!</translation>
 <translation id="7392118418926456391">Virüs taraması başarısız oldu</translation>
 <translation id="7392915005464253525">Kapatılan p&amp;encereyi yeniden aç</translation>
-<translation id="7393472013449507620">"*" joker karakteri içeren ayarlar artık desteklenmemektedir. <ph name="BEGIN_LINK" />Bu ayarları<ph name="END_LINK" /> değiştirmek için uzantı geliştiricisiyle veya yöneticinizle iletişime geçin.</translation>
 <translation id="7396017167185131589">Paylaşılan klasörler burada görünür</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" />, sistem açıldığında başlayacak ve diğer tüm <ph name="PRODUCT_NAME" /> pencerelerini kapatsanız da arka planda çalışmaya devam edecektir.</translation>
 <translation id="7399045143794278225">Senkronizasyonu özelleştir</translation>
@@ -5272,6 +5262,7 @@
 <translation id="7526989658317409655">Yer Tutucu</translation>
 <translation id="7529411698175791732">İnternet bağlantınızı kontrol edin. Sorun devam ederse oturumu kapatıp tekrar açmayı deneyin.</translation>
 <translation id="7530016656428373557">Vat Olarak Boşalma Oranı</translation>
+<translation id="7531310913436731628">Konum, Mac Sistem Tercihleri'nde kapatıldı</translation>
 <translation id="7531779363494549572">Ayarlar &gt; Uygulamalar ve bildirimler &gt; Bildirimler'e gidin.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> yanıt vermiyor. Uygulamayı kapatmak için "Uygulamayı kapat"ı seçin.</translation>
 <translation id="7537451260744431038">Siteler size daha iyi bir göz atma deneyimi sunmak, örneğin, oturumunuzu açık tutmak veya alışveriş sepetinizdeki ürünleri hatırlamak için çerez kullanamaz</translation>
@@ -6051,7 +6042,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> için kaydedilmiş şifreler</translation>
 <translation id="8472623782143987204">donanım esaslı</translation>
 <translation id="8473863474539038330">Adresler ve daha fazlası</translation>
-<translation id="8474733733775441349">Google Hesabımdaki şifreleri göster</translation>
 <translation id="8475313423285172237">Bilgisayarınızdaki başka bir program, Chrome'un çalışma şeklini değiştirebilecek bir uzantı ekledi.</translation>
 <translation id="8477241577829954800">Geçersiz kılındı</translation>
 <translation id="8477384620836102176">&amp;Genel</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index 3133616..002646b 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Тільки шифрувати</translation>
 <translation id="1038462104119736705">Для Linux потрібно принаймні <ph name="INSTALL_SIZE" /> вільного місця. Щоб звільнити місце, видаліть файли з пристрою.</translation>
 <translation id="1039337018183941703">Недійсний або пошкоджений файл</translation>
-<translation id="104086161873270383">Новий профіль</translation>
 <translation id="1041175011127912238">Ця сторінка не відповідає</translation>
 <translation id="1041263367839475438">Доступні пристрої</translation>
 <translation id="1042174272890264476">Ваш комп’ютер також має вбудовану бібліотеку RLZ у <ph name="SHORT_PRODUCT_NAME" />. Параметр RLZ призначає неунікальний тег, який не містить особисті дані, проте дозволяє вимірювати пошуки й користування <ph name="SHORT_PRODUCT_NAME" /> у рамках певної рекламної кампанії. Ці мітки інколи з’являються в пошукових запитах Google у <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Кнопка "Назад" на підсторінці "<ph name="SUBPAGE_TITLE" />"</translation>
 <translation id="1322046419516468189">Переглядайте збережені паролі й керуйте ними на сторінці <ph name="SAVED_PASSWORDS_STORE" /></translation>
 <translation id="1324106254079708331">Захищає особисті облікові записи Google від цілеспрямованих атак</translation>
-<translation id="1325985428688410772">Додати пробіл</translation>
 <translation id="1326317727527857210">Щоб мати доступ до вкладок з інших пристроїв, увійдіть в обліковий запис Chrome.</translation>
 <translation id="1327074568633507428">Принтер у Google Cloud Print</translation>
 <translation id="1327272175893960498">Квитки Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Перевірка паролів недоступна в Chromium</translation>
 <translation id="1871534214638631766">Показувати пов'язану інформацію, коли ви натискаєте правою кнопкою миші або утримуєте контент</translation>
 <translation id="1871615898038944731">Ваш пристрій <ph name="DEVICE_TYPE" /> оновлено</translation>
-<translation id="1874835396235780806">Зберегти цей та інші паролі у вашому обліковому записі Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Перемістити вкладку в інше вікно}one{Перемістити вкладки в інше вікно}few{Перемістити вкладки в інше вікно}many{Перемістити вкладки в інше вікно}other{Перемістити вкладки в інше вікно}}</translation>
 <translation id="1875386316419689002">Цю вкладку під'єднано до пристрою HID.</translation>
 <translation id="1875387611427697908">Можна додавати лише із сайту <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Мережа <ph name="NETWORK_INDEX" /> з <ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />. Підключитися</translation>
 <translation id="1884705339276589024">Змінити розмір диска Linux</translation>
 <translation id="1885106732301550621">Місце на диску</translation>
-<translation id="1885190042244431215">Якщо додати обліковий запис навчального закладу, дитина зможе легко входити на сайтах і в розширеннях як учень, але на її дії поширюватиметься батьківський контроль.</translation>
 <translation id="1886996562706621347">Дозволити сайтам запитувати можливість ставати обробниками протоколів за умовчанням (рекомендовано)</translation>
 <translation id="1887442540531652736">Помилка входу</translation>
 <translation id="1887597546629269384">Скажіть "Hey Google" ще раз</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Переглядати налаштування доступності</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Має постійний доступ до одного файлу.}one{Має постійний доступ до # файлу.}few{Має постійний доступ до # файлів.}many{Має постійний доступ до # файлів.}other{Має постійний доступ до # файлу.}}</translation>
 <translation id="3660234220361471169">Ненадійні</translation>
-<translation id="3661172646479098821">Наразі підтримуються лише пристрої Android.</translation>
 <translation id="3664511988987167893">Значок розширення</translation>
 <translation id="3665589677786828986">Chrome виявив, що інша програма пошкодила деякі ваші налаштування, і відновив початкові налаштування за умовчанням.</translation>
 <translation id="3668801437375206837">Щоб краще виявляти проблеми з Bluetooth, працівники компанії Google можуть включати у звіти додаткові журнали Bluetooth. Якщо цю опцію вибрано, ваш звіт міститиме журнали btsnoop і HCI із поточного сеансу з мінімальною кількістю ідентифікаційних даних. Доступ до цих журналів матимуть лише адміністратори групи продуктів ОС Chrome в Listnr. Журнали буде видалено назавжди через 90 днів.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Введені електронна адреса та пароль не збігаються</translation>
 <translation id="4374831787438678295">Файл встановлення Linux</translation>
 <translation id="4375035964737468845">Відкривати завантажені файли</translation>
+<translation id="4376226992615520204">Визначення місцезнаходження вимкнено</translation>
 <translation id="4377363674125277448">Виникла проблема із сертифікатом сервера.</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4378373042927530923">Не виконано</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Вкладки з інших пристроїв</translation>
 <translation id="4620809267248568679">Це налаштування встановлюється розширенням.</translation>
 <translation id="4623189117674524348">Системі на вдалося надати API доступ до цього пристрою.</translation>
-<translation id="4624190781974168453">Запитувати під час запуску</translation>
 <translation id="4625078469366263107">Увімкнути додаток</translation>
 <translation id="4627427111733173920">Файли cookie заблоковано</translation>
 <translation id="4627442949885028695">Продовжити на іншому пристрої</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Нову версію розширення "<ph name="EXTENSION_NAME" />" вимкнено, оскільки для неї потрібно більше дозволів.</translation>
 <translation id="5185500136143151980">Немає Інтернету</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" />: меню параметрів</translation>
 <translation id="5190926251776387065">Активувати порт</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> хоче завантажити кілька файлів</translation>
 <translation id="5192062846343383368">Щоб переглянути налаштування батьківського контролю, відкрийте додаток Family Link</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">Сторона, що підписала CRL</translation>
 <translation id="5643321261065707929">Мережа з тарифікацією трафіку</translation>
 <translation id="5643620609347735571">Видалити та продовжити</translation>
+<translation id="5646376287012673985">Місцезнаходження</translation>
 <translation id="5646558797914161501">Бізнесмен</translation>
 <translation id="5648166631817621825">Останні 7 днів</translation>
 <translation id="5649053991847567735">Автоматичні завантаження</translation>
@@ -4012,7 +4007,7 @@
 <translation id="5939518447894949180">Скинути</translation>
 <translation id="5941153596444580863">Додати користувача…</translation>
 <translation id="5941343993301164315">Увійдіть у <ph name="TOKEN_NAME" />.</translation>
-<translation id="5941711191222866238">Зменшити</translation>
+<translation id="5941711191222866238">Згорнути</translation>
 <translation id="5942964813783878922">Після оновлення пристрій <ph name="DEVICE_TYPE" /> перезавантажиться. Майбутні оновлення програмного забезпечення й системи безпеки встановлюватимуться автоматично.</translation>
 <translation id="5944869793365969636">Сканувати QR-код</translation>
 <translation id="5946591249682680882">Ідентифікатор звіту: <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Завантажити небезпечний файл</translation>
 <translation id="6532101170117367231">Зберегти на Диску Google</translation>
 <translation id="6532106788206463496">Зберегти зміни</translation>
-<translation id="6532113437901537254">Доки ви не вийдете з облікового запису, паролі, збережені в ньому, будуть доступні на цьому пристрої</translation>
 <translation id="6532206849875187177">Безпека та вхід</translation>
 <translation id="6532527800157340614">Не вдалось отримати маркер доступу та ввійти. Перевірте з'єднання з мережею та повторіть спробу.</translation>
 <translation id="6532663472409656417">Зареєстровано підприємством</translation>
@@ -4615,7 +4609,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> і ще одна вкладка}one{<ph name="PAGE_TITLE" /> і ще # вкладка}few{<ph name="PAGE_TITLE" /> і ще # вкладки}many{<ph name="PAGE_TITLE" /> і ще # вкладок}other{<ph name="PAGE_TITLE" /> і ще # вкладки}}</translation>
 <translation id="6709133671862442373">Новини</translation>
 <translation id="6709357832553498500">Під’єднатися за допомогою розширення <ph name="EXTENSIONNAME" /></translation>
-<translation id="6710213216561001401">Попереднє</translation>
+<translation id="6710213216561001401">Назад</translation>
 <translation id="6715803357256707211">Під час встановлення додатка Linux сталася помилка. Щоб дізнатися більше, натисніть сповіщення.</translation>
 <translation id="671619610707606484">Буде видалено <ph name="TOTAL_USAGE" /> даних, збережених сайтами</translation>
 <translation id="671928215901716392">Блокування екрана</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">Елемент "<ph name="DELETED_ITEM_NAME" />" видалено</translation>
 <translation id="7201420661433230412">Переглянути файли</translation>
 <translation id="7203150201908454328">Розгорнуто</translation>
-<translation id="7203826966018112936">Якщо додати обліковий запис навчального закладу, дитина зможе легко входити на сайтах і в розширеннях як учень, але на її дії поширюватиметься батьківський контроль. Дитина не матиме доступу до закладок, паролів та інших даних веб-перегляду, які синхронізовано з обліковим записом навчального закладу.&lt;br&gt;&lt;br&gt;
-    Якщо ваша дитина користується Chromebook у навчальному закладі, і ви хочете, щоб вона мала всі необхідні для навчання доступи вдома, вийдіть з облікового запису Family Link і ввійдіть в обліковий запис навчального закладу на сторінці облікових записів ОС Chrome (примітка: батьківський контроль, налаштований через Family Link, не працюватиме).&lt;br&gt;&lt;br&gt;
-    Якщо ваша дитина не користується Chromebook у навчальному закладі або якщо ви не хочете вимикати батьківський контроль, налаштований через Family Link, нижче натисніть кнопку "Далі" та додайте обліковий запис навчального закладу в цей профіль.</translation>
 <translation id="7206693748120342859">Завантаження плагіна <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Закрити сторінку}one{Закрити сторінки}few{Закрити сторінки}many{Закрити сторінки}other{Закрити сторінки}}</translation>
 <translation id="7207457272187520234">Надсилати дані про використання й діагностику. Наразі цей пристрій автоматично надсилає в Google дані про діагностику та використання пристрою й додатків. Ця інформація допоможе підвищити стабільність системи, додатків тощо. Деякі зведені дані також корисні для додатків і партнерів Google, як-от розробників Android. Це налаштування застосовує власник. Якщо ввімкнено також запис Історії додатків і веб-пошуку, ці дані можуть зберігатися в обліковому записі Google.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Ви майже закінчили.</translation>
 <translation id="7392118418926456391">Помилка перевірки на віруси</translation>
 <translation id="7392915005464253525">В&amp;ідкрити закрите вікно знову</translation>
-<translation id="7393472013449507620">Налаштування із символом підстановки "*" більше не підтримуються. Щоб <ph name="BEGIN_LINK" />змінити їх<ph name="END_LINK" />, зв'яжіться з розробником розширення або своїм адміністратором.</translation>
 <translation id="7396017167185131589">Тут відображатимуться спільні папки</translation>
 <translation id="7396845648024431313">Програма <ph name="APP_NAME" /> запускатиметься під час запуску системи та продовжуватиме працювати у фоновому режимі навіть після закриття всіх інших вікон <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Налаштувати синхронізацію</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Заповнювач</translation>
 <translation id="7529411698175791732">Перевірте з’єднання з Інтернетом. Якщо проблема не зникне, вийдіть з облікового запису та знову ввійдіть.</translation>
 <translation id="7530016656428373557">Швидкість розряджання акумулятора у ватах</translation>
+<translation id="7531310913436731628">Доступ до геоданих вимкнено в параметрах системи Mac</translation>
 <translation id="7531779363494549572">Перейдіть у меню "Налаштування" &gt; "Додатки та сповіщення" &gt; "Сповіщення".</translation>
 <translation id="7532009420053991888">Додаток <ph name="LINUX_APP_NAME" /> не відповідає. Щоб закрити його, виберіть опцію "Примусово закрити".</translation>
 <translation id="7537451260744431038">Сайти не можуть використовувати файли cookie, щоб покращувати веб-перегляд, наприклад не виходити з облікового запису чи запам'ятовувати товари в кошику для покупок</translation>
@@ -6051,7 +6042,6 @@
 <translation id="8470513973197838199">Збережені паролі для <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">з апаратною підтримкою</translation>
 <translation id="8473863474539038330">Адреси й інше</translation>
-<translation id="8474733733775441349">Показувати паролі, збережені в обліковому записі Google</translation>
 <translation id="8475313423285172237">Інша програма на вашому комп’ютері додала розширення, яке може змінити роботу Chrome.</translation>
 <translation id="8477241577829954800">Заміщено</translation>
 <translation id="8477384620836102176">&amp;Загальне</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb
index 54b9ef4..9b76023 100644
--- a/chrome/app/resources/generated_resources_ur.xtb
+++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">صرف انسائفر</translation>
 <translation id="1038462104119736705">‏کم از کم <ph name="INSTALL_SIZE" /> جگہ Linux کے لیے تجویز کی جاتی ہے۔ خالی جگہ میں اضافہ کرنے کے لیے، اپنے آلہ سے فائلز حذف کریں۔</translation>
 <translation id="1039337018183941703">غلط یا خراب فائل</translation>
-<translation id="104086161873270383">نئی پروفائل</translation>
 <translation id="1041175011127912238">یہ صفحہ نہیں کھل رہا ہے</translation>
 <translation id="1041263367839475438">دستیاب آلات</translation>
 <translation id="1042174272890264476">‏آپ کا کمپیوٹر <ph name="SHORT_PRODUCT_NAME" /> کی پہلے سے شامل RLZ لائبریری کے ساتھ بھی آتا ہے۔ RLZ ایک غیر منفرد، ذاتی طور پر ناقابل شناخت ٹیگ کو تفویض کرتا ہے تاکہ تلاشوں اور ایک خاص پروموشنل مہم کے ذریعہ چلائے گئے <ph name="SHORT_PRODUCT_NAME" /> استعمال کی پیمائش کر سکے۔ یہ لیبلز کبھی کبھی Google تلاش استفسارات میں <ph name="PRODUCT_NAME" /> میں ظاہر ہوتے ہیں۔</translation>
@@ -281,7 +280,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> ذیلی صفحے کا پیچھے جانے کا بٹن</translation>
 <translation id="1322046419516468189">اپنے <ph name="SAVED_PASSWORDS_STORE" /> میں محفوظ کردہ پاسورڈز دیکھیں اور ان کا نظم کریں</translation>
 <translation id="1324106254079708331">‏ہدف بناکر کیے گئے حملوں کا خطرہ ہونے والے کسی کے بھی ذاتی Google اکاؤنٹس کی حفاظت کرتا ہے</translation>
-<translation id="1325985428688410772">‏Space شامل کریں</translation>
 <translation id="1326317727527857210">‏اپنے دیگر آلات سے اپنے ٹیبز حاصل کرنے کیلئے، Chrome میں سائن ان کریں۔</translation>
 <translation id="1327074568633507428">‏Google کلاؤڈ پرنٹ پر موجود پرنٹر</translation>
 <translation id="1327272175893960498">‏Kerberos ٹکٹس</translation>
@@ -751,7 +749,6 @@
 <translation id="1868553836791672080">‏Chromium میں پاس ورڈ چیک کرنے کی خصوصیت دستیاب نہیں ہے</translation>
 <translation id="1871534214638631766">جب آپ مواد پر دایاں کلک یا لانگ پریس کریں تو متعلقہ معلومات دکھائیں</translation>
 <translation id="1871615898038944731">آپ کا <ph name="DEVICE_TYPE" /> اپ ٹو ڈیٹ ہے</translation>
-<translation id="1874835396235780806">‏یہ اور دیگر پاس ورڈز اپنے Google اکاؤنٹ میں محفوظ کریں؟</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{ٹیب کو دوسری ونڈو میں منتقل کریں}other{ٹیبز کو دوسری ونڈو میں منتقل کریں}}</translation>
 <translation id="1875386316419689002">‏یہ ٹیب ایک HID آلہ سے منسلک ہے۔</translation>
 <translation id="1875387611427697908">اس کو صرف <ph name="CHROME_WEB_STORE" /> سے شامل کیا جا سکتا ہے</translation>
@@ -764,7 +761,6 @@
 <translation id="1884013283844450420"><ph name="NETWORK_COUNT" /> میں سے نیٹ ورک <ph name="NETWORK_INDEX" />، <ph name="NETWORK_NAME" />، منسلک کریں</translation>
 <translation id="1884705339276589024">‏Linux ڈسک کا سائز تبدیل کریں</translation>
 <translation id="1885106732301550621">ڈسک اسپیس</translation>
-<translation id="1885190042244431215">پیرنٹل کنٹرولز کے تحت آپریٹ کرتے ہوئے اسکول کے اکاؤنٹ کو بطور طالب علم کے شامل کرنا ویب سائٹس اور ایکسٹینشنز میں آسان سائن ان کو فعال کرتا ہے۔</translation>
 <translation id="1886996562706621347">سائٹس کو پروٹوکولز کیلئے ڈیفالٹ ہینڈلرز بننے کی درخواست کرنے کی اجازت دیں (تجویز کردہ)</translation>
 <translation id="1887442540531652736">سائن ان کی خرابی</translation>
 <translation id="1887597546629269384">‏دوبارہ "Ok Google" بولیں</translation>
@@ -2201,7 +2197,6 @@
 <translation id="3654045516529121250">اپنی ایکسیسبیلٹی ترتیبات پڑھیں</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{اسے ایک فائل تک مستقل رسائی ہے۔}other{اسے # فائلوں تک مستقل رسائی ہے۔}}</translation>
 <translation id="3660234220361471169">غیر بھروسہ مند</translation>
-<translation id="3661172646479098821">‏فی الحال صرف Android آلات تعاون یافتہ ہیں۔</translation>
 <translation id="3664511988987167893">ایکسٹینشن آئیکن</translation>
 <translation id="3665589677786828986">‏Chrome کو پتا چلا کہ آپ کی کچھ ترتیبات دوسرے پروگرام کی وجہ سے خراب ہوگئی تھیں اور انہیں ان کی اصل ڈیفالٹ میں دوبارہ ترتیب دے دیا گیا تھا۔</translation>
 <translation id="3668801437375206837">‏بلوٹوتھ کے مسائل کی بہتر تشخیص کرنے کے لئے Googlers اپنی تاثراتی رپورٹس کے ساتھ بلوٹوتھ کے اضافی لاگز شامل کر سکتے ہیں- اس اختیار کے منتخب کیے جانے پر آپ کی رپورٹ میں آپ کے موجودہ سیشن سے btsnoop اور HCI لاگز شامل ہوں گے، جن میں سے ممکنہ حد تک PII ہٹا دیا جائے گا- ان لاگز تک رسائی Listnr میں Chrome OS پروڈکٹ گروپ کے مینیجرز تک محدود ہوگی۔ 90 دن کے بعد لاگز ہٹا دیے جائیں گے۔</translation>
@@ -2773,6 +2768,7 @@
 <translation id="4370975561335139969">آپ کی جانب سے درج کردہ ای میل اور پاس ورڈ مماثل نہیں ہیں</translation>
 <translation id="4374831787438678295">‏Linux انسٹالر</translation>
 <translation id="4375035964737468845">ڈاؤن لوڈ کردہ فائلیں کھولیں</translation>
+<translation id="4376226992615520204">مقام آف ہے</translation>
 <translation id="4377363674125277448">سرور کی سرٹیفیکیٹ کے ساتھ ایک مسئلہ پیش آ گیا۔</translation>
 <translation id="4378154925671717803">فون</translation>
 <translation id="4378373042927530923">نہیں چلا</translation>
@@ -2972,7 +2968,6 @@
 <translation id="4619615317237390068">دیگر آلات کے ٹیبز</translation>
 <translation id="4620809267248568679">ایک ایکسٹینشن یہ ترتیب نافذ کرتی ہے۔</translation>
 <translation id="4623189117674524348">‏سسٹم اس آلہ کیلئے API رسائی کی اجازت دینے میں ناکام ہوگیا۔</translation>
-<translation id="4624190781974168453">اسٹارٹ اپ پر پوچھیں</translation>
 <translation id="4625078469366263107">ایپ فعال کریں</translation>
 <translation id="4627427111733173920">کوکیز مسدود ہیں</translation>
 <translation id="4627442949885028695">کسی دوسرے آلہ سے جاری رکھیں</translation>
@@ -3402,7 +3397,6 @@
 <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />" کا جدید ترین ورژن غیر فعال کر دیا گیا ہے کیونکہ اس کیلئے مزید اجازتیں مطلوب ہیں۔</translation>
 <translation id="5185500136143151980">انٹرنیٹ نہیں ہے</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> کیلئے اختیارات مینو</translation>
 <translation id="5190926251776387065">پورٹ فعال کریں</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> متعدد فائلز ڈاؤن لوڈ کرنا چاہتا ہے</translation>
 <translation id="5192062846343383368">‏اپنی نگرانی کی ترتیبات دیکھنے کیلئے، Family Link ایپ کھولیں</translation>
@@ -3778,6 +3772,7 @@
 <translation id="5642508497713047">‏CRL سائنر</translation>
 <translation id="5643321261065707929">میٹرڈ نیٹ ورک</translation>
 <translation id="5643620609347735571">صاف کریں اور جاری رکھیں</translation>
+<translation id="5646376287012673985">مقام</translation>
 <translation id="5646558797914161501">تاجر</translation>
 <translation id="5648166631817621825">آخری 7 دن</translation>
 <translation id="5649053991847567735">خود کار ڈاؤن لوڈز</translation>
@@ -4484,7 +4479,6 @@
 <translation id="6531282281159901044">خطرناک فائل رکھیں</translation>
 <translation id="6532101170117367231">‏Google Drive میں محفوظ کریں</translation>
 <translation id="6532106788206463496">تبدیلیاں محفوظ کریں</translation>
-<translation id="6532113437901537254">‏آپ کے سائن ان ہونے پر آپ کے Google اکاؤنٹ سے آپ کے پاس ورڈز بھی اس آلہ پر دستیاب ہوں گے</translation>
 <translation id="6532206849875187177">سیکیورٹی اور سائن ان</translation>
 <translation id="6532527800157340614">سائن ان ناکام ہو گیا کیونکہ آپ کا رسائی کا ٹوکن دوبارہ حاصل نہیں ہو سکا۔ براہ کرم اپنا نیٹ ورک کنکشن چیک کریں اور دوبارہ کوشش کریں۔</translation>
 <translation id="6532663472409656417">انٹرپرائز کا ادراج کیا گیا</translation>
@@ -5014,9 +5008,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' حذف کر دیا گیا</translation>
 <translation id="7201420661433230412">فائلیں دیکھیں</translation>
 <translation id="7203150201908454328">توسیع کردہ</translation>
-<translation id="7203826966018112936">‏پیرنٹل کنٹرولز کے تحت آپریٹ کرتے وقت اسکول کے اکاؤنٹ کو پروفائل میں شامل کرنا، ویب سائٹس اور ایکسٹینشنز میں بطور طالب علم آسانی سے سائن ان کرنے کو فعال کرتا ہے۔ یہ کسی بچے کو اسکول کے اکاؤنٹ کے ساتھ مطابقت پذیر بُک مارکس، پاس ورڈز یا دیگر براؤزر ڈیٹا تک رسائی نہیں دیتا ہے۔&lt;br&gt;&lt;br&gt;
-    اگر آپ کا بچہ اسکول میں ایک Chromebook استعمال کرتا ہے اور آپ گھر میں اسکول کے تجربے کی عکاسی کرنا چاہتے ہیں تاکہ یہ یقینی بنایا جا سکے کہ آپ کے بچے کو اسکول کے تمام ضروری کاموں تک رسائی حاصل ہے تو براہ کرم Family Link اکاؤنٹ سے سائن آؤٹ کریں اور اسکول کے اکاؤنٹ میں Chrome OS اکاؤنٹس کے صفحے سے سائن ان کریں (نوٹ: Family Link پیرنٹل کنٹرولز نافذ نہیں ہوگا)۔&lt;br&gt;&lt;br&gt;
-    اگر آپ کا بچہ اسکول میں Chromebook استعمال نہیں کرتا ہے یا اگر آپ Family Link کا استعمال کر کے گھر میں اپنے بچے کے تجربے کا نظم کرنے کو ترجیح دیتے ہیں تو براہ کرم اس پروفائل میں اسکول کا اکاؤنٹ شامل کرنے کے لئے نیچے دیے گئے اگلے بٹن پر کلک کریں۔</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ڈاؤن لوڈ ہو رہا ہے...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{صفحہ سے باہر نکلیں}other{صفحات سے باہر نکلیں}}</translation>
 <translation id="7207457272187520234">‏استعمال اور ڈائیگناسٹک کا ڈیٹا بھیجیں۔ فی الوقت یہ آلہ خود کار طور پر ڈائیگناسٹک، آلے اور ایپ کے استعمال کا ڈیٹا Google کو بھیج رہا ہے۔ اس سے سسٹم اور ایپ کے استحکام اور دیگر بہتریوں میں مدد ملے گی۔ کچھ مجموعی ڈیٹا Google ایپس اور پارٹنرز، جیسے Android ڈیولپرز، کی مدد بھی کرے گا۔ اس ترتیب کو مالک نافذ کرتا ہے۔ اگر آپ کی ویب اور ایپ کی اضافی سرگرمی کی ترتیب آن ہے تو اس ڈیٹا کو آپ کے Google اکاؤنٹ میں محفوظ کیا جا سکتا ہے۔</translation>
@@ -5159,7 +5150,6 @@
 <translation id="7388044238629873883">آپ نے تقریباً مکمل کر لیا ہے!</translation>
 <translation id="7392118418926456391">وائرس اسکین کرنا ناکام ہوگیا</translation>
 <translation id="7392915005464253525">بند ونڈو کو دوبارہ &amp;کھولیں</translation>
-<translation id="7393472013449507620">"*" وائلڈ کارڈز والی ترتیبات اب تعاون یافتہ نہیں ہیں۔ ان <ph name="BEGIN_LINK" />ترتیبات کو تبدیل کرنے<ph name="END_LINK" /> کیلئے ایکسٹینشن ڈیولپر یا اپنے منتظم سے رابطہ کریں۔</translation>
 <translation id="7396017167185131589">اشتراک کردہ فولڈرز یہاں ظاہر ہوں گے</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> سسٹم اسٹارٹ اپ پر شروع ہوگا اور پس منظر میں چلتا رہے گا چاہے آپ نے سبھی دیگر <ph name="PRODUCT_NAME" /> ونڈوز کو بند کر دیا ہو۔</translation>
 <translation id="7399045143794278225">سنک کرنے کو حسب ضرورت بنائیں</translation>
@@ -5272,6 +5262,7 @@
 <translation id="7526989658317409655">پلیس ہولڈر</translation>
 <translation id="7529411698175791732">اپنا انٹرنیٹ کنکشن چیک کریں۔ اگر مسئلہ برقرار رہتا ہے تو سائن آؤٹ اور دوبارہ سائن ان کر کے دیکھیں۔</translation>
 <translation id="7530016656428373557">واٹس میں ڈسچارج ہونے کی شرح</translation>
+<translation id="7531310913436731628">‏Mac سسٹم کی ترجیحات میں مقام آف ہے</translation>
 <translation id="7531779363494549572">ترتیبات &gt; ایپس اور اطلاعات &gt; اطلاعات پر جائیں۔</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> جواب نہیں دے رہی ہے۔ ایپ بند کرنے کیلئے، "زبردستی بند کریں" منتخب کریں۔</translation>
 <translation id="7537451260744431038">سائٹس آپ کے براؤزنگ کے تجربہ کو، مثال کے طور پر، آپ کو سائن ان رکھنے یا آپ کی شاپنگ کارٹ میں آئٹمز کو یاد رکھنے کے لیے، بہتر بنانے کے لیے کوکیز کا استعمال نہیں کر سکتی ہیں</translation>
@@ -6052,7 +6043,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> کے لیے محفوظ کردہ پاسورڈز</translation>
 <translation id="8472623782143987204">ہارڈ ویئر کے ذریعے تعاون یافتہ</translation>
 <translation id="8473863474539038330">پتے وغیرہ</translation>
-<translation id="8474733733775441349">‏اپنے Google اکاؤنٹ سے پاس ورڈز دکھائیں</translation>
 <translation id="8475313423285172237">‏آپ کے کمپیوٹر پر موجود ایک دوسرے پروگرام نے ایک ایکسٹینشن شامل کیا جو Chrome کے کام کرنے کا طریقہ تبدیل کر سکتی ہے۔</translation>
 <translation id="8477241577829954800">جگہ لی ہوئی</translation>
 <translation id="8477384620836102176">&amp;عمومی</translation>
diff --git a/chrome/app/resources/generated_resources_uz.xtb b/chrome/app/resources/generated_resources_uz.xtb
index 1bb27a8..dfb4863 100644
--- a/chrome/app/resources/generated_resources_uz.xtb
+++ b/chrome/app/resources/generated_resources_uz.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Faqat shifrdan chiqarish</translation>
 <translation id="1038462104119736705">Linux uchun kamida <ph name="INSTALL_SIZE" /> joy ochilishi tavsiya etiladi. Boʻsh joyni koʻpaytirish uchun qurilma xotirasidan fayllarni oʻchiring.</translation>
 <translation id="1039337018183941703">Fayl yaroqsiz yoki shikastlangan</translation>
-<translation id="104086161873270383">Yangi profil</translation>
 <translation id="1041175011127912238">Bu sahifa javob bermayapti.</translation>
 <translation id="1041263367839475438">Mavjud qurilmalar</translation>
 <translation id="1042174272890264476">Kompyuteringizda ichki o‘rnatilgan <ph name="SHORT_PRODUCT_NAME" /> RLZ kutubxonasi mavjud. RLZ mahsulotimiz(<ph name="SHORT_PRODUCT_NAME" />) reklama kompaniyalari natijalari asosidagi qidiruv so‘rovlari soni va mahsulotdan foydalanish statistikasini baholashimizga yordam beradigan ko‘rinmas va foydalanuvchini aniqlamaydigan yorliq tayinlaydi. Ushbu yorliqlar ba’zida mahsulotimiz (<ph name="PRODUCT_NAME" />) orqali bajarilgan qidiruv so‘rovlarida paydo bo‘lishi mumkin.</translation>
@@ -106,6 +105,7 @@
 <translation id="1116779635164066733">Bu sozlamani “<ph name="NAME" />” kengaytmasi boshqaradi.</translation>
 <translation id="1118738876271697201">Qurilma modeli yoki seriya raqami aniqlanmadi.</translation>
 <translation id="1119447706177454957">Ichki xatolik</translation>
+<translation id="1122068467107743258">Ish</translation>
 <translation id="1122198203221319518">&amp;Asboblar</translation>
 <translation id="1122242684574577509">Haqiqiylik tekshiruvida xatolik yuz berdi. Wi-Fi (<ph name="NETWORK_ID" />) tarmog‘ining kirish sahifasiga qaytish uchun bosing.</translation>
 <translation id="1122960773616686544">Xatcho‘p nomi</translation>
@@ -120,6 +120,7 @@
 <translation id="1129850422003387628">Ilovalarni boshqarish</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – <ph name="GROUP_NAME" /> guruhi qismi</translation>
 <translation id="1134009406053225289">Inkognito oynada ochish</translation>
+<translation id="1136179794690960030"><ph name="EMOJI_NAME" />. <ph name="EMOJI_INDEX" /> / <ph name="EMOJI_COUNT" />.</translation>
 <translation id="1136712381129578788">PIN kod koʻp marta xato kiritilganligi uchun elektron kalit qulflandi. Qulfdan chiqarish uchun uni chiqarib, qaytadan suqing.</translation>
 <translation id="1137673463384776352">Havolani <ph name="APP" /> dasturida ochish</translation>
 <translation id="1139343347646843679">Linux tizimini yangilashda xatolik yuz berdi. Administratorga murojaat qiling.</translation>
@@ -281,7 +282,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" /> quyi sahifasi orqaga tugmasi</translation>
 <translation id="1322046419516468189"><ph name="SAVED_PASSWORDS_STORE" /> omboriga saqlangan parollarni ko‘rish va boshqarish</translation>
 <translation id="1324106254079708331">Shaxsiy Google hisoblarini barcha maqsadli hujumlardan himoya qiladi</translation>
-<translation id="1325985428688410772">Profil kiritish</translation>
 <translation id="1326317727527857210">Boshqa qurilmalaringizdagi brauzer sahifalarini sinxronlash uchun Chrome hisobingizga kiring.</translation>
 <translation id="1327074568633507428">Google virtual printeriga ulanilgan printer</translation>
 <translation id="1327272175893960498">Kerberos chiptalari</translation>
@@ -486,6 +486,7 @@
 <translation id="1572876035008611720">Elektron pochta</translation>
 <translation id="1576594961618857597">Standart oq avatar</translation>
 <translation id="1578558981922970608">Majburiy yopish</translation>
+<translation id="1578784163189013834">Ekran lavhasi uchun fon rasmini tanlash</translation>
 <translation id="1580772913177567930">Administratoringizga murojaat qiling</translation>
 <translation id="1581962803218266616">&amp;Finder’da ko‘rsatish</translation>
 <translation id="1582955169539260415">oʻchirish: [<ph name="FINGERPRINT_NAME" />]</translation>
@@ -748,7 +749,6 @@
 <translation id="1868553836791672080">Chromiumda parollar tekshiruvi ishlamaydi</translation>
 <translation id="1871534214638631766">Ustiga oʻng klik yoki biroz bosib turilsa, tegishli axborot chiqsin</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> qurilmangizdagi Chromium OS versiyasi yangi</translation>
-<translation id="1874835396235780806">Bu va boshqa parollar Google hisobingizga saqlansinmi?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Varaqni boshqa oynaga olish}other{Varaqlarni boshqa oynaga olish}}</translation>
 <translation id="1875386316419689002">Bu varaq HID qurilmaga ulangan.</translation>
 <translation id="1875387611427697908">Buni faqat <ph name="CHROME_WEB_STORE" /> sahifasidan qo‘shish mumkin</translation>
@@ -761,7 +761,6 @@
 <translation id="1884013283844450420">Tarmoq: <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, Nomi: <ph name="NETWORK_NAME" />, Ulanish</translation>
 <translation id="1884705339276589024">Linux disk hajmini oʻzgartirish</translation>
 <translation id="1885106732301550621">Diskdagi joy</translation>
-<translation id="1885190042244431215">Maktab hisobi kiritilsa, ota-ona nazorati ostida sayt va kengaytmalarga oʻquvchi sifatida oson kirish mumkin.</translation>
 <translation id="1886996562706621347">Protokollarga ishlov beruvchilarni o‘rnatish so‘rovlariga ruxsat berish (tavsiya etiladi)</translation>
 <translation id="1887442540531652736">Kirishda xatolik yuz berdi</translation>
 <translation id="1887597546629269384">Yana “Hey Google” deng</translation>
@@ -1129,6 +1128,7 @@
 <translation id="2347644257713614136">Ta’lim muassasalari uchun Hangouts va Cast xizmatlaridan foydalanish Google maxfiylik siyosati bilan tartibga solinadi.</translation>
 <translation id="2348176352564285430">Ilova: <ph name="ARC_PROCESS_NAME" /></translation>
 <translation id="234889437187286781">Maʼlumotlarni yuklashda xatolik yuz berdi</translation>
+<translation id="2349610121459545414">Sayt joylashuvingiz axbortidan foydalanishda davom etaversin</translation>
 <translation id="2349896577940037438">Agar Kengaytirilgan veb-qidiruv va ilovalar tarixi yoqilsa, bu maʼlumotlar Google hisobingizda saqlanadi. Maʼlumotlaringizni account.google.com orqali koʻrish, oʻchirib tashlash va oʻzgartirish mumkin.</translation>
 <translation id="2350133097354918058">Qayta ishga tushirildi</translation>
 <translation id="2350182423316644347">Ilova ishga tushirilmoqda...</translation>
@@ -1230,6 +1230,7 @@
 <translation id="247051149076336810">Fayllarni ulashish manzili</translation>
 <translation id="2470702053775288986">Qo‘llab-quvvatlanmaydigan kengaytmalar o‘chiq</translation>
 <translation id="2471469610750100598">Qora (standart)</translation>
+<translation id="2471506181342525583">Joylashuv axborotiga ruxsat berilgan</translation>
 <translation id="2473195200299095979">Bu sahifani tarjima qilish</translation>
 <translation id="2475982808118771221">Xatolik yuz berdi</translation>
 <translation id="2476578072172137802">Sayt sozlamalari</translation>
@@ -1241,6 +1242,7 @@
 <translation id="2482878487686419369">Bildirishnomalar</translation>
 <translation id="2484959914739448251">Brauzer tarixini Google hisobingizga sinxronlangan barcha qurilmalardan tozalash uchun <ph name="BEGIN_LINK" />kodli iborani kiriting<ph name="END_LINK" />.</translation>
 <translation id="2485005079599453134">Parol shu qurilmaga saqlandi</translation>
+<translation id="2485394160472549611">Siz uchun saralanganlar</translation>
 <translation id="2485422356828889247">O‘chirib tashlash</translation>
 <translation id="2487067538648443797">Yangi xatcho‘p qo‘shish</translation>
 <translation id="2487268545026948104">Maʼlumotlarni tiklash uchun internetga ulaning</translation>
@@ -1622,6 +1624,7 @@
 <translation id="2932483646085333864">Sinxronizatsiyani boshlash uchun hisobingizdan chiqing va yana kiring</translation>
 <translation id="2932883381142163287">Shikoyat xabari yuborish</translation>
 <translation id="2933632078076743449">Oxirgi yangilanish</translation>
+<translation id="2934999512438267372">MIDI qurilmalarini toʻliq boshqarishi mumkin</translation>
 <translation id="2936851848721175671">Zaxiralash va tiklash</translation>
 <translation id="2938225289965773019"><ph name="PROTOCOL" /> havolalarini ochish</translation>
 <translation id="2938845886082362843">Elektron kalitdagi kirish maʼlumotlarini ochish va tozalash</translation>
@@ -1737,6 +1740,7 @@
 <translation id="3083193146044397360">Axborotingizni himoyalash uchun vaqtincha bloklandi</translation>
 <translation id="3084548735795614657">O‘rnatish uchun bu yerga tashlang</translation>
 <translation id="3084771660770137092">Ushbu veb-sahifani ko‘rsatish vaqtida Chrome xotirasida bo‘sh joy tugab qoldi yoki boshqa sabab tufayli sahifadagi amal to‘xtatildi. Davom etish uchun sahifani yangilang yoki yangi oynada oching.</translation>
+<translation id="3084958266922136097">Ekran lavhasini faolsizlantirish</translation>
 <translation id="3085412380278336437">Sayt kameradan foydalanishi mumkin</translation>
 <translation id="3085752524577180175">SOCKS hosti</translation>
 <translation id="3088052000289932193">Saytda MIDI ishlatilmoqda</translation>
@@ -1933,6 +1937,7 @@
 <translation id="3345886924813989455">Qo‘llab-quvvatlanadigan brauzerlar topilmadi</translation>
 <translation id="3347086966102161372">Tasvirning URL manzilini nusxalash</translation>
 <translation id="3348038390189153836">Xotira qurilmasi aniqlandi</translation>
+<translation id="3348131053948466246">Emoji taklif qilindi. Joylash uchun tepaga, pastga strelkalar bilan tanlab Enter tugmasini bosing</translation>
 <translation id="3349933790966648062">Xotira sarfi</translation>
 <translation id="3355936511340229503">Ulanish xatoligi</translation>
 <translation id="3356580349448036450">Tayyor</translation>
@@ -1968,6 +1973,7 @@
 <translation id="3402585168444815892">Demo rejimda ishlash uchun qayd etish</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
 <translation id="3404065873681873169">Bu sayt uchun hech qanday parol saqlanmagan</translation>
+<translation id="3404249063913988450">Ekran lavhasini faollashtirish</translation>
 <translation id="3405664148539009465">Shriftlarni sozlash</translation>
 <translation id="3405763860805964263">...</translation>
 <translation id="3406605057700382950">&amp;Xatcho‘plar panelini ko‘rsatish</translation>
@@ -2198,7 +2204,6 @@
 <translation id="3654045516529121250">Maxsus imkoniyatlar sozlamalarini o‘qish</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{1 ta faylga doimiy ruxsati bor.}other{# ta faylga doimiy ruxsati bor.}}</translation>
 <translation id="3660234220361471169">Ishonchsiz</translation>
-<translation id="3661172646479098821">Hozirda faqat Android qurilmalari bilan ishlaydi.</translation>
 <translation id="3664511988987167893">Kengaytma ikonkasi</translation>
 <translation id="3665589677786828986">Chrome‘ning ba’zi sozlamalari tashqi dastur tomonidan o‘zgartirildi. Brauzer birlamchi sozlamalarini tiklab oldi.</translation>
 <translation id="3668801437375206837">Bluetooth muammolarini yaxshiroq o‘rganish uchun Googlerlar o‘z hisobotlarida qo‘shimcha Bluetooth jurnallarini biriktirishi mumkin. Agar bu afzalik yoniq bo‘lsa, xabaringizga joriy seansingizdagi btsnoop va HCI jurnallari biriktirilib, iloji borisha PII olib tashlangan holda yuboriladi. Bu jurnallar Chrome OS mahsulot guruhi menejerlariga Listnr vositasida ham ko‘rinmaydi. Jurnallar 90 kundan keyin tozalanadi.</translation>
@@ -2508,6 +2513,7 @@
 <translation id="3984159763196946143">Demo rejimi ishga tushmadi</translation>
 <translation id="3984431586879874039">Bu sayt uchun elektron kalit axborotlariga ruxsat berilsinmi?</translation>
 <translation id="3986705137476756801">Jonli izohni hozircha faolsizlantirish</translation>
+<translation id="3987544746655539083">Bu sayt uchun joylashuv axborotiga hali ham ruxsat berilmasin</translation>
 <translation id="3987938432087324095">Yaxshi eshitilmadi.</translation>
 <translation id="3988996860813292272">Vaqt mintaqasini tanlang</translation>
 <translation id="399179161741278232">Import qilindi</translation>
@@ -2573,6 +2579,7 @@
 <translation id="4087089424473531098">Kengaytma yaratildi:
 
 <ph name="EXTENSION_FILE" /></translation>
+<translation id="408721682677442104">MIDI qurilmalarini toʻliq boshqarish ruxsati rad etildi</translation>
 <translation id="4088095054444612037">Qabul qilish</translation>
 <translation id="4089235344645910861">Sozlamalar saqlandi. Sinxronizatsiya boshlandi.</translation>
 <translation id="4090103403438682346">Tekshirilgan ruxsat xizmatini yoqish</translation>
@@ -2653,6 +2660,7 @@
 <translation id="4200689466366162458">Boshqa so‘zlar</translation>
 <translation id="4200983522494130825">Yangi &amp;ichki oyna</translation>
 <translation id="4201546031411513170">Nimani sinxronlashni istalgan vaqtda sozlamalar orqali tanlash mumkin.</translation>
+<translation id="420283545744377356">Ekran lavhasini oʻchirish</translation>
 <translation id="4206144641569145248">O‘zga sayyoralik</translation>
 <translation id="4206323443866416204">Fikr-mulohaza</translation>
 <translation id="4208390505124702064"><ph name="SITE_NAME" /> saytidan qidirish</translation>
@@ -2751,6 +2759,7 @@
 <translation id="4348766275249686434">Xatolar haqidagi ma’lumotlarni to‘plash</translation>
 <translation id="4349828822184870497">Foydali</translation>
 <translation id="4350019051035968019">Bu qurilma allaqachon boshqa domenda ro‘yxatdan o‘tkazilgan.</translation>
+<translation id="4350230709416545141"><ph name="HOST" /> sayti uchun joylashuv axborotiga ruxsat hech qachon berilmasin</translation>
 <translation id="4350782034419308508">Ok Google</translation>
 <translation id="4351060348582610152"><ph name="ORIGIN" /> sayti yaqin-atrofdagi Bluetooth qurilmalarni tekshirmoqchi. Quyidagi qurilmalar topilgan:</translation>
 <translation id="4354073718307267720">Saytlar atrofingiz 3D xaritasini yaratish yoki kamera holatini kuzatishdan oldin ruxsat olsin</translation>
@@ -2770,6 +2779,7 @@
 <translation id="4370975561335139969">Siz kiritgan e-pochta va parol mos kelmadi</translation>
 <translation id="4374831787438678295">Linux uchun o‘rnatkich</translation>
 <translation id="4375035964737468845">Yuklab olingan fayllarni ochish</translation>
+<translation id="4376226992615520204">Joylashuvni aniqlash xususiyati yoniq emas</translation>
 <translation id="4377363674125277448">Server sertifikatida xatolik yuz berdi.</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4378373042927530923">Ishga tushmadi</translation>
@@ -2969,7 +2979,6 @@
 <translation id="4619615317237390068">Boshqa qurilmalardan sinxronlangan varaqlar</translation>
 <translation id="4620809267248568679">Bu parametr kengaytma tomonidan kuchga kiritilgan.</translation>
 <translation id="4623189117674524348">Bu qurilma uchun API ruxsati taqdim etilmadi.</translation>
-<translation id="4624190781974168453">Boshlanishida soʻralsin</translation>
 <translation id="4625078469366263107">Ilovani yoqish</translation>
 <translation id="4627427111733173920">Cookie fayllari bloklandi</translation>
 <translation id="4627442949885028695">Ishni boshqa qurilmada davom ettirish</translation>
@@ -3399,7 +3408,6 @@
 <translation id="5185386675596372454">“<ph name="EXTENSION_NAME" />” kengaytmasining so‘nggi versiyasi qo‘shimcha ruxsatlarni talab qilganligi uchun o‘chirib qo‘yildi.</translation>
 <translation id="5185500136143151980">Internetga ulanmagansiz</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" /> uchun parametrlar menyusi</translation>
 <translation id="5190926251776387065">Portni yoqish</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> bir nechta faylni yuklab olmoqchi</translation>
 <translation id="5192062846343383368">Nazorat sozlamalarini koʻrish uchun Family Link ilovasini oching</translation>
@@ -3592,6 +3600,7 @@
 <translation id="5431825016875453137">OpenVPN / L2TP</translation>
 <translation id="543338862236136125">Parolni almashtirish</translation>
 <translation id="5434065355175441495">PKCS #1 RSA Shifrlash</translation>
+<translation id="5435779377906857208"><ph name="HOST" /> uchun joylashuvingiz axborotidan doim foydalanishga ruxsat berilsin</translation>
 <translation id="5436492226391861498">Proksi-server tuneli yaratilishi kutilmoqda...</translation>
 <translation id="5436510242972373446"><ph name="SITE_NAME" /> saytidan qidirish:</translation>
 <translation id="543806387003274181">Fayllarni saqlang va yangi hisob yarating.</translation>
@@ -3775,6 +3784,7 @@
 <translation id="5642508497713047">CRL imzolovchisi</translation>
 <translation id="5643321261065707929">Trafik hisoblanadigan tarmoq</translation>
 <translation id="5643620609347735571">Tozalash va davom etish</translation>
+<translation id="5646376287012673985">Joylashuv</translation>
 <translation id="5646558797914161501">Biznesmen</translation>
 <translation id="5648166631817621825">Oxirgi 7 kun</translation>
 <translation id="5649053991847567735">Avtomatik yuklamalar</translation>
@@ -3818,6 +3828,7 @@
 <translation id="5701212929149679556">Roumingni sozlash</translation>
 <translation id="5701381305118179107">Markaz bo‘yicha tartiblash</translation>
 <translation id="5701441174893770082">Linux yangilanganda batareya ortiqcha sarflanishi mumkin. Qurilmani quvvatlash moslamasiga ulab, qayta urining.</translation>
+<translation id="5702749864074810610">Taklif tozalandi</translation>
 <translation id="5702898740348134351">&amp;Qidiruv tizimlarini tahrirlash</translation>
 <translation id="5704875434923668958">Sinxronlanmoqda</translation>
 <translation id="5705005699929844214">Doimo maxsus imkoniyatlar chiqsin</translation>
@@ -3938,6 +3949,7 @@
 <translation id="5857090052475505287">Yangi jild</translation>
 <translation id="5857171483910641802">Yorliqlar tez-tez tashrif buyuradigan saytlar asosida taklif qilinadi</translation>
 <translation id="5858490737742085133">Terminal</translation>
+<translation id="5859603669299126575">Fotogalereya albomi</translation>
 <translation id="585979798156957858">Tashqi meta</translation>
 <translation id="5860033963881614850">O‘chiq</translation>
 <translation id="5860491529813859533">Yoqish</translation>
@@ -4323,6 +4335,7 @@
 <translation id="6318125393809743217">Parametrlar konfiguratsiyasiga policies.json fayli ham kiritilsin.</translation>
 <translation id="6318407754858604988">Yuklab olish boshlandi</translation>
 <translation id="6318944945640833942">Printer aniqlanmadi. Printer manzilini qayta kiriting.</translation>
+<translation id="6321407676395378991">Ekran lavhasini yoqish</translation>
 <translation id="6322653941595359182">Chromebook orqali matnli xabarlarni o‘qing va yuboring</translation>
 <translation id="6324916366299863871">Yorliqni tahrirlash</translation>
 <translation id="6325191661371220117">Avto-ishga tushirishni o‘chirib qo‘yish</translation>
@@ -4481,7 +4494,6 @@
 <translation id="6531282281159901044">Xavfli fayl yuklab olinsin</translation>
 <translation id="6532101170117367231">Google Drive omboriga saqlash</translation>
 <translation id="6532106788206463496">Oʻzgarishlarni saqlash</translation>
-<translation id="6532113437901537254">Bu qurilmada Google hisobingizga kirganingizda undagi parollarni ishlatishingiz mumkin</translation>
 <translation id="6532206849875187177">Xavfsizlik va kirish</translation>
 <translation id="6532527800157340614">Hisobga kirishda xatolik yuz berdi: ruxsat tokeni berilmadi. Tarmoq sozlamalarini tekshiring va qaytadan urining.</translation>
 <translation id="6532663472409656417">Korporativ domenda qayd qilingan</translation>
@@ -4503,6 +4515,7 @@
 <translation id="6555432686520421228"><ph name="IDS_SHORT_PRODUCT_NAME" /> qurilmasida barcha foydalanuvchilar hisoblarini o‘chirish va zavod sozlamalarini tiklash.</translation>
 <translation id="6555810572223193255">Tozalash vositasi vaqtincha ish faoliyatida emas</translation>
 <translation id="6556866813142980365">Qaytarish</translation>
+<translation id="6556903358015358733">Mavzu va fon rasmi</translation>
 <translation id="6557290421156335491">Yorliqlarim</translation>
 <translation id="6561560012278703671">Xabarlar tinchroq kelsin (bezovta qiluvchi bildirishnomalar bloklanadi)</translation>
 <translation id="6561726789132298588">enter</translation>
@@ -4526,6 +4539,7 @@
 <translation id="6590458744723262880">Jild nomini o‘zgartirish</translation>
 <translation id="6592267180249644460">WebRTC jurnali yozib olinganligi vaqti: <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
 <translation id="6592808042417736307">Barmoq izingiz olindi</translation>
+<translation id="6595187330192059106"><ph name="HOST" /> sayti uchun MIDI qurilmalarini toʻliq boshqarishga ruxsat hech qachon berilmasin.</translation>
 <translation id="6596325263575161958">Shifrlash parametrlari</translation>
 <translation id="6596816719288285829">IP manzil</translation>
 <translation id="6597017209724497268">Namunalar</translation>
@@ -5011,9 +5025,6 @@
 <translation id="7201118060536064622">“<ph name="DELETED_ITEM_NAME" />” o‘chirildi</translation>
 <translation id="7201420661433230412">Fayllarni ochish</translation>
 <translation id="7203150201908454328">Yoyilgan</translation>
-<translation id="7203826966018112936">Profilga maktab hisobi kiritilsa, ota-ona nazorati ostida sayt va kengaytmalarga oʻquvchi sifatida oson kirish mumkin. Bunda farzandingiz maktab hisobi bilan sinxronlangan bukmark, parol va boshqa brauzer maʼlumotlarini ishlata olmaydi.&lt;br&gt;&lt;br&gt;
-    Agar farzandingiz Chromebookni maktabda ishlatsa va uyda ham shunday sharoit yaratmoqchi boʻlsangiz, Chrome OS hisoblar sahifasida joriy Family Link hisobidan chiqib, maktab hisobiga kiring (eslatma: Family Link ota-ona nazorati maktab hisobida ishlamaydi).&lt;br&gt;&lt;br&gt;
-    Agar farzandingiz Chromebookni maktabda ishlatmasa yoki farzandingiz undan faqat uyda Family Link orqali foydalanishini istasangiz, quyidagi Keyingisi tugmasini bosing va bu profilga maktab hisobini kiriting.</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> yuklab olinmoqda...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Sahifani yopish}other{Sahifalarni yopish}}</translation>
 <translation id="7207457272187520234">Foydalanish statistikasi va diagnostika axborotini yuborish. Bu qurilma hozirda qurilma va ilovalardan foydalanish haqidagi hamda diagnostika axborotini avtomatik tarzda Google kompaniyasiga yubormoqda. Ular tizim va ilovalar barqarorligi kabilarni yaxshilash uchun ishlatiladi. Ayrim toʻplangan maʼlumotlar Android dasturchilar kabi hamkorlarimizga ham oʻz ilovalari va mahsulotlarini yanada yaxshilashga yordam beradi. Bu parametr qurilma egasi tomonidan oʻrnatilgan. Agar Kengaytirilgan veb-qidiruv va ilovalar tarixi yoqilsa, bu maʼlumotlar Google hisobingizda saqlanadi.</translation>
@@ -5156,7 +5167,6 @@
 <translation id="7388044238629873883">Deyarli tamom!</translation>
 <translation id="7392118418926456391">Virusdan tekshirish amalga oshmadi</translation>
 <translation id="7392915005464253525">Yopilgan oynani &amp;qayta ochish</translation>
-<translation id="7393472013449507620">Yoppasiga “*” sozlamalari endi ishlamaydi. <ph name="BEGIN_LINK" />Bu sozlamalarni oʻzgartirish<ph name="END_LINK" /> uchun kengaytma dasturchisi yoki administratorga murojaat qiling.</translation>
 <translation id="7396017167185131589">Ulashilgan jildlar shu yerda chiqadi</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> ilovasi tizim yuklanishida ishga tushadi va orqa fonda hatto barcha <ph name="PRODUCT_NAME" /> oynalari yopilganda ham ishlashda davom etadi.</translation>
 <translation id="7399045143794278225">Sinxronizatsiya parametrlari</translation>
@@ -5269,6 +5279,7 @@
 <translation id="7526989658317409655">Placeholder</translation>
 <translation id="7529411698175791732">Internetga ulanishni tekshiring. Yana muammo bo‘lsa, hisobingizdan chiqing va qayta kiring.</translation>
 <translation id="7530016656428373557">Quvvatsizlantirish tezligi Vattda</translation>
+<translation id="7531310913436731628">Joylashuv Mac tizim sozlamalaridan faolsizlantirilgan</translation>
 <translation id="7531779363494549572">Sozlamalar &gt; Ilovalar va bildirishnomalar &gt; Bildirishnomalar sahifasini oching.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> javob bermayapti Ilovani “Majburiy toʻxtatish” orqali yoping.</translation>
 <translation id="7537451260744431038">Saytlar sahifalarni kezishingizni yaxshilash, jumladan, kirish axborotingiz yoki xarid qutingizni eslab qolish uchun cookie fayllardan foydalana olmaydi</translation>
@@ -5381,6 +5392,7 @@
 <translation id="767147716926917172">Google serverlariga diagnostika va foydalanish statistikasini avtomatik yuborish</translation>
 <translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" />, <ph name="PAGE_TITLE" /> sahifasida.</translation>
 <translation id="7674416868315480713">Linuxdagi barcha yoʻnaltirilgan portlarni yopish</translation>
+<translation id="7674542105240814168">Joylashuv axborotiga ruxsat rad etildi</translation>
 <translation id="7676867886086876795">Diktovka istalgan matn maydonida ishlatilishi uchun ovozingiz Google serverlariga yuboriladi.</translation>
 <translation id="7678280409648629969">Chrome barmoq izlaringizni Inkognito rejimidan chiqilgandan keyin saqlaydi. Bu bilan keyingi safar ushbu saytga Touch ID orqali kirish mumkin.</translation>
 <translation id="7680416688940118410">Sensorli ekranni kalibrlash</translation>
@@ -5587,6 +5599,7 @@
 <translation id="790040513076446191">Maxfiylik sozlamalari boshqaruvi</translation>
 <translation id="7903345046358933331">Quyidagi sahifa javob bermayapti. Uning javob berishini kutishingiz yoki uni majburan yopishingiz mumkin.</translation>
 <translation id="7903742244674067440">Sizda quyidagi sertifikatlash markazlari haqiqiyligini tasdiqlovchi sertifikatlar bor</translation>
+<translation id="7903859912536385558">barqaror (trusted tester)</translation>
 <translation id="7903925330883316394">Vosita: <ph name="UTILITY_TYPE" /></translation>
 <translation id="7904094684485781019">Administrator bu hisobga boshqa hisoblar bilan birdaniga kirishni taqiqlab qo‘ygan.</translation>
 <translation id="7904526211178107182">Tarmoqdagi boshqa qurilmalarga Linux portlariga ulanish imkoniyatini bering</translation>
@@ -5711,6 +5724,7 @@
 <translation id="8049705080247101012">Google “<ph name="EXTENSION_NAME" />” kengaytmasini zararli deb belgilagan, o‘rnatish to‘xtatildi</translation>
 <translation id="8049948037269924837">Sensorli panelini teskari aylantirish</translation>
 <translation id="8050038245906040378">Microsoft tijorat kodini imzolash</translation>
+<translation id="8051390370038326517"><ph name="HOST" /> sayti doim MIDI qurilmalarni toʻliq boshqarishi mumkin</translation>
 <translation id="8053278772142718589">PKCS #12 fayllari</translation>
 <translation id="8053390638574070785">Sahifani yangilash</translation>
 <translation id="8054517699425078995">Bunday turdagi fayl qurilmangizga zarar yetkazishi mumkin. <ph name="FILE_NAME" /> baribir saqlansinmi?</translation>
@@ -5762,6 +5776,7 @@
 <translation id="810728361871746125">Ekran oʻlchami:</translation>
 <translation id="8108526232944491552">{COUNT,plural, =0{Tashqi cookie fayllar yoʻq}=1{1 ta tashqi cookie fayl bloklandi}other{# ta tashqi cookie fayl bloklandi}}</translation>
 <translation id="810875025413331850">Yaqin-atrofda hech qanday qurilma topilmadi.</translation>
+<translation id="8113476325385351118">Bu sayt uchun MIDI qurilmalarini toʻliq boshqarishga hali ham ruxsat berilmasin</translation>
 <translation id="8114199541033039755">Planshet rejimida bosh ekranga oʻtish, oldingi ekranga qaytish va ilovalararo almashish uchun tugmalar chiqadi. ChromeVox (teskari aloqa) yoki avtomatik kliklar yoniqligida ishlaydi.</translation>
 <translation id="8114875720387900039">Gorizontal ajratish</translation>
 <translation id="8116972784401310538">&amp;Xatcho‘plar menejeri</translation>
@@ -6047,7 +6062,6 @@
 <translation id="8470513973197838199"><ph name="ORIGIN" /> uchun saqlangan parollar</translation>
 <translation id="8472623782143987204">qurilma-asosidagi</translation>
 <translation id="8473863474539038330">Mazillar va boshqa ma’lumotlar</translation>
-<translation id="8474733733775441349">Google hisobingizdagi parollarni ochish</translation>
 <translation id="8475313423285172237">Kompyuteringizdagi dasturlardan biri Chrome ishlash faoliyatini o‘zgartiradigan kengaytma o‘rnatdi.</translation>
 <translation id="8477241577829954800">Almashtirildi</translation>
 <translation id="8477384620836102176">&amp;Umumiy</translation>
@@ -6130,6 +6144,7 @@
 <translation id="8590375307970699841">Avtomatik yangilanishlarni sozlash</translation>
 <translation id="8591783563402255548">1 soniya</translation>
 <translation id="8592141010104017453">Bildirishnomalar ko‘rsatilmasin</translation>
+<translation id="859246725979739260">Bu sayt uchun joylashuvingiz axborotidan foydalanish taqiqlandi</translation>
 <translation id="8593121833493516339">Foydalanish va diagnostika axborotini yuborish. Diagnostika hamda qurilma va ilovadan foydalanish statistikasini Google kompaniyasiga avtomatik yuborish orqali Androidni yaxshilashga yordam bering. Ushbu axborotdan farzandingiz shaxsini aniqlash uchun foydalanilmaydi. Ular tizim va ilovalar barqarorligi kabilarni yaxshilash uchun ishlatiladi. Ayrim toʻplangan maʼlumotlar Android dasturchilar kabi hamkorlarimizga ham oʻz ilovalari va mahsulotlarini yanada yaxshilashga yordam beradi. Agar farzandingiz uchun Kengaytirilgan veb-qidiruv va ilovalar tarixi yoqilgan boʻlsa, bu maʼlumotlar uning Google hisobiga saqlanadi. <ph name="BEGIN_LINK1" />Batafsil<ph name="END_LINK1" /></translation>
 <translation id="8594908476761052472">Videoga olish</translation>
 <translation id="8596540852772265699">Foydalanuvchi fayllari</translation>
@@ -6142,6 +6157,7 @@
 <translation id="860909219589324847">Fayllarni uzatishda hech qachon mobil internetdan foydalanilmasin</translation>
 <translation id="8609465669617005112">Tepaga o‘tish</translation>
 <translation id="8610103157987623234">Format xato. Qaytadan urining</translation>
+<translation id="8611682088849615761">Bu sayt uchun MIDI qurilmalarini toʻliq boshqarishga hali ham ruxsat berilsin</translation>
 <translation id="8613164732773110792">Faqat kichik harflar, raqamlar, ostki chiziqlar yoki tirelar</translation>
 <translation id="8613786722548417558"><ph name="FILE_NAME" /> fayli juda katta hajmdaligi uchun uni tekshirish imkonsiz. 50 MB gacha fayllarni tekshirish mumkin.</translation>
 <translation id="8615618338313291042">Inkognito rejimidagi Ilova: <ph name="APP_NAME" /></translation>
@@ -6284,6 +6300,7 @@
 <translation id="8761945298804995673">Bu foydalanuvchi allaqachon mavjud</translation>
 <translation id="8762886931014513155"><ph name="DEVICE_TYPE" /> tizimi yangilanishi lozim</translation>
 <translation id="8763927697961133303">USB qurilma</translation>
+<translation id="87646919272181953">Google Photos albomi</translation>
 <translation id="8767621466733104912">Barcha Chrome foydalanuvchilari uchun avtomatik yangilash</translation>
 <translation id="8770406935328356739">Kengaytma tub katalogi</translation>
 <translation id="8770507190024617908">Foydalanuvchilarni boshqarish</translation>
@@ -6600,6 +6617,7 @@
 <translation id="9147392381910171771">&amp;Parametrlar</translation>
 <translation id="9148058034647219655">To‘liq ekran rejimidan chiqish</translation>
 <translation id="9148126808321036104">Qaytadan kiring</translation>
+<translation id="9148963623915467028">Bu sayt joylashuvingiz axborotidan foydalanishi mumkin.</translation>
 <translation id="9149866541089851383">O‘zgartirish...</translation>
 <translation id="9150045010208374699">Kameradan foydalanish</translation>
 <translation id="9153934054460603056">Identifikatsiya ma’lumotlari va parolni saqlash</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index 0e4c353..293595ee 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">Chỉ Mã hóa</translation>
 <translation id="1038462104119736705">Linux nên có dung lượng tối thiểu là <ph name="INSTALL_SIZE" />. Để tăng dung lượng trống, hãy xóa bớt tệp khỏi thiết bị.</translation>
 <translation id="1039337018183941703">Tệp lỗi hoặc không hợp lệ</translation>
-<translation id="104086161873270383">Hồ sơ mới</translation>
 <translation id="1041175011127912238">Trang này hiện không phản hồi</translation>
 <translation id="1041263367839475438">Thiết bị hiện có</translation>
 <translation id="1042174272890264476">Máy tính của bạn cũng đi kèm với thư viện RLZ của <ph name="SHORT_PRODUCT_NAME" /> được tích hợp sẵn. RLZ chỉ định thẻ không thể nhận dạng cá nhân, không duy nhất để đo lường các tìm kiếm và mức độ sử dụng <ph name="SHORT_PRODUCT_NAME" /> mà một chiến dịch quảng cáo cụ thể mang lại. Đôi khi các nhãn này xuất hiện trong truy vấn Google Tìm kiếm trong <ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Nút quay lại trang trước <ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Xem và quản lý mật khẩu đã lưu trong <ph name="SAVED_PASSWORDS_STORE" /> của bạn</translation>
 <translation id="1324106254079708331">Bảo vệ Tài khoản Google cá nhân của bất kỳ ai có nguy cơ bị tấn công có chủ đích</translation>
-<translation id="1325985428688410772">Thêm không gian</translation>
 <translation id="1326317727527857210">Để có các thẻ từ các thiết bị khác của bạn, hãy đăng nhập vào Chrome.</translation>
 <translation id="1327074568633507428">Máy in trên Google Cloud Print</translation>
 <translation id="1327272175893960498">Phiếu Kerberos</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Tính năng kiểm tra mật khẩu không hoạt động trong Chromium</translation>
 <translation id="1871534214638631766">Hiển thị thông tin liên quan khi bạn nhấp chuột phải hoặc nhấn và giữ vào nội dung</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> của bạn đã cập nhật</translation>
-<translation id="1874835396235780806">Lưu mật khẩu này và các mật khẩu khác trong Tài khoản Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Di chuyển thẻ sang một cửa sổ khác}other{Di chuyển các thẻ sang một cửa sổ khác}}</translation>
 <translation id="1875386316419689002">Thẻ này kết nối với một thiết bị HID.</translation>
 <translation id="1875387611427697908">Chỉ có thể thêm ứng dụng/tiện ích này từ <ph name="CHROME_WEB_STORE" /></translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">Mạng <ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, Kết nối</translation>
 <translation id="1884705339276589024">Thay đổi dung lượng ổ đĩa Linux</translation>
 <translation id="1885106732301550621">Dung lượng ổ đĩa</translation>
-<translation id="1885190042244431215">Việc thêm tài khoản trường học sẽ giúp bạn dễ dàng đăng nhập vào trang web hoặc tiện ích mở rộng của mình trong vai trò học sinh, trong khi vẫn hoạt động theo các quyền kiểm soát của cha mẹ.</translation>
 <translation id="1886996562706621347">Cho phép các trang web yêu cầu trở thành trình xử lý mặc định cho giao thức (nên chọn)</translation>
 <translation id="1887442540531652736">Lỗi đăng nhập</translation>
 <translation id="1887597546629269384">Nói lại "Ok Google"</translation>
@@ -2200,7 +2196,6 @@
 <translation id="3654045516529121250">Đọc cài đặt trợ năng của bạn</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Ứng dụng có quyền truy cập vĩnh viễn vào một tệp.}other{Ứng dụng có quyền truy cập vĩnh viễn vào # tệp.}}</translation>
 <translation id="3660234220361471169">Không đáng tin cậy</translation>
-<translation id="3661172646479098821">Hiện chỉ hỗ trợ các thiết bị Android.</translation>
 <translation id="3664511988987167893">Biểu tượng tiện ích</translation>
 <translation id="3665589677786828986">Chrome phát hiện thấy rằng một số cài đặt của bạn đã bị lỗi do một chương trình khác gây ra và đặt lại các cài đặt đó về giá trị mặc định ban đầu.</translation>
 <translation id="3668801437375206837">Để chẩn đoán chính xác hơn các vấn đề về Bluetooth, nhân viên Google có thể đưa thêm nhật ký Bluetooth vào báo cáo phản hồi của họ. Khi bạn chọn tùy chọn này, báo cáo của bạn sẽ bao gồm cả nhật ký btsnoop và HCI từ phiên hoạt động hiện tại, trong đó đã loại bỏ nhiều thông tin nhận dạng cá nhân nhất có thể. Chỉ người quản lý nhóm sản phẩm Chrome OS trong Listnr mới có quyền truy cập vào các nhật ký này. Nhật ký sẽ bị xóa hoàn toàn sau 90 ngày.</translation>
@@ -2772,6 +2767,7 @@
 <translation id="4370975561335139969">Email và mật khẩu bạn nhập không khớp</translation>
 <translation id="4374831787438678295">Trình cài đặt Linux</translation>
 <translation id="4375035964737468845">Mở các tệp đã tải xuống</translation>
+<translation id="4376226992615520204">Đã tắt dịch vụ vị trí</translation>
 <translation id="4377363674125277448">Đã xảy ra sự cố với chứng chỉ của máy chủ.</translation>
 <translation id="4378154925671717803">Điện thoại</translation>
 <translation id="4378373042927530923">Không chạy</translation>
@@ -2971,7 +2967,6 @@
 <translation id="4619615317237390068">Thẻ từ các thiết bị khác</translation>
 <translation id="4620809267248568679">Cài đặt này được tiện ích thực hiện.</translation>
 <translation id="4623189117674524348">Hệ thống không thể cấp quyền truy cập API cho thiết bị này.</translation>
-<translation id="4624190781974168453">Hỏi khi khởi động</translation>
 <translation id="4625078469366263107">Bật ứng dụng</translation>
 <translation id="4627427111733173920">Đã chặn cookie</translation>
 <translation id="4627442949885028695">Tiếp tục từ thiết bị khác</translation>
@@ -3401,7 +3396,6 @@
 <translation id="5185386675596372454">Phiên bản mới nhất của "<ph name="EXTENSION_NAME" />" đã bị tắt vì phiên bản đó yêu cầu nhiều giấy phép hơn.</translation>
 <translation id="5185500136143151980">Không có Internet</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Trình đơn tùy chọn của <ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Kích hoạt cổng</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> muốn tải nhiều tệp xuống</translation>
 <translation id="5192062846343383368">Mở ứng dụng Family Link để xem các tùy chọn cài đặt giám sát của bạn</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">Trình ký CRL</translation>
 <translation id="5643321261065707929">Mạng có đo lượng dữ liệu</translation>
 <translation id="5643620609347735571">Xóa và tiếp tục</translation>
+<translation id="5646376287012673985">Vị trí</translation>
 <translation id="5646558797914161501">Doanh nhân</translation>
 <translation id="5648166631817621825">7 ngày qua</translation>
 <translation id="5649053991847567735">Tự động tải xuống</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Giữ tệp nguy hiểm</translation>
 <translation id="6532101170117367231">Lưu vào Google Drive</translation>
 <translation id="6532106788206463496">Lưu thay đổi</translation>
-<translation id="6532113437901537254">Mật khẩu từ Tài khoản Google cũng sẽ hiển thị trên thiết bị này khi bạn đăng nhập</translation>
 <translation id="6532206849875187177">Bảo mật và đăng nhập</translation>
 <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>
@@ -4615,7 +4609,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> và 1 thẻ khác}other{<ph name="PAGE_TITLE" /> và # thẻ khác}}</translation>
 <translation id="6709133671862442373">Tin tức</translation>
 <translation id="6709357832553498500">Kết nối bằng <ph name="EXTENSIONNAME" /></translation>
-<translation id="6710213216561001401">Trước đó</translation>
+<translation id="6710213216561001401">Trước</translation>
 <translation id="6715803357256707211">Đã xảy ra lỗi trong quá trình cài đặt ứng dụng Linux. Hãy nhấp vào thông báo để xem thông tin chi tiết.</translation>
 <translation id="671619610707606484">Thao tác này sẽ xóa <ph name="TOTAL_USAGE" /> dữ liệu lưu trữ trong các trang web</translation>
 <translation id="671928215901716392">Khóa màn hình</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">Đã xóa '<ph name="DELETED_ITEM_NAME" />'</translation>
 <translation id="7201420661433230412">Xem tệp</translation>
 <translation id="7203150201908454328">Được mở rộng</translation>
-<translation id="7203826966018112936">Khi thêm tài khoản trường học vào hồ sơ, bạn sẽ dễ dàng đăng nhập vào các trang web và tiện ích với tư cách học sinh, trong khi vẫn hoạt động dưới quyền kiểm soát của cha mẹ. Thao tác này không cấp cho con quyền truy cập vào dấu trang, mật khẩu hoặc các dữ liệu khác trên trình duyệt được đồng bộ hóa với tài khoản trường học.&lt;br&gt;&lt;br&gt;
-    Nếu con bạn sử dụng Chromebook ở trường học và bạn muốn mô phỏng trải nghiệm trường học tại nhà nhằm đảm bảo con có quyền truy cập vào tất cả bài tập về nhà cần thiết, vui lòng đăng xuất khỏi tài khoản Family Link này, rồi đăng nhập vào tài khoản trường học trên trang tài khoản Chrome OS (lưu ý: Không áp dụng quyền kiểm soát của cha mẹ trên Family Link).&lt;br&gt;&lt;br&gt;
-    Nếu con bạn không sử dụng Chromebook ở trường học hoặc nếu bạn muốn kiểm soát việc sử dụng của con tại nhà bằng Family Link, vui lòng nhấp vào nút Tiếp theo ở bên dưới để thêm tài khoản trường học vào hồ sơ này.</translation>
 <translation id="7206693748120342859">Đang tải <ph name="PLUGIN_NAME" /> xuống...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Thoát khỏi trang}other{Thoát khỏi các trang}}</translation>
 <translation id="7207457272187520234">Gửi dữ liệu chẩn đoán và dữ liệu về mức sử dụng. Thiết bị này hiện tự động gửi dữ liệu chẩn đoán, dữ liệu về thiết bị và mức sử dụng ứng dụng cho Google. Những thông tin này sẽ giúp tăng độ ổn định của hệ thống và ứng dụng cũng như cải thiện các mặt khác. Một số dữ liệu tổng hợp cũng sẽ hữu ích cho các ứng dụng và đối tác của Google, chẳng hạn như những nhà phát triển Android. Tùy chọn cài đặt này do chủ sở hữu thực thi. Nếu bạn bật tùy chọn cài đặt Hoạt động trên web và ứng dụng bổ sung, thì dữ liệu này có thể được lưu vào Tài khoản Google của bạn.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Bạn sắp hoàn tất!</translation>
 <translation id="7392118418926456391">Quét vi-rút không thành công</translation>
 <translation id="7392915005464253525">&amp;Mở lại cửa sổ đã đóng</translation>
-<translation id="7393472013449507620">Các tùy chọn cài đặt có ký tự đại diện "*" không được hỗ trợ nữa. Hãy liên hệ với nhà phát triển tiện ích hoặc quản trị viên của bạn để <ph name="BEGIN_LINK" />thay đổi các tùy chọn cài đặt này<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Các thư mục dùng chung sẽ xuất hiện ở đây</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> sẽ chạy khi khởi động hệ thống và tiếp tục chạy ở chế độ nền ngay cả khi bạn đã đóng tất cả các cửa sổ khác của <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Tùy chỉnh dữ liệu đồng bộ hóa</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Trình giữ chỗ</translation>
 <translation id="7529411698175791732">Kiểm tra kết nối Internet. Nếu sự cố vẫn tiếp diễn, hãy thử đăng xuất và đăng nhập lại.</translation>
 <translation id="7530016656428373557">Tốc độ phóng điện tính bằng Watt</translation>
+<translation id="7531310913436731628">Dịch vụ vị trí đã bị tắt trong System Preferences (Tùy chọn hệ thống) trên máy Mac</translation>
 <translation id="7531779363494549572">Chuyển đến Cài đặt &gt; Ứng dụng và thông báo &gt; Thông báo.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> hiện không phản hồi. Hãy chọn "Buộc đóng" để đóng ứng dụng.</translation>
 <translation id="7537451260744431038">Các trang web không thể dùng cookie để cải thiện trải nghiệm duyệt web của bạn, chẳng hạn như để duy trì trạng thái đăng nhập hoặc ghi nhớ các mục có trong giỏ hàng</translation>
@@ -6051,7 +6042,6 @@
 <translation id="8470513973197838199">Đã lưu mật khẩu cho <ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">được hỗ trợ bằng phần cứng</translation>
 <translation id="8473863474539038330">Địa chỉ và các tùy chọn khác</translation>
-<translation id="8474733733775441349">Hiển thị mật khẩu từ Tài khoản Google của bạn</translation>
 <translation id="8475313423285172237">Một chương trình khác trên máy tính của bạn đã thêm một tiện ích có thể thay đổi cách Chrome hoạt động.</translation>
 <translation id="8477241577829954800">Đã thay thế</translation>
 <translation id="8477384620836102176">&amp;Chung</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index dc60cd1..d74bcce 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">仅加密</translation>
 <translation id="1038462104119736705">建议为 Linux 留出至少 <ph name="INSTALL_SIZE" /> 的空间。如需增加可用空间,请从您的设备中删除文件。</translation>
 <translation id="1039337018183941703">文件无效或已损坏</translation>
-<translation id="104086161873270383">新个人资料</translation>
 <translation id="1041175011127912238">该页面未响应</translation>
 <translation id="1041263367839475438">可用的设备</translation>
 <translation id="1042174272890264476">您的计算机还内置了 <ph name="SHORT_PRODUCT_NAME" /> 的 RLZ 库。RLZ 会指定非唯一、非个人身份识别代码来衡量某推广活动所带来的搜索量和 <ph name="SHORT_PRODUCT_NAME" /> 使用量。这些标签有时会显示在 <ph name="PRODUCT_NAME" /> 的 Google 搜索查询中。</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">“<ph name="SUBPAGE_TITLE" />”子页面上的返回按钮</translation>
 <translation id="1322046419516468189">您可以查看和管理 <ph name="SAVED_PASSWORDS_STORE" />中保存的密码</translation>
 <translation id="1324106254079708331">为所有可能会遭到定向攻击的个人 Google 帐号提供保护</translation>
-<translation id="1325985428688410772">添加空间</translation>
 <translation id="1326317727527857210">要访问您在其他设备上的标签页,请登录 Chrome。</translation>
 <translation id="1327074568633507428">Google 云打印中的打印机</translation>
 <translation id="1327272175893960498">Kerberos 票据</translation>
@@ -747,7 +745,6 @@
 <translation id="1868553836791672080">此版 Chromium 无法检查密码</translation>
 <translation id="1871534214638631766">在您右键点击或长按内容时显示相关信息</translation>
 <translation id="1871615898038944731">您的 <ph name="DEVICE_TYPE" /> 使用的操作系统已为最新版本</translation>
-<translation id="1874835396235780806">将此密码和其他密码保存到您的 Google 帐号中?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{将标签页移至另一个窗口}other{将标签页移至另一个窗口}}</translation>
 <translation id="1875386316419689002">此标签页已连接到 HID 设备。</translation>
 <translation id="1875387611427697908">只能通过<ph name="CHROME_WEB_STORE" />添加此项内容</translation>
@@ -760,7 +757,6 @@
 <translation id="1884013283844450420">第 <ph name="NETWORK_INDEX" /> 个网络(共 <ph name="NETWORK_COUNT" /> 个),<ph name="NETWORK_NAME" />,连接</translation>
 <translation id="1884705339276589024">调整 Linux 磁盘大小</translation>
 <translation id="1885106732301550621">磁盘空间</translation>
-<translation id="1885190042244431215">添加学校帐号可让您以学生身份轻松登录网站和扩展程序,同时仍在家长控制下执行操作。</translation>
 <translation id="1886996562706621347">允许网站要求成为协议的默认处理程序(推荐)</translation>
 <translation id="1887442540531652736">登录错误</translation>
 <translation id="1887597546629269384">再说一次“Hey Google”</translation>
@@ -2196,7 +2192,6 @@
 <translation id="3654045516529121250">读取您的无障碍设置</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{此应用对 1 个文件拥有永久访问权限。}other{此应用对 # 个文件拥有永久访问权限。}}</translation>
 <translation id="3660234220361471169">不可信</translation>
-<translation id="3661172646479098821">目前仅支持 Android 设备。</translation>
 <translation id="3664511988987167893">扩展程序图标</translation>
 <translation id="3665589677786828986">Chrome检测到您的部分设置被其他程序篡改了,因此已将这些设置重置为原始默认设置。</translation>
 <translation id="3668801437375206837">为了更好地诊断蓝牙问题,Google 用户可以在反馈报告中包含其他蓝牙日志。此选项处于选中状态时,您的报告中将包含来自当前会话的 btsnoop 和 HCI 日志,这些日志经过处理,尽可能移除了个人身份信息。只有 Listnr 的 Chrome 操作系统产品组管理员可以访问这些日志。这些日志将于 90 天后被完全清除。</translation>
@@ -2767,6 +2762,7 @@
 <translation id="4370975561335139969">您输入的电子邮件地址和密码不匹配。</translation>
 <translation id="4374831787438678295">Linux 安装程序</translation>
 <translation id="4375035964737468845">打开已下载的文件</translation>
+<translation id="4376226992615520204">已关闭位置信息服务</translation>
 <translation id="4377363674125277448">服务器的证书存在问题。</translation>
 <translation id="4378154925671717803">电话机</translation>
 <translation id="4378373042927530923">未运行</translation>
@@ -2966,7 +2962,6 @@
 <translation id="4619615317237390068">从其他设备打开的标签页</translation>
 <translation id="4620809267248568679">此设置是由扩展程序强制设置的。</translation>
 <translation id="4623189117674524348">系统未能向此设备授予 API 访问权限。</translation>
-<translation id="4624190781974168453">启动时询问</translation>
 <translation id="4625078469366263107">启用应用</translation>
 <translation id="4627427111733173920">已拦截 Cookie</translation>
 <translation id="4627442949885028695">通过其他设备继续浏览</translation>
@@ -3396,7 +3391,6 @@
 <translation id="5185386675596372454">由于最新版的“<ph name="EXTENSION_NAME" />”需要更多权限,因此已将其停用。</translation>
 <translation id="5185500136143151980">未连接到互联网</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">“<ph name="PROFILE_LOCAL_NAME" />”的选项菜单</translation>
 <translation id="5190926251776387065">启用此端口</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> 想下载多个文件</translation>
 <translation id="5192062846343383368">打开 Family Link 应用,查看您的监管设置</translation>
@@ -3772,6 +3766,7 @@
 <translation id="5642508497713047">CRL 签名人</translation>
 <translation id="5643321261065707929">按流量计费的网络</translation>
 <translation id="5643620609347735571">清除并继续</translation>
+<translation id="5646376287012673985">位置信息</translation>
 <translation id="5646558797914161501">商务人士</translation>
 <translation id="5648166631817621825">过去 7 天</translation>
 <translation id="5649053991847567735">自动下载项</translation>
@@ -4478,7 +4473,6 @@
 <translation id="6531282281159901044">保留危险文件</translation>
 <translation id="6532101170117367231">保存到 Google 云端硬盘</translation>
 <translation id="6532106788206463496">保存更改</translation>
-<translation id="6532113437901537254">登录后,您在此设备上也能获取您 Google 帐号中保存的密码</translation>
 <translation id="6532206849875187177">安全性与登录</translation>
 <translation id="6532527800157340614">登录失败,因为检索不到您的访问令牌。请检查您的网络连接,然后重试。</translation>
 <translation id="6532663472409656417">已向企业注册</translation>
@@ -4610,7 +4604,7 @@
 <translation id="6709002550153567782">{NUM_PAGES,plural, =0{<ph name="PAGE_TITLE" />}=1{<ph name="PAGE_TITLE" /> 及另外 1 个标签页}other{<ph name="PAGE_TITLE" /> 及另外 # 个标签页}}</translation>
 <translation id="6709133671862442373">资讯</translation>
 <translation id="6709357832553498500">使用“<ph name="EXTENSIONNAME" />”连接</translation>
-<translation id="6710213216561001401">上一个</translation>
+<translation id="6710213216561001401">上一项</translation>
 <translation id="6715803357256707211">安装 Linux 应用时出错。请点击通知以了解详情。</translation>
 <translation id="671619610707606484">此操作会清除网站存储的 <ph name="TOTAL_USAGE" /> 数据</translation>
 <translation id="671928215901716392">锁定屏幕</translation>
@@ -5008,9 +5002,6 @@
 <translation id="7201118060536064622">已删除“<ph name="DELETED_ITEM_NAME" />”</translation>
 <translation id="7201420661433230412">查看文件</translation>
 <translation id="7203150201908454328">已展开</translation>
-<translation id="7203826966018112936">在个人资料中添加学校帐号可让孩子以学生身份轻松登录网站和扩展程序,同时仍在家长控制下执行操作。此操作不会授权孩子访问与学校帐号同步的书签、密码或其他浏览器数据。&lt;br&gt;&lt;br&gt;
-    如果您的孩子在校时使用 Chromebook,并且您希望在家中复制同样的在校使用体验,确保孩子能够获取所有必要的学校作业,请退出此 Family Link 帐号,然后从 Chrome 操作系统帐号页面登录学校帐号(注意:Family Link 家长控制将不适用)。&lt;br&gt;&lt;br&gt;
-    如果您的孩子在校时不使用 Chromebook,或者您更愿意借助 Family Link 管理孩子的在家使用体验,请点击下面的“下一步”按钮向此个人资料添加学校帐号。</translation>
 <translation id="7206693748120342859">正在下载 <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{退出网页}other{退出网页}}</translation>
 <translation id="7207457272187520234">发送使用情况数据和诊断数据。目前,此设备会自动向 Google 发送诊断数据、设备数据和应用使用情况数据。这些数据会有助于提高系统和应用的稳定性以及实现其他方面的改进。部分汇总数据还会对 Google 应用和合作伙伴(例如 Android 开发者)有所帮助。这项设置是由此设备的所有者强制指定的。如果您已开启“其他网络与应用活动记录”设置,这些数据可能会被保存到您的 Google 帐号中。</translation>
@@ -5153,7 +5144,6 @@
 <translation id="7388044238629873883">即将终结!</translation>
 <translation id="7392118418926456391">病毒扫描失败</translation>
 <translation id="7392915005464253525">重新打开关闭的窗口(&amp;E)</translation>
-<translation id="7393472013449507620">带有“*”通配符的设置已不再受支持。如需<ph name="BEGIN_LINK" />更改这些设置<ph name="END_LINK" />,请与扩展程序开发者或您的管理员联系。</translation>
 <translation id="7396017167185131589">共享文件夹将会显示在此处</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> 会在系统启动时启动,即使您将其他所有 <ph name="PRODUCT_NAME" />窗口关闭,它也会继续在后台运行。</translation>
 <translation id="7399045143794278225">自定义同步</translation>
@@ -5266,6 +5256,7 @@
 <translation id="7526989658317409655">占位符</translation>
 <translation id="7529411698175791732">请检查您的互联网连接。如果问题仍然存在,请尝试退出帐号并重新登录。</translation>
 <translation id="7530016656428373557">电池放电率(瓦)</translation>
+<translation id="7531310913436731628">已在 Mac 系统偏好设置中关闭位置信息服务</translation>
 <translation id="7531779363494549572">依次转到“设置”&gt;“应用和通知”&gt;“通知”。</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> 无响应。请选择“强制关闭”以关闭此应用。</translation>
 <translation id="7537451260744431038">网站无法使用 Cookie 来提升您的浏览体验,例如让您保持登录状态或记住您购物车中的商品</translation>
@@ -6045,7 +6036,6 @@
 <translation id="8470513973197838199">已保存用于登录 <ph name="ORIGIN" /> 的密码</translation>
 <translation id="8472623782143987204">硬件支持</translation>
 <translation id="8473863474539038330">地址和其他信息</translation>
-<translation id="8474733733775441349">显示您的 Google 帐号中保存的密码</translation>
 <translation id="8475313423285172237">您计算机上的其他程序添加了一个扩展程序,该扩展程序可能会改变 Chrome 的工作方式。</translation>
 <translation id="8477241577829954800">被取代</translation>
 <translation id="8477384620836102176">基本信息(&amp;G)</translation>
diff --git a/chrome/app/resources/generated_resources_zh-HK.xtb b/chrome/app/resources/generated_resources_zh-HK.xtb
index 9d58abaa..f8ca60f 100644
--- a/chrome/app/resources/generated_resources_zh-HK.xtb
+++ b/chrome/app/resources/generated_resources_zh-HK.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">只有 Encipher</translation>
 <translation id="1038462104119736705">Linux 需要至少 <ph name="INSTALL_SIZE" /> 的空間。如要增加可用空間,請刪除裝置內的檔案。</translation>
 <translation id="1039337018183941703">檔案無效或損毀</translation>
-<translation id="104086161873270383">新增設定檔</translation>
 <translation id="1041175011127912238">此網頁沒有回應</translation>
 <translation id="1041263367839475438">可用的裝置</translation>
 <translation id="1042174272890264476">您的電腦也內置了 <ph name="SHORT_PRODUCT_NAME" /> 的 RLZ 資料庫。RLZ 可指定非重複、非個人的可識別標記,以評估特定宣傳廣告活動所提升的搜尋數量與 <ph name="SHORT_PRODUCT_NAME" /> 使用量。這些標籤有時也會顯示在 <ph name="PRODUCT_NAME" /> 的 Google 搜尋查詢中。</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" />子頁面返回掣</translation>
 <translation id="1322046419516468189">查看和管理儲存在「<ph name="SAVED_PASSWORDS_STORE" />」的密碼</translation>
 <translation id="1324106254079708331">為任何有機會受到針對性攻擊的人士保障個人 Google 帳戶安全</translation>
-<translation id="1325985428688410772">新增空間</translation>
 <translation id="1326317727527857210">如要取得其他裝置上的分頁,請登入 Chrome。</translation>
 <translation id="1327074568633507428">Google 雲端列印上的打印機</translation>
 <translation id="1327272175893960498">Kerberos 票證</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Chromium 不支援密碼檢查功能</translation>
 <translation id="1871534214638631766">按一下右鍵或長按內容時顯示相關資訊</translation>
 <translation id="1871615898038944731">您的 <ph name="DEVICE_TYPE" /> 已是最新版本</translation>
-<translation id="1874835396235780806">要將此密碼和其他密碼儲存在 Google 帳戶中嗎?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{將分頁移至其他視窗}other{將分頁移至其他視窗}}</translation>
 <translation id="1875386316419689002">此分頁已連接至 HID 裝置。</translation>
 <translation id="1875387611427697908">只能從 <ph name="CHROME_WEB_STORE" /> 新增</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">第 <ph name="NETWORK_INDEX" /> 個網絡,一共有 <ph name="NETWORK_COUNT" /> 個網絡,<ph name="NETWORK_NAME" />,連接</translation>
 <translation id="1884705339276589024">調整 Linux 磁碟大小</translation>
 <translation id="1885106732301550621">磁碟空間</translation>
-<translation id="1885190042244431215">只需新增學校帳戶,即可讓您在家長監控設定下,以學生身份輕鬆登入網站和擴充程式。</translation>
 <translation id="1886996562706621347">允許網站要求成為通訊協定的預設處理常式 (建議)</translation>
 <translation id="1887442540531652736">登入錯誤</translation>
 <translation id="1887597546629269384">再說一次「Hey Google」</translation>
@@ -2199,7 +2195,6 @@
 <translation id="3654045516529121250">讀取您的協助工具設定</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{應用程式可永久存取 1 個檔案。}other{應用程式可永久存取 # 個檔案。}}</translation>
 <translation id="3660234220361471169">不受信任</translation>
-<translation id="3661172646479098821">目前僅支援 Android 裝置。</translation>
 <translation id="3664511988987167893">擴充程式圖示</translation>
 <translation id="3665589677786828986">Chrome 偵測到另一個程式破壞了部分設定,並且將這些設定重設為原始預設值。</translation>
 <translation id="3668801437375206837">為了更有效地診斷藍牙問題,Google 員工可在意見反映報告中附加藍牙記錄。若勾選此選項,您的報告將包括目前工作階段的 btsnoop 和 HCI 記錄,而系統會預先盡量移除個人識別資料。只有 Listnr 的 Chrome OS 產品群組管理員有權存取這些記錄。有關記錄將於 90 天後徹底清除。</translation>
@@ -2771,6 +2766,7 @@
 <translation id="4370975561335139969">您所輸入的電郵與密碼不符</translation>
 <translation id="4374831787438678295">Linux 安裝程式</translation>
 <translation id="4375035964737468845">開啟已下載的檔案</translation>
+<translation id="4376226992615520204">已關閉位置功能</translation>
 <translation id="4377363674125277448">伺服器憑證有問題。</translation>
 <translation id="4378154925671717803">電話號碼</translation>
 <translation id="4378373042927530923">未執行</translation>
@@ -2970,7 +2966,6 @@
 <translation id="4619615317237390068">在其他裝置上開啟的分頁</translation>
 <translation id="4620809267248568679">這項設定是由擴充功能執行。</translation>
 <translation id="4623189117674524348">系統無法將 API 存取權授予此裝置。</translation>
-<translation id="4624190781974168453">在啟動時詢問</translation>
 <translation id="4625078469366263107">啟用應用程式</translation>
 <translation id="4627427111733173920">已封鎖 Cookie</translation>
 <translation id="4627442949885028695">先前在其他裝置瀏覽的網頁</translation>
@@ -3400,7 +3395,6 @@
 <translation id="5185386675596372454">由於最新版本的「<ph name="EXTENSION_NAME" />」需要更多權限,因此已經停用。</translation>
 <translation id="5185500136143151980">沒有互聯網連線</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" />嘅選項選單</translation>
 <translation id="5190926251776387065">啟用連接埠</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> 想下載多個檔案</translation>
 <translation id="5192062846343383368">開啟 Family Link 應用程式以查看監控設定</translation>
@@ -3776,6 +3770,7 @@
 <translation id="5642508497713047">CRL 簽署者</translation>
 <translation id="5643321261065707929">按用量收費的網絡</translation>
 <translation id="5643620609347735571">清除並繼續</translation>
+<translation id="5646376287012673985">位置</translation>
 <translation id="5646558797914161501">商人</translation>
 <translation id="5648166631817621825">最近 7 天</translation>
 <translation id="5649053991847567735">自動下載</translation>
@@ -4482,7 +4477,6 @@
 <translation id="6531282281159901044">保留不安全的檔案</translation>
 <translation id="6532101170117367231">儲存至 Google 雲端硬碟</translation>
 <translation id="6532106788206463496">儲存變更</translation>
-<translation id="6532113437901537254">登入後,您亦可在此裝置上查看儲存在 Google 帳戶中的密碼</translation>
 <translation id="6532206849875187177">安全性和登入</translation>
 <translation id="6532527800157340614">無法擷取您的存取憑證,因此無法登入。請檢查您的網絡連線,然後再試一次。</translation>
 <translation id="6532663472409656417">已註冊企業</translation>
@@ -5012,9 +5006,6 @@
 <translation id="7201118060536064622">已刪除「<ph name="DELETED_ITEM_NAME" />」</translation>
 <translation id="7201420661433230412">查看檔案</translation>
 <translation id="7203150201908454328">已展開</translation>
-<translation id="7203826966018112936">只需新增學校帳戶到設定檔,即可讓您在家長監控設定下,以學生身份輕鬆登入網站和擴充程式。此操作不會向子女授予與學校帳戶同步的書籤、密碼或其他瀏覽資料的存取權。&lt;br&gt;&lt;br&gt;
-    如果您的子女在學校使用 Chromebook,而您想將學校體驗完整複製至家中,以確保子女女可存取所有與學校作業相關的必要內容,請登出此 Family Link 帳戶,並從 Chrome 作業系統帳戶頁面登入學校帳戶 (注意:系統不會套用 Family Link 家長監控設定)。&lt;br&gt;&lt;br&gt;
-    如果您的子女在學校不使用 Chromebook,或您想透過 Family Link 管理子女的在家體驗,請按下方的 [下一步] 按鈕,將學校帳戶新增至此設定檔。</translation>
 <translation id="7206693748120342859">正在下載 <ph name="PLUGIN_NAME" />…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{離開網頁}other{離開網頁}}</translation>
 <translation id="7207457272187520234">傳送使用情況和診斷資料。此裝置目前會自動將診斷、裝置及應用程式的使用情況資料傳送至 Google。這可協助改善系統及應用程式的穩定性及其他功能。部分彙整資料也會用於協助 Google 應用程式與合作夥伴 (例如 Android 開發人員)。擁有者可強制執行此設定。如果已開啟其他「網絡及應用程式活動記錄」設定,系統可能會將此資料儲存至您的 Google 帳戶。</translation>
@@ -5157,7 +5148,6 @@
 <translation id="7388044238629873883">就快完成了!</translation>
 <translation id="7392118418926456391">病毒掃描失敗</translation>
 <translation id="7392915005464253525">重新開啟已關閉視窗(&amp;E)</translation>
-<translation id="7393472013449507620">系統已不再支援含有「*」萬用字元的設定。請聯絡擴充程式開發人員或您的管理員,以<ph name="BEGIN_LINK" />變更這些設定<ph name="END_LINK" />。</translation>
 <translation id="7396017167185131589">共用資料夾將會在這裡顯示</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> 會隨著系統一併啟動,即使在所有 <ph name="PRODUCT_NAME" /> 視窗都關閉後,仍會在背景繼續執行。</translation>
 <translation id="7399045143794278225">自訂同步處理功能</translation>
@@ -5270,6 +5260,7 @@
 <translation id="7526989658317409655">佔位符</translation>
 <translation id="7529411698175791732">請檢查您的互聯網連線。如果問題持續,請嘗試登出,然後再次登入。</translation>
 <translation id="7530016656428373557">放電速率 (瓦特)</translation>
+<translation id="7531310913436731628">已在 Mac 系統偏好設定中關閉位置功能</translation>
 <translation id="7531779363494549572">前往 [設定] &gt; [應用程式和通知] &gt; [通知]。</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> 沒有回應。選取「強制關閉」即可關閉應用程式。</translation>
 <translation id="7537451260744431038">網站不可使用 Cookie 來改善瀏覽體驗,例如讓您保持登入狀態或記住購物車中的商品</translation>
@@ -6049,7 +6040,6 @@
 <translation id="8470513973197838199">已儲存 <ph name="ORIGIN" /> 的密碼</translation>
 <translation id="8472623782143987204">硬件支援</translation>
 <translation id="8473863474539038330">地址及其他資料</translation>
-<translation id="8474733733775441349">顯示 Google 帳戶中的密碼</translation>
 <translation id="8475313423285172237">電腦中其他程式所新增的擴充功能可能會變更 Chrome 的運作方式。</translation>
 <translation id="8477241577829954800">已取代</translation>
 <translation id="8477384620836102176">一般(&amp;G)</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index 8f40b4b..12affde5 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">只有 Encipher</translation>
 <translation id="1038462104119736705">建議你至少為 Linux 保留 <ph name="INSTALL_SIZE" /> 的空間。如要增加可用空間,請刪除裝置中的檔案。</translation>
 <translation id="1039337018183941703">檔案無效或毀損</translation>
-<translation id="104086161873270383">新增設定檔</translation>
 <translation id="1041175011127912238">這個網頁沒有回應</translation>
 <translation id="1041263367839475438">可用的裝置</translation>
 <translation id="1042174272890264476">你的電腦也內建了 <ph name="SHORT_PRODUCT_NAME" /> 的 RLZ 程式庫。RLZ 可指定非重複、非個人的可辨識標記,以評估特定宣傳廣告活動所提升的搜尋數與 <ph name="SHORT_PRODUCT_NAME" /> 使用量。這些標籤有時也會顯示在 <ph name="PRODUCT_NAME" /> 的 Google 搜尋查詢中。</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660"><ph name="SUBPAGE_TITLE" />子頁面返回按鈕</translation>
 <translation id="1322046419516468189">你可以查看及管理 <ph name="SAVED_PASSWORDS_STORE" />中儲存的密碼</translation>
 <translation id="1324106254079708331">保護任何容易成為攻擊目標的使用者,確保他們的帳戶安全無虞</translation>
-<translation id="1325985428688410772">新增空間</translation>
 <translation id="1326317727527857210">如要存取您在其他裝置上開啟的分頁,請登入 Chrome。</translation>
 <translation id="1327074568633507428">Google 雲端列印中的印表機</translation>
 <translation id="1327272175893960498">Kerberos 票證</translation>
@@ -750,7 +748,6 @@
 <translation id="1868553836791672080">Chromium 不支援密碼檢查功能</translation>
 <translation id="1871534214638631766">當你在內容上按一下滑鼠右鍵或長按時顯示相關資訊</translation>
 <translation id="1871615898038944731">你的 <ph name="DEVICE_TYPE" /> 已搭載最新版本的作業系統</translation>
-<translation id="1874835396235780806">要將這組密碼和其他密碼儲存在你的 Google 帳戶中嗎?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{將分頁移到其他視窗}other{將分頁移到其他視窗}}</translation>
 <translation id="1875386316419689002">這個分頁已連線至 HID 裝置。</translation>
 <translation id="1875387611427697908">只能從 <ph name="CHROME_WEB_STORE" /> 新增</translation>
@@ -763,7 +760,6 @@
 <translation id="1884013283844450420">第 <ph name="NETWORK_INDEX" /> 個網路 (共 <ph name="NETWORK_COUNT" /> 個),<ph name="NETWORK_NAME" />,連線</translation>
 <translation id="1884705339276589024">調整 Linux 磁碟大小</translation>
 <translation id="1885106732301550621">磁碟空間</translation>
-<translation id="1885190042244431215">新增學校帳戶可讓你以學生身分輕鬆登入網站和擴充功能,同時繼續遵守家長監護功能的操作規範。</translation>
 <translation id="1886996562706621347">允許網站要求成為通訊協定的預設處理常式 (建議)</translation>
 <translation id="1887442540531652736">登入錯誤</translation>
 <translation id="1887597546629269384">再說一次「Hey Google」</translation>
@@ -1251,7 +1247,7 @@
 <translation id="249113932447298600">很抱歉,系統目前不支援 <ph name="DEVICE_LABEL" /> 裝置。</translation>
 <translation id="2492461744635776704">正在準備憑證簽署要求</translation>
 <translation id="249303669840926644">無法完成註冊</translation>
-<translation id="2493126929778606526">你的最佳相片 (自動選取)</translation>
+<translation id="2493126929778606526">自動精選最佳相片</translation>
 <translation id="2495777824269688114">探索其他功能或者獲得問題解答。選取 [?] 即可取得相關說明。</translation>
 <translation id="2496180316473517155">瀏覽記錄</translation>
 <translation id="2497229222757901769">滑鼠速度</translation>
@@ -2199,7 +2195,6 @@
 <translation id="3654045516529121250">讀取你的無障礙設定</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{應用程式可永久存取 1 個檔案。}other{應用程式可永久存取 # 個檔案。}}</translation>
 <translation id="3660234220361471169">不受信任</translation>
-<translation id="3661172646479098821">目前僅支援 Android 裝置。</translation>
 <translation id="3664511988987167893">擴充功能圖示</translation>
 <translation id="3665589677786828986">Chrome 偵測到另一個程式竄改了部分瀏覽器設定,現已將這些設定重設為原始預設值。</translation>
 <translation id="3668801437375206837">為了進一步診斷藍牙問題,Google 員工可在意見回饋報告額外納入藍牙記錄。勾選這個選項後,你的報告就會納入你目前工作階段的 btsnoop 和 HCI 記錄;這些記錄會經過處理,儘可能移除個人識別資訊 (PII)。這些記錄只有 Listnr 的 Chrome 作業系統產品小組主管可以存取,且會在 90 天後遭到清除。</translation>
@@ -2770,6 +2765,7 @@
 <translation id="4370975561335139969">您所輸入的電子郵件和密碼不相符</translation>
 <translation id="4374831787438678295">Linux 安裝程式</translation>
 <translation id="4375035964737468845">開啟已下載的檔案。</translation>
+<translation id="4376226992615520204">已關閉定位功能</translation>
 <translation id="4377363674125277448">伺服器憑證有問題。</translation>
 <translation id="4378154925671717803">電話</translation>
 <translation id="4378373042927530923">未執行</translation>
@@ -2969,7 +2965,6 @@
 <translation id="4619615317237390068">在其他裝置上開啟的分頁</translation>
 <translation id="4620809267248568679">這項設定是由擴充功能執行。</translation>
 <translation id="4623189117674524348">系統無法對這個裝置授予 API 存取權。</translation>
-<translation id="4624190781974168453">啟動時詢問</translation>
 <translation id="4625078469366263107">啟用應用程式</translation>
 <translation id="4627427111733173920">已封鎖 Cookie</translation>
 <translation id="4627442949885028695">透過其他裝置繼續瀏覽</translation>
@@ -3399,7 +3394,6 @@
 <translation id="5185386675596372454">由於最新版本的 <ph name="EXTENSION_NAME" /> 需要更多權限,因此已經停用。</translation>
 <translation id="5185500136143151980">沒有網際網路連線</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287"><ph name="PROFILE_LOCAL_NAME" />的選項選單</translation>
 <translation id="5190926251776387065">啟用通訊埠</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> 想要下載多個檔案</translation>
 <translation id="5192062846343383368">開啟 Family Link 應用程式以查看監督功能設定</translation>
@@ -3775,6 +3769,7 @@
 <translation id="5642508497713047">CRL 簽署者</translation>
 <translation id="5643321261065707929">計量付費的網路</translation>
 <translation id="5643620609347735571">清除並繼續</translation>
+<translation id="5646376287012673985">位置</translation>
 <translation id="5646558797914161501">商人</translation>
 <translation id="5648166631817621825">過去 7 天</translation>
 <translation id="5649053991847567735">自動下載</translation>
@@ -4010,7 +4005,7 @@
 <translation id="5939518447894949180">重設</translation>
 <translation id="5941153596444580863">新增使用者...</translation>
 <translation id="5941343993301164315">請登入 <ph name="TOKEN_NAME" />。</translation>
-<translation id="5941711191222866238">縮到最小</translation>
+<translation id="5941711191222866238">最小化</translation>
 <translation id="5942964813783878922">完成更新後,你的 <ph name="DEVICE_TYPE" /> 將會重新啟動。日後系統會自動安裝新版軟體和安全性更新。</translation>
 <translation id="5944869793365969636">掃描 QR 圖碼</translation>
 <translation id="5946591249682680882">報表 ID <ph name="WEBRTC_LOG_REPORT_ID" /></translation>
@@ -4481,7 +4476,6 @@
 <translation id="6531282281159901044">保留不安全的檔案</translation>
 <translation id="6532101170117367231">儲存至 Google 雲端硬碟</translation>
 <translation id="6532106788206463496">儲存變更</translation>
-<translation id="6532113437901537254">當你登入帳戶時,也可以在這部裝置上查看 Google 帳戶中的密碼</translation>
 <translation id="6532206849875187177">安全性與登入</translation>
 <translation id="6532527800157340614">無法擷取你的存取憑證,因此登入失敗。請檢查網路連線,然後再試一次。</translation>
 <translation id="6532663472409656417">已註冊企業</translation>
@@ -5011,9 +5005,6 @@
 <translation id="7201118060536064622">已刪除「<ph name="DELETED_ITEM_NAME" />」</translation>
 <translation id="7201420661433230412">查看檔案</translation>
 <translation id="7203150201908454328">已展開</translation>
-<translation id="7203826966018112936">將學校帳戶新增至設定檔可讓子女以學生的身分輕鬆登入網站和擴充功能,同時遵守家長監護功能的操作規範。這項操作不允許子女存取與學校帳戶同步的書籤、密碼或其他瀏覽器資料。&lt;br&gt;&lt;br&gt;
-    如果子女在學校使用 Chromebook,而您想在家中複製相同的學校使用體驗,以確保子女可存取所有與學校作業相關的必要資訊,請登出這個 Family Link 帳戶,然後從 Chrome 作業系統帳戶頁面登入學校帳戶 (注意:系統不會套用 Family Link 家長監護功能)。&lt;br&gt;&lt;br&gt;
-    如果子女在學校不是使用 Chromebook,或是您想要使用 Family Link 管理子女在家中的使用體驗,請按下方的 [下一步] 按鈕,將學校帳戶新增至這個設定檔。</translation>
 <translation id="7206693748120342859">正在下載 <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{離開網頁}other{離開網頁}}</translation>
 <translation id="7207457272187520234">傳送使用狀況與診斷資料。這部裝置目前會自動將診斷資料、裝置和應用程式的使用資料傳送給 Google。這些資料將有助於改善系統和應用程式的穩定性與其他功能。此外,部分匯總資料還能協助 Google 應用程式和合作夥伴 (例如 Android 開發人員) 改善自己的產品和服務。這項設定是由裝置擁有者強制執行。如果你將「其他網路和應用程式活動」設定為開啟,這些資料可能會儲存在你的 Google 帳戶中。</translation>
@@ -5156,7 +5147,6 @@
 <translation id="7388044238629873883">就快完成了!</translation>
 <translation id="7392118418926456391">病毒掃描失敗</translation>
 <translation id="7392915005464253525">重新開啟已關閉視窗(&amp;E)</translation>
-<translation id="7393472013449507620">系統已停止支援包含「*」萬用字元的設定。請與擴充功能開發人員或系統管理員聯絡來<ph name="BEGIN_LINK" />變更這些設定<ph name="END_LINK" />。</translation>
 <translation id="7396017167185131589">共用資料夾會顯示在這裡</translation>
 <translation id="7396845648024431313"><ph name="APP_NAME" /> 會隨著系統一併啟動,即使在所有 <ph name="PRODUCT_NAME" /> 視窗都關閉後仍會在背景繼續執行。</translation>
 <translation id="7399045143794278225">自訂同步功能</translation>
@@ -5269,6 +5259,7 @@
 <translation id="7526989658317409655">預留位置</translation>
 <translation id="7529411698175791732">檢查你的網際網路連線。如果問題持續發生,請嘗試登出,然後再次登入。</translation>
 <translation id="7530016656428373557">放電速率 (瓦特)</translation>
+<translation id="7531310913436731628">已關閉 Mac 系統偏好設定中的定位功能</translation>
 <translation id="7531779363494549572">依序輕觸 [設定] &gt; [應用程式和通知] &gt; [通知]。</translation>
 <translation id="7532009420053991888">「<ph name="LINUX_APP_NAME" />」沒有回應。選取「強制關閉」即可關閉應用程式。</translation>
 <translation id="7537451260744431038">網站無法使用 Cookie 改善瀏覽體驗,例如讓你保持登入狀態,或記住購物車中的商品</translation>
@@ -6048,7 +6039,6 @@
 <translation id="8470513973197838199">已儲存 <ph name="ORIGIN" /> 的密碼</translation>
 <translation id="8472623782143987204">硬體支援</translation>
 <translation id="8473863474539038330">地址和其他資訊</translation>
-<translation id="8474733733775441349">顯示 Google 帳戶中的密碼</translation>
 <translation id="8475313423285172237">電腦中其他程式所新增的擴充功能可能會變更 Chrome 的運作方式。</translation>
 <translation id="8477241577829954800">已取代</translation>
 <translation id="8477384620836102176">一般(&amp;G)</translation>
diff --git a/chrome/app/resources/generated_resources_zu.xtb b/chrome/app/resources/generated_resources_zu.xtb
index a98e1b61..02e97e4d 100644
--- a/chrome/app/resources/generated_resources_zu.xtb
+++ b/chrome/app/resources/generated_resources_zu.xtb
@@ -39,7 +39,6 @@
 <translation id="1038168778161626396">I-encipher kuphela</translation>
 <translation id="1038462104119736705">Kunconywa okungenani isikhala esingu-<ph name="INSTALL_SIZE" /> nge-Linux. Ukukhuphula isikhala esingenalutho. susa amafayela kusuka kudivayisi yakho.</translation>
 <translation id="1039337018183941703">Ifayela elingavumelekile noma elimoshekile</translation>
-<translation id="104086161873270383">Iphrofayela Entsha</translation>
 <translation id="1041175011127912238">Ikhasi aliphenduli</translation>
 <translation id="1041263367839475438">Amadivayisi atholakalayo</translation>
 <translation id="1042174272890264476">Ikhompyutha yakho iphinda ize nelabhulali ye-<ph name="SHORT_PRODUCT_NAME" /> RLZ eyakhelwe ngaphakathi. I-RLZ ifakela umaka ongakhombi isiqu somuntu, esingahlukile ukuze kulinganiswe usesho nokusetshenziswa kwe-<ph name="SHORT_PRODUCT_NAME" /> okuhlolwa ngumkhankaso othile wokuphromotha. Lawa malebula kwesinye isikhathi avela kumibuzo ye-Usesho lwe-Google ku-<ph name="PRODUCT_NAME" />.</translation>
@@ -280,7 +279,6 @@
 <translation id="1319983966058170660">Inkinobho yasemuva yekhasi elingezansi le-<ph name="SUBPAGE_TITLE" /></translation>
 <translation id="1322046419516468189">Buka futhi uphathe amaphasiwedi alondoloziwe ku-<ph name="SAVED_PASSWORDS_STORE" /> yakho</translation>
 <translation id="1324106254079708331">Vikela wonke ama-akhawunti e-Google omuntu siqu wanoma ubani asengcupheni yokuhlaselwa okuqondiwe</translation>
-<translation id="1325985428688410772">Engeza Isikhala</translation>
 <translation id="1326317727527857210">Ukuze uthole amathebhu akho kusukela kumanye amadivayisi akho, ngena ngemvume ku-Chrome.</translation>
 <translation id="1327074568633507428">Iphrinta kumafu wephrinta ye-Google</translation>
 <translation id="1327272175893960498">Amathikithi e-Kerberos</translation>
@@ -748,7 +746,6 @@
 <translation id="1868553836791672080">Ukuhlola iphasiwedi akutholakali ku-Chromium</translation>
 <translation id="1871534214638631766">Bonisa ulwazi oluhambisanayo uma uchofoza ngakwesokudla noma ucindezele isikhathi eside kokuqukethwe</translation>
 <translation id="1871615898038944731">I-<ph name="DEVICE_TYPE" /> yakho isesikhathini samanje</translation>
-<translation id="1874835396235780806">Londoloza lokhu namanye amaphasiwedi ku-akhawunti yakho ye-Google?</translation>
 <translation id="1874972853365565008">{NUM_TABS,plural, =1{Hambisa ithebhu kwelinye iwindi}one{Hambisa amathebhu kwelinye iwindi}other{Hambisa amathebhu kwelinye iwindi}}</translation>
 <translation id="1875386316419689002">Le thebhu ixhunywe kudivayisi ye-HID.</translation>
 <translation id="1875387611427697908">Lokhu kungangezwa kuphela kusukela ku-<ph name="CHROME_WEB_STORE" /></translation>
@@ -761,7 +758,6 @@
 <translation id="1884013283844450420">Inethiwekhi <ph name="NETWORK_INDEX" /> ye-<ph name="NETWORK_COUNT" />, <ph name="NETWORK_NAME" />, xhuma</translation>
 <translation id="1884705339276589024">Shintsha usayizi wediski le-Linux</translation>
 <translation id="1885106732301550621">Isikhala sediski</translation>
-<translation id="1885190042244431215">Ukwengeza i-akhawunti yesikole kukuvumela ukuba ungene ngemvume kalula kumawebhusayithi nakuzandiso njengomfundi kuyilapho usasebenza ngaphansi kokulawulwa ngumzali.</translation>
 <translation id="1886996562706621347">Vumela amasayithi ukuthi acele ukuba yiziphathi ezizenzakalelayo zamaphrothokholi (kunconyiwe)</translation>
 <translation id="1887442540531652736">Iphutha lokungena ngemvume</translation>
 <translation id="1887597546629269384">Ithi "Hey Google" futhi</translation>
@@ -2198,7 +2194,6 @@
 <translation id="3654045516529121250">Funda izilungiselelo zokufinyelela kwakho</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{Inokufinyelela okungunaphakade kufayela elilodwa.}one{Inokufinyelela okungunaphakade kumafayela angu-#.}other{Inokufinyelela okungunaphakade kumafayela angu-#.}}</translation>
 <translation id="3660234220361471169">Okungathenjiwe</translation>
-<translation id="3661172646479098821">Amadivayisi e-Android kuphela manje asekelwe.</translation>
 <translation id="3664511988987167893">Isithonjana sesandiso</translation>
 <translation id="3665589677786828986">I-Chrome ithole ukuthi ezinye izilungiselelo zakho zonakaliswe olunye uhlelo bese yazisetha kabusha zaba okumisiwe kwasekuqaleni.</translation>
 <translation id="3668801437375206837">Ukuze uxilonge kangcono izinkinga ze-Bluetooth, abasebenza kwa-Google bangabandakanya amalogu e-Bluetooth angeziwe ngemibiko yabo yempendulo. Uma le nketho imakiwe, umbiko wakho uzobandakanya amalogu e-btsnoop ne-HCI kusuka esikhathini sakho samanje, kuqinisekiselwe ukususa i-PII kakhulu. Ukufinyelela kulawo malogu kuzokhawulelwa kubaphathi beqembu lomkhiqizo we-Chrome OS ku-Listnr. Amalogu azosuswa ngemuva kwezinsuku ezingu-90.</translation>
@@ -2769,6 +2764,7 @@
 <translation id="4370975561335139969">I-imeyili nephasiwedi oyifakile ayifani</translation>
 <translation id="4374831787438678295">Isifaki se-Linux</translation>
 <translation id="4375035964737468845">Vula amafayela alandiwe</translation>
+<translation id="4376226992615520204">Indawo ivaliwe</translation>
 <translation id="4377363674125277448">Kube nenkinga ngesitifiketi seseva.</translation>
 <translation id="4378154925671717803">Ifoni</translation>
 <translation id="4378373042927530923">Akuqaliswanga</translation>
@@ -2968,7 +2964,6 @@
 <translation id="4619615317237390068">Amathebhu kusuka kwamanye amadivayisi</translation>
 <translation id="4620809267248568679">Lokhu kulungiselelwa kuqiniswa isandiso.</translation>
 <translation id="4623189117674524348">Isistimu ihlulekile ukugunyaza ukufinyelela kwe-API kwale divayisi.</translation>
-<translation id="4624190781974168453">Buza lapho uqalisa khona</translation>
 <translation id="4625078469366263107">Nika amandla uhlelo lokusebenza</translation>
 <translation id="4627427111733173920">Amakhukhi avinjelwe</translation>
 <translation id="4627442949885028695">Qhubeka kusuka kwenye idivayisi</translation>
@@ -3398,7 +3393,6 @@
 <translation id="5185386675596372454">Inguqulo entsha ye-"<ph name="EXTENSION_NAME" />" ikhutshaziwe ngoba idinga izimvume eziningi.</translation>
 <translation id="5185500136143151980">Ayikho i-Inthanethi</translation>
 <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation>
-<translation id="5190392396417374287">Imenyu yongakhetha kukho ye-<ph name="PROFILE_LOCAL_NAME" /></translation>
 <translation id="5190926251776387065">Yenza imbobo isebenze</translation>
 <translation id="51918995459521422"><ph name="ORIGIN" /> ifuna ukulanda amafayela amaningi</translation>
 <translation id="5192062846343383368">Vula uhlelo lokusebenza lwe-Family Link ukuze ubone izilungiselelo zakho zokugada</translation>
@@ -3777,6 +3771,7 @@
 <translation id="5642508497713047">Isisayini se-CRL</translation>
 <translation id="5643321261065707929">Inethiwekhi eyenziwe imitha</translation>
 <translation id="5643620609347735571">Sula futhi uqhubeke</translation>
+<translation id="5646376287012673985">Indawo</translation>
 <translation id="5646558797914161501">Usomabhizinisi</translation>
 <translation id="5648166631817621825">Izinsuku zokugcina ezingu-7</translation>
 <translation id="5649053991847567735">Ukulandwa okuzenzakalelayo</translation>
@@ -4483,7 +4478,6 @@
 <translation id="6531282281159901044">Gcina ifayela eliyingozi</translation>
 <translation id="6532101170117367231">Londoloza ku-Google Drayivu</translation>
 <translation id="6532106788206463496">Londoloza ushintsho</translation>
-<translation id="6532113437901537254">Amaphasiwedi wakho kusuka ku-akhawunti yakho ye-Google nawo azotholakala kule divayisi ngenkathi usangene ngemvume</translation>
 <translation id="6532206849875187177">Ukuphepha nokungena ngemvume</translation>
 <translation id="6532527800157340614">Ukungena ngemvume kwehlulekile ngoba ithokheni yakho yokufinyelela ayikwazanga ukubuyiswa. Sicela uhlole ukuxhumana kwenethiwekhi yakho bese uyazama futhi.</translation>
 <translation id="6532663472409656417">Ibhizinisi libhaliswe</translation>
@@ -5013,9 +5007,6 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' kususiwe</translation>
 <translation id="7201420661433230412">Buka amafayela</translation>
 <translation id="7203150201908454328">Inwetshiwe</translation>
-<translation id="7203826966018112936">Ukwengeza i-akhawunti yesikole kuphrofayela kukuvumela ukuba ungene ngemvume kalula kumawebhusayithi nakuzandiso njengomfundi kuyilapho usebenza ngaphansi kokulawulwa ngumzali. Akuyiniki ingane ukufinyelela kumabhukhimakhi, amaphasiwedi, noma enye idatha yokuphequlula evunyelaniswe ne-akhawunti yesikole.&lt;br&gt;&lt;br&gt;
-    Uma ingane yakho isebenzisa i-Chromebook esikoleni futhi ufisa ukufanisela lokho ekwenza esikoleni lapho usekhaya ukuze uqiniseke ukuthi ingane yakho iyakwazi ukufinyelela kuwo wonke umsebenzi wesikole obalulekile, sicela uphume ngemvume kule akhawunti ye-Family Link bese ungene ngemvume ku-akhawunti yesikole kusukela ekhasini lama-akhawunti le-Chrome OS (qaphela: Izilawuli zomzali ze-Family Link ngeke zisebenze).&lt;br&gt;&lt;br&gt;
-    Uma ingane yakho ingasebenzisi i-Chromebook esikoleni noma uma uthanda ukulawula okwenziwa yingane yakho lapho usekhaya usebenzisa i-Family Link, sicela uchofoze inkinobho ethi Okulandelayo ngezansi ukuze ungeze i-akhawunti yesikole kule phrofayela.</translation>
 <translation id="7206693748120342859">Ilanda i-<ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Phuma ekhasini}one{Phuma emakhasini}other{Phuma emakhasini}}</translation>
 <translation id="7207457272187520234">Thumela idatha yokusetshenziswa neyokuxilonga. Le divayisi manje ithumela ngokuzenzakalela idatha yokuxilonga, yedivayisi, neyokusetshenziswa kwedatha ku-Google. Lokhu kuzosiza ukuzinza kwesistimu nokohlelo lokusebenza nokunye ukuthuthukiswa. Enye idatha izophinda isize izinhlelo zokusebenza ze-Google nozakwethu, abafana nonjiniyela be-Android. Lesi silungiselelo siphoqelelwa umnikazi. Uma isilungiselelo sakho esingeziwe somsebenzi wewebhu nowohlelo lokusebenza sivuliwe, le datha ingalondolozwa ku-akhawunti yakho ye-Google.</translation>
@@ -5158,7 +5149,6 @@
 <translation id="7388044238629873883">Usuzoqeda!</translation>
 <translation id="7392118418926456391">Ukuskena kwegciwane kuhlulekile</translation>
 <translation id="7392915005464253525">Phinda uvule iwindi elivaliwe</translation>
-<translation id="7393472013449507620">Amasethingi anama-wildcard we-"*"awasasekelwe. Xhumana nonjiniyela wezandiso noma umlawulo wakho ukuze <ph name="BEGIN_LINK" /> ushintshe la masethingi<ph name="END_LINK" />.</translation>
 <translation id="7396017167185131589">Amafolda abiwe azovela lapha</translation>
 <translation id="7396845648024431313">I-<ph name="APP_NAME" /> izoqaliswa ekuqaleni kwesistimu iphinde iqhubeke ukusebenza ngemuva nanoma usuvale wonke amanye amawindi we-<ph name="PRODUCT_NAME" />.</translation>
 <translation id="7399045143794278225">Yenza ukuvumelanisa ngokwezifiso</translation>
@@ -5271,6 +5261,7 @@
 <translation id="7526989658317409655">Isimeli</translation>
 <translation id="7529411698175791732">Hlola uxhumo lwakho lwe-inthanethi. Uma inkinga iqhubeka, zama ukuphuma bese ungene futhi.</translation>
 <translation id="7530016656428373557">Ukulinganiselwa kokukhishwa ngamawathi</translation>
+<translation id="7531310913436731628">Indawo ivaliwe kuzintandokazi zesistimu ye-Mac</translation>
 <translation id="7531779363494549572">Hamba kuzilungiselelo &gt; Izinhlelo zokusebenza nezaziso &gt; Izaziso.</translation>
 <translation id="7532009420053991888">I-<ph name="LINUX_APP_NAME" /> ayiphenduli. Khetha okuthi "Phoqa ukuvala" ukuze uvale uhlelo lokusebenza.</translation>
 <translation id="7537451260744431038">Amasayithi awakwazi ukusebenzisa amakhukhi ukuthuthukisa ukuzizwela kwakho kokuphequlula, ngokwesibonelo, ukukugcina ungene ngemvume noma ukukhumbula izinto ezikukalishi yakho yokuthenga.</translation>
@@ -6050,7 +6041,6 @@
 <translation id="8470513973197838199">Amaphasiwedi alondoloziwe e-<ph name="ORIGIN" /></translation>
 <translation id="8472623782143987204">izingxenyekazi zekhompyutha zenziwe isipele</translation>
 <translation id="8473863474539038330">Amakheli nokuningi</translation>
-<translation id="8474733733775441349">Bonisa amaphasiwedi kusuka ku-akhawunti yakho ye-Google</translation>
 <translation id="8475313423285172237">Olunye uhlelo kukhompyutha yakho lungeze isandiso esingaguqula indlela i-Chrome esebenza ngayo.</translation>
 <translation id="8477241577829954800">Ithathelwe isikhundla</translation>
 <translation id="8477384620836102176">Okujwayelekile</translation>
diff --git a/chrome/app/resources/google_chrome_strings_af.xtb b/chrome/app/resources/google_chrome_strings_af.xtb
index 14261cb4..7b749e61 100644
--- a/chrome/app/resources/google_chrome_strings_af.xtb
+++ b/chrome/app/resources/google_chrome_strings_af.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome is verouderd</translation>
 <translation id="1919130412786645364">Laat Chrome-aanmelding toe</translation>
-<translation id="195645108406520445">Stel jou nuwe Chrome-spasie op</translation>
 <translation id="2063848847527508675">Chrome-bedryfstelsel moet herbegin word om die opdatering toe te pas.</translation>
 <translation id="2094919256425865063">Verlaat Chrome in elk geval?</translation>
 <translation id="2120620239521071941">Dit sal <ph name="ITEMS_COUNT" /> items op hierdie toestel uitvee. Meld as <ph name="USER_EMAIL" /> by Chrome aan om jou data later op te haal.</translation>
 <translation id="2123055963409958220">Help om Chrome te verbeter deur die <ph name="BEGIN_LINK" />huidige instellings<ph name="END_LINK" /> aan te gee</translation>
 <translation id="2151406531797534936">Herbegin Chrome asseblief nou</translation>
 <translation id="2246246234298806438">Google Chrome kan nie die drukvoorskou wys wanneer die ingeboude PDF-bekyker ontbreek nie.</translation>
-<translation id="226038281051944330">Jy het met 'n nuwe rekening by <ph name="EXISTING_USER" /> se spasie aangemeld. Wil jy graag 'n nuwe Chrome-spasie vir <ph name="NEW_USER" /> skep om jou data apart te hou?</translation>
 <translation id="2290014774651636340">Google API-sleutels ontbreek. Sommige funksies van Google Chrome sal gedeaktiveer word.</translation>
 <translation id="2290095356545025170">Is jy seker jy wil Google Chrome deïnstalleer?</translation>
 <translation id="2309047409763057870">Dit is 'n sekondêre installering van Chrome en kan nie jou verstekblaaier gemaak word nie.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Daar is 'n nuwe, veiliger weergawe van Google Chrome beskikbaar.</translation>
 <translation id="3127818369811890733">Chrome-bedryfstelsel kon nie jou data sinkroniseer nie.</translation>
 <translation id="3149510190863420837">Chrome-programme</translation>
-<translation id="3351117925998652957">Kies jou Chrome-spasie</translation>
 <translation id="3360895254066713204">Chrome-helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome sal nou herbegin}=1{Chrome sal oor 1 sekonde herbegin}other{Chrome sal oor # sekondes herbegin}}</translation>
 <translation id="3395323229510056640">Kry hulp met Chrome-bedryfstelsel</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Maak asseblief alle Google Chrome-vensters toe en probeer weer.</translation>
 <translation id="3865754807470779944">Chrome-weergawe <ph name="PRODUCT_VERSION" /> is geïnstalleeer</translation>
 <translation id="3873044882194371212">Maak skakel in 'n incognitovenster in Chrome oop</translation>
-<translation id="3879568094278837081">Hierdie spasie se blaaierdata sal van hierdie toestel af uitgevee word. Om die data te herwin, moet jy by Chrome aanmeld as</translation>
 <translation id="3889417619312448367">Deïnstalleer Google Chrome</translation>
 <translation id="4050175100176540509">Belangrike sekuriteitverbeterings en nuwe kenmerke is in die jongste weergawe beskikbaar.</translation>
 <translation id="4053720452172726777">Pasmaak en beheer Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Maak skakel in 'n nuwe Chrome-oortjie oop</translation>
 <translation id="4953650215774548573">Stel Google Chrome as jou verstekblaaier</translation>
 <translation id="495931528404527476">In Chrome</translation>
-<translation id="4960472897514318257">Jy het met 'n werkrekening aangemeld. Wil jy graag 'n nuwe Chrome-spasie vir <ph name="NEW_USER" /> skep om jou persoonlike data apart te hou?</translation>
 <translation id="4990567037958725628">Google Chrome Kanarie</translation>
 <translation id="5062123544085870375">Herbegin Chrome OS</translation>
 <translation id="5132929315877954718">Ontdek wonderlike programme, speletjies, uitbreidings en temas vir Google Chrome.</translation>
 <translation id="5170938038195470297">Jou profiel kan nie gebruik word nie, want dit kom van 'n nuwer weergawe van Google Chrome af.
 
 Sommige kenmerke kan dalk onbeskikbaar wees. Spesifiseer 'n ander profielgids of gebruik 'n nuwer weergawe van Chrome.</translation>
-<translation id="5171117065011130146">Skep nuwe Chrome-werkspasie?</translation>
 <translation id="5193136243808726294">Google Chrome OS kan nie hierdie bladsy oopmaak nie.</translation>
 <translation id="5251420635869119124">Gaste kan Chrome gebruik sonder om iets agter te laat.</translation>
 <translation id="532046782124376502">Waarskuwing: Google Chrome kan nie keer dat uitbreidings rekord hou van jou blaaigeskiedenis nie. Om hierdie uitbreiding in incognitomodus te deaktiveer, moet jy hierdie opsie ontmerk.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Gaan na <ph name="LINK_BEGIN" />Chrome OS-instellings<ph name="LINK_END" /> om te sien of jou toestel op datum is</translation>
 <translation id="7589360514048265910">Hierdie rekenaar sal nie meer Google Chrome-opdaterings ontvang nie omdat Mac OS X 10.9 nie meer gesteun word nie.</translation>
-<translation id="7591404275842302616">Gebruik Chrome-spasies om jou blaaidata op hierdie toestel georganiseerd te hou</translation>
 <translation id="7592736734348559088">Google Chrome kon nie jou data sinkroniseer nie omdat jou rekening se aanmeldbesonderhede verouderd is.</translation>
 <translation id="7626032353295482388">Welkom by Chrome</translation>
 <translation id="7629695634924605473">Chrome sal jou laat weet as jou wagwoorde gekompromitteer is</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome is verouderd</translation>
 <translation id="8834965163890861871">Google Chrome probeer tans om wagwoorde te wysig. Tik jou Windows-wagwoord in om dit toe te laat.</translation>
 <translation id="884296878221830158">Dit beheer ook watter bladsy gewys word wanneer jy Chrome begin of die Tuisknoppie klik.</translation>
-<translation id="8859948767482842016">Jy het met 'n werkrekening by <ph name="EXISTING_USER" /> se spasie aangemeld. Wil jy graag 'n nuwe Chrome-spasie vir <ph name="WORK_DOMAIN" /> skep om jou data apart te hou?</translation>
 <translation id="8862326446509486874">Jy het nie die gepaste regte vir stelselvlak-installering nie. Probeer om die installeerder weer te laat loop as Administrateur.</translation>
-<translation id="8877586659207810298">Skep nuwe Chrome-spasie vir <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Herbegin Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{'n Chrome-opdatering is beskikbaar}=1{'n Chrome-opdatering is beskikbaar}other{'n Chrome-opdatering is al # dae lank beskikbaar}}</translation>
 <translation id="9026991721384951619">Chrome-bedrystelsel kon nie jou data sinkroniseer nie, omdat jou rekening se aanmeldbesonderhede verouderd is.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_am.xtb b/chrome/app/resources/google_chrome_strings_am.xtb
index bb825fd0..b8c9a72 100644
--- a/chrome/app/resources/google_chrome_strings_am.xtb
+++ b/chrome/app/resources/google_chrome_strings_am.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome ቅድመ-ይሁነታ (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome ጊዜው አልፎበታል</translation>
 <translation id="1919130412786645364">የChrome በመለያ መግባትን ይፍቀዱ</translation>
-<translation id="195645108406520445">አዲሱን የእርስዎን የChrome ቦታ ያቀናብሩ</translation>
 <translation id="2063848847527508675">Chrome OS ዝማኔውን ለመተግበር ዳግም መጀመር አለበት።</translation>
 <translation id="2094919256425865063">የሆነው ሆኖ Chrome ይቁም?</translation>
 <translation id="2120620239521071941">ይሄ <ph name="ITEMS_COUNT" /> ንጥሎችን ከዚህ መሣሪያ ይሰርዛል። ውሂብዎን በኋላ ላይ ሰርስረው ለማውጣት እንደ <ph name="USER_EMAIL" /> ሆነው ወደ Chrome ይግቡ።</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />የአሁኖቹን ቅንብሮች<ph name="END_LINK" /> ሪፖርት በማድረግ Chromium የተሻለ እንዲሆን ያግዙ።</translation>
 <translation id="2151406531797534936">እባክዎ Chrome ን አሁን ዳግም ያስጀምሩ</translation>
 <translation id="2246246234298806438">አብሮት የተሰራው የፒ ዲ ኤፍ መመልከቻ ሲጎድል Google Chrome የህትመት ቅድመ-እይታውን ሊያሳይ አይችልም።</translation>
-<translation id="226038281051944330">በ<ph name="EXISTING_USER" /> ቦታ ውስጥ በአዲስ መለያ ገብተዋል። የእርስዎን ውሂብ ለብቻው ለይቶ ለማቆየት አዲስ የChrome ቦታን ለ<ph name="NEW_USER" /> መፍጠር ይፈልጋሉ?</translation>
 <translation id="2290014774651636340">የGoogle ኤ ፒ አይ ቁልፎች ይጎድላሉ። አንዳንድ የGoogle Chrome ተግባራት ይሰናከላሉ።</translation>
 <translation id="2290095356545025170">እርግጠኛ ነዎት Google Chromeን ማራገፍ ይፈልጋሉ?</translation>
 <translation id="2309047409763057870">ይሄ ሁለተኛ የGoogle Chrome ጭነት ነው፣ እና ነባሪ አሳሽዎ ማድረግ አይቻልም።</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">አዲስና ደህንነቱ ይበልጥ የተጠበቀ የGoogle Chrome ስሪት ይገኛል።</translation>
 <translation id="3127818369811890733">Chrome OS የእርስዎን ውሂብ ማስመር አልቻለም።</translation>
 <translation id="3149510190863420837">Chrome መተግበሪያዎች</translation>
-<translation id="3351117925998652957">የእርስዎን የChrome ቦታ ይምረጡ</translation>
 <translation id="3360895254066713204">Chrome አጋዥ</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome አሁን ዳግም ይጀምራል}=1{Chrome በ1 ሰከንድ ውስጥ ዳግም ይጀምራል}one{Chrome በ# ሰከንዶች ውስጥ ዳግም ይጀምራል}other{Chrome በ# ሰከንዶች ውስጥ ዳግም ይጀምራል}}</translation>
 <translation id="3395323229510056640">Chrome OS ላይ እገዛ ያግኙ</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">እባክዎ ሁሉንም የChrome መስኮቶች ይዝጉና እንደገና ይሞክሩ።</translation>
 <translation id="3865754807470779944">የChrome ስሪት <ph name="PRODUCT_VERSION" /> ተጭኗል</translation>
 <translation id="3873044882194371212">አገናኝ በChrome ማንነት የ&amp;ማያሳውቅ መስኮት ውስጥ ክፈት</translation>
-<translation id="3879568094278837081">የዚህ ክፍተት የአሰሳ ውሂብ ከዚህ መሣሪያ ይሰረዛል። ውሂቡን መልሰው ለማግኘት ወደ Chrome የሚገቡት እንደ</translation>
 <translation id="3889417619312448367">Google Chromeን አራግፍ</translation>
 <translation id="4050175100176540509">አስፈላጊ የደህንነት ማሻሻያዎች እና አዲስ ባህሪያት በቅርብ ጊዜው ስሪቱ ላይ ይገኛሉ።</translation>
 <translation id="4053720452172726777">Google Chromeን ያብጁ እና ይቆጣጠሩ</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">አገናኝ በአዲስ የChrome &amp;ትር ውስጥ ክፈት</translation>
 <translation id="4953650215774548573">Google Chromeን እንደ ነባሪ አሳሽዎ አድርገው ያቀናብሩ</translation>
 <translation id="495931528404527476">በChrome ውስጥ</translation>
-<translation id="4960472897514318257">በሥራ መለያ ገብተዋል። የእርስዎን ውሂብ ለብቻው ለይቶ ለማቆየት አዲስ የChrome ቦታን ለ<ph name="NEW_USER" /> መፍጠር ይፈልጋሉ?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OSን ዳግም አስጀምር</translation>
 <translation id="5132929315877954718">ለGoogle Chrome ምርጥ መተግበሪያዎችን፣ ጨዋታዎችን፣ ቅጥያዎችን እና ገጽታዎችን ያግኙ።</translation>
 <translation id="5170938038195470297">መገለጫዎ የአዲስ Google Chrome ስሪት አካል ስለሆነ መጠቀም አይቻልም።
 
 አንዳንድ ባሕሪያት ላይገኙ ይችላሉ። እባክዎ የተለየ የመገለጫ አቃፊ ይግለጹ ወይም አዲሱን የChrome ስሪት ይጠቀሙ።</translation>
-<translation id="5171117065011130146">አዲስ የChrome ስራ ቦታ ይፈጠር?</translation>
 <translation id="5193136243808726294">Google Chrome OS ይህን ገጽ መክፈት አይችልም።</translation>
 <translation id="5251420635869119124">እንግዳዎች ምንም ነገር ሳይተዉ Chromeን መጠቀም ይችላሉ።</translation>
 <translation id="532046782124376502">ማስጠንቀቂያ፦ Google Chrome ቅጥያዎች የአሰሳ ታሪክዎን እንዳይመዘግቡ መከልከል አይችልም። ይህን ቅጥያ ማንነት በማያሳውቅ ሁነት ላይ ለማሰናከል ይህን አማራጭ አይምረጡ።</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome ገንቢ</translation>
 <translation id="7573289029918943991">መሣሪያዎ የተዘመነ ከሆነ ለማየት ወደ <ph name="LINK_BEGIN" />የChrome OS ቅንብሮች ይሂዱ<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Mac OS X 10.9 ከእንግዲህ ስለማይደገፍ ይህ ኮምፒውተር ከእንግዲህ የGoogle Chrome ዝማኔዎችን አይቀበልም።</translation>
-<translation id="7591404275842302616">አሰሳዎ በዚህ መሣሪያ እንደተደራጀ ለማቆየት የChrome ቦታዎችን ይጠቀሙ</translation>
 <translation id="7592736734348559088">የመለያዎ መግቢያ ዝርዝሮች ጊዜያቸው ያለፈባቸው ስለሆኑ Google Chrome ውሂብዎን ማመሳሰል አልቻለም።</translation>
 <translation id="7626032353295482388">ወደ Chrome እንኳን ደህና መጡ</translation>
 <translation id="7629695634924605473">Chrome የእርስዎ የይለፍ ቃላት ከተነጠቁ እርስዎ እንዲያውቁት ያደርግዎታል</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome ጊዜው አልፎበታል</translation>
 <translation id="8834965163890861871">Google Chrome የይለፍ ቃላትን ለማርትዕ እየሞከረ ነው። ይህን ለመፍቀድ የእርስዎን Windows የይለፍ ቃል ይተይቡ።</translation>
 <translation id="884296878221830158">እንዲሁም Chromeን ሲጀምሩት ወይም የመነሻ አዝራሩን ጠቅ ሲያደርጉት የሚታየውን ገጽ ይቆጣጠራል።</translation>
-<translation id="8859948767482842016">በ<ph name="EXISTING_USER" /> ቦታ ውስጥ በሥራ መለያ ገብተዋል። የእርስዎን ውሂብ ለብቻው ለይቶ ለማቆየት አዲስ የChrome ቦታን ለ<ph name="WORK_DOMAIN" /> መፍጠር ይፈልጋሉ?</translation>
 <translation id="8862326446509486874">ለስርዓተ-ደረጃ ጭነት ተገቢ መብቶች የሉዎትም። ጫኚውን እንደ አስተዳዳሪ በማሄድ እንደገና ይሞክሩ።</translation>
-<translation id="8877586659207810298">ለ<ph name="NEW_USER" /> አዲስ የChrome ቦታ ይፈጠር?</translation>
 <translation id="8914504000324227558">Chromeን ዳግም አስጀምር</translation>
 <translation id="8999208279178790196">{0,plural, =0{የChrome ዝማኔ አለ}=1{የChrome ዝማኔ አለ}one{አንድ የChrome ዝማኔ ለ# ቀኖች ነበር}other{አንድ የChrome ዝማኔ ለ# ቀኖች ነበር}}</translation>
 <translation id="9026991721384951619">የመለያዎ መግቢያ ዝርዝሮች ጊዜያቸው ያለፈባቸው ስለሆኑ Chrome OS ውሂብዎን ማመሳሰል አልቻለም።</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ar.xtb b/chrome/app/resources/google_chrome_strings_ar.xtb
index 33c23825..97058cf 100644
--- a/chrome/app/resources/google_chrome_strings_ar.xtb
+++ b/chrome/app/resources/google_chrome_strings_ar.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">‏الإصدار التجريبي من Google Chrome‏ (mDNS-In)</translation>
 <translation id="1877026089748256423">‏إصدار Chrome قديم</translation>
 <translation id="1919130412786645364">‏السماح بتسجيل الدخول إلى Chrome</translation>
-<translation id="195645108406520445">‏إعداد مساحة Chrome Space الجديدة</translation>
 <translation id="2063848847527508675">‏يلزم إعادة تشغيل نظام التشغيل Chrome حتى يتم تطبيق التحديث.</translation>
 <translation id="2094919256425865063">‏هل تريد الخروج من Chrome على أي حال؟</translation>
 <translation id="2120620239521071941">‏سيعمل هذا على حذف <ph name="ITEMS_COUNT" /> من العناصر من هذا الجهاز. لاسترداد بياناتك لاحقًا، سجّل الدخول إلى Chrome كـ <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">‏يمكنك المساعدة في تحسين Chrome بالإبلاغ عن <ph name="BEGIN_LINK" />الإعدادات الحالية<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">‏يُرجى إعادة تشغيل Chrome الآن</translation>
 <translation id="2246246234298806438">‏لا يمكن لـ Google Chrome عرض معاينة الطباعة عندما يكون عارض PDF المضمّن مفقودًا.</translation>
-<translation id="226038281051944330">‏لقد سجَّلت الدخول إلى ملف <ph name="EXISTING_USER" /> الشخصي باستخدام حساب جديد. هل تريد إنشاء ملف شخصي جديد على Chrome للمستخدم <ph name="NEW_USER" /> حتى تُبقي بياناتك منفصلة؟</translation>
 <translation id="2290014774651636340">‏مفاتيح واجهة برمجة تطبيقات Google مفقودة. وسيترتب على ذلك توقف بعض وظائف Google Chrome عن العمل.</translation>
 <translation id="2290095356545025170">‏هل تريد فعلًا إزالة Google Chrome؟</translation>
 <translation id="2309047409763057870">‏هذا تثبيت ثانوي من Google Chrome، ولا يمكن جعله متصفحك التلقائي.</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">‏يتوفر إصدار جديد وأكثر أمانًا لمتصفح Google Chrome.</translation>
 <translation id="3127818369811890733">‏تعذّر على نظام التشغيل Chrome مزامنة بياناتك.</translation>
 <translation id="3149510190863420837">‏تطبيقات Chrome</translation>
-<translation id="3351117925998652957">‏اختيار مساحة Chrome Space لك</translation>
 <translation id="3360895254066713204">‏مساعد Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{‏ستتم إعادة تشغيل Chrome الآن}=1{‏ستتم إعادة تشغيل Chrome في غضون ثانية واحدة}two{‏ستتم إعادة تشغيل Chrome في غضون ثانيتين}few{‏ستتم إعادة تشغيل Chrome في غضون # ثوان}many{‏ستتم إعادة تشغيل Chrome في غضون # ثانيةً}other{‏ستتم إعادة تشغيل Chrome في غضون # ثانية}}</translation>
 <translation id="3395323229510056640">‏الحصول على مساعدة في نظام التشغيل Chrome</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">‏يُرجى إغلاق كل نوافذ Google Chrome وإعادة المحاولة.</translation>
 <translation id="3865754807470779944">‏الإصدار المُثبّت من Chrome: <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">‏فتح الرابط في نافذة تصفح متخفٍ في Chrome</translation>
-<translation id="3879568094278837081">‏سيتم حذف بيانات تصفُّح هذه المساحة من هذا الجهاز. لاسترداد البيانات، يُرجى تسجيل الدخول إلى Chrome بحساب</translation>
 <translation id="3889417619312448367">‏إزالة Google Chrome</translation>
 <translation id="4050175100176540509">تحسينات الأمان المهمة والميزات الجديدة متاحة في أحدث إصدار.</translation>
 <translation id="4053720452172726777">‏تخصيص Google Chrome والتحكم فيه</translation>
@@ -145,14 +141,12 @@
 <translation id="4895437082222824641">‏فتح الرابط في علامة تبويب جديدة في Chrome</translation>
 <translation id="4953650215774548573">‏تعيين Google Chrome المتصفح التلقائي</translation>
 <translation id="495931528404527476">‏في Chrome</translation>
-<translation id="4960472897514318257">‏لقد سجَّلت الدخول باستخدام حساب عمل. هل تريد إنشاء ملف شخصي جديد على Chrome للمستخدم <ph name="NEW_USER" /> حتى تُبقي بياناتك الشخصية منفصلة؟</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">‏إعادة تشغيل نظام التشغيل Chrome</translation>
 <translation id="5132929315877954718">‏يمكنك اكتشاف تطبيقات، وألعاب، وإضافات، ومظاهر رائعة لمتصفح Google Chrome.</translation>
 <translation id="5170938038195470297">‏لا يمكن استخدام ملفك الشخصي نظرًا لأنه من إصدار أحدث من Google Chrome.
 
 قد تكون بعض الميزات غير متاحة. يُرجى تحديد دليل ملف شخصي مختلف أو استخدام إصدار أحدث من Chrome.</translation>
-<translation id="5171117065011130146">‏هل تريد إنشاء مساحة عمل جديدة على متصفِّح Chrome؟</translation>
 <translation id="5193136243808726294">‏يتعذر على نظام التشغيل Google Chrome فتح هذه الصفحة.</translation>
 <translation id="5251420635869119124">‏يمكن للضيف استخدام Chrome بدون أن يترك أي أثر وراءه.</translation>
 <translation id="532046782124376502">‏تحذير: يتعذّر على Google Chrome منع الإضافات من تسجيل سجل تصفحك. لإيقاف هذه الإضافة في وضع التصفح المتخفي، ألغِ تحديد هذا الخيار.</translation>
@@ -218,7 +212,6 @@
 <translation id="7535429826459677826">‏إصدار مطوري البرامج من Google Chrome</translation>
 <translation id="7573289029918943991">‏للتأكّد من أن جهازك يستخدم أحدث إصدار من نظام التشغيل، يُرجى الانتقال إلى <ph name="LINK_BEGIN" />إعدادات نظام التشغيل Chrome<ph name="LINK_END" />.</translation>
 <translation id="7589360514048265910">‏لن يتلقى هذا الكمبيوتر تحديثات Google Chrome بعد الآن لأن نظام التشغيل Mac OS X 10.9 لم يعُد متاحًا.</translation>
-<translation id="7591404275842302616">‏يمكنك استخدام ميزة مساحات Chrome Space لإبقاء تصفُّحك منظَّمًا على هذا الجهاز.</translation>
 <translation id="7592736734348559088">‏تعذر على Google Chrome مزامنة البيانات نظرًا لأن تفاصيل تسجيل الدخول إلى حسابك قديمة.</translation>
 <translation id="7626032353295482388">‏مرحبًا بك في Chrome‏</translation>
 <translation id="7629695634924605473">‏يتم إعلامك من خلال Chrome في حال تم اختراق كلمات المرور في أي وقت.</translation>
@@ -265,9 +258,7 @@
 <translation id="8823341990149967727">‏إصدار Chrome قديم</translation>
 <translation id="8834965163890861871">‏يحاول Google Chrome تعديل كلمات المرور. للسماح بذلك، يُرجى كتابة كلمة مرور Windows الخاصة بك.</translation>
 <translation id="884296878221830158">‏كما أنها تتحكم في الصفحة التي تظهر عند تشغيل Chrome أو النقر على زر الصفحة الرئيسية.</translation>
-<translation id="8859948767482842016">‏لقد سجَّلت الدخول إلى ملف <ph name="EXISTING_USER" /> الشخصي باستخدام حساب عمل. هل تريد إنشاء ملف شخصي جديد على Chrome للنطاق <ph name="WORK_DOMAIN" /> حتى تُبقي بياناتك منفصلة؟</translation>
 <translation id="8862326446509486874">لا تملك الحقوق الكافية للتثبيت على مستوى النظام. جرّب تشغيل المثبِّت بصفة مشرف.</translation>
-<translation id="8877586659207810298">‏هل تريد إنشاء ملف شخصي جديد على Chrome للمستخدم <ph name="NEW_USER" />؟</translation>
 <translation id="8914504000324227558">‏إعادة تشغيل Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{‏يتوفر تحديث لمتصفح Chrome}=1{‏يتوفر تحديث لمتصفح Chrome}two{‏يتوفر تحديث لمتصفح Chrome منذ يومين}few{‏يتوفر تحديث لمتصفح Chrome منذ # أيام}many{‏يتوفر تحديث لمتصفح Chrome منذ # يومًا}other{‏يتوفر تحديث لمتصفح Chrome منذ # يوم}}</translation>
 <translation id="9026991721384951619">‏تعذر على نظام التشغيل Chrome مزامنة البيانات نظرًا لأن تفاصيل تسجيل الدخول إلى حسابك قديمة.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_as.xtb b/chrome/app/resources/google_chrome_strings_as.xtb
index 7bf9cfb..58326f79 100644
--- a/chrome/app/resources/google_chrome_strings_as.xtb
+++ b/chrome/app/resources/google_chrome_strings_as.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome বিটা (mDNS-In)</translation>
 <translation id="1877026089748256423">Chromeৰ ম্যাদ উকলিছে</translation>
 <translation id="1919130412786645364">Chromeত ছাইন ইন কৰিব দিয়ক</translation>
-<translation id="195645108406520445">আপোনাৰ নতুন Chrome Space ছেট আপ কৰক</translation>
 <translation id="2063848847527508675">আপডে’ট প্ৰযোজ্য কৰিবলৈ Chrome OSক ৰিষ্টার্ট কৰিব লাগিব।</translation>
 <translation id="2094919256425865063">যিকোনো প্ৰকাৰে Chrome বন্ধ কৰিবনে?</translation>
 <translation id="2120620239521071941">ইয়াৰ ফলত এই ডিভাইচৰ পৰা <ph name="ITEMS_COUNT" />টা বস্তু মচা হ'ব। আপোনাৰ ডেটা পাছত পুনৰুদ্ধাৰ কৰিবলৈ Chromeত <ph name="USER_EMAIL" /> হিচাপে ছাইন ইন কৰক।</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />বর্তমানৰ ছেটিংসমূহ<ph name="END_LINK" />ৰ সম্পর্কে প্ৰতিবেদন দি Chromeক উন্নত কৰাত সহায় কৰক</translation>
 <translation id="2151406531797534936">অনুগ্ৰহ কৰি Chrome এতিয়া ৰিষ্টাৰ্ট কৰক</translation>
 <translation id="2246246234298806438">অন্তৰ্নিমিত PDF ভিউৱাৰ নাথাকিলে Google Chromeএ প্ৰিণ্টৰ পূর্বদর্শন দেখুৱাব নোৱাৰে।</translation>
-<translation id="226038281051944330">আপুনি <ph name="EXISTING_USER" />ৰ স্পেচত এটা নতুন একাউণ্টেৰে ছাইন ইন কৰিছে। আপুনি নিজৰ ডেটা বেলেগে ৰাখিবলৈ <ph name="NEW_USER" />ৰ বাবে Chromeৰ এটা নতুন স্পেচ সৃষ্টি কৰিব বিচাৰেনে?</translation>
 <translation id="2290014774651636340">Google API কীসমূহ নাই। Google Chromeৰ কিছুমান কার্যক্ৰম অক্ষম কৰা হ’ব।</translation>
 <translation id="2290095356545025170">আপুনি Google Chrome আনইনষ্টল কৰিবলৈ বিচাৰে বুলি নিশ্চিতনে?</translation>
 <translation id="2309047409763057870">এয়া Google Chromeৰ এক গৌণ ইনষ্টলেশ্বন আৰু ইয়াক আপোনাৰ ডিফ’ল্ট ব্ৰাউজাৰ কৰিব নোৱাৰি।</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Google Chromeৰ এটি নতুন, অধিক সুৰক্ষিত সংস্কৰণ উপলব্ধ।</translation>
 <translation id="3127818369811890733">Chrome OSএ আপোনাৰ ডেটা ছিংক কৰিব নোৱাৰিলে।</translation>
 <translation id="3149510190863420837">Chromeৰ এপ্‌</translation>
-<translation id="3351117925998652957">আপোনাৰ Chrome Space বাছনি কৰক</translation>
 <translation id="3360895254066713204">Chromeৰ সহায়ক</translation>
 <translation id="3379938682270551431">{0,plural, =0{এতিয়া Chrome পুনৰ লঞ্চ হ’ব}=1{১ ছেকেণ্ডত Chrome পুনৰ লঞ্চ হ’ব}one{# ছেকেণ্ডত Chrome পুনৰ লঞ্চ হ’ব}other{# ছেকেণ্ডত Chrome পুনৰ লঞ্চ হ’ব}}</translation>
 <translation id="3395323229510056640">Chrome OSৰ বিষয়ে সহায় লাভ কৰক</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">অনুগ্ৰহ কৰি Google Chrome windows বন্ধ কৰি পুনৰ চেষ্টা কৰক।</translation>
 <translation id="3865754807470779944">Chrome সংস্কৰণ <ph name="PRODUCT_VERSION" /> ইনষ্টল কৰা হ’ল</translation>
 <translation id="3873044882194371212">Chromeৰ ইনক'&amp;গনিট' ৱিণ্ড'ত লিংকটো খোলক</translation>
-<translation id="3879568094278837081">এই ঠাইখিনিৰ ব্ৰাউজিঙৰ ডেটা এই ডিভাইচটোৰ পৰা মচি পেলোৱা হ’ব। ডেটা পুনৰুদ্ধাৰ কৰিবলৈ এই হিচাপে Chromeত ছাইন ইন কৰক</translation>
 <translation id="3889417619312448367">Google Chrome আনইনষ্টল কৰক</translation>
 <translation id="4050175100176540509">শেহতীয়া সংস্কৰণত কিছুমান গুৰুত্বপূর্ণ উন্নত সুৰক্ষাৰ ব্যৱস্থা আৰু নতুন সুবিধা উপলব্ধ।</translation>
 <translation id="4053720452172726777">Google Chrome কাষ্টমাইজ আৰু নিয়ন্ত্ৰণ কৰক</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Chromeৰ নতুন টে&amp;বত লিংক খোলক</translation>
 <translation id="4953650215774548573">আপোনাৰ ডিফ'ল্ট ব্ৰাউজাৰ হিচাপে Google Chromeক ছেট কৰক</translation>
 <translation id="495931528404527476">Chromeত</translation>
-<translation id="4960472897514318257">আপুনি এটা কৰ্মস্থানৰ একাউণ্টেৰে ছাইন ইন কৰিছে। আপুনি নিজৰ ব্যক্তিগত ডেটা বেলেগে ৰাখিবলৈ <ph name="NEW_USER" />ৰ বাবে Chromeৰ এটা নতুন স্পেচ সৃষ্টি কৰিব বিচাৰেনে?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS ৰিষ্টার্ট কৰক</translation>
 <translation id="5132929315877954718">Google Chromeৰ বাবে উত্তম এপ্, গে’ম, এক্সটেনশ্বন আৰু থীম বিচাৰক৷</translation>
 <translation id="5170938038195470297">আপোনাৰ প্ৰ’ফাইল ব্যৱহাৰ কৰিব নোৱাৰি কাৰণ এয়া Google Chromeৰ এক নতুন সংস্কৰণ।
 
 কিছুমান সুবিধা নাথাকিব পাৰে। অনুগ্ৰহ কৰি অন্য কোনো প্ৰ’ফাইল ডাইৰেক্টৰী নির্দিষ্ট কৰক বা Chromeৰ নতুন সংস্কৰণ ব্যৱহাৰ কৰক।</translation>
-<translation id="5171117065011130146">Chromeৰ নতুন ৱৰ্ক স্পেচ সৃষ্টি কৰিবনে?</translation>
 <translation id="5193136243808726294">Google Chrome OSএ এই পৃষ্ঠাটো খুলিব নোৱাৰে।</translation>
 <translation id="5251420635869119124">অতিথিসকলে কোনো সুবিধা বাদ নিদিয়াকৈ Chrome ব্যৱহাৰ কৰিব পাৰে।</translation>
 <translation id="532046782124376502">সর্তকবার্তা: Google Chromeএ এক্সটেনশ্বনক আপোনাৰ ব্ৰাউজিঙৰ ইতিহাস ৰেকৰ্ড কৰাত বাধা দিব নোৱাৰে। এই এক্সটেনশ্বনটো ইনক’গনিট’ ম’ডত অক্ষম কৰিবলৈ এই বিকল্পটো বাছনিৰ পৰা বাদ দিয়ক।</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">আপোনাৰ ডিভাইচটো আপ-টু-ডে’ট হৈ আছেনে নাই সেয়া চাবলৈ <ph name="LINK_BEGIN" />Chrome OSৰ ছেটিংসমূহ<ph name="LINK_END" />লৈ যাওক</translation>
 <translation id="7589360514048265910">Mac OS X 10.9 আৰু সমর্থিত নহয় বাবে কম্পিউটাৰটোৱে Google Chrome সম্পর্কীয় আপডে’টসমূহ লাভ নকৰিব।</translation>
-<translation id="7591404275842302616">এই ডিভাইচটোত আপোনাৰ ব্ৰাউজিং শৃংখলাবদ্ধ কৰি ৰাখিবলৈ Chrome Spaces ব্যৱহাৰ কৰক</translation>
 <translation id="7592736734348559088">আপোনাৰ একাউণ্টৰ ছাইন ইন সবিশেষৰ ম্যাদ উকলাৰ বাবে Google Chromeএ আপোনাৰ ডেটা ছিংক কৰিব নোৱাৰিলে।</translation>
 <translation id="7626032353295482388">Chromeলৈ স্বাগতম</translation>
 <translation id="7629695634924605473">Chromeএ আপোনাৰ পাছৱৰ্ডসমূহ কেতিয়াবা হেক কৰা হৈছিল নেকি আপোনাক জানিবলৈ দিয়ে</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chromeটো অতি পুৰণি</translation>
 <translation id="8834965163890861871">Google Chromeএ পাছৱর্ডসমূহ সম্পাদনা কৰিবলৈ চেষ্টা কৰি আছে। এই কার্যৰ বাবে অনুমতি দিবলৈ আপোনাৰ Windowsৰ পাছৱৰ্ডটো টাইপ কৰক।</translation>
 <translation id="884296878221830158">এইটোৱে লগতে আপুনি Chromeৰ ব্যৱহাৰ কৰিলে বা গৃহপৃষ্ঠা বুটামটো ক্লিক কৰিলে কি পৃষ্ঠা দেখুওৱা হয় সেয়াও নিয়ন্ত্ৰণ কৰে।</translation>
-<translation id="8859948767482842016">আপুনি <ph name="EXISTING_USER" />ৰ স্পেচত এটা কৰ্মস্থানৰ একাউণ্টেৰে ছাইন ইন কৰিছে। আপুনি নিজৰ ডেটা বেলেগে ৰাখিবলৈ <ph name="WORK_DOMAIN" />ৰ বাবে Chromeৰ এটা নতুন স্পেচ সৃষ্টি কৰিব বিচাৰেনে?</translation>
 <translation id="8862326446509486874">ছিষ্টেম-পৰ্যায়ৰ ইনষ্টলৰ বাবে আপোনাৰ সঠিক অধিকাৰ নাই। প্রশাসক হিচাপে ইনষ্টলাৰটো পুনৰ চলাই চাওক।</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" />ৰ বাবে Chromeৰ নতুন স্পেচ সৃষ্টি কৰিবনে?</translation>
 <translation id="8914504000324227558">Chrome পুনৰ লঞ্চ কৰক</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chromeৰ এটা আপডে’ট উপলব্ধ}=1{Chromeৰ এটা আপডে’ট উপলব্ধ}one{# দিনৰ বাবে Chromeৰ এটা আপডে’ট উপলব্ধ}other{# দিনৰ বাবে Chromeৰ এটা আপডে’ট উপলব্ধ}}</translation>
 <translation id="9026991721384951619">আপোনাৰ একাউণ্টৰ ছাইন ইনৰ সবিশেষ তথ্যৰ ম্যাদ উকলি যোৱাৰ বাবে Chrome OS আপোনাৰ ডেটা ছিংক কৰিব নোৱাৰিলে।</translation>
diff --git a/chrome/app/resources/google_chrome_strings_az.xtb b/chrome/app/resources/google_chrome_strings_az.xtb
index ee90974..0697deb 100644
--- a/chrome/app/resources/google_chrome_strings_az.xtb
+++ b/chrome/app/resources/google_chrome_strings_az.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome'un vaxtı keçib</translation>
 <translation id="1919130412786645364">Chrome girişinə icazə verin</translation>
-<translation id="195645108406520445">Yeni Chrome Space'inizi ayarlayın</translation>
 <translation id="2063848847527508675">Güncəlləşmənin tətbiq olunması üçün Chrome OS yenidən başladılmalıdır.</translation>
 <translation id="2094919256425865063">İstənilən halda Chrome'dan çıxılsın?</translation>
 <translation id="2120620239521071941"><ph name="ITEMS_COUNT" /> element bu cihazdan silinəcək. Sonradan datanızı bərpa etmək üçün Chrome'a <ph name="USER_EMAIL" /> kimi daxil olun.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />Cari ayarları<ph name="END_LINK" /> bildirməklə Chrome'u təkmilləşdirməyə kömək edin</translation>
 <translation id="2151406531797534936">İndi Chrome'u yenidən başladın</translation>
 <translation id="2246246234298806438">Daxili PDF izləyici olmayanda Google Chrome çap önizləməsi göstərə bilməz.</translation>
-<translation id="226038281051944330"><ph name="EXISTING_USER" /> sahəsində yeni hesab ilə daxil olmusunuz. Datanızı ayrı saxlamaq üçün <ph name="NEW_USER" /> üçün yeni Chrome sahəsi yaratmaq istərdinizmi?</translation>
 <translation id="2290014774651636340">Google API açarları çatışmır. Google Chrome'un bəzi funksionallığı deaktiv ediləcək.</translation>
 <translation id="2290095356545025170">Google Chrome'u silmək istəyirsiniz?</translation>
 <translation id="2309047409763057870">Bu Chromium'un ikinci quraşdırmasıdır və defolt brauzer kimi ayarlana bilmir.</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">Google Chrome'un yeni, güvənli versiyası əlçatandır.</translation>
 <translation id="3127818369811890733">Chrome OS datanızı sinxronizasiya edə bilmədi.</translation>
 <translation id="3149510190863420837">Chrome Tətbiqləri</translation>
-<translation id="3351117925998652957">Chrome Sahənizi seçin</translation>
 <translation id="3360895254066713204">Chrome Yardımçısı</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome indi yenidən başlayacaq}=1{Chrome 1 saniyəyə yenidən başlayacaq}other{Chrome # saniyəyə yenidən başlayacaq}}</translation>
 <translation id="3395323229510056640">Chrome OS ilə yardım alın</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">Bütün Google Chrome pəncərələrini bağlayın və yenidən cəhd edin.</translation>
 <translation id="3865754807470779944">Chrome versiyası <ph name="PRODUCT_VERSION" /> quraşdırılıb</translation>
 <translation id="3873044882194371212">Linki gizli Chrome pəncərəsində açın</translation>
-<translation id="3879568094278837081">Bu məkanın baxış datası bu cihazdan silinəcək. Datanı bərpa etmək üçün Chrome'a belə daxil olun:</translation>
 <translation id="3889417619312448367">Google Chrome'u sistemdən silin</translation>
 <translation id="4050175100176540509">Mühüm təhlükəsizlik təkmilləşdirilmələri və yeni funksiyalar son versiyada əlçatandır.</translation>
 <translation id="4053720452172726777">Google Chrome'u fərdiləşdirin və nəzarət edin</translation>
@@ -145,14 +141,12 @@
 <translation id="4895437082222824641">Linki yeni Chrome tabında açın</translation>
 <translation id="4953650215774548573">Google Chrome'u defolt brauzer təyin edin</translation>
 <translation id="495931528404527476">Chrome'da</translation>
-<translation id="4960472897514318257">İş hesabı ilə daxil olmusunuz. Şəxsi datanızı ayrı saxlamaq üçün <ph name="NEW_USER" /> üçün yeni Chrome sahəsi yaratmaq istərdinizmi?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome ƏS-ni yenidən başladın</translation>
 <translation id="5132929315877954718">Google Chrome üçün möhtəşəm tətbiqlər, artırmalar və temalar kəşf edin.</translation>
 <translation id="5170938038195470297">Profiliniz yeni versiya Google Chrome'dan olduğu üçün istifadə edilə bilməz.
 
 Bəzi funksiyalar əlçatmaz ola bilər. Xüsusi profil direktoriyası göstərin və ya yeni Chrome versiyası işlədin.</translation>
-<translation id="5171117065011130146">Yeni Chrome İş sahəsi yaradılsın?</translation>
 <translation id="5193136243808726294">Google Chrome OS bu səhifəni aça bilməz.</translation>
 <translation id="5251420635869119124">Qonaqlar geridə heç nə buraxmadan Chrome istifadə edə bilər.</translation>
 <translation id="532046782124376502">Xəbərdarlıq: Chromium artırmanın axtarış tarixçəsini qeyd etməsinin qarşısını ala bilməz. Bu artırmanı gizli rejimdə deaktiv etmək üçün bu seçimi silin.</translation>
@@ -218,7 +212,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Cihazınızın güncəl olub-olmadığına baxmaq üçün <ph name="LINK_BEGIN" />Chrome OS Ayarlarına<ph name="LINK_END" /> keçin</translation>
 <translation id="7589360514048265910">Bu kompüterdə Mac OS X 10.9 artıq dəstəklənmədiyi üçün daha Google Chrome güncəlləmələri almayacaq.</translation>
-<translation id="7591404275842302616">Bu cihazda baxışın yaxşı təşkil olunması üçün Chrome Sahələr istifadə edin</translation>
 <translation id="7592736734348559088">Google Chrome datanızı sinxronizasiya edə bilmir, çünki hesaba giriş məlumatlarınız köhnədir.</translation>
 <translation id="7626032353295482388">Chrome'a xoş gəlmisiniz</translation>
 <translation id="7629695634924605473">Chrome parollarınızın oğurlanıb-oğurlanmadığı haqqında Sizə məlumat verir</translation>
@@ -265,9 +258,7 @@
 <translation id="8823341990149967727">Chrome'un vaxtı keçib</translation>
 <translation id="8834965163890861871">Google Chrome parolları redaktə etməyə çalışır. Buna icazə vermək üçün Windows parolunuzu yazın.</translation>
 <translation id="884296878221830158">Həmçinin, Chrome'a başlayanda və ya Əsas səhifə düyməsinə klikləyəndə göstəriləsi səhifəyə nəzarət edir.</translation>
-<translation id="8859948767482842016"><ph name="EXISTING_USER" /> sahəsində İş hesabı ilə daxil olmusunuz. Datanızı ayrı saxlamaq üçün <ph name="WORK_DOMAIN" /> üçün yeni Chrome sahəsi yaratmaq istərdinizmi?</translation>
 <translation id="8862326446509486874">Sistem səviyyəli quraşdırma üçün uyğun hüquqlarınız yoxdur. Quraşdırıcını yenidən Administrator olaraq işə salmağa cəhd edin.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> üçün yeni Chrome sahəsi yaradılsın?</translation>
 <translation id="8914504000324227558">Chrome'u yenidən başladın</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome güncəlləməsi əlçatandır}=1{Chrome güncəlləməsi əlçatandır}other{Chrome güncəlləməsi # gün əlçatan olub}}</translation>
 <translation id="9026991721384951619">Chrome OS datanızı sinxronizasiya edə bilmir, çünki hesaba giriş məlumatlarınız köhnədir.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_be.xtb b/chrome/app/resources/google_chrome_strings_be.xtb
index 0d327d6..13d3ff9 100644
--- a/chrome/app/resources/google_chrome_strings_be.xtb
+++ b/chrome/app/resources/google_chrome_strings_be.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Бэта-версія Google Chrome (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome састарэў</translation>
 <translation id="1919130412786645364">Дазволіць уваход ва ўліковы запіс Chrome</translation>
-<translation id="195645108406520445">Наладзьце свой профіль Chrome Space</translation>
 <translation id="2063848847527508675">Каб прымяніць абнаўленне, трэба перазапусціць Chrome OS.</translation>
 <translation id="2094919256425865063">Усё роўна выйсці з Chrome?</translation>
 <translation id="2120620239521071941">З гэтай прылады будзе выдалена наступная колькасць элементаў: <ph name="ITEMS_COUNT" />. Каб потым атрымаць свае даныя, увайдзіце ў Chrome як <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Дапамажыце палепшыць Chrome, паведаміўшы <ph name="BEGIN_LINK" />бягучыя налады<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Перазапусціце Chrome</translation>
 <translation id="2246246234298806438">Google Chrome не можа паказаць перадпрагляд друку: убудаваны сродак прагляду PDF адсутнічае.</translation>
-<translation id="226038281051944330">Вы ўвайшлі ў профіль карыстальніка <ph name="EXISTING_USER" />, выкарыстаўшы новы ўліковы запіс. Ці не хочаце стварыць новы профіль Chrome для карыстальніка <ph name="NEW_USER" />, каб трымаць свае даныя асобна?</translation>
 <translation id="2290014774651636340">Адсутнічаюць ключы Google API. Некаторыя функцыі Google Chrome будуць выключаны.</translation>
 <translation id="2290095356545025170">Сапраўды выдаліць Google Chrome?</translation>
 <translation id="2309047409763057870">Гэта другасны ўсталяваны экзэмпляр Google Chrome – яго нельга зрабіць стандартным браўзерам.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Ёсць новая, больш бяспечная версія Google Chrome.</translation>
 <translation id="3127818369811890733">Сістэме Chrome OS не ўдалося сінхранізаваць даныя.</translation>
 <translation id="3149510190863420837">Праграмы Chrome</translation>
-<translation id="3351117925998652957">Выберыце свой профіль Chrome Space</translation>
 <translation id="3360895254066713204">Памочнік Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Перазапуск Chrome адбудзецца зараз}=1{Chrome будзе перазапушчаны праз 1 секунду}one{Chrome будзе перазапушчаны праз # секунду}few{Chrome будзе перазапушчаны праз # секунды}many{Chrome будзе перазапушчаны праз # секунд}other{Chrome будзе перазапушчаны праз # секунды}}</translation>
 <translation id="3395323229510056640">Даведка па Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Закрыйце ўсе вокны Google Chrome і паўтарыце спробу.</translation>
 <translation id="3865754807470779944">Усталявана версія Chrome <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Адкрыць спасылку ў акне &amp;інкогніта Chrome</translation>
-<translation id="3879568094278837081">Звязаная з гэтым профілем гісторыя праглядаў будзе выдалена з прылады. Каб аднавіць гэтыя даныя, увайдзіце ў Chrome як</translation>
 <translation id="3889417619312448367">Выдаленне Google Chrome</translation>
 <translation id="4050175100176540509">У апошняй версіі з'явіліся важныя паляпшэнні сістэмы бяспекі і новыя функцыі.</translation>
 <translation id="4053720452172726777">Наладжвайце Google Chrome і кіруйце ім</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Адкрыць спасылку ў новай &amp;укладцы Chrome</translation>
 <translation id="4953650215774548573">Зрабіць Google Chrome стандартным браўзерам</translation>
 <translation id="495931528404527476">У браўзеры Chrome</translation>
-<translation id="4960472897514318257">Вы ўвайшлі ў працоўны ўліковы запіс. Ці не хочаце стварыць новы профіль Chrome для карыстальніка <ph name="NEW_USER" />, каб трымаць свае асабістыя даныя асобна?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Перазапусціце Chrome OS</translation>
 <translation id="5132929315877954718">Адкрывайце для сябе выдатныя праграмы, гульні, пашырэнні і тэмы для Google Chrome.</translation>
 <translation id="5170938038195470297">Ваш профіль нельга выкарыстоўваць, бо ён з навейшай версіі Google Chrome.
 
 Некаторыя функцыі могуць быць недаступныя. Укажыце іншы каталог профілю або выкарыстайце навейшую версію Chrome.</translation>
-<translation id="5171117065011130146">Стварыць новы працоўны профіль Chrome?</translation>
 <translation id="5193136243808726294">Google Chrome OS не можа адкрыць гэту старонку.</translation>
 <translation id="5251420635869119124">Госці могуць выкарыстоўваць Chrome, не пакідаючы нічога пасля сябе.</translation>
 <translation id="532046782124376502">Увага! Google Chrome не можа забараніць пашырэнням весці запіс вашай гісторыі праглядаў сайтаў. Скасуйце выбар гэтай налады, каб выключыць гэта пашырэнне ў рэжыме інкогніта.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome для распрацоўшчыкаў</translation>
 <translation id="7573289029918943991">Каб даведацца, ці абноўлена прылада, адкрыйце <ph name="LINK_BEGIN" />Налады Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Гэты камп'ютар больш не будзе атрымліваць абнаўленні Google Chrome: Mac OS X 10.9 цяпер не падтрымліваецца.</translation>
-<translation id="7591404275842302616">Выкарыстоўвайце профілі Chrome Space, каб спрасціць прагляд вэб-старонак на гэтай прыладзе</translation>
 <translation id="7592736734348559088">Сінхранізаваць даныя ў браўзеры Google Chrome не ўдалося: даныя ўліковага запісу для ўваходу састарэлі.</translation>
 <translation id="7626032353295482388">Вас вітае Chrome</translation>
 <translation id="7629695634924605473">Chrome апавяшчае вас у выпадку ўзлому вашых пароляў</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Ваша версія Chrome састарэла</translation>
 <translation id="8834965163890861871">Google Chrome спрабуе змяніць паролі. Каб дазволіць гэта, увядзіце пароль Windows.</translation>
 <translation id="884296878221830158">Таксама вызначае, якая старонка паказваецца пры запуску браўзера Chrome або націсканні кнопкі галоўнай старонкі.</translation>
-<translation id="8859948767482842016">Вы ўвайшлі ў профіль карыстальніка <ph name="EXISTING_USER" />, выкарыстаўшы працоўны ўліковы запіс. Ці не хочаце стварыць новы профіль Chrome для дамена <ph name="WORK_DOMAIN" />, каб трымаць свае даныя асобна?</translation>
 <translation id="8862326446509486874">Для ўсталявання на сістэмным узроўні ў вас няма неабходных правоў. Паспрабуйце запусціць усталёўшчык ад імені адміністратара.</translation>
-<translation id="8877586659207810298">Стварыць новы профіль Chrome для карыстальніка <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Перазапусціць Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Ёсць абнаўленне Chrome}=1{Ёсць абнаўленне Chrome}one{Абнаўленне Chrome выйшла ўжо # дзень таму}few{Абнаўленне Chrome выйшла # дні таму}many{Абнаўленне Chrome выйшла # дзён таму}other{Абнаўленне Chrome выйшла # дня таму}}</translation>
 <translation id="9026991721384951619">Сінхранізаваць даныя ў сістэме Chrome OS не ўдалося: даныя ўліковага запісу для ўваходу састарэлі.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bg.xtb b/chrome/app/resources/google_chrome_strings_bg.xtb
index 52650f1..6731fa6 100644
--- a/chrome/app/resources/google_chrome_strings_bg.xtb
+++ b/chrome/app/resources/google_chrome_strings_bg.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome бета (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome не е актуален</translation>
 <translation id="1919130412786645364">Разрешаване на влизането в Chrome</translation>
-<translation id="195645108406520445">Настройване на новата ви работна област в Chrome</translation>
 <translation id="2063848847527508675">Chrome OS трябва да се рестартира, за да приложи актуализацията.</translation>
 <translation id="2094919256425865063">Искате ли да затворите Chrome въпреки това?</translation>
 <translation id="2120620239521071941"><ph name="ITEMS_COUNT" /> елемента ще се изтрият от това устройство. За да извлечете данните си по-късно, влезте в Chrome като <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Помогнете за подобряването на Chrome, като подадете сигнал за <ph name="BEGIN_LINK" />текущите настройки<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Моля, рестартирайте Chrome сега</translation>
 <translation id="2246246234298806438">Google Chrome не може да покаже визуализацията за печат, когато вграденият визуализатор на PDF файлове липсва.</translation>
-<translation id="226038281051944330">Влязохте с нов профил в работната област на <ph name="EXISTING_USER" />. Искате ли да създадете нова работна област в Chrome за <ph name="NEW_USER" />, за да поддържате данните си отделно?</translation>
 <translation id="2290014774651636340">Ключовете на приложния програмен интерфейс (API) на Google липсват. Някои функции на Google Chrome ще бъдат деактивирани.</translation>
 <translation id="2290095356545025170">Наистина ли искате да деинсталирате Google Chrome?</translation>
 <translation id="2309047409763057870">Тази инсталация на Google Chrome е алтернативна и не може да се зададе като браузър по подразбиране.</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">Налице е нова, по-сигурна версия на Google Chrome.</translation>
 <translation id="3127818369811890733">Chrome OS не синхронизира данните ви.</translation>
 <translation id="3149510190863420837">Приложения в Chrome</translation>
-<translation id="3351117925998652957">Изберете работната си област в Chrome</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome ще се стартира отново сега}=1{Chrome ще се стартира отново след 1 секунда}other{Chrome ще се стартира отново след # секунди}}</translation>
 <translation id="3395323229510056640">Получаване на помощ за Chrome OS</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">Моля, затворете всички прозорци на Google Chrome и опитайте отново.</translation>
 <translation id="3865754807470779944">Инсталирана е версия <ph name="PRODUCT_VERSION" /> на Chrome</translation>
 <translation id="3873044882194371212">Отваряне на връзката в прозорец в режим „инко&amp;гнито“ на Chrome</translation>
-<translation id="3879568094278837081">Данните за сърфирането за това пространство ще бъдат изтрити от устройството. За да ги възстановите, влезте в Chrome като</translation>
 <translation id="3889417619312448367">Деинсталиране на Google Chrome</translation>
 <translation id="4050175100176540509">В последната версия са налице важни подобрения в сигурността и нови функции.</translation>
 <translation id="4053720452172726777">Персонализиране и контролиране на Google Chrome</translation>
@@ -145,12 +141,10 @@
 <translation id="4895437082222824641">Отваряне на връзката в нов &amp;раздел на Chrome</translation>
 <translation id="4953650215774548573">Задаване на Google Chrome като браузър по подразбиране</translation>
 <translation id="495931528404527476">В Chrome</translation>
-<translation id="4960472897514318257">Влязохте със служебен профил. Искате ли да създадете нова работна област в Chrome за <ph name="NEW_USER" />, за да поддържате личните си данни отделно?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Рестартиране на Chrome OS</translation>
 <translation id="5132929315877954718">Открийте отлични приложения, игри, разширения и теми за Google Chrome.</translation>
 <translation id="5170938038195470297">Потребителският ви профил не може да се използва, защото е от по-нова версия на Google Chrome. Някои функции може да не са налице. Моля, посочете друга директория в потребителския профил или използвайте по-нова версия на Chrome.</translation>
-<translation id="5171117065011130146">Да се създаде ли нова работна област в Chrome?</translation>
 <translation id="5193136243808726294">Google Chrome OS не може да отвори тази страница.</translation>
 <translation id="5251420635869119124">Гостите могат да използват Chrome, без да оставят следи.</translation>
 <translation id="532046782124376502">Предупреждение: Google Chrome не може да попречи на разширенията да записват историята ви на сърфиране. За да деактивирате това разширение в режим „инкогнито“, премахнете отметката от тази опция.</translation>
@@ -215,7 +209,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">За да разберете дали устройството ви е актуално, отворете <ph name="LINK_BEGIN" />настройките на Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Занапред този компютър няма да получава актуализации на Google Chrome, защото Mac OS X 10.9 вече не се поддържа.</translation>
-<translation id="7591404275842302616">Използвайте работни области в Chrome, за да организирате сърфирането си на това устройство</translation>
 <translation id="7592736734348559088">Google Chrome не можа да синхронизира данните ви, защото потребителското име и паролата за вход в профила ви не са актуални.</translation>
 <translation id="7626032353295482388">Добре дошли в Chrome</translation>
 <translation id="7629695634924605473">Chrome ви уведомява, ако паролите ви бъдат компрометирани</translation>
@@ -262,9 +255,7 @@
 <translation id="8823341990149967727">Chrome не е актуален</translation>
 <translation id="8834965163890861871">Google Chrome опитва да редактира паролите. За да разрешите това, въведете паролата си за Windows.</translation>
 <translation id="884296878221830158">То също контролира коя страница се показва при стартиране на Chrome или при кликване върху бутона „Начална страница“.</translation>
-<translation id="8859948767482842016">Влязохте със служебен профил в работната област на <ph name="EXISTING_USER" />. Искате ли да създадете нова работна област в Chrome за <ph name="WORK_DOMAIN" />, за да поддържате данните си отделно?</translation>
 <translation id="8862326446509486874">Нямате подходящи права за инсталация на ниво система. Опитайте да стартирате отново инсталационната програма като администратор.</translation>
-<translation id="8877586659207810298">Да се създаде ли нова работна област в Chrome за <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Повторно стартиране на Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Налице е актуализация за Chrome}=1{Налице е актуализация за Chrome}other{Налице е актуализация за Chrome от # дни}}</translation>
 <translation id="9026991721384951619">Chrome OS не можа да синхронизира данните ви, защото потребителското име и паролата за вход в профила ви не са актуални.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bn.xtb b/chrome/app/resources/google_chrome_strings_bn.xtb
index 49ef2b4..a2b4dcd 100644
--- a/chrome/app/resources/google_chrome_strings_bn.xtb
+++ b/chrome/app/resources/google_chrome_strings_bn.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome বিটা (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome পুরানো হয়ে গেছে</translation>
 <translation id="1919130412786645364">Chrome-এ সাইন-ইন করতে দিন</translation>
-<translation id="195645108406520445">আপনার নতুন Chrome Space সেট আপ করুন</translation>
 <translation id="2063848847527508675">আপডেটটি প্রয়োগ করতে Chrome OS আবার চালু করা প্রয়োজন।</translation>
 <translation id="2094919256425865063">তা স্বত্তেও Chrome বন্ধ করবেন?</translation>
 <translation id="2120620239521071941">এটি এই ডিভাইস থেকে <ph name="ITEMS_COUNT" />টি আইটেম মুছে দেবে। আপনার ডেটা পরে পুনরুদ্ধার করার জন্য, Chrome-এ <ph name="USER_EMAIL" /> হিসেবে সাইন-ইন করুন।</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />বর্তমান সেটিংস<ph name="END_LINK" />-এর রিপোর্ট করে Chrome-কে আরও ভাল করে তুলতে সাহায্য করুন</translation>
 <translation id="2151406531797534936">এখনই Chrome রিস্টার্ট করুন</translation>
 <translation id="2246246234298806438">বিলট-ইন PDF viewer অনুপস্থিত থাকার সময়ে Google Chrome প্রিন্ট প্রিভিউ দেখাতে পারে না৷</translation>
-<translation id="226038281051944330">আপনি <ph name="EXISTING_USER" />-এর স্পেসে নতুন অ্যাকাউন্ট ব্যবহার করে সাইন-ইন করেছেন। নিজের ডেটা আলাদা রাখতে আপনি কি <ph name="NEW_USER" />-এর জন্য নতুন Chrome স্পেস তৈরি করতে চান?</translation>
 <translation id="2290014774651636340">Google এপিআই কীগুলি অনুপস্থিত৷ Google Chrome-এর কিছু বৈশিষ্ট্য নিষ্ক্রিয় হয়ে যাবে৷</translation>
 <translation id="2290095356545025170">আপনি কি Google Chrome আনইনস্টল করার ব্যাপারে নিষ্চিত ?</translation>
 <translation id="2309047409763057870">এটা Google Chrome-এর সেকেন্ডারি ইনস্টলেশন এবং একে আপনার ডিফল্ট ব্রাউজার করা যাবে না।</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">Google Chrome-এর একটি নতুন, তুলনামূলক নিরাপদ ভার্সন উপলব্ধ৷</translation>
 <translation id="3127818369811890733">Chrome OS আপনার ডেটা সিঙ্ক করতে পারেনি।</translation>
 <translation id="3149510190863420837">Chrome অ্যাপগুলি</translation>
-<translation id="3351117925998652957">আপনার Chrome Space বেছে নিন</translation>
 <translation id="3360895254066713204">Chrome সহায়তাকারী</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome এখন আবার লঞ্চ হবে}=1{Chrome ১ সেকেন্ডের মধ্যে আবার লঞ্চ হবে}one{Chrome # সেকেন্ডের মধ্যে আবার লঞ্চ হবে}other{Chrome # সেকেন্ডের মধ্যে আবার লঞ্চ হবে}}</translation>
 <translation id="3395323229510056640">Chrome OS বিষয়ে সাহায্য পান</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">দয়া করে সকল Google Chrome উইন্ডো বন্ধ করুন ও আবার চেষ্টা করুন৷</translation>
 <translation id="3865754807470779944">Chrome ভার্সন <ph name="PRODUCT_VERSION" /> ইনস্টল করা আছে</translation>
 <translation id="3873044882194371212">Chrome-এ ছদ্মবেশী উইন্ডোতে লিঙ্ক খুলুন</translation>
-<translation id="3879568094278837081">ডিভাইসটি থেকে এই 'Chrome স্পেস'-এর ব্রাউজিং ডেটা মুছে ফেলা হবে। ডেটা ফিরিয়ে আনতে Chrome-এ এই হিসেবে সাইন-ইন করুন:</translation>
 <translation id="3889417619312448367">Google Chrome আনইনস্টল করুন</translation>
 <translation id="4050175100176540509">গুরুত্বপূর্ণ নিরাপত্তা উন্নতি এবং নতুন বৈশিষ্ট্যগুলি সর্বশেষ ভার্সনে উপলভ্য।</translation>
 <translation id="4053720452172726777">Google Chrome কাস্টমাইজ ও নিয়ন্ত্রণ করুন</translation>
@@ -145,14 +141,12 @@
 <translation id="4895437082222824641">নতুন Chrome ট্যাবে লিঙ্ক খুলুন</translation>
 <translation id="4953650215774548573">আপনার ডিফল্ট ব্রাউজার হিসাবে Google Chrome-কে সেট করুন</translation>
 <translation id="495931528404527476">Chrome-এ</translation>
-<translation id="4960472897514318257">আপনি অফিস অ্যাকাউন্ট ব্যবহার করে সাইন-ইন করেছেন। ব্যক্তিগত ডেটা আলাদা রাখতে আপনি কি <ph name="NEW_USER" />-এর জন্য নতুন Chrome স্পেস তৈরি করতে চান?</translation>
 <translation id="4990567037958725628">Google Chrome  ক্যানারি</translation>
 <translation id="5062123544085870375">Chrome OS রিস্টার্ট করুন</translation>
 <translation id="5132929315877954718">Google Chrome-এর দুর্দান্ত অ্যাপ্লিকেশান, গেম, এক্সটেনশান এবং থিম আবিষ্কার করুন৷</translation>
 <translation id="5170938038195470297">আপনার প্রোফাইল ব্যবহার করা যাবে কারণ এটি Google Chrome-এর একটি নতুন ভার্সনে গঠিত৷ 
 
 কিছু বৈশিষ্ট্য অনুপলভ্য হতে পারে৷ একটি ভিন্ন প্রোফাইল নির্দেশিকা সুনির্দিষ্টভাবে উল্লেখ করুন অথবা Chrome এর নতুন ভার্সন ব্যবহার করুন৷</translation>
-<translation id="5171117065011130146">নতুন Chrome অফিস স্পেস তৈরি করতে চান?</translation>
 <translation id="5193136243808726294">Google Chrome OS এই পৃষ্ঠা খুলতে পারছে না।</translation>
 <translation id="5251420635869119124">অতিথিগণ কোনো কিছুর জন্য অভাব বোধ না করেই Chrome ব্যবহার করতে পারবেন৷</translation>
 <translation id="532046782124376502">সতর্কতা: Google Chrome কোনও এক্সটেনশনকে আপনার ব্রাউজিং ইতিহাস রেকর্ড করা থেকে আটকাতে পারে না। ছদ্মবেশী মোডে এই এক্সটেনশনটি বন্ধ করার জন্য এই বিকল্পটি বন্ধ করুন।</translation>
@@ -218,7 +212,6 @@
 <translation id="7535429826459677826">Google Chrome ডেভেলপার</translation>
 <translation id="7573289029918943991">আপনার ডিভাইস আপ-টু-ডেট আছে কিনা তা দেখতে <ph name="LINK_BEGIN" />Chrome OS সেটিংস<ph name="LINK_END" /> বিকল্পে যান</translation>
 <translation id="7589360514048265910">এই কম্পিউটারটি আর Google Chrome এর আপডেট গ্রহণ করবে না কারণ এই Mac OS X 10.9 আর সমর্থিত নয়৷</translation>
-<translation id="7591404275842302616">এই ডিভাইসে আপনার ব্রাউজ করার কাজকে সহজ করার জন্য Chrome Space ব্যবহার করুন</translation>
 <translation id="7592736734348559088">Google Chrome আপনার অ্যাকাউন্ট সাইন-ইন বিশদ বিবরণটি পুরনো হওয়ার কারণে সিঙ্ক করতে পারেনি৷</translation>
 <translation id="7626032353295482388">Chrome এ স্বাগতম</translation>
 <translation id="7629695634924605473">আপনার পাসওয়ার্ড কখনও চুরি হলে তা Chrome আপনাকে জানিয়ে দেবে</translation>
@@ -265,9 +258,7 @@
 <translation id="8823341990149967727">Chrome পুরানো হয়ে গেছে</translation>
 <translation id="8834965163890861871">Google Chrome আপনার পাসওয়ার্ড এডিট করার অনুমতি চাইছে। অনুমতি দিতে আপনার Windows পাসওয়ার্ড টাইপ করুন।</translation>
 <translation id="884296878221830158">আপনি Chrome শুরু করলে বা হোম বোতামটি ক্লিক করলে কোন পৃষ্ঠাটি দেখানো হবে তাও এটি নিয়ন্ত্রণ করে।</translation>
-<translation id="8859948767482842016">আপনি <ph name="EXISTING_USER" />-এর স্পেসে অফিস অ্যাকাউন্ট ব্যবহার করে সাইন-ইন করেছেন। নিজের ডেটা আলাদা রাখতে আপনি কি <ph name="WORK_DOMAIN" /> ডোমেনের জন্য নতুন Chrome স্পেস তৈরি করতে চান?</translation>
 <translation id="8862326446509486874">সিস্টেম-স্তরীয় ইনস্টলের জন্য আপনার কাছে যথাযথ অধিকারগুলি নেই৷ অ্যাডমিনিস্ট্রেটর হিসেবে আবার ইনস্টলারটি চালানোর চেষ্টা করুন৷</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" />-এর জন্য নতুন Chrome স্পেস তৈরি করতে চান?</translation>
 <translation id="8914504000324227558">Chrome আবার লঞ্চ করুন</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome-এর একটি আপডেট উপলভ্য আছে}=1{Chrome-এর একটি আপডেট উপলভ্য আছে}one{Chrome-এর একটি আপডেট # দিন ধরে উপলভ্য আছে}other{Chrome-এর একটি আপডেট # দিন ধরে উপলভ্য আছে}}</translation>
 <translation id="9026991721384951619">আপনার অ্যাকাউন্টের সাইন-ইনের বিবরণটি পুরনো হওয়ায় Chrome OS আপনার ডেটা সিঙ্ক করতে পারেনি৷</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bs.xtb b/chrome/app/resources/google_chrome_strings_bs.xtb
index 703fdd7e..09dc20f 100644
--- a/chrome/app/resources/google_chrome_strings_bs.xtb
+++ b/chrome/app/resources/google_chrome_strings_bs.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome je zastario</translation>
 <translation id="1919130412786645364">Omogući prijavu na Chrome</translation>
-<translation id="195645108406520445">Postavite novi Chrome prostor</translation>
 <translation id="2063848847527508675">Chrome OS se mora ponovo pokrenuti da se ažuriranje primijeni.</translation>
 <translation id="2094919256425865063">Ipak želite napustiti Chrome?</translation>
 <translation id="2120620239521071941">Ovim će se s ovog uređaja izbrisati sljedeći broj stavki: <ph name="ITEMS_COUNT" />. Da preuzmete svoje podatke kasnije, prijavite se u Chrome kao <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Pomozite nam da poboljšamo Chrome izvještavanjem o <ph name="BEGIN_LINK" />trenutnim postavkama<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Ponovo pokrenite Chrome sada</translation>
 <translation id="2246246234298806438">Google Chrome ne može prikazati pregled prije štampanja kada nedostaje ugrađeni preglednik za PDF.</translation>
-<translation id="226038281051944330">Prijavili ste se pomoću novog računa u prostoru korisnika <ph name="EXISTING_USER" />. Želite li kreirati novi prostor u Chromeu za korisnika <ph name="NEW_USER" /> da odvojite podatke?</translation>
 <translation id="2290014774651636340">Nedostaju ključevi za Google API. Neke funkcionalnosti Google Chromea će biti onemogućene.</translation>
 <translation id="2290095356545025170">Jeste li sigurni da želite deinstalirati Google Chrome?</translation>
 <translation id="2309047409763057870">Ovo je sekundarna instalacija Google Chromea, pa on ne može biti vaš zadani preglednik.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Dostupna je nova, sigurnija verzija Google Chromea.</translation>
 <translation id="3127818369811890733">Chrome OS nije uspio sinhronizirati vaše podatke.</translation>
 <translation id="3149510190863420837">Chrome aplikacije</translation>
-<translation id="3351117925998652957">Odaberite Chrome prostor</translation>
 <translation id="3360895254066713204">Pomoćnik za Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome će se sada ponovo pokrenuti}=1{Chrome će se ponovo pokrenuti za 1 sekundu}one{Chrome će se ponovo pokrenuti za # sekundu}few{Chrome će se ponovo pokrenuti za # sekunde}other{Chrome će se ponovo pokrenuti za # sekundi}}</translation>
 <translation id="3395323229510056640">Potražite pomoć za Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Zatvorite sve prozore Google Chromea i pokušajte ponovo.</translation>
 <translation id="3865754807470779944">Verzija Chromea <ph name="PRODUCT_VERSION" /> je instalirana</translation>
 <translation id="3873044882194371212">Otvori link u ano&amp;nimnom prozoru Chromea</translation>
-<translation id="3879568094278837081">Podaci pregledanja u ovom prostoru će se izbrisati s ovog uređaja. Da oporavite podatke, prijavite se u Chrome kao</translation>
 <translation id="3889417619312448367">Deinstalirajte Google Chrome</translation>
 <translation id="4050175100176540509">U najnovijoj verziji su dostupna važna poboljšanja sigurnosti i nove funkcije.</translation>
 <translation id="4053720452172726777">Prilagodite i kontrolirajte Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Otvori link u novoj &amp;kartici Chromea</translation>
 <translation id="4953650215774548573">Postavi Google Chrome kao zadani preglednik</translation>
 <translation id="495931528404527476">Iz Chromea</translation>
-<translation id="4960472897514318257">Prijavili ste se pomoću poslovnog računa. Želite li kreirati novi prostor u Chromeu za korisnika <ph name="NEW_USER" /> da odvojite lične podatke?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Ponovo pokrenite Chrome OS</translation>
 <translation id="5132929315877954718">Otkrijte odlične aplikacije, igre, ekstenzije i teme za Google Chrome.</translation>
 <translation id="5170938038195470297">Ne možete koristiti profil jer je s novije verzije Google Chromea.
 
 Moguće je da neke funkcije neće biti dostupne. Odredite drugi direktorij profila ili koristite noviju verziju Chromea.</translation>
-<translation id="5171117065011130146">Kreirati novi radni prostor u Chromeu?</translation>
 <translation id="5193136243808726294">Google Chrome OS ne može otvoriti ovu stranicu.</translation>
 <translation id="5251420635869119124">Gosti mogu koristiti Chrome, a da pritom ne ostave tragove o korištenju.</translation>
 <translation id="532046782124376502">Upozorenje: Google Chrome ne može spriječiti da ekstenzije čitaju vašu historiju pregledanja. Da onemogućite ovu ekstenziju u anonimnom načinu rada, poništite odabir ove opcije.</translation>
@@ -220,7 +214,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Da vidite je li vaš uređaj ažuriran, idite u <ph name="LINK_BEGIN" />Postavke Chrome OS-a<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Ovaj računar neće više primati ažuriranja za Google Chrome jer Mac OS X 10.9 nije više podržan.</translation>
-<translation id="7591404275842302616">Koristite Chrome profile da organizirate svoje pregledanje na ovom uređaju</translation>
 <translation id="7592736734348559088">Google Chrome nije mogao sinhronizirati vaše podatke jer su detalji za prijavu na vaš račun zastarjeli.</translation>
 <translation id="7626032353295482388">Dobro došli u Chrome</translation>
 <translation id="7629695634924605473">Chrome vas obavještava ako sigurnost vaših lozinki bude ugrožena</translation>
@@ -267,9 +260,7 @@
 <translation id="8823341990149967727">Chrome je zastario</translation>
 <translation id="8834965163890861871">Google Chrome pokušava urediti lozinke. Unesite Windows lozinku da ovo omogućite.</translation>
 <translation id="884296878221830158">Upravlja i time koja se stranica prikazuje prilikom pokretanja Chromea ili kada se klikne gumb Početna.</translation>
-<translation id="8859948767482842016">Prijavili ste se pomoću poslovnog računa u prostoru korisnika <ph name="EXISTING_USER" />. Želite li kreirati novi prostor u Chromeu za domenu <ph name="WORK_DOMAIN" /> da odvojite podatke?</translation>
 <translation id="8862326446509486874">Nemate odgovarajuća prava za instalaciju na nivou sistema. Pokušajte ponovo pokrenuti instalaciju kao administrator.</translation>
-<translation id="8877586659207810298">Kreirati novi prostor u Chromeu za korisnika <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Ponovo pokreni Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Dostupno je ažuriranje Chromea}=1{Dostupno je ažuriranje Chromea}one{Ažuriranje Chromea je dostupno # dan}few{Ažuriranje Chromea je dostupno # dana}other{Ažuriranje Chromea je dostupno # dana}}</translation>
 <translation id="9026991721384951619">Chrome OS nije mogao sinhronizirati vaše podatke jer su podaci o prijavi računa zastarjeli.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ca.xtb b/chrome/app/resources/google_chrome_strings_ca.xtb
index 6aa8287d..5e3e4f1 100644
--- a/chrome/app/resources/google_chrome_strings_ca.xtb
+++ b/chrome/app/resources/google_chrome_strings_ca.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome no està actualitzat</translation>
 <translation id="1919130412786645364">Permet l'inici de sessió a Chrome</translation>
-<translation id="195645108406520445">Configura el teu espai de Chrome nou</translation>
 <translation id="2063848847527508675">Cal reiniciar Chrome OS per aplicar l'actualització.</translation>
 <translation id="2094919256425865063">Vols sortir de Chrome igualment?</translation>
 <translation id="2120620239521071941">Amb aquesta acció, se suprimiran <ph name="ITEMS_COUNT" /> elements d'aquest dispositiu. Per recuperar les teves dades més endavant, inicia la sessió a Chrome com a <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Informa de la <ph name="BEGIN_LINK" />configuració actual<ph name="END_LINK" /> per ajudar-nos a millorar Chrome</translation>
 <translation id="2151406531797534936">Reinicia Chrome ara</translation>
 <translation id="2246246234298806438">Google Chrome no pot mostrar la previsualització d'impressió perquè falta el lector de PDF incorporat.</translation>
-<translation id="226038281051944330">Has iniciat la sessió amb un compte nou a l'espai de: <ph name="EXISTING_USER" />. T'agradaria crear un espai de Chrome nou per a <ph name="NEW_USER" /> que et permeti mantenir les dades separades?</translation>
 <translation id="2290014774651636340">Falten les claus de l'API de Google. Es desactivaran algunes de les funcionalitats de Google Chrome.</translation>
 <translation id="2290095356545025170">Confirmeu que voleu desinstal·lar Google Chrome?</translation>
 <translation id="2309047409763057870">Aquesta és una instal·lació secundària de Google Chrome i no pot definir-se com a navegador predeterminat.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Hi ha disponible una nova versió més segura de Google Chrome.</translation>
 <translation id="3127818369811890733">Chrome OS no ha pogut sincronitzar les teves dades.</translation>
 <translation id="3149510190863420837">Aplicacions de Chrome</translation>
-<translation id="3351117925998652957">Tria el teu espai de Chrome</translation>
 <translation id="3360895254066713204">Aplicació d'ajuda de Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome es reiniciarà ara}=1{Chrome es reiniciarà d'aquí a 1 segon}other{Chrome es reiniciarà d'aquí a # segons}}</translation>
 <translation id="3395323229510056640">Obtén ajuda per a Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Tanqueu totes les finestres de Google Chrome i torneu-ho a provar.</translation>
 <translation id="3865754807470779944">Està instal·lada la versió <ph name="PRODUCT_VERSION" /> de Chrome</translation>
 <translation id="3873044882194371212">Obre l'enllaç en una finestra d'incò&amp;gnit a Chrome</translation>
-<translation id="3879568094278837081">Les dades de navegació d'aquest espai se suprimiran d'aquest dispositiu. Per recuperar-les, inicia la sessió a Chrome com a</translation>
 <translation id="3889417619312448367">Desinstal·la Google Chrome</translation>
 <translation id="4050175100176540509">La versió més recent incorpora millores de seguretat i funcions noves importants.</translation>
 <translation id="4053720452172726777">Personalitza i controla Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Obre l'enllaç en una pes&amp;tanya nova a Chrome</translation>
 <translation id="4953650215774548573">Defineix Google Chrome com a navegador predeterminat</translation>
 <translation id="495931528404527476">A Chrome</translation>
-<translation id="4960472897514318257">Has iniciat la sessió amb un compte de la feina. T'agradaria crear un espai de Chrome nou per a <ph name="NEW_USER" /> que et permeti mantenir les dades personals separades?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Reinicia Chrome OS</translation>
 <translation id="5132929315877954718">Descobriu aplicacions, jocs, extensions i temes genials per a Google Chrome.</translation>
 <translation id="5170938038195470297">El vostre perfil no es pot utilitzar perquè prové d'una versió més nova de Google Chrome. Pot ser que algunes funcions no estiguin disponibles. Especifiqueu un directori de perfil diferent o utilitzeu una versió més nova de Chrome.</translation>
-<translation id="5171117065011130146">Vols crear un espai de treball de Chrome nou?</translation>
 <translation id="5193136243808726294">Google Chrome OS no pot obrir aquesta pàgina.</translation>
 <translation id="5251420635869119124">Els convidats poden utilitzar Chrome sense deixar-hi rastre.</translation>
 <translation id="532046782124376502">Advertiment: Google Chrome no pot impedir que les extensions registrin el teu historial de navegació. Per desactivar aquesta extensió en mode d'incògnit, desselecciona aquesta opció.</translation>
@@ -213,7 +207,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Per veure si el dispositiu està actualitzat, ves a la <ph name="LINK_BEGIN" />configuració de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Aquest ordinador ja no rebrà més actualitzacions de Google Chrome perquè Mac OS X 10.9 ja no és compatible.</translation>
-<translation id="7591404275842302616">Fes servir els espais de Chrome per mantenir la teva navegació organitzada en aquest dispositiu</translation>
 <translation id="7592736734348559088">Google Chrome no ha pogut sincronitzar les dades perquè els detalls d'inici de sessió del compte no estan actualitzats.</translation>
 <translation id="7626032353295482388">Et donem la benvinguda a Chrome</translation>
 <translation id="7629695634924605473">Chrome et permet saber si les contrasenyes s'han posat en perill</translation>
@@ -260,9 +253,7 @@
 <translation id="8823341990149967727">Chrome no està actualitzat</translation>
 <translation id="8834965163890861871">Google Chrome està provant d'editar les contrasenyes. Escriu la teva contrasenya de Windows per permetre-ho.</translation>
 <translation id="884296878221830158">També controla la pàgina que es mostra quan inicieu Chrome o quan feu clic al botó Pàgina d'inici.</translation>
-<translation id="8859948767482842016">Has iniciat la sessió amb un compte de la feina a l'espai de: <ph name="EXISTING_USER" />. T'agradaria crear un espai de Chrome nou per a <ph name="WORK_DOMAIN" /> que et permeti mantenir les dades separades?</translation>
 <translation id="8862326446509486874">No disposeu dels drets necessaris per instal·lar aplicacions al sistema. Proveu de tornar a executar l'instal·lador com a administrador.</translation>
-<translation id="8877586659207810298">Vols crear un espai de Chrome nou per a <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Torna a iniciar Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Hi ha una actualització de Chrome disponible}=1{Hi ha una actualització de Chrome disponible}other{Fa # dies que hi ha una actualització de Chrome disponible}}</translation>
 <translation id="9026991721384951619">Chrome OS no ha pogut sincronitzar les vostres dades perquè les dades d'inici de sessió del compte no estan actualitzades.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_cs.xtb b/chrome/app/resources/google_chrome_strings_cs.xtb
index 677faf33..40b65d37 100644
--- a/chrome/app/resources/google_chrome_strings_cs.xtb
+++ b/chrome/app/resources/google_chrome_strings_cs.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome je zastaralý</translation>
 <translation id="1919130412786645364">Povolit přihlášení do Chromu</translation>
-<translation id="195645108406520445">Nastavení nového profilu Chrome Space</translation>
 <translation id="2063848847527508675">Aktualizace se použije po restartování systému Chrome OS.</translation>
 <translation id="2094919256425865063">Přesto Chrome ukončit?</translation>
 <translation id="2120620239521071941">Ze zařízení bude smazán následující počet položek: <ph name="ITEMS_COUNT" />. Budete-li chtít své údaje později načíst, přihlaste se do Chromu jako <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Pomozte s vylepšováním prohlížeče Chrome tím, že nahlásíte <ph name="BEGIN_LINK" />aktuální nastavení<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Restartujte Chrome</translation>
 <translation id="2246246234298806438">Pokud chybí integrovaný program k zobrazení souborů PDF, nemůže Google Chrome zobrazit náhled tisku.</translation>
-<translation id="226038281051944330">V prostoru uživatele <ph name="EXISTING_USER" /> jste se přihlásili pomocí nového účtu. Chcete v prohlížeči Chrome pro doménu <ph name="NEW_USER" /> vytvořit nový prostor, aby data zůstala oddělená?</translation>
 <translation id="2290014774651636340">Chybí klíče rozhraní Google API. Některé funkce Google Chrome nebudou k dispozici.</translation>
 <translation id="2290095356545025170">Opravdu chcete odinstalovat Google Chrome?</translation>
 <translation id="2309047409763057870">Toto je druhá instalace prohlížeče Google Chrome. Tuto instalaci nelze nastavit jako výchozí prohlížeč.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">K dispozici je nová, bezpečnější verze prohlížeče Google Chrome.</translation>
 <translation id="3127818369811890733">Chrome OS vaše data nemohl synchronizovat.</translation>
 <translation id="3149510190863420837">Aplikace Chrome</translation>
-<translation id="3351117925998652957">Vyberte profil Chrome Space</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome se nyní restartuje}=1{Chrome se za 1 sekundu restartuje}few{Chrome se za # sekundy restartuje}many{Chrome se za # sekundy restartuje}other{Chrome se za # sekund restartuje}}</translation>
 <translation id="3395323229510056640">Pomoc se systémem Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Zavřete prosím všechna okna prohlížeče Google Chrome a zkuste to znovu.</translation>
 <translation id="3865754807470779944">Je nainstalována tato verze Chromu: <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Otevřít odkaz v &amp;anonymním okně Chrome</translation>
-<translation id="3879568094278837081">Ze zařízení budou vymazány údaje o prohlížení v tomto profilu. Pokud je budete chtít znovu získat, přihlaste se do Chromu jako</translation>
 <translation id="3889417619312448367">Odinstalovat Google Chrome</translation>
 <translation id="4050175100176540509">V nejnovější verzi jsou k dispozici důležitá vylepšení zabezpečení a nové funkce.</translation>
 <translation id="4053720452172726777">Přizpůsobit a ovládat Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Otevřít odkaz na nové kar&amp;tě Chrome</translation>
 <translation id="4953650215774548573">Nastavit Google Chrome jako výchozí prohlížeč</translation>
 <translation id="495931528404527476">V Chromu</translation>
-<translation id="4960472897514318257">Přihlásili jste se pomocí pracovního účtu. Chcete v prohlížeči Chrome pro doménu <ph name="NEW_USER" /> vytvořit nový prostor, aby osobní data zůstala oddělená?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Restartujte systém Chrome OS</translation>
 <translation id="5132929315877954718">Objevte skvělé aplikace, hry, rozšíření a motivy prohlížeče Google Chrome.</translation>
 <translation id="5170938038195470297">Nelze použít váš profil, protože byl vytvořen v novější verzi aplikace Google Chrome.
 
 Některé funkce mohou být nedostupné. Zadejte prosím jiný adresář profilu, nebo používejte novější verzi aplikace Chrome.</translation>
-<translation id="5171117065011130146">Vytvořit v Chromu nový pracovní prostor?</translation>
 <translation id="5193136243808726294">Google Chrome OS tuto stránku nedokáže otevřít.</translation>
 <translation id="5251420635869119124">Hosté mohou Chrome používat, aniž by po nich zůstaly jakékoliv stopy.</translation>
 <translation id="532046782124376502">Upozornění: Google Chrome nemůže rozšířením zabránit v zaznamenávání vaší historie prohlížení. Chcete-li toto rozšíření v anonymním režimu deaktivovat, zrušte výběr této možnosti.</translation>
@@ -221,7 +215,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Chcete-li se podívat, zda je zařízení aktualizované, přejděte do <ph name="LINK_BEGIN" />Nastavení operačního systému Chrome<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Tento počítač již nebude dostávat aktualizace Google Chrome, protože systém Mac OS X 10.9 již není podporován.</translation>
-<translation id="7591404275842302616">Pomocí profilů Chrome Space si můžete v procházení na tomto zařízení udržet přehled</translation>
 <translation id="7592736734348559088">Google Chrome vaše data nemohl synchronizovat, protože vaše přihlašovací údaje nejsou aktuální.</translation>
 <translation id="7626032353295482388">Vítá vás Chrome</translation>
 <translation id="7629695634924605473">Pokud vaše hesla někdo prolomí, Chrome vás o tom bude informovat</translation>
@@ -268,9 +261,7 @@
 <translation id="8823341990149967727">Chrome je zastaralý</translation>
 <translation id="8834965163890861871">Google Chrome se pokouší upravit hesla. Tato akce vyžaduje zadání hesla systému Windows.</translation>
 <translation id="884296878221830158">Také řídí, která stránka se zobrazí při spuštění Chromu nebo po kliknutí na tlačítko Domovská stránka.</translation>
-<translation id="8859948767482842016">V prostoru uživatele <ph name="EXISTING_USER" /> jste se přihlásili pomocí pracovního účtu. Chcete v prohlížeči Chrome pro doménu <ph name="WORK_DOMAIN" /> vytvořit nový prostor, aby data zůstala oddělená?</translation>
 <translation id="8862326446509486874">Nemáte práva nutná k provádění instalací na úrovni systému. Zkuste spustit instalační program jako správce.</translation>
-<translation id="8877586659207810298">Vytvořit v Chromu nový prostor pro uživatele <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Znovu spustit Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Je k dispozici aktualizace Chromu}=1{Je k dispozici aktualizace Chromu}few{Již # dny je k dispozici aktualizace Chromu}many{Již # dne je k dispozici aktualizace Chromu}other{Již # dní je k dispozici aktualizace Chromu}}</translation>
 <translation id="9026991721384951619">Chrome OS vaše data nemohl synchronizovat, protože vaše přihlašovací údaje nejsou aktuální.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_da.xtb b/chrome/app/resources/google_chrome_strings_da.xtb
index 6016df4..6b3fd54 100644
--- a/chrome/app/resources/google_chrome_strings_da.xtb
+++ b/chrome/app/resources/google_chrome_strings_da.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome er forældet</translation>
 <translation id="1919130412786645364">Tillad login i Chrome</translation>
-<translation id="195645108406520445">Konfigurer dit nye Chrome Space</translation>
 <translation id="2063848847527508675">Chrome OS skal genstartes, før opdateringen kan anvendes.</translation>
 <translation id="2094919256425865063">Vil du slutte Chrome alligevel?</translation>
 <translation id="2120620239521071941">Denne handling sletter <ph name="ITEMS_COUNT" /> elementer på denne enhed. Hvis du senere vil hente dine data igen, skal du logge ind på Chrome som <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Vær med til at gøre Chrome bedre ved at rapportere de <ph name="BEGIN_LINK" />aktuelle indstillinger<ph name="END_LINK" />.</translation>
 <translation id="2151406531797534936">Genstart Chrome nu</translation>
 <translation id="2246246234298806438">Google Chrome kan ikke vise udskrifter, når den indbyggede PDF-fremviser mangler.</translation>
-<translation id="226038281051944330">Du er logget ind med en ny konto i det Space, der tilhører <ph name="EXISTING_USER" />. Vil du oprette et nyt Chrome Space til <ph name="NEW_USER" /> for at holde dine data adskilt?</translation>
 <translation id="2290014774651636340">Google API-nøgler mangler. Nogle funktioner i Google Chrome deaktiveres.</translation>
 <translation id="2290095356545025170">Er du sikker på, at du vil afinstallere Google Chrome?</translation>
 <translation id="2309047409763057870">Dette er en sekundær installation af Google Chrome, og den kan ikke gøres til din standardbrowser.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Der findes en ny, sikker version af Google Chrome.</translation>
 <translation id="3127818369811890733">Chrome OS kunne ikke synkronisere dine data.</translation>
 <translation id="3149510190863420837">Chrome-apps</translation>
-<translation id="3351117925998652957">Vælg dit Chrome Space</translation>
 <translation id="3360895254066713204">Hjælp til Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome genstarter nu}=1{Chrome genstarter om 1 sekund}one{Chrome genstarter om # sekund}other{Chrome genstarter om # sekunder}}</translation>
 <translation id="3395323229510056640">Få hjælp til Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Luk alle Google Chrome-vinduer, og prøv igen.</translation>
 <translation id="3865754807470779944">Chrome version <ph name="PRODUCT_VERSION" /> er installeret</translation>
 <translation id="3873044882194371212">Åbn linket i et inko&amp;gnitovindue i Chrome</translation>
-<translation id="3879568094278837081">Browserdataene for dette space slettes fra denne enhed. Du kan gendanne dataene ved at logge ind på Chrome som</translation>
 <translation id="3889417619312448367">Afinstaller Google Chrome</translation>
 <translation id="4050175100176540509">Vigtige sikkerhedsforbedringer og nye funktioner er tilgængelige i den seneste version.</translation>
 <translation id="4053720452172726777">Tilpas Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Åbn linket i en ny Chrome-&amp;fane</translation>
 <translation id="4953650215774548573">Angiv Google Chrome som din standardbrowser</translation>
 <translation id="495931528404527476">I Chrome</translation>
-<translation id="4960472897514318257">Du er logget ind med en arbejdskonto. Vil du oprette et nyt Chrome Space til <ph name="NEW_USER" /> for at holde dine personoplysninger adskilt?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Genstart Chrome OS</translation>
 <translation id="5132929315877954718">Find fantastiske apps, spil, udvidelser og temaer til Google Chrome.</translation>
 <translation id="5170938038195470297">Din profil kan ikke bruges, fordi den stammer fra en nyere version af Google Chrome. Nogle funktioner er muligvis ikke tilgængelige. Angiv en anden profilmappe, eller brug en nyere version af Chrome.</translation>
-<translation id="5171117065011130146">Vil du oprette et nyt Chrome Space til arbejdet?</translation>
 <translation id="5193136243808726294">Google Chrome OS kan ikke åbne denne side.</translation>
 <translation id="5251420635869119124">Gæster kan bruge Chrome uden at efterlade noget.</translation>
 <translation id="532046782124376502">Advarsel! Google Chrome kan ikke forhindre udvidelser i at registrere din browserhistorik. Fravælg denne indstilling for at deaktivere udvidelsen i inkognitotilstand.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Udviklerversionen af Chrome</translation>
 <translation id="7573289029918943991">Du kan se, om en enhed er opdateret, ved at gå til <ph name="LINK_BEGIN" />indstillingerne for Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Denne computer vil ikke længere modtage Google Chrome-opdateringer, da Mac OS X 10.9 ikke længere understøttes.</translation>
-<translation id="7591404275842302616">Brug Chrome Spaces til at holde styr på din browsing på denne enhed</translation>
 <translation id="7592736734348559088">Google Chrome kunne ikke synkronisere dine data, fordi loginoplysningerne til din konto er forældede.</translation>
 <translation id="7626032353295482388">Velkommen til Chrome</translation>
 <translation id="7629695634924605473">Chrome giver dig besked, hvis dine adgangskoder kompromitteres</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome er forældet</translation>
 <translation id="8834965163890861871">Google Chrome forsøger at redigere adgangskoder. Angiv din Windows-adgangskode for at tillade dette.</translation>
 <translation id="884296878221830158">Den styrer også, hvilken side der vises, når du åbner Chrome eller klikker på knappen Startside.</translation>
-<translation id="8859948767482842016">Du er logget ind med en arbejdskonto i det Space, der tilhører <ph name="EXISTING_USER" />. Vil du oprette et nyt Chrome Space til <ph name="WORK_DOMAIN" /> for at holde dine data adskilt?</translation>
 <translation id="8862326446509486874">Du har ikke de nødvendige rettigheder til en installation på systemniveau. Prøv at køre installationsprogrammet igen som administrator.</translation>
-<translation id="8877586659207810298">Vil du oprette et nyt Chrome Space til <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Genstart Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Der er en tilgængelig Chrome-opdatering}=1{Der er en tilgængelig Chrome-opdatering}one{En Chrome-opdatering har været tilgængelig i # dag}other{En Chrome-opdatering har været tilgængelig i # dage}}</translation>
 <translation id="9026991721384951619">Chrome OS kunne ikke synkronisere dine data, fordi loginoplysningerne til din konto er forældede.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_de.xtb b/chrome/app/resources/google_chrome_strings_de.xtb
index 65abd86d..eac5c74 100644
--- a/chrome/app/resources/google_chrome_strings_de.xtb
+++ b/chrome/app/resources/google_chrome_strings_de.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome ist veraltet.</translation>
 <translation id="1919130412786645364">Anmeldung in Chrome zulassen</translation>
-<translation id="195645108406520445">Ihren neuen Chrome Space einrichten</translation>
 <translation id="2063848847527508675">Chrome OS muss neu gestartet werden, um das Update zu übernehmen.</translation>
 <translation id="2094919256425865063">Chrome trotzdem beenden?</translation>
 <translation id="2120620239521071941">Dadurch werden <ph name="ITEMS_COUNT" /> Elemente von diesem Gerät gelöscht. Wenn Sie Ihre Daten später abrufen möchten, melden Sie sich als <ph name="USER_EMAIL" /> in Chrome an.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />Aktuelle Einstellungen<ph name="END_LINK" /> übermitteln und so helfen, Chrome noch besser zu machen</translation>
 <translation id="2151406531797534936">Starten Sie Chrome jetzt neu</translation>
 <translation id="2246246234298806438">Google Chrome kann ohne den integrierten PDF-Viewer keine Druckvorschau anzeigen.</translation>
-<translation id="226038281051944330">Sie haben sich mit einem neuen Konto im Profil von <ph name="EXISTING_USER" /> angemeldet. Möchten Sie ein neues Chrome-Profil für <ph name="NEW_USER" /> erstellen, um Ihre Daten getrennt zu halten?</translation>
 <translation id="2290014774651636340">Google API-Schlüssel fehlen. Einige Funktionen von Google Chrome sind deaktiviert.</translation>
 <translation id="2290095356545025170">Möchten Sie Google Chrome wirklich deinstallieren?</translation>
 <translation id="2309047409763057870">Dies ist eine Zweitinstallation, daher kann Google Chrome nicht als Standardbrowser festgelegt werden.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Es gibt eine neue, sicherere Version von Google Chrome.</translation>
 <translation id="3127818369811890733">Chrome OS konnte Ihre Daten nicht synchronisieren.</translation>
 <translation id="3149510190863420837">Chrome-Apps</translation>
-<translation id="3351117925998652957">Chrome Space auswählen</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome wird jetzt neu gestartet}=1{Chrome wird in einer Sekunde neu gestartet}other{Chrome wird in # Sekunden neu gestartet}}</translation>
 <translation id="3395323229510056640">Hilfe für Chrome OS aufrufen</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Schließen Sie alle Google Chrome-Fenster und versuchen Sie es erneut.</translation>
 <translation id="3865754807470779944">Chrome-Version <ph name="PRODUCT_VERSION" /> ist installiert</translation>
 <translation id="3873044882194371212">Link in Chrome-Inkognitofenster öffnen</translation>
-<translation id="3879568094278837081">Die Browserdaten dieses Profils werden von diesem Gerät gelöscht. Um die Daten wiederherzustellen, bitte in Chrome anmelden als</translation>
 <translation id="3889417619312448367">Google Chrome deinstallieren</translation>
 <translation id="4050175100176540509">Wichtige Sicherheitsverbesserungen und neue Funktionen sind in der aktuellen Version verfügbar.</translation>
 <translation id="4053720452172726777">Google Chrome anpassen und verwalten</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Link in neuem Chrome-Tab öffnen</translation>
 <translation id="4953650215774548573">Google Chrome als Standardbrowser festlegen</translation>
 <translation id="495931528404527476">In Chrome</translation>
-<translation id="4960472897514318257">Sie haben sich mit einem Arbeitskonto angemeldet. Möchten Sie ein neues Chrome-Profil für <ph name="NEW_USER" /> erstellen, um Ihre persönlichen Daten getrennt zu halten?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS neu starten</translation>
 <translation id="5132929315877954718">Entdecken Sie tolle Apps, Spiele, Erweiterungen und Designs für Google Chrome.</translation>
 <translation id="5170938038195470297">Ihr Profil kann nicht verwendet werden, da es von einer neueren Version von Google Chrome stammt. Einige Funktionen stehen möglicherweise nicht zur Verfügung. Geben Sie bitte ein anderes Profilverzeichnis an oder verwenden Sie eine neuere Version von Google Chrome.</translation>
-<translation id="5171117065011130146">Neues Chrome-Arbeitsprofil erstellen?</translation>
 <translation id="5193136243808726294">Google Chrome OS kann diese Seite nicht öffnen.</translation>
 <translation id="5251420635869119124">Gastnutzer können Chrome verwenden, ohne Daten zu hinterlassen.</translation>
 <translation id="532046782124376502">Achtung: Google Chrome kann nicht verhindern, dass Ihr Browser-Verlauf von Erweiterungen aufgezeichnet wird. Schalten Sie diese Option aus, um die Erweiterung im Inkognitomodus zu deaktivieren.</translation>
@@ -213,7 +207,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Sie können anhand der <ph name="LINK_BEGIN" />Einstellungen von Chrome OS<ph name="LINK_END" /> sehen, ob Ihr Gerät auf dem neuesten Stand ist</translation>
 <translation id="7589360514048265910">Für diesen Computer wird es keine weiteren Google Chrome-Updates mehr geben, da Mac OS X 10.9 nicht mehr unterstützt wird.</translation>
-<translation id="7591404275842302616">Mit Chrome Spaces können Sie auf diesem Gerät organisierter surfen</translation>
 <translation id="7592736734348559088">Google Chrome konnte Ihre Daten nicht synchronisieren, da die Anmeldedaten Ihres Kontos nicht mehr aktuell sind.</translation>
 <translation id="7626032353295482388">Willkommen bei Chrome</translation>
 <translation id="7629695634924605473">Chrome wird Sie informieren, sollten Ihre Passwörter nicht mehr sicher sein</translation>
@@ -260,9 +253,7 @@
 <translation id="8823341990149967727">Chrome ist veraltet.</translation>
 <translation id="8834965163890861871">Google Chrome versucht, Passwörter zu bearbeiten. Geben Sie Ihr Windows-Passwort ein, um dies zuzulassen.</translation>
 <translation id="884296878221830158">Die Erweiterung legt auch fest, welche Seite beim Start von Chrome angezeigt wird oder wenn Sie auf die Schaltfläche "Startseite" klicken.</translation>
-<translation id="8859948767482842016">Sie haben sich mit einem Arbeitskonto im Profil von <ph name="EXISTING_USER" /> angemeldet. Möchten Sie ein neues Chrome-Profil für <ph name="WORK_DOMAIN" /> erstellen, um Ihre Daten getrennt zu halten?</translation>
 <translation id="8862326446509486874">Sie verfügen nicht über die erforderlichen Rechte für eine systemweite Installation. Starten Sie das Installationsprogramm als Administrator.</translation>
-<translation id="8877586659207810298">Neues Chrome-Profil für <ph name="NEW_USER" /> erstellen?</translation>
 <translation id="8914504000324227558">Chrome neu starten</translation>
 <translation id="8999208279178790196">{0,plural, =0{Ein Chrome-Update ist verfügbar}=1{Ein Chrome-Update ist verfügbar}other{Ein Chrome-Update ist seit # Tagen verfügbar}}</translation>
 <translation id="9026991721384951619">Chrome OS konnte Ihre Daten nicht synchronisieren, da die Anmeldedaten Ihres Kontos veraltet sind.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_el.xtb b/chrome/app/resources/google_chrome_strings_el.xtb
index e713671..a386c1b5 100644
--- a/chrome/app/resources/google_chrome_strings_el.xtb
+++ b/chrome/app/resources/google_chrome_strings_el.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Το Chrome δεν είναι ενημερωμένο</translation>
 <translation id="1919130412786645364">Να επιτρέπεται η σύνδεση στο Chrome</translation>
-<translation id="195645108406520445">Ρύθμιση του νέου Chrome Space</translation>
 <translation id="2063848847527508675">Για να εφαρμοστεί η ενημέρωση, πρέπει να γίνει επανεκκίνηση του Chrome OS.</translation>
 <translation id="2094919256425865063">Να τερματιστεί η λειτουργία του Chrome ούτως ή άλλως;</translation>
 <translation id="2120620239521071941">Με αυτήν την ενέργεια θα διαγραφούν <ph name="ITEMS_COUNT" /> στοιχεία από αυτήν τη συσκευή. Για να ανακτήσετε τα δεδομένα σας αργότερα, συνδεθείτε στο Chrome ως <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Συμβάλετε στη βελτίωση του Chrome, αναφέροντας τις <ph name="BEGIN_LINK" />τρέχουσες ρυθμίσεις<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Επανεκκινήστε το Chrome τώρα</translation>
 <translation id="2246246234298806438">Το Google Chrome δεν είναι δυνατό να εμφανίσει την προεπισκόπηση εκτύπωσης όταν λείπει το ενσωματωμένο πρόγραμμα προβολής PDF.</translation>
-<translation id="226038281051944330">Συνδεθήκατε με έναν νέο λογαριασμό στον χώρο του χρήστη <ph name="EXISTING_USER" />. Θέλετε να δημιουργήσετε έναν νέο χώρο Chrome για τον χρήστη <ph name="NEW_USER" /> για να διατηρείτε τα δεδομένα σας χωριστά;</translation>
 <translation id="2290014774651636340">Λείπουν κλειδιά του Google API. Ορισμένες λειτουργίες του Google Chrome θα απενεργοποιηθούν.</translation>
 <translation id="2290095356545025170">Είστε βέβαιοι ότι θέλετε να απεγκαταστήσετε του Google Chrome;</translation>
 <translation id="2309047409763057870">Αυτή είναι μια δευτερεύουσα εγκατάσταση του Google Chrome και δεν μπορεί να γίνει το προεπιλεγμένο πρόγραμμα περιήγησης.</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">Υπάρχει μια νέα, ασφαλέστερη έκδοση του Google Chrome.</translation>
 <translation id="3127818369811890733">Το Chrome OS δεν μπόρεσε να συγχρονίσει τα δεδομένα σας.</translation>
 <translation id="3149510190863420837">Εφαρμογές Chrome</translation>
-<translation id="3351117925998652957">Επιλέξτε Chrome Space</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Η επανεκκίνηση του Chrome θα γίνει τώρα}=1{Η επανεκκίνηση του Chrome θα γίνει σε 1 δευτερόλεπτο}other{Η επανεκκίνηση του Chrome θα γίνει σε # δευτερόλεπτα}}</translation>
 <translation id="3395323229510056640">Λήψη βοήθειας σχετικά με το Chrome OS</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">Κλείστε όλα τα παράθυρα του Google Chrome και προσπαθήστε ξανά.</translation>
 <translation id="3865754807470779944">Εγκαταστάθηκε η έκδοση του Chrome <ph name="PRODUCT_VERSION" />.</translation>
 <translation id="3873044882194371212">Άνοιγμα συνδέσμου σε παράθυρο ανών&amp;υμης περιήγησης Chrome</translation>
-<translation id="3879568094278837081">Τα δεδομένα περιήγησης αυτού του χώρου θα διαγραφούν από αυτήν τη συσκευή. Για να επαναφέρετε τα δεδομένα, συνδεθείτε στο Chrome ως</translation>
 <translation id="3889417619312448367">Απεγκατάσταση Google Chrome</translation>
 <translation id="4050175100176540509">Στην πιο πρόσφατη έκδοση διατίθενται σημαντικές βελτιώσεις ασφάλειας και νέες λειτουργίες.</translation>
 <translation id="4053720452172726777">Προσαρμογή και έλεγχος του Google Chrome</translation>
@@ -145,14 +141,12 @@
 <translation id="4895437082222824641">Άνοιγμα συνδέσμου σε νέα καρτέ&amp;λα Chrome</translation>
 <translation id="4953650215774548573">Ορίστε το Google Chrome ως προεπιλεγμένο πρόγραμμα περιήγησης</translation>
 <translation id="495931528404527476">Στο Chrome</translation>
-<translation id="4960472897514318257">Συνδεθήκατε με έναν λογαριασμό εργασίας. Θέλετε να δημιουργήσετε έναν νέο χώρο Chrome για τον χρήστη <ph name="NEW_USER" /> για να διατηρείτε τα προσωπικά δεδομένα σας χωριστά;</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Επανεκκίνηση Chrome OS</translation>
 <translation id="5132929315877954718">Ανακαλύψτε υπέροχες εφαρμογές, παιχνίδια, επεκτάσεις και θέματα για το Google Chrome.</translation>
 <translation id="5170938038195470297">Το προφίλ σας δεν μπορεί να χρησιμοποιηθεί επειδή προέρχεται από μια νεότερη έκδοση του Google Chrome.
 
 Ορισμένες λειτουργίες μπορεί να μην είναι διαθέσιμες. Προσδιορίστε έναν διαφορετικό κατάλογο προφίλ ή χρησιμοποιήστε μια νεότερη έκδοση του Chrome.</translation>
-<translation id="5171117065011130146">Να δημιουργηθεί ένας νέος χώρος εργασίας Chrome;</translation>
 <translation id="5193136243808726294">Το Google Chrome OS δεν μπορεί να ανοίξει αυτήν τη σελίδα.</translation>
 <translation id="5251420635869119124">Οι επισκέπτες μπορούν να χρησιμοποιούν το Chrome χωρίς να αφήνουν κανένα ίχνος.</translation>
 <translation id="532046782124376502">Προειδοποίηση: Το Google Chrome δεν μπορεί να αποτρέψει την καταγραφή του ιστορικού περιήγησής σας από τις επεκτάσεις. Για να απενεργοποιήσετε αυτήν την επέκταση σε κατάσταση ανώνυμης περιήγησης, καταργήστε αυτήν την επιλογή.</translation>
@@ -218,7 +212,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Για να διαπιστώσετε εάν η συσκευή σας είναι ενημερωμένη, μεταβείτε στις <ph name="LINK_BEGIN" />Ρυθμίσεις του Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Αυτός ο υπολογιστής δεν θα λαμβάνει πλέον ενημερώσεις του Google Chrome επειδή το Mac OS X 10.9 δεν υποστηρίζεται πλέον.</translation>
-<translation id="7591404275842302616">Χρησιμοποιήστε τα Chrome Space, για να διατηρείτε οργανωμένη την περιήγησή σας σε αυτήν τη συσκευή.</translation>
 <translation id="7592736734348559088">Το Google Chrome δεν κατάφερε να συγχρονίσει τα δεδομένα σας επειδή τα στοιχεία σύνδεσης στο λογαριασμό σας δεν έχουν ενημερωθεί.</translation>
 <translation id="7626032353295482388">Καλώς ήρθατε στο Chrome</translation>
 <translation id="7629695634924605473">Το Chrome σας ενημερώνει σε περίπτωση παραβίασης των κωδικών πρόσβασής σας.</translation>
@@ -265,9 +258,7 @@
 <translation id="8823341990149967727">Το Chrome δεν είναι ενημερωμένο</translation>
 <translation id="8834965163890861871">Το Google Chrome προσπαθεί να επεξεργαστεί κωδικούς πρόσβασης. Για να επιτρέψετε αυτήν την ενέργεια, πληκτρολογήστε τον κωδικό πρόσβασης των Windows.</translation>
 <translation id="884296878221830158">Επίσης, ελέγχει τη σελίδα που εμφανίζεται κατά την εκκίνηση του Chrome ή όταν κάνετε κλικ στο κουμπί αρχικής σελίδας.</translation>
-<translation id="8859948767482842016">Συνδεθήκατε με έναν λογαριασμό εργασίας στον χώρο του χρήστη <ph name="EXISTING_USER" />. Θέλετε να δημιουργήσετε έναν νέο χώρο Chrome για τον τομέα <ph name="WORK_DOMAIN" /> για να διατηρείτε τα δεδομένα σας χωριστά;</translation>
 <translation id="8862326446509486874">Δεν έχετε τα απαραίτητα δικαιώματα για εγκατάσταση σε επίπεδο συστήματος. Δοκιμάστε να εκτελέσετε ξανά το πρόγραμμα εγκατάστασης ως Διαχειριστής.</translation>
-<translation id="8877586659207810298">Να δημιουργηθεί ένας νέος χώρος εργασίας Chrome για τον χρήστη <ph name="NEW_USER" />;</translation>
 <translation id="8914504000324227558">Επανεκκίνηση του Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Υπάρχει μια διαθέσιμη ενημέρωση του Chrome}=1{Υπάρχει μια διαθέσιμη ενημέρωση του Chrome}other{Υπάρχει μια διαθέσιμη ενημέρωση του Chrome για # ημέρες}}</translation>
 <translation id="9026991721384951619">Το Chrome OS δεν μπόρεσε να συγχρονίσει τα δεδομένα σας, επειδή τα στοιχεία σύνδεσης στο λογαριασμό σας δεν είναι ενημερωμένα.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_en-GB.xtb b/chrome/app/resources/google_chrome_strings_en-GB.xtb
index da66f21..a79e0f7 100644
--- a/chrome/app/resources/google_chrome_strings_en-GB.xtb
+++ b/chrome/app/resources/google_chrome_strings_en-GB.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome is out of date</translation>
 <translation id="1919130412786645364">Allow Chrome sign-in</translation>
-<translation id="195645108406520445">Set up your new Chrome space</translation>
 <translation id="2063848847527508675">Chrome OS needs to be restarted to apply the update.</translation>
 <translation id="2094919256425865063">Quit Chrome anyway?</translation>
 <translation id="2120620239521071941">This will delete <ph name="ITEMS_COUNT" /> items from this device. To retrieve your data later, sign in to Chrome as <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Help make Chrome better by reporting the <ph name="BEGIN_LINK" />current settings<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Please restart Chrome now</translation>
 <translation id="2246246234298806438">Google Chrome cannot show the print preview when the built-in PDF viewer is missing.</translation>
-<translation id="226038281051944330">You signed in with a new account in <ph name="EXISTING_USER" />’s space. Would you like to create a new Chrome space for <ph name="NEW_USER" /> to keep your data separate?</translation>
 <translation id="2290014774651636340">Google API keys are missing. Some functionality of Google Chrome will be disabled.</translation>
 <translation id="2290095356545025170">Are you sure you want to uninstall Google Chrome?</translation>
 <translation id="2309047409763057870">This is a secondary installation of Google Chrome, and cannot be made your default browser.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">There's a new, safer version of Google Chrome available.</translation>
 <translation id="3127818369811890733">Chrome OS could not sync your data.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
-<translation id="3351117925998652957">Pick your Chrome space</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome will relaunch now}=1{Chrome will relaunch in 1 second}other{Chrome will relaunch in # seconds}}</translation>
 <translation id="3395323229510056640">Get help with Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Please close all Google Chrome windows and try again.</translation>
 <translation id="3865754807470779944">Chrome version <ph name="PRODUCT_VERSION" /> is installed</translation>
 <translation id="3873044882194371212">Open link in Chrome inco&amp;gnito window</translation>
-<translation id="3879568094278837081">This space’s browsing data will be deleted from this device. To recover the data, sign in to Chrome as</translation>
 <translation id="3889417619312448367">Uninstall Google Chrome</translation>
 <translation id="4050175100176540509">Important security improvements and new features are available in the latest version.</translation>
 <translation id="4053720452172726777">Customise and control Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Open link in new Chrome &amp;tab</translation>
 <translation id="4953650215774548573">Set Google Chrome as your default browser</translation>
 <translation id="495931528404527476">In Chrome</translation>
-<translation id="4960472897514318257">You signed in with a work account. Would you like to create a new Chrome space for <ph name="NEW_USER" /> to keep your personal data separate?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Restart Chrome OS</translation>
 <translation id="5132929315877954718">Discover great apps, games, extensions and themes for Google Chrome.</translation>
 <translation id="5170938038195470297">Your profile cannot be used because it is from a newer version of Google Chrome.
 
 Some features may be unavailable. Please specify a different profile directory or use a newer version of Chrome.</translation>
-<translation id="5171117065011130146">Create new Chrome work space?</translation>
 <translation id="5193136243808726294">Google Chrome OS can't open this page.</translation>
 <translation id="5251420635869119124">Guests can use Chrome without leaving anything behind.</translation>
 <translation id="532046782124376502">Warning: Google Chrome cannot prevent extensions from recording your browsing history. To disable this extension in incognito mode, unselect this option.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">To see if your device is up to date, go to <ph name="LINK_BEGIN" />Chrome OS Settings<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">This computer will no longer receive Google Chrome updates because Mac OS X 10.9 is no longer supported.</translation>
-<translation id="7591404275842302616">Use Chrome spaces to keep your browsing organised on this device</translation>
 <translation id="7592736734348559088">Google Chrome could not sync your data because your account sign-in details are out of date.</translation>
 <translation id="7626032353295482388">Welcome to Chrome</translation>
 <translation id="7629695634924605473">Chrome lets you know if your passwords are ever compromised</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome is Out of Date</translation>
 <translation id="8834965163890861871">Google Chrome is trying to edit passwords. Type your Windows password to allow this.</translation>
 <translation id="884296878221830158">It also controls what page is shown when you start Chrome or click the Home button.</translation>
-<translation id="8859948767482842016">You signed in with a work account in <ph name="EXISTING_USER" />’s space. Would you like to create a new Chrome space for <ph name="WORK_DOMAIN" /> to keep your data separate?</translation>
 <translation id="8862326446509486874">You do not have appropriate rights for system-level installation. Try running the installer again as Administrator.</translation>
-<translation id="8877586659207810298">Create new Chrome space for <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Relaunch Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{A Chrome update is available}=1{A Chrome update is available}other{A Chrome update has been available for # days}}</translation>
 <translation id="9026991721384951619">Chrome OS could not sync your data because your account sign-in details are out of date.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es-419.xtb b/chrome/app/resources/google_chrome_strings_es-419.xtb
index ad2d6298..bb70c9a 100644
--- a/chrome/app/resources/google_chrome_strings_es-419.xtb
+++ b/chrome/app/resources/google_chrome_strings_es-419.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome no está actualizado.</translation>
 <translation id="1919130412786645364">Permitir el acceso a Chrome</translation>
-<translation id="195645108406520445">Configura tu nuevo espacio de Chrome</translation>
 <translation id="2063848847527508675">El Sistema operativo Chrome debe reiniciarse para que se aplique la actualización.</translation>
 <translation id="2094919256425865063">¿Deseas salir de Chrome de todos modos?</translation>
 <translation id="2120620239521071941">Esta acción borrará <ph name="ITEMS_COUNT" /> elementos de este dispositivo. Si más adelante deseas recuperar los datos, accede a tu cuenta en Chrome como <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Informa tu <ph name="BEGIN_LINK" />configuración actual<ph name="END_LINK" /> para ayudarnos a mejorar Chrome</translation>
 <translation id="2151406531797534936">Reinicia Chrome ahora</translation>
 <translation id="2246246234298806438">Google Chrome no puede mostrar la vista previa de impresión si falta el visor de PDF incorporado.</translation>
-<translation id="226038281051944330">Accediste con una cuenta nueva en el espacio de <ph name="EXISTING_USER" />. ¿Deseas crear un nuevo espacio de Chrome para <ph name="NEW_USER" /> a fin de que se conserven separados tus datos?</translation>
 <translation id="2290014774651636340">Faltan las claves de la API de Google. Se inhabilitarán algunas funciones de Google Chrome.</translation>
 <translation id="2290095356545025170">¿Estás seguro de que deseas desinstalar Google Chrome?</translation>
 <translation id="2309047409763057870">Como esta es una instalación secundaria de Google Chrome, no puede establecerse como tu navegador predeterminado.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Hay disponible una versión de Google Chrome más nueva y más segura.</translation>
 <translation id="3127818369811890733">El Sistema operativo Chrome no pudo sincronizar los datos.</translation>
 <translation id="3149510190863420837">Aplicaciones de Chrome</translation>
-<translation id="3351117925998652957">Selecciona tu espacio de Chrome</translation>
 <translation id="3360895254066713204">Ayuda de Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Se reiniciará Chrome ahora}=1{Se reiniciará Chrome en 1 segundo}other{Se reiniciará Chrome en # segundos}}</translation>
 <translation id="3395323229510056640">Obtener ayuda con el Sistema operativo Chrome</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Cierra todas las ventanas de Google Chrome e intenta nuevamente.</translation>
 <translation id="3865754807470779944">Se instaló la versión de Chrome <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Abrir vínculo en una ventana de navegación de incó&amp;gnito de Chrome</translation>
-<translation id="3879568094278837081">Los datos de navegación de este espacio se borrarán de este dispositivo. Para recuperarlos, accede a Chrome como</translation>
 <translation id="3889417619312448367">Desinstalar Google Chrome</translation>
 <translation id="4050175100176540509">La última versión proporciona importantes mejoras de seguridad y nuevas funciones.</translation>
 <translation id="4053720452172726777">Personaliza y controla Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Abrir vínculo en una pes&amp;taña nueva de Chrome</translation>
 <translation id="4953650215774548573">Establecer Google Chrome como navegador predeterminado</translation>
 <translation id="495931528404527476">En Chrome</translation>
-<translation id="4960472897514318257">Accediste con una cuenta de trabajo. ¿Deseas crear un nuevo espacio de Chrome para <ph name="NEW_USER" /> a fin de que se conserven separados tus datos personales?</translation>
 <translation id="4990567037958725628">Google Chrome Canario</translation>
 <translation id="5062123544085870375">Reiniciar el Sistema operativo Chrome</translation>
 <translation id="5132929315877954718">Descubre aplicaciones, juegos, extensiones y temas geniales para Google Chrome.</translation>
 <translation id="5170938038195470297">No se puede usar tu perfil porque pertenece a una nueva versión de Google Chrome. Es posible que algunas características no estén disponibles. Especifica un directorio de perfil diferente o usa una nueva versión de Chrome.</translation>
-<translation id="5171117065011130146">¿Deseas crear un nuevo espacio de trabajo de Chrome?</translation>
 <translation id="5193136243808726294">El Sistema operativo Google Chrome no puede abrir esta página.</translation>
 <translation id="5251420635869119124">Los invitados pueden utilizar Chrome sin dejar nada detrás.</translation>
 <translation id="532046782124376502">Advertencia: Google Chrome no puede impedir que las extensiones guarden tu historial de navegación. Para inhabilitar esta extensión en modo de navegación incógnito, desmarca esta opción.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Para saber si tu dispositivo está actualizado, ve a la <ph name="LINK_BEGIN" />configuración del Sistema operativo Chrome<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Esta computadora no recibirá más actualizaciones de Google Chrome porque Mac OS X 10.9 ya no es compatible.</translation>
-<translation id="7591404275842302616">Usa los espacios de Chrome para organizar tu forma de navegar en este dispositivo</translation>
 <translation id="7592736734348559088">Google Chrome no pudo sincronizar los datos porque los datos de acceso de la cuenta están obsoletos.</translation>
 <translation id="7626032353295482388">Te damos la bienvenida a Chrome</translation>
 <translation id="7629695634924605473">Chrome te informará si tus contraseñas se ven comprometidas</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome no actualizado</translation>
 <translation id="8834965163890861871">Google Chrome está intentando editar contraseñas. Para permitirlo, ingresa tu contraseña de Windows.</translation>
 <translation id="884296878221830158">También controla qué página se muestra al iniciar Chrome o al hacer clic en el botón de página principal.</translation>
-<translation id="8859948767482842016">Accediste con una cuenta de trabajo en el espacio de <ph name="EXISTING_USER" />. ¿Deseas crear un nuevo espacio de Chrome para <ph name="WORK_DOMAIN" /> a fin de que se conserven separados tus datos?</translation>
 <translation id="8862326446509486874">No tienes los derechos que se requieren para realizar la instalación al nivel del sistema. Intenta ejecutar el instalador nuevamente como Administrador.</translation>
-<translation id="8877586659207810298">¿Deseas crear un nuevo espacio de Chrome para <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Volver a iniciar Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Hay una actualización de Chrome disponible}=1{Hay una actualización de Chrome disponible}other{Hay una actualización de Chrome disponible hace # días}}</translation>
 <translation id="9026991721384951619">El Sistema operativo Chrome no pudo sincronizar los datos porque la información de acceso de la cuenta está desactualizada.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es.xtb b/chrome/app/resources/google_chrome_strings_es.xtb
index c695454..e02de98a 100644
--- a/chrome/app/resources/google_chrome_strings_es.xtb
+++ b/chrome/app/resources/google_chrome_strings_es.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome no está actualizado</translation>
 <translation id="1919130412786645364">Permitir el inicio de sesión en Chrome</translation>
-<translation id="195645108406520445">Configura tu nuevo Espacio Chrome</translation>
 <translation id="2063848847527508675">Chrome OS se debe reiniciar para que se aplique la actualización.</translation>
 <translation id="2094919256425865063">¿Quieres cerrar Chrome de todas formas?</translation>
 <translation id="2120620239521071941">Se eliminarán <ph name="ITEMS_COUNT" /> elementos de este dispositivo. Para recuperar tus datos en otro momento, inicia sesión en Chrome como <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Genera un informe de la <ph name="BEGIN_LINK" />configuración actual<ph name="END_LINK" /> para ayudar a mejorar Chrome</translation>
 <translation id="2151406531797534936">Reinicia Chrome ahora</translation>
 <translation id="2246246234298806438">Google Chrome no puede mostrar la vista previa de impresión si falta el visor de PDFs integrado.</translation>
-<translation id="226038281051944330">Has iniciado sesión con otra cuenta en el espacio de <ph name="EXISTING_USER" />. ¿Quieres crear un espacio Chrome para <ph name="NEW_USER" /> y mantener tus datos de forma separada?</translation>
 <translation id="2290014774651636340">Faltan las claves de la API de Google. Se inhabilitarán algunas funciones de Google Chrome.</translation>
 <translation id="2290095356545025170">¿Seguro que quieres desinstalar Google Chrome?</translation>
 <translation id="2309047409763057870">Esta instalación de Google Chrome es secundaria, por lo que no se puede establecer como navegador predeterminado.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Hay una nueva versión más segura de Google Chrome disponible.</translation>
 <translation id="3127818369811890733">Chrome OS no ha podido sincronizar los datos.</translation>
 <translation id="3149510190863420837">Aplicaciones de Chrome</translation>
-<translation id="3351117925998652957">Elige tu Espacio Chrome</translation>
 <translation id="3360895254066713204">Ayudante de Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome se reiniciará ahora}=1{Chrome se reiniciará dentro de 1 segundo}other{Chrome se reiniciará dentro de # segundos}}</translation>
 <translation id="3395323229510056640">Obtener ayuda de Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Cierra todas las ventanas de Google Chrome y vuelve a intentarlo.</translation>
 <translation id="3865754807470779944">Está instalada la versión <ph name="PRODUCT_VERSION" /> de Chrome</translation>
 <translation id="3873044882194371212">Abrir enlace en una ventana de incó&amp;gnito de Chrome</translation>
-<translation id="3879568094278837081">Los datos de navegación de este espacio se eliminarán de este dispositivo. Para recuperar los datos, inicia sesión en Chrome como</translation>
 <translation id="3889417619312448367">Desinstalar Google Chrome</translation>
 <translation id="4050175100176540509">En la última versión puedes encontrar mejoras de seguridad importantes y nuevas funciones.</translation>
 <translation id="4053720452172726777">Personaliza y controla Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Abrir enlace en una pes&amp;taña nueva de Chrome</translation>
 <translation id="4953650215774548573">Establecer Google Chrome como navegador predeterminado</translation>
 <translation id="495931528404527476">En Chrome</translation>
-<translation id="4960472897514318257">Has iniciado sesión con una cuenta de trabajo. ¿Quieres crear un espacio Chrome para <ph name="NEW_USER" /> y mantener tus datos de forma separada?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Reiniciar Chrome OS</translation>
 <translation id="5132929315877954718">Descubre formidables aplicaciones, juegos, extensiones y temas para Google Chrome.</translation>
 <translation id="5170938038195470297">No se puede usar tu perfil porque se corresponde con una versión más reciente de Google Chrome.
 
 Puede que algunas funciones no estén disponibles. Especifica otro directorio de perfil o usa una versión más reciente de Chrome.</translation>
-<translation id="5171117065011130146">¿Crear espacio de trabajo Chrome?</translation>
 <translation id="5193136243808726294">Google Chrome OS no puede abrir esta página.</translation>
 <translation id="5251420635869119124">Los invitados pueden utilizar Chrome sin dejar nada atrás.</translation>
 <translation id="532046782124376502">Advertencia: Google Chrome no puede evitar que las extensiones registren el historial de navegación. Para inhabilitar esta extensión en modo de incógnito, desactiva esta opción.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Para comprobar si tu dispositivo está actualizado, ve a la <ph name="LINK_BEGIN" />configuración de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Este ordenador no volverá a recibir actualizaciones de Google Chrome porque ya no es compatible con Mac OS X 10.9.</translation>
-<translation id="7591404275842302616">Usa los Espacios Chrome para navegar de forma organizada en este dispositivo</translation>
 <translation id="7592736734348559088">Google Chrome no ha podido sincronizar los datos porque la información de inicio de sesión de tu cuenta está obsoleta.</translation>
 <translation id="7626032353295482388">Te damos la bienvenida a Chrome</translation>
 <translation id="7629695634924605473">Chrome te avisará si tus contraseñas están en riesgo</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome no está actualizado</translation>
 <translation id="8834965163890861871">Google Chrome está intentando cambiar contraseñas. Para permitirlo, escribe tu contraseña de Windows.</translation>
 <translation id="884296878221830158">También controla qué página se muestra al iniciar Chrome o hacer clic en el botón Página de inicio.</translation>
-<translation id="8859948767482842016">Has iniciado sesión con una cuenta de trabajo en el espacio de <ph name="EXISTING_USER" />. ¿Quieres crear un espacio Chrome para <ph name="WORK_DOMAIN" /> y mantener tus datos de forma separada?</translation>
 <translation id="8862326446509486874">No dispones de los derechos necesarios para la instalación en el sistema. Intenta ejecutar de nuevo el programa de instalación como administrador.</translation>
-<translation id="8877586659207810298">¿Crear espacio Chrome para <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Volver a iniciar Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Hay una actualización de Chrome disponible}=1{Hay una actualización de Chrome disponible}other{Hay una actualización de Chrome disponible desde hace # días}}</translation>
 <translation id="9026991721384951619">Chrome OS no ha podido sincronizar los datos porque la información de inicio de sesión de tu cuenta está obsoleta.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_et.xtb b/chrome/app/resources/google_chrome_strings_et.xtb
index e4abc46..268d6bc7 100644
--- a/chrome/app/resources/google_chrome_strings_et.xtb
+++ b/chrome/app/resources/google_chrome_strings_et.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome'i beetaversioon (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome on aegunud</translation>
 <translation id="1919130412786645364">Luba Chrome'i sisselogimine</translation>
-<translation id="195645108406520445">Uue Chrome'i ruumi seadistamine</translation>
 <translation id="2063848847527508675">Chrome OS tuleb värskenduse rakendamiseks taaskäivitada.</translation>
 <translation id="2094919256425865063">Kas väljuda Chrome'ist ikkagi?</translation>
 <translation id="2120620239521071941">See kustutab sellest seadmest <ph name="ITEMS_COUNT" /> üksust. Hiljem oma andmete toomiseks logige Chrome'i sisse kasutajana <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Aidake Chrome paremaks muuta, teavitades meid <ph name="BEGIN_LINK" />praegustest seadetest<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Käivitage Chrome kohe uuesti</translation>
 <translation id="2246246234298806438">Google Chrome ei saa kuvada printimise eelvaadet, kui sisseehitatud PDF-vaatur puudub.</translation>
-<translation id="226038281051944330">Logisite kasutaja <ph name="EXISTING_USER" /> ruumis sisse uue kontoga. Kas soovite kasutaja <ph name="NEW_USER" /> jaoks luua uue Chrome'i ruumi, et oma andmed eraldi hoida?</translation>
 <translation id="2290014774651636340">Google API võtmed on puudu. Google Chrome'i teatud funktsioonid keelatakse.</translation>
 <translation id="2290095356545025170">Olete kindel, et soovite Google Chrome'i desinstallida?</translation>
 <translation id="2309047409763057870">See on Google Chrome'i sekundaarne install ja seda ei saa määrata vaikebrauseriks.</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">Saadaval on uus ja turvalisem Google Chrome'i versioon.</translation>
 <translation id="3127818369811890733">Chrome OS ei saanud teie andmeid sünkroonida.</translation>
 <translation id="3149510190863420837">Chrome'i rakendused</translation>
-<translation id="3351117925998652957">Chrome'i ruumi valimine</translation>
 <translation id="3360895254066713204">Chrome'i abistaja</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome käivitatakse kohe uuesti}=1{Chrome käivitatakse uuesti 1 sekundi pärast}other{Chrome käivitatakse uuesti # sekundi pärast}}</translation>
 <translation id="3395323229510056640">Chrome OS-i puhul abi hankimine</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">Sulgege kõik Google Chrome'i aknad ja proovige uuesti.</translation>
 <translation id="3865754807470779944">Chrome'i versioon <ph name="PRODUCT_VERSION" /> on installitud</translation>
 <translation id="3873044882194371212">Ava link Chrome'i inko&amp;gnito aknas</translation>
-<translation id="3879568094278837081">Selle ruumi sirvimisandmed kustutatakse seadmest. Andmete taastamiseks logige Chrome'i sisse kasutajana</translation>
 <translation id="3889417619312448367">Google Chrome'i desinstallimine</translation>
 <translation id="4050175100176540509">Uusimas versioonis on saadaval olulised turvatäiendused ja uued funktsioonid.</translation>
 <translation id="4053720452172726777">Google Chrome'i kohandamine ja juhtimine</translation>
@@ -145,14 +141,12 @@
 <translation id="4895437082222824641">Ava link Chrome'i uuel &amp;vahelehel</translation>
 <translation id="4953650215774548573">Määra Google Chrome vaikebrauseriks</translation>
 <translation id="495931528404527476">Chrome'is</translation>
-<translation id="4960472897514318257">Logisite sisse töökontoga. Kas soovite kasutaja <ph name="NEW_USER" /> jaoks luua uue Chrome'i ruumi, et oma isiklikud andmed eraldi hoida?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Taaskäivitage Chrome OS</translation>
 <translation id="5132929315877954718">Avastage Google Chrome'i jaoks suurepäraseid rakendusi, mänge, laiendusi ja teemasid.</translation>
 <translation id="5170938038195470297">Teie profiili ei saa kasutada, kuna see pärineb Google Chrome'i uuemast versioonist.
 
 Mõned funktsioonid ei pruugi saadaval olla. Määrake muu profiilikataloog või kasutage Chrome'i uuemat versiooni.</translation>
-<translation id="5171117065011130146">Kas luua uus Chrome'i tööruum?</translation>
 <translation id="5193136243808726294">Google'i Chrome OS ei saa seda lehte avada.</translation>
 <translation id="5251420635869119124">Külastajad saavad kasutada Chrome'i jälgi jätmata.</translation>
 <translation id="532046782124376502">Hoiatus: Google Chrome ei saa laiendustel teie sirvimisajaloo salvestamist takistada. Selle laienduse keelamiseks inkognito režiimis tühistage see valik.</translation>
@@ -218,7 +212,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Kui soovite teada saada, kas teie seade on ajakohane, avage <ph name="LINK_BEGIN" />Chromium OS-i seaded<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">See arvuti ei saa enam Google Chrome'i värskendusi, kuna operatsioonisüsteemi Mac OS X 10.9 enam ei toetata.</translation>
-<translation id="7591404275842302616">Kasutage Chrome'i ruume, et oma sirvimist selles seadmes korrastatuna hoida</translation>
 <translation id="7592736734348559088">Google Chrome ei saanud andmeid sünkroonida, sest teie konto sisselogimisandmed on aegunud.</translation>
 <translation id="7626032353295482388">Tere tulemast Chrome'i</translation>
 <translation id="7629695634924605473">Chrome annab teile teada, kui teie paroolid ohtu satuvad</translation>
@@ -265,9 +258,7 @@
 <translation id="8823341990149967727">Chrome on aegunud</translation>
 <translation id="8834965163890861871">Google Chrome proovib muuta paroole. Selle lubamiseks sisestage Windowsi parool.</translation>
 <translation id="884296878221830158">Lisaks juhib see Chrome'i käivitamise lehte või avalehe nupu  klõpsamist.</translation>
-<translation id="8859948767482842016">Logisite kasutaja <ph name="EXISTING_USER" /> ruumis sisse töökontoga. Kas soovite domeeni <ph name="WORK_DOMAIN" /> jaoks luua uue Chrome'i ruumi, et oma andmed eraldi hoida?</translation>
 <translation id="8862326446509486874">Teil ei ole süsteemi tasemel installimiseks sobivaid õigusi. Proovige installijat administraatorina uuesti käivitada.</translation>
-<translation id="8877586659207810298">Kas luua kasutajale <ph name="NEW_USER" /> uus Chrome'i ruum?</translation>
 <translation id="8914504000324227558">Käivita Chrome uuesti</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome'i värskendus on saadaval}=1{Chrome'i värskendus on saadaval}other{Chrome'i värskendus on # päeva saadaval olnud}}</translation>
 <translation id="9026991721384951619">Chrome OS ei saanud andmeid sünkroonida, sest teie konto sisselogimisandmed on aegunud.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_eu.xtb b/chrome/app/resources/google_chrome_strings_eu.xtb
index 33844ec8..fd8ca61 100644
--- a/chrome/app/resources/google_chrome_strings_eu.xtb
+++ b/chrome/app/resources/google_chrome_strings_eu.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome zaharkituta dago</translation>
 <translation id="1919130412786645364">Baimendu Chrome-n saioa hastea</translation>
-<translation id="195645108406520445">Konfiguratu Chrome-ko eremu berria</translation>
 <translation id="2063848847527508675">Eguneratzea aplikatzeko, berrabiarazi egin behar da Chrome OS.</translation>
 <translation id="2094919256425865063">Chrome-tik irten nahi duzu hala ere?</translation>
 <translation id="2120620239521071941">Gailuko <ph name="ITEMS_COUNT" /> elementu ezabatuko dira. Geroago datuak eskuratu nahi izanez gero, hasi saioa Chrome-n <ph name="USER_EMAIL" /> gisa.</translation>
 <translation id="2123055963409958220">Lagundu Chrome hobetzen <ph name="BEGIN_LINK" />uneko ezarpenen<ph name="END_LINK" /> berri emanda</translation>
 <translation id="2151406531797534936">Berrabiarazi Chrome</translation>
 <translation id="2246246234298806438">Google Chrome-k ezin du erakutsi inprimatze-aurrebista PDF dokumentuen ikustaile inkorporatua falta bada.</translation>
-<translation id="226038281051944330">Beste kontu batekin hasi duzu saioa <ph name="EXISTING_USER" /> erabiltzailearen eremuan. <ph name="NEW_USER" /> erabiltzailearentzat Chrome-ko eremu bat sortu nahi duzu datuak bereiz gordetzeko?</translation>
 <translation id="2290014774651636340">Google APIaren gakoak falta dira. Agian Google Chrome-ren funtzio batzuk desgaituta egongo dira.</translation>
 <translation id="2290095356545025170">Ziur Google Chrome desinstalatu nahi duzula?</translation>
 <translation id="2309047409763057870">Google Chrome-ren bigarren mailako instalazio bat da hau; beraz, ezin duzu ezarri arakatzaile lehenetsi gisa.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Google Chrome-ren bertsio berriagoa eta seguruagoa erabilgarri dago.</translation>
 <translation id="3127818369811890733">Chrome OS sistema eragileak ezin izan ditu sinkronizatu datuak.</translation>
 <translation id="3149510190863420837">Chrome-ren aplikazioak</translation>
-<translation id="3351117925998652957">Hautatu Chrome-ko eremu bat</translation>
 <translation id="3360895254066713204">Chrome laguntzailea</translation>
 <translation id="3379938682270551431">{0,plural, =0{Orain berrabiaraziko da Chrome}=1{1 segundo barru berrabiaraziko da Chrome}other{# segundo barru berrabiaraziko da Chrome}}</translation>
 <translation id="3395323229510056640">Lortu Chrome OS erabiltzeko laguntza</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Itxi Google Chrome leiho guztiak eta saiatu berriro.</translation>
 <translation id="3865754807470779944">Chrome-ren <ph name="PRODUCT_VERSION" /> bertsioa dago instalatuta</translation>
 <translation id="3873044882194371212">Ireki esteka Chrome-ko &amp;ezkutuko moduko leiho batean</translation>
-<translation id="3879568094278837081">Eremu honetako arakatze-datuak gailutik ezabatuko dira. Haiek berreskuratzeko, hasi saioa Chrome-n kontu honekin:</translation>
 <translation id="3889417619312448367">Desinstalatu Google Chrome</translation>
 <translation id="4050175100176540509">Segurtasun-hobekuntza garrantzitsuak eta eginbide berriak dituzu erabilgarri azken bertsioan.</translation>
 <translation id="4053720452172726777">Pertsonalizatu eta kontrolatu Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Ireki esteka Chrome-ko beste &amp;fitxa batean</translation>
 <translation id="4953650215774548573">Ezarri Google Chrome arakatzaile lehenetsi gisa</translation>
 <translation id="495931528404527476">Chrome-n</translation>
-<translation id="4960472897514318257">Laneko kontu batekin hasi duzu saioa. <ph name="NEW_USER" /> erabiltzailearentzat Chrome-ko eremu bat sortu nahi duzu datu pertsonalak bereiz gordetzeko?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Berrabiarazi Chrome OS</translation>
 <translation id="5132929315877954718">Ezagutu Google Chrome-rako aplikazio, joko, luzapen eta gai bikainak.</translation>
 <translation id="5170938038195470297">Ezin da profila erabili Google Chrome-ren bertsio berriago batekoa delako.
 
 Agian eginbide batzuk ez dira erabilgarri egongo. Zehaztu profilaren beste direktorio bat edo erabili Chrome-ren bertsio berriagoa.</translation>
-<translation id="5171117065011130146">Chrome-ko laneko eremu bat sortu nahi duzu?</translation>
 <translation id="5193136243808726294">Google Chrome OS sistemak ezin du ireki orri hau.</translation>
 <translation id="5251420635869119124">Gonbidatuek Chrome erabil dezakete aztarnarik utzi gabe.</translation>
 <translation id="532046782124376502">Abisua: Google Chrome-k ezin die eragotzi luzapenei zure arakatze-historia erregistratzea. Luzapena ezkutuko moduan desgaitzeko, desautatu aukera hau.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Gailua eguneratuta dagoen ikusteko, joan <ph name="LINK_BEGIN" />Chrome OS sistemaren ezarpenetara<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Ordenagailu honek ez du Google Chrome eguneratze gehiago jasoko ez delako jada onartzen Mac OS X 10.9 bertsioa.</translation>
-<translation id="7591404275842302616">Erabili Chrome-ko eremuak gailuko arakatze-jarduerak antolatuta edukitzeko</translation>
 <translation id="7592736734348559088">Google Chrome-k ezin izan ditu zure datuak sinkronizatu kontuan saioa asteko datuak zaharkituta daudelako.</translation>
 <translation id="7626032353295482388">Ongi etorri Chrome-ra</translation>
 <translation id="7629695634924605473">Chrome-k abisatu egingo dizu pasahitzak inoiz arriskuan badaude</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome zaharkituta dago</translation>
 <translation id="8834965163890861871">Pasahitzak editatzen saiatzen ari da Google Chrome. Hori baimentzeko, idatzi Windows-eko pasahitza.</translation>
 <translation id="884296878221830158">Chrome abiarazten duzunean edo Hasiera botoia sakatzen duzunean erakusten den orria ere kontrolatzen du.</translation>
-<translation id="8859948767482842016">Laneko kontu batekin hasi duzu saioa <ph name="EXISTING_USER" /> erabiltzailearen eremuan. Datuak bereiz gordetzeko <ph name="WORK_DOMAIN" /> domeinurako Chrome-ko eremu bat sortu nahi duzu?</translation>
 <translation id="8862326446509486874">Ez dituzu eskubide egokiak sistema mailako instalazio bat egiteko. Saiatu instalatzailea administratzaile gisa abiarazten.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> erabiltzailearentzat Chrome-ko eremu bat sortu nahi duzu?</translation>
 <translation id="8914504000324227558">Berrabiarazi Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome arakatzailearen eguneratze bat dago erabilgarri}=1{Chrome arakatzailearen eguneratze bat dago erabilgarri}other{Chrome arakatzailearen eguneratze batek # egun daramatza erabilgarri}}</translation>
 <translation id="9026991721384951619">Chrome OS sistemak ezin izan ditu zure datuak sinkronizatu kontuan saioa hasteko datuak iraungi egin direlako.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fa.xtb b/chrome/app/resources/google_chrome_strings_fa.xtb
index 0e70e47..f81daaa 100644
--- a/chrome/app/resources/google_chrome_strings_fa.xtb
+++ b/chrome/app/resources/google_chrome_strings_fa.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">‏Google Chrome نسخه بتا (mDNS-In)</translation>
 <translation id="1877026089748256423">‏نسخه Chrome قدیمی است</translation>
 <translation id="1919130412786645364">‏مجاز کردن ورود به سیستم Chrome</translation>
-<translation id="195645108406520445">‏«فضای Chrome» جدید را راه‌اندازی کنید</translation>
 <translation id="2063848847527508675">‏برای اعمال به‌روزرسانی، سیستم‌عامل Chrome باید راه‌اندازی مجدد شود.</translation>
 <translation id="2094919256425865063">‏درهرصورت از Chrome خارج می‌شوید؟</translation>
 <translation id="2120620239521071941">‏این کار <ph name="ITEMS_COUNT" /> مورد را از این دستگاه حذف می‌کند. برای بازیابی داده‌هایتان در فرصتی دیگر، با <ph name="USER_EMAIL" /> وارد سیستم Chrome شوید.</translation>
 <translation id="2123055963409958220">‏با گزارش <ph name="BEGIN_LINK" />تنظیمات کنونی<ph name="END_LINK" />، به بهتر شدن Chrome کمک کنید</translation>
 <translation id="2151406531797534936">‏لطفاً اکنون Chrome را بازراه‌اندازی کنید</translation>
 <translation id="2246246234298806438">‏زمانی که نمایش دهنده داخلی PDF وجود نداشته باشد، Google Chrome نمی‌تواند پیش‌نمای چاپ را نشان دهد.</translation>
-<translation id="226038281051944330">‏با حساب جدیدی در فضای <ph name="EXISTING_USER" /> به سیستم وارد شدید. مایلید فضای جدیدی در Chrome برای <ph name="NEW_USER" /> ایجاد کنید تا داده‌هایتان به‌صورت جداگانه نگهداری شود؟</translation>
 <translation id="2290014774651636340">‏کلیدهای Google API وجود ندارد. برخی از عملکردهای Google Chrome از کار خواهد افتاد.</translation>
 <translation id="2290095356545025170">‏آیا می‌خواهید Google Chrome را غیر فعال کنید؟</translation>
 <translation id="2309047409763057870">‏این نصب ثانویه Google Chrome است و نمی‌تواند مرورگر پیش‌فرضتان شود.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">‏نسخه جدید و امن تری از Google Chrome موجود است.</translation>
 <translation id="3127818369811890733">‏سیستم‌عامل Chrome نتوانست داده‌هایتان را همگام‌سازی کند.</translation>
 <translation id="3149510190863420837">‏برنامه‌های Chrome</translation>
-<translation id="3351117925998652957">‏انتخاب «فضای Chrome»</translation>
 <translation id="3360895254066713204">‏راهنمای Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{‏Chrome هم‌اکنون راه‌اندازی مجدد می‌شود}=1{‏Chrome ‏۱ ثانیه دیگر راه‌اندازی مجدد می‌شود}one{‏Chrome ‏# ثانیه دیگر راه‌اندازی مجدد می‌شود}other{‏Chrome ‏# ثانیه دیگر راه‌اندازی مجدد می‌شود}}</translation>
 <translation id="3395323229510056640">‏دریافت کمک از Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">‏لطفاً همه پنجره‌های Google Chrome را ببندید و دوباره امتحان کنید.</translation>
 <translation id="3865754807470779944">‏Chrome نسخه <ph name="PRODUCT_VERSION" /> نصب شده است</translation>
 <translation id="3873044882194371212">‏باز کردن پیوند در پنجره &amp;ناشناس Chrome</translation>
-<translation id="3879568094278837081">‏داده‌های محصول مرور این فضا از این دستگاه حذف می‌شود. برای بازیابی داده‌ها، با حساب زیر به سیستم Chrome وارد شوید:</translation>
 <translation id="3889417619312448367">‏حذف نصب Google Chrome</translation>
 <translation id="4050175100176540509">بهبودهای امنیتی مهم و ویژگی‌های جدید در جدیدترین نسخه در دسترس است.</translation>
 <translation id="4053720452172726777">‏‫سفارشی کردن و کنترل Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">‏باز کردن پیوند در &amp;برگه جدید Chrome</translation>
 <translation id="4953650215774548573">‏تنظیم Google Chrome به عنوان مرورگر پیش‌فرضتان</translation>
 <translation id="495931528404527476">‏در Chrome</translation>
-<translation id="4960472897514318257">‏با حساب کاری به سیستم وارد شدید. مایلید فضای جدیدی در Chrome برای <ph name="NEW_USER" /> ایجاد کنید تا داده‌های شخصی‌تان به‌صورت جداگانه نگهداری شود؟</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">‏بازراه‌اندازی سیستم‌عامل Chrome</translation>
 <translation id="5132929315877954718">‏برنامه‌های کاربردی، بازی‌ها، افزونه‌ها و طرح‌های زمینه فوق‌العاده را برای Google Chrome کاوش کنید.</translation>
 <translation id="5170938038195470297">‏نمایهٔ شما نمی‌تواند استفاده شود زیرا مربوط به یک نسخه جدیدتر از Google Chrome است. بعضی از ویژگی‌ها ممکن است موجود نباشند. لطفاً یک مسیر دیگر برای نمایه تعیین کنید یا از نسخه جدیدتر Chrome استفاده کنید.</translation>
-<translation id="5171117065011130146">‏«فضای کاری» جدیدی در Chrome ایجاد شود؟</translation>
 <translation id="5193136243808726294">‏Google Chrome OS نمی‌‎تواند این صفحه را باز کند.</translation>
 <translation id="5251420635869119124">‏مهمان‌‌ها می‌توانند از Chrome استفاده کنند بدون اینکه اثری از خود به جا بگذارند.</translation>
 <translation id="532046782124376502">‏اخطار: Google Chrome نمی تواند مانع از ثبت سابقه مرور شما توسط افزونه‌ها شود. برای غیرفعال کردن این افزونه در حالت ناشناس، این گزینه را لغو انتخاب کنید.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">‏Google Chrome نسخه Dev</translation>
 <translation id="7573289029918943991">‏برای اینکه ببینید دستگاهتان به‌روز است یا نه، به <ph name="LINK_BEGIN" />تنظیمات Chrome OS<ph name="LINK_END" /> بروید</translation>
 <translation id="7589360514048265910">‏این رایانه دیگر به‌روزرسانی‌های Google Chrome را دریافت نمی‌کند، زیرا Mac OS X نسخه ۱۰.۹ دیگر پشتیبانی نمی‌شود.</translation>
-<translation id="7591404275842302616">‏بااستفاده از «فضاهای Chrome»، مرورتان را در این دستگاه سازمان‌دهی کنید</translation>
 <translation id="7592736734348559088">‏Google Chrome قادر به همگام‌سازی داده‌های شما نبود زیرا جزئیات ورود به حساب شما به‌روز نیست.</translation>
 <translation id="7626032353295482388">‏به Chrome خوش آمدید</translation>
 <translation id="7629695634924605473">‏Chrome می‌تواند، اگر گذرواژه‌هایتان در معرض خطر باشد، مطلعتان کند</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">‏نسخه Chrome قدیمی است</translation>
 <translation id="8834965163890861871">‏Google Chrome می‌خواهد گذرواژه‌ها را ویرایش کند. برای اینکه اجازه دهید این کار انجام شود، گذرواژه Windows خود را تایپ کنید.</translation>
 <translation id="884296878221830158">‏این برنامه همچنین صفحه‌ای را که هنگام راه‌اندازی Chrome یا کلیک کردن روی دکمه صفحه اصلی نشان داده می‌شود، کنترل می‌کند.</translation>
-<translation id="8859948767482842016">‏با «حساب کاری» در فضای <ph name="EXISTING_USER" /> به سیستم وارد شدید. مایلید فضای جدیدی در Chrome برای <ph name="WORK_DOMAIN" /> ایجاد کنید تا داده‌هایتان به‌صورت جداگانه نگهداری شود؟</translation>
 <translation id="8862326446509486874">شما حقوق لازم برای نصب در سطح سیستم را ندارید. دوباره به‌عنوان سرپرست نصب‌کننده را اجرا کنید.</translation>
-<translation id="8877586659207810298">‏فضای جدیدی در Chrome برای <ph name="NEW_USER" /> ایجاد شود؟</translation>
 <translation id="8914504000324227558">‏راه‌اندازی مجدد Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{‏به‌روزرسانی Chrome دردسترس است}=1{‏به‌روزرسانی Chrome دردسترس است}one{‏به‌روزرسانی Chrome از # روز پیش دردسترس است}other{‏به‌روزرسانی Chrome از # روز پیش دردسترس است}}</translation>
 <translation id="9026991721384951619">‏سیستم‌عامل Chrome قادر به همگام‌سازی داده‌هایتان نبود زیرا جزئیات ورود به سیستم حساب شما به‌روز نیست.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fi.xtb b/chrome/app/resources/google_chrome_strings_fi.xtb
index ef8b717..a284f9a 100644
--- a/chrome/app/resources/google_chrome_strings_fi.xtb
+++ b/chrome/app/resources/google_chrome_strings_fi.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chromen betaversio (saapuva mDNS)</translation>
 <translation id="1877026089748256423">Chrome on vanhentunut</translation>
 <translation id="1919130412786645364">Salli Chrome-kirjautuminen</translation>
-<translation id="195645108406520445">Aloita uuden Chrome-tilasi käyttö</translation>
 <translation id="2063848847527508675">Chrome-käyttöjärjestelmä täytyy käynnistää uudelleen, jotta päivitys voidaan ottaa käyttöön.</translation>
 <translation id="2094919256425865063">Suljetaanko Chrome silti?</translation>
 <translation id="2120620239521071941"><ph name="ITEMS_COUNT" /> kohdetta poistetaan pysyvästi tältä laitteelta. Jos haluat palauttaa tiedot myöhemmin, kirjaudu Chromeen käyttäjänä <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Auta parantamaan Chromea ilmoittamalla <ph name="BEGIN_LINK" />nykyiset asetukset<ph name="END_LINK" />.</translation>
 <translation id="2151406531797534936">Käynnistä Chrome uudelleen nyt</translation>
 <translation id="2246246234298806438">Google Chrome ei voi näyttää tulostusesikatselua, koska PDF-katseluohjelma puuttuu.</translation>
-<translation id="226038281051944330">Kirjauduit sisään uudella tilillä käyttäjän <ph name="EXISTING_USER" /> tilaan. Haluatko luoda uuden Chrome-tilan käyttäjälle <ph name="NEW_USER" /> pitääksesi datasi erillisenä?</translation>
 <translation id="2290014774651636340">Googlen sovellusliittymän avaimet puuttuvat. Jotkin Google Chromen toiminnoista poistetaan käytöstä.</translation>
 <translation id="2290095356545025170">Haluatko varmasti poistaa Google Chromen?</translation>
 <translation id="2309047409763057870">Tämä on Google Chromen toissijainen asennus, eikä sitä voi asettaa oletusselaimeksi.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Google Chromesta on saatavillaa uusi, turvallisempi versio.</translation>
 <translation id="3127818369811890733">Chrome-käyttöjärjestelmä ei voinut synkronoida tietojasi.</translation>
 <translation id="3149510190863420837">Chrome-sovellukset</translation>
-<translation id="3351117925998652957">Valitse Chrome-tilasi</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome käynnistetään uudelleen nyt}=1{Chrome käynnistetään uudelleen 1 sekunnin kuluttua}other{Chrome käynnistetään uudelleen # sekunnin kuluttua.}}</translation>
 <translation id="3395323229510056640">Ohjeita Chrome-käyttöjärjestelmän käyttöön</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Sulje kaikki Chrome-ikkunat ja yritä uudelleen.</translation>
 <translation id="3865754807470779944">Chromen versio <ph name="PRODUCT_VERSION" /> asennettu</translation>
 <translation id="3873044882194371212">Avaa linkki Chromen inco&amp;gnito-ikkunassa</translation>
-<translation id="3879568094278837081">Tilan selausdata poistetaan tältä laitteelta. Jos haluat palauttaa tiedot myöhemmin, kirjaudu Chromeen käyttäjänä</translation>
 <translation id="3889417619312448367">Poista Google Chromen asennus</translation>
 <translation id="4050175100176540509">Uusimmassa versiossa on käytettävissä tärkeitä turvallisuusparannuksia ja uusia ominaisuuksia.</translation>
 <translation id="4053720452172726777">Google Chromen muokkaaminen ja hallinta</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Avaa linkki uudella Chromen välilehdellä</translation>
 <translation id="4953650215774548573">Aseta Google Chrome oletusselaimeksi</translation>
 <translation id="495931528404527476">Chromessa</translation>
-<translation id="4960472897514318257">Kirjauduit sisään työtilillä. Haluatko luoda uuden Chrome-tilan käyttäjälle <ph name="NEW_USER" /> pitääksesi henkilökohtaiset tietosi erillisinä?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Käynnistä Chrome OS uudelleen</translation>
 <translation id="5132929315877954718">Löydät hienoja sovelluksia, pelejä ja teemoja Google Chromelle.</translation>
 <translation id="5170938038195470297">Profiiliasi ei voi käyttää, koska se on peräisin uudemmasta Google Chromen versiosta. Kaikkia toimintoja ei välttämättä voi käyttää. Määritä toinen profiilihakemisto tai käytä uudempaa Chromen versiota.</translation>
-<translation id="5171117065011130146">Luodaanko uusi Chromen työtila?</translation>
 <translation id="5193136243808726294">Google Chrome ‑käyttöjärjestelmä ei voi avata tätä sivua.</translation>
 <translation id="5251420635869119124">Vierailijat voivat käyttää Chromea jälkiä jättämättä.</translation>
 <translation id="532046782124376502">Varoitus: Google Chrome ei voi estää laajennuksia tallentamasta selaushistoriaasi. Voit poistaa tämän laajennuksen käytöstä incognito-tilassa poistamalla tämän valinnan.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chromen kehittäjäversio</translation>
 <translation id="7573289029918943991">Tarkista <ph name="LINK_BEGIN" />Chrome-käyttöjärjestelmän asetuksista<ph name="LINK_END" />, onko laitteesi ajan tasalla</translation>
 <translation id="7589360514048265910">Tämän tietokone ei enää saa Google Chrome ‑päivityksiä, koska Mac OS X 10.9:ää ei enää tueta.</translation>
-<translation id="7591404275842302616">Pidä selaaminen laitteella järjestyksessä Chromen tilojen avulla</translation>
 <translation id="7592736734348559088">Google Chrome ei voinut synkronoida tietoja, sillä tilin kirjautumistiedot ovat vanhentuneet.</translation>
 <translation id="7626032353295482388">Tervetuloa Chromeen</translation>
 <translation id="7629695634924605473">Chrome ilmoittaa sinulle, jos salasanasi ovat vaarantuneet</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome on vanhentunut</translation>
 <translation id="8834965163890861871">Google Chrome yrittää muuttaa salasanoja. Salli tämä kirjoittamalla Windows-salasanasi.</translation>
 <translation id="884296878221830158">Määrittää myös Chromen aloitussivun ja Etusivu-painikkeella avattavan sivun.</translation>
-<translation id="8859948767482842016">Kirjauduit sisään työtilillä käyttäjän <ph name="EXISTING_USER" /> tilaan. Haluatko luoda uuden Chrome-tilan (<ph name="WORK_DOMAIN" />) pitääksesi datasi erillisenä?</translation>
 <translation id="8862326446509486874">Sinulla ei ole käyttöoikeuksia järjestelmätason asennukseen. Kokeile asennusohjelman suorittamista uudelleen järjestelmänvalvojana.</translation>
-<translation id="8877586659207810298">Luodaanko uusi Chrome-tila käyttäjälle <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Käynnistä Chrome uudelleen</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome-päivitys on saatavilla}=1{Chrome-päivitys on saatavilla}other{Chrome-päivitys on ollut saatavilla # vuorokauden ajan}}</translation>
 <translation id="9026991721384951619">Chrome-käyttöjärjestelmä ei voi synkronoida tietoja, sillä tilin kirjautumistiedot ovat vanhentuneet.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fil.xtb b/chrome/app/resources/google_chrome_strings_fil.xtb
index 939c0e3..ac608ed 100644
--- a/chrome/app/resources/google_chrome_strings_fil.xtb
+++ b/chrome/app/resources/google_chrome_strings_fil.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Luma na ang Chrome</translation>
 <translation id="1919130412786645364">Pagayan ang pag-sign in sa Chrome</translation>
-<translation id="195645108406520445">I-set up ang iyong bagong Chrome Space</translation>
 <translation id="2063848847527508675">Kailangang ma-restart ang Chrome OS upang mailapat ang update.</translation>
 <translation id="2094919256425865063">Umalis pa rin sa Chrome?</translation>
 <translation id="2120620239521071941">Magde-delete ito ng <ph name="ITEMS_COUNT" /> (na) item sa device na ito. Upang makuha ang iyong data sa ibang pagkakataon, mag-sign in sa Chrome bilang <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Tulungang pahusayin ang Chrome sa pamamagitan ng pag-ulat sa <ph name="BEGIN_LINK" />mga kasalukuyang setting<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Paki-restart ang Chrome ngayon</translation>
 <translation id="2246246234298806438">Hindi maipapakita ng Google Chrome ang preview sa pag-print kapag nawawala ang built-in na PDF viewer.</translation>
-<translation id="226038281051944330">Nag-sign in ka gamit ang isang bagong account sa space ni <ph name="EXISTING_USER" />. Gusto mo bang gumawa ng bagong Chrome space para kay <ph name="NEW_USER" /> para mapanatiling nakahiwalay ang iyong data?</translation>
 <translation id="2290014774651636340">Nawawala ang mga Google API key. Madi-disable ang ilang pagpapagana ng Google Chrome.</translation>
 <translation id="2290095356545025170">Sigurado ka bang nais mong i-uninstall ang Google Chrome?</translation>
 <translation id="2309047409763057870">Pangalawang pag-install ito ng Google Chrome at hindi ito maaaring gawing iyong default na browser.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">May available na bago, mas ligtas na bersyon ng Google Chrome.</translation>
 <translation id="3127818369811890733">Hindi ma-sync ng Chrome OS ang iyong data.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
-<translation id="3351117925998652957">Pumili ng iyong Chrome Space</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Muli nang ilulunsad ang Chrome ngayon}=1{Muli nang ilulunsad ang Chrome sa loob ng 1 segundo}one{Muli nang ilulunsad ang Chrome sa loob ng # segundo}other{Muli nang ilulunsad ang Chrome sa loob ng # na segundo}}</translation>
 <translation id="3395323229510056640">Humingi ng tulong sa Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Mangyaring isara lahat ng mga window ng Google Chrome at muling subukan.</translation>
 <translation id="3865754807470779944">Na-install na ang bersyong <ph name="PRODUCT_VERSION" /> ng Chrome</translation>
 <translation id="3873044882194371212">Buksan ang link sa inco&amp;gnito window ng Chrome</translation>
-<translation id="3879568094278837081">Made-delete sa device na ito ang data sa pag-browse ng space na ito. Para ma-recover ang data, mag-sign in sa Chrome bilang</translation>
 <translation id="3889417619312448367">I-uninstall ang Google Chrome</translation>
 <translation id="4050175100176540509">May available na mahahalagang pagpapahusay sa seguridad at mga bagong feature sa pinakabagong bersyon.</translation>
 <translation id="4053720452172726777">I-customize at kontrolin ang Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Buksan ang link sa bagong &amp;tab ng Chrome</translation>
 <translation id="4953650215774548573">Itakda ang Google Chrome bilang iyong default na browser</translation>
 <translation id="495931528404527476">Sa Chrome</translation>
-<translation id="4960472897514318257">Nag-sign in ka gamit ang isang account sa trabaho. Gusto mo bang gumawa ng bagong Chrome space para kay <ph name="NEW_USER" /> para mapanatiling nakahiwalay ang iyong personal na data?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">I-restart ang Chrome OS</translation>
 <translation id="5132929315877954718">Tumuklas ng mahuhusay na app, laro, extension at tema para sa Google Chrome.</translation>
 <translation id="5170938038195470297">Hindi magagamit ang iyong profile dahil mula ito sa isang mas bagong bersyon ng Google Chrome.
 
 Maaaring hindi available ang ilang tampok. Mangyaring tumukoy ng ibang direktoryo ng profile o gumamit ng mas bagong bersyon ng Chrome.</translation>
-<translation id="5171117065011130146">Gumawa ng bagong Chrome Work space?</translation>
 <translation id="5193136243808726294">Hindi mabuksan ng Google Chrome OS ang page na ito.</translation>
 <translation id="5251420635869119124">Makakagamit ng Chrome ang mga bisita nang hindi nag-iiwan ng anumang bakas.</translation>
 <translation id="532046782124376502">Babala: Hindi mapipigilan ng Google Chrome ang pagtatala ng mga extension sa iyong history ng pag-browse. Upang i-disable ang extension na ito sa incognito mode, alisin sa pagkakapili ang opsyong ito.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Para makita kung up to date ang iyong device, pumunta sa <ph name="LINK_BEGIN" />Mga Setting ng Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Hindi na makakatanggap ng mga update sa Google Chrome ang computer na ito dahil hindi na sinusuportahan ang Mac OS X 10.9.</translation>
-<translation id="7591404275842302616">Gumamit ng mga Chrome Space para mapanatiling maayos ang iyong pag-browse sa device na ito</translation>
 <translation id="7592736734348559088">Hindi mai-sync ng Google Chrome ang iyong data dahil hindi napapanahon ang mga detalye sa pag-sign in ng iyong account.</translation>
 <translation id="7626032353295482388">Welcome sa Chrome</translation>
 <translation id="7629695634924605473">Ipinapaalam sa iyo ng Chrome kung nakompromiso ang mga password mo</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Luma na ang Chrome</translation>
 <translation id="8834965163890861871">Sinusubukan ng Google Chrome na i-edit ang mga password. I-type ang iyong password sa Windows para payagan ito.</translation>
 <translation id="884296878221830158">Kinokontrol din nito kung anong pahina ang ipinapakita kapag sinimulan mo ang Chrome o na-click ang button ng Home.</translation>
-<translation id="8859948767482842016">Nag-sign in ka gamit ang isang Account sa trabaho sa space ni <ph name="EXISTING_USER" />. Gusto mo bang gumawa ng bagong Chrome space para sa <ph name="WORK_DOMAIN" /> para mapanatiling nakahiwalay ang iyong data?</translation>
 <translation id="8862326446509486874">Wala kang naaangkop na mga karapatan para sa pag-install sa antas ng system. Subukan muling patakbuhin ang installer bilang Administrator.</translation>
-<translation id="8877586659207810298">Gumawa ng bagong Chrome space para kay <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Muling ilunsad ang Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{May available na update sa Chrome}=1{May available na update sa Chrome}one{# araw nang may available na update sa Chrome}other{# na araw nang may available na update sa Chrome}}</translation>
 <translation id="9026991721384951619">Hindi ma-sync ng Chrome OS ang iyong data dahil hindi napapanahon ang mga detalye sa pag-sign in sa iyong account.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fr-CA.xtb b/chrome/app/resources/google_chrome_strings_fr-CA.xtb
index a6bbee1..fd1adaa 100644
--- a/chrome/app/resources/google_chrome_strings_fr-CA.xtb
+++ b/chrome/app/resources/google_chrome_strings_fr-CA.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome bêta (mDNS-In)</translation>
 <translation id="1877026089748256423">Google Chrome n'est pas à jour</translation>
 <translation id="1919130412786645364">Autoriser la connexion à Google Chrome</translation>
-<translation id="195645108406520445">Configurez votre nouvel espace Chrome</translation>
 <translation id="2063848847527508675">Redémarrez Chrome OS pour appliquer la mise à jour.</translation>
 <translation id="2094919256425865063">Quitter Chrome quand même?</translation>
 <translation id="2120620239521071941">Cette action entraînera la suppression de <ph name="ITEMS_COUNT" /> éléments sur cet appareil. Pour récupérer vos données plus tard, connectez-vous à Chrome en tant que <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Aidez-nous à améliorer Google Chrome en nous signalant les <ph name="BEGIN_LINK" />paramètres actuels<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Veuillez redémarrer Chrome maintenant</translation>
 <translation id="2246246234298806438">Google Chrome ne peut pas afficher l'aperçu avant impression lorsque le visualiseur de documents PDF intégré n'est pas installé.</translation>
-<translation id="226038281051944330">Vous vous êtes connecté à l'aide d'un nouveau compte dans l'espace de <ph name="EXISTING_USER" />. Voulez-vous créer un espace Chrome pour <ph name="NEW_USER" /> afin de garder vos données distinctes?</translation>
 <translation id="2290014774651636340">Les clés d'API Google sont manquantes. Certaines fonctionnalités de Google Chrome seront désactivées.</translation>
 <translation id="2290095356545025170">Voulez-vous vraiment désinstaller Google Chrome?</translation>
 <translation id="2309047409763057870">Cette installation de Google Chrome est secondaire. Celui-ci ne peut donc pas servir de navigateur par défaut.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Une nouvelle version de Google Chrome encore plus sûre est maintenant offerte.</translation>
 <translation id="3127818369811890733">Chrome OS n'a pas pu synchroniser vos données.</translation>
 <translation id="3149510190863420837">Applications Chrome</translation>
-<translation id="3351117925998652957">Choisir votre espace Chrome</translation>
 <translation id="3360895254066713204">Aide de Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome va maintenant redémarrer}=1{Chrome redémarrera dans 1 seconde}one{Chrome redémarrera dans # seconde}other{Chrome redémarrera dans # secondes}}</translation>
 <translation id="3395323229510056640">Obtenir de l'aide pour Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Veuillez fermer toutes les fenêtres de Google Chrome et réessayer.</translation>
 <translation id="3865754807470779944">La version <ph name="PRODUCT_VERSION" /> de Chrome est installée</translation>
 <translation id="3873044882194371212">Ouvrir le lien dans une fenêtre de navi&amp;gation privée Chrome</translation>
-<translation id="3879568094278837081">Les données de navigation de cet espace seront supprimées de cet appareil. Pour les récupérer, connectez-vous à Chrome en tant que</translation>
 <translation id="3889417619312448367">Désinstaller Google Chrome</translation>
 <translation id="4050175100176540509">La dernière version propose d'importantes améliorations de la sécurité ainsi que de nouvelles fonctionnalités.</translation>
 <translation id="4053720452172726777">Personnaliser et gérer Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Ouvrir le lien dans un nouvel ongle&amp;t Chrome</translation>
 <translation id="4953650215774548573">Sélectionner Google Chrome comme navigateur par défaut</translation>
 <translation id="495931528404527476">Dans Chrome</translation>
-<translation id="4960472897514318257">Vous vous êtes connecté à l'aide d'un compte professionnel. Voulez-vous créer un espace Chrome pour <ph name="NEW_USER" /> afin de garder vos données personnelles distinctes?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Redémarrer Chrome OS</translation>
 <translation id="5132929315877954718">Découvrez des applications, des jeux, des extensions et des thèmes exceptionnels conçus pour Google Chrome.</translation>
 <translation id="5170938038195470297">Votre profil ne peut pas être utilisé parce qu'il provient d'une version plus récente de Google Chrome.
 
 Certaines fonctionnalités peuvent être inaccessibles. Veuillez spécifier un répertoire de profil différent ou utiliser une version plus récente de Google Chrome.</translation>
-<translation id="5171117065011130146">Créer un espace professionnel Chrome?</translation>
 <translation id="5193136243808726294">Google Chrome OS ne peut pas ouvrir cette page.</translation>
 <translation id="5251420635869119124">Les invités peuvent utiliser Google Chrome sans rien laisser derrière eux.</translation>
 <translation id="532046782124376502">Avertissement : Google Chrome ne peut pas empêcher les extensions d'enregistrer votre historique de navigation. Pour désactiver cette extension en mode de navigation privée, désélectionnez cette option.</translation>
@@ -221,7 +215,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Pour voir si votre appareil est à jour, sélectionnez les <ph name="LINK_BEGIN" />paramètres de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Cet ordinateur ne recevra plus de mises à jour de Google Chrome, car Mac OS X 10.9 n'est plus pris en charge.</translation>
-<translation id="7591404275842302616">Servez-vous des espaces Chrome pour organiser votre navigation sur cet appareil</translation>
 <translation id="7592736734348559088">Google Chrome n'a pas pu synchroniser vos données, car vos renseignements de connexion ne sont plus à jour.</translation>
 <translation id="7626032353295482388">Bienvenue dans Google Chrome</translation>
 <translation id="7629695634924605473">Chrome vous informera si jamais vos mots de passe sont compromis</translation>
@@ -268,9 +261,7 @@
 <translation id="8823341990149967727">Google Chrome n'est plus à jour</translation>
 <translation id="8834965163890861871">Google Chrome essaie de modifier des mots de passe. Pour autoriser cette action, entrez votre mot de passe Windows.</translation>
 <translation id="884296878221830158">Elle définit également la page qui s'affiche au démarrage de Chrome ou lorsque vous cliquez sur le bouton Accueil.</translation>
-<translation id="8859948767482842016">Vous vous êtes connecté à l'aide d'un compte professionnel dans l'espace de <ph name="EXISTING_USER" />. Voulez-vous créer un espace Chrome pour <ph name="WORK_DOMAIN" /> afin de garder vos données distinctes?</translation>
 <translation id="8862326446509486874">Vous ne disposez pas des droits requis pour faire une installation sur le système. Relancez l'installation une fois que vous serez connecté comme administrateur.</translation>
-<translation id="8877586659207810298">Créer un espace Chrome pour <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Relancer Google Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Une mise à jour de Chrome est proposée}=1{Une mise à jour de Chrome est proposée}one{Une mise à jour de Chrome est proposée depuis # jour}other{Une mise à jour de Chrome est proposée depuis # jours}}</translation>
 <translation id="9026991721384951619">Chrome OS n'a pas pu synchroniser vos données, car vos renseignements de connexion ne sont plus à jour.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fr.xtb b/chrome/app/resources/google_chrome_strings_fr.xtb
index 56d236a..abefcb3 100644
--- a/chrome/app/resources/google_chrome_strings_fr.xtb
+++ b/chrome/app/resources/google_chrome_strings_fr.xtb
@@ -40,14 +40,12 @@
 <translation id="1874309113135274312">Version bêta de Google Chrome (mDNS-In)</translation>
 <translation id="1877026089748256423">Version de Chrome obsolète</translation>
 <translation id="1919130412786645364">Autoriser la connexion à Chrome</translation>
-<translation id="195645108406520445">Configurer votre nouvel espace Chrome</translation>
 <translation id="2063848847527508675">Redémarrez Chrome OS pour appliquer la mise à jour.</translation>
 <translation id="2094919256425865063">Quitter Chrome quand même ?</translation>
 <translation id="2120620239521071941">Cette action aura pour effet de supprimer <ph name="ITEMS_COUNT" /> éléments de cet appareil. Pour récupérer vos données ultérieurement, connectez-vous à Chrome en tant que <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Aidez-nous à améliorer Chrome en nous signalant vos <ph name="BEGIN_LINK" />paramètres actuels<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Veuillez redémarrer Chrome maintenant</translation>
 <translation id="2246246234298806438">Impossible d'afficher l'aperçu d'impression dans Google Chrome, car la visionneuse de documents PDF intégrée est absente.</translation>
-<translation id="226038281051944330">Vous vous êtes connecté avec un nouveau compte dans l'espace d'un autre utilisateur (<ph name="EXISTING_USER" />). Souhaitez-vous créer un espace Chrome pour <ph name="NEW_USER" /> afin que vos données soient conservées dans un emplacement séparé ?</translation>
 <translation id="2290014774651636340">Les clés API Google sont manquantes. Certaines fonctionnalités de Google Chrome vont être désactivées.</translation>
 <translation id="2290095356545025170">Voulez-vous vraiment désinstaller Google Chrome ?</translation>
 <translation id="2309047409763057870">Ceci est une installation secondaire de Google Chrome. Vous ne pouvez pas le définir comme navigateur par défaut.</translation>
@@ -82,7 +80,6 @@
 <translation id="3089968997497233615">Une nouvelle version de Google Chrome encore plus sûre est disponible.</translation>
 <translation id="3127818369811890733">Impossible de synchroniser vos données dans Chrome OS.</translation>
 <translation id="3149510190863420837">Applications Chrome</translation>
-<translation id="3351117925998652957">Sélectionnez votre espace Chrome</translation>
 <translation id="3360895254066713204">Aide de Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome va être relancé maintenant}=1{Chrome va être relancé dans 1 seconde}one{Chrome va être relancé dans # seconde}other{Chrome va être relancé dans # secondes}}</translation>
 <translation id="3395323229510056640">Obtenir de l'aide avec Chrome OS</translation>
@@ -105,7 +102,6 @@
 <translation id="386202838227397562">Veuillez fermer toutes les fenêtres de Google Chrome et réessayer.</translation>
 <translation id="3865754807470779944">La version <ph name="PRODUCT_VERSION" /> de Chrome est installée</translation>
 <translation id="3873044882194371212">Ouvrir le lien dans la fenêtre de navi&amp;gation privée Chrome</translation>
-<translation id="3879568094278837081">Les données de navigation de cet espace vont être supprimées de cet appareil. Pour les récupérer, connectez-vous à Chrome en tant que</translation>
 <translation id="3889417619312448367">Désinstaller Google Chrome</translation>
 <translation id="4050175100176540509">La dernière version propose d'importantes améliorations de la sécurité ainsi que de nouvelles fonctionnalités.</translation>
 <translation id="4053720452172726777">Personnaliser et contrôler Google Chrome</translation>
@@ -146,14 +142,12 @@
 <translation id="4895437082222824641">Ouvrir le lien dans un nouvel ongle&amp;t Chrome</translation>
 <translation id="4953650215774548573">Définir Google Chrome en tant que navigateur par défaut</translation>
 <translation id="495931528404527476">Dans Chrome</translation>
-<translation id="4960472897514318257">Vous vous êtes connecté avec un compte professionnel. Souhaitez-vous créer un espace Chrome pour <ph name="NEW_USER" /> afin de conserver vos données à caractère personnel dans un emplacement séparé ?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Redémarrer Chrome OS</translation>
 <translation id="5132929315877954718">Découvrez des applications, des jeux, des extensions et des thèmes exceptionnels pour Google Chrome.</translation>
 <translation id="5170938038195470297">Votre profil ne peut pas être utilisé parce qu'il vient d'une version plus récente de Google Chrome. 
 
 Certaines fonctionnalités peuvent être indisponibles. Veuillez spécifier un répertoire de profil différent ou utiliser une version plus récente de Google Chrome.</translation>
-<translation id="5171117065011130146">Créer un espace professionnel Chrome ?</translation>
 <translation id="5193136243808726294">Google Chrome OS ne peut pas ouvrir cette page</translation>
 <translation id="5251420635869119124">Les invités peuvent utiliser Chrome sans laisser aucune trace.</translation>
 <translation id="532046782124376502">Avertissement : Google Chrome ne peut pas empêcher les extensions d'enregistrer votre historique de navigation. Pour désactiver cette extension en mode navigation privée, désélectionnez-la.</translation>
@@ -220,7 +214,6 @@
 <translation id="7535429826459677826">Google Chrome pour les développeurs</translation>
 <translation id="7573289029918943991">Pour savoir si votre appareil est à jour, accédez aux <ph name="LINK_BEGIN" />paramètres Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Cet ordinateur ne recevra plus les mises à jour de Google Chrome, car la compatibilité avec Mac OS X 10.9 n'est plus assurée.</translation>
-<translation id="7591404275842302616">Utilisez les espaces Chrome pour bien organiser votre navigation sur cet appareil</translation>
 <translation id="7592736734348559088">Impossible de synchroniser vos données dans Google Chrome, car les informations de connexion de votre compte ne sont plus à jour.</translation>
 <translation id="7626032353295482388">Bienvenue dans Chrome</translation>
 <translation id="7629695634924605473">Chrome vous indique si vos mots de passe ont été piratés</translation>
@@ -267,9 +260,7 @@
 <translation id="8823341990149967727">Version de Chrome obsolète</translation>
 <translation id="8834965163890861871">Google Chrome tente de modifier les mots de passe. Pour autoriser cette action, saisissez votre mot de passe Windows.</translation>
 <translation id="884296878221830158">Elle contrôle également la page qui s'affiche au démarrage de Chrome ou lorsque vous cliquez sur le bouton Accueil.</translation>
-<translation id="8859948767482842016">Vous vous êtes connecté avec un compte professionnel dans l'espace d'un autre utilisateur (<ph name="EXISTING_USER" />). Souhaitez-vous créer un espace Chrome pour <ph name="WORK_DOMAIN" /> afin que vos données soient conservées dans un emplacement séparé ?</translation>
 <translation id="8862326446509486874">Vous ne disposez pas des droits requis pour installer la version système. Relancez l'installation en vous connectant comme administrateur.</translation>
-<translation id="8877586659207810298">Créer un espace Chrome pour <ph name="NEW_USER" /> ?</translation>
 <translation id="8914504000324227558">Relancer Google Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Une mise à jour de Chrome est disponible}=1{Une mise à jour de Chrome est disponible}one{Une mise à jour de Chrome est disponible depuis # jour}other{Une mise à jour de Chrome est disponible depuis # jours}}</translation>
 <translation id="9026991721384951619">Impossible de synchroniser vos données dans Chrome OS, car les informations de connexion de votre compte ne sont plus à jour.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_gl.xtb b/chrome/app/resources/google_chrome_strings_gl.xtb
index 96fe233..b1c3718 100644
--- a/chrome/app/resources/google_chrome_strings_gl.xtb
+++ b/chrome/app/resources/google_chrome_strings_gl.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chromium está desactualizado</translation>
 <translation id="1919130412786645364">Permitir inicio de sesión en Chrome</translation>
-<translation id="195645108406520445">Configura o teu novo espazo de Chrome</translation>
 <translation id="2063848847527508675">É necesario reiniciar Chrome OS para aplicar a actualización.</translation>
 <translation id="2094919256425865063">Queres saír de Chrome de todas formas?</translation>
 <translation id="2120620239521071941">Esta acción eliminará <ph name="ITEMS_COUNT" /> elementos deste dispositivo. Para recuperar os teus datos máis tarde, inicia sesión en Chrome como <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Informa da <ph name="BEGIN_LINK" />configuración actual<ph name="END_LINK" /> para axudar a mellorar Chrome</translation>
 <translation id="2151406531797534936">Reinicia Chrome agora</translation>
 <translation id="2246246234298806438">Google Chrome non pode mostrar a vista previa de impresión se falta o visor de PDF integrado.</translation>
-<translation id="226038281051944330">Iniciaches sesión cunha conta nova no espazo de <ph name="EXISTING_USER" />. Queres crear un espazo de Chrome novo para <ph name="NEW_USER" /> co fin de manter separados os datos?</translation>
 <translation id="2290014774651636340">Non se atopan as claves da API de Google. Desactivaranse algunhas funcións de Google Chrome.</translation>
 <translation id="2290095356545025170">Estás seguro de que queres desinstalar Google Chrome?</translation>
 <translation id="2309047409763057870">Esta é unha instalación secundaria de Google Chrome e non se pode converter no teu navegador predeterminado.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Está dispoñible unha versión nova e máis segura de Google Chrome.</translation>
 <translation id="3127818369811890733">Chrome OS non puido sincronizar os teus datos.</translation>
 <translation id="3149510190863420837">Aplicacións de Chrome</translation>
-<translation id="3351117925998652957">Escolle o teu espazo de Chrome</translation>
 <translation id="3360895254066713204">Axudante de Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome reiniciarase agora}=1{Chrome reiniciarase en 1 segundo}other{Chrome reiniciarase en # segundos}}</translation>
 <translation id="3395323229510056640">Obter axuda sobre Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Pecha todas as ventás de Google Chrome e téntao de novo.</translation>
 <translation id="3865754807470779944">Tes instalada a versión <ph name="PRODUCT_VERSION" /> de Chrome</translation>
 <translation id="3873044882194371212">Abrir ligazón nunha ventá do modo de incó&amp;gnito de Chrome</translation>
-<translation id="3879568094278837081">Os datos de navegación deste espazo eliminaranse deste dispositivo. Para recuperalos, inicia sesión en Chrome como</translation>
 <translation id="3889417619312448367">Desinstalar Google Chrome</translation>
 <translation id="4050175100176540509">A última versión conta con melloras de seguranza importantes e novas funcións.</translation>
 <translation id="4053720452172726777">Personaliza e controla Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Abrir ligazón nunha nova &amp;pestana de Chrome</translation>
 <translation id="4953650215774548573">Establecer Google Chrome como navegador predeterminado</translation>
 <translation id="495931528404527476">En Chrome</translation>
-<translation id="4960472897514318257">Iniciaches sesión cunha conta do traballo. Queres crear un espazo de Chrome novo para <ph name="NEW_USER" /> co fin de manter separados os teus datos persoais?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Reinicia Chrome OS</translation>
 <translation id="5132929315877954718">Descubre aplicacións, xogos, extensións e temas fantásticos para Google Chrome.</translation>
 <translation id="5170938038195470297">Non se pode utilizar o teu perfil porque pertence a unha versión máis recente de Google Chrome.
 
 É posible que algunhas funcións non estean dispoñibles. Especifica un directorio de perfil diferente ou utiliza unha versión máis recente de Chrome.</translation>
-<translation id="5171117065011130146">Queres crear un espazo de traballo de Chrome novo?</translation>
 <translation id="5193136243808726294">Google Chrome OS non pode abrir esta páxina.</translation>
 <translation id="5251420635869119124">Os invitados poden utilizar Chrome sen perder información.</translation>
 <translation id="532046782124376502">Advertencia: Google Chrome non pode evitar que as extensións rexistren o teu historial de navegación. Para desactivar esta extensión no modo de incógnito, desactiva a caixa correspondente a esta opción.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Para ver ser o teu dispositivo está actualizado, accede á <ph name="LINK_BEGIN" />configuración de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Este ordenador deixará de recibir actualizacións de Google Chrome porque Mac OS X 10.9 deixou de ser compatible.</translation>
-<translation id="7591404275842302616">Utiliza os espazos de Chrome para navegar de xeito organizado neste dispositivo</translation>
 <translation id="7592736734348559088">Google Chrome non puido sincronizar os teus datos debido a que os detalles de inicio de sesión da túa conta están caducados.</translation>
 <translation id="7626032353295482388">Dámosche a benvida a Chrome</translation>
 <translation id="7629695634924605473">Chrome permíteche saber se os teus contrasinais están en risco nalgún momento</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome está desactualizado</translation>
 <translation id="8834965163890861871">Google Chrome está tentando editar os contrasinais. Escribe o teu contrasinal de Windows para permitir esta acción.</translation>
 <translation id="884296878221830158">Tamén controla que páxina se mostra ao iniciar Chrome ou ao facer clic no botón Inicio.</translation>
-<translation id="8859948767482842016">Iniciaches sesión cunha conta do traballo no espazo de <ph name="EXISTING_USER" />. Queres crear un espazo de Chrome novo para <ph name="WORK_DOMAIN" /> co fin de manter separados os datos?</translation>
 <translation id="8862326446509486874">Non tes os dereitos apropiados para efectuar a instalación a nivel do sistema. Tenta volver executar o instalador como administrador.</translation>
-<translation id="8877586659207810298">Queres crear un espazo de Chrome novo para <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Reiniciar Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Hai unha actualización de Chrome dispoñible}=1{Hai unha actualización de Chrome dispoñible}other{Hai unha actualización de Chrome que leva dispoñible # días}}</translation>
 <translation id="9026991721384951619">Chrome OS non puido sincronizar os teus datos debido a que a información de inicio de sesión na túa conta está caducada.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_gu.xtb b/chrome/app/resources/google_chrome_strings_gu.xtb
index 601762c..3d03d9b8e 100644
--- a/chrome/app/resources/google_chrome_strings_gu.xtb
+++ b/chrome/app/resources/google_chrome_strings_gu.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome બીટા (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome જૂનું થઈ ગયું છે</translation>
 <translation id="1919130412786645364">Chromeમાં સાઇન-ઇનની મંજૂરી આપો</translation>
-<translation id="195645108406520445">તમારી નવી Chrome Space માટે સેટઅપ કરો</translation>
 <translation id="2063848847527508675">અપડેટ લાગુ કરવા માટે Chrome OSને ફરી શરૂ કરવાની જરૂર છે.</translation>
 <translation id="2094919256425865063">છતાં પણ Chrome બંધ કરવું છે?</translation>
 <translation id="2120620239521071941">આ, <ph name="ITEMS_COUNT" /> આઇટમને આ ડિવાઇસમાંથી ડિલીટ કરશે. પછીથી તમારો ડેટા ફરીથી મેળવવા માટે, Chromeમાં <ph name="USER_EMAIL" /> તરીકે સાઇન ઇન કરો.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />વર્તમાન સેટિંગ્સ<ph name="END_LINK" />ની જાણ કરીને Chrome ને બહેતર બનાવવામાં સહાય કરો</translation>
 <translation id="2151406531797534936">કૃપા કરીને હવે Chrome ફરી શરૂ કરો</translation>
 <translation id="2246246234298806438">જ્યારે બિલ્ટ-ઇન PDF વ્યૂઅર ગૂમ હોય ત્યારે Google Chrome પ્રિન્ટ પ્રીવ્યૂ બતાવી શકતું નથી.</translation>
-<translation id="226038281051944330">તમે <ph name="EXISTING_USER" />ની સ્પેસમાં નવા એકાઉન્ટ વડે સાઇન ઇન કર્યું છે. તમારો ડેટા અલગ રાખવા માટે, શું તમે <ph name="NEW_USER" /> માટે નવી Chrome સ્પેસ બનાવવા માગો છો?</translation>
 <translation id="2290014774651636340">Google API કીઝ ખૂટે છે. Google Chrome ની કેટલીક કાર્યક્ષમતા અક્ષમ થશે.</translation>
 <translation id="2290095356545025170">શું તમને ખાતરી છે કે તમારે Google Chromeને અનઇન્સ્ટૉલ કરવું છે?</translation>
 <translation id="2309047409763057870">આ Google Chrome નું દ્વિતીય ઇન્સ્ટૉલેશન છે અને આને તમારું ડિફૉલ્ટ બ્રાઉઝર બનાવી શકાતું નથી.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Google Chromeનું નવું, સુરક્ષિત વર્ઝન ઉપલબ્ધ છે.</translation>
 <translation id="3127818369811890733">Chrome OS તમારા ડેટાને સિંક કરી શક્યું નથી.</translation>
 <translation id="3149510190863420837">Chrome ઍપ્લિકેશનો</translation>
-<translation id="3351117925998652957">તમારું Chrome Space ચૂંટો</translation>
 <translation id="3360895254066713204">Chrome સહાયક</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome હમણાં ફરીથી લૉન્ચ થશે}=1{Chrome 1 સેકન્ડમાં ફરીથી લૉન્ચ થશે}one{Chrome # સેકન્ડમાં ફરીથી લૉન્ચ થશે}other{Chrome # સેકન્ડમાં ફરીથી લૉન્ચ થશે}}</translation>
 <translation id="3395323229510056640">Chrome OS સાથે સહાય મેળવો</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">કૃપા કરીને બધી Google Chrome વિંડોઝ બંધ કરો અને ફરીથી પ્રયાસ કરો.</translation>
 <translation id="3865754807470779944">Chromeનું <ph name="PRODUCT_VERSION" /> વર્ઝન ઇન્સ્ટૉલ કરવામાં આવેલું છે</translation>
 <translation id="3873044882194371212">Chrome છુ&amp;પી વિંડોમાં લિંક ખોલો</translation>
-<translation id="3879568094278837081">આ સ્પેસનો બ્રાઉઝિંગ ડેટા આ ડિવાઇસમાંથી ડિલીટ કરવામાં આવશે. આ ડેટા પાછો મેળવવા માટે, Chromeમાં આના તરીકે સાઇન ઇન કરો</translation>
 <translation id="3889417619312448367">Google Chromeને અનઇન્સ્ટૉલ કરો</translation>
 <translation id="4050175100176540509">નવીનતમ વર્ઝનમાં મહત્ત્વપૂર્ણ સુરક્ષા સુધારણાઓ અને નવી સુવિધાઓ ઉપલબ્ધ છે.</translation>
 <translation id="4053720452172726777">Google Chrome ને કસ્ટમાઇઝ કરો અને તેનું નિયંત્રણ કરો</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">નવા Chrome &amp;ટૅબમાં લિંક ખોલો</translation>
 <translation id="4953650215774548573">Google Chrome ને તમારા ડિફોલ્ટ બ્રાઉઝર તરીકે સેટ કરો</translation>
 <translation id="495931528404527476">Chrome માં</translation>
-<translation id="4960472897514318257">તમે ઑફિસના એકાઉન્ટ વડે લૉગ ઇન કર્યું છે. તમારો વ્યક્તિગત ડેટા અલગ રાખવા માટે, શું તમે <ph name="NEW_USER" /> માટે નવી Chrome સ્પેસ બનાવવા માગો છો?</translation>
 <translation id="4990567037958725628">Google Chrome કૅનેરી</translation>
 <translation id="5062123544085870375">Chrome OS ફરી શરૂ કરો</translation>
 <translation id="5132929315877954718">Google Chrome માટે શ્રેષ્ઠ ઍપ્લિકેશનો, રમતો, એક્સટેન્શન્સ અને થીમ્સ શોધો</translation>
 <translation id="5170938038195470297">તમારી પ્રોફાઇલનો ઉપયોગ કરી શકાતો નથી કારણ કે તે Google Chromeના નવા વર્ઝન તરફથી છે.
 
 કેટલીક સુવિધાઓ ઉપલબ્ધ થઈ શકે છે. કૃપા કરીને અલગ પ્રોફાઇલ ડિરેક્ટરીનો ઉલ્લેખ કરો અથવા Chromeના નવા વર્ઝનનો ઉપયોગ કરો.</translation>
-<translation id="5171117065011130146">નવી Chrome ઑફિસ સ્પેસ બનાવીએ?</translation>
 <translation id="5193136243808726294">Google Chrome OS, આ પેજને ખોલી શકતું નથી.</translation>
 <translation id="5251420635869119124">અતિથિઓ કંઈપણ પાછળ છોડ્યાં વિના Chrome નો ઉપયોગ કરી શકે છે.</translation>
 <translation id="532046782124376502">ચેતવણી: Google Chrome તમારો બ્રાઉઝિંગ ઇતિહાસ રેકોર્ડ કરવાથી એક્સ્ટેંશનને અટકાવી શકતું નથી. છુપા મોડમાં આ એક્સ્ટેંશનને બંધ કરવા માટે, આ વિકલ્પની પસંદગીને નાપસંદ કરો.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">તમારું ડિવાઇસ અપ ટૂ ડેટ છે કે નહીં, તે જાણવા માટે <ph name="LINK_BEGIN" />Chrome OS સેટિંગ<ph name="LINK_END" /> પર જાઓ</translation>
 <translation id="7589360514048265910">આ કમ્પ્યુટર હવેથી Google Chrome અપડેટ મેળવી શકશે નહીં, કારણ કે હવેથી Mac OS X 10.9 સપોર્ટ નથી કરતી.</translation>
-<translation id="7591404275842302616">આ ડિવાઇસ પર તમારા બ્રાઉઝિંગને સુવ્યવસ્થિત રાખવા માટે Chrome Spacesનો ઉપયોગ કરો</translation>
 <translation id="7592736734348559088">સાઇન ઇન વિગતો જૂની હોવાને કારણે Google Chrome તમારા ડેટાને સિંક કરી શક્યું નથી.</translation>
 <translation id="7626032353295482388">Chrome પર આપનું સ્વાગત છે</translation>
 <translation id="7629695634924605473">Chrome વડે તમે તમારા પાસવર્ડમાં ક્યારેક ચેડાં થાય તો તેના વિશે જાણકારી મેળવી શકો છો</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome જૂનું થઈ ગયું છે</translation>
 <translation id="8834965163890861871">Google Chrome પાસવર્ડમાં ફેરફાર કરવાનો પ્રયાસ કરે છે. આની મંજૂરી આપવા માટે તમારો Windows પાસવર્ડ લખો.</translation>
 <translation id="884296878221830158">જ્યારે તમે Chrome શરૂ કરો અથવા હોમ બટન ક્લિક કરો ત્યારે કયું પૃષ્ઠ બતાવવામાં આવે તે તેનું પણ નિયંત્રણ કરે છે.</translation>
-<translation id="8859948767482842016">તમે <ph name="EXISTING_USER" />ની સ્પેસમાં ઑફિસના એકાઉન્ટ વડે સાઇન ઇન કર્યું છે. તમારો ડેટા અલગ રાખવા માટે, શું તમે <ph name="WORK_DOMAIN" /> માટે નવી Chrome સ્પેસ બનાવવા માગો છો?</translation>
 <translation id="8862326446509486874">તમારી પાસે સિસ્ટમ-સ્તરનાં ઇન્સ્ટોલ માટે ઉચિત અધિકારો નથી. એડમિન તરીકે ઇન્સ્ટૉલરને ફરીથી ચલાવવનો પ્રયાસ કરો.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" />માટે નવી Chrome સ્પેસ બનાવીએ?</translation>
 <translation id="8914504000324227558">Chrome ફરીથી લોંચ કરો</translation>
 <translation id="8999208279178790196">{0,plural, =0{એક Chrome અપડેટ ઉપલબ્ધ છે}=1{એક Chrome અપડેટ ઉપલબ્ધ છે}one{Chrome અપડેટ # દિવસ માટે ઉપલબ્ધ છે}other{Chrome અપડેટ # દિવસ માટે ઉપલબ્ધ છે}}</translation>
 <translation id="9026991721384951619">સાઇન ઇન વિગતો જૂની હોવાને કારણે Chrome OS તમારા ડેટાને સિંક કરી શક્યું નથી.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hi.xtb b/chrome/app/resources/google_chrome_strings_hi.xtb
index ed12d60..b99f0c9 100644
--- a/chrome/app/resources/google_chrome_strings_hi.xtb
+++ b/chrome/app/resources/google_chrome_strings_hi.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome बीटा (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome पुराना हो गया है</translation>
 <translation id="1919130412786645364">Chrome में साइन-इन करने दें</translation>
-<translation id="195645108406520445">Chrome पर अपनी नई प्रोफ़ाइल सेट अप करें</translation>
 <translation id="2063848847527508675">अपडेट लागू करने के लिए Chrome OS को रीस्टार्ट करने की ज़रुरत होती है.</translation>
 <translation id="2094919256425865063">फिर भी Chrome छोड़ें?</translation>
 <translation id="2120620239521071941">ऐसा करने से इस डिवाइस से <ph name="ITEMS_COUNT" /> आइटम मिट जाएंगे. बाद में अपना डेटा पाने के लिए, Chrome में <ph name="USER_EMAIL" /> के रूप में साइन इन करें.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />अभी वाली सेटिंग<ph name="END_LINK" /> की रिपोर्ट करके Chrome को बेहतर बनाने में सहायता करें</translation>
 <translation id="2151406531797534936">कृपया Chrome को अभी रीस्टार्ट करें</translation>
 <translation id="2246246234298806438">अगर Google Chrome के साथ ही आने वाला PDF व्यूअर मौजूद नहीं होगा तो, Google Chrome प्रिंट करने से पहले की झलक नहीं दिखा पाएगा.</translation>
-<translation id="226038281051944330">आपने <ph name="EXISTING_USER" /> के स्पेस में नए खाते से साइन इन किया था. क्या आप अपने डेटा को अलग रखने के लिए, <ph name="NEW_USER" /> के लिए नया Chrome स्पेस बनाना चाहते हैं?</translation>
 <translation id="2290014774651636340">Google API (एपीआई) कुंजियां मौजूद नहीं हैं. Google Chrome के कुछ फ़ंक्शन बंद कर दिए जाएंगे.</translation>
 <translation id="2290095356545025170">क्या आप वाकई Google Chrome को विस्थापित करना चाहते हैं?</translation>
 <translation id="2309047409763057870">यह Google Chrome का द्वितीयक इंस्टॉलेशन है और इसे आपका डिफ़ॉल्ट ब्राउज़र नहीं बनाया जा सकता.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Google Chrome का एक नया, सुरक्षित वर्शन उपलब्‍ध है.</translation>
 <translation id="3127818369811890733">Chrome OS आपका डेटा सिंक नहीं कर सका.</translation>
 <translation id="3149510190863420837">Chrome ऐप्स</translation>
-<translation id="3351117925998652957">Chrome की कई जगहों पर खाता बनाने वाली सुविधा में से अपने लिए चुनें</translation>
 <translation id="3360895254066713204">Chrome सहायक</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome अभी फिर से लॉन्च होगा}=1{Chrome 1 सेकंड में फिर से लॉन्च होगा}one{Chrome # सेकंड में फिर से लॉन्च होगा}other{Chrome # सेकंड में फिर से लॉन्च होगा}}</translation>
 <translation id="3395323229510056640">Chrome OS में सहायता पाएं</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">कृपया सभी Google Chrome विंडो बंद करें और फिर से प्रयास करें.</translation>
 <translation id="3865754807470779944">Chrome वर्शन <ph name="PRODUCT_VERSION" /> इंस्टॉल है</translation>
 <translation id="3873044882194371212">Chrome गु&amp;प्त विंडो में लिंक खोलें</translation>
-<translation id="3879568094278837081">इस स्पेस का ब्राउज़िंग डेटा इस डिवाइस से मिटा दिया जाएगा. डेटा वापस पाने के लिए, Chrome में इसके तौर पर साइन इन करें</translation>
 <translation id="3889417619312448367">Google Chrome को विस्थापित करें</translation>
 <translation id="4050175100176540509">महत्‍वपूर्ण सुरक्षा सुधार और नई सुविधाएं नवीनतम वर्शन में उपलब्‍ध हैं.</translation>
 <translation id="4053720452172726777">Google Chrome को पसंद के मुताबिक बनाएं और नियंत्रित करें</translation>
@@ -143,14 +139,12 @@
 <translation id="4895437082222824641">नए Chrome &amp;टैब में लिंक खोलें</translation>
 <translation id="4953650215774548573">Google Chrome को अपने डिफ़ॉल्ट ब्राउज़र के रूप में सेट करना</translation>
 <translation id="495931528404527476">Chrome में</translation>
-<translation id="4960472897514318257">आपने काम से जुड़े खाते से साइन इन किया है. क्या आप अपने निजी डेटा को अलग रखने के लिए, <ph name="NEW_USER" /> के लिए नया Chrome स्पेस बनाना चाहते हैं?</translation>
 <translation id="4990567037958725628">Google Chrome कैनरी</translation>
 <translation id="5062123544085870375">Chrome OS को रीस्टार्ट करें</translation>
 <translation id="5132929315877954718">Google Chrome के लिए बेहतरीन ऐप्स ,गेम, एक्सटेंशन और थीम खोजें.</translation>
 <translation id="5170938038195470297">आपकी प्रोफ़ाइल का उपयोग नहीं किया जा सकता क्‍योंकि यह Google Chrome के किसी नए वर्शन से है.
 
 कुछ विशेषताएं अनुपलब्‍ध हो सकती हैं. कृपया कोई भिन्‍न प्रोफ़ाइल निर्देशिका बताएं या Chrome के किसी नए वर्शन का उपयोग करें.</translation>
-<translation id="5171117065011130146">क्या आप Chrome पर काम से जुड़ा नया स्पेस बनाना चाहते हैं?</translation>
 <translation id="5193136243808726294">Google Chrome OS यह पेज नहीं खोल सकता.</translation>
 <translation id="5251420635869119124">अतिथि कोई पदचिह्न छोड़े बिना Chrome का उपयोग कर सकते हैं.</translation>
 <translation id="532046782124376502">चेतावनी: Google Chrome आपका ब्राउज़िंग इतिहास रिकॉर्ड करने से एक्‍सटेंशन को नहीं रोक सकता है. गुप्त मोड में इस एक्‍सटेंशन को बंद करने के लिए, इस विकल्‍प को चुना जाना हटाएं.</translation>
@@ -218,7 +212,6 @@
 <translation id="7535429826459677826">Google Chrome डेवलपर</translation>
 <translation id="7573289029918943991">यह देखने के लिए कि आपका डिवाइस अपडेट है या नहीं <ph name="LINK_BEGIN" />Chrome OS सेटिंग<ph name="LINK_END" /> पर जाएं</translation>
 <translation id="7589360514048265910">इस कंप्यूटर पर अब Google Chrome के अपडेट नहीं मिलेंगे क्योंकि अब इस पर Mac OS X 10.9 की सुविधा नहीं है.</translation>
-<translation id="7591404275842302616">Chrome की कई जगहों पर खाता बनाने वाली सुविधा का इस्तेमाल करके, इस डिवाइस पर अपनी ब्राउज़िंग को आसान बनाएं</translation>
 <translation id="7592736734348559088">Google Chrome आपका डेटा सिंक नहीं कर सका क्‍योंकि आपके खाते के साइन इन विवरण की समय सीमा पूरी हो चुकी है.</translation>
 <translation id="7626032353295482388">Chrome में आपका स्वागत है</translation>
 <translation id="7629695634924605473">Chrome यह बताता है कि कहीं आपके पासवर्ड का गलत इस्तेमाल तो नहीं किया गया है</translation>
@@ -265,9 +258,7 @@
 <translation id="8823341990149967727">Chrome पुराना हो गया है</translation>
 <translation id="8834965163890861871">Google Chrome, पासवर्ड में बदलाव करने की कोशिश कर रहा है. इसकी अनुमति देने के लिए Windows का पासवर्ड डालें.</translation>
 <translation id="884296878221830158">इससे यह भी नियंत्रित होता है कि जब आप Chrome शुरू करते हैं या होम बटन पर क्लिक करते हैं तब कौन सा पेज दिखाया जाए.</translation>
-<translation id="8859948767482842016">आपने <ph name="EXISTING_USER" /> के स्पेस में, काम से जुड़े खाते से साइन इन किया था. क्या आप अपने डेटा को अलग रखने के लिए, <ph name="WORK_DOMAIN" /> के लिए नया Chrome स्पेस बनाना चाहते हैं?</translation>
 <translation id="8862326446509486874">सिस्टम-स्तर स्थापना के लिए आपके पास उचित अधिकार नहीं हैं. इंस्टॉलर को व्यवस्थापक के रूप में फिर से चलाने का प्रयास करें.</translation>
-<translation id="8877586659207810298">क्या आप <ph name="NEW_USER" /> के लिए नया Chrome स्पेस बनाना चाहते हैं?</translation>
 <translation id="8914504000324227558">Chrome को फिर से लॉन्‍च करें</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome का एक अपडेट उपलब्ध है}=1{Chrome का एक अपडेट उपलब्ध है}one{Chrome का अपडेट # दिनों से उपलब्ध है}other{Chrome का अपडेट # दिनों से उपलब्ध है}}</translation>
 <translation id="9026991721384951619">Chrome OS आपका डेटा सिंक नहीं कर सका क्योंकि आपके खाता साइन इन विवरण की समय सीमा पूरी हो चुकी है.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hr.xtb b/chrome/app/resources/google_chrome_strings_hr.xtb
index 5d71c1b3..e8abfba3 100644
--- a/chrome/app/resources/google_chrome_strings_hr.xtb
+++ b/chrome/app/resources/google_chrome_strings_hr.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome je zastario</translation>
 <translation id="1919130412786645364">Dopusti prijavu u Chrome</translation>
-<translation id="195645108406520445">Postavljanje novog Chrome Spacea</translation>
 <translation id="2063848847527508675">Potrebno je ponovo pokrenuti Chrome OS kako bi se ažuriranje primijenilo.</translation>
 <translation id="2094919256425865063">Želite li ipak zatvoriti Chrome?</translation>
 <translation id="2120620239521071941">Time će se izbrisati sljedeći broj stavki s uređaja: <ph name="ITEMS_COUNT" />. Da biste kasnije dohvatili svoje podatke, prijavite se na Chrome kao <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Pomognite poboljšati Chrome tako što ćete prijaviti <ph name="BEGIN_LINK" />trenutačne postavke<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Sada ponovo pokrenite Chrome</translation>
 <translation id="2246246234298806438">Google Chrome ne može prikazati pregled ispisa ako nema ugrađeni preglednik PDF-a.</translation>
-<translation id="226038281051944330">Prijavili ste se novim računom u prostor kojim se koristi <ph name="EXISTING_USER" />. Želite li izraditi novi prostor u Chromeu kojim će se koristiti <ph name="NEW_USER" /> da bi vaši podaci ostali odvojeni?</translation>
 <translation id="2290014774651636340">Nedostaju ključevi Google API-ja. Neke funkcije Google Chromea bit će onemogućene.</translation>
 <translation id="2290095356545025170">Jeste li sigurni da želite deinstalirati Google Chrome?</translation>
 <translation id="2309047409763057870">Ovo je sekundarna instalacija Google Chromea, pa on ne može biti vaš zadani preglednik.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Dostupna je nova, sigurnija verzija preglednika Google Chrome.</translation>
 <translation id="3127818369811890733">OS Chrome nije mogao sinkronizirati vaše podatke.</translation>
 <translation id="3149510190863420837">Aplikacije sustava Chrome</translation>
-<translation id="3351117925998652957">Odaberite svoj Chrome Space</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome će se sada ponovo pokrenuti}=1{Chrome će se ponovo pokrenuti za jednu sekundu}one{Chrome će se ponovo pokrenuti za # s}few{Chrome će se ponovo pokrenuti za # s}other{Chrome će se ponovo pokrenuti za # s}}</translation>
 <translation id="3395323229510056640">Potraži pomoć za upotrebu OS-a Chrome</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Zatvorite sve Google Chrome prozore i pokušajte ponovo.</translation>
 <translation id="3865754807470779944">Instalirana je Chromeova verzija <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Otvori vezu u ano&amp;nimnom prozoru Chromea</translation>
-<translation id="3879568094278837081">Podaci o pregledavanju ovog prostora izbrisat će se s ovog uređaja. Da biste vratili te podatke, prijavite se na Chrome kao</translation>
 <translation id="3889417619312448367">Deinstaliranje preglednika Google Chrome</translation>
 <translation id="4050175100176540509">Najnovija verzija sadrži važna sigurnosna poboljšanja i nove značajke.</translation>
 <translation id="4053720452172726777">Prilagodite Google Chrome i upravljajte njime</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Otvori vezu na novoj &amp;kartici Chromea</translation>
 <translation id="4953650215774548573">Postavite Google Chrome kao svoj zadani preglednik</translation>
 <translation id="495931528404527476">U Chromeu</translation>
-<translation id="4960472897514318257">Prijavili ste se poslovnim računom. Želite li izraditi novi prostor u Chromeu kojim će se koristiti <ph name="NEW_USER" /> da bi vaši osobni podaci ostali odvojeni?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Ponovo pokrenite OS Chrome</translation>
 <translation id="5132929315877954718">Otkrijte sjajne aplikacije, igre, proširenja i teme za Google Chrome.</translation>
 <translation id="5170938038195470297">Vaš se profil ne može upotrijebiti jer pripada novijoj verziji proizvoda Google Chrome. Neke značajke možda nisu dostupne. Navedite drugi direktorij profila ili upotrijebite noviju verziju proizvoda Chrome.</translation>
-<translation id="5171117065011130146">Izraditi novi poslovni prostor u Chromeu?</translation>
 <translation id="5193136243808726294">OS Google Chrome ne može otvoriti ovu stranicu.</translation>
 <translation id="5251420635869119124">Gosti mogu upotrebljavati Chrome bez ostavljanja tragova o upotrebi.</translation>
 <translation id="532046782124376502">Upozorenje: Google Chrome ne može spriječiti proširenja u evidentiranju vaše povijesti pregledavanja. Da biste onemogućili proširenje u anonimnom načinu, isključite ovu opciju.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Ažurnost uređaja možete provjeriti u <ph name="LINK_BEGIN" />postavkama OS-a Chrome<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Ovo računalo više neće primati ažuriranja Google Chromea jer Mac OS X 10.9 više nije podržan.</translation>
-<translation id="7591404275842302616">Koristite Chrome Spaces za organiziranje pregledavanja na ovom uređaju</translation>
 <translation id="7592736734348559088">Google Chrome nije mogao sinkronizirati vaše podatke jer su vaši podaci za prijavu na račun zastarjeli.</translation>
 <translation id="7626032353295482388">Dobro došli u Chrome</translation>
 <translation id="7629695634924605473">Chrome će vas obavijestiti ako vaše zaporke budu ugrožene</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome je zastario</translation>
 <translation id="8834965163890861871">Google Chrome pokušava urediti zaporke. Upišite svoju zaporku za Windows da biste to dopustili.</translation>
 <translation id="884296878221830158">Upravlja i time koja se stranica prikazuje prilikom pokretanja Chromea ili kada se klikne gumb Početna.</translation>
-<translation id="8859948767482842016">Prijavili ste se poslovnim računom u prostor kojim se koristi <ph name="EXISTING_USER" />. Želite li izraditi novi prostor u Chromeu za <ph name="WORK_DOMAIN" /> da bi vaši podaci ostali odvojeni?</translation>
 <translation id="8862326446509486874">Nemate odgovarajuća prava za instaliranje na razini sustava. Pokušajte ponovno pokrenuti program za instalaciju kao administrator.</translation>
-<translation id="8877586659207810298">Izraditi novi prostor u Chromeu kojim će se koristiti <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Ponovo pokrenite Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Dostupno je ažuriranje Chromea}=1{Dostupno je ažuriranje Chromea}one{Ažuriranje Chromea dostupno je # dana}few{Ažuriranje Chromea dostupno je # dana}other{Ažuriranje Chromea dostupno je # dana}}</translation>
 <translation id="9026991721384951619">OS Chrome nije mogao sinkronizirati vaše podatke jer su vaši podaci za prijavu na račun zastarjeli.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hu.xtb b/chrome/app/resources/google_chrome_strings_hu.xtb
index 711009f..67cdaa0 100644
--- a/chrome/app/resources/google_chrome_strings_hu.xtb
+++ b/chrome/app/resources/google_chrome_strings_hu.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Béta (mDNS-In)</translation>
 <translation id="1877026089748256423">A Chrome elavult</translation>
 <translation id="1919130412786645364">Chrome-bejelentkezés engedélyezése</translation>
-<translation id="195645108406520445">Új Chrome Space-profil beállítása</translation>
 <translation id="2063848847527508675">A frissítés alkalmazásához újra kell indítani a Chrome OS-t.</translation>
 <translation id="2094919256425865063">Biztosan kilép a Chrome-ból?</translation>
 <translation id="2120620239521071941">Ezzel <ph name="ITEMS_COUNT" /> elemet töröl az eszközről. Az adatok későbbi lekéréséhez jelentkezzen be a Chrome-ba a következő e-mail-címmel: <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Segítsen a Chrome fejlesztésében a <ph name="BEGIN_LINK" />jelenlegi beállítások<ph name="END_LINK" /> elküldésével</translation>
 <translation id="2151406531797534936">Indítsa újra most a Chrome-ot</translation>
 <translation id="2246246234298806438">A Google Chrome nem tudja megjeleníteni a nyomtatási előnézetet, ha nincs beépített PDF-megjelenítő.</translation>
-<translation id="226038281051944330">Új fiókkal jelentkezett be <ph name="EXISTING_USER" /> Space-profiljába. Szeretne új Chrome Space-profilt létrehozni <ph name="NEW_USER" /> felhasználóhoz, hogy adatait elkülönítve tárolhassa?</translation>
 <translation id="2290014774651636340">Hiányoznak Google API-kulcsok. A Google Chrome egyes funkciói kikapcsolnak.</translation>
 <translation id="2290095356545025170">Biztos benne, hogy eltávolítja a Google Chrome-ot?</translation>
 <translation id="2309047409763057870">Ez a Google Chrome második telepítése, amelyet nem állíthat be az alapértelmezett böngészővé.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Elérhető a Google Chrome új, biztonságosabb verziója.</translation>
 <translation id="3127818369811890733">A Chrome OS nem tudta szinkronizálni az adatait.</translation>
 <translation id="3149510190863420837">Chrome-alkalmazások</translation>
-<translation id="3351117925998652957">Chrome Space-profil kiválasztása</translation>
 <translation id="3360895254066713204">Chrome segéd</translation>
 <translation id="3379938682270551431">{0,plural, =0{A Chrome most újraindul}=1{A Chrome 1 másodpercen belül újraindul}other{A Chrome # másodpercen belül újraindul}}</translation>
 <translation id="3395323229510056640">Segítség a Chrome OS használatával kapcsolatban</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Zárjon be minden Google Chrome-ablakot, és próbálkozzon újra.</translation>
 <translation id="3865754807470779944">A Chrome <ph name="PRODUCT_VERSION" /> verziója telepítve van</translation>
 <translation id="3873044882194371212">Link megnyitása Chrome-inko&amp;gnitóablakban</translation>
-<translation id="3879568094278837081">Az ehhez a profilhoz tartozó böngészési adatok törlődnek majd erről az eszközről. Az adatok visszaállításához jelentkezzen be a Chrome-ba a következő felhasználóként:</translation>
 <translation id="3889417619312448367">A Google Chrome eltávolítása</translation>
 <translation id="4050175100176540509">A legújabb verzióban fontos biztonsági fejlesztések és új funkciók érhetők el.</translation>
 <translation id="4053720452172726777">A Google Chrome személyre szabása és beállításai</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Link megnyi&amp;tása új Chrome-lapon</translation>
 <translation id="4953650215774548573">A Google Chrome beállítása alapértelmezett böngészőként</translation>
 <translation id="495931528404527476">A Chrome-ban</translation>
-<translation id="4960472897514318257">Ön munkahelyi fiókkal jelentkezett be. Szeretne új Chrome Space-profilt létrehozni <ph name="NEW_USER" /> felhaszálóhoz, hogy személyes adatait elkülönítve tárolhassa?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">A Chrome OS újraindítása</translation>
 <translation id="5132929315877954718">Fedezzen fel nagyszerű alkalmazásokat, játékokat, bővítményeket és témákat a Google Chrome-hoz.</translation>
 <translation id="5170938038195470297">A profilja nem használható, mivel a Google Chrome egy újabb verziójából származik. Előfordulhat, hogy egyes funkciók nem érhetők el. Kérjük, adjon meg egy másik profilmappát, vagy használja a Google Chrome újabb verzióját.</translation>
-<translation id="5171117065011130146">Új munkahelyi Chrome Space-profilt szeretne létrehozni?</translation>
 <translation id="5193136243808726294">A Google Chrome OS nem tudja megnyitni ezt az oldalt.</translation>
 <translation id="5251420635869119124">A vendégek úgy használhatják a Chrome-ot, hogy nem hagynak hátra semmit.</translation>
 <translation id="532046782124376502">Figyelmeztetés: A Google Chrome nem tudja megakadályozni, hogy a bővítmények rögzítsék a böngészési előzményeket. A bővítmény inkognitó módban való használatának letiltásához törölje e lehetőség bejelölését.</translation>
@@ -213,7 +207,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Ha szeretné megtekinteni, hogy eszköze naprakész-e, lépjen a <ph name="LINK_BEGIN" />Chrome OS beállításaihoz<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Mivel a jelenlegi Mac OS X 10.9 rendszer támogatása megszűnik, ez a számítógép a továbbiakban nem kap Google Chrome-frissítéseket.</translation>
-<translation id="7591404275842302616">A Chrome Space-profilok segítségével rendszerezheti böngészési tevékenységeit ezen az eszközön</translation>
 <translation id="7592736734348559088">A Google Chrome nem tudta szinkronizálni az adatokat, mert a fiók bejelentkezési adatai elavultak.</translation>
 <translation id="7626032353295482388">A Chrome üdvözli Önt!</translation>
 <translation id="7629695634924605473">A Chrome tájékoztatja arról, ha jelszavai illetéktelen kezekbe kerülnek</translation>
@@ -260,9 +253,7 @@
 <translation id="8823341990149967727">A Chrome elavult</translation>
 <translation id="8834965163890861871">A Google Chrome szerkeszteni próbálja a jelszavakat. Az engedélyezéshez adja meg Windows-jelszavát.</translation>
 <translation id="884296878221830158">Továbbá azt is szabályozza, hogy melyik oldal jelenik meg a Chrome indításakor vagy a Kezdőlap gombra történő kattintáskor.</translation>
-<translation id="8859948767482842016">Ön munkahelyi fiókkal jelentkezett be <ph name="EXISTING_USER" /> Space-profiljába. Szeretne új Chrome Space-profilt létrehozni a(z) <ph name="WORK_DOMAIN" /> domainhez, hogy adatait elkülönítve tárolhassa?</translation>
 <translation id="8862326446509486874">Nincsenek meg a megfelelő jogai a rendszerszintű telepítéshez. Indítsa újra a telepítőt rendszergazdaként.</translation>
-<translation id="8877586659207810298">Létrehoz új Chrome Space-profilt <ph name="NEW_USER" /> számára?</translation>
 <translation id="8914504000324227558">A Chrome újraindítása</translation>
 <translation id="8999208279178790196">{0,plural, =0{Rendelkezésre áll egy Chrome-frissítés}=1{Rendelkezésre áll egy Chrome-frissítés}other{# napja rendelkezésre áll egy Chrome-frissítés}}</translation>
 <translation id="9026991721384951619">A Chrome OS nem tudta szinkronizálni az adatokat, mert a fiók bejelentkezési adatai elavultak.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hy.xtb b/chrome/app/resources/google_chrome_strings_hy.xtb
index 9eaa92b..949b70a 100644
--- a/chrome/app/resources/google_chrome_strings_hy.xtb
+++ b/chrome/app/resources/google_chrome_strings_hy.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome Բետա (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome-ը հնացած է</translation>
 <translation id="1919130412786645364">Թույլատրել մուտքը Chrome-ում</translation>
-<translation id="195645108406520445">Կարգավորեք ձեր նոր տարածքը Chrome-ում</translation>
 <translation id="2063848847527508675">Թարմացումը կիրառելու համար հարկավոր է վերագործարկել Chrome OS-ը:</translation>
 <translation id="2094919256425865063">Փակե՞լ Chrome-ը։</translation>
 <translation id="2120620239521071941"><ph name="ITEMS_COUNT" /> տարր ձեր սարքից կջնջվի: Հետագայում ձեր տվյալներն առբերելու համար մուտք գործեք Chrome <ph name="USER_EMAIL" /> հաշվով:</translation>
 <translation id="2123055963409958220">Օգնեք կատարելագործել Chrome-ը՝ հաղորդելով <ph name="BEGIN_LINK" />ընթացիկ կարգավորումների<ph name="END_LINK" /> մասին</translation>
 <translation id="2151406531797534936">Վերագործարկեք Chrome-ը</translation>
 <translation id="2246246234298806438">Google Chrome-ը չի կարող ցույց տալ տպման նախադիտումը` առանց ներկառուցված PDF դիտակի:</translation>
-<translation id="226038281051944330">Դուք <ph name="EXISTING_USER" />-ի տարածքում մուտք եք գործել նոր հաշվով։ Ուզո՞ւմ եք ստեղծել Chrome-ի նոր տարածք <ph name="NEW_USER" />-ի համար, որպեսզի ձեր տվյալներն առանձին պահվեն։</translation>
 <translation id="2290014774651636340">Google API-ի բանալիները չկան: Google Chrome-ի որոշ գործառույթներ կանջատվեն:</translation>
 <translation id="2290095356545025170">Իսկապե՞ս հեռացնել Google Chrome-ը:</translation>
 <translation id="2309047409763057870">Սա Google Chrome-ի երկրորդային տեղադրումն է: Այն չի կարող դառնալ ձեր կանխադրված դիտարկիչը:</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">Մատչելի է Google Chrome-ի նոր, ավելի ապահով տարբերակը:</translation>
 <translation id="3127818369811890733">Chrome OS-ը չկարողացավ համաժամացնել ձեր տվյալները։</translation>
 <translation id="3149510190863420837">Chrome-ի հավելվածներ</translation>
-<translation id="3351117925998652957">Ընտրեք ձեր տարածքը Chrome-ում</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome-ը հիմա կվերագործարկվի}=1{Chrome-ը կվերագործարկվի 1 վայրկյանից}one{Chrome-ը կվերագործարկվի # վայրկյանից}other{Chrome-ը կվերագործարկվի # վայրկյանից}}</translation>
 <translation id="3395323229510056640">Chrome OS-ի օգնության էջ</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">Փակեք Google Chrome-ի բոլոր պատուհանները և նորից փորձեք:</translation>
 <translation id="3865754807470779944">Տեղադրված է Chrome-ի <ph name="PRODUCT_VERSION" /> տարբերակը</translation>
 <translation id="3873044882194371212">Բացել հղումը Chrome-ի ինկ&amp;ոգնիտո պատուհանում</translation>
-<translation id="3879568094278837081">Այս տարածքի այցելությունների պատմությունը կջնջվի սարքից։ Տվյալները վերականգնելու համար Chrome-ում մտեք հետևյալ հաշիվ՝</translation>
 <translation id="3889417619312448367">Ապատեղադրել Google Chrome-ը</translation>
 <translation id="4050175100176540509">Վերջին տարբերակում առկա են անվտանգության կարևոր բարելավումներ և նոր գործառույթներ:</translation>
 <translation id="4053720452172726777">Հարմարեցնել և վերահսկել Google Chrome-ը</translation>
@@ -145,14 +141,12 @@
 <translation id="4895437082222824641">Բացել հղումը Chrome-ի նոր &amp;ներդիրում</translation>
 <translation id="4953650215774548573">Դարձնել Google Chrome-ը կանխադրված դիտարկիչը</translation>
 <translation id="495931528404527476">Chrome-ում</translation>
-<translation id="4960472897514318257">Դուք մուտք եք գործել աշխատանքային հաշվով։ Ուզո՞ւմ եք ստեղծել Chrome-ի նոր տարածք <ph name="NEW_USER" />-ի համար, որպեսզի ձեր անձնական տվյալներն առանձին պահվեն։</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS-ի վերագործարկում</translation>
 <translation id="5132929315877954718">Հավելվածների, խաղերի, ընդլայնումների և թեմաների լայն ընտրանի Google Chrome-ի համար:</translation>
 <translation id="5170938038195470297">Դուք չեք կարող օգտագործել ձեր պրոֆիլը, քանի որ այն Google Chrome-ի նոր տարբերակով է:
 
 Որոշ գործառույթներ մատչելի չեն լինի: Նշեք պրոֆիլի այլ գրացուցակ կամ օգտագործեք Chrome-ի նոր տարբերակը:</translation>
-<translation id="5171117065011130146">Ստեղծե՞լ Chrome-ի նոր աշխատանքային տարածք</translation>
 <translation id="5193136243808726294">Google Chrome OS-ը չի կարող բացել այս էջը:</translation>
 <translation id="5251420635869119124">Հյուրերը կարող են օգտագործել Chrome-ն առանց հետքեր թողնելու:</translation>
 <translation id="532046782124376502">Ուշադրություն. Google Chrome-ը չի կարող արգելել ընդլայնումներին գրառել ձեր այցելությունների պատմությունը: Այս ընդլայնումն ինկոգնիտո ռեժիմում անջատելու համար չեղարկեք կարգավորման ընտրությունը:</translation>
@@ -220,7 +214,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Սարքի ծրագրակազմի տարբերակը տեսնելու համար անցեք <ph name="LINK_BEGIN" />Chrome OS-ի կարգավորումներ<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Այս համակարգիչն այլևս չի ստանա Google Chrome-ի թարմացումները, քանի որ Mac OS X 10.9 համակարգն այլևս չի աջակցվում:</translation>
-<translation id="7591404275842302616">Օգտագործեք Chrome Spaces-ը, որպեսզի ձեր աշխատանքը համացանցում այս սարքից ավելի կազմակերպված լինի</translation>
 <translation id="7592736734348559088">Google Chrome-ը չկարողացավ համաժամացնել ձեր տվյալները, քանի որ ձեր հաշվի մուտքի տվյալները հնացած են:</translation>
 <translation id="7626032353295482388">Բարի գալուստ Chrome</translation>
 <translation id="7629695634924605473">Chrome-ը ձեզ տեղյակ կպահի, եթե ձեր գաղտնաբառերի անվտագությանը սպառնալիք լինի</translation>
@@ -267,9 +260,7 @@
 <translation id="8823341990149967727">Chrome-ը հնացած է</translation>
 <translation id="8834965163890861871">Google Chrome-ը փորձում է փոխել գաղտնաբառերը: Թույլատրելու համար մուտքագրեք Windows-ի ձեր գաղտնաբառը:</translation>
 <translation id="884296878221830158">Այն նաև վերահսկում է էջերի ցուցադրումը Chrome-ը մեկնարկելիս կամ Սկիզբ կոճակը սեղմելիս:</translation>
-<translation id="8859948767482842016">Դուք <ph name="EXISTING_USER" />-ի տարածքում մուտք եք գործել աշխատանքային հաշվով։ Ուզո՞ւմ եք ստեղծել Chrome-ի նոր տարածք <ph name="WORK_DOMAIN" /> տիրույթի համար, որպեսզի ձեր տվյալներն առանձին պահվեն։</translation>
 <translation id="8862326446509486874">Դուք չունեք համապատասխան իրավունքներ՝ համակարգի մակարդակով տեղադրում կատարելու համար: Փորձեք տեղադրումը կատարել որպես Ադմինիստրատոր:</translation>
-<translation id="8877586659207810298">Ստեղծե՞լ Chrome-ի նոր տարածք <ph name="NEW_USER" />-ի համար</translation>
 <translation id="8914504000324227558">Chrome-ի վերագործարկում</translation>
 <translation id="8999208279178790196">{0,plural, =0{Հասանելի է Chrome-ի նոր տարբերակը}=1{Հասանելի է Chrome-ի նոր տարբերակը}one{Chrome-ի նոր տարբերակը # օր է հասանելի է}other{Chrome-ի նոր տարբերակը # օր է հասանելի է}}</translation>
 <translation id="9026991721384951619">Chrome OS-ը չկարողացավ համաժամացնել տվյալները, քանի որ ձեր հաշիվ մուտք գործելու տվյալները հնացած են:</translation>
diff --git a/chrome/app/resources/google_chrome_strings_id.xtb b/chrome/app/resources/google_chrome_strings_id.xtb
index ae03895..822cd94 100644
--- a/chrome/app/resources/google_chrome_strings_id.xtb
+++ b/chrome/app/resources/google_chrome_strings_id.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome terlalu lawas</translation>
 <translation id="1919130412786645364">Izinkan login Chrome</translation>
-<translation id="195645108406520445">Siapkan Chrome Space baru Anda</translation>
 <translation id="2063848847527508675">Chrome OS harus dimulai ulang untuk menerapkan pembaruan.</translation>
 <translation id="2094919256425865063">Tetap tutup Chrome?</translation>
 <translation id="2120620239521071941">Tindakan ini akan menghapus <ph name="ITEMS_COUNT" /> item dari perangkat ini. Untuk mengambil data nanti, login ke Chrome sebagai <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Bantu Chrome jadi lebih baik dengan melaporkan <ph name="BEGIN_LINK" />setelan saat ini<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Mulai ulang Chrome sekarang</translation>
 <translation id="2246246234298806438">Google Chrome tidak dapat menampilkan pratinjau cetak jika penampil PDF default hilang.</translation>
-<translation id="226038281051944330">Anda login dengan akun baru di space <ph name="EXISTING_USER" />. Ingin membuat space Chrome baru untuk <ph name="NEW_USER" /> agar data Anda tetap terpisah?</translation>
 <translation id="2290014774651636340">Kunci API Google tidak ada. Beberapa fungsi Google Chrome tidak akan berfungsi.</translation>
 <translation id="2290095356545025170">Apakah Anda yakin ingin mencopot penginstalan Google Chrome?</translation>
 <translation id="2309047409763057870">Ini adalah pemasangan Google Chrome sekunder, dan tidak dapat digunakan sebagai browser default.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Tersedia versi Google Chrome yang baru dan lebih aman.</translation>
 <translation id="3127818369811890733">Chrome OS tidak dapat menyinkronkan data Anda.</translation>
 <translation id="3149510190863420837">Aplikasi Chrome</translation>
-<translation id="3351117925998652957">Pilih Chrome Space Anda</translation>
 <translation id="3360895254066713204">Pembantu Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome akan diluncurkan ulang sekarang}=1{Chrome akan diluncurkan ulang dalam 1 detik}other{Chrome akan diluncurkan ulang dalam # detik}}</translation>
 <translation id="3395323229510056640">Dapatkan bantuan Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Tutup semua jendela Google Chrome, lalu coba lagi.</translation>
 <translation id="3865754807470779944">Chrome versi <ph name="PRODUCT_VERSION" /> sudah terinstal</translation>
 <translation id="3873044882194371212">Buka link di jendela sa&amp;maran Chrome</translation>
-<translation id="3879568094278837081">Data penjelajahan space ini akan dihapus dari perangkat ini. Untuk memulihkan data, login ke Chrome sebagai</translation>
 <translation id="3889417619312448367">Hapus Penginstalan Google Chrome</translation>
 <translation id="4050175100176540509">Peningkatan keamanan dan fitur baru yang penting tersedia di versi terbaru.</translation>
 <translation id="4053720452172726777">Sesuaikan dan kontrol Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Buka link di &amp;tab Chrome baru</translation>
 <translation id="4953650215774548573">Setel Google Chrome sebagai browser default Anda</translation>
 <translation id="495931528404527476">Di Chrome</translation>
-<translation id="4960472897514318257">Anda login dengan akun kerja. Ingin membuat space Chrome baru untuk <ph name="NEW_USER" /> agar data pribadi Anda tetap terpisah?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Mulai ulang Chrome OS</translation>
 <translation id="5132929315877954718">Temukan aplikasi, game, ekstensi, dan tema yang hebat untuk Google Chrome.</translation>
 <translation id="5170938038195470297">Profil Anda tidak dapat digunakan karena berasal dari versi terbaru Google Chrome. Beberapa fitur mungkin tidak tersedia. Tentukan direktori profil yang berbeda atau gunakan versi Chrome yang lebih anyar.</translation>
-<translation id="5171117065011130146">Buat space Chrome Work baru?</translation>
 <translation id="5193136243808726294">Google Chrome OS tidak dapat membuka halaman ini.</translation>
 <translation id="5251420635869119124">Tamu dapat menggunakan Chrome tanpa meninggalkan apa pun.</translation>
 <translation id="532046782124376502">Peringatan: Google Chrome tidak dapat mencegah ekstensi merekam histori browsing Anda. Untuk menonaktifkan ekstensi ini dalam mode samaran, batalkan memilih opsi ini.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Untuk melihat apakah versi pada perangkat Anda adalah yang terbaru, buka <ph name="LINK_BEGIN" />Setelan Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Komputer ini tidak akan menerima update Google Chrome lagi karena Mac OS X 10.9 sudah tidak didukung.</translation>
-<translation id="7591404275842302616">Gunakan Chrome Space agar penjelajahan Anda tetap terkelola di perangkat ini</translation>
 <translation id="7592736734348559088">Google Chrome tidak dapat menyinkronkan data karena detail ID masuk akun Anda belum diperbarui.</translation>
 <translation id="7626032353295482388">Selamat Datang di Chrome</translation>
 <translation id="7629695634924605473">Chrome akan memberi tahu jika sandi Anda disusupi</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome Terlalu Lawas</translation>
 <translation id="8834965163890861871">Google Chrome mencoba mengedit sandi. Ketik sandi Windows Anda untuk mengizinkannya.</translation>
 <translation id="884296878221830158">Juga mengontrol halaman apa yang ditampilkan saat Anda memulai Chrome atau mengeklik tombol Beranda.</translation>
-<translation id="8859948767482842016">Anda login dengan Akun kerja di space <ph name="EXISTING_USER" />. Ingin membuat space Chrome baru untuk <ph name="WORK_DOMAIN" /> agar data Anda tetap terpisah?</translation>
 <translation id="8862326446509486874">Anda tidak memiliki hak yang diperlukan untuk pemasangan tingkat sistem. Coba jalankan lagi pemasang saat login sebagai Administrator.</translation>
-<translation id="8877586659207810298">Buat space Chrome baru untuk <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Luncurkan Ulang Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Update Chrome tersedia}=1{Update Chrome tersedia}other{Update Chrome telah tersedia selama # hari}}</translation>
 <translation id="9026991721384951619">Chrome OS tidak dapat menyinkronkan data karena detail ID masuk akun Anda belum diperbarui.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_is.xtb b/chrome/app/resources/google_chrome_strings_is.xtb
index 2b30574..cf5e128 100644
--- a/chrome/app/resources/google_chrome_strings_is.xtb
+++ b/chrome/app/resources/google_chrome_strings_is.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-inn)</translation>
 <translation id="1877026089748256423">Chrome er úrelt</translation>
 <translation id="1919130412786645364">Leyfa innskráningu í Chrome</translation>
-<translation id="195645108406520445">Setja upp nýja Chrome svæðið þitt</translation>
 <translation id="2063848847527508675">Endurræsa þarf Chrome OS til að nota uppfærsluna.</translation>
 <translation id="2094919256425865063">Viltu samt loka Chrome?</translation>
 <translation id="2120620239521071941">Þetta mun eyða <ph name="ITEMS_COUNT" /> atriðum úr þessu tæki. Skráðu þig inn í Chrome sem <ph name="USER_EMAIL" /> til að endurheimta gögnin síðar.</translation>
 <translation id="2123055963409958220">Hjálpa til við að gera Google Chrome betra með því að tilkynna um <ph name="BEGIN_LINK" />núverandi stillingar<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Endurræstu Chrome núna</translation>
 <translation id="2246246234298806438">Google Chrome getur ekki birt prentforskoðun ef innbyggðan PDF-skoðara vantar.</translation>
-<translation id="226038281051944330">Þú skráðir þig inn með nýjum reikningi á svæði sem <ph name="EXISTING_USER" /> á. Viltu búa til nýtt Chrome svæði sem <ph name="NEW_USER" /> getur notað til að halda gögnunum þínum aðskildum?</translation>
 <translation id="2290014774651636340">Lykla fyrir forritaskil Google vantar. Vissir eiginleikar Google Chrome verða óvirkir.</translation>
 <translation id="2290095356545025170">Ertu viss um að þú viljir fjarlægja Google Chrome?</translation>
 <translation id="2309047409763057870">Þetta er aukaleg uppsetning á Google Chrome sem ekki er hægt að gera að sjálfgefnum vafra.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Ný og öruggari útgáfa af Google Chrome er í boði.</translation>
 <translation id="3127818369811890733">Chrome OS gat ekki samstillt gögnin þín.</translation>
 <translation id="3149510190863420837">Chrome forrit</translation>
-<translation id="3351117925998652957">Veldu Chrome svæðið þitt</translation>
 <translation id="3360895254066713204">Chrome hjálpari</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome verður endurræst núna}=1{Chrome verður endurræst eftir 1 sekúndu}one{Chrome verður endurræst eftir # sekúndu}other{Chrome verður endurræst eftir # sekúndur}}</translation>
 <translation id="3395323229510056640">Fá hjálp með Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Lokaðu öllum Google Chrome gluggum og reyndu aftur.</translation>
 <translation id="3865754807470779944">Chrome útgáfa <ph name="PRODUCT_VERSION" /> er uppsett</translation>
 <translation id="3873044882194371212">Opna tengil í h&amp;uliðsglugga í Chrome</translation>
-<translation id="3879568094278837081">Vefskoðunargögnum þessa svæðis verður eytt úr tækinu. Til að endurheimta gögn skaltu skrá þig inn í Chrome sem</translation>
 <translation id="3889417619312448367">Fjarlægja Google Chrome</translation>
 <translation id="4050175100176540509">Mikilvægar öryggislagfæringar og nýir eiginleikar eru í boði í nýjustu útgáfunni.</translation>
 <translation id="4053720452172726777">Sérsníða og stjórna Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Opna tengil í nýjum Chrome &amp;flipa</translation>
 <translation id="4953650215774548573">Stilla Google Chrome sem sjálfgefinn vafra</translation>
 <translation id="495931528404527476">Í Chrome</translation>
-<translation id="4960472897514318257">Þú skráðir þig inn með vinnureikningi. Viltu búa til nýtt Chrome svæði sem <ph name="NEW_USER" /> getur notað til að halda persónulegu gögnunum þínum aðskildum?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Endurræstu Chrome OS</translation>
 <translation id="5132929315877954718">Uppgötvaðu frábær forrit, leiki, viðbætur og þemu fyrir Google Chrome</translation>
 <translation id="5170938038195470297">Ekki er hægt að nota prófílinn þinn því að hann er úr nýrri útgáfu Google Chrome.
 
 Sumir eiginleikar kunna að vera óaðgengilegir. Tilgreindu aðra prófílmöppu eða notaðu nýrri útgáfu af Chrome.</translation>
-<translation id="5171117065011130146">Viltu búa til nýtt Chrome vinnusvæði?</translation>
 <translation id="5193136243808726294">Stýrikerfi Google Chrome getur ekki opnað þessa síðu.</translation>
 <translation id="5251420635869119124">Gestir geta notað Chrome án þess að skilja eftir sig nokkur spor.</translation>
 <translation id="532046782124376502">Viðvörun: Google Chrome getur ekki komið í veg fyrir að viðbætur skrái vafraferilinn þinn. Taktu valið af þessum valkosti til að gera þessa viðbót óvirka í huliðsstillingu.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Opnaðu <ph name="LINK_BEGIN" />stillingar Chrome OS<ph name="LINK_END" /> til að sjá hvort tækið sé uppfært</translation>
 <translation id="7589360514048265910">Þessi tölva fær ekki fleiri uppfærslur á Google Chrome vegna þess að Mac OS X 10.9 er ekki lengur stutt.</translation>
-<translation id="7591404275842302616">Notaðu Chrome svæði til að halda skipulagi á vefskoðun þinni í þessu tæki</translation>
 <translation id="7592736734348559088">Google Chrome gat ekki samstillt gögnin þín vegna þess að innskráningarupplýsingar reikningsins eru úreltar.</translation>
 <translation id="7626032353295482388">Velkomin(n) í Chrome</translation>
 <translation id="7629695634924605473">Chrome lætur þig vita ef aðgangsorðin þín eru einhvern tímann í hættu</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome er úrelt</translation>
 <translation id="8834965163890861871">Google Chrome er að reyna að breyta aðgangsorðum. Sláðu inn Windows-aðgangsorðið þitt til að leyfa það.</translation>
 <translation id="884296878221830158">Hún stýrir því einnig hvaða síða birtist þegar þú ræsir Chrome eða smellir á heimahnappinn.</translation>
-<translation id="8859948767482842016">Þú skráðir þig inn með vinnureikningi á svæði sem <ph name="EXISTING_USER" /> á. Viltu búa til nýtt Chrome svæði fyrir <ph name="WORK_DOMAIN" /> til að halda gögnunum þínum aðskildum?</translation>
 <translation id="8862326446509486874">Þú hefur ekki tilskilin réttindi til uppsetningar fyrir kerfið allt. Prófaðu að keyra uppsetningarforritið aftur sem stjórnandi.</translation>
-<translation id="8877586659207810298">Viltu búa til nýtt Chrome svæði fyrir <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Endurræsa Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Uppfærsla er í boði fyrir Chrome}=1{Uppfærsla er í boði fyrir Chrome}one{Uppfærsla hefur verið í boði fyrir Chrome í # dag}other{Uppfærsla hefur verið í boði fyrir Chrome í # daga}}</translation>
 <translation id="9026991721384951619">Chrome OS gat ekki samstillt gögnin þín vegna þess að innskráningarupplýsingar reikningsins eru úreltar.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_it.xtb b/chrome/app/resources/google_chrome_strings_it.xtb
index 88ce8ff..1eeb7d4 100644
--- a/chrome/app/resources/google_chrome_strings_it.xtb
+++ b/chrome/app/resources/google_chrome_strings_it.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome non è aggiornato</translation>
 <translation id="1919130412786645364">Consenti l'accesso a Chrome</translation>
-<translation id="195645108406520445">Configura il tuo nuovo Spazio Chrome</translation>
 <translation id="2063848847527508675">Per applicare l'aggiornamento è necessario riavviare Chrome OS.</translation>
 <translation id="2094919256425865063">Vuoi chiudere comunque Chrome?</translation>
 <translation id="2120620239521071941">Verranno eliminati <ph name="ITEMS_COUNT" /> elementi da questo dispositivo. Per recuperare i dati in un secondo momento, accedi a Chrome come <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Contribuisci a migliorare Chrome indicando le <ph name="BEGIN_LINK" />impostazioni attuali<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Riavvia subito Chrome</translation>
 <translation id="2246246234298806438">Impossibile visualizzare l'anteprima di stampa in Google Chrome senza il visualizzatore PDF integrato.</translation>
-<translation id="226038281051944330">Hai eseguito l'accesso con un nuovo account nello spazio di <ph name="EXISTING_USER" />. Vuoi creare un nuovo spazio Chrome per <ph name="NEW_USER" /> in modo da mantenere separati i tuoi dati?</translation>
 <translation id="2290014774651636340">Mancano le chiavi dell'API di Google. Alcune funzionalità di Google Chrome verranno disattivate.</translation>
 <translation id="2290095356545025170">Sei sicuro di voler disinstallare Google Chrome?</translation>
 <translation id="2309047409763057870">Questa è un'installazione secondaria, di conseguenza Google Chrome non può essere impostato come browser predefinito.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">È disponibile una nuova versione più sicura di Google Chrome.</translation>
 <translation id="3127818369811890733">Impossibile sincronizzare i dati in Chrome OS.</translation>
 <translation id="3149510190863420837">Applicazioni Chrome</translation>
-<translation id="3351117925998652957">Scegli il tuo Chrome Space</translation>
 <translation id="3360895254066713204">Supporto Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome verrà riavviato ora}=1{Chrome verrà riavviato tra 1 secondo}other{Chrome verrà riavviato tra # secondi}}</translation>
 <translation id="3395323229510056640">Ricevi assistenza per Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Chiudi tutte le finestre di Google Chrome e riprova.</translation>
 <translation id="3865754807470779944">La versione di Chrome <ph name="PRODUCT_VERSION" /> è installata</translation>
 <translation id="3873044882194371212">Apri link in una finestra di navigazione in inco&amp;gnito di Chrome</translation>
-<translation id="3879568094278837081">I dati di navigazione di questo spazio verranno eliminati da questo dispositivo. Per recuperare i dati, accedi a Chrome come</translation>
 <translation id="3889417619312448367">Disinstalla Google Chrome</translation>
 <translation id="4050175100176540509">Nell'ultima versione sono stati apportati miglioramenti rilevanti in materia di sicurezza e sono state aggiunte nuove funzioni.</translation>
 <translation id="4053720452172726777">Personalizza e controlla Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Apri link in una nuova &amp;scheda di Chrome</translation>
 <translation id="4953650215774548573">Imposta Google Chrome come browser predefinito</translation>
 <translation id="495931528404527476">In Chrome</translation>
-<translation id="4960472897514318257">Hai eseguito l'accesso con un account di lavoro. Vuoi creare un nuovo spazio Chrome per <ph name="NEW_USER" /> in modo da mantenere separati i tuoi dati personali?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Riavvia Chrome OS</translation>
 <translation id="5132929315877954718">Scopri applicazioni, giochi, estensioni e temi straordinari per Google Chrome.</translation>
 <translation id="5170938038195470297">Non è possibile utilizzare il tuo profilo perché è associato a una versione di Google Chrome più recente. Alcune funzioni potrebbero non essere disponibili. Specifica una directory del profilo diversa o utilizza una versione di Chrome più recente.</translation>
-<translation id="5171117065011130146">Vuoi creare un nuovo spazio di lavoro Chrome?</translation>
 <translation id="5193136243808726294">Google Chrome OS non è in grado di aprire la pagina.</translation>
 <translation id="5251420635869119124">Gli ospiti possono utilizzare Chrome senza lasciare tracce.</translation>
 <translation id="532046782124376502">Avviso: Google Chrome non è in grado di impedire alle estensioni di registrare la tua cronologia di navigazione. Per disattivare questa estensione in modalità di navigazione in incognito, deseleziona questa opzione.</translation>
@@ -213,7 +207,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Per controllare se il tuo dispositivo è aggiornato, vai alle <ph name="LINK_BEGIN" />Impostazioni di Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Questo computer non riceverà più gli aggiornamenti di Google Chrome perché Mac OS X 10.9 non è più supportato.</translation>
-<translation id="7591404275842302616">Utilizza i Chrome Space per mantenere organizzata la navigazione su questo dispositivo</translation>
 <translation id="7592736734348559088">Impossibile sincronizzare i dati in Google Chrome perché i dati di accesso dell'account sono obsoleti.</translation>
 <translation id="7626032353295482388">Benvenuto in Chrome</translation>
 <translation id="7629695634924605473">Chrome ti avvisa se le tue password vengono compromesse</translation>
@@ -260,9 +253,7 @@
 <translation id="8823341990149967727">Chrome non è aggiornato</translation>
 <translation id="8834965163890861871">Google Chrome sta cercando di modificare le password. Per consentire la modifica, digita la tua password Windows.</translation>
 <translation id="884296878221830158">Controlla anche la pagina visualizzata all'avvio di Chrome o quando fai clic sul pulsante Pagina iniziale.</translation>
-<translation id="8859948767482842016">Hai eseguito l'accesso con un account di lavoro nello spazio di <ph name="EXISTING_USER" />. Vuoi creare un nuovo spazio Chrome per <ph name="WORK_DOMAIN" /> in modo da mantenere separati i tuoi dati?</translation>
 <translation id="8862326446509486874">Non disponi dei diritti appropriati per l'installazione a livello di sistema. Prova a eseguire nuovamente il programma di installazione come Amministratore.</translation>
-<translation id="8877586659207810298">Vuoi creare un nuovo spazio Chrome per <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Riavvia Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{È disponibile un aggiornamento di Chrome}=1{È disponibile un aggiornamento di Chrome}other{È disponibile un aggiornamento di Chrome da # giorni}}</translation>
 <translation id="9026991721384951619">Impossibile sincronizzare i dati in Chrome OS perché i dati di accesso dell'account sono obsoleti.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_iw.xtb b/chrome/app/resources/google_chrome_strings_iw.xtb
index 4c8a230..f882799d 100644
--- a/chrome/app/resources/google_chrome_strings_iw.xtb
+++ b/chrome/app/resources/google_chrome_strings_iw.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">‏גרסת הביטא של Google Chrome‏ (mDNS-In)</translation>
 <translation id="1877026089748256423">‏Chrome אינו מעודכן</translation>
 <translation id="1919130412786645364">‏התרת כניסה אל Chrome</translation>
-<translation id="195645108406520445">‏הגדרת הסביבה החדשה שלך ב-Chrome</translation>
 <translation id="2063848847527508675">‏יש להפעיל מחדש את מערכת ההפעלה של Chrome כדי להחיל את העדכון.</translation>
 <translation id="2094919256425865063">‏לסגור את Chrome בכל זאת?</translation>
 <translation id="2120620239521071941">‏פעולה זו תמחק <ph name="ITEMS_COUNT" /> פריטים מהמכשיר. כדי לשחזר את הנתונים מאוחר יותר, היכנס אל Chrome עם <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">‏דיווח על <ph name="BEGIN_LINK" />ההגדרות הנוכחיות<ph name="END_LINK" /> יעזור לשפר את Chrome</translation>
 <translation id="2151406531797534936">‏יש להפעיל מחדש את Chrome עכשיו</translation>
 <translation id="2246246234298806438">‏Google Chrome אינו יכול להצג תצוגה מקדימה של ההדפסה כאשר מציג ה-‏PDF המובנה חסר.</translation>
-<translation id="226038281051944330">‏נכנסת באמצעות חשבון חדש לסביבה של <ph name="EXISTING_USER" />. האם ברצונך ליצור סביבת Chrome חדשה בשביל <ph name="NEW_USER" /> כדי לשמור את הנתונים שלך בנפרד?</translation>
 <translation id="2290014774651636340">‏המפתחות של Google API חסרים. פונקציונליות מסוימת של Google Chrome תהיה מושבתת.</translation>
 <translation id="2290095356545025170">‏האם אתה בטוח שאתה רוצה להסיר את Google Chrome?</translation>
 <translation id="2309047409763057870">‏זוהי התקנה משנית של Google Chrome, ולא ניתן להפוך אותו לדפדפן ברירת המחדל שלך.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">‏גרסה חדשה ובטוחה יותר של Google Chrome זמינה כעת</translation>
 <translation id="3127818369811890733">‏מערכת Chrome OS לא הצליחה לסנכרן את הנתונים.</translation>
 <translation id="3149510190863420837">‏אפליקציות Chrome</translation>
-<translation id="3351117925998652957">‏בחירת הסביבה שלך ב-Chrome</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{‏Chrome יופעל מחדש עכשיו}=1{‏Chrome יופעל מחדש בעוד שנייה}two{‏Chrome יופעל מחדש בעוד # שניות}many{‏Chrome יופעל מחדש בעוד # שניות}other{‏Chrome יופעל מחדש בעוד # שניות}}</translation>
 <translation id="3395323229510056640">‏קבל עזרה בנושא מערכת ההפעלה של Chrome</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">‏סגור את כל החלונות של Google Chrome ונסה שוב.</translation>
 <translation id="3865754807470779944">‏מותקנת גרסה <ph name="PRODUCT_VERSION" /> של Chrome</translation>
 <translation id="3873044882194371212">‏פתח את הקישור בחלון &amp;גלישה בסתר של Chrome</translation>
-<translation id="3879568094278837081">‏נתוני הגלישה של הסביבה הזו יימחקו מהמכשיר. כדי לשחזר את הנתונים, צריך להיכנס אל Chromium בתור</translation>
 <translation id="3889417619312448367">‏הסר את Google Chrome</translation>
 <translation id="4050175100176540509">הגרסה החדשה כוללת שיפורי בטיחות חשובים ותכונות חדשות.</translation>
 <translation id="4053720452172726777">‏הגדרת Google Chrome בהתאם לרצונך</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">‏פתח את הקישור ב&amp;כרטיסיית Chrome חדשה</translation>
 <translation id="4953650215774548573">‏הגדר את Google Chrome כדפדפן ברירת המחדל</translation>
 <translation id="495931528404527476">‏ב-Chrome</translation>
-<translation id="4960472897514318257">‏נכנסת באמצעות חשבון לצורכי עבודה. האם ברצונך ליצור סביבת Chrome חדשה בשביל <ph name="NEW_USER" /> כדי לשמור את המידע האישי שלך בנפרד?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">‏הפעלה מחדש של Chrome OS</translation>
 <translation id="5132929315877954718">‏מקום לגלות אפליקציות, משחקים, תוספים ועיצובים מעולים ל-Google Chrome.</translation>
 <translation id="5170938038195470297">‏לא ניתן להשתמש בפרופיל שלך משום שהוא מגרסה חדשה יותר של Google Chrome. ייתכן שחלק מהתכונות לא יהיו זמינות. ציין ספריית פרופיל אחרת או השתמש בגרסה חדשה יותר של Chrome.</translation>
-<translation id="5171117065011130146">‏ליצור סביבת עבודה חדשה ב-Chrome?</translation>
 <translation id="5193136243808726294">‏מערכת ההפעלה של Google Chrome אינה יכולה לפתוח את הדף הזה.</translation>
 <translation id="5251420635869119124">‏אורחים יכולים להשתמש ב-Chrome בלי להשאיר דבר מאחור.</translation>
 <translation id="532046782124376502">‏אזהרה: Google Chrome לא יכול למנוע מתוספים לתעד את היסטוריית הגלישה שלך. כדי להשבית את התוסף הזה במצב גלישה בסתר, יש לבטל את האפשרות הזו.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">‏גרסת הפיתוח של Google Chrome</translation>
 <translation id="7573289029918943991">‏כדי לראות אם המכשיר שלך מעודכן, יש לעבור אל <ph name="LINK_BEGIN" />הגדרות Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">‏המחשב הזה יפסיק לקבל עדכונים של Google Chrome כי כבר אין תמיכה בגירסה 10.9 של Mac OS X.</translation>
-<translation id="7591404275842302616">‏הסביבות שלך ב-Chrome מאפשרות לך לגלוש בצורה מאורגנת במכשיר הזה</translation>
 <translation id="7592736734348559088">‏Google Chrome לא הצליח לסנכרן את הנתונים שלך מפני שפרטי הכניסה של חשבונך אינם מעודכנים.</translation>
 <translation id="7626032353295482388">‏ברוכים הבאים ל-Chrome</translation>
 <translation id="7629695634924605473">‏Chrome מודיע לך אם הסיסמאות שלך נמצאות בסיכון</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">‏Chrome אינו מעודכן</translation>
 <translation id="8834965163890861871">‏Google Chrome מנסה לערוך את הסיסמאות. כדי לאפשר את הפעולה הזו, יש להקליד את הסיסמה שלך ל-Windows.</translation>
 <translation id="884296878221830158">‏הגדרה זו גם קובעת איזה דף מוצג כשאתה מפעיל את Chrome או לוחץ על הלחצן 'דף הבית'.</translation>
-<translation id="8859948767482842016">‏נכנסת באמצעות חשבון לצורכי עבודה לסביבה של <ph name="EXISTING_USER" />. האם ברצונך ליצור סביבת Chrome חדשה בשביל <ph name="WORK_DOMAIN" /> כדי לשמור את הנתונים שלך בנפרד?</translation>
 <translation id="8862326446509486874">אין לך זכויות שמתאימות להתקנה ברמת המערכת. נסה להפעיל שוב את המתקין כמנהל מערכת.</translation>
-<translation id="8877586659207810298">‏ליצור סביבת Chrome חדשה עבור <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">‏הפעל מחדש את Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{‏יש עדכון זמין ל-Chrome}=1{‏יש עדכון זמין ל-Chrome}two{‏עדכון ל-Chrome זמין כבר # ימים}many{‏עדכון ל-Chrome זמין כבר # ימים}other{‏עדכון ל-Chrome זמין כבר # ימים}}</translation>
 <translation id="9026991721384951619">‏מערכת ההפעלה של Chrome לא הצליחה לסנכרן את הנתונים שלך מפני שפרטי הכניסה של חשבונך אינם מעודכנים.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ja.xtb b/chrome/app/resources/google_chrome_strings_ja.xtb
index 62f1ef4e..2f5598b 100644
--- a/chrome/app/resources/google_chrome_strings_ja.xtb
+++ b/chrome/app/resources/google_chrome_strings_ja.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome ベータ版(mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome は古いバージョンです</translation>
 <translation id="1919130412786645364">Chrome へのログインを許可する</translation>
-<translation id="195645108406520445">新しい Chrome スペースをセットアップする</translation>
 <translation id="2063848847527508675">アップデートを適用するには、Chrome OS を再起動する必要があります。</translation>
 <translation id="2094919256425865063">今すぐ Chrome を終了しますか?</translation>
 <translation id="2120620239521071941">このデバイスから <ph name="ITEMS_COUNT" /> 件の項目を削除します。後でデータを取得するには、<ph name="USER_EMAIL" /> として Chrome にログインしてください。</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />現在の設定<ph name="END_LINK" />を送信して Chrome の品質向上にご協力ください</translation>
 <translation id="2151406531797534936">Chrome を今すぐ再起動してください</translation>
 <translation id="2246246234298806438">Google Chrome では、組み込みの PDF ビューアがない場合、印刷プレビューを表示できません。</translation>
-<translation id="226038281051944330">新しいアカウントで <ph name="EXISTING_USER" /> のスペースにログインしています。データを分けて保持できるよう、<ph name="NEW_USER" /> 用の Chrome スペースを新しく作成しますか?</translation>
 <translation id="2290014774651636340">Google API キーが欠落しています。Google Chrome の一部の機能は無効になります。</translation>
 <translation id="2290095356545025170">Google Chrome をアンインストールしてもよろしいですか?</translation>
 <translation id="2309047409763057870">この Google Chrome はセカンダリ インストールのため、既定のブラウザには設定できません。</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Google クロームブラウザがより速く、さらに便利に。いますぐトライ!</translation>
 <translation id="3127818369811890733">Chrome OS でデータを同期できませんでした。</translation>
 <translation id="3149510190863420837">Chrome アプリ</translation>
-<translation id="3351117925998652957">Chrome スペースを選択</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome は今すぐ再起動されます}=1{Chrome は 1 秒後に再起動されます}other{Chrome は # 秒後に再起動されます}}</translation>
 <translation id="3395323229510056640">Chrome OS のヘルプを見る</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">すべての Google Chrome ウィンドウを閉じてからもう一度お試しください。</translation>
 <translation id="3865754807470779944">Chrome のバージョン <ph name="PRODUCT_VERSION" /> がインストールされています</translation>
 <translation id="3873044882194371212">Chrome のシークレット ウインドウでリンクを開く(&amp;G)</translation>
-<translation id="3879568094278837081">この操作を行うと、このスペースの閲覧データがこのデバイスから削除されます。データを復元するには、Chrome に次のアカウントでログインしてください:</translation>
 <translation id="3889417619312448367">Google Chrome をアンインストール</translation>
 <translation id="4050175100176540509">最新バージョンに更新すると、重要なセキュリティ更新と新機能が適用されます。</translation>
 <translation id="4053720452172726777">Google Chrome の設定</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">新しい Chrome タブでリンクを開く(&amp;T)</translation>
 <translation id="4953650215774548573">Google Chrome を既定のブラウザとして設定する</translation>
 <translation id="495931528404527476">Chrome 専用</translation>
-<translation id="4960472897514318257">仕事用アカウントでログインしています。個人データを分けて保持できるよう、<ph name="NEW_USER" /> 用の Chrome スペースを新しく作成しますか?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS を再起動してください</translation>
 <translation id="5132929315877954718">Google Chrome のすばらしいアプリ、ゲーム、拡張機能、テーマをぜひご利用ください。</translation>
 <translation id="5170938038195470297">バージョンが新しい Google Chrome のプロフィールは使用できません。一部の機能が利用できない可能性があります。別の場所のプロフィールを指定するか、新しいバージョンの Chrome をご使用ください。</translation>
-<translation id="5171117065011130146">仕事用の Chrome スペースを新しく作成しますか?</translation>
 <translation id="5193136243808726294">Google Chrome OS ではこのページを開けません。</translation>
 <translation id="5251420635869119124">ゲスト ユーザーは、記録を残さずに Chrome を使用できます。</translation>
 <translation id="532046782124376502">警告: 拡張機能による閲覧履歴の記録を Google Chrome で停止することはできません。シークレット モードでこの拡張機能を無効にするには、このオプションの選択を解除してください。</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">デバイスが最新の状態かどうか確認するには、<ph name="LINK_BEGIN" />Chrome OS の設定<ph name="LINK_END" />をご覧ください</translation>
 <translation id="7589360514048265910">Mac OS X 10.9 はサポートされなくなったため、このパソコンでは今後 Google Chrome のアップデートは受信されません。</translation>
-<translation id="7591404275842302616">Chrome スペースを使用して、このデバイスでのブラウジングを管理できます</translation>
 <translation id="7592736734348559088">アカウントのログイン情報が最新ではないため、Google Chrome はデータを同期できませんでした。</translation>
 <translation id="7626032353295482388">Chrome へようこそ</translation>
 <translation id="7629695634924605473">Chrome では、特定のパスワードが侵害された事実の有無がわかります</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome は古いバージョンです</translation>
 <translation id="8834965163890861871">Google Chrome でパスワードを編集しようとしています。続行するには、Windows のパスワードを入力してください。</translation>
 <translation id="884296878221830158">この拡張機能では、Chrome の起動時、またはホーム ボタンのクリック時に表示されるページも制御されます。</translation>
-<translation id="8859948767482842016">仕事用アカウントで <ph name="EXISTING_USER" /> のスペースにログインしています。データを分けて保持できるよう、<ph name="WORK_DOMAIN" /> 用の Chrome スペースを新しく作成しますか?</translation>
 <translation id="8862326446509486874">権限が不十分なためシステムレベルのインストールができません。管理者権限でインストールしてください。</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> 用の Chrome スペースを新しく作成しますか?</translation>
 <translation id="8914504000324227558">Chrome の再起動</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome のアップデートが利用可能です}=1{Chrome のアップデートが利用可能です}other{Chrome のアップデートが利用可能になってから # 日経過しています}}</translation>
 <translation id="9026991721384951619">アカウントのログイン情報が最新ではないため、Chrome OS はデータを同期できませんでした。</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ka.xtb b/chrome/app/resources/google_chrome_strings_ka.xtb
index 5575a15..ecc8d5a 100644
--- a/chrome/app/resources/google_chrome_strings_ka.xtb
+++ b/chrome/app/resources/google_chrome_strings_ka.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome მოძველებულია</translation>
 <translation id="1919130412786645364">Chrome-ში შესვლის დაშვება</translation>
-<translation id="195645108406520445">შექმენით ახალი Chrome სივრცე</translation>
 <translation id="2063848847527508675">განახლების მისასადაგებლად, Chrome OS უნდა გადაიტვირთოს.</translation>
 <translation id="2094919256425865063">მაინც გსურთ Chrome-იდან გასვლა?</translation>
 <translation id="2120620239521071941">ეს მოქმედება წაშლის <ph name="ITEMS_COUNT" /> ერთეულს ამ მოწყობილობიდან. თქვენი მონაცემების მოგვიანებით მისაღებად, შედით Chrome-ში, როგორც <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">ხელი შეუწყვეთ Chrome-ის გაუმჯობესებას <ph name="BEGIN_LINK" />მიმდინარე პარამეტრების<ph name="END_LINK" /> გამოგზავნის მეშვეობით</translation>
 <translation id="2151406531797534936">გთხოვთ, ახლავე გადატვირთოთ Chrome</translation>
 <translation id="2246246234298806438">Google Chrome-ს არ შეუძლია აჩვენოს ნახვა ამობეჭდვამდე როდესაც ჩაშენებული PDF მნახველი არ არის.</translation>
-<translation id="226038281051944330">თქვენ ახალი ანგარიშით შეხვედით <ph name="EXISTING_USER" />-ის სივრცეში. გსურთ, მონაცემების განსაცალკევებლად, შექმნათ ახალი სივრცე Chrome-ში <ph name="NEW_USER" />-ისთვის?</translation>
 <translation id="2290014774651636340">Google API გასაღები გამოტოვებულია. Google Chrome-ის ზოგიერთი ფუნქცია გამორთული იქნება.</translation>
 <translation id="2290095356545025170">ნამდვილად გსურთ მოახდინოთ Google Chrome-ის დეინსტალაცია?</translation>
 <translation id="2309047409763057870">ეს Google Chrome-ის მეორადი ინსტალაცია არის და ნაგულისხმევ ბრაუზერად ის ვერ დაყენდება.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">ხელმისაწვდომია Google Chrome-ის უფრო ახალი და უსაფრთხო ვერსია.</translation>
 <translation id="3127818369811890733">Chrome OS-მა ვერ მოახერხა თქვენი მონაცემების სინქრონიზაცია.</translation>
 <translation id="3149510190863420837">Chrome-ის პროგრამები</translation>
-<translation id="3351117925998652957">აირჩიეთ თქვენი Chrome სივრცე</translation>
 <translation id="3360895254066713204">Chrome-ის დამხმარე</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome ახლა ხელახლა გაეშვება}=1{Chrome ხელახლა გაეშვება 1 წამში}other{Chrome ხელახლა გაეშვება # წამში}}</translation>
 <translation id="3395323229510056640">Chrome OS-თან დაკავშირებული დახმარების მიღება</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">დახურეთ Google Chrome-ის ყველა ფანჯარა და ხელახლა სცადეთ.</translation>
 <translation id="3865754807470779944">დაინსტალირებულია Chrome-ის ვერსია <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">ბმულის გახსნა Chrome-ი ინკო&amp;გნიტო ფანჯარაში</translation>
-<translation id="3879568094278837081">ამ სამუშაო სივრცის დათვალიერების მონაცემები წაიშლება ამ მოწყობილობიდან. მონაცემების აღსადგენად შედით Chrome-ში, როგორც</translation>
 <translation id="3889417619312448367">Google Chrome-ის დეინსტალაცია</translation>
 <translation id="4050175100176540509">უსაფრთხოების მნიშვნელოვანი გაუმჯობესება და ახალი თვისებები ხელმისაწვდომია უახლეს ვერსიაში.</translation>
 <translation id="4053720452172726777">Google Chrome-ის მორგება და კონტროლი</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">ბმულის გახსნა Chrome-ის ახალ ჩა&amp;ნართში</translation>
 <translation id="4953650215774548573">Google Chrome-ის დაყენება ნაგულისხმევ ბრაუზერად</translation>
 <translation id="495931528404527476">Chrome-ში</translation>
-<translation id="4960472897514318257">თქვენ შეხვედით სამსახურის ანგარიშით. გსურთ, პერსონალური მონაცემების განსაცალკევებლად, შექმნათ ახალი სივრცე Chrome-ში <ph name="NEW_USER" />-ისთვის?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">გადატვირთეთ Chrome OS</translation>
 <translation id="5132929315877954718">აღმოაჩინეთ დიდებული აპები, თამაშები, გაფართოებები და თემები Google Chrome-ისთვის.</translation>
 <translation id="5170938038195470297">თქვენი პროფილის გამოყენება შეუძლებელია, რადგან იგი მიღებულია Google Chrome-ის უფრო ახალი ვერსიიდან.
 
 ზოგიერთი ფუნქცია შეიძლება მიუწვდომელი იყოს. მიუთითეთ პროფილის სხვა დირექტორია ან გამოიყენეთ Chrome-ის უფრო ახალი ვერსია.</translation>
-<translation id="5171117065011130146">შეიქმნას ახალი სამუშაო სივრცე Chrome-ში?</translation>
 <translation id="5193136243808726294">Google Chrome OS ვერ ხსნის ამ გვერდს.</translation>
 <translation id="5251420635869119124">სტუმრებს შეუძლიათ Chrome-ის გამოყენება და მისი ყველა ფუნქციით სარგებლობა.</translation>
 <translation id="532046782124376502">გაფრთხილება: Google Chrome ვერ შეუშლის ხელს გაფართოებებს ვების დათვალიერების ისტორიის შენახვაში. ამ გაფართოების ინკოგნიტო რეჟიმში გამოსართავად მოხსენით მონიშვნა ამ ვარიანტზე.</translation>
@@ -221,7 +215,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">თქვენი მოწყობილობის განახლების სტატუსის სანახავად გადადით <ph name="LINK_BEGIN" />Chrome OS-ის პარამეტრებზე<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">ეს კომპიუტერი აღარ მიიღებს Google Chrome-ის განახლებებს, რადგან Mac OS X 10.9 აღარ არის მხარდაჭერილი.</translation>
-<translation id="7591404275842302616">გამოიყენეთ Chrome სივრცეები, რათა მოახდინოთ თქვენი დათვალიერების ისტორიის ორგანიზება ამ მოწყობილობაზე</translation>
 <translation id="7592736734348559088">Google Chrome-მა ვერ დაასინქრონა თქვენი მონაცემები, რადგან თქვენი ანგარიშზე შესვლის დეტალები მოძველდა.</translation>
 <translation id="7626032353295482388">მოგესალმებათ Chrome!</translation>
 <translation id="7629695634924605473">Chrome გაცნობებთ, თუ თქვენს პაროლებს ვინმე გატეხავს</translation>
@@ -268,9 +261,7 @@
 <translation id="8823341990149967727">Chrome მოძველებულია</translation>
 <translation id="8834965163890861871">Google Chrome ცდილობს პაროლების რედაქტირებას. აღნიშნულის დასაშვებად აკრიფეთ თქვენი Windows-ის პაროლი ამის დასაშვებად.</translation>
 <translation id="884296878221830158">ასევე აკონტროლებს, თუ რომელი გვერდი გამოჩნდება Chrome-ის გაშვებისას ან როცა დააწკაპუნებთ ღილაკზე „საწყისი“.</translation>
-<translation id="8859948767482842016">თქვენ სამსახურის ანგარიშით შეხვედით <ph name="EXISTING_USER" />-ის სივრცეში. გსურთ, მონაცემების განსაცალკევებლად, შექმნათ ახალი სივრცე Chrome-ში <ph name="WORK_DOMAIN" />-ისთვის?</translation>
 <translation id="8862326446509486874">თქვენ არ გაქვთ შესაბამისი უფლებები სისტემის დონეზე ინსტალაციისთვის. სცადეთ ინსტალაციის პროგრამის ხელახლა გაშვება ადმინისტრატორის სტატუსით.</translation>
-<translation id="8877586659207810298">შეიქმნას ახალი სივრცე Chrome-ში <ph name="NEW_USER" />-ისთვის?</translation>
 <translation id="8914504000324227558">Chrome-ის ხელახლა გაშვება</translation>
 <translation id="8999208279178790196">{0,plural, =0{ხელმისაწვდომია Chrome-ის განახლება}=1{ხელმისაწვდომია Chrome-ის განახლება}other{უკვე # დღეა, რაც ხელმისაწვდომია Chrome-ის განახლება}}</translation>
 <translation id="9026991721384951619">Chrome OS-მა ვერ დაასინქრონა თქვენი მონაცემები, რადგან თქვენი ანგარიშის შესვლის დეტალები მოძველდა.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_kk.xtb b/chrome/app/resources/google_chrome_strings_kk.xtb
index 0f1cbf5e..a291a56 100644
--- a/chrome/app/resources/google_chrome_strings_kk.xtb
+++ b/chrome/app/resources/google_chrome_strings_kk.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome ескірген</translation>
 <translation id="1919130412786645364">Chrome браузеріне кіруге рұқсат ету</translation>
-<translation id="195645108406520445">Жаңа Chrome профилін реттеңіз</translation>
 <translation id="2063848847527508675">Жаңарту күшіне енуі үшін Chrome OЖ-н қайта іске қосу қажет.</translation>
 <translation id="2094919256425865063">Chrome браузерінен бәрібір шығасыз ба?</translation>
 <translation id="2120620239521071941"><ph name="ITEMS_COUNT" /> элемент бұл құрылғыдан жойылады. Деректерді кейінірек алу үшін Chrome жүйесіне <ph name="USER_EMAIL" /> болып кіріңіз.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />Ағымдағы параметрлерді<ph name="END_LINK" /> хабарлау арқылы Chrome браузерін жақсартуға көмектесіңіз</translation>
 <translation id="2151406531797534936">Chrome браузерін өшіріп, қайта қосыңыз</translation>
 <translation id="2246246234298806438">Ендірілген PDF көру құралы жоқ болса, Google Chrome басып шығарылатын беттерді алдын ала көрсете алмайды.</translation>
-<translation id="226038281051944330"><ph name="EXISTING_USER" /> жұмыс орнына жаңа есептік жазбаңызбен кірдіңіз. Деректеріңіз бөлек сақталуы үшін, <ph name="NEW_USER" /> деген пайдаланушыға жаңа Chrome жұмыс орнын жасағыңыз келе ме?</translation>
 <translation id="2290014774651636340">Google API пернелері жоқ. Кейбір Google Chrome функционалдықтары өшіріледі.</translation>
 <translation id="2290095356545025170">Google Chrome жою қажет пе?</translation>
 <translation id="2309047409763057870">Бұл – Google Chrome браузерінің қайта орнатылған нұсқасы және әдепкі браузер бола алмайды.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Жаңа, қауіпсізірек Google Chrome нұсқасы қолжетімді.</translation>
 <translation id="3127818369811890733">Chrome OS деректеріңізді синхрондай алмады.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
-<translation id="3351117925998652957">Chrome профилін таңдаңыз</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome браузері қазір қайта іске қосылады}=1{Chrome браузері 1 секундтан кейін қайта іске қосылады}other{Chrome браузері # секундтан кейін қайта іске қосылады}}</translation>
 <translation id="3395323229510056640">Chrome ОЖ жөнінде анықтама алу</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Барлық Google Chrome терезелерін жауып, әрекетті қайталап көріңіз.</translation>
 <translation id="3865754807470779944">Chrome браузерінің <ph name="PRODUCT_VERSION" /> нұсқасы орнатылды.</translation>
 <translation id="3873044882194371212">Сілтемені Chrome инкогнито терезесінде ашу</translation>
-<translation id="3879568094278837081">Бұл жұмыс орнының браузерді пайдалану деректері құрылғыдан жойылады. Деректерді қалпына келтіру үшін Chrome браузеріне келесімен кіріңіз:</translation>
 <translation id="3889417619312448367">Google Chrome жою</translation>
 <translation id="4050175100176540509">Соңғы нұсқасында қауіпсіздік жақсартылып, жаңа мүмкіндіктер берілген.</translation>
 <translation id="4053720452172726777">Google Chrome реттеу және бақылау</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Сілтемені жаңа Chrome қойындысында ашу</translation>
 <translation id="4953650215774548573">Әдепкі браузеріңіз ретінде Google Chrome орнату</translation>
 <translation id="495931528404527476">Chrome ішінде</translation>
-<translation id="4960472897514318257">Жұмыс есептік жазбасымен кірдіңіз. Жеке деректеріңіз бөлек сақталуы үшін, <ph name="NEW_USER" /> деген пайдаланушыға жаңа Chrome жұмыс орнын жасағыңыз келе ме?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS жүйесін қайта қосу</translation>
 <translation id="5132929315877954718">Google Chrome браузеріне арналған тамаша қолданбаларды, ойындарды және тақырыптарды табыңыз.</translation>
 <translation id="5170938038195470297">Профиліңізді пайдалану мүмкін емес, себебі ол жаңарақ Google Chrome нұсқасынан.
 
 Кейбір мүмкіндіктер қолжетімсіз болуы мүмкін. Басқа профиль каталогін көрсетіңіз немесе жаңарақ Chrome нұсқасын пайдаланыңыз.</translation>
-<translation id="5171117065011130146">Жаңа Chrome жұмыс орнын жасау керек пе?</translation>
 <translation id="5193136243808726294">Google Chrome ОЖ бұл бетті аша алмайды.</translation>
 <translation id="5251420635869119124">Қонақтар Chrome қолданбасын ешқандай дерек қалдырмай пайдалана алады.</translation>
 <translation id="532046782124376502">Ескерту: Google Chrome браузері кеңейтімдердің шолу журналыңызды жазып алуына тыйым сала алмайды. Бұл кеңейтімді инкогнито режимінде өшіру үшін осы опцияның құсбелгісін алып тастаңыз.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Құрылғыңызда операциялық жүйенің соңғы нұсқасы бар екенін тексеру үшін <ph name="LINK_BEGIN" />Chrome ОЖ параметрлері<ph name="LINK_END" /> бөлімінен қараңыз.</translation>
 <translation id="7589360514048265910">Бұл компьютер енді Google Chrome жүйесінің жаңартылған нұсқаларын алмайды, себебі Mac OS X 10.9 нұсқасына бұдан былай қолдау көрсетілмейді.</translation>
-<translation id="7591404275842302616">Осы құрылғыда шолу тәртібін сақтау үшін Chrome профильдерін пайдаланыңыз.</translation>
 <translation id="7592736734348559088">Chrome Chrome деректеріңізді синхрондай алмайды, себебі есептік жазбаңызға кіру мәліметтері ескірген.</translation>
 <translation id="7626032353295482388">Chrome жүйесіне қош келдіңіз</translation>
 <translation id="7629695634924605473">Құпия сөздеріңіз ұрланған жағдайда, Chrome бұл туралы хабарлайды.</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome ескірген</translation>
 <translation id="8834965163890861871">Google Chrome құпия сөздерді өзгерткісі келеді. Бұған рұқсат беру үшін Windows құпия сөзіңізді теріңіз.</translation>
 <translation id="884296878221830158">Сонымен қатар ол Chrome іске қосқанда немесе "Негізгі бет" түймесін басқанда көрсетілетін бетті басқарады.</translation>
-<translation id="8859948767482842016"><ph name="EXISTING_USER" /> жұмыс орнына жұмыс есептік жазбаңызбен кірдіңіз. Деректеріңіз бөлек сақталуы үшін, <ph name="WORK_DOMAIN" /> доменіне жаңа Chrome жұмыс орны жасалсын ба?</translation>
 <translation id="8862326446509486874">Жүйе деңгейінде орнату үшін тиісті құқықтарыңыз жоқ. Әкімші ретінде орнату құралын қайта іске қосып көріңіз.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> үшін жаңа Chrome жұмыс орны жасалсын ба?</translation>
 <translation id="8914504000324227558">Chrome қолданбасын қайта іске қосу</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome браузерінің жаңартылған нұсқасы қолжетімді}=1{Chrome браузерінің жаңартылған нұсқасы қолжетімді}other{Chrome браузерінің жаңартылған нұсқасы # күннен бері қолжетімді}}</translation>
 <translation id="9026991721384951619">Chrome OS деректеріңізді синхрондай алмайды, себебі есептік жазбаңызға кіру мәліметтері ескірген.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_km.xtb b/chrome/app/resources/google_chrome_strings_km.xtb
index 3ef519f2..9f5ea62 100644
--- a/chrome/app/resources/google_chrome_strings_km.xtb
+++ b/chrome/app/resources/google_chrome_strings_km.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome បេតា (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome ហួសសម័យហើយ</translation>
 <translation id="1919130412786645364">អនុញ្ញាត​ការចូល Chrome</translation>
-<translation id="195645108406520445">រៀបចំ Chrome Space ថ្មី​របស់អ្នក</translation>
 <translation id="2063848847527508675">Chrome OS ត្រូវចាប់ផ្តើមឡើងវិញដើម្បីអនុវត្តការអាប់ដេតនេះ។</translation>
 <translation id="2094919256425865063">នៅ​តែ​ចង់​ចាក​ចេញពី Chrome ឬ?</translation>
 <translation id="2120620239521071941">វា​នឹង​លុប​ធាតុ​ <ph name="ITEMS_COUNT" /> ចេញ​ពី​ឧបករណ៍​នេះ។ ដើម្បី​ទាញ​យក​ទិន្នន័យ​របស់អ្នក​មកវិញ​នៅ​ពេល​ក្រោយ សូម​ចូល​ទៅ​កាន់ Chrome ជា <ph name="USER_EMAIL" /> ។</translation>
 <translation id="2123055963409958220">ជួយ​ធ្វើឲ្យ Chrome ប្រសើរ​ជាងមុន​ដោយ​រាយការណ៍​អំពី <ph name="BEGIN_LINK" />ការកំណត់​បច្ចុប្បន្ន<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">សូមចាប់ផ្ដើម Chrome ឡើងវិញ​ឥឡូវនេះ</translation>
 <translation id="2246246234298806438">Google Chrome មិនអាចបង្ហាញការពិនិត្យមើលការបោះពុម្ពទេ នៅពេលដែលកម្មវិធីមើល PDF ដែលភ្ជាប់មកជាមួយបានបាត់បង់។</translation>
-<translation id="226038281051944330">អ្នក​បានចូល​ដោយប្រើ​គណនីថ្មី​នៅក្នុង​កន្លែង​របស់ <ph name="EXISTING_USER" />។ តើអ្នក​ចង់​បង្កើត​កន្លែង Chrome ថ្មី​សម្រាប់ <ph name="NEW_USER" /> ដើម្បី​រក្សាទុក​ទិន្នន័យ​របស់អ្នក​ដាច់ដោយឡែក​ដែរទេ​?</translation>
 <translation id="2290014774651636340">សោ Google API បានបាត់។ មុខងារមួយចំនួននៃ Google Chrome នឹងត្រូវបានបិទដំណើរការ។</translation>
 <translation id="2290095356545025170">តើអ្នកប្រាកដថាចង់លុបការតំឡើង Google Chrome ទេ?</translation>
 <translation id="2309047409763057870">នេះគឺជាការដំឡើេង Google Chrome បន្ទាប់បន្សំ ហើយវាមិនអាចធ្វើជាកម្មវិធីរុករកលំនាំដើមរបស់អ្នកបានទេ។</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">មានកំណែថ្មីដែលមានសុវត្ថិភាពជាងមុនសម្រាប់ Google Chrome។</translation>
 <translation id="3127818369811890733">Chrome OS មិនអាច​ធ្វើសមកាលកម្ម​ទិន្នន័យ​របស់អ្នក​បានទេ។</translation>
 <translation id="3149510190863420837">កម្មវិធី Chrome</translation>
-<translation id="3351117925998652957">ជ្រើសរើស Chrome Space របស់អ្នក</translation>
 <translation id="3360895254066713204">ជំនួយការ Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome នឹង​ចាប់ផ្ដើមឡើងវិញ​ឥឡូវនេះ}=1{Chrome នឹង​ចាប់ផ្ដើមឡើងវិញ​ក្នុងរយៈពេល 1 វិនាទីទៀត}other{Chrome នឹង​ចាប់ផ្ដើមឡើងវិញ​ក្នុងរយៈពេល # វិនាទីទៀត}}</translation>
 <translation id="3395323229510056640">ទទួលយកជំនួយពី Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">សូមបិទផ្ទាំង Google Chrome ទាំងអស់ ហើយព្យាយាមម្តងទៀត។</translation>
 <translation id="3865754807470779944">Chrome កំណែ <ph name="PRODUCT_VERSION" /> ត្រូវបានដំឡើង</translation>
 <translation id="3873044882194371212">បើកតំណ​នៅក្នុងវិនដូឯកជន Chrome</translation>
-<translation id="3879568094278837081">ទិន្នន័យរុករក​របស់កម្រងព័ត៌មាននេះ​នឹងត្រូវ​លុបចេញ​ពីឧបករណ៍​នេះ។ ដើម្បីស្ដារ​ទិន្នន័យនេះ​ សូមចូល Chrome ជា</translation>
 <translation id="3889417619312448367">លុបការតំឡើង Google Chrome</translation>
 <translation id="4050175100176540509">ការធ្វើឲ្យប្រសើរឡើងផ្នែកសុវត្ថិភាពសំខាន់ៗ និងលក្ខណៈពិសេសថ្មីៗមាននៅក្នុងកំណែថ្មីបំផុតនេះ។</translation>
 <translation id="4053720452172726777">កែសម្រួល និងគ្រប់គ្រង Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">បើក​តំណ​នៅក្នុង​ផ្ទាំង Chrome ថ្មី</translation>
 <translation id="4953650215774548573">កំណត់ Google Chrome ជាកម្មវិធីរុករកលំនាំដើមរបស់អ្នក</translation>
 <translation id="495931528404527476">នៅក្នុង Chrome</translation>
-<translation id="4960472897514318257">អ្នក​បានចូល​ដោយប្រើ​គណនី​ការងារ​។ តើអ្នក​ចង់​បង្កើត​កន្លែង Chrome ថ្មី​សម្រាប់ <ph name="NEW_USER" /> ដើម្បី​រក្សាទុក​ទិន្នន័យ​ផ្ទាល់ខ្លួន​របស់អ្នក​ដាច់ដោយឡែក​ដែរទេ​?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">ចាប់ផ្តើម Chrome OS ឡើងវិញ</translation>
 <translation id="5132929315877954718">ស្វែងយល់ពីកម្មវិធី ហ្គេម កម្មវិធីបន្ថែម និងធីមដ៏អស្ចារ្យសម្រាប់ Google Chrome។</translation>
 <translation id="5170938038195470297">ទម្រង់របស់អ្នកមិនអាចត្រូវបានប្រើទេ ពីព្រោះវាចេញមកពីកំណែថ្មីជាងមុននៃ Google Chrome។
 
 លក្ខណៈពិសេសមួយចំនួនមិនមានទេ។ សូមបញ្ជាក់ពីថតឯកសារទម្រង់ផ្សេង ឬប្រើកំណែ Chrome ថ្មីជាងមុន។</translation>
-<translation id="5171117065011130146">បង្កើត​កន្លែង​ការងារ Chrome ថ្មីឬ​?</translation>
 <translation id="5193136243808726294">Google Chrome OS មិនអាចបើកទំព័រនេះបានទេ។</translation>
 <translation id="5251420635869119124">ភ្ញៀវអាចប្រើ Chrome ដោយមិនមានបន្សល់ទុកអ្វីឡើយ។</translation>
 <translation id="532046782124376502">ការព្រមាន៖ Google Chrome មិនអាច​ទប់ស្កាត់​កម្មវិធី​បន្ថែមមិន​ឱ្យកត់ត្រា​ប្រវត្តិ​រុករក​របស់អ្នក​បានទេ។ ដើម្បី​បិទ​កម្មវិធី​បន្ថែមនេះ​នៅក្នុង​មុខងារ​ឯកជន សូមដក​ការជ្រើសរើស​ជម្រើស​នេះ។</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">ដើម្បី​មើល​ថាតើឧបករណ៍​របស់អ្នក​មានបច្ចុប្បន្នភាពឬអត់ សូម​ចូលទៅកាន់<ph name="LINK_BEGIN" />ការកំណត់ Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">កុំព្យូទ័រនេះ​នឹង​លែង​ទទួល​បាន​កំណែថ្មីរបស់ Google Chrome ទៀតហើយ​ ដោយសារវា​លែងទទួលបាន​ការ​គាំទ្រនៅលើ Mac OS X 10.9 ទៀតហើយ។</translation>
-<translation id="7591404275842302616">ប្រើ Chrome Spaces ដើម្បីរៀបចំ​ការរុករករបស់អ្នកនៅលើ​ឧបករណ៍នេះ</translation>
 <translation id="7592736734348559088">Google Chrome មិនអាចធ្វើសមកម្មទិន្នន័យរបស់អ្នកទេ ពីព្រោះព័ត៌មានលំអិតគណនីចូលរបស់អ្នកហួសសម័យហើយ។</translation>
 <translation id="7626032353295482388">ស្វាគមន៍មកកាន់ Chrome</translation>
 <translation id="7629695634924605473">Chrome ប្រាប់អ្នក​ឱ្យដឹងថាតើពាក្យ​សម្ងាត់របស់អ្នក​ធា្លប់ត្រូវបានវាយលុកឬអត់</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome ហួសសម័យហើយ</translation>
 <translation id="8834965163890861871">Google Chrome កំពុង​ព្យាយាម​កែ​ពាក្យសម្ងាត់​។ សូម​វាយបញ្ចូល​ពាក្យសម្ងាត់ Windows របស់អ្នក ដើម្បី​អនុញ្ញាត​ការកែនេះ​។</translation>
 <translation id="884296878221830158">វាក៏គ្រប់គ្រងអ្វីដែលទំព័របានបង្ហាញផងដែរ នៅពេលដែលអ្នកចាប់ផ្តើម Chrome ឬចុចប៊ូតុង ទំព័រដើម។</translation>
-<translation id="8859948767482842016">អ្នក​បានចូល​ដោយប្រើ​គណនីការងារ​នៅក្នុង​កន្លែង​របស់ <ph name="EXISTING_USER" />។ តើអ្នក​ចង់​បង្កើត​កន្លែង Chrome ថ្មី​សម្រាប់ <ph name="WORK_DOMAIN" /> ដើម្បី​រក្សាទុក​ទិន្នន័យ​របស់អ្នក​ដាច់ដោយឡែក​ដែរទេ​?</translation>
 <translation id="8862326446509486874">អ្នកមិនមានសិទ្ធិសមស្របក្នុងការតំឡើងកម្រិតប្រព័ន្ធទេ។ សាកល្បងដំណើរការកម្មវិធីតំឡើងម្តងទៀតក្នុងរបៀបអ្នកគ្រប់គ្រង។</translation>
-<translation id="8877586659207810298">បង្កើត​កន្លែង Chrome ថ្មី​សម្រាប់ <ph name="NEW_USER" /> ឬ?</translation>
 <translation id="8914504000324227558">ដំណើរការ Chrome ឡើងវិញ</translation>
 <translation id="8999208279178790196">{0,plural, =0{មាន​កំណែថ្មី​របស់ Chrome ហើយ}=1{មាន​កំណែថ្មី​របស់ Chrome ហើយ}other{មាន​កំណែថ្មី​របស់ Chrome រយៈពេល # ថ្ងៃហើយ}}</translation>
 <translation id="9026991721384951619">Chrome OS មិនអាចធ្វើសមកម្មទិន្នន័យរបស់អ្នកទេ ពីព្រោះព័ត៌មានលំអិតគណនីចូលរបស់អ្នកហួសសម័យហើយ។</translation>
diff --git a/chrome/app/resources/google_chrome_strings_kn.xtb b/chrome/app/resources/google_chrome_strings_kn.xtb
index 612d492f..df1188a 100644
--- a/chrome/app/resources/google_chrome_strings_kn.xtb
+++ b/chrome/app/resources/google_chrome_strings_kn.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome ಬೀಟಾ (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome ನ ಅವಧಿ ಮುಗಿದಿದೆ</translation>
 <translation id="1919130412786645364">Chrome ಸೈನ್-ಇನ್ ಅನ್ನು ಅನುಮತಿಸಿ</translation>
-<translation id="195645108406520445">ನಿಮ್ಮ ಹೊಸ Chrome ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ</translation>
 <translation id="2063848847527508675">ಅಪ್‌ಡೇಟ್ ಅನ್ವಯಿಸಲು Chrome OS ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕಾಗುತ್ತದೆ.</translation>
 <translation id="2094919256425865063">ಹೇಗಿದ್ದರೂ Chrome ಅನ್ನು ಮುಚ್ಚುವುದೇ?</translation>
 <translation id="2120620239521071941">ಈ ಸಾಧನದಿಂದ <ph name="ITEMS_COUNT" /> ಐಟಂಗಳನ್ನು ಇದು ಅಳಿಸುತ್ತದೆ. ನಂತರ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಮರುಪಡೆಯಲು, <ph name="USER_EMAIL" /> ನಂತೆ Chrome ಗೆ ಸೈನ್‌‌ ಇನ್ ಮಾಡಿ.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />ಪ್ರಸ್ತುತ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು<ph name="END_LINK" /> ವರದಿ ಮಾಡುವುದರ ಮೂಲಕ Chrome ಅನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡಿ</translation>
 <translation id="2151406531797534936">ಇದೀಗ Chrome ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="2246246234298806438">ಬಿಲ್ಟ್ ಇನ್ PDF ವೀಕ್ಷಣೆಯು ಕಾಣೆಯಾಗಿರುವಾಗ Google Chrome ಮುದ್ರಣ ಪೂರ್ವವೀಕ್ಷಣೆಯನ್ನು ತೋರಿಸುವುದಿಲ್ಲ.</translation>
-<translation id="226038281051944330"><ph name="EXISTING_USER" /> ಅವರ ಸ್ಪೇಸ್‌ನಲ್ಲಿ ನೀವು ಹೊಸ ಖಾತೆಯ ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿದ್ದೀರಿ. ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಲು <ph name="NEW_USER" /> ಅವರಿಗಾಗಿ ಹೊಸ Chrome ಸ್ಪೇಸ್ ರಚಿಸಲು ಬಯಸುತ್ತೀರಾ?</translation>
 <translation id="2290014774651636340">Google API ಕೀಗಳು ಕಾಣೆಯಾಗಿವೆ. Google Chrome ನ ಕೆಲವು ಕಾರ್ಯವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ.</translation>
 <translation id="2290095356545025170">ನೀವು ಖಚಿತವಾಗಿ Google Chrome ಅನ್ನು ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ಬಯಸುತ್ತೀರಾ?</translation>
 <translation id="2309047409763057870">ಇದು Google Chrome ನ ದ್ವಿತೀಯ ಸ್ಥಾಪನೆಯಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್ ಆಗಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ.</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">ಹೊಸದಾದ, ಸುರಕ್ಷಿತವಾದ Google Chrome ನ ಆವೃತ್ತಿ ಲಭ್ಯವಿದೆ.</translation>
 <translation id="3127818369811890733">ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡಲು Chrome OS ಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.</translation>
 <translation id="3149510190863420837">Chrome ಅಪ್ಲಿಕೇಶನ್‌ಗಳು</translation>
-<translation id="3351117925998652957">ನಿಮ್ಮ Chrome ಸ್ಪೇಸ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="3360895254066713204">Chrome ಸಹಾಯಕ</translation>
 <translation id="3379938682270551431">{0,plural, =0{ಇದೀಗ Chrome ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ}=1{1 ಸೆಕೆಂಡಿನಲ್ಲಿ Chrome ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ}one{# ಸೆಕೆಂಡುಗಳಲ್ಲಿ Chrome ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ}other{# ಸೆಕೆಂಡುಗಳಲ್ಲಿ Chrome ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ}}</translation>
 <translation id="3395323229510056640">Chrome OS ನಿಂದ ಸಹಾಯ ಪಡೆಯಿರಿ</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">ದಯವಿಟ್ಟು ಎಲ್ಲಾ Google Chrome ವಿಂಡೋಗಳನ್ನು ಮುಚ್ಚಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="3865754807470779944">Chrome ಆವೃತ್ತಿ <ph name="PRODUCT_VERSION" /> ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="3873044882194371212">ಲಿಂಕ್‌ ಅನ್ನು Chrome ಅ&amp;ದೃಶ್ಯ ವಿಂಡೋದಲ್ಲಿ ತೆರೆಯಿರಿ</translation>
-<translation id="3879568094278837081">ಈ ಸ್ಥಳದ ಬ್ರೌಸಿಂಗ್‌ ಡೇಟಾವನ್ನು ಈ ಸಾಧನದಿಂದ ಅಳಿಸಲಾಗುತ್ತದೆ. ಡೇಟಾವನ್ನು ಮರಳಿ ಪಡೆದುಕೊಳ್ಳಲು, Chrome ನಲ್ಲಿ ಇದರಂತೆ ಸೈನ್-ಇನ್ ಮಾಡಿ</translation>
 <translation id="3889417619312448367">Google Chrome ಅನ್ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ</translation>
 <translation id="4050175100176540509">ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯಲ್ಲಿ ಪ್ರಮುಖವಾದ ಭದ್ರತಾ ಸುಧಾರಣೆಗಳು ಮತ್ತು ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳು ಲಭ್ಯವಿದೆ.</translation>
 <translation id="4053720452172726777">Google Chrome ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ ಮತ್ತು ನಿಯಂತ್ರಿಸಿ</translation>
@@ -145,12 +141,10 @@
 <translation id="4895437082222824641">ಹೊಸ Chrome &amp;ಟ್ಯಾಬ್‌ನಲ್ಲಿ ಲಿಂಕ್ ಅನ್ನು ತೆರೆಯಿರಿ</translation>
 <translation id="4953650215774548573">Google Chrome ಅನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್‌ ರೂಪದಲ್ಲಿ ಹೊಂದಿಸಿ</translation>
 <translation id="495931528404527476">Chrome ನಲ್ಲಿ</translation>
-<translation id="4960472897514318257">ನೀವು ಕೆಲಸದ ಖಾತೆಯ ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿದ್ದೀರಿ. ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಡೇಟಾವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಲು <ph name="NEW_USER" /> ಅವರಿಗಾಗಿ ಹೊಸ Chrome ಸ್ಪೇಸ್ ರಚಿಸಲು ಬಯಸುತ್ತೀರಾ?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS ಮರುಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="5132929315877954718">Google Chrome ಸಲುವಾಗಿ ಉತ್ಕೃಷ್ಟಮಟ್ಟದ ಅಪ್ಲಿಕೇಶನ್‌‌ಗಳು, ಗೇಮ್‌ಗಳು, ವಿಸ್ತರಣೆಗಳು ಹಾಗೂ ಥೀಮ್‌ಗಳನ್ನು ಅನ್ವೇಷಿಸಿ</translation>
 <translation id="5170938038195470297">ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ Google Chrome ನ ಹೊಸ ಆವೃತ್ತಿಯಿಂದ ಆಗಿರುವ ಕಾರಣ ಅದನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ. ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳು ಲಭ್ಯವಿಲ್ಲದಿರಬಹುದು. ದಯವಿಟ್ಟು ಬೇರೆಯ ಪ್ರೊಫೈಲ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ ಅಥವಾ Chrome ನ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ಬಳಸಿ.</translation>
-<translation id="5171117065011130146">ಹೊಸ Chrome ವರ್ಕ್ ಸ್ಪೇಸ್ ರಚಿಸಬೇಕೇ?</translation>
 <translation id="5193136243808726294">Google Chrome OS ಗೆ ಈ ಪುಟ ತೆರೆಯಲಾಗುವುದಿಲ್ಲ.</translation>
 <translation id="5251420635869119124">ಅತಿಥಿಗಳು ಏನನ್ನೂ ಉಳಿಸದೇ Chrome ಬಳಸಬಹುದು.</translation>
 <translation id="532046782124376502">ಎಚ್ಚರಿಕೆ: ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್‌ ಇತಿಹಾಸದಲ್ಲಿ ರೆಕಾರ್ಡಿಂಗ್‌ನಿಂದ ವಿಸ್ತರಣೆಗಳನ್ನು ತಡೆಯುವುದಿಲ್ಲ. ಅಜ್ಞಾತ ಮೋಡ್‌ನಲ್ಲಿ ವಿಸ್ತರಣೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಈ ಆಯ್ಕೆಯನ್ನು ಆರಿಸಬೇಡಿ.</translation>
@@ -215,7 +209,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">ನಿಮ್ಮ ಸಾಧನ ಅಪ್ ಟು ಡೇಟ್ ಆಗಿದೆಯೇ ಎಂಬುದನ್ನು ನೋಡಲು, <ph name="LINK_BEGIN" />Chrome OS ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ<ph name="LINK_END" /> ಹೋಗಿ</translation>
 <translation id="7589360514048265910">ಈ ಕಂಪ್ಯೂಟರ್‌ ಇನ್ನು ಮುಂದೆ Google Chrome ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದಿಲ್ಲ. ಏಕೆಂದರೆ ಅದರ Mac OS X 10.9 ಇನ್ನು ಮುಂದೆ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.</translation>
-<translation id="7591404275842302616">ಈ ಸಾಧನದಲ್ಲಿ ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಅನ್ನು ವ್ಯವಸ್ಥಿತಗೊಳಿಸಲು Chrome ಸ್ಪೇಸ್‌ಗಳನ್ನು ಬಳಸಿ</translation>
 <translation id="7592736734348559088">ನಿಮ್ಮ ಖಾತೆಯ ಸೈನ್ ಇನ್ ವಿವರಗಳು ತೀರಾ ಹಳತಾಗಿರುವ ಕಾರಣ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡಲು Google Chrome ಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.</translation>
 <translation id="7626032353295482388">Chrome ಗೆ ಸ್ವಾಗತ</translation>
 <translation id="7629695634924605473">ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಎಂದಾದರೂ ಹ್ಯಾಕ್‌ ಆಗಿವೆಯೇ ಎಂಬುದನ್ನು Chrome ನಿಮಗೆ ತಿಳಿಸುತ್ತದೆ</translation>
@@ -263,9 +256,7 @@
 <translation id="8823341990149967727">Chrome ನ ಅವಧಿ ಮುಗಿದಿದೆ</translation>
 <translation id="8834965163890861871">Google Chrome, ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಎಡಿಟ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ. ಇದನ್ನು ಅನುಮತಿಸಲು ನಿಮ್ಮ Windows ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ.</translation>
 <translation id="884296878221830158">ನೀವು Chrome ಪ್ರಾರಂಭಿಸಿದಾಗ ಅಥವಾ ಹೋಮ್ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ತೋರಿಸಬೇಕಾದ ಪುಟವನ್ನು ಕೂಡಾ ಇದು ನಿಯಂತ್ರಿಸುತ್ತದೆ.</translation>
-<translation id="8859948767482842016">ನೀವು <ph name="EXISTING_USER" /> ಅವರ ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಕೆಲಸದ ಖಾತೆಯ ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿದ್ದೀರಿ. ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಲು <ph name="WORK_DOMAIN" /> ಗಾಗಿ ಹೊಸ Chrome ಸ್ಪೇಸ್ ರಚಿಸಲು ಬಯಸುತ್ತೀರಾ?</translation>
 <translation id="8862326446509486874">ಸಿಸ್ಟಂ ಮಟ್ಟದ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ನೀವು ಸರಿಯಾದ ಹಕ್ಕುಗಳನ್ನು ಹೊಂದಿಲ್ಲ. ನಿರ್ವಾಹಕರಂತೆ ಮತ್ತೆ ಇನ್‌ಸ್ಟಾಲರ್ ಅನ್ನು ರನ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> ಅವರಿಗಾಗಿ ಹೊಸ Chrome ಸ್ಪೇಸ್ ರಚಿಸಬೇಕೇ?</translation>
 <translation id="8914504000324227558">Chrome ಮರುಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome ಅಪ್‌ಡೇಟ್ ಲಭ್ಯವಿದೆ}=1{Chrome ಅಪ್‌ಡೇಟ್ ಲಭ್ಯವಿದೆ}one{# ದಿನಗಳ ಮಟ್ಟಿಗೆ Chrome ಅಪ್‌ಡೇಟ್ ಲಭ್ಯವಿದೆ}other{# ದಿನಗಳ ಮಟ್ಟಿಗೆ Chrome ಅಪ್‌ಡೇಟ್ ಲಭ್ಯವಿದೆ}}</translation>
 <translation id="9026991721384951619">ನಿಮ್ಮ ಖಾತೆಯ ಸೈನ್ ಇನ್ ವಿವರಗಳು ಹಳೆಯದಾಗಿರುವ ಕಾರಣ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡಲು Chrome OS ಗೆ ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ko.xtb b/chrome/app/resources/google_chrome_strings_ko.xtb
index 78670b73..3c37996 100644
--- a/chrome/app/resources/google_chrome_strings_ko.xtb
+++ b/chrome/app/resources/google_chrome_strings_ko.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Chrome 베타(mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome이 이전 버전임</translation>
 <translation id="1919130412786645364">Chrome 로그인 허용</translation>
-<translation id="195645108406520445">새 Chrome 환경을 설정하세요</translation>
 <translation id="2063848847527508675">업데이트를 적용하려면 Chrome OS를 다시 시작해야 합니다.</translation>
 <translation id="2094919256425865063">Chrome을 종료하시겠습니까?</translation>
 <translation id="2120620239521071941">항목 <ph name="ITEMS_COUNT" />개가 기기에서 삭제됩니다. 나중에 데이터를 가져오려면 Chrome에 <ph name="USER_EMAIL" />(으)로 로그인하세요.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />현재 설정<ph name="END_LINK" />을 보고하여 Chrome 개선에 참여</translation>
 <translation id="2151406531797534936">지금 Chrome을 다시 시작하세요</translation>
 <translation id="2246246234298806438">기본 제공되는 PDF 뷰어가 없는 경우 Chrome에서 인쇄 미리보기를 표시할 수 없습니다.</translation>
-<translation id="226038281051944330"><ph name="EXISTING_USER" />님의 공간에 새 계정으로 로그인했습니다. 데이터를 별도로 유지하기 위해 <ph name="NEW_USER" />님을 위한 Chrome 공간을 새로 만드시겠습니까?</translation>
 <translation id="2290014774651636340">Google API 키가 누락되었습니다. Chrome의 일부 기능이 사용 중지됩니다.</translation>
 <translation id="2290095356545025170">Chrome을 제거하시겠습니까?</translation>
 <translation id="2309047409763057870">Chrome의 보조 설치이며 기본 브라우저로 설정할 수 없습니다.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">새롭고 안전한 Chrome의 새 버전을 사용할 수 있습니다.</translation>
 <translation id="3127818369811890733">Chrome OS에서 데이터를 동기화할 수 없습니다.</translation>
 <translation id="3149510190863420837">Chrome 앱</translation>
-<translation id="3351117925998652957">Chrome Space 선택</translation>
 <translation id="3360895254066713204">Chrome 도우미</translation>
 <translation id="3379938682270551431">{0,plural, =0{지금 Chrome이 다시 시작됩니다}=1{1초 후 Chrome이 다시 시작됩니다}other{#초 후 Chrome이 다시 시작됩니다}}</translation>
 <translation id="3395323229510056640">Chrome OS 도움말 보기</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Chrome 창을 모두 닫고 다시 시도해 보세요.</translation>
 <translation id="3865754807470779944">Chrome <ph name="PRODUCT_VERSION" /> 버전이 설치됩니다.</translation>
 <translation id="3873044882194371212">Chrome 시크릿 창에서 링크 열기(&amp;G)</translation>
-<translation id="3879568094278837081">이 공간의 인터넷 사용 기록이 이 기기에서 삭제됩니다. 데이터를 복원하려면 다음 프로필로 Chrome에 로그인하세요.</translation>
 <translation id="3889417619312448367">Chrome 제거</translation>
 <translation id="4050175100176540509">최신 버전에는 중요한 보안 개선사항 및 새로운 기능이 포함되어 있습니다.</translation>
 <translation id="4053720452172726777">Chrome 맞춤설정 및 제어</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">새 Chrome 탭에서 링크 열기(&amp;T)</translation>
 <translation id="4953650215774548573">Chrome을 기본 브라우저로 설정</translation>
 <translation id="495931528404527476">Chrome</translation>
-<translation id="4960472897514318257">직장 계정으로 로그인했습니다. 개인 데이터를 별도로 유지하기 위해 <ph name="NEW_USER" />님을 위한 Chrome 공간을 새로 만드시겠습니까?</translation>
 <translation id="4990567037958725628">Chrome 카나리아</translation>
 <translation id="5062123544085870375">Chrome OS 다시 시작</translation>
 <translation id="5132929315877954718">Chrome에 사용할 유용한 애플리케이션, 게임, 확장 프로그램 및 테마를 찾아보세요.</translation>
 <translation id="5170938038195470297">최신 버전의 Chrome에서 가져온 사용자 프로필이기 때문에 사용할 수 없습니다.
 
 일부 기능은 사용하지 못할 수 있습니다. 다른 프로필 디렉터리를 지정하거나 최신 버전의 Chrome을 사용하세요.</translation>
-<translation id="5171117065011130146">새로운 Chrome 작업 공간을 만드시겠습니까?</translation>
 <translation id="5193136243808726294">Chrome OS에서 이 페이지를 열 수 없음</translation>
 <translation id="5251420635869119124">게스트로 사용 기록을 남기지 않고 Chrome을 사용할 수 있습니다.</translation>
 <translation id="532046782124376502">경고: Chrome에서는 확장 프로그램에 인터넷 사용 기록이 저장될 수 있습니다. 시크릿 모드에서 이 확장 프로그램을 사용 중지하려면 옵션을 선택 취소하세요.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Chrome 개발자</translation>
 <translation id="7573289029918943991">기기가 최신 버전인지 확인하려면 <ph name="LINK_BEGIN" />Chrome OS 설정<ph name="LINK_END" />으로 이동하세요.</translation>
 <translation id="7589360514048265910">Mac OS X 10.9가 더 이상 지원되지 않으므로 이 컴퓨터에서 Chrome 업데이트를 받을 수 없게 됩니다.</translation>
-<translation id="7591404275842302616">Chrome Space를 사용하여 기기의 탐색 환경을 정리하세요.</translation>
 <translation id="7592736734348559088">계정의 로그인 세부정보가 오래되어 Chrome에서 데이터를 동기화하지 못했습니다.</translation>
 <translation id="7626032353295482388">Chrome에 오신 것을 환영합니다</translation>
 <translation id="7629695634924605473">비밀번호가 유출되면 Chrome에서 알려줍니다.</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome이 이전 버전임</translation>
 <translation id="8834965163890861871">Chrome에서 비밀번호를 수정하려고 합니다. 허용하려면 Windows 비밀번호를 입력하세요.</translation>
 <translation id="884296878221830158">또한 Chrome을 시작하거나 홈 버튼을 클릭할 때 표시되는 페이지를 설정합니다.</translation>
-<translation id="8859948767482842016"><ph name="EXISTING_USER" />님의 공간에 직장 계정으로 로그인했습니다. 데이터를 별도로 유지하기 위해 <ph name="WORK_DOMAIN" />용 Chrome 공간을 새로 만드시겠습니까?</translation>
 <translation id="8862326446509486874">시스템 수준의 설치 권한이 없습니다. 관리자 권한으로 설치 프로그램을 다시 실행해 보세요.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" />님을 위한 Chrome 공간을 새로 만드시겠습니까?</translation>
 <translation id="8914504000324227558">Chrome 다시 시작</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome 업데이트 출시}=1{Chrome 업데이트 출시}other{Chrome 업데이트가 출시된 지 #일 지남}}</translation>
 <translation id="9026991721384951619">계정의 로그인 세부정보가 오래되어 Chrome OS에서 데이터를 동기화하지 못했습니다.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ky.xtb b/chrome/app/resources/google_chrome_strings_ky.xtb
index 74c19f05..bc1108a 100644
--- a/chrome/app/resources/google_chrome_strings_ky.xtb
+++ b/chrome/app/resources/google_chrome_strings_ky.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Бета (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome эскирип калган.</translation>
 <translation id="1919130412786645364">Chrome'го кирүүгө уруксат берүү</translation>
-<translation id="195645108406520445">Жаңы Chrome сактагычын жөндөңүз</translation>
 <translation id="2063848847527508675">Жаңыртууну колдонуу үчүн Chrome OS өчүрүлүп күйгүзүлүшү керек.</translation>
 <translation id="2094919256425865063">Баары бир Chrome'ду токтотосузбу?</translation>
 <translation id="2120620239521071941">Ушуну менен түзмөктөгү <ph name="ITEMS_COUNT" /> нерсе өчүрүлөт. Дайын-даректериңизди кийинчерээк чыгарып алуу үчүн Chrome'го <ph name="USER_EMAIL" /> аккаунту менен кириңиз.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />Учурдагы жөндөөлөр<ph name="END_LINK" /> жөнүндө кабар берип, Chrome'ду өркүндөтүүгө кол кабыш кылыңыз</translation>
 <translation id="2151406531797534936">Chrome'ду азыр өчүрүп күйгүзүңүз</translation>
 <translation id="2246246234298806438">Камтылган PDF көрсөткүчү жок болсо, Google Chrome басылып чыга турган нерсени алдын ала көрсөтө албайт.</translation>
-<translation id="226038281051944330"><ph name="EXISTING_USER" /> мейкиндигине жаңы аккаунт менен кирдиңиз. <ph name="NEW_USER" /> үчүн жаңы Chrome мейкиндигин түзүп, маалыматты өзүнчө сактагыңыз келеби?</translation>
 <translation id="2290014774651636340">Google API ачкычтары жок. Google Chrome'дун айрым функциялары өчүрүлөт.</translation>
 <translation id="2290095356545025170">Google Chrome'ду чын эле орнотуудан чыгаргыңыз келеби?</translation>
 <translation id="2309047409763057870">Бул Chromium'дун кошумча орнотулушу болгондуктан, аны демейки серепчиңиз катары тандай албайсыз.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Google Chrome'дун бир кыйла жаңы, коопсуз версиясы бар.</translation>
 <translation id="3127818369811890733">Chrome OS маалыматыңызды шайкештештире албай койду.</translation>
 <translation id="3149510190863420837">Chrome колдонмолору</translation>
-<translation id="3351117925998652957">Chrome сактагычын тандаңыз</translation>
 <translation id="3360895254066713204">Chrome Жардамчысы</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome азыр кайра иштетилет}=1{Chrome 1 секунддан кийин кайра иштетилет}other{Chrome # секунддан кийин кайра иштетилет}}</translation>
 <translation id="3395323229510056640">Chrome OS'тон жардам алыңыз</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Бардык Google Chrome терезелерин жаап, дагы бир жолу аракет кылыңыз.</translation>
 <translation id="3865754807470779944"><ph name="PRODUCT_VERSION" /> Chrome версиясы орнотулду</translation>
 <translation id="3873044882194371212">Шилтемени Chrome'дун жашы&amp;руун терезесинде ачуу</translation>
-<translation id="3879568094278837081">Бул адамдын серептөө дайындары бул түзмөктөн биротоло өчүрүлөт. Дайындарды калыбына келтирүү үчүн Chrome'го төмөнкү аккаунт менен кириңиз:</translation>
 <translation id="3889417619312448367">Google Chrome'ду орнотуудан чыгаруу</translation>
 <translation id="4050175100176540509">Эң акыркы версияда коопсуздукту бекемдөө каражаттары менен жаңы мүмкүнчүлүктөр камтылган.</translation>
 <translation id="4053720452172726777">Google Chrome'ду өзгөчөлөштүрүү жана көзөмөлдөө</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Шилтемени жаңы Chrome &amp;өтмөгүндө ачуу</translation>
 <translation id="4953650215774548573">Google Chrome'ду демейки серепчи катары коюу</translation>
 <translation id="495931528404527476">Chrome ичинде</translation>
-<translation id="4960472897514318257">Жумуш аккаунту менен кирдиңиз. <ph name="NEW_USER" /> үчүн жаңы Chrome мейкиндигин түзүп, маалыматты өзүнчө сактагыңыз келеби?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS'ту өчүрүп-күйгүзүңүз</translation>
 <translation id="5132929315877954718">Google Chrome'дун мыкты колдонмолор, оюндар, кеңейтүүлөр жана темалар дүйнөсүн ачыңыз.</translation>
 <translation id="5170938038195470297">Профилиңиз Google Chrome'дун акыркы версиясынан болгондуктан, колдонулбайт.
 
 Айрым мүмкүнчүлүктөрдү колдоно албашыңыз мүмкүн. Башка профиль каталогун көрсөтүңүз же Chrome'дун жаңыраак версиясын колдонуңуз.</translation>
-<translation id="5171117065011130146">Chrome'до жаңы Жумуш мейкиндигин ачасызбы?</translation>
 <translation id="5193136243808726294">Google Chrome OS бул баракты ача албайт.</translation>
 <translation id="5251420635869119124">Коноктор Chrome'ду артында эч нерсе калтырбай колдоно алышат.</translation>
 <translation id="532046782124376502">Эскертүү: Google Chrome кеңейтүүлөргө серептөө таржымалыңызды жазып алуусуна тыюу сала албайт. Бул кеңейтүүнү жашыруун режимде өчүрүү үчүн, бул параметрди тандоодон чыгарыңыз.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Түзмөгүңүздүн жаңыртылганын текшерүү үчүн <ph name="LINK_BEGIN" />Chrome OS Жөндөөлөрүнө<ph name="LINK_END" /> өтүңүз</translation>
 <translation id="7589360514048265910">Бул компьютер мындан ары Google Chrome жаңыртууларын албайт, себеби Mac OS X 10.9 мындан ары колдоого алынбайт.</translation>
-<translation id="7591404275842302616">Серептеген барактарды иреттүү кармоо үчүн, Chrome сактагычтарын колдонуңуз</translation>
 <translation id="7592736734348559088">Аккаунтуңуздун кирүү чоо-жайы эскирип калгандыктан, Google Chrome дайын-даректериңизди шайкештештире алган жок.</translation>
 <translation id="7626032353295482388">Chrome'го кош келиңиз</translation>
 <translation id="7629695634924605473">Chrome сырсөздөрүңүздү башка бирөөлөр билип алса сизге кабарлайт</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome эскирип калган.</translation>
 <translation id="8834965163890861871">Google Chrome сырсөздөрдү өзгөртүүгө аракет кылып жатат. Ага уруксат берүү үчүн Windows сырсөзүңүздү териңиз.</translation>
 <translation id="884296878221830158">Chrome'ду иштетип баштаганда же Башкы бет баскычы чыкылдатылганда, кайсы бет көрсөтүлө тургандыгын көзөмөлдөйт.</translation>
-<translation id="8859948767482842016"><ph name="EXISTING_USER" /> мейкиндигине Жумуш аккаунту менен кирдиңиз. <ph name="WORK_DOMAIN" /> үчүн жаңы Chrome мейкиндигин түзүп, маалыматты өзүнчө сактагыңыз келеби?</translation>
 <translation id="8862326446509486874">Тутум деңгээлинде орнотууга тийиштүү укугуңуз жок. Орноткучту Администратор катары кайра иштетип көрүңүз.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> үчүн жаңы Chrome мейкиндиги түзүлсүнбү?</translation>
 <translation id="8914504000324227558">Chrome'ду кайрадан ишке киргизүү</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome'дун жаңы версиясы жеткиликтүү}=1{Chrome'дун жаңы версиясы жеткиликтүү}other{Chrome'дун жаңы версиясы # күндөн бери жеткиликтүү}}</translation>
 <translation id="9026991721384951619">Аккаунтуңуздун кирүү чоо-жайы эскирип калгандыктан, Chrome OS дайын-даректериңизди шайкештештире алган жок.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lo.xtb b/chrome/app/resources/google_chrome_strings_lo.xtb
index 57e2a8e4..cf24747 100644
--- a/chrome/app/resources/google_chrome_strings_lo.xtb
+++ b/chrome/app/resources/google_chrome_strings_lo.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome ລ້າສະໄໝແລ້ວ</translation>
 <translation id="1919130412786645364">ອະນຸຍາດການເຂົ້າສູ່ລະບົບ Chrome</translation>
-<translation id="195645108406520445">ຕັ້ງຄ່າ Chrome Space ໃໝ່ຂອງທ່ານ</translation>
 <translation id="2063848847527508675">Chrome OS ຕ້ອງການປິດແລ້ວເປີດລະບົບຄືນໃໝ່ເພື່ອນຳໃຊ້ການອັບເດດ.</translation>
 <translation id="2094919256425865063">ຢືນຢັນການອອກຈາກ Chrome ບໍ?</translation>
 <translation id="2120620239521071941">ນີ້ຈະລຶບ <ph name="ITEMS_COUNT" /> ລາຍການອອກຈາກວິດີໂອນີ້. ເພື່ອກູ້ຂໍ້ມູນຂອງທ່ານຄືນໃນພາຍຫຼັງ, ກະລຸນາເຂົ້າສູ່ລະບົບ Chrome ເປັນ <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">ຊ່ວຍເຮັດໃຫ້ Chrome ດີຂຶ້ນໂດຍການລາຍງານ <ph name="BEGIN_LINK" />ການຕັ້ງຄ່າປັດຈຸບັນ<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">ກະລຸນາປິດເປີດ Chrome ຄືນໃໝ່ຕອນນີ້ເລີຍ</translation>
 <translation id="2246246234298806438">Google Chrome ບໍ່ສາມາດສະແດງຕົວຢ່າງເບິ່ງກ່ອນພິມໄດ້ ເມື່ອຂາດຕົວເບິ່ງ PDF ມາກັບເຄື່ອງໄປ.</translation>
-<translation id="226038281051944330">ທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີໃໝ່ໃນພື້ນທີ່ຂອງ <ph name="EXISTING_USER" />. ທ່ານຕ້ອງການສ້າງພື້ນທີ່ Chrome ໃໝ່ສຳລັບ <ph name="NEW_USER" /> ເພື່ອເກັບຮັກສາຂໍ້ມູນຂອງທ່ານແຍກໄວ້ຕ່າງຫາກບໍ?</translation>
 <translation id="2290014774651636340">ລະຫັດ Google API ຫາຍໄປ. ການເຮັດໜ້າທີ່ບາງອັນຂອງ  Google Chrom ຈະປິດໃຊ້ງານ.</translation>
 <translation id="2290095356545025170">ທ່ານແນ່ໃຈບໍວ່າ ທ່ານຕ້ອງການຖອນຕິດຕັ້ງ Google Chrome?</translation>
 <translation id="2309047409763057870">ນີ້ແມ່ນການຕິດຕັ້ງສຳຮອງຂອງ Google Chrome ແລະ ບໍ່ສາມາດຕັ້ງໃຫ້ເປັນໂປຣແກຣມທ່ອງເວັບເລີ່ມຕົ້ນຂອງທ່ານໄດ້.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">ມີ Google Chrome ລຸ້ນໃໝ່ປອດໄພກ່ວາຢູ່.</translation>
 <translation id="3127818369811890733">Chrome OS ບໍ່ສາມາດຊິ້ງຂໍ້ມູນຂອງທ່ານໄດ້.</translation>
 <translation id="3149510190863420837">ແອັບ Chrome</translation>
-<translation id="3351117925998652957">ເລືອກພື້ນທີ່ Chrome ຂອງທ່ານ</translation>
 <translation id="3360895254066713204">ຕົວຊ່ວຍ Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome ຈະເປີດຄືນໃໝ່ດຽວນີ້}=1{Chrome ຈະເປີດຄືນໃໝ່ໃນ 1 ວິນາທີ}other{Chrome ຈະເປີດຄືນໃໝ່ໃນ # ວິນາທີ}}</translation>
 <translation id="3395323229510056640">ຂໍຄວາມຊ່ວຍເຫຼືອເລື່ອງ Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">ກະລຸນາປິດທຸກວິນໂດ Google Chrome ແລະລອງໃໝ່ອີກ.</translation>
 <translation id="3865754807470779944">ຕິດຕັ້ງ Chrome ເວີຊັນ <ph name="PRODUCT_VERSION" /> ແລ້ວ</translation>
 <translation id="3873044882194371212">ເປີດລິ້ງໃນໜ້າຈໍທີ່ບໍ່ເຜີຍຕົວຕົນຂອງ Chrome</translation>
-<translation id="3879568094278837081">ຂໍ້ມູນການທ່ອງເວັບຂອງພື້ນທີ່ນີ້ຈະຖືກລຶບອອກຈາກອຸປະກອນນີ້. ເພື່ອກູ້ຂໍ້ມູນຄືນມາ, ກະລຸນາເຂົ້າສູ່ລະບົບ Chrome ເປັນ</translation>
 <translation id="3889417619312448367">ຖອນຕິດຕັ້ງ Google Chrome</translation>
 <translation id="4050175100176540509">ການ​ປັບ​ປຸງ​ຄວາມ​ປອດ​ໄພ​ທີ່​ສຳ​ຄັນ ແລະ​ຄຸນ​ສົມ​ບັດ​ໃໝ່​ມີ​ໃຫ້​ຢູ່​ໃນ​ເວີ​ຊັນ​ຫຼ້າ​ສຸດ.</translation>
 <translation id="4053720452172726777">ກໍານົດເອງ ແລະຄວບຄຸມ Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">ເປີດລິ້ງໃນແຖບ Chrome ໃໝ່</translation>
 <translation id="4953650215774548573">ຕັ້ງ Google Chrome ເປັນບຣາວ​ເຊີມາດຕະຖານຂອງທ່ານ</translation>
 <translation id="495931528404527476">ຢູ່ໃນ Chrome</translation>
-<translation id="4960472897514318257">ທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີບ່ອນເຮັດວຽກ. ທ່ານຕ້ອງການສ້າງພື້ນທີ່ Chrome ໃໝ່ສຳລັບ <ph name="NEW_USER" /> ເພື່ອເກັບຮັກສາຂໍ້ມູນຂອງທ່ານແຍກໄວ້ຕ່າງຫາກບໍ?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">ປິດເປີດ Chrome OS ຄືນໃໝ່</translation>
 <translation id="5132929315877954718">ຄົ້ນພົບແອັບຯ, ເກມ, ສ່ວນຂະຫຍາຍ ແລະ ຮູບແບບສີສັນສຳລັບ Google Chrome.</translation>
 <translation id="5170938038195470297">ບໍ່ສາມາດໃຊ້ໂປຣໄຟລ໌ຂອງທ່ານໄດ້ ເພາະວ່າມັນມາຈາກ Google Chrome ລຸ້ນໃໝ່.
 
 ອາດຈະບໍ່ມີບາງຄຸນສົມບັດຢູ່. ກະລຸນາລະບຸໄດເຣັກຕໍຣີໂປຣໄຟລ໌ອື່ນ ຫຼືໃຊ້ Chrome ລຸ້ນໃໝ່ກ່ວາ.</translation>
-<translation id="5171117065011130146">ສ້າງພື້ນທີ່ວຽກໃໝ່ໃນ Chrome ບໍ?</translation>
 <translation id="5193136243808726294">Google Chrome OS ບໍ່ສາມາດເປີດໜ້ານີ້ໄດ້.</translation>
 <translation id="5251420635869119124">ແຂກສາມາດໃຊ້  Chrome ໂດຍ​ບໍ່​ມີ​ການປະອັນໃດໄວ້ເບື້ອງຫຼັງໄດ້.</translation>
 <translation id="532046782124376502">ຄຳເຕືອນ: Google Chrome ບໍ່ສາມາດປ້ອງກັນບໍ່ໃຫ້ສ່ວນຂະຫຍາຍບັນທຶກປະຫວັດການທ່ອງເວັບຂອງທ່ານໄດ້. ເພື່ອປິດນຳໃຊ້ສ່ວນຂະຫຍາຍນີ້ໃນໂໝດບໍ່ເປີດເຜີຍຕົວຕົນ, ກະລຸນາຍົກເລີກການເລືອກຕົວເລືອກນີ້.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">ເພື່ອເບິ່ງວ່າອຸປະກອນຂອງທ່ານໃໝ່ຫຼ້າສຸດຫຼືບໍ່, ກະລຸນາໄປທີ່ <ph name="LINK_BEGIN" />ການຕັ້ງຄ່າ Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">ຄອມພິວເຕີນີ້ຈະບໍ່ໄດ້ຮັບການອັບເດດ Google Chrome ອີກຕໍ່ໄປ ເພາະວ່າບໍ່ຮອງຮັບ Mac OS X 10.9 ອີກແລ້ວ.</translation>
-<translation id="7591404275842302616">ໃຊ້ພື້ນທີ່ Chrome ເພື່ອຮັກສາໃຫ້ການທ່ອງເວັບຂອງທ່ານເປັນລະບຽບຢູ່ໃນອຸປະກອນນີ້</translation>
 <translation id="7592736734348559088">Goolge Chrome ບໍ່​ສາ​ມາດຊິງຄ໌ຂໍ້​ມູນ​ຂອງ​ທ່ານໄດ້ ​ເພາະ​ວ່າ​ລາຍລະອຽດການລົງຊື່ເຂົ້າໃຊ້ບັນ​ຊີຂອງທ່ານຫຼ້າສະໄໝແລ້ວ.</translation>
 <translation id="7626032353295482388">ຍິນ​ດີ​ຕ້ອນ​ຮັບສູ່ Chrome</translation>
 <translation id="7629695634924605473">Chrome ແຈ້ງໃຫ້ທ່ານຮູ້ຖ້າມີຄົນຮູ້ລະຫັດຜ່ານຂອງທ່ານ</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome ລ້າສະໄໝແລ້ວ</translation>
 <translation id="8834965163890861871">Google Chrome ກໍາລັງພະຍາຍາມແກ້ໄຂລະຫັດຜ່ານ. ພິມລະຫັດຜ່ານ Windows ຂອງທ່ານ ເພື່ອອະນຸຍາດອັນນີ້.</translation>
 <translation id="884296878221830158">ມັນຍັງຄວບຄຸມວ່າຈະໃຫ້ສະແດງໜ້າໃດຂຶ້ນ ເມື່ອທ່ານເລີ່ມຕົ້ນເປີດ Chrome ຫຼືຄລິກປຸ່ມໂຮມ.</translation>
-<translation id="8859948767482842016">ທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີບ່ອນເຮັດວຽກໃນພື້ນທີ່ຂອງ <ph name="EXISTING_USER" />. ທ່ານຕ້ອງການສ້າງພື້ນທີ່ Chrome ໃໝ່ສຳລັບ <ph name="WORK_DOMAIN" /> ເພື່ອເກັບຮັກສາຂໍ້ມູນຂອງທ່ານແຍກໄວ້ຕ່າງຫາກບໍ?</translation>
 <translation id="8862326446509486874">ທ່ານບໍ່ມີສິດທິທີ່ເໝາະສົມສໍາລັບຕິດຕັ້ງ​ໃນລະດັບລະບົບ. ລອງແລ່ນຕົວຕິດຕັ້ງນີ້ອີກ​ໃນ​ຖານະ​ເປັນ​ຜູ້ຄວບຄຸມ.</translation>
-<translation id="8877586659207810298">ສ້າງພື້ນທີ່ໃໝ່ໃນ Chrome ສຳລັບ <ph name="NEW_USER" /> ບໍ?</translation>
 <translation id="8914504000324227558">ເປີດໃຊ້ Chrome ຄືນໃໝ່</translation>
 <translation id="8999208279178790196">{0,plural, =0{ມີການອັບເດດ Chrome}=1{ມີການອັບເດດ Chrome}other{ມີການອັບເດດ Chrome ເປັນເວລາ # ມື້ແລ້ວ}}</translation>
 <translation id="9026991721384951619">Chrome OS ບໍ່​ສາ​ມາດຊິງຄ໌ຂໍ້​ມູນ​ຂອງ​ທ່ານໄດ້ ​ເພາະ​ວ່າ​ລາຍລະອຽດການລົງຊື່ເຂົ້າບັນ​ຊີຂອງທ່ານຫຼ້າສະໄໝແລ້ວ.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lt.xtb b/chrome/app/resources/google_chrome_strings_lt.xtb
index 9665be90..929cda92 100644
--- a/chrome/app/resources/google_chrome_strings_lt.xtb
+++ b/chrome/app/resources/google_chrome_strings_lt.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">„Google Chrome“ beta („mDNS-In“)</translation>
 <translation id="1877026089748256423">„Chrome“ versija yra pasenusi</translation>
 <translation id="1919130412786645364">Leisti „Chrome“ prisijungti</translation>
-<translation id="195645108406520445">Naujos „Chrome“ srities nustatymas</translation>
 <translation id="2063848847527508675">Kad būtų galima pritaikyti naujinį, „Chrome“ OS reikia paleisti iš naujo.</translation>
 <translation id="2094919256425865063">Vis tiek išeiti iš „Chrome“?</translation>
 <translation id="2120620239521071941">Atlikus šį veiksmą, iš šio įrenginio bus ištrinta tiek elementų: <ph name="ITEMS_COUNT" />. Jei vėliau norėsite atgauti duomenis, prisijunkite prie „Chrome“ kaip <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Padėkite tobulinti „Chrome“ pateikę ataskaitą apie <ph name="BEGIN_LINK" />dabartinius nustatymus<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Dabar iš naujo paleiskite „Chrome“</translation>
 <translation id="2246246234298806438">„Google Chrome“ negali rodyti spaudinio peržiūros, kai nėra integruotos PDF žiūryklės.</translation>
-<translation id="226038281051944330">Prisijungėte naudodami naują paskyrą naudotojo (<ph name="EXISTING_USER" />) srityje. Ar norėtumėte sukurti naują „Chromium“ sritį, skirtą naudotojui (<ph name="NEW_USER" />), kad jūsų duomenys būtų saugomi atskirai?</translation>
 <translation id="2290014774651636340">Trūksta „Google“ API raktų. Bus išjungtos kai kurios „Google Chrome“ funkcijos.</translation>
 <translation id="2290095356545025170">Ar tikrai norite pašalinti „Google Chrome“?</translation>
 <translation id="2309047409763057870">Tai yra antrinis „Google Chrome“ diegimas, todėl ji negali būti nustatyta kaip numatytoji naršyklė.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Galima nauja, saugesnė „Google Chrome“ versija.</translation>
 <translation id="3127818369811890733">„Chrome“ OS nepavyko sinchronizuoti jūsų duomenų.</translation>
 <translation id="3149510190863420837">„Chrome“ programos</translation>
-<translation id="3351117925998652957">Pasirinkite savo „Chrome Space“</translation>
 <translation id="3360895254066713204">„Chrome“ pagalbos priemonė</translation>
 <translation id="3379938682270551431">{0,plural, =0{„Chrome“ bus paleista iš naujo dabar}=1{„Chrome“ bus paleista iš naujo po 1 sekundės}one{„Chrome“ bus paleista iš naujo po # sekundės}few{„Chrome“ bus paleista iš naujo po # sekundžių}many{„Chrome“ bus paleista iš naujo po # sekundės}other{„Chrome“ bus paleista iš naujo po # sekundžių}}</translation>
 <translation id="3395323229510056640">Gaukite pagalbos dėl „Chrome“ OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Uždarykite visus „Google Chrome“ langus ir bandykite dar kartą.</translation>
 <translation id="3865754807470779944">„Chrome“ versija <ph name="PRODUCT_VERSION" /> įdiegta</translation>
 <translation id="3873044882194371212">Atidaryti nuorodą „Chrome“ inko&amp;gnito lange</translation>
-<translation id="3879568094278837081">Šios srities naršymo duomenys bus ištrinti iš šio įrenginio. Jei norite atkurti duomenis, prisijunkite prie „Chrome“ kaip</translation>
 <translation id="3889417619312448367">Išdiegti „Google Chrome“</translation>
 <translation id="4050175100176540509">Naujausios versijos programoje įdiegti svarbūs saugos patobulinimai ir pasiekiamos naujos funkcijos.</translation>
 <translation id="4053720452172726777">Tinkinkite ir valdykite „Google Chrome“</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Atidaryti nuorodą naujame „Chrome“ &amp;skirtuke</translation>
 <translation id="4953650215774548573">Nustatyti „Google Chrome“ kaip numatytąją naršyklę</translation>
 <translation id="495931528404527476">Naudojant „Chrome“</translation>
-<translation id="4960472897514318257">Prisijungėte naudodami darbo paskyrą. Ar norėtumėte sukurti naują „Chromium“ sritį, skirtą naudotojui (<ph name="NEW_USER" />), kad jūsų asmeniniai duomenys būtų saugomi atskirai?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">„Chrome“ OS paleidimas iš naujo</translation>
 <translation id="5132929315877954718">Suraskite puikių „Google Chrome“ programų, žaidimų, plėtinių ir temų.</translation>
 <translation id="5170938038195470297">Jūsų profilio negalima naudoti, nes jis iš naujesnės „Google Chrome“ versijos.
 
 Kai kurios funkcijos gali būti nepasiekiamos. Nurodykite kitą profilio katalogą arba naudokite naujesnės versijos „Chrome“.</translation>
-<translation id="5171117065011130146">Kurti naują „Chrome“ darbo sritį?</translation>
 <translation id="5193136243808726294">„Google Chrome“ OS negali atidaryti šio puslapio.</translation>
 <translation id="5251420635869119124">Svečiai gali naudoti „Chrome“ nepalikdami jokių duomenų.</translation>
 <translation id="532046782124376502">Įspėjimas: „Google Chrome“ negali neleisti plėtiniams įrašyti naršymo istorijos. Jei norite neleisti šio plėtinio inkognito režimu, panaikinkite šios parinkties žymėjimą.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Norėdami sužinoti, ar įrenginys atnaujintas, eikite į <ph name="LINK_BEGIN" />„Chrome“ OS nustatymus<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Šiame kompiuteryje nebebus gaunami „Google Chrome“ naujiniai, nes 10.9 versijos „Mac OS X“ nebepalaikoma.</translation>
-<translation id="7591404275842302616">Naudodami „Chrome Spaces“ šiame įrenginyje naršykite organizuotai</translation>
 <translation id="7592736734348559088">„Google Chrome“ negali sinchronizuoti duomenų, nes paskyros išsami prisijungimo informacija yra pasenusi.</translation>
 <translation id="7626032353295482388">Sveiki, tai „Chrome“</translation>
 <translation id="7629695634924605473">„Chrome“ praneš, jei slaptažodžiai bus pažeisti</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">„Chrome“ versija yra pasenusi</translation>
 <translation id="8834965163890861871">„Google Chrome“ bando redaguoti slaptažodžius. Įveskite „Windows“ slaptažodį, kad tai leistumėte.</translation>
 <translation id="884296878221830158">Ji taip pat kontroliuoja, koks puslapis rodomas, kai paleidžiate „Chrome“ ar spustelėjate pagrindinio puslapio mygtuką.</translation>
-<translation id="8859948767482842016">Prisijungėte naudodami darbo paskyrą naudotojo (<ph name="EXISTING_USER" />) srityje. Ar norėtumėte sukurti naują „Chromium“ sritį, skirtą <ph name="WORK_DOMAIN" />, kad jūsų duomenys būtų saugomi atskirai?</translation>
 <translation id="8862326446509486874">Neturite reikiamų teisių sistemai įdiegti. Pamėginkite įdiegimo priemonę dar kartą paleisti kaip administratorius.</translation>
-<translation id="8877586659207810298">Kurti naują „Chome“ sritį, skirtą naudotojui (<ph name="NEW_USER" />)?</translation>
 <translation id="8914504000324227558">Iš naujo paleisti „Chrome“</translation>
 <translation id="8999208279178790196">{0,plural, =0{Pasiekiamas „Chrome“ naujinys}=1{Pasiekiamas „Chrome“ naujinys}one{„Chrome“ naujinys pasiekiamas # dieną}few{„Chrome“ naujinys pasiekiamas # dienas}many{„Chrome“ naujinys pasiekiamas # dienos}other{„Chrome“ naujinys pasiekiamas # dienų}}</translation>
 <translation id="9026991721384951619">„Chrome“ OS negali sinchronizuoti duomenų, nes paskyros išsami prisijungimo informacija yra pasenusi.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lv.xtb b/chrome/app/resources/google_chrome_strings_lv.xtb
index e981b85..3a7f706 100644
--- a/chrome/app/resources/google_chrome_strings_lv.xtb
+++ b/chrome/app/resources/google_chrome_strings_lv.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome versija ir novecojusi.</translation>
 <translation id="1919130412786645364">Atļaut pierakstīties pārlūkā Chrome</translation>
-<translation id="195645108406520445">Jaunas Chrome darbvietas izveide</translation>
 <translation id="2063848847527508675">Lai lietotu atjauninājumu, Chrome OS ir jārestartē.</translation>
 <translation id="2094919256425865063">Vai tik un tā aizvērt pārlūku Chrome?</translation>
 <translation id="2120620239521071941">Veicot šo darbību, no šīs ierīces tiks dzēsts(-i) <ph name="ITEMS_COUNT" /> vienums(-i). Lai vēlāk izgūtu datus, pierakstieties pārlūkā Chrome kā <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Palīdziet uzlabot pārlūku Chrome, ziņojot par <ph name="BEGIN_LINK" />pašreizējiem iestatījumiem<ph name="END_LINK" />.</translation>
 <translation id="2151406531797534936">Lūdzu, nekavējoties restartējiet pārlūku Chrome</translation>
 <translation id="2246246234298806438">Pārlūks Google Chrome nevar parādīt drukas priekšskatījumu, ja nav pieejams iebūvētais PDF skatītājs.</translation>
-<translation id="226038281051944330">Jūs pierakstījāties lietotāja <ph name="EXISTING_USER" /> darbvietā ar jaunu kontu. Vai vēlaties izveidot jaunu Chrome darbvietu lietotājam <ph name="NEW_USER" />, lai glabātu datus atsevišķi?</translation>
 <translation id="2290014774651636340">Trūkst Google API atslēgu. Tiks atspējotas dažas Google Chrome funkcijas.</translation>
 <translation id="2290095356545025170">Vai tiešām vēlaties atinstalēt Google Chrome?</translation>
 <translation id="2309047409763057870">Šī ir Google Chrome papildu instalācija, un to nevar izmantot kā noklusējuma pārlūku.</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">Ir pieejama jauna un drošāka Google Chrome versija.</translation>
 <translation id="3127818369811890733">Chrome OS nevarēja sinhronizēt jūsu datus.</translation>
 <translation id="3149510190863420837">Chrome lietotnes</translation>
-<translation id="3351117925998652957">Chrome darbvietas izvēle</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Pārlūks Chrome tūlīt tiks restartēts}=1{Pārlūks Chrome pēc 1 sekundes tiks restartēts}zero{Pārlūks Chrome pēc # sekundēm tiks restartēts}one{Pārlūks Chrome pēc # sekundes tiks restartēts}other{Pārlūks Chrome pēc # sekundēm tiks restartēts}}</translation>
 <translation id="3395323229510056640">Saņemt palīdzību par Chrome OS</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">Lūdzu, aizveriet visus Google Chrome logus un mēģiniet vēlreiz.</translation>
 <translation id="3865754807470779944">Ir instalēta Chrome versija <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Atvērt saiti Chrome inko&amp;gnito režīma logā</translation>
-<translation id="3879568094278837081">Šīs darbvietas pārlūkošanas dati tiks izdzēsti no šīs ierīces. Lai atkoptu datus, pierakstieties pārlūkprogrammā Chrome kā lietotājs</translation>
 <translation id="3889417619312448367">Atinstalēt Google Chrome</translation>
 <translation id="4050175100176540509">Jaunākajā versijā ir pieejami svarīgi drošības uzlabojumi un jaunas funkcijas.</translation>
 <translation id="4053720452172726777">Pielāgot un kontrolēt Google Chrome</translation>
@@ -145,14 +141,12 @@
 <translation id="4895437082222824641">Atvērt saiti jaunā Chrome &amp;cilnē</translation>
 <translation id="4953650215774548573">Iestatīt Google Chrome kā manu noklusējuma pārlūku</translation>
 <translation id="495931528404527476">Pārlūkprogrammā Chrome</translation>
-<translation id="4960472897514318257">Jūs pierakstījāties ar darba kontu. Vai vēlaties izveidot jaunu Chrome darbvietu lietotājam <ph name="NEW_USER" />, lai glabātu personīgā konta datus atsevišķi?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Restartējiet Chrome OS</translation>
 <translation id="5132929315877954718">Atklājiet lieliskas lietotnes, spēles, paplašinājumus un motīvus, ko varat izmantot pārlūkā Google Chrome.</translation>
 <translation id="5170938038195470297">Jūsu profilu nevar lietot, jo tas ir veidots ar jaunāku Google Chrome versiju.
 
 Dažas funkcijas var nebūt pieejamas. Norādiet citu profila direktoriju vai lietojiet jaunāku Chrome versiju.</translation>
-<translation id="5171117065011130146">Vai vēlaties izveidot jaunu Chrome darbvietu?</translation>
 <translation id="5193136243808726294">Problēma ar lapas atvēršanu pārlūkā Google Chrome OS.</translation>
 <translation id="5251420635869119124">Viesi var izmantot pārlūku Chrome, neatstājot nekādas pēdas.</translation>
 <translation id="532046782124376502">Brīdinājums! Google Chrome nevar novērst to, ka paplašinājumi ieraksta jūsu pārlūkošanas vēsturi. Lai atspējotu šo paplašinājumu inkognito režīmā, noņemiet atzīmi no šīs opcijas.</translation>
@@ -218,7 +212,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Lai pārbaudītu, vai ierīce ir atjaunināta, pārejiet uz sadaļu <ph name="LINK_BEGIN" />Chrome OS iestatījumi<ph name="LINK_END" />.</translation>
 <translation id="7589360514048265910">Šajā datorā vairs netiks saņemti Google Chrome atjauninājumi, jo operētājsistēma Mac OS X 10.9 vairs netiek atbalstīta.</translation>
-<translation id="7591404275842302616">Izmantojiet Chrome darbvietas, lai pielāgotu pārlūkošanas pieredzi šajā ierīcē</translation>
 <translation id="7592736734348559088">Google Chrome nevarēja sinhronizēt jūsu datus, jo jūsu konta pierakstīšanās informācija ir novecojusi.</translation>
 <translation id="7626032353295482388">Laipni lūdzam pārlūkā Chrome</translation>
 <translation id="7629695634924605473">Ja jūsu paroles kādreiz tiks apdraudētas, pārlūkā Chrome saņemsiet paziņojumu</translation>
@@ -265,9 +258,7 @@
 <translation id="8823341990149967727">Chrome versija ir novecojusi</translation>
 <translation id="8834965163890861871">Google Chrome mēģina rediģēt paroles. Lai to atļautu, ierakstiet savu Windows paroli.</translation>
 <translation id="884296878221830158">Tas nosaka arī to, kāda lapa tiks rādīta, kad atvērsiet pārlūku Chrome vai noklikšķināsiet uz pogas “Sākums”.</translation>
-<translation id="8859948767482842016">Jūs pierakstījāties lietotāja <ph name="EXISTING_USER" /> darbvietā ar darba kontu. Vai vēlaties izveidot jaunu Chrome darbvietu domēnam <ph name="WORK_DOMAIN" />, lai glabātu datus atsevišķi?</translation>
 <translation id="8862326446509486874">Jums nav vajadzīgo tiesību, lai instalētu sistēmas līmenī. Mēģiniet vēlreiz palaist instalēšanas programmu kā administrators.</translation>
-<translation id="8877586659207810298">Vai vēlaties izveidot jaunu Chrome darbvietu lietotājam <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Atkārtoti palaist pārlūkprogrammu Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Ir pieejams Chrome atjauninājums}=1{Ir pieejams Chrome atjauninājums}zero{Chrome atjauninājums ir pieejams jau # dienu}one{Chrome atjauninājums ir pieejams jau # dienu}other{Chrome atjauninājums ir pieejams jau # dienas}}</translation>
 <translation id="9026991721384951619">Chrome OS nevarēja sinhronizēt jūsu datus, jo jūsu konta pierakstīšanās informācija ir novecojusi.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mk.xtb b/chrome/app/resources/google_chrome_strings_mk.xtb
index e29c2c4..57c75e97 100644
--- a/chrome/app/resources/google_chrome_strings_mk.xtb
+++ b/chrome/app/resources/google_chrome_strings_mk.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome е застарен</translation>
 <translation id="1919130412786645364">Дозволете најавување на Chrome</translation>
-<translation id="195645108406520445">Поставете го вашиот нов простор на Chrome</translation>
 <translation id="2063848847527508675">Оперативниот систем Chrome треба да се рестартира за да се примени ажурирањето.</translation>
 <translation id="2094919256425865063">Сепак да се напушти Chrome?</translation>
 <translation id="2120620239521071941">Ова ќе избрише <ph name="ITEMS_COUNT" /> ставки од уредов. За да ги вратите вашите податоци подоцна, најавете се на Chrome како <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Помогнете да го подобриме Chrome со пријавување на <ph name="BEGIN_LINK" />тековните поставки<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Рестартирајте го Chrome сега</translation>
 <translation id="2246246234298806438">Google Chrome не може да прикаже преглед на печатење кога недостасува вградениот прегледувач на PDF.</translation>
-<translation id="226038281051944330">Се најавивте со нова сметка во просторот на <ph name="EXISTING_USER" />. Дали би сакале да создадете нов простор на Chrome за <ph name="NEW_USER" /> за да ги чувате податоците одделно?</translation>
 <translation id="2290014774651636340">Клучевите Google API недостасуваат. Некои функции на Google Chrome ќе бидат оневозможени.</translation>
 <translation id="2290095356545025170">Дали сте сигурни дека сакате да го деинсталирате Google Chrome?</translation>
 <translation id="2309047409763057870">Ова е второстепена инсталација на Google Chrome и затоа не може да биде стандарден прелистувач.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Достапна е нова, побезбедна верзија на Google Chrome.</translation>
 <translation id="3127818369811890733">Chrome OS не можеше да ги синхронизира вашите податоци.</translation>
 <translation id="3149510190863420837">Апликации на Chrome</translation>
-<translation id="3351117925998652957">Изберете го својот простор на Chrome</translation>
 <translation id="3360895254066713204">Помошник на Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome ќе се рестартира сега}=1{Chrome ќе се рестартира по 1 секунда}one{Chrome ќе се рестартира по # секунда}other{Chrome ќе се рестартира по # секунди}}</translation>
 <translation id="3395323229510056640">Добијте помош за Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Затворете ги сите прозорци на Google Chrome и пробајте повторно.</translation>
 <translation id="3865754807470779944">Инсталирана е верзијата <ph name="PRODUCT_VERSION" /> на Chrome</translation>
 <translation id="3873044882194371212">Отвори го линкот во инко&amp;гнито прозорец на Chrome</translation>
-<translation id="3879568094278837081">Податоците од прелистувањето на овој простор ќе се избришат од уредов. За да ги вратите податоците, најавете се на Chrome како</translation>
 <translation id="3889417619312448367">Деинсталирај го Google Chrome</translation>
 <translation id="4050175100176540509">Во најновата верзија се достапни значајни безбедносни подобрувања и нови карактеристики.</translation>
 <translation id="4053720452172726777">Приспособи го и контролирај го Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Отвори го линкот во нова &amp;картичка на Chrome</translation>
 <translation id="4953650215774548573">Поставете го Google Chrome за ваш стандарден прелистувач</translation>
 <translation id="495931528404527476">Во Chrome</translation>
-<translation id="4960472897514318257">Се најавивте со работна сметка. Дали би сакале да создадете нов простор на Chrome за <ph name="NEW_USER" /> за да ги чувате личните податоци одделно?</translation>
 <translation id="4990567037958725628">Google Chrome Канари</translation>
 <translation id="5062123544085870375">Рестартирајте го Chrome OS</translation>
 <translation id="5132929315877954718">Открива одлични апликации, игри, наставки и теми за Google Chrome.</translation>
 <translation id="5170938038195470297">Вашиот профил на може да се користи бидејќи е од поновата верзија на Google Chrome.
 
 Некои карактеристики можеби се недостапни. Наведете друг директориум на профили или користете понова верзија на Chrome.</translation>
-<translation id="5171117065011130146">Да се создаде нов работен простор на Chrome?</translation>
 <translation id="5193136243808726294">ОС на Google Chrome не може да ја отвори страницава.</translation>
 <translation id="5251420635869119124">Гостите може да го користат Chrome без оставање никакви траги зад нив.</translation>
 <translation id="532046782124376502">Предупредување: Google Chrome не може да ги спречи екстензиите да ја снимаат вашата историја на прелистување. За оневозможување на екстензијата во режим инкогнито, поништете го изборот на опцијава.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">За да видите дали уредот ви е ажуриран, одете на <ph name="LINK_BEGIN" />Поставки за Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Компјутеров веќе нема да добива ажурирања на Google Chrome затоа што Mac OS X 10.9 веќе не е поддржан.</translation>
-<translation id="7591404275842302616">Користете ги просторите на Chrome за да го организирате пребарувањето на уредов</translation>
 <translation id="7592736734348559088">Google Chrome не можеше да ги синхронизира вашите податоци бидејќи вашите информации за пријавување на сметката се застарени.</translation>
 <translation id="7626032353295482388">Добре дојдовте на Chrome</translation>
 <translation id="7629695634924605473">Chrome ве известува дали вашите лозинки се компромитирани</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome е застарен</translation>
 <translation id="8834965163890861871">Google Chrome се обидува да измени лозинки. Внесете ја својата лозинка за Windows за да го дозволите ова.</translation>
 <translation id="884296878221830158">Контролира и која страница се прикажува кога ќе стартувате Chrome или ако кликнете на копчето Дома.</translation>
-<translation id="8859948767482842016">Се најавивте со работна сметка во просторот на <ph name="EXISTING_USER" />. Дали би сакале да создадете нов простор на Chrome за <ph name="WORK_DOMAIN" /> за да ги чувате податоците одделно?</translation>
 <translation id="8862326446509486874">Немате соодветни права за инсталирање на системско ниво. Обидете се да го извршите инсталаторот повторно како администратор.</translation>
-<translation id="8877586659207810298">Да се создаде нов простор на Chrome за <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Рестартирајте го Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Достапно е ажурирање за Chrome}=1{Достапно е ажурирање за Chrome}one{Достапно е ажурирање за Chrome веќе # ден}other{Достапно е ажурирање за Chrome веќе # дена}}</translation>
 <translation id="9026991721384951619">Chrome OS не може да ги синхронизира вашите податоци бидејќи вашите информации за пријавување на сметката се застарени.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ml.xtb b/chrome/app/resources/google_chrome_strings_ml.xtb
index 0f9aba1..1941a49f 100644
--- a/chrome/app/resources/google_chrome_strings_ml.xtb
+++ b/chrome/app/resources/google_chrome_strings_ml.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome ബീറ്റ (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome കാലഹരണപ്പെട്ടതാണ്</translation>
 <translation id="1919130412786645364">Chrome-ലേക്ക് സൈൻ ഇൻ ചെയ്യാൻ അനുവദിക്കുക</translation>
-<translation id="195645108406520445">നിങ്ങളുടെ പുതിയ Chrome സ്പെയ്സ് സജ്ജീകരിക്കുക</translation>
 <translation id="2063848847527508675">അപ്‌ഡേറ്റ് ബാധകമാക്കാൻ Chrome റീസ്റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്.</translation>
 <translation id="2094919256425865063">എന്തായാലും Chrome-ൽ നിന്ന് പുറത്തുകടക്കണോ?</translation>
 <translation id="2120620239521071941">ഇത് ഈ ഉപകരണത്തിൽ നിന്ന് <ph name="ITEMS_COUNT" /> ഇനങ്ങൾ ഇല്ലാതാക്കും. പിന്നീട് നിങ്ങളുടെ വിവരങ്ങൾ വീണ്ടെടുക്കാൻ, <ph name="USER_EMAIL" /> എന്നയാളായി Chrome‌-ൽ സൈൻ ഇൻ ചെയ്യുക.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />നിലവിലെ ക്രമീകരണം<ph name="END_LINK" /> റിപ്പോർട്ട് ചെയ്‌തുകൊണ്ട് Chrome മികച്ചതാക്കാൻ സഹായിക്കുക</translation>
 <translation id="2151406531797534936">Chrome ഇപ്പോൾ റീസ്‌റ്റാർട്ട് ചെയ്യുക</translation>
 <translation id="2246246234298806438">ബിൽറ്റ്-ഇൻ PDF വ്യൂവർ കാണുന്നില്ലെങ്കിൽ Google Chrome-ന് പ്രിന്റ് പ്രിവ്യു കാണിക്കാൻ കഴിയില്ല.</translation>
-<translation id="226038281051944330">നിങ്ങൾ ഒരു പുതിയ അക്കൗണ്ട് ഉപയോഗിച്ച് <ph name="EXISTING_USER" /> എന്നയാളുടെ സ്പെയ്‌സിൽ സൈൻ ഇൻ ചെയ്‌തു. നിങ്ങളുടെ ഡാറ്റ പ്രത്യേകം വേർതിരിച്ച് സൂക്ഷിക്കാൻ <ph name="NEW_USER" /> എന്നയാൾക്കായി പുതിയൊരു Chrome സ്പെയ്‌സ് സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="2290014774651636340">Google API കീകൾ നഷ്‌ടമായി. Google Chrome-ന്‍റെ ചില പ്രവർത്തനങ്ങൾ പ്രവർത്തനരഹിതമാകും.</translation>
 <translation id="2290095356545025170">Google Chrome അണിന്‍സ്റ്റാള്‍ ചെയ്യണമെന്ന് നിങ്ങള്‍ക്കുറപ്പാണോ?</translation>
 <translation id="2309047409763057870">ഇത് Google Chrome-ന്റെ ദ്വിതീയ ഇൻസ്‌റ്റലേഷനായതിനാൽ, നിങ്ങളുടെ ഡിഫോൾട്ട് ബ്രൗസറാക്കാൻ കഴിയില്ല.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Google Chrome-ന്റെ പുതിയതും സുരക്ഷിതവുമായ പതിപ്പ് ലഭ്യമാണ്.</translation>
 <translation id="3127818369811890733">Chrome OS-ന് നിങ്ങളുടെ ഡാറ്റ സമന്വയിപ്പിക്കാനായില്ല.</translation>
 <translation id="3149510190863420837">Chrome അപ്ലിക്കേഷനുകൾ</translation>
-<translation id="3351117925998652957">നിങ്ങളുടെ Chrome സ്‌പെയ്‌സ് തിരഞ്ഞെടുക്കുക</translation>
 <translation id="3360895254066713204">Chrome സഹായി‌</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome ഇപ്പോൾ വീണ്ടും സമാരംഭിക്കും}=1{ഒരു സെക്കൻഡിൽ Chrome വീണ്ടും സമാരംഭിക്കും}other{# സെക്കൻഡിൽ Chrome വീണ്ടും സമാരംഭിക്കും}}</translation>
 <translation id="3395323229510056640">Chrome OS ഉപയോഗിക്കാനുള്ള സഹായം തേടുക</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">ദയവായി എല്ലാ Google Chrome വിന്‍‌ഡോകളും അടച്ച് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="3865754807470779944">Chrome പതിപ്പ് <ph name="PRODUCT_VERSION" /> ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്നു</translation>
 <translation id="3873044882194371212">Chrome അദൃശ്യ വിൻഡോയിൽ ലിങ്ക് തുറക്കുക</translation>
-<translation id="3879568094278837081">ഈ സ്‌പെയ്‌സിന്റെ ബ്രൗസിംഗ് ഡാറ്റ ഈ ഉപകരണത്തിൽ നിന്ന് ഇല്ലാതാക്കപ്പെടും. ഡാറ്റ വീണ്ടെടുക്കാൻ, ഇനിപ്പറയുന്ന ഇമെയിൽ ഉപയോഗിച്ച് Chrome-ൽ സൈൻ ഇൻ ചെയ്യുക</translation>
 <translation id="3889417619312448367">Google Chrome അണ്‍‌ഇന്‍സ്റ്റാള്‍ ചെയ്യുക</translation>
 <translation id="4050175100176540509">ഏറ്റവും പുതിയ പതിപ്പിൽ പ്രധാനപ്പെട്ട സുരക്ഷാ മെച്ചപ്പെടുത്തലുകളും പുതിയ ഫീച്ചറുകളും ലഭ്യമാണ്.</translation>
 <translation id="4053720452172726777">Google Chrome ഇഷ്‌ടാനുസൃതമാക്കുക, നിയന്ത്രിക്കുക</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">പുതിയ Chrome &amp;ടാബിൽ ലിങ്ക് തുറക്കുക</translation>
 <translation id="4953650215774548573">Google Chrome-നെ നിങ്ങളുടെ ഡിഫോൾട്ട് ബ്രൗസറായി സജ്ജീകരിക്കുക</translation>
 <translation id="495931528404527476">Chrome-ൽ</translation>
-<translation id="4960472897514318257">നിങ്ങൾ ഒരു ഔദ്യോഗിക അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്‌തു. നിങ്ങളുടെ വ്യക്തിപരമായ ഡാറ്റ പ്രത്യേകം വേർതിരിച്ച് സൂക്ഷിക്കാൻ <ph name="NEW_USER" /> എന്നയാൾക്കായി പുതിയൊരു Chrome സ്പെയ്‌സ് സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS പുനഃരാരംഭിക്കുക</translation>
 <translation id="5132929315877954718">Google Chrome-നായി മികച്ച അപ്ലിക്കേഷനുകളും വിപുലീകരണങ്ങളും തീമുകളും കണ്ടെത്തുക.</translation>
 <translation id="5170938038195470297">നിങ്ങളുടെ പ്രൊഫൈൽ Google Chrome-ന്റെ ഒരു പുതിയ പതിപ്പിൽ നിന്നായതിനാൽ ഉപയോഗിക്കാൻ കഴിയില്ല.
 
 ചില സവിശേഷതകൾ ലഭ്യമല്ലാതായിരിക്കാം. ദയവായി ഒരു വ്യത്യസ്തമായ പ്രൊഫൈൽ ഡയറക്ടറി വ്യക്തമാക്കുക അല്ലെങ്കിൽ Chrome-ന്റെ ഒരു പുതിയ പതിപ്പ് ഉപയോഗിക്കുക.</translation>
-<translation id="5171117065011130146">പുതിയൊരു Chrome വർക്ക്‌സ്‌പെയ്‌സ് സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="5193136243808726294">Google Chrome OS-ന് ഈ പേജ് തുറക്കാനാവില്ല.</translation>
 <translation id="5251420635869119124">അതിഥികൾക്ക് ഒന്നും ശേഷിപ്പിക്കാതെ തന്നെ Chrome ഉപയോഗിക്കാനാവും.</translation>
 <translation id="532046782124376502">മുന്നറിയിപ്പ്: നിങ്ങളുടെ ബ്രൗസിംഗ് ചരിത്രം റെക്കോർഡ് ചെയ്യുന്നതിൽ നിന്ന് വിപുലീകരണങ്ങളെ തടയാൻ Google Chrome-ന് കഴിയില്ല. അദൃശ്യ മോഡിൽ ഈ വിപുലീകരണം പ്രവർത്തനരഹിതമാക്കാൻ, ഈ ഓപ്‌ഷൻ തിരഞ്ഞെടുത്തത് മാറ്റുക.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">നിങ്ങളുടെ ഉപകരണം അപ് ടു ഡേറ്റ് ആണോയെന്ന് കാണാൻ <ph name="LINK_BEGIN" />Chrome OS ക്രമീകരണത്തിലേക്ക്<ph name="LINK_END" /> പോവുക</translation>
 <translation id="7589360514048265910">Mac OS X 10.9 ഇനി പിന്തുണയ്‌ക്കാത്തതിനാൽ ഈ കമ്പ്യൂട്ടറിന് ഇനി Google Chrome അപ്‌ഡേറ്റുകൾ സ്വീകരിക്കാനാവില്ല.</translation>
-<translation id="7591404275842302616">ഈ ഉപകരണത്തിൽ നിങ്ങളുടെ ബ്രൗസ് ചെയ്യൽ ഓർ‌ഗനൈസ് ചെയ്‌ത നിലയിൽ നിലനിർത്താൻ Chrome സ്‌പെയ്‌സുകൾ ഉപയോഗിക്കുക</translation>
 <translation id="7592736734348559088">നിങ്ങളുടെ അക്കൗണ്ടിന്റെ സൈൻ ഇൻ വിശദാംശങ്ങൾ കാലഹരണപ്പെട്ടതിനാൽ Google Chrome-ന് നിങ്ങളുടെ ഡാറ്റ സമന്വയിപ്പിക്കാനായില്ല.</translation>
 <translation id="7626032353295482388">Chrome-ലേക്ക് സ്വാഗതം</translation>
 <translation id="7629695634924605473">നിങ്ങളുടെ പാസ്‌വേഡുകൾ എപ്പോഴെങ്കിലും അപഹരിക്കപ്പെട്ടിട്ടുണ്ടെങ്കിൽ അക്കാര്യം Chrome നിങ്ങളെ അറിയിക്കും</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome കാലഹരണപ്പെട്ടതാണ്</translation>
 <translation id="8834965163890861871">പാസ്‌വേഡുകൾ എഡിറ്റ് ചെയ്യാൻ Google Chrome ശ്രമിക്കുന്നു. ഇത് അനുവദിക്കാൻ നിങ്ങളുടെ Windows പാസ്‌വേഡ് ടൈപ്പ് ചെയ്യുക.</translation>
 <translation id="884296878221830158">നിങ്ങൾ Chrome ആരംഭിക്കുമ്പോഴോ ഹോം ബട്ടൺ ക്ലിക്ക് ചെയ്യുമ്പോഴോ ഏത് പേജാണ് കാണിക്കേണ്ടതെന്നും അത് നിയന്ത്രിയ്ക്കുന്നു.</translation>
-<translation id="8859948767482842016">നിങ്ങൾ ഒരു ഔദ്യോഗിക അക്കൗണ്ട് ഉപയോഗിച്ച് <ph name="EXISTING_USER" /> എന്നയാളുടെ സ്പെയ്‌സിൽ സൈൻ ഇൻ ചെയ്‌തു. നിങ്ങളുടെ ഡാറ്റ പ്രത്യേകം വേർതിരിച്ച് സൂക്ഷിക്കാൻ <ph name="WORK_DOMAIN" /> എന്നതിനായി പുതിയൊരു Chrome സ്പെയ്‌സ് സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="8862326446509486874">സിസ്റ്റം തലത്തിൽ ഇന്‍‌സ്റ്റാള്‍‌ ചെയ്യുന്നതിന് നിങ്ങള്‍‌ക്ക് ഉചിതമായ അവകാശങ്ങളില്ല. അഡ്‌മിനിസ്‌ട്രേറ്ററായി ഇന്‍‌സ്റ്റാളര്‍‌ റണ്‍ ചെയ്യിക്കാൻ വീണ്ടും ശ്രമിക്കൂ.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> എന്നയാൾക്കായി പുതിയൊരു Chrome സ്‌പെയ്‌സ് സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="8914504000324227558">Chrome വീണ്ടും സമാരംഭിക്കുക</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome-നൊരു അപ്‌ഡേറ്റ് ലഭ്യമാണ്}=1{Chrome-നൊരു അപ്‌ഡേറ്റ് ലഭ്യമാണ്}other{# ദിവസമായി Chrome-നൊരു അപ്‌ഡേറ്റ് ലഭ്യമാണ്}}</translation>
 <translation id="9026991721384951619">നിങ്ങളുടെ അക്കൗണ്ടിന്റെ സൈൻ ഇൻ വിശദാംശങ്ങൾ കാലഹരണപ്പെട്ടതിനാൽ Chrome OS-ന് നിങ്ങളുടെ ഡാറ്റ സമന്വയിപ്പിക്കാനായില്ല.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mn.xtb b/chrome/app/resources/google_chrome_strings_mn.xtb
index 5a824877..9623fa1 100644
--- a/chrome/app/resources/google_chrome_strings_mn.xtb
+++ b/chrome/app/resources/google_chrome_strings_mn.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Бэта (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome хуучирсан байна.</translation>
 <translation id="1919130412786645364">Chromium-д нэвтрэхийг зөвшөөрөх</translation>
-<translation id="195645108406520445">Өөрийн шинэ Chrome Space-г тохируулах</translation>
 <translation id="2063848847527508675">Шинэчлэлтийг хэрэгжүүлэхийн тулд Chrome үйлдлийн системийг дахин эхлүүлнэ үү.</translation>
 <translation id="2094919256425865063">Ямар ч байсан Chrome-с гарах уу?</translation>
 <translation id="2120620239521071941">Энэ нь төхөөрөмжөөс <ph name="ITEMS_COUNT" /> зүйлийг устгана. Дараа нь өгөгдлөө сэргээхийн тулд Chrome-д <ph name="USER_EMAIL" />-р нэвтэрнэ үү.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />Одоогийн тохиргоог<ph name="END_LINK" /> мэдэгдэж Chrome-г сайжруулахад тусална уу</translation>
 <translation id="2151406531797534936">Chrome-г одоо дахин эхлүүлнэ үү</translation>
 <translation id="2246246234298806438">built-in PDF нээгч байхгүй байхад Google Chrome хэвлэхийн өмнөх харагдах байдлыг үзүүлэх боломжгүй байна.</translation>
-<translation id="226038281051944330">Та <ph name="EXISTING_USER" />-н орон зайд шинэ бүртгэлээр нэвтэрсэн байна. Өгөгдлөө тусад нь хадгалахын тулд та <ph name="NEW_USER" />-д зориулсан Chrome-н шинэ орон зай үүсгэмээр байна уу?</translation>
 <translation id="2290014774651636340">Google-ийн API түлхүүр байхгүй байна. Google Chrome-ийн зарим функц идэвхгүй болно.</translation>
 <translation id="2290095356545025170">Та Google Chrome-ыг устгах гэж байгаадаа итгэлтэй байна уу?</translation>
 <translation id="2309047409763057870">Энэ нь Google Chrome-н хоёр дахь суулгалт тул таны өгөгдмөл хөтчөөр сонгох боломжгүй.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Google Chrome-ийн шинэ, илүү аюулгүй хувилбар бэлэн боллоо.</translation>
 <translation id="3127818369811890733">Chrome үйлдлийн систем таны өгөгдлийг синк хийж чадсангүй.</translation>
 <translation id="3149510190863420837">Chrome Аппликейшнууд</translation>
-<translation id="3351117925998652957">Chrome-н орон зайгаа сонгох</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome-г одоо дахин ажиллуулж байна}=1{Chrome-г 1 секундийн дотор дахин ажиллуулна}other{Chrome-г # секундийн дотор дахин ажиллуулна}}</translation>
 <translation id="3395323229510056640">Chrome үйлдлийн системээс тусламж авах</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Бүх Google Chrome-ын цонхнуудыг хааж дахин оролдоно уу.</translation>
 <translation id="3865754807470779944">Chrome <ph name="PRODUCT_VERSION" /> хувилбарыг суулгасан</translation>
 <translation id="3873044882194371212">Холбоосыг Chrome-н нууцлалтай цонхонд нээх</translation>
-<translation id="3879568094278837081">Тус орон зайн интернэтээр үзсэн өгөгдөл энэ төхөөрөмжөөс устана. Өгөгдлийг сэргээхийн тулд дараах бүртгэлээр Chrome-д нэвтэрнэ үү</translation>
 <translation id="3889417619312448367">Google Chrome-ыг устгах</translation>
 <translation id="4050175100176540509">Хамгийн сүүлийн хувилбар дээр аюулгүй байдлын чухал сайжруулалт болон шинэ функцийг санал болгож байна.</translation>
 <translation id="4053720452172726777">Google Chrome-ыг өөртөө тохируулан хянах</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Холбоосыг шинэ Chrome-н чихтэй хуудсанд нээх</translation>
 <translation id="4953650215774548573">Google Chrome-ыг өөрийн анхдагч вэб хөтөч болгон тохируулна уу</translation>
 <translation id="495931528404527476">Chrome-д</translation>
-<translation id="4960472897514318257">Та ажлын бүртгэлээр нэвтэрсэн байна. Хувийн мэдээллээ тусад нь хадгалахын тулд та <ph name="NEW_USER" />-д зориулсан Chrome-н шинэ орон зай үүсгэмээр байна уу?</translation>
 <translation id="4990567037958725628">Google Chrome цайвар шаргал өнгө</translation>
 <translation id="5062123544085870375">Chrome OS-г дахин эхлүүлэх</translation>
 <translation id="5132929315877954718">Google Кромын шилдэг апп, тоглоом, өргөтгөл болон загварыг ашиглах боломжтой.</translation>
 <translation id="5170938038195470297">Таны профайл Google Chrome-ийн шинэ хувилбарынх тул ашиглаж болохгүй.
 
 Зарим функц ажиллахгүй байж болох юм. Өөр профайл тодорхойл эсвэл Chrome-ийн шинэ хувилбарыг хэрэглэнэ үү.</translation>
-<translation id="5171117065011130146">Chrome-н ажлын шинэ орон зай үүсгэх үү?</translation>
 <translation id="5193136243808726294">Google Chrome үйлдлийн систем энэ хуудсыг нээх боломжгүй</translation>
 <translation id="5251420635869119124">Зочид ч бусдаас хоцролгүй Chrome-ийг бүх талаар нь ашиглах боломжтой.</translation>
 <translation id="532046782124376502">Анхааруулга: Google Chrome таны өргөтгөлийг хөтчийн түүх бичихээс сэргийлэх боломжгүй. Энэ өргөтгөлийг үл танигдах горимд идэвхгүй болгохын тулд энэ сонголтыг сонгохгүй орхино уу.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Таны төхөөрөмж шинэчлэгдсэн эсэхийг харахын тулд <ph name="LINK_BEGIN" />Chrome үйлдлийн системийн тохиргоо<ph name="LINK_END" /> руу очно уу</translation>
 <translation id="7589360514048265910">Энэ компьютер Mac үйлдлийн систем X 10.9-г дэмжихээ больсон тул Google Chrome-н шинэчлэлтийг цаашид авахгүй.</translation>
-<translation id="7591404275842302616">Энэ төхөөрөмж дээр үзэлтээ цэгцтэй байлгахын тулд Chrome-н орон зайг ашиглаарай</translation>
 <translation id="7592736734348559088">Таны дансандаа нэвтрэх мэдээлэл хуучирсан учраас Google Chrome таны өгөгдлийг синхрончилж чадахгүй.</translation>
 <translation id="7626032353295482388">Chrome-д тавтай морил</translation>
 <translation id="7629695634924605473">Хэрэв таны нууц үг алдагдсан байвал Chrome танд мэдэгдэнэ</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome хуучирсан байна.</translation>
 <translation id="8834965163890861871">Google Chrome нь нууц үгсийг засах гэж оролдож байна. Үүнийг зөвшөөрөхийн тулд Windows-н нууц үгээ бичнэ үү.</translation>
 <translation id="884296878221830158">Энэ нь мөн таныг Chrome-ыг эхлүүлэх эсвэл Home товчийг дарах үед гарч ирсэн хуудсыг хянаж байдаг.</translation>
-<translation id="8859948767482842016">Та <ph name="EXISTING_USER" />-н орон зайд Ажлын бүртгэлээр нэвтэрсэн байна. Өгөгдлөө тусад нь хадгалахын тулд та <ph name="WORK_DOMAIN" />-д зориулсан Chrome-н шинэ орон зай үүсгэмээр байна уу?</translation>
 <translation id="8862326446509486874">Танд системийн түвшинд суулгах зохих эрх байхгүй байна. Суулгагчийг админы хувиар дахин ажиллуулахыг оролдож үзнэ үү.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" />-д зориулсан Chrome-н шинэ орон зай үүсгэх үү?</translation>
 <translation id="8914504000324227558">Chrome-г дахин эхлүүлэх</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome-н шинэчлэлт боломжтой байна}=1{Chrome-н шинэчлэлт боломжтой байна}other{Chromium-н шинэчлэлт # хоногийн турш боломжтой байсаар байна}}</translation>
 <translation id="9026991721384951619">Таны бүртгэлийн мэдээлэл хуучирсан учраас Chrome OS нь таны өгөгдлийг sync хийж чадсангүй.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mr.xtb b/chrome/app/resources/google_chrome_strings_mr.xtb
index 8cbf0ed..eca0c0e 100644
--- a/chrome/app/resources/google_chrome_strings_mr.xtb
+++ b/chrome/app/resources/google_chrome_strings_mr.xtb
@@ -40,14 +40,12 @@
 <translation id="1874309113135274312">Google Chrome बीटा (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome कालबाह्य आहे</translation>
 <translation id="1919130412786645364">Chrome मध्ये साइन इन करण्यासाठी अनुमती द्या</translation>
-<translation id="195645108406520445">तुमची नवीन Chrome स्पेस सेट करा</translation>
 <translation id="2063848847527508675">अपडेट लागू करण्यासाठी Chrome OS रीस्टार्ट करणे आवश्यक आहे.</translation>
 <translation id="2094919256425865063">तरीही Chrome बंद करायचे?</translation>
 <translation id="2120620239521071941">हे या डिव्‍हाइस मधून <ph name="ITEMS_COUNT" /> आयटम हटवेल. नंतर तुमचा डेटा पुनर्प्राप्त करण्‍यासाठी Chrome मध्ये <ph name="USER_EMAIL" /> म्हणून साइन इन करा.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />वर्तमान सेटिंग्ज<ph name="END_LINK" /> चा अहवाल देऊन Chrome ला आणखी चांगले बनविण्यात मदत करा</translation>
 <translation id="2151406531797534936">कृपया आता Chrome रीस्टार्ट करा</translation>
 <translation id="2246246234298806438">बिल्ट-इन पीडीएफ व्ह्यूअर गहाळ असताना Google Chrome प्रिंट पूर्वावलोकन दाखवू शकत नाही.</translation>
-<translation id="226038281051944330">तुम्ही <ph name="EXISTING_USER" /> यांच्या स्पेसमध्ये नवीन खाते वापरून साइन इन केले आहे. तुमचा डेटा स्वतंत्र ठेवण्यासाठी तुम्हाला <ph name="NEW_USER" /> करिता नवीन Chrome स्पेस तयार करायची आहे का?</translation>
 <translation id="2290014774651636340">Google API की गहाळ आहेत. Google Chrome ची काही कार्यक्षमता अक्षम केली जाईल.</translation>
 <translation id="2290095356545025170">तुमची खात्री आहे की तुम्ही Google Chrome अनइंस्टॉल करू इच्छिता?</translation>
 <translation id="2309047409763057870">ही Google Chrome ची दुय्यम स्थापना असून त्यास तुमचा डीफॉल्ट ब्राउझर बनवू शकत नाही.</translation>
@@ -82,7 +80,6 @@
 <translation id="3089968997497233615">Google Chrome ची नवीन, सुरक्षित आवृत्ती उपलब्ध आहे.</translation>
 <translation id="3127818369811890733">Chrome OS ला तुमचा डेटा सिंक करता आला नाही.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
-<translation id="3351117925998652957">तुमची Chrome स्पेस निवडा</translation>
 <translation id="3360895254066713204">Chrome मदतनीस</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome आता पुन्हा लॉंच होईल}=1{Chrome एका सेकंदामध्ये पुन्हा लॉंच होईल}other{Chrome # सेकंदांमध्ये पुन्हा लॉंच होईल}}</translation>
 <translation id="3395323229510056640">Chrome OS सह मदत मिळवा</translation>
@@ -105,7 +102,6 @@
 <translation id="386202838227397562">कृपया सर्व Google Chrome विंडो बंद करा आणि पुन्हा प्रयत्न करा.</translation>
 <translation id="3865754807470779944">Chrome आवृत्ती <ph name="PRODUCT_VERSION" /> इंस्टॉल केली आहे</translation>
 <translation id="3873044882194371212">लिंक Chrome गुप्त विंडोमध्ये उघडा</translation>
-<translation id="3879568094278837081">या स्पेसचा ब्राउझिंग डेटा या डिव्हाइसवरून हटवला जाईल. डेटा रिकव्हर करण्यासाठी, Chrome वर हे म्हणून साइन इन करा</translation>
 <translation id="3889417619312448367">Google Chrome अनइंस्टॉल करा</translation>
 <translation id="4050175100176540509">नवीनतम आवृत्तीमध्‍ये महत्त्वाच्या सुरक्षितता सुधारणा आणि नवीन वैशिष्ट्ये उपलब्‍ध आहेत.</translation>
 <translation id="4053720452172726777">Google Chrome कस्टमाइझ करा आणि नियंत्रित करा</translation>
@@ -146,13 +142,11 @@
 <translation id="4895437082222824641">लिंक नवीन Chrome &amp;टॅबमध्ये उघडा</translation>
 <translation id="4953650215774548573">तुमचा डीफॉल्ट ब्राउझर म्हणून Google Chrome सेट करा</translation>
 <translation id="495931528404527476">Chrome मध्ये</translation>
-<translation id="4960472897514318257">तुम्ही ऑफिस खाते वापरून साइन इन केले आहे. तुमचा वैयक्तिक डेटा स्वतंत्र ठेवण्यासाठी तुम्हाला <ph name="NEW_USER" /> करिता नवीन Chrome स्पेस तयार करायची आहे का?</translation>
 <translation id="4990567037958725628">Google Chrome कॅनरी</translation>
 <translation id="5062123544085870375">Chrome OS रीस्टार्ट करा</translation>
 <translation id="5132929315877954718">Google Chrome साठी उत्कृष्ट ॲप, खेळ, विस्तार आणि थीम शोधा.</translation>
 <translation id="5170938038195470297">तुमचे प्रोफाइल वापरले जाणे शक्य नाही कारण ते Google Chrome च्या नवीनतम आवृत्तीमधील आहे.
 काही वैशिष्‍ट्ये अनुपलब्ध असू शकतात. कृपया एक भिन्न प्रोफाइल डिरेक्टरी नमूद करा किंवा Google Chrome ची नवीनतम आवृत्ती वापरा.</translation>
-<translation id="5171117065011130146">नवीन Chrome कार्य स्पेस तयार करायची आहे का?</translation>
 <translation id="5193136243808726294">Google Chrome OS हे पृष्ठ उघडू शकत नाही.</translation>
 <translation id="5251420635869119124">अतिथी कोणतीही गोष्ट मागे न सोडता Chrome वापरू शकतात.</translation>
 <translation id="532046782124376502">चेतावणी: Google Chrome हे एक्स्टेंशनना तुमचा ब्राउझिंग इतिहास रेकॉर्ड करून ठेवण्यापासून रोखू शकत नाही. हे एक्स्टेंशन बंद करण्यासाठी गुप्त मोडमधील या पर्यायाची निवड रद्द करा.</translation>
@@ -220,7 +214,6 @@
 <translation id="7535429826459677826">Google Chrome डेव्हलपर</translation>
 <translation id="7573289029918943991">तुमचे डिव्हाइस अप टू डेट असल्याची खात्री करण्यासाठी <ph name="LINK_BEGIN" />Chrome OS सेटिंग्ज<ph name="LINK_END" /> वर जा</translation>
 <translation id="7589360514048265910">यापुढे Mac OS X 10.9 ला सपोर्ट नसल्यामुळे, या कॉंप्युटरला इथून पुढे Google Chrome चे अपडेट मिळणार नाहीत.</translation>
-<translation id="7591404275842302616">या डिव्हाइसवर तुमचे ब्राउझिंग व्यवस्थापित ठेवण्यासाठी Chrome स्पेस वापरा</translation>
 <translation id="7592736734348559088">तुमचे खाते साइन इन तपशील कालबाह्य झाल्यामुळे Google Chrome तुमचा डेटा संकालित करू शकले नाही.</translation>
 <translation id="7626032353295482388">Chrome मध्ये स्वागत आहे</translation>
 <translation id="7629695634924605473">तुमचे पासवर्ड कधीही धोक्यात असल्यास, Chrome तुम्हाला कळवते</translation>
@@ -267,9 +260,7 @@
 <translation id="8823341990149967727">Chrome कालबाह्य आहे</translation>
 <translation id="8834965163890861871">Google Chrome पासवर्ड संपादित करण्याचा प्रयत्‍न करत आहे. हे करू देण्यासाठी तुमचा Windows पासवर्ड टाइप करा.</translation>
 <translation id="884296878221830158">तुम्ही Chrome सुरू करता किंवा होम बटण क्लिक करता तेव्हा कोणते पेज दर्शविले जाते ते देखील हे नियंत्रित करते.</translation>
-<translation id="8859948767482842016">तुम्ही <ph name="EXISTING_USER" /> यांच्या स्पेसमध्ये ऑफिस खाते वापरून साइन इन केले आहे. तुमचा डेटा स्वतंत्र ठेवण्यासाठी तुम्हाला <ph name="WORK_DOMAIN" /> करिता नवीन Chrome स्पेस तयार करायची आहे का?</translation>
 <translation id="8862326446509486874">तुमच्याकडे सिस्टम स्तरावरील इंस्टॉलसाठी योग्य अधिकार नाहीत. ॲडमिनिस्ट्रेटर म्हणून पुन्हा इंस्टॉलर चालविण्याचा प्रयत्न करा.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> साठी नवीन Chrome स्पेस तयार करायची आहे का?</translation>
 <translation id="8914504000324227558">Chrome रीलाँच करा</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome अपडेट उपलब्ध आहे}=1{Chrome अपडेट उपलब्ध आहे}other{Chrome अपडेट # दिवसांसाठी उपलब्ध आहे}}</translation>
 <translation id="9026991721384951619">तुमचे खाते साइन इन तपशील कालबाह्य झाल्यामुळे Chrome OS तुमचा डेटा संकालित करू शकले नाही.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ms.xtb b/chrome/app/resources/google_chrome_strings_ms.xtb
index 0d923c0..92f4213 100644
--- a/chrome/app/resources/google_chrome_strings_ms.xtb
+++ b/chrome/app/resources/google_chrome_strings_ms.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome sudah usang</translation>
 <translation id="1919130412786645364">Benarkan log masuk Chrome</translation>
-<translation id="195645108406520445">Sediakan Ruang Chrome baharu anda</translation>
 <translation id="2063848847527508675">OS Chrome perlu dimulakan semula untuk melaksanakan kemas kini.</translation>
 <translation id="2094919256425865063">Keluar daripada Chrome juga?</translation>
 <translation id="2120620239521071941">Tindakan ini akan memadamkan <ph name="ITEMS_COUNT" /> item daripada peranti ini. Untuk mendapatkan kembali data anda kemudian, log masuk ke Chrome sebagai <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Bantu jadikan Chrome lebih baik dengan melaporkan <ph name="BEGIN_LINK" />tetapan semasa<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Sila mulakan semula Chrome sekarang</translation>
 <translation id="2246246234298806438">Google Chrome tidak dapat memaparkan pratonton cetakan apabila pemapar PDF terbina dalam tiada.</translation>
-<translation id="226038281051944330">Anda dilog masuk dengan akaun baharu di ruang <ph name="EXISTING_USER" />. Adakah anda mahu membuat ruang Chrome baharu untuk <ph name="NEW_USER" /> supaya data anda diasingkan?</translation>
 <translation id="2290014774651636340">Kunci API Google tiada. Sesetengah fungsi Google Chrome akan dilumpuhkan.</translation>
 <translation id="2290095356545025170">Adakah anda pasti anda mahu menyahpasang Google Chrome?</translation>
 <translation id="2309047409763057870">Ini adalah pemasangan kedua Google Chrome dan tidak boleh dijadikan penyemak imbas lalai anda.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Terdapat versi Google Chrome baharu yang lebih selamat tersedia.</translation>
 <translation id="3127818369811890733">OS Chrome tidak dapat menyegerakkan data anda.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
-<translation id="3351117925998652957">Pilih Ruang Chrome anda</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome akan dilancarkan semula sekarang}=1{Chrome akan dilancarkan semula dalam masa sesaat}other{Chrome akan dilancarkan semula dalam masa # saat}}</translation>
 <translation id="3395323229510056640">Dapatkan bantuan berkenaan Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Sila tutup semua tetingkap Google Chrome dan cuba semula.</translation>
 <translation id="3865754807470779944">Chrome versi <ph name="PRODUCT_VERSION" /> dipasang</translation>
 <translation id="3873044882194371212">Buka pautan dalam tetingkap inko&amp;gnito Chrome</translation>
-<translation id="3879568094278837081">Data semakan imbas ruang ini akan dipadamkan daripada peranti ini. Untuk memulihkan data itu, log masuk ke Chrome sebagai</translation>
 <translation id="3889417619312448367">Nyahpasang Google Chrome</translation>
 <translation id="4050175100176540509">Peningkatan keselamatan penting dan ciri baharu tersedia dalam versi terkini.</translation>
 <translation id="4053720452172726777">Sesuaikan dan kawal Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Buka pautan dalam &amp;tab Chrome baharu</translation>
 <translation id="4953650215774548573">Tetapkan Google Chrome sebagai penyemak imbas lalai anda</translation>
 <translation id="495931528404527476">Dalam Chrome</translation>
-<translation id="4960472897514318257">Anda dilog masuk dengan akaun kerja. Adakah anda mahu membuat ruang Chrome baharu untuk <ph name="NEW_USER" /> supaya data peribadi anda diasingkan?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Mulakan semula OS Chrome</translation>
 <translation id="5132929315877954718">Temui apl, permainan, sambungan dan tema hebat untuk Google Chrome.</translation>
 <translation id="5170938038195470297">Profil anda tidak boleh digunakan kerana ia adalah dari versi Google Chrome yang lebih baharu. Beberapa ciri mungkin tidak tersedia. Sila tetapkan direktori profil lain atau gunakan versi Chrome yang lebih baharu.</translation>
-<translation id="5171117065011130146">Buka ruang Kerja Chrome baharu?</translation>
 <translation id="5193136243808726294">OS Google Chrome tidak boleh membuka halaman ini.</translation>
 <translation id="5251420635869119124">Tetamu boleh menggunakan Chrome tanpa meninggalkan apa-apa.</translation>
 <translation id="532046782124376502">Amaran: Google Chrome tidak dapat menghalang sambungan daripada merakamkan sejarah penyemakan imbas anda. Untuk melumpuhkan sambungan ini dalam mod inkognito, nyahpilih pilihan ini.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Untuk melihat sama ada peranti anda telah dikemas kini, pergi ke <ph name="LINK_BEGIN" />Tetapan OS Chrome<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Komputer ini tidak akan menerima kemas kini Google Chrome lagi kerana Mac OS X 10.9 tidak lagi disokong.</translation>
-<translation id="7591404275842302616">Guna Ruang Chrome untuk mengatur penyemakan imbas anda pada peranti ini</translation>
 <translation id="7592736734348559088">Google Chrome tidak dapat menyegerakkan data anda kerana butiran log masuk akaun anda sudah lapuk.</translation>
 <translation id="7626032353295482388">Selamat Datang ke Chrome</translation>
 <translation id="7629695634924605473">Chrome akan memberitahu anda sekiranya kata laluan anda terjejas</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome sudah Usang</translation>
 <translation id="8834965163890861871">Google Chrome cuba mengedit kata laluan. Taip kata laluan Windows anda untuk membenarkan tindakan ini.</translation>
 <translation id="884296878221830158">Sambungan turut mengawal halaman yang ditunjukkan apabila anda memulakan Chrome atau mengklik butang Laman Utama.</translation>
-<translation id="8859948767482842016">Anda dilog masuk dengan akaun Kerja di ruang <ph name="EXISTING_USER" />. Adakah anda mahu membuat ruang Chrome baharu untuk <ph name="WORK_DOMAIN" /> supaya data anda diasingkan?</translation>
 <translation id="8862326446509486874">Anda tidak mempunyai hak wajar untuk pemasangan peringkat sistem. Cuba jalankan pemasang semula sebagai Pentadbir.</translation>
-<translation id="8877586659207810298">Buat ruang Chrome baharu untuk <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Lancarkan semula Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Kemas kini Chrome tersedia}=1{Kemas kini Chrome tersedia}other{Kemas kini Chrome telah tersedia selama # hari}}</translation>
 <translation id="9026991721384951619">OS Chrome tidak dapat menyegerakkan data anda kerana butiran log masuk akaun anda sudah lapuk.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_my.xtb b/chrome/app/resources/google_chrome_strings_my.xtb
index 2e3368f9..fdf2e52 100644
--- a/chrome/app/resources/google_chrome_strings_my.xtb
+++ b/chrome/app/resources/google_chrome_strings_my.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome စမ်းသပ်ဆော့ဖ်ဝဲ (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome မှာ ဟောင်းသွားပြီ</translation>
 <translation id="1919130412786645364">Chrome သို့ လက်မှတ်ထိုးဝင်ခွင့် ပေးပါ</translation>
-<translation id="195645108406520445">သင့် Chrome Space အသစ် စတင်ထည့်သွင်းပါ</translation>
 <translation id="2063848847527508675">မွမ်းမံသည့်အဆင့်ပြီးဆုံးရန်အတွက် Chrome အိုအက်စ် (OS) ကို အသစ်ပြန်စရန် လိုပါမည်။</translation>
 <translation id="2094919256425865063">Chrome ကို မည်သို့ပင်ဖြစ်စေ ပိတ်လိုပါသလား။</translation>
 <translation id="2120620239521071941">၎င်းသည် ဤစက်ပစ္စည်းမှ အကြောင်းအရာ <ph name="ITEMS_COUNT" /> ခုကို ဖျက်လိုက်ပါမည်။ သင့်ဒေတာကို နောက်မှ ပြန်ယူရန် Chrome သို့ <ph name="USER_EMAIL" /> အဖြစ် လက်မှတ်ထိုးဝင်ပါ။</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />လက်ရှိဆက်တင်များ<ph name="END_LINK" />ကို အစီရင်ခံပေးခြင်းအားဖြင့် Chromium ကို ပိုကောင်းလာအောင် ကူညီပေးပါ</translation>
 <translation id="2151406531797534936">Chrome ကို ယခုပြန်စပါ</translation>
 <translation id="2246246234298806438">ထည့်သွင်းထားသည့် PDF ကြည့်ရှုမှုကို ရှာမရလျှင် Google Chrome က ပရင့်ထုတ်မှု အစမ်းကြည့်ကို ပြမပေးနိုင်ပါ။</translation>
-<translation id="226038281051944330"><ph name="EXISTING_USER" /> ၏နေရာတွင် အကောင့်သစ်တစ်ခုဖြင့် သင်လက်မှတ်ထိုးဝင်ထားသည်။ သင့်ဒေတာကို သီးခြားထားရန် <ph name="NEW_USER" /> အတွက် Chrome နေရာအသစ်တစ်ခု ပြုလုပ်လိုပါသလား။</translation>
 <translation id="2290014774651636340">Google API သော့များ မရှိပါ။ Google Chrome ၏ အချို့သော လုပ်ကိုင်နိုင်စွမ်းများမှာ ပိတ်ခံကြရမည်။</translation>
 <translation id="2290095356545025170">သင်သည် Google Chromeကို ဖြုတ်ချင်တာ သေချာလား?</translation>
 <translation id="2309047409763057870">ဤသည်မှာ Google Chrome ကို အရန်သဘော ထည့်သွင်းခြင်းဖြစ်ပြီး သင်၏မူရင်းဘရောင်ဇာအဖြစ် ၎င်းကို အသုံးပြု၍မရနိုင်ပါ။</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">ပိုသစ်သော၊ ပိုလုံခြုံသော Google Chrome ရနိုင်ပါသည်။</translation>
 <translation id="3127818369811890733">Chrome OS က သင့်ဒေတာများကို စင့်ခ်လုပ်၍မရပါ။</translation>
 <translation id="3149510190863420837">Chrome အက်ပ်များ</translation>
-<translation id="3351117925998652957">သင်၏ Chrome Space ကို ယူပါ</translation>
 <translation id="3360895254066713204">Chrome ကူညီပေးသူ</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome ကို ယခု ပြန်လည်စတင်ပါမည်}=1{Chrome ကို ၁ စက္ကန့်အကြာတွင် ပြန်လည်စတင်ပါမည်}other{Chrome ကို # စက္ကန့်အကြာတွင် ပြန်လည်စတင်ပါမည်}}</translation>
 <translation id="3395323229510056640">Chrome OS အကူအညီရယူရန်</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">ကျေးဇူးပြုပြီး Google Chrome ဝင်ဒိုးများကို ပိတ်ပြီ ထပ်စမ်းပါ။</translation>
 <translation id="3865754807470779944">Chrome ဗားရှင်း <ph name="PRODUCT_VERSION" /> ကို ထည့်သွင်းလိုက်သည်</translation>
 <translation id="3873044882194371212">Chrome ရုပ်ဖျက်ဝင်းဒိုးတွင် လင့်ခ်ကို ဖွင့်ရန်</translation>
-<translation id="3879568094278837081">ဤ space ၏ ဖွင့်ကြည့်ထားသည့်မှတ်တမ်းဒေတာကို ဤစက်မှ ဖျက်လိုက်မည်။ ဒေတာကို ပြန်လည်ရယူရန် အောက်ပါဖြင့် Chrome သို့ လက်မှတ်ထိုးဝင်ပါ</translation>
 <translation id="3889417619312448367">Google Chrome ကို ဖြုတ်ရန်</translation>
 <translation id="4050175100176540509">အရေးကြီးလုံခြုံရေးဆိုင်ရာဖွံ့ဖြိုးတိုးတက်မှုများနှင့် အင်္ဂါရပ် အသစ်များအား နောက်ဆုံးပေါ် ဗားရှင်းဖြင့် ရရှိနိုင်ပါသည်။</translation>
 <translation id="4053720452172726777">Google Chrome ကို စိတ်ကြိုက် ပြုပြင်ရန် နှင့် ထိန်းချုပ်ရန်</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Chrome တဘ်အသစ်တွင် လင့်ခ်ကို ဖွင့်ရန်</translation>
 <translation id="4953650215774548573">Google Chrome ကို သင်၏ ပုံသေ ဘရောင်ဇာ အဖြစ် သတ်မှတ်ရန်</translation>
 <translation id="495931528404527476">Chrome ထဲမှာ</translation>
-<translation id="4960472897514318257">အလုပ်သုံးအကောင့်ဖြင့် သင်လက်မှတ်ထိုးဝင်ခဲ့သည်။ သင်၏ ပုဂ္ဂိုလ်ရေးဒေတာကို သီးခြားထားရန် <ph name="NEW_USER" /> အတွက် Chrome နေရာအသစ်တစ်ခု ပြုလုပ်လိုပါသလား။</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS ကို ပြန်လည်စတင်ပါ</translation>
 <translation id="5132929315877954718">Google Chrome အတွက် ဧရာမ အက်ပ်များ၊ ဂိမ်းများ၊ တိုးချဲ့မှုများ နှင့် အပြင်အဆင်များကို ရှာကြည့်ပါ</translation>
 <translation id="5170938038195470297">သင်၏ ပရိုဖိုင်မှာ ပိုသစ်သော Google Chrome ဗားရှင်း ထဲမှ ဖြစ်နေ၍ ၎င်းကို သုံးမရနိုင်ပါ။
 
 အချို့သော အင်္ဂါရပ်များကို ရချင်မှ ရပါမည်။ ကျေးဇူးပြုပြီး အခြား ပရိုဖိုင် ဒါရိုက်ထရီ တစ်ခုကို ဖေါ်ပြပေးပါ သို့မဟုတ် Chrome ၏ ပိုသစ်သော ဗားရှင်းကို အသုံးပြုပါ။</translation>
-<translation id="5171117065011130146">Chrome 'အလုပ်' နေရာအသစ် ပြုလုပ်မလား။</translation>
 <translation id="5193136243808726294">Google Chrome OS သည် ဤစာမျက်နှာကို ဖွင့်၍မရပါ။</translation>
 <translation id="5251420635869119124">ဧည့်သည်များသည် နောက်မှာ မကျန်ရစ်စေခဲ့ဘဲ Chrome ကို သုံးနိုင်ကြသည်။</translation>
 <translation id="532046782124376502">သတိပေးချက်− Chrome သည် သင်၏အသုံးပြုမှုမှတ်တမ်းကို နောက်ဆက်တွဲများက မှတ်သားခြင်းမရှိစေနိုင်ရန် တားမြစ်၍မရပါ။ ရုပ်ဖျက်မုဒ်တွင် ဤနောက်ဆက်တွဲကို ပိတ်ရန်အတွက် ဤအရာကို ရွေးချယ်ထားခြင်းမှ ဖြုတ်လိုက်ပါ။</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">သင်၏စက် အပ်ဒိတ်ဖြစ်မဖြစ် ကြည့်ရန် <ph name="LINK_BEGIN" />Chrome OS ဆက်တင်များ<ph name="LINK_END" /> သို့သွားပါ</translation>
 <translation id="7589360514048265910">Mac OS X 10.9 ကို ဆက်လက် မပံ့ပိုးတော့သောကြောင့် ဤကွန်ပျူတာသည် Google Chrome အပ်ဒိတ်များကို မရရှိနိုင်တော့ပါ။</translation>
-<translation id="7591404275842302616">သင်၏ ရှာဖွေမှုကို ဤစက်ပေါ်တွင် စုစည်းထားရန်အတွက် Chrome Spaces ကို သုံးပါ</translation>
 <translation id="7592736734348559088">သင်၏ လက်မှတ်ထိုးရေး အသေးစိတ်များမှာ ဟောင်းသွားကြပြီ ဖြစ်၍ Google Chrome သည် သင်၏ ဒေတာကို စင့်က် မလုပ်နိုင်ခဲ့ပါ။</translation>
 <translation id="7626032353295482388">Chrome မှ ကြိုဆိုပါသည်</translation>
 <translation id="7629695634924605473">သင့်စကားဝှက်များ ကျိုးပေါက်ထားခြင်း ရှိမရှိ Chrome က သင့်အား အသိပေးပါမည်</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome မှာ ဟောင်းသွားပြီ</translation>
 <translation id="8834965163890861871">Google Chrome သည် စကားဝှက်များ တည်းဖြတ်ရန် ကြိုးပမ်းနေသည်။ ၎င်းကို ခွင့်ပြုရန် သင်၏ Windows စကားဝှက်ကို ထည့်ပါ။</translation>
 <translation id="884296878221830158">သင် Chrome ကိုအစပြုချိန် သို့မဟုတ် ပင်မခလုတ် နှိပ်လိုက်လျှင် မည်သည့် စာမျက်နှာပြမည်ကိုပါ ထိန်းချုပ်ပါသည်။</translation>
-<translation id="8859948767482842016"><ph name="EXISTING_USER" /> ၏နေရာတွင် 'အလုပ်သုံး' အကောင့် ဖြင့် သင်လက်မှတ်ထိုးဝင်ထားသည်။ သင့်ဒေတာကို သီးခြားထားရန် <ph name="WORK_DOMAIN" /> အတွက် Chrome နေရာအသစ်တစ်ခု ပြုလုပ်လိုပါသလား။</translation>
 <translation id="8862326446509486874">သင့်ဆီမှာ စနစ်အဆင့်မှာ တပ်ဆင်နိုင်ရန် အတွက် လိုအပ်သည့် လုပ်ပိုင်ခွင့်များ မရှိပါ။ တပ်ဆင်သူကို ထပ်ပြီး စီမံအုပ်ချုပ်သူ အဖြစ် ဖွင့်သုံးကြည့်ပါ။</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> အတွက် Chrome နေရာအသစ် ပြုလုပ်မလား။</translation>
 <translation id="8914504000324227558">Chromium ကို အသစ်တစ်ဖန် ပြန်စရန်</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome အပ်ဒိတ်တစ်ခု ရနိုင်ပါသည်}=1{Chrome အပ်ဒိတ်တစ်ခု ရနိုင်ပါသည်}other{Chrome အပ်ဒိတ်တစ်ခု ရနိုင်သည်မှာ # ရက်ရှိပါပြီ}}</translation>
 <translation id="9026991721384951619">သင်၏ လက်မှတ်ထိုးရေး အသေးစိတ်များမှာ ဟောင်းသွားကြပြီ ဖြစ်၍ Chrome OSသည် သင်၏ ဒေတာကို စင့်က် မလုပ်နိုင်ခဲ့ပါ။</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ne.xtb b/chrome/app/resources/google_chrome_strings_ne.xtb
index bc28e950..eb1f939 100644
--- a/chrome/app/resources/google_chrome_strings_ne.xtb
+++ b/chrome/app/resources/google_chrome_strings_ne.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome बिटा (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome को मिति समाप्त भएको छ</translation>
 <translation id="1919130412786645364">Chrome मा साइन इन गर्ने अनुमति दिनुहोस्</translation>
-<translation id="195645108406520445">Chrome मा आफ्नो नयाँ प्रोफाइल सेटअप गर्नुहोस्</translation>
 <translation id="2063848847527508675">यो अद्यावधिक लागू गर्न Chrome OS लाई पुनः सुरु गर्नुपर्छ।</translation>
 <translation id="2094919256425865063">जे भए पनि Chrome छाडेर बाहिरिने हो?</translation>
 <translation id="2120620239521071941">यसले यस यन्त्रका <ph name="ITEMS_COUNT" /> वस्तुहरू मेट्नेछ। पछि आफ्नो डेटा प्राप्त गर्न Chrome मा <ph name="USER_EMAIL" /> को रूपमा साइन इन गर्नुहोस्।</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />हालका सेटिङहरू<ph name="END_LINK" /> को रिपोर्ट गरेर Chrome लाई अझ राम्रो बनाउन मद्दत गर्नुहोस्</translation>
 <translation id="2151406531797534936">कृपया अहिले नै Chrome पुनः सुरु गर्नुहोस्</translation>
 <translation id="2246246234298806438">अन्तर्निर्मित PDF दर्शक नहुँदा Google Chrome प्रिन्ट पूर्वावलोकन देखाउन सक्दैन।</translation>
-<translation id="226038281051944330">तपाईंले <ph name="EXISTING_USER" /> को स्पेसमा नयाँ खाता प्रयोग गरी साइन इन गर्नुभएको छ। तपाईं आफ्नो डेटा छुट्टै राख्न Chrome मा <ph name="NEW_USER" /> का लागि नयाँ स्पेस बनाउन चाहनुहुन्छ?</translation>
 <translation id="2290014774651636340">गूगल API कुञ्जीहरू हराइरहेका छन्। Google Chrome का केही कार्यक्षमता अक्षम हुनेछन्।</translation>
 <translation id="2290095356545025170">के तपाइँ पक्का हुनुहुन्छ कि तपाइँ Google Chrome विस्थापित गर्न चाहनुहुन्छ?</translation>
 <translation id="2309047409763057870">यो Google Chrome को एउटा सहायक स्थापना हो र यसलाई तपाईँको पूर्वनिर्धारित ब्राउजर बनाउन सकिँदैन।</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">Google Chrome खो नयाँ, सुरक्षित संस्करण उपलब्ध छ।</translation>
 <translation id="3127818369811890733">Chrome OS ले तपाईंको डेटा सिंक गर्न सकेन।</translation>
 <translation id="3149510190863420837">Chrome एपहरू</translation>
-<translation id="3351117925998652957">आफ्नो रोजाइको Chrome स्पेस छान्नुहोस्</translation>
 <translation id="3360895254066713204">Chrome सहायककर्ता</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome अब पुनः सुरु हुने छ}=1{Chrome १ सेकेन्डमा पुनः सुरु हुने छ}other{Chrome # सेकेन्डमा पुनः सुरु हुने छ}}</translation>
 <translation id="3395323229510056640">Chrome OS को सम्बन्धमा मद्दत प्राप्त गर्नुहोस्</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">कृपया सबै Google Chrome सन्झ्यालहरू बन्द गर्नुहोस् र पुन: प्रयास गर्नुहोस्।</translation>
 <translation id="3865754807470779944">Chrome को संस्करण <ph name="PRODUCT_VERSION" /> स्थापित छ</translation>
 <translation id="3873044882194371212">लिंकलाई Chrome को इन्कोग्निटो विन्डोमा खोल्नुहोस्</translation>
-<translation id="3879568094278837081">यस यन्त्रबाट यो प्रोफाइलको ब्राउजिङ डेटा मेटाइने छ। उक्त डेटा पुनः प्राप्त गर्न निम्न खाता प्रयोग गरी Chrome मा साइन इन गर्नुहोस्</translation>
 <translation id="3889417619312448367">Google Chrome को स्थापना हटाउनुहोस्</translation>
 <translation id="4050175100176540509">नवीनतम संस्करणमा महत्वपूर्ण सुरक्षा सुधारहरू र नयाँ सुविधाहरू उपलब्ध छन्।</translation>
 <translation id="4053720452172726777">Google Chrome आफू अनुकूल र नियन्त्रण गर्नुहोस्</translation>
@@ -145,12 +141,10 @@
 <translation id="4895437082222824641">लिंकलाई Chrome को नयाँ ट्याबमा खोल्नुहोस्</translation>
 <translation id="4953650215774548573">Google Chrome लाई तपाइँको पूर्वनिर्धारित ब्राउजरको रूपमा सेट गर्नुहोस्</translation>
 <translation id="495931528404527476">Chrome मा</translation>
-<translation id="4960472897514318257">तपाईंले कार्य खाता प्रयोग गरी साइन इन गर्नुभएको छ। तपाईं आफ्नो व्यक्तिगत डेटा छुट्टै राख्न Chrome मा <ph name="NEW_USER" /> का लागि नयाँ स्पेस बनाउन चाहनुहुन्छ?</translation>
 <translation id="4990567037958725628">Google Chrome क्यानरी</translation>
 <translation id="5062123544085870375">Chrome OS पुनः सुरु गर्नुहोस्</translation>
 <translation id="5132929315877954718">Google Chrome को लागि उत्कृष्ट एप्स, खेलहरू, एक्स्टेन्सनहरू र थिमहरू पत्ता लगाउनुहोस्।</translation>
 <translation id="5170938038195470297">तपाईंको प्रोफाइल प्रयोग गर्न सकिंदैन किनकी यो Google Chrome को नयाँ संस्करणबाट छ। केही सुविधाहरू अनुपलब्ध हुन सक्नेछन्। कृपया भिन्न प्रोफाइल डाइरेकटरी निर्दिष्ट गर्नुहोस् वा क्रोम को एक नयाँ संस्करण प्रयोग गर्नुहोस्।</translation>
-<translation id="5171117065011130146">Chrome मा नयाँ कार्य स्पेस बनाउने हो?</translation>
 <translation id="5193136243808726294">Google Chrome OS ले यो पृष्ठ खोल्न सक्दैन।</translation>
 <translation id="5251420635869119124">अतिथिहरूले केही पनि पछाडि नछोडिकन Chrome प्रयोग गर्न सक्नुहुन्छ।</translation>
 <translation id="532046782124376502">चेतावनी: Google Chrome ले विस्तारहरूलाई तपाईंको ब्राउजिङसम्बन्धी इतिहास रेकर्ड गर्नमाथि रोक लगाउन सक्दैन। यस विस्तारलाई इन्कोग्निटो मोडमा असक्षम पार्न यो विकल्पको चयन रद्द गर्नुहोस्।</translation>
@@ -218,7 +212,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">आफ्नो यन्त्र अद्यावधिक छ कि छैन भनी हेर्न <ph name="LINK_BEGIN" />Chrome OS का सेटिङ<ph name="LINK_END" />मा जानुहोस्</translation>
 <translation id="7589360514048265910">Mac OS X १०.९ अब उप्रान्त समर्थित नभएकाले यस कम्प्युटरले Google Chrome का अपडेट प्राप्त गर्न  छाड्ने छ।</translation>
-<translation id="7591404275842302616">यो यन्त्रबाट व्यवस्थित तरिकाले इन्टरनेट ब्राउज गर्न Chrome स्पेस प्रयोग गर्नुहोस्</translation>
 <translation id="7592736734348559088">Google Chrome ले तपाईंको डाटा समक्रमण गर्न सकेन किनभने तपाईंको खाताको साइन-इन विवरणहरूको समय समाप्त भएको छ।</translation>
 <translation id="7626032353295482388">Chrome मा स्वागत छ</translation>
 <translation id="7629695634924605473">तपाईंको पासवर्ड ह्याक भएको भण्डमा Chrome ले तपाईंलाई त्यसको जानकारी दिन्छ</translation>
@@ -265,9 +258,7 @@
 <translation id="8823341990149967727">Chrome को मिति समाप्त भएको छ</translation>
 <translation id="8834965163890861871">Google Chrome ले पासवर्डहरू बदल्ने प्रयास गर्दैछ। यसो गर्ने अनुमति दिन आफूले Windows मा प्रयोग गरेको पासवर्ड टाइप गर्नुहोस्।</translation>
 <translation id="884296878221830158">तपाइँले Chrome सुरु गर्दा वा गृह बटन क्लिक गर्दा यसले कुन पृष्ठ देखाउँछ भनेर पनि नियन्त्रण गर्छ।</translation>
-<translation id="8859948767482842016">तपाईंले <ph name="EXISTING_USER" /> को स्पेसमा कार्य खाता प्रयोग गरी साइन इन गर्नुभएको छ। तपाईं आफ्नो डेटा छुट्टै राख्न Chrome मा <ph name="WORK_DOMAIN" /> का लागि नयाँ स्पेस बनाउन चाहनुहुन्छ?</translation>
 <translation id="8862326446509486874">तपाईंसँग सिस्टम-स्तरको स्थापनाको लागि उपयुक्त अधिकारहरू छैनन्। स्थापकलाई व्यवस्थापकको रूपमा पुन: चलाउने प्रयास गर्नुहोस्।</translation>
-<translation id="8877586659207810298">Chrome मा <ph name="NEW_USER" /> का लागि नयाँ स्पेस बनाउने हो?</translation>
 <translation id="8914504000324227558">Chrome पुनः सुरु गर्नुहोस्</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome को अद्यावधिक उपलब्ध छ}=1{Chrome को अद्यावधिक उपलब्ध छ}other{Chrome को अद्यावधिक # दिनदेखि उपलब्ध छ}}</translation>
 <translation id="9026991721384951619">Chrome OS ले तपाइँको लगत समक्रमण गर्न सकेन किनभने तपाइँको खाता साइन-इन विवरणहरूको मिति सिधिएको छ।</translation>
diff --git a/chrome/app/resources/google_chrome_strings_nl.xtb b/chrome/app/resources/google_chrome_strings_nl.xtb
index 567440d..17ef727b 100644
--- a/chrome/app/resources/google_chrome_strings_nl.xtb
+++ b/chrome/app/resources/google_chrome_strings_nl.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Bèta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome is verouderd</translation>
 <translation id="1919130412786645364">Inloggen bij Chrome toestaan</translation>
-<translation id="195645108406520445">Je nieuwe Chrome-ruimte instellen</translation>
 <translation id="2063848847527508675">Chrome OS moet opnieuw worden gestart om de update uit te voeren.</translation>
 <translation id="2094919256425865063">Chrome toch sluiten?</translation>
 <translation id="2120620239521071941">Hiermee worden <ph name="ITEMS_COUNT" /> items verwijderd van dit apparaat. Als je je gegevens later wilt terughalen, log je in bij Chrome als <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Help Chrome beter te maken door de <ph name="BEGIN_LINK" />huidige instellingen<ph name="END_LINK" /> te melden</translation>
 <translation id="2151406531797534936">Chrome nu opnieuw opstarten</translation>
 <translation id="2246246234298806438">Google Chrome kan het afdrukvoorbeeld niet weergeven wanneer de ingebouwde pdf-viewer ontbreekt.</translation>
-<translation id="226038281051944330">Je bent ingelogd met een nieuw-account in de ruimte van <ph name="EXISTING_USER" />. Wil je een nieuwe Chrome-ruimte voor <ph name="NEW_USER" /> maken zodat je je gegevens gescheiden kunt houden?</translation>
 <translation id="2290014774651636340">Google API-sleutels ontbreken. Sommige functies van Google Chrome worden uitgeschakeld.</translation>
 <translation id="2290095356545025170">Weet je zeker dat je Google Chrome wilt verwijderen?</translation>
 <translation id="2309047409763057870">Dit is een tweede installatie van Google Chrome en kan niet als standaardbrowser worden ingesteld.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Er is een nieuwere, veiligere versie van Google Chrome beschikbaar.</translation>
 <translation id="3127818369811890733">Chrome OS kan je gegevens niet synchroniseren.</translation>
 <translation id="3149510190863420837">Chrome-apps</translation>
-<translation id="3351117925998652957">Je Chrome-ruimte kiezen</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome wordt nu opnieuw gestart}=1{Chrome wordt over één seconde opnieuw gestart}other{Chrome wordt over # seconden opnieuw gestart}}</translation>
 <translation id="3395323229510056640">Hulp bij Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Sluit alle Google Chrome-vensters en probeer het opnieuw.</translation>
 <translation id="3865754807470779944">Chrome-versie <ph name="PRODUCT_VERSION" /> is geïnstalleerd</translation>
 <translation id="3873044882194371212">Link openen in een Chrome-inco&amp;gnitovenster</translation>
-<translation id="3879568094278837081">De browsergegevens van deze ruimte worden verwijderd van dit apparaat. Als je de gegevens wilt herstellen, log je in bij Chrome als</translation>
 <translation id="3889417619312448367">Google Chrome verwijderen</translation>
 <translation id="4050175100176540509">Er zijn belangrijke beveiligingsverbeteringen en nieuwe functies beschikbaar in de nieuwste versie.</translation>
 <translation id="4053720452172726777">Google Chrome aanpassen en beheren</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Link openen op een nieuw Chrome-&amp;tabblad</translation>
 <translation id="4953650215774548573">Google Chrome instellen als je standaardbrowser</translation>
 <translation id="495931528404527476">In Chrome</translation>
-<translation id="4960472897514318257">Je bent ingelogd met een werkaccount. Wil je een nieuwe Chrome-ruimte voor <ph name="NEW_USER" /> maken zodat je je persoonlijke gegevens gescheiden kunt houden?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS opnieuw opstarten</translation>
 <translation id="5132929315877954718">Ontdek fantastische apps, games, extensies en thema's voor Google Chrome.</translation>
 <translation id="5170938038195470297">Je profiel kan niet worden gebruikt omdat dit afkomstig is van een nieuwere versie van Google Chrome.
 
 Sommige functies zijn wellicht niet beschikbaar. Geef een andere profieldirectory op of gebruik een nieuwere versie van Chrome.</translation>
-<translation id="5171117065011130146">Nieuwe werkruimte in Chrome maken?</translation>
 <translation id="5193136243808726294">Google Chrome OS kan deze pagina niet openen.</translation>
 <translation id="5251420635869119124">Gasten kunnen Chrome gebruiken zonder iets achter te laten.</translation>
 <translation id="532046782124376502">Waarschuwing: Google Chrome kan niet voorkomen dat extensies je browsegeschiedenis registreren. Als je deze extensie in de incognitomodus wilt uitschakelen, verwijder je het vinkje bij deze optie.</translation>
@@ -219,7 +213,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Ga naar de <ph name="LINK_BEGIN" />instellingen van Chrome OS<ph name="LINK_END" /> om te kijken of je apparaat up-to-date is</translation>
 <translation id="7589360514048265910">Deze computer ontvangt geen Google Chrome-updates meer omdat Mac OS X 10.9 niet meer wordt ondersteund.</translation>
-<translation id="7591404275842302616">Gebruik Chrome-ruimten om het browsen overzichtelijk te houden op dit apparaat</translation>
 <translation id="7592736734348559088">Google Chrome kan je gegevens niet synchroniseren omdat de inloggegevens voor je account zijn verouderd.</translation>
 <translation id="7626032353295482388">Welkom bij Chrome</translation>
 <translation id="7629695634924605473">Chrome laat het je weten als je wachtwoorden mogelijk niet veilig meer zijn</translation>
@@ -266,9 +259,7 @@
 <translation id="8823341990149967727">Chrome is verouderd</translation>
 <translation id="8834965163890861871">Google Chrome probeert wachtwoorden te bewerken. Geef je Windows-wachtwoord op om dit toe te staan.</translation>
 <translation id="884296878221830158">Hiermee wordt ook gecontroleerd welke pagina wordt weergegeven wanneer je Chrome start of op de knop 'Homepage' klikt.</translation>
-<translation id="8859948767482842016">Je bent ingelogd met een werkaccount in de ruimte van <ph name="EXISTING_USER" />. Wil je een nieuwe Chrome-ruimte voor <ph name="WORK_DOMAIN" /> maken zodat je je gegevens gescheiden kunt houden?</translation>
 <translation id="8862326446509486874">Je hebt geen rechten om op systeemniveau te installeren. Meld je aan als beheerder en voer het installatieprogramma opnieuw uit.</translation>
-<translation id="8877586659207810298">Nieuwe Chrome-ruimte voor <ph name="NEW_USER" /> maken?</translation>
 <translation id="8914504000324227558">Chrome opnieuw starten</translation>
 <translation id="8999208279178790196">{0,plural, =0{Er is een Chrome-update beschikbaar}=1{Er is een Chrome-update beschikbaar}other{Er is al # dagen een Chrome-update beschikbaar}}</translation>
 <translation id="9026991721384951619">Chrome OS kan je gegevens niet synchroniseren omdat de inloggegevens voor je account zijn verouderd.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_no.xtb b/chrome/app/resources/google_chrome_strings_no.xtb
index 75ed5855..f3cb6b3 100644
--- a/chrome/app/resources/google_chrome_strings_no.xtb
+++ b/chrome/app/resources/google_chrome_strings_no.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS – inn)</translation>
 <translation id="1877026089748256423">Chrome er utdatert</translation>
 <translation id="1919130412786645364">Tillat Chrome-pålogging</translation>
-<translation id="195645108406520445">Konfigurer ditt nye Chrome Space</translation>
 <translation id="2063848847527508675">Chrome OS må startes på nytt for at oppdateringen skal tas i bruk.</translation>
 <translation id="2094919256425865063">Vil du avslutte Chrome likevel?</translation>
 <translation id="2120620239521071941">Dette sletter <ph name="ITEMS_COUNT" /> elementer fra denne enheten. For å hente dataene dine igjen senere må du logge på Chrome som <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Bidra til å gjøre Chrome bedre ved å rapportere de <ph name="BEGIN_LINK" />nåværende innstillingene<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Start Chrome på nytt nå</translation>
 <translation id="2246246234298806438">Google Chrome kan ikke vise forhåndsvisningen av utskrift når det innebygde PDF-visningsprogrammet mangler.</translation>
-<translation id="226038281051944330">Du har logget på med en ny konto på området til <ph name="EXISTING_USER" />. Vil du opprette et nytt Chrome-område for <ph name="NEW_USER" /> for å holde dataene dine atskilt?</translation>
 <translation id="2290014774651636340">API-nøkler for Google mangler. Noe funksjonalitet i Google Chrome blir deaktivert.</translation>
 <translation id="2290095356545025170">Er du sikker på at du vil avinstallere Google Chrome?</translation>
 <translation id="2309047409763057870">Dette er en sekundær installering av Google Chrome. Den kan ikke brukes som standardnettleser.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">En ny, sikrere versjon av Google Chrome er tilgjengelig</translation>
 <translation id="3127818369811890733">Chrome OS kunne ikke synkronisere dataene dine.</translation>
 <translation id="3149510190863420837">Chrome-apper</translation>
-<translation id="3351117925998652957">Velg ditt Chrome Space</translation>
 <translation id="3360895254066713204">Chrome-hjelper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome startes på nytt nå}=1{Chrome startes på nytt om 1 sekund}other{Chrome startes på nytt om # sekunder}}</translation>
 <translation id="3395323229510056640">Få hjelp med Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Lukk alle Google Chrome-vinduer og prøv på nytt.</translation>
 <translation id="3865754807470779944">Versjon <ph name="PRODUCT_VERSION" /> av Chrome er installert</translation>
 <translation id="3873044882194371212">Åpne linken i et inko&amp;gnitovindu i Chrome</translation>
-<translation id="3879568094278837081">Nettlesingsdataene for dette området blir slettet fra denne enheten. For å gjenopprette dataene, logg på Chrome som</translation>
 <translation id="3889417619312448367">Avinstaller Google Chrome</translation>
 <translation id="4050175100176540509">Viktige sikkerhetsforbedringer og nye funksjoner er tilgjengelige i den nyeste versjonen.</translation>
 <translation id="4053720452172726777">Tilpass og kontrollér Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Åpne linken i en ny &amp;fane i Chrome</translation>
 <translation id="4953650215774548573">Bruk Google Chrome som standard nettleser</translation>
 <translation id="495931528404527476">I Chrome</translation>
-<translation id="4960472897514318257">Du har logget på med en jobbkonto. Vil du opprette et nytt Chrome-område for <ph name="NEW_USER" /> for å holde de personlige dataene dine atskilt?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Start Chrome OS på nytt</translation>
 <translation id="5132929315877954718">Oppdag flotte apper, spill, utvidelser og temaer for Google Chrome.</translation>
 <translation id="5170938038195470297">Profilen din kan ikke brukes fordi den er fra en nyere versjon av Google Chrome. Enkelte funksjoner kan være utilgjengelige. Angi en annen profilkatalog, eller bruk en nyere versjon av Chrome.</translation>
-<translation id="5171117065011130146">Vil du opprette et nytt Chrome-arbeidsområde?</translation>
 <translation id="5193136243808726294">Google Chrome OS kan ikke åpne denne siden</translation>
 <translation id="5251420635869119124">Gjester kan bruke Chrome uten å etterlate seg spor.</translation>
 <translation id="532046782124376502">Advarsel: Google Chrome kan ikke hindre utvidelser i å registrere nettlesingsloggen din. Du kan deaktivere utvidelsen i inkognitomodus ved å fjerne avmerkingen for dette alternativet.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">For å se om enheten er oppdatert, gå til <ph name="LINK_BEGIN" />Innstillinger for Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Denne datamaskinen kommer ikke til å motta oppdateringer av Google Chrome lenger fordi Mac OS X 10.9 ikke støttes lenger.</translation>
-<translation id="7591404275842302616">Bruk Chrome Spaces til å organisere surfingen din på denne enheten</translation>
 <translation id="7592736734348559088">Google Chrome kunne ikke synkronisere dataene dine. Dette skyldes at påloggingsopplysningene for kontoen din er foreldede.</translation>
 <translation id="7626032353295482388">Velkommen til Chrome</translation>
 <translation id="7629695634924605473">Med Chrome får du beskjed hvis passordene dine noensinne utsettes for sikkerhetsbrudd</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome er utdatert</translation>
 <translation id="8834965163890861871">Google Chrome prøver å redigere passord. Skriv inn Windows-passordet ditt for å tillate dette.</translation>
 <translation id="884296878221830158">Den styrer også hvilken side som vises når du starter Chrome eller klikker på Startside-knappen.</translation>
-<translation id="8859948767482842016">Du har logget på med en jobbkonto på området til <ph name="EXISTING_USER" />. Vil du opprette et nytt Chrome-område for <ph name="WORK_DOMAIN" /> for å holde dataene dine atskilt?</translation>
 <translation id="8862326446509486874">Du har ikke de nødvendige rettighetene for å installere på systemnivå. Prøv å kjøre installasjonsprogrammet som administrator.</translation>
-<translation id="8877586659207810298">Vil du opprette et nytt Chrome-område for <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Start Chrome på nytt</translation>
 <translation id="8999208279178790196">{0,plural, =0{En Chrome-oppdatering er tilgjengelig}=1{En Chrome-oppdatering er tilgjengelig}other{En Chrome-oppdatering har vært tilgjengelig i # dager}}</translation>
 <translation id="9026991721384951619">Chrome OS kunne ikke synkronisere dataene fordi påloggingsopplysningene dine er foreldede.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_or.xtb b/chrome/app/resources/google_chrome_strings_or.xtb
index fadf9c7..8c38ebc1 100644
--- a/chrome/app/resources/google_chrome_strings_or.xtb
+++ b/chrome/app/resources/google_chrome_strings_or.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome ବେଟା (mDNS-In)</translation>
 <translation id="1877026089748256423">Chromeର ସମୟସୀମା ଶେଷ ହୋଇଛି</translation>
 <translation id="1919130412786645364">Chromeରେ ସାଇନ୍-ଇନ୍‌ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ</translation>
-<translation id="195645108406520445">ଆପଣଙ୍କ ନୂଆ Chrome ସ୍ପେସ୍ ସେଟ୍ ଅପ୍ କରନ୍ତୁ</translation>
 <translation id="2063848847527508675">ଅପ୍‌ଡେଟ୍‌କୁ ଲାଗୁ କରିବା ପାଇଁ Chrome OSକୁ ରିଷ୍ଟାର୍ଟ କରିବାର ଆବଶ୍ୟକତା ରହିଛି।</translation>
 <translation id="2094919256425865063">ଯେକୌଣସି ମତେ Chrome ପରିତ୍ୟାଗ କରିବେ?</translation>
 <translation id="2120620239521071941">ଏହି ଡିଭାଇସ୍‌ରୁ ଏହା <ph name="ITEMS_COUNT" />ଟି ଆଇଟମ୍‌ ଡିଲିଟ୍‌ କରିବ। ପରେ ଆପଣଙ୍କର ଡାଟା ପୁନଃପ୍ରାପ୍ତ କରିବାକୁ, Chromeରେ <ph name="USER_EMAIL" />ଭାବେ ସାଇନ୍‌ ଇନ୍‌ କରନ୍ତୁ।</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />ବର୍ତ୍ତମାନ ସେଟିଂସ୍‌<ph name="END_LINK" />ର ରିପୋର୍ଟ କରି Chromeକୁ ଆହୁରି ଉତ୍ତମ କରିବାରେ ସାହାଯ୍ୟ କରନ୍ତୁ</translation>
 <translation id="2151406531797534936">ଦୟାକରି ବର୍ତ୍ତମାନ Chrome ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ</translation>
 <translation id="2246246234298806438">ଯେତେବେଳେ ଅନ୍ତର୍ନିହିତ PDF ଭ୍ୟୁୟର୍‍ ନାହିଁ ସେତେବେଳେ Google Chrome ପ୍ରିଣ୍ଟ ପ୍ରିଭ୍ୟୁ ଦେଖାଇପାରିବ ନାହିଁ।</translation>
-<translation id="226038281051944330">ଆପଣ ଏକ ନୂଆ ଆକାଉଣ୍ଟ ସହ <ph name="EXISTING_USER" />ଙ୍କ ସ୍ପେସରେ ସାଇନ୍-ଇନ୍ କରିଛନ୍ତି। ଆପଣ ଆପଣଙ୍କର ଡାଟାକୁ ଅଲଗା ରଖିବା ପାଇଁ <ph name="NEW_USER" /> ନିମନ୍ତେ ଏକ ନୂଆ Chrome ସ୍ପେସ୍ ତିଆରି କରିବାକୁ ଚାହିଁବେ କି?</translation>
 <translation id="2290014774651636340">Google API କୀ' ମିଳୁନାହିଁ। Google Chromeର କିଛି ପ୍ରକାର୍ଯ୍ୟ ଅକ୍ଷମ କରାଯିବ।</translation>
 <translation id="2290095356545025170">ଆପଣ Google Chrome ଅଣସଂସ୍ଥାପନ କରିବାକୁ ଚାହୁଁଥିବା ନିଶ୍ଚିତ କି ?</translation>
 <translation id="2309047409763057870">ଏହା Google Chromeର ଏକ ସେକେଣ୍ଡାରୀ ଇନ୍‍ଷ୍ଟଲେସନ୍‌ ଏବଂ ଏହାକୁ ଆପଣଙ୍କର ଡିଫଲ୍ଟ ବ୍ରାଉଜର୍‌ କରାଯାଇପାରିବ ନାହିଁ।</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Google Chromeର ଏକ ନୂଆ, ସୁରକ୍ଷିତ ସଂସ୍କରଣ ଉପଲବ୍ଧ ଅଛି।</translation>
 <translation id="3127818369811890733">Chrome OS ଆପଣଙ୍କ ଡାଟାକୁ ସିଙ୍କ୍ କରିପାରିଲା ନାହିଁ।</translation>
 <translation id="3149510190863420837">Chrome ଆପ୍ସ</translation>
-<translation id="3351117925998652957">ଆପଣଙ୍କ Chrome ସ୍ପେସ୍ ବାଛନ୍ତୁ</translation>
 <translation id="3360895254066713204">Chrome ସହାୟକ</translation>
 <translation id="3379938682270551431">{0,plural, =0{ବର୍ତ୍ତମାନ Chrome ପୁଣି ଲଞ୍ଚ ହେବ}=1{1 ସେକେଣ୍ଡରେ Chrome ପୁଣି ଲଞ୍ଚ ହେବ}other{# ସେକେଣ୍ଡରେ Chrome ପୁଣି ଲଞ୍ଚ ହେବ}}</translation>
 <translation id="3395323229510056640">Chromium OS ସହ ସାହାଯ୍ୟ ପ୍ରାପ୍ତ କରନ୍ତୁ</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">ଦୟାକରି ସମସ୍ତ Google Chrome ୱିଣ୍ଡୋ ବନ୍ଦ କରନ୍ତୁ ଏବଂ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="3865754807470779944">Chrome ସଂସ୍କରଣ <ph name="PRODUCT_VERSION" /> ଇନଷ୍ଟଲ୍ କରାଯାଇଛି</translation>
 <translation id="3873044882194371212">Chromeର ଇନ୍‍କ&amp;ଗ୍ନିଟୋ ୱିଣ୍ଡୋରେ ଲିଙ୍କ୍‍ ଖୋଲନ୍ତୁ</translation>
-<translation id="3879568094278837081">ଏହି ଡିଭାଇସରୁ ଏହି ସ୍ପେସର ବ୍ରାଉଜିଂ ଡାଟା ଡିଲିଟ୍ ହୋଇଯିବ। ଡାଟା ପୁନରୁଦ୍ଧାର କରିବାକୁ, ଏପରି ଭାବରେ Chromeରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ</translation>
 <translation id="3889417619312448367">Google Chrome ଅସଂସ୍ଥାପନ କରନ୍ତୁ</translation>
 <translation id="4050175100176540509">ନବୀନତମ ସଂସ୍କରଣରେ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ସୁରକ୍ଷା ଉନ୍ନୟନ ଏବଂ ନୂତନ ବୈଶିଷ୍ଟ୍ୟ ଉପଲବ୍ଧ ଅଛି।</translation>
 <translation id="4053720452172726777">Google Chromeକୁ କଷ୍ଟମାଇଜ୍ ଓ ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ।</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">ନୂଆ Chrome &amp;ଟାବ୍‌ରେ ଲିଙ୍କ୍‌ଟି ଖୋଲନ୍ତୁ</translation>
 <translation id="4953650215774548573">Google Chromeକୁ ଆପଣଙ୍କର ଡିଫଲ୍ଟ ବ୍ରାଉଜର୍ ଭାବେ ସେଟ୍ କରନ୍ତୁ</translation>
 <translation id="495931528404527476">Chromeରେ</translation>
-<translation id="4960472897514318257">ଆପଣ ଏକ କାର୍ଯ୍ୟସ୍ଥଳୀ ଆକାଉଣ୍ଟ ସହ ସାଇନ୍-ଇନ୍ କରିଛନ୍ତି। ଆପଣ ଆପଣଙ୍କର ବ୍ୟକ୍ତିଗତ ଡାଟାକୁ ଅଲଗା ରଖିବା ପାଇଁ <ph name="NEW_USER" /> ନିମନ୍ତେ ଏକ ନୂଆ Chrome ସ୍ପେସ୍ ତିଆରି କରିବାକୁ ଚାହିଁବେ କି?</translation>
 <translation id="4990567037958725628">Google Chrome କ୍ୟାନାରୀ</translation>
 <translation id="5062123544085870375">Chrome OS ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ</translation>
 <translation id="5132929315877954718">Google Chrome ପାଇଁ ଆହୁରି ଭଲ ଆପ୍, ଗେମ୍, ଏକ୍ସଟେନ୍‌ସନ୍ ଏବଂ ଥିମ୍‌ଗୁଡ଼ିକ ଖୋଜି ପାଆନ୍ତୁ।</translation>
 <translation id="5170938038195470297">ଆପଣଙ୍କର ପ୍ରୋଫାଇଲ୍ ବ୍ୟବହୃତ ହୋଇପାରିବ ନାହିଁ କାରଣ ଏହା Google Chromeର ଏକ ନୂତନ ସଂସ୍କରଣରୁ ଅଟେ।
 
 କିଛି ବୈଶିଷ୍ଟ୍ୟ ହୁଏତ ଉପଲବ୍ଧ ନଥାଇପାରେ। ଦୟାକରି ଏକ ଭିନ୍ନ ପ୍ରୋଫାଇଲ୍ ଡିରେକ୍ଟୋରୀ ନିର୍ଦ୍ଦିଷ୍ଟ କରନ୍ତୁ କିମ୍ବା Chromeର ଏକ ନୂତନ ସଂସ୍କରଣ ବ୍ୟବହାର କରନ୍ତୁ।</translation>
-<translation id="5171117065011130146">ନୂଆ Chrome ୱାର୍କ ସ୍ପେସ୍ ତିଆରି କରିବେ?</translation>
 <translation id="5193136243808726294">ଏହି ପୃଷ୍ଠାକୁ Google Chrome OS ଖୋଲିପାରିବ ନାହିଁ।</translation>
 <translation id="5251420635869119124">ଅତିଥିମାନେ, ପଛରେ କିଛି ନଛାଡ଼ି Chrome ବ୍ୟବହାର କରିପାରିବେ।</translation>
 <translation id="532046782124376502">ଚେତାବନୀ: Google Chrome କୌଣସି ଏକ୍ସଟେନ୍‌ସନ୍‍କୁ ଆପଣଙ୍କ ବ୍ରାଉଜିଂ ଇତିବୃତ୍ତି ରେକର୍ଡ କରିବାରୁ ପ୍ରତିରୋଧ କରିପାରିବ ନାହିଁ। ଏହି ଏକ୍ସଟେନ୍‌ସନ୍‍କୁ ଇନ୍‌କଗ୍‌ନିଟୋ ମୋଡ୍‍‍ରେ ଅକ୍ଷମ କରିବା ପାଇଁ, ଏହି ବିକଳ୍ପକୁ ଅଣଚୟନ କରନ୍ତୁ।</translation>
@@ -221,7 +215,6 @@
 <translation id="7535429826459677826">Google Chrome ଡେଭ୍‍</translation>
 <translation id="7573289029918943991">ଆପଣଙ୍କ ଡିଭାଇସ୍ ଅପ୍ ଟୁ ଡେଟ୍ ଅଛି କି ନାହିଁ, ତାହା ଦେଖିବାକୁ <ph name="LINK_BEGIN" />Chrome OS ସେଟିଂସ୍‌<ph name="LINK_END" />କୁ ଯାଆନ୍ତୁ</translation>
 <translation id="7589360514048265910">ଏହି କମ୍ପ୍ୟୁଟର୍ ଆଉ Google Chrome ଅପ‌ଡେଟ୍‍ ପ୍ରାପ୍ତ କରିବ ନାହିଁ କାରଣ ଏହା ଆଉ Mac OS X 10.9 ସମର୍ଥିତ ନୁହେଁ।</translation>
-<translation id="7591404275842302616">ଏହି ଡିଭାଇସରେ ଆପଣଙ୍କ ବ୍ରାଉଜିଂକୁ ବ୍ୟବସ୍ଥିତ ରଖିବା ପାଇଁ Chrome ସ୍ପେସ୍ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="7592736734348559088">Google Chrome ଆପଣଙ୍କର ଡାଟାକୁ ସିଙ୍କ୍ କରିପାରିଲା ନାହିଁ କାରଣ ଆପଣଙ୍କର ଆକାଉଣ୍ଟର ସାଇନ୍‌-ଇନ୍‌ ବିବରଣୀର ସମୟ ସୀମା ସମାପ୍ତ ହୋ‍ଇସାରିଛି।</translation>
 <translation id="7626032353295482388">Chromeକୁ ସ୍ୱାଗତ୍‌</translation>
 <translation id="7629695634924605473">ଆପଣଙ୍କର ପାସ୍‍ୱାର୍ଡଗୁଡ଼ିକ କେବେ ବି ଚୋରି ହୋଇଛି କି ନାହିଁ ତାହା Chrome ଆପଣଙ୍କୁ ଜାଣିବାକୁ ଦିଏ</translation>
@@ -268,9 +261,7 @@
 <translation id="8823341990149967727">Chrome ପୁରୁଣା ହୋଇଯାଇଛି</translation>
 <translation id="8834965163890861871">Google Chrome ପାସୱାର୍ଡଗୁଡ଼ିକୁ ଏଡିଟ୍ କରିବାକୁ ଚେଷ୍ଟା କରୁଛି। ଏହାକୁ ଅନୁମତି ଦେବା ପାଇଁ ଆପଣଙ୍କ Windows ପାସୱାର୍ଡ ଟାଇପ୍ କରନ୍ତୁ।</translation>
 <translation id="884296878221830158">ଯେତେବେଳେ ଆପଣ Chrome ଆରମ୍ଭ କରନ୍ତି କିମ୍ବା ହୋମ୍‌ ବଟନ୍‌ କ୍ଲିକ୍ କରନ୍ତି, ସେତେବେଳେ କେଉଁ ପୃଷ୍ଠା ଦେଖାଯିବ ତାହା ଏହା ନିୟନ୍ତ୍ରଣ କରେ।</translation>
-<translation id="8859948767482842016">ଆପଣ ଏକ କାର୍ଯ୍ୟସ୍ଥଳୀ ଆକାଉଣ୍ଟ ସହ <ph name="EXISTING_USER" />ଙ୍କ ସ୍ପେସରେ ସାଇନ୍-ଇନ୍ କରିଛନ୍ତି। ଆପଣ ଆପଣଙ୍କର ଡାଟାକୁ ଅଲଗା ରଖିବା ପାଇଁ <ph name="WORK_DOMAIN" /> ନିମନ୍ତେ ଏକ ନୂଆ Chrome ସ୍ପେସ୍ ତିଆରି କରିବାକୁ ଚାହିଁବେ କି?</translation>
 <translation id="8862326446509486874">ସିଷ୍ଟମ୍-ଲେବଲ୍ ସଂସ୍ଥାପନ ପାଇଁ ଆପଣଙ୍କ ପାଖରେ ଉପଯୁକ୍ତ ଅଧିକାର ନାହିଁ । ବ୍ୟବସ୍ଥାପକ ଭାବରେ ପୁନଃ ସଂସ୍ଥାପକ ଚଳାଇବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ ।</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> ପାଇଁ ନୂଆ Chrome ସ୍ପେସ୍ ତିଆରି କରିବେ?</translation>
 <translation id="8914504000324227558">Chrome ପୁଣି ଲଞ୍ଚ କରନ୍ତୁ</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome‍ର ଏକ ଅପ୍‍‍ଡେଟ୍ ଉପଲବ୍ଧ ଅଛି}=1{Chrome‍ର ଏକ ଅପ୍‍‍ଡେଟ୍ ଉପଲବ୍ଧ ଅଛି}other{# ଦିନ ପାଇଁ Chrome‍ର ଏକ ଅପ୍‍‍ଡେଟ୍ ଉପଲବ୍ଧ ଅଛି}}</translation>
 <translation id="9026991721384951619">ଆପଣଙ୍କର ଆକାଉଣ୍ଟ ସାଇନ୍ ଇନ୍ ବିବରଣୀ ପୁରୁଣା ହୋଇଥିବା ଯୋଗୁଁ Chrome OS ଆପଣଙ୍କର ଡାଟା ସିଙ୍କ୍ କରିପାରିଲା ନାହିଁ।</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pa.xtb b/chrome/app/resources/google_chrome_strings_pa.xtb
index e037a8a..0a18259 100644
--- a/chrome/app/resources/google_chrome_strings_pa.xtb
+++ b/chrome/app/resources/google_chrome_strings_pa.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome ਬੀਟਾ (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome ਦਾ ਇਹ ਵਰਜਨ ਪੁਰਾਣਾ ਹੈ</translation>
 <translation id="1919130412786645364">Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨ ਦਿਓ</translation>
-<translation id="195645108406520445">ਆਪਣੇ ਨਵੇਂ Chrome ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ</translation>
 <translation id="2063848847527508675">ਅੱਪਡੇਟ ਲਾਗੂ ਕਰਨ ਲਈ Chrome OS ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕੀਤੇ ਜਾਣ ਦੀ ਲੋੜ ਹੈ।</translation>
 <translation id="2094919256425865063">ਕੀ ਫਿਰ ਵੀ Chrome ਨੂੰ ਛੱਡਣਾ ਹੈ?</translation>
 <translation id="2120620239521071941">ਇਸ ਨਾਲ ਇਸ ਡੀਵਾਈਸ ਤੋਂ <ph name="ITEMS_COUNT" /> ਆਈਟਮਾਂ ਮਿਟਾ ਦਿੱਤੀਆਂ ਜਾਣਗੀਆਂ। ਬਾਅਦ ਵਿੱਚ ਆਪਣੇ ਡਾਟੇ ਨੂੰ ਮੁੜ-ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, Chrome 'ਤੇ <ph name="USER_EMAIL" /> ਵਜੋਂ ਸਾਈਨ-ਇਨ ਕਰੋ।</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />ਵਰਤਮਾਨ ਸੈਟਿੰਗਾਂ<ph name="END_LINK" /> ਦੀ ਰਿਪੋਰਟ ਕਰਕੇ Chrome ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ</translation>
 <translation id="2151406531797534936">ਕਿਰਪਾ ਕਰਕੇ ਹੁਣੇ Chrome ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ</translation>
 <translation id="2246246234298806438">ਬਿਲਟ-ਇਨ PDF ਵਿਊਅਰ ਮੌਜੂਦ ਨਾ ਹੋਣ 'ਤੇ Google Chrome ਪ੍ਰਿੰਟ ਦੀ ਪੂਰਵ-ਝਲਕ ਨਹੀਂ ਦਿਖਾ ਸਕਦਾ।</translation>
-<translation id="226038281051944330">ਤੁਸੀਂ <ph name="EXISTING_USER" /> ਦੀ ਜਗ੍ਹਾ 'ਤੇ ਨਵੇਂ ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕੀਤਾ। ਕੀ ਤੁਸੀਂ ਆਪਣੇ ਡਾਟੇ ਨੂੰ ਵੱਖਰਾ ਰੱਖਣ ਲਈ <ph name="NEW_USER" /> ਵਾਸਤੇ ਨਵੀਂ Chrome ਜਗ੍ਹਾ ਬਣਾਉਣੀ ਚਾਹੋਗੇ?</translation>
 <translation id="2290014774651636340">Google API ਕੁੰਜੀਆਂ ਮੌਜੂਦ ਨਹੀਂ ਹਨ। Google Chrome ਦੀ ਕੁਝ ਫੰਕਸ਼ਨੈਲਿਟੀ ਬੰਦ ਕੀਤੀ ਜਾਵੇਗੀ।</translation>
 <translation id="2290095356545025170">ਕੀ ਤੁਸੀਂ ਪੱਕਾ Google Chrome ਨੂੰ ਅਣਸਥਾਪਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</translation>
 <translation id="2309047409763057870">ਇਹ Google Chrome ਦੀ ਇੱਕ ਸੈਕੰਡਰੀ ਸਥਾਪਨਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਤੁਹਾਡਾ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਬ੍ਰਾਊਜ਼ਰ ਨਹੀਂ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Google Chrome ਦਾ ਇੱਕ ਨਵਾਂ, ਵੱਧ ਸੁਰੱਖਿਅਤ ਵਰਜਨ ਉਪਲਬਧ ਹੈ।</translation>
 <translation id="3127818369811890733">Chrome OS ਤੁਹਾਡੇ ਡਾਟੇ ਦਾ ਸਮਕਾਲੀਕਰਨ ਨਹੀਂ ਕਰ ਸਕਿਆ।</translation>
 <translation id="3149510190863420837">Chrome ਐਪਸ</translation>
-<translation id="3351117925998652957">ਆਪਣੀ Chrome Space ਚੁਣੋ</translation>
 <translation id="3360895254066713204">Chrome ਸਹਾਇਕ</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome ਹੁਣੇ ਮੁੜ-ਲਾਂਚ ਹੋਵੇਗਾ}=1{Chrome 1 ਸਕਿੰਟ ਵਿੱਚ ਮੁੜ-ਲਾਂਚ ਹੋਵੇਗਾ}other{Chrome # ਸਕਿੰਟਾਂ ਵਿੱਚ ਮੁੜ-ਲਾਂਚ ਹੋਵੇਗਾ}}</translation>
 <translation id="3395323229510056640">Chrome OS ਬਾਰੇ ਮਦਦ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">ਕਿਰਪਾ ਕਰਕੇ ਸਾਰੀਆਂ Google Chrome ਵਿੰਡੋਆਂ ਨੂੰ ਬੰਦ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="3865754807470779944">Chrome ਵਰਜਨ <ph name="PRODUCT_VERSION" /> ਸਥਾਪਤ ਹੈ</translation>
 <translation id="3873044882194371212">Chrome ਇਨ&amp;ਕੋਗਨਿਟੋ ਵਿੰਡੋ ਵਿੱਚ ਲਿੰਕ ਖੋਲ੍ਹੋ</translation>
-<translation id="3879568094278837081">ਇਸ ਜਗ੍ਹਾ ਦਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਡਾਟਾ ਇਸ ਡੀਵਾਈਸ ਤੋਂ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਡਾਟੇ ਨੂੰ ਮੁੜ-ਹਾਸਲ ਕਰਨ ਲਈ, Chrome ਵਿੱਚ ਇਸ ਵਜੋਂ ਸਾਈਨ ਇਨ ਕਰੋ</translation>
 <translation id="3889417619312448367">Google Chrome ਨੂੰ ਅਣਸਥਾਪਤ ਕਰੋ</translation>
 <translation id="4050175100176540509">ਮਹੱਤਵਪੂਰਣ ਸੁਰੱਖਿਆ ਸੁਧਾਰ ਅਤੇ ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨਵੇਂ ਰੂਪ ਵਿੱਚ ਉਪਲਬਧ ਹਨ।</translation>
 <translation id="4053720452172726777">Google Chrome ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰਕੇ ਕੰਟਰੋਲ ਕਰੋ।</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">ਨਵੀਂ Chrome &amp;ਟੈਬ ਵਿੱਚ ਲਿੰਕ ਖੋਲ੍ਹੋ</translation>
 <translation id="4953650215774548573">Google Chrome ਨੂੰ ਆਪਣੇ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਬ੍ਰਾਊਜ਼ਰ ਵਜੋਂ ਸੈੱਟ ਕਰੋ</translation>
 <translation id="495931528404527476">Chrome ਵਿੱਚ</translation>
-<translation id="4960472897514318257">ਤੁਸੀਂ ਕਾਰਜ ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕੀਤਾ। ਕੀ ਤੁਸੀਂ ਆਪਣੇ ਨਿੱਜੀ ਡਾਟੇ ਨੂੰ ਵੱਖਰਾ ਰੱਖਣ ਲਈ <ph name="NEW_USER" /> ਵਾਸਤੇ ਨਵੀਂ Chrome ਜਗ੍ਹਾ ਬਣਾਉਣੀ ਚਾਹੋਗੇ?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ</translation>
 <translation id="5132929315877954718">Google Chrome ਲਈ ਸ਼ਾਨਦਾਰ ਐਪਾਂ, ਗੇਮਾਂ, ਐਕਸਟੈਂਸ਼ਨਾਂ ਅਤੇ ਵਿਸ਼ੇ ਖੋਜੋ।</translation>
 <translation id="5170938038195470297">ਤੁਹਾਡੀ ਪ੍ਰੋਫਾਈਲ ਨਹੀਂ ਵਰਤੀ ਜਾ ਸਕਦੀ ਕਿਉਂਕਿ ਇਹ Chromium ਦੇ ਨਵੇਂ ਵਰਜਨ ਤੋਂ ਹੈ।
 
 ਸ਼ਾਇਦ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਉਪਲਬਧ ਨਾ ਹੋਣ। ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਵੱਖ ਪ੍ਰੋਫਾਈਲ ਡਾਇਰੈਕਟਰੀ ਜਾਂ Chromium ਦਾ ਨਵਾਂ ਵਰਜਨ ਵਰਤੋ।</translation>
-<translation id="5171117065011130146">ਕੀ ਨਵੀਂ Chrome ਕਾਰਜ ਜਗ੍ਹਾ ਬਣਾਉਣੀ ਹੈ?</translation>
 <translation id="5193136243808726294">Google Chrome OS ਇਸ ਪੰਨੇ ਨੂੰ ਨਹੀਂ ਖੋਲ੍ਹ ਸਕਦਾ।</translation>
 <translation id="5251420635869119124">ਮਹਿਮਾਨ ਕੁਝ ਵੀ ਪਿੱਛੇ ਛੱਡੇ ਬਿਨਾਂ Chrome ਵਰਤ ਸਕਦੇ ਹਨ।</translation>
 <translation id="532046782124376502">ਚਿਤਾਵਨੀ: Google Chrome ਐਕਸਟੈਂਸ਼ਨਾਂ ਨੂੰ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਨੂੰ ਰਿਕਾਰਡ ਕਰਨ ਤੋਂ ਨਹੀਂ ਰੋਕ ਸਕਦਾ। ਇਨਕੋਗਨਿਟੋ ਮੋਡ ਵਿੱਚ ਇਸ ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ, ਇਸ ਵਿਕਲਪ ਨੂੰ ਅਣਚੁਣਿਆ ਕਰੋ।</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">ਇਹ ਦੇਖਣ ਲਈ ਕਿ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਅੱਪ-ਟੂ-ਡੇਟ ਹੈ ਜਾਂ ਨਹੀਂ, <ph name="LINK_BEGIN" />Chrome OS ਸੈਟਿੰਗਾਂ<ph name="LINK_END" /> 'ਤੇ ਜਾਓ</translation>
 <translation id="7589360514048265910">ਹੁਣ Mac OS X 10.9 ਸਮਰਥਿਤ ਨਾ ਹੋਣ ਕਰਕੇ ਇਸ ਕੰਪਿਊਟਰ ਨੂੰ Google Chrome ਅੱਪਡੇਟ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਣਗੇ।</translation>
-<translation id="7591404275842302616">ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਆਪਣੀ ਬ੍ਰਾਊਜ਼ਿੰਗ ਨੂੰ ਵਿਵਸਥਿਤ ਰੱਖਣ ਲਈ Chrome Spaces ਵਰਤੋ</translation>
 <translation id="7592736734348559088">Google Chrome ਤੁਹਾਡਾ ਡਾਟਾ ਸਿੰਕ ਨਹੀਂ ਕਰ ਸਕਿਆ ਕਿਉਂਕਿ ਤੁਹਾਡੇ ਖਾਤਾ ਸਾਈਨ-ਇਨ ਵੇਰਵੇ ਪੁਰਾਣੇ ਹਨ।</translation>
 <translation id="7626032353295482388">Chrome ਵਿੱਚ ਸੁਆਗਤ ਹੈ</translation>
 <translation id="7629695634924605473">Chrome ਤੁਹਾਨੂੰ ਇਹ ਗੱਲ ਦੱਸਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਪਾਸਵਰਡਾਂ ਨਾਲ ਪਹਿਲਾਂ ਕਦੇ ਛੇੜਛਾੜ ਹੋਈ ਹੈ ਜਾਂ ਨਹੀਂ</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome ਪੁਰਾਣਾ ਹੈ</translation>
 <translation id="8834965163890861871">Google Chrome ਪਾਸਵਰਡਾਂ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ। ਇਸਦੀ ਆਗਿਆ ਦੇਣ ਲਈ ਆਪਣਾ Windows ਪਾਸਵਰਡ ਟਾਈਪ ਕਰੋ।</translation>
 <translation id="884296878221830158">ਇਹ ਇਸ ਨੂੰ ਵੀ ਕੰਟਰੋਲ ਕਰਦਾ ਹੈ ਕਿ ਜਦੋਂ ਤੁਸੀਂ Chrome ਨੂੰ ਸ਼ੁਰੂ ਕਰਦੇ ਹੋ ਜਾਂ ਹੋਮ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਦੇ ਹੋ ਤਾਂ ਕਿਹੜਾ ਪੰਨਾ ਦਿਖਾਇਆ ਜਾਵੇ।</translation>
-<translation id="8859948767482842016">ਤੁਸੀਂ <ph name="EXISTING_USER" /> ਦੀ ਜਗ੍ਹਾ 'ਤੇ ਕਾਰਜ ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕੀਤਾ। ਕੀ ਤੁਸੀਂ ਆਪਣੇ ਡਾਟੇ ਨੂੰ ਵੱਖਰਾ ਰੱਖਣ ਲਈ <ph name="WORK_DOMAIN" /> ਵਾਸਤੇ ਨਵੀਂ Chrome ਜਗ੍ਹਾ ਬਣਾਉਣੀ ਚਾਹੋਗੇ?</translation>
 <translation id="8862326446509486874">ਤੁਹਾਡੇ ਕੋਲ ਸਿਸਟਮ-ਪੱਧਰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਉਚਿਤ ਅਧਿਕਾਰ ਨਹੀਂ ਹਨ। ਪ੍ਰਬੰਧਕ ਦੇ ਤੌਰ 'ਤੇ ਦੁਬਾਰਾ ਸਥਾਪਨਾਕਾਰ ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
-<translation id="8877586659207810298">ਕੀ <ph name="NEW_USER" /> ਲਈ ਨਵੀਂ Chrome ਜਗ੍ਹਾ ਬਣਾਉਣੀ ਹੈ?</translation>
 <translation id="8914504000324227558">Chrome ਨੂੰ ਮੁੜ-ਲਾਂਚ ਕਰੋ</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome ਅੱਪਡੇਟ ਉਪਲਬਧ ਹੈ}=1{Chrome ਅੱਪਡੇਟ ਉਪਲਬਧ ਹੈ}other{Chrome ਅੱਪਡੇਟ # ਦਿਨਾਂ ਤੋਂ ਉਪਲਬਧ ਹੈ}}</translation>
 <translation id="9026991721384951619">Chrome OS ਤੁਹਾਡਾ ਡਾਟਾ ਸਿੰਕ ਨਹੀਂ ਕਰ ਸਕਿਆ ਕਿਉਂਕਿ ਤੁਹਾਡੇ ਖਾਤਾ ਸਾਈਨ-ਇਨ ਵੇਰਵੇ ਪੁਰਾਣੇ ਹਨ।</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pl.xtb b/chrome/app/resources/google_chrome_strings_pl.xtb
index 6b7b77a..50fb837e 100644
--- a/chrome/app/resources/google_chrome_strings_pl.xtb
+++ b/chrome/app/resources/google_chrome_strings_pl.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome jest nieaktualny</translation>
 <translation id="1919130412786645364">Zezwalaj na logowanie się w Chrome</translation>
-<translation id="195645108406520445">Skonfiguruj nowy profil w Chrome</translation>
 <translation id="2063848847527508675">Żeby system operacyjny Chrome mógł zastosować aktualizacje, musisz go ponownie uruchomić.</translation>
 <translation id="2094919256425865063">Zamknąć Chrome mimo to?</translation>
 <translation id="2120620239521071941">Spowoduje to usunięcie <ph name="ITEMS_COUNT" /> elementów z tego urządzenia. Aby później odzyskać dane, zaloguj się w Chrome jako <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Pomóż udoskonalić Chrome, zgłaszając <ph name="BEGIN_LINK" />bieżące ustawienia<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Uruchom Chrome ponownie</translation>
 <translation id="2246246234298806438">Google Chrome nie może pokazać podglądu wydruku, gdy nie ma wbudowanej przeglądarki PDF.</translation>
-<translation id="226038281051944330">Używasz teraz nowego konta w profilu użytkownika <ph name="EXISTING_USER" />. Czy chcesz utworzyć nowy profil Chrome dla użytkownika <ph name="NEW_USER" />, by przechowywać swoje dane oddzielnie?</translation>
 <translation id="2290014774651636340">Brakuje kluczy interfejsu Google API. Niektóre funkcje Google Chrome będą wyłączone.</translation>
 <translation id="2290095356545025170">Czy na pewno chcesz odinstalować przeglądarkę Google Chrome?</translation>
 <translation id="2309047409763057870">To jest druga instalacja Google Chrome. Nie można ustawić jej jako przeglądarki domyślnej.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Dostępna jest nowa, bezpieczniejsza wersja przeglądarki Google Chrome.</translation>
 <translation id="3127818369811890733">System operacyjny Chrome nie może zsynchronizować danych.</translation>
 <translation id="3149510190863420837">Aplikacje Chrome</translation>
-<translation id="3351117925998652957">Wybierz swój profil w Chrome</translation>
 <translation id="3360895254066713204">Pomoc Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome uruchomi się ponownie teraz}=1{Chrome uruchomi się ponownie za 1 sekundę}few{Chrome uruchomi się ponownie za # sekundy}many{Chrome uruchomi się ponownie za # sekund}other{Chrome uruchomi się ponownie za # sekundy}}</translation>
 <translation id="3395323229510056640">Pomoc do Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Zamknij wszystkie okna przeglądarki Google Chrome i spróbuj ponownie.</translation>
 <translation id="3865754807470779944">Zainstalowana jest wersja Chrome <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Otwórz link w oknie inco&amp;gnito Chrome</translation>
-<translation id="3879568094278837081">Dane przeglądania przypisane do tego profilu zostaną usunięte z tego urządzenia. Aby je odzyskać, zaloguj się w Chrome jako</translation>
 <translation id="3889417619312448367">Odinstaluj Google Chrome</translation>
 <translation id="4050175100176540509">W najnowszej wersji zostały wprowadzone ważne poprawki bezpieczeństwa i nowe funkcje.</translation>
 <translation id="4053720452172726777">Dostosowywanie i kontrolowanie Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">O&amp;twórz link w nowej karcie Chrome</translation>
 <translation id="4953650215774548573">Ustaw Google Chrome jako domyślną przeglądarkę</translation>
 <translation id="495931528404527476">W Chrome</translation>
-<translation id="4960472897514318257">Używasz konta do pracy. Czy chcesz utworzyć nowy profil Chrome dla użytkownika <ph name="NEW_USER" />, by przechowywać swoje osobiste dane oddzielnie?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Uruchom ponownie Chrome OS</translation>
 <translation id="5132929315877954718">Odkryj znakomite aplikacje, gry, rozszerzenia i motywy do przeglądarki Google Chrome.</translation>
 <translation id="5170938038195470297">Nie można użyć Twojego profilu, ponieważ został utworzony w nowszej wersji Google Chrome. Niektóre funkcje mogą być niedostępne. Podaj inny katalog z profilem lub użyj nowszej wersji Chrome.</translation>
-<translation id="5171117065011130146">Utworzyć nowy profil służbowy Chrome?</translation>
 <translation id="5193136243808726294">System operacyjny Google Chrome nie może otworzyć tej strony.</translation>
 <translation id="5251420635869119124">Goście mogą korzystać z Chrome, nie pozostawiając żadnych danych.</translation>
 <translation id="532046782124376502">Ostrzeżenie: Google Chrome nie może uniemożliwić rozszerzeniom zapisywania historii przeglądania. Aby wyłączyć to rozszerzenie w trybie incognito, odznacz tę opcję.</translation>
@@ -213,7 +207,6 @@
 <translation id="7535429826459677826">Wersja deweloperska Google Chrome</translation>
 <translation id="7573289029918943991">Aby sprawdzić, czy urządzenie jest zaktualizowane, otwórz <ph name="LINK_BEGIN" />ustawienia systemu operacyjnego Chrome<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Google Chrome nie będzie już aktualizować się na tym komputerze, bo system Mac OS X 10.9 nie jest już obsługiwany.</translation>
-<translation id="7591404275842302616">Używaj profili w Chrome, by zachować porządek podczas przeglądania na tym urządzeniu</translation>
 <translation id="7592736734348559088">Google Chrome nie może zsynchronizować danych, ponieważ dane logowania na Twoje konto są nieaktualne.</translation>
 <translation id="7626032353295482388">Witamy w Chrome</translation>
 <translation id="7629695634924605473">Chrome poinformuje Cię, jeśli Twoje hasła dostaną się w niepowołane ręce</translation>
@@ -260,9 +253,7 @@
 <translation id="8823341990149967727">Chrome jest nieaktualny</translation>
 <translation id="8834965163890861871">Google Chrome próbuje edytować hasła. Aby na to zezwolić, podaj swoje hasło do systemu Windows.</translation>
 <translation id="884296878221830158">Kontroluje także to, jaka strona wyświetla się po uruchomieniu Chrome lub kliknięciu przycisku strony głównej.</translation>
-<translation id="8859948767482842016">Używasz konta do pracy w profilu użytkownika <ph name="EXISTING_USER" />. Czy chcesz utworzyć nowy profil Chrome dla domeny <ph name="WORK_DOMAIN" />, by przechowywać swoje dane oddzielnie?</translation>
 <translation id="8862326446509486874">Nie masz odpowiednich uprawnień do przeprowadzenia instalacji na poziomie systemowym. Uruchom ponownie program instalacyjny jako administrator.</translation>
-<translation id="8877586659207810298">Utworzyć nowy profil Chrome dla użytkownika <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Uruchom Chrome ponownie</translation>
 <translation id="8999208279178790196">{0,plural, =0{Dostępna jest aktualizacja Chrome}=1{Dostępna jest aktualizacja Chrome}few{Aktualizacja Chrome jest dostępna od # dni}many{Aktualizacja Chrome jest dostępna od # dni}other{Aktualizacja Chrome jest dostępna od # dnia}}</translation>
 <translation id="9026991721384951619">Google Chrome nie może zsynchronizować danych, ponieważ dane logowania na Twoje konto są nieaktualne.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-BR.xtb b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
index 32af025..db68c6c 100644
--- a/chrome/app/resources/google_chrome_strings_pt-BR.xtb
+++ b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">O Google Chrome está desatualizado</translation>
 <translation id="1919130412786645364">Permitir login no Chrome</translation>
-<translation id="195645108406520445">Configure seu novo Chrome Space</translation>
 <translation id="2063848847527508675">É necessário reiniciar o Chrome OS para aplicar a atualização.</translation>
 <translation id="2094919256425865063">Sair do Chrome mesmo assim?</translation>
 <translation id="2120620239521071941">Essa ação excluirá <ph name="ITEMS_COUNT" /> itens desse dispositivo. Para recuperar seus dados mais tarde, faça login no Chrome como <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Ajude a melhorar o Chrome informando as <ph name="BEGIN_LINK" />configurações atuais<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Reinicie o Chrome agora</translation>
 <translation id="2246246234298806438">O Google Chrome não consegue mostrar a visualização de impressão quando não há visualizador de PDF integrado.</translation>
-<translation id="226038281051944330">Você fez login com uma nova conta no espaço de <ph name="EXISTING_USER" />. Quer criar um novo espaço do Chrome para <ph name="NEW_USER" /> e manter seus dados separados?</translation>
 <translation id="2290014774651636340">As chaves da API do Google não foram encontradas. Algumas funcionalidades do Google Chrome serão desativadas.</translation>
 <translation id="2290095356545025170">Você quer mesmo desinstalar o Google Chrome?</translation>
 <translation id="2309047409763057870">Como esta é uma instalação secundária do Google Chrome, ele não pode se tornar seu navegador padrão.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Há uma versão nova e mais segura do Google Chrome disponível.</translation>
 <translation id="3127818369811890733">Não foi possível sincronizar seus dados no Chrome OS.</translation>
 <translation id="3149510190863420837">apps do Chrome</translation>
-<translation id="3351117925998652957">Escolha seu Chrome Space</translation>
 <translation id="3360895254066713204">Auxiliar do Google Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{O Chrome será reiniciado agora}=1{O Chrome será reiniciado em 1 segundo}one{O Chrome será reiniciado em # segundo}other{O Chrome será reiniciado em # segundos}}</translation>
 <translation id="3395323229510056640">Ajuda com o Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Feche todas as janelas do Google Chrome e tente novamente.</translation>
 <translation id="3865754807470779944">O Chrome versão <ph name="PRODUCT_VERSION" /> está instalado</translation>
 <translation id="3873044882194371212">Abrir link na janela &amp;sem rastros do Chrome</translation>
-<translation id="3879568094278837081">Os dados de navegação desse espaço serão excluídos do dispositivo. Para recuperá-los, faça login no Chrome como</translation>
 <translation id="3889417619312448367">Desinstalar o Google Chrome</translation>
 <translation id="4050175100176540509">Melhorias de segurança importantes e novos recursos estão disponíveis na versão mais recente.</translation>
 <translation id="4053720452172726777">Personalizar e controlar o Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Abrir link em nova &amp;guia do Chrome</translation>
 <translation id="4953650215774548573">Definir o Google Chrome como seu navegador padrão</translation>
 <translation id="495931528404527476">No Google Chrome</translation>
-<translation id="4960472897514318257">Você fez login com uma conta de trabalho. Quer criar um novo espaço do Chrome para <ph name="NEW_USER" /> e manter seus dados pessoais separados?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Reiniciar o Chrome OS</translation>
 <translation id="5132929315877954718">Descubra ótimos aplicativos, jogos, extensões e temas para o Google Chrome.</translation>
 <translation id="5170938038195470297">Seu perfil não pode ser utilizado pois foi criado em uma versão mais recente do Google Chrome. Alguns recursos podem não estar disponíveis. Especifique um diretório de perfil diferente ou utilize uma versão mais recente do Google Chrome.</translation>
-<translation id="5171117065011130146">Criar novo espaço de trabalho do Chrome?</translation>
 <translation id="5193136243808726294">O Google Chrome OS não pode abrir essa página.</translation>
 <translation id="5251420635869119124">Convidados podem usar o Google Chrome sem deixar nada para trás.</translation>
 <translation id="532046782124376502">Aviso: o Google Chrome não impede que as extensões registrem seu histórico de navegação. Para desativar esta extensão no modo anônimo, desmarque esta opção.</translation>
@@ -213,7 +207,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Para verificar se o dispositivo está atualizado, acesse as <ph name="LINK_BEGIN" />Configurações do Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Este computador não receberá mais atualizações do Google Chrome, porque o Mac OS X 10.9 não é mais compatível.</translation>
-<translation id="7591404275842302616">Use os Chrome Spaces para organizar sua navegação neste dispositivo</translation>
 <translation id="7592736734348559088">O Google Chrome não pôde sincronizar seus dados, pois os detalhes de login da sua conta estão desatualizados.</translation>
 <translation id="7626032353295482388">Bem-vindo ao Google Chrome</translation>
 <translation id="7629695634924605473">O Chrome avisa se suas senhas forem comprometidas</translation>
@@ -260,9 +253,7 @@
 <translation id="8823341990149967727">O Google Chrome está desatualizado</translation>
 <translation id="8834965163890861871">O Google Chrome está tentando editar senhas. Digite a senha do Windows para permitir essa ação.</translation>
 <translation id="884296878221830158">Controla também qual página deve ser exibida quando você inicia o Chrome ou clica no botão "Página inicial".</translation>
-<translation id="8859948767482842016">Você fez login com uma conta de trabalho no espaço de <ph name="EXISTING_USER" />. Quer criar um novo espaço do Chrome para <ph name="WORK_DOMAIN" /> e manter seus dados separados?</translation>
 <translation id="8862326446509486874">Você não tem os direitos adequados para instalação no nível do sistema. Tente executar o instalador novamente como administrador.</translation>
-<translation id="8877586659207810298">Criar novo espaço do Chrome para <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Reiniciar o Google Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Uma atualização do Chrome está disponível}=1{Uma atualização do Chrome está disponível}one{Uma atualização do Chrome está disponível há # dia}other{Uma atualização do Chrome está disponível há # dias}}</translation>
 <translation id="9026991721384951619">O Chrome OS não pôde sincronizar seus dados porque os detalhes de login da sua conta estão desatualizados.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-PT.xtb b/chrome/app/resources/google_chrome_strings_pt-PT.xtb
index d61fa816d..9658bcca 100644
--- a/chrome/app/resources/google_chrome_strings_pt-PT.xtb
+++ b/chrome/app/resources/google_chrome_strings_pt-PT.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">O Chrome está desatualizado</translation>
 <translation id="1919130412786645364">Permitir o início de sessão no Chrome</translation>
-<translation id="195645108406520445">Configure o seu novo Espaço do Chrome</translation>
 <translation id="2063848847527508675">O Chrome OS tem de ser reiniciado para aplicar a atualização.</translation>
 <translation id="2094919256425865063">Pretende fechar o Chrome mesmo assim?</translation>
 <translation id="2120620239521071941">Esta ação elimina <ph name="ITEMS_COUNT" /> itens deste dispositivo. Para recuperar os seus dados mais tarde, inicie sessão no Chrome como <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Ajude a melhorar o Chrome ao comunicar as <ph name="BEGIN_LINK" />definições atuais<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Reinicie o Chrome agora</translation>
 <translation id="2246246234298806438">O Google Chrome não pode mostrar a pré-visualização de impressão quando o visualizador de PDF incorporado está em falta.</translation>
-<translation id="226038281051944330">Iniciou sessão com uma nova conta no espaço de <ph name="EXISTING_USER" />. Pretende criar um novo espaço do Chrome para <ph name="NEW_USER" /> para manter os seus dados separados?</translation>
 <translation id="2290014774651636340">As chaves da API do Google estão em falta. Algumas funcionalidades do Google Chrome serão desativadas.</translation>
 <translation id="2290095356545025170">Tem a certeza de que pretende desinstalar o Google Chrome?</translation>
 <translation id="2309047409763057870">Esta é uma instalação secundária do Google Chrome, pelo que não pode tornar-se o navegador predefinido.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Está disponível uma versão nova e mais segura do Google Chrome.</translation>
 <translation id="3127818369811890733">O Chrome OS não conseguiu sincronizar os seus dados.</translation>
 <translation id="3149510190863420837">Apps do Chrome</translation>
-<translation id="3351117925998652957">Escolha o seu Espaço do Chrome</translation>
 <translation id="3360895254066713204">Ajudante do Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{O Chrome será reiniciado agora}=1{O Chrome será reiniciado dentro de 1 segundo}other{O Chrome será reiniciado dentro de # segundos}}</translation>
 <translation id="3395323229510056640">Obter ajuda relacionada com o Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Feche todas as janelas do Google Chrome e tente novamente.</translation>
 <translation id="3865754807470779944">A versão <ph name="PRODUCT_VERSION" /> do Chrome está instalada.</translation>
 <translation id="3873044882194371212">Abrir link numa janela de nave&amp;gação anónima do Chrome</translation>
-<translation id="3879568094278837081">Os dados de navegação deste espaço serão eliminados deste dispositivo. Para recuperar os dados, inicie sessão no Chrome como</translation>
 <translation id="3889417619312448367">Desinstalar o Google Chrome</translation>
 <translation id="4050175100176540509">Estão disponíveis na versão mais recente melhorias de segurança importantes e novas funcionalidades.</translation>
 <translation id="4053720452172726777">Personalizar e controlar o Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Abrir link num novo &amp;separador do Chrome</translation>
 <translation id="4953650215774548573">Definir o Google Chrome como o navegador predefinido</translation>
 <translation id="495931528404527476">No Chrome</translation>
-<translation id="4960472897514318257">Iniciou sessão com uma conta profissional. Pretende criar um novo espaço do Chrome para <ph name="NEW_USER" /> para manter os seus dados pessoais separados?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Reiniciar o Chrome OS</translation>
 <translation id="5132929315877954718">Descubra fantásticas aplicações, jogos, extensões e temas para o Google Chrome.</translation>
 <translation id="5170938038195470297">O seu perfil não pode ser utilizado pois pertence a uma versão mais recente do Google Chrome. Algumas funcionalidades poderão estar indisponíveis. Especifique um diretório de perfil diferente ou utilize uma versão mais recente do Google Chrome.</translation>
-<translation id="5171117065011130146">Pretende criar um novo espaço de trabalho do Chrome?</translation>
 <translation id="5193136243808726294">O Google Chrome OS não consegue abrir esta página.</translation>
 <translation id="5251420635869119124">Os convidados podem utilizar o Chrome sem perder qualquer funcionalidade.</translation>
 <translation id="532046782124376502">Aviso: o Google Chrome não pode impedir que as extensões gravem o seu histórico de navegação. Para desativar esta extensão no modo de navegação anónima, desselecione esta opção.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Para ver se o seu dispositivo está atualizado, aceda às <ph name="LINK_BEGIN" />Definições do Chrome OS<ph name="LINK_END" />.</translation>
 <translation id="7589360514048265910">Este computador deixará de receber atualizações do Google Chrome, uma vez que o Mac OS X 10.9 já não é suportado.</translation>
-<translation id="7591404275842302616">Utilize os Espaços do Chrome para manter a sua navegação organizada neste dispositivo</translation>
 <translation id="7592736734348559088">O Google Chrome não conseguiu sincronizar os dados porque os detalhes de início de sessão da sua conta estão desatualizados.</translation>
 <translation id="7626032353295482388">Bem-vindo ao Chrome</translation>
 <translation id="7629695634924605473">O Chrome indica-lhe se as suas palavras-passe forem comprometidas.</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">O Chrome Está Desatualizado</translation>
 <translation id="8834965163890861871">O Google Chrome está a tentar editar palavras-passe. Escreva a sua palavra-passe do Windows para permitir esta ação.</translation>
 <translation id="884296878221830158">Também controla a página apresentada quando inicia o Chrome ou clica no botão Página Inicial.</translation>
-<translation id="8859948767482842016">Iniciou sessão com uma conta profissional no espaço de <ph name="EXISTING_USER" />. Pretende criar um novo espaço do Chrome para o domínio <ph name="WORK_DOMAIN" /> para manter os seus dados separados?</translation>
 <translation id="8862326446509486874">Não tem os direitos adequados para uma instalação ao nível do sistema. Tente executar o programa de instalação novamente como Administrador.</translation>
-<translation id="8877586659207810298">Pretende criar um novo espaço do Chrome para <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Reiniciar o Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Está disponível uma atualização do Chrome}=1{Está disponível uma atualização do Chrome}other{Está disponível uma atualização do Chrome há # dias}}</translation>
 <translation id="9026991721384951619">O Chrome OS não conseguiu sincronizar os dados porque os detalhes de início de sessão da sua conta estão desatualizados.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ro.xtb b/chrome/app/resources/google_chrome_strings_ro.xtb
index a40875d6..6ca4cb4 100644
--- a/chrome/app/resources/google_chrome_strings_ro.xtb
+++ b/chrome/app/resources/google_chrome_strings_ro.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome nu este actualizat</translation>
 <translation id="1919130412786645364">Permite conectarea la Chrome</translation>
-<translation id="195645108406520445">Configurează noul spațiu din Chrome</translation>
 <translation id="2063848847527508675">Pentru a se aplica actualizarea, sistemul de operare Chrome trebuie să fie repornit.</translation>
 <translation id="2094919256425865063">Ieși din Chrome oricum?</translation>
 <translation id="2120620239521071941">Astfel, se vor șterge <ph name="ITEMS_COUNT" /> elemente de pe acest dispozitiv. Pentru a recupera datele mai târziu, conectează-te la Chrome ca <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Contribuie la îmbunătățirea browserului Chrome raportând <ph name="BEGIN_LINK" />setările actuale<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Repornește Chrome acum</translation>
 <translation id="2246246234298806438">Google Chrome nu poate afișa previzualizarea înainte de printare când vizualizatorul PDF încorporat lipsește.</translation>
-<translation id="226038281051944330">Te-ai conectat cu un cont de serviciu la spațiul utilizatorului <ph name="EXISTING_USER" />. Vrei să creezi un spațiu în Chrome pentru <ph name="NEW_USER" /> ca să păstrezi datele separat?</translation>
 <translation id="2290014774651636340">Lipsesc chei pentru API-ul Google. Unele funcționalități Google Chrome vor fi dezactivate.</translation>
 <translation id="2290095356545025170">Sigur vrei să dezinstalezi Google Chrome?</translation>
 <translation id="2309047409763057870">Aceasta este o instalare secundară a browserului Google Chrome și nu poate fi setat ca browser prestabilit.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Google Chrome este disponibil într-o versiune nouă și mai sigură.</translation>
 <translation id="3127818369811890733">Sistemul de operare Chrome nu a putut sincroniza datele.</translation>
 <translation id="3149510190863420837">Aplicații Chrome</translation>
-<translation id="3351117925998652957">Alege un spațiu din Chrome</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome se va relansa acum}=1{Chrome se va relansa într-o secundă}few{Chrome se va relansa în # secunde}other{Chrome se va relansa în # de secunde}}</translation>
 <translation id="3395323229510056640">Obține ajutor privind sistemul de operare Chrome</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Închide toate ferestrele Google Chrome și încearcă din nou.</translation>
 <translation id="3865754807470779944">Versiunea Chrome <ph name="PRODUCT_VERSION" /> este instalată</translation>
 <translation id="3873044882194371212">Deschide linkul într-o fereastră Chrome inco&amp;gnito</translation>
-<translation id="3879568094278837081">Datele de navigare din acest spațiu vor fi șterse de pe dispozitiv. Pentru a recupera datele, conectează-te la Chrome ca</translation>
 <translation id="3889417619312448367">Dezinstalează Google Chrome</translation>
 <translation id="4050175100176540509">În cea mai recentă versiune sunt disponibile îmbunătățiri de securitate și funcții noi importante.</translation>
 <translation id="4053720452172726777">Personalizați și controlați Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Deschide linkul într-o &amp;filă Chrome nouă</translation>
 <translation id="4953650215774548573">Setați Google Chrome ca browser prestabilit</translation>
 <translation id="495931528404527476">În Chrome</translation>
-<translation id="4960472897514318257">Te-ai conectat cu un cont de serviciu. Vrei să creezi un spațiu în Chrome pentru <ph name="NEW_USER" /> ca să păstrezi datele cu caracter personal separat?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Repornește sistemul de operare Chrome</translation>
 <translation id="5132929315877954718">Descoperă aplicații, jocuri, extensii și teme extraordinare pentru Google Chrome.</translation>
 <translation id="5170938038195470297">Profilul dvs. nu poate fi utilizat, deoarece provine de la o versiune Google Chrome mai recentă. Este posibil ca unele funcții să nu fie disponibile. Specificați un director de profil diferit sau utilizați o versiune Chrome mai nouă.</translation>
-<translation id="5171117065011130146">Creezi un spațiu de lucru în Chrome?</translation>
 <translation id="5193136243808726294">Sistemul de operare Google Chrome nu poate deschide pagina.</translation>
 <translation id="5251420635869119124">Invitații pot folosi Chrome fără a lăsa nicio urmă.</translation>
 <translation id="532046782124376502">Avertisment: Google Chrome nu poate împiedica extensiile să înregistreze istoricul de navigare. Pentru a dezactiva această extensie în modul incognito, debifează această opțiune.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Pentru a verifica dacă dispozitivul este actualizat, accesează <ph name="LINK_BEGIN" />Setările sistemului de operare Chrome<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Acest computer nu va mai primi actualizări pentru Google Chrome, deoarece Mac OS X 10.9 nu mai este acceptat.</translation>
-<translation id="7591404275842302616">Folosește spațiile din Chrome pentru a organiza activitatea de navigare pe acest dispozitiv</translation>
 <translation id="7592736734348559088">Google Chrome nu a putut sincroniza datele, deoarece detaliile de conectare pentru contul dvs. nu sunt actualizate.</translation>
 <translation id="7626032353295482388">Bun venit la Chrome</translation>
 <translation id="7629695634924605473">Chrome te anunță dacă parolele tale sunt compromise</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome nu este actualizat</translation>
 <translation id="8834965163890861871">Google Chrome încearcă să modifice parolele. Pentru a permite acest lucru, introdu parola pentru Windows.</translation>
 <translation id="884296878221830158">Stabilește și ce pagină se afișează când pornești Chrome sau dai clic pe butonul Pagina principală.</translation>
-<translation id="8859948767482842016">Te-ai conectat cu un cont de serviciu la spațiul utilizatorului <ph name="EXISTING_USER" />. Vrei să creezi un spațiu în Chrome pentru <ph name="WORK_DOMAIN" /> ca să păstrezi datele separat?</translation>
 <translation id="8862326446509486874">Nu ai drepturile adecvate pentru instalarea la nivel de sistem. Încearcă să rulezi din nou programul de instalare ca Administrator.</translation>
-<translation id="8877586659207810298">Creezi un spațiu în Chrome pentru <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Relansați Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Este disponibilă o actualizare Chrome}=1{Este disponibilă o actualizare Chrome}few{O actualizare Chrome este disponibilă de # zile}other{O actualizare Chrome este disponibilă de # de zile}}</translation>
 <translation id="9026991721384951619">Sistemul de operare Chrome nu a putut sincroniza datele, deoarece detaliile de conectare pentru contul dvs. nu sunt actualizate.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ru.xtb b/chrome/app/resources/google_chrome_strings_ru.xtb
index 3057d3f..3afbfe8 100644
--- a/chrome/app/resources/google_chrome_strings_ru.xtb
+++ b/chrome/app/resources/google_chrome_strings_ru.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome (бета, mDNS-In)</translation>
 <translation id="1877026089748256423">Версия Chrome устарела</translation>
 <translation id="1919130412786645364">Разрешить вход в Chrome</translation>
-<translation id="195645108406520445">Настройте новый профиль Chrome</translation>
 <translation id="2063848847527508675">Перезагрузите Chrome OS, чтобы установить обновление.</translation>
 <translation id="2094919256425865063">Завершить работу Chrome?</translation>
 <translation id="2120620239521071941">С устройства будут удалены объекты (<ph name="ITEMS_COUNT" />). Чтобы восстановить данные позже, войдите в Chrome как <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Отправьте отчет о <ph name="BEGIN_LINK" />текущих настройках Chrome<ph name="END_LINK" />, чтобы помочь нам улучшить браузер</translation>
 <translation id="2151406531797534936">Перезапустите Chrome</translation>
 <translation id="2246246234298806438">Если отсутствует встроенный просмотрщик PDF, предварительный просмотр в Google Chrome невозможен.</translation>
-<translation id="226038281051944330">Вы вошли в новый аккаунт в профиле этого пользователя: <ph name="EXISTING_USER" />. Хотите создать для нового пользователя (<ph name="NEW_USER" />) отдельный профиль Chrome?</translation>
 <translation id="2290014774651636340">Отсутствуют ключи API Google. Некоторые функции Google Chrome могут не работать.</translation>
 <translation id="2290095356545025170">Вы действительно хотите удалить Google Chrome?</translation>
 <translation id="2309047409763057870">Это дополнительная установка Google Chrome. Его нельзя сделать браузером по умолчанию.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Доступна новая, более безопасная версия Google Chrome.</translation>
 <translation id="3127818369811890733">Не удалось синхронизировать данные.</translation>
 <translation id="3149510190863420837">Приложения Chrome</translation>
-<translation id="3351117925998652957">Выберите профиль Chrome</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome перезапускается}=1{Chrome перезапустится через 1 секунду}one{Chrome перезапустится через # секунду}few{Chrome перезапустится через # секунды}many{Chrome перезапустится через # секунд}other{Chrome перезапустится через # секунды}}</translation>
 <translation id="3395323229510056640">Справка Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Закройте все окна Chrome и повторите попытку снова.</translation>
 <translation id="3865754807470779944">Установлен браузер Chrome версии <ph name="PRODUCT_VERSION" />.</translation>
 <translation id="3873044882194371212">Открыть ссылку в режиме инкогнито браузера Chrome</translation>
-<translation id="3879568094278837081">Связанные с этим профилем данные о работе в браузере будут удалены с устройства. Чтобы восстановить их, войдите в Chrome как</translation>
 <translation id="3889417619312448367">Удалить Google Chrome</translation>
 <translation id="4050175100176540509">В последней версии улучшена защита и добавлены новые функции.</translation>
 <translation id="4053720452172726777">Настройка и управление Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Открыть ссылку в новой вкладке браузера Chrome</translation>
 <translation id="4953650215774548573">Сделать Google Chrome браузером по умолчанию</translation>
 <translation id="495931528404527476">В Chrome</translation>
-<translation id="4960472897514318257">Вы вошли в рабочий аккаунт. Хотите создать для нового пользователя (<ph name="NEW_USER" />) отдельный личный профиль Chrome?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Перезапуск Chrome OS</translation>
 <translation id="5132929315877954718">Широкий выбор приложений, игр, расширений и тем для Google Chrome.</translation>
 <translation id="5170938038195470297">Использовать этот профиль невозможно, так как он был создан в более новой версии Google Chrome. Некоторые функции могут быть недоступны. Укажите другой каталог профиля или установите более новую версию Chrome.</translation>
-<translation id="5171117065011130146">Создать рабочий профиль Chrome?</translation>
 <translation id="5193136243808726294">Chrome OS не может открыть эту страницу</translation>
 <translation id="5251420635869119124">Используйте Chrome в гостевом режиме, если не хотите сохранять данные о посещенных сайтах.</translation>
 <translation id="532046782124376502">Внимание! Google Chrome не может предотвратить запись расширений в историю просмотренных страниц. Чтобы отключить это расширение в режиме инкогнито, отмените этот параметр.</translation>
@@ -213,7 +207,6 @@
 <translation id="7535429826459677826">Google Chrome для разработчиков</translation>
 <translation id="7573289029918943991">Чтобы посмотреть, обновлена ли операционная система устройства, перейдите в <ph name="LINK_BEGIN" />настройки Chrome OS<ph name="LINK_END" />.</translation>
 <translation id="7589360514048265910">Google Chrome больше не будет обновляться на этом компьютере, так как поддержка Mac OS X 10.9 прекращена.</translation>
-<translation id="7591404275842302616">Используйте профили Chrome на этом устройстве, чтобы работать в браузере было удобнее.</translation>
 <translation id="7592736734348559088">Google Chrome не удалось синхронизировать данные, поскольку ваши учетные данные устарели.</translation>
 <translation id="7626032353295482388">Добро пожаловать в Chrome!</translation>
 <translation id="7629695634924605473">Chrome сообщит вам, если возникнет проблема с безопасностью ваших паролей.</translation>
@@ -260,9 +253,7 @@
 <translation id="8823341990149967727">Версия Chrome устарела</translation>
 <translation id="8834965163890861871">Google Chrome пытается изменить пароли. Чтобы разрешить это действие, введите свой пароль Windows.</translation>
 <translation id="884296878221830158">Кроме того, расширение изменило стартовую страницу Chrome и страницу, отображаемую при нажатии кнопки "Главная страница".</translation>
-<translation id="8859948767482842016">Вы вошли в рабочий аккаунт в профиле этого пользователя: <ph name="EXISTING_USER" />. Хотите создать для <ph name="WORK_DOMAIN" /> отдельный профиль Chrome?</translation>
 <translation id="8862326446509486874">У вас нет прав, необходимых для установки на системном уровне. Запустите программу установки еще раз в качестве администратора.</translation>
-<translation id="8877586659207810298">Создать профиль Chrome для нового пользователя (<ph name="NEW_USER" />)?</translation>
 <translation id="8914504000324227558">Перезапустить Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Доступно обновление Chrome}=1{Доступно обновление Chrome}one{Обновление Chrome доступно # день}few{Обновление Chrome доступно # дня}many{Обновление Chrome доступно # дней}other{Обновление Chrome доступно # дня}}</translation>
 <translation id="9026991721384951619">Не удалось выполнить синхронизацию, так как учетные данные устарели.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_si.xtb b/chrome/app/resources/google_chrome_strings_si.xtb
index 23616ed..24368e9 100644
--- a/chrome/app/resources/google_chrome_strings_si.xtb
+++ b/chrome/app/resources/google_chrome_strings_si.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome බීටා (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome යල් පැන ගොස් ඇත</translation>
 <translation id="1919130412786645364">Chrome පුරනයට ඉඩ දෙන්න</translation>
-<translation id="195645108406520445">ඔබගේ නව Chrome Space පිහිටුවන්න</translation>
 <translation id="2063848847527508675">යාවත්කාලීනය යෙදීමට Chrome OS නැවත ඇරඹිය යුතුය.</translation>
 <translation id="2094919256425865063">කෙසේ වුවත් Chrome වෙතින් ඉවත් වන්න ද?</translation>
 <translation id="2120620239521071941">මෙය අයිතම <ph name="ITEMS_COUNT" /> මෙම උපාංගයෙන් මකනු ඇත. ඔබගේ දත්ත පසුව ලබා ගැනීමට, <ph name="USER_EMAIL" /> ලෙස Chrome වෙත පුරන්න.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />වත්මන් සැකසීම්<ph name="END_LINK" /> වාර්තා කිරීමෙන් Chrome වඩා යහපත් කිරීමට උදවු වන්න</translation>
 <translation id="2151406531797534936">දැන් Chrome යළි අරඹන්න</translation>
 <translation id="2246246234298806438">Google Chrome හට මුද්‍රණ පෙරදැක්ම පෙන්විය නොහැක්කේ තිළැලි PDF දර්ශකය නොපවතින බැවිනි.</translation>
-<translation id="226038281051944330">ඔබ <ph name="EXISTING_USER" />ගේ ඉඩ තුළ නව ගිණුමක් සමගින් පුරා ඇත. ඔබ ඔබගේ දත්ත වෙන්ව තබා ගැනීමට <ph name="NEW_USER" /> සඳහා නව Chrome ඉඩක් තැනීමට කැමතිද?</translation>
 <translation id="2290014774651636340">Google API යතුරු අහිමිව ඇත. Google Chrome හි ඇතැම් ක්‍රියාකාරීත්ව අක්‍රීය වනු ඇත.</translation>
 <translation id="2290095356545025170">ඔබට Google Chrome ඉවත්කිරීමට අවශ්‍ය බව විශ්වාසද?</translation>
 <translation id="2309047409763057870">මෙය Google Chrome හි දෙවන ස්ථාපනයක් වන අතර, ඔබේ පෙරනිමි බ්‍රව්සරය කළ නොහැකිය.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Google Chrome හි නව, වඩා ආරක්ෂිත සංස්කරණයක් පවතී.</translation>
 <translation id="3127818369811890733">Chrome OS හට ඔබේ දත්ත සමමුහූර්ත කිරීමට නොහැකි විය.</translation>
 <translation id="3149510190863420837">Chrome යෙදුම්</translation>
-<translation id="3351117925998652957">ඔබේ Chrome ඉඩ තෝරා ගන්න</translation>
 <translation id="3360895254066713204">Chrome සහායක</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome දැන් යළි දියත් වෙයි}=1{Chrome 1 තත්පරයකින් යළි දියත් වෙයි}one{Chrome තත්පර # කින් යළි දියත් වෙයි}other{Chrome තත්පර # කින් යළි දියත් වෙයි}}</translation>
 <translation id="3395323229510056640">Chrome OS සමගින් උදවු ලබා ගන්න</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Google Chrome කවුළුව වසා නැවත උත්සාහ කරන්න.</translation>
 <translation id="3865754807470779944">Chrome අනුවාදය <ph name="PRODUCT_VERSION" /> ස්ථාපන කෙරේ</translation>
 <translation id="3873044882194371212">සබැඳිය Chrome අ&amp;ප්‍රසිද්ධ කවුළුව තුළ විවෘත කරන්න</translation>
-<translation id="3879568094278837081">මෙම ඉඩෙහි බ්‍රවුස් කිරීමේ දත්ත මෙම උපාංගයෙන් මකනු ඇත. දත්ත ප්‍රතිසාධනය කිරීමට, Chrome වෙත පුරන්න</translation>
 <translation id="3889417619312448367">Google Chrome අස්ථාපනය</translation>
 <translation id="4050175100176540509">වැදගත් ආරක්ෂක වැඩිදියුණු කිරීම් සහ නව විශේෂාංග නවතම අනුවාදය තුළ ලද හැකිය.</translation>
 <translation id="4053720452172726777">Google Chrome ගලපා පාලනය කරන්න</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">සබැඳිය නව Chrome ප&amp;ටිත්තක විවෘත කරන්න</translation>
 <translation id="4953650215774548573">ඔබේ පෙරනිමි බ්‍රව්සරය ලෙස Google Chrome සකසන්න</translation>
 <translation id="495931528404527476">Chrome තුළ</translation>
-<translation id="4960472897514318257">ඔබ කාර්යාල ගිණුමක් සමගින් පුරා ඇත. ඔබ ඔබගේ පුද්ගලික දත්ත වෙන්ව තබා ගැනීමට <ph name="NEW_USER" /> සඳහා නව Chrome ඉඩක් තැනීමට කැමතිද?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS යළි අරඹන්න</translation>
 <translation id="5132929315877954718">Google Chrome සඳහා විශිෂ්ට යෙදුම්, ක්‍රීඩා, දිගු සහ තේමා සොයා ගන්න.</translation>
 <translation id="5170938038195470297">ඔබේ පැතිකඩ Google Chrome නව සංස්කරණයකින් එන බැවින් භාවිත කළ නොහැක.
 
 ඇතැම් විශේෂාංග නොපවතිනු ඇත. කරුණාකර Chrome නි නව සංස්කරණය භාවිතයට වෙනස් පැතිකඩ නාමාවලියක් භාවිත කරන්න.</translation>
-<translation id="5171117065011130146">නව Chrome කාර්ය ඉඩක් තනන්නද?</translation>
 <translation id="5193136243808726294">Google Chrome OS හට මෙම පිටුව විවෘත කළ නොහැකිය.</translation>
 <translation id="5251420635869119124">අමුත්තන්ට කිසිවක් තබා යෑමෙන් තොරව Chrome භාවිත කළ හැක.</translation>
 <translation id="532046782124376502">අනතුරු ඇඟවීමයි: Google Chrome හට ඔබේ බ්‍රවුස් කිරීමේ ඉතිහාසය පටිගත කිරීමෙන් දිගු වැළැක්විය නොහැක. මෙම දිගුව අප්‍රසිද්ධ ප්‍රකාරය තුළ අබල කිරීමට, මෙම විකල්පය තේරීම්හරණය කරන්න.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">ඔබේ උපාංගය යාවත්කාලීනද බැලීමට <ph name="LINK_BEGIN" />Chrome OS සැකසුම්<ph name="LINK_END" /> වෙත යන්න</translation>
 <translation id="7589360514048265910">Mac OS X 10.9 තවදුරටත් සහාය නොදක්වන නිසා මෙම පරිගණකයට තවදුරටත් Google Chrome යාවත්කාලීන නොලැබෙනු ඇත.</translation>
-<translation id="7591404275842302616">මෙම උපාංගයෙහි ඔබගේ බ්‍රවුස් කිරීම සංවිධිතව තබා ගැනීමට Chrome ඉඩ භාවිත කරන්න</translation>
 <translation id="7592736734348559088">Google Chrome ට ඔබේ සයින් ඉන් විස්තර යල් පැනගොස් ඇති හෙයින් සමමු කළ නොහැකි විය.</translation>
 <translation id="7626032353295482388">Chrome වෙත පිළිගනිමු</translation>
 <translation id="7629695634924605473">Chrome ඔබට ඔබේ මුරපද කිසි විටෙක හෝ අවදානමට ලක් වී තිබේද යන්න දන්වයි</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome යල් පැන ගොස් ඇත</translation>
 <translation id="8834965163890861871">Google Chrome මුරපද සංස්කරණ කිරීමට උත්සහ කරයි. එයට ඉඩදීම සඳහා Windows මුරපදය යොදන්න.</translation>
 <translation id="884296878221830158">ඔබ ක්‍රෝම් ආරම්භ කළ විට හෝ මුල්පිටු බොත්තම ක්ලික් කළ විට පෙන්විය යුත්තේ කුමන පිටුවදැයි එමඟින් පාලනය කරයි.</translation>
-<translation id="8859948767482842016">ඔබ <ph name="EXISTING_USER" />ගේ ඉඩ තුළ කාර්යාල ගිණුමක් සමගින් පුරා ඇත. ඔබ ඔබගේ දත්ත වෙන්ව තබා ගැනීමට <ph name="WORK_DOMAIN" /> සඳහා නව Chrome ඉඩක් තැනීමට කැමතිද?</translation>
 <translation id="8862326446509486874">ඔබට පද්ධති මට්ටමේ ස්ථානපයකට අයිතිය නැත. නැවත පරිපාලක වශයෙන් ස්ථාපකය ධාවනය කිරීමට උත්සාහ කරන්න.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> සඳහා නව Chrome ඉඩක් තනන්න?</translation>
 <translation id="8914504000324227558">Chrome නැවත දියත් කරන්න</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome යාවත්කාලීනයක් තිබේ}=1{Chrome යාවත්කාලීනයක් තිබේ}one{දින # කට Chrome යාවත්කාලීනයක් ලැබී ඇත}other{දින # කට Chrome යාවත්කාලීනයක් ලැබී ඇත}}</translation>
 <translation id="9026991721384951619">පිවිසුම් දත්ත කල් ඉකුත්වී ඇති බැවින් Chrome OS හට ඔබේ දත්ත සම්මුහු කළ නොහැකි විය.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sk.xtb b/chrome/app/resources/google_chrome_strings_sk.xtb
index f210aaed..d024c5c 100644
--- a/chrome/app/resources/google_chrome_strings_sk.xtb
+++ b/chrome/app/resources/google_chrome_strings_sk.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome beta verzie (mDNS-In)</translation>
 <translation id="1877026089748256423">Prehliadač Chrome je zastaraný</translation>
 <translation id="1919130412786645364">Povoliť prihlásenie do Chromu</translation>
-<translation id="195645108406520445">Nastavenie nového priestoru v Chrome</translation>
 <translation id="2063848847527508675">Ak chcete uplatniť aktualizáciu, musíte reštartovať systém Chrome OS.</translation>
 <translation id="2094919256425865063">Chcete Chrome napriek tomu ukončiť?</translation>
 <translation id="2120620239521071941">Táto akcia odstráni zo zariadenia niekoľko položiek (počet: <ph name="ITEMS_COUNT" />). Ak budete chcieť svoje údaje neskôr opäť načítať, prihláste sa do Chromu ako používateľ <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Nahlásiť <ph name="BEGIN_LINK" />aktuálne nastavenia<ph name="END_LINK" /> a pomôcť tak zlepšiť Chrome</translation>
 <translation id="2151406531797534936">Reštartujte Chrome</translation>
 <translation id="2246246234298806438">Ak vstavaný zobrazovač súborov PDF chýba, prehliadač Google Chrome nemôže zobraziť ukážku pred tlačou.</translation>
-<translation id="226038281051944330">Prihlásili ste sa novým účtom v priestore používateľa <ph name="EXISTING_USER" />. Chcete vytvoriť nový priestor v Chrome pre používateľa <ph name="NEW_USER" /> a ponechať tak svoje údaje oddelené?</translation>
 <translation id="2290014774651636340">Chýbajú kľúče rozhrania Google API. Niektoré funkcie prehliadača Google Chrome budú zakázané.</translation>
 <translation id="2290095356545025170">Naozaj chcete odinštalovať aplikáciu Google Chrome?</translation>
 <translation id="2309047409763057870">Toto je sekundárna inštalácia prehliadača Google Chrome – nemôže byť nastavený ako váš predvolený prehliadač.</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">K dispozícii je nová, bezpečnejšia verzia prehliadača Google Chrome.</translation>
 <translation id="3127818369811890733">Systému Chrome OS sa nepodarilo synchronizovať vaše údaje.</translation>
 <translation id="3149510190863420837">Aplikácie Chrome</translation>
-<translation id="3351117925998652957">Vyberte si v Chrome svoj priestor</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome sa teraz reštartuje}=1{Chrome sa reštartuje o 1 sekundu}few{Chrome sa reštartuje o # sekundy}many{Chrome sa reštartuje o # sekundy}other{Chrome sa reštartuje o # sekúnd}}</translation>
 <translation id="3395323229510056640">Pomoc so systémom Chrome OS</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">Zatvorte všetky okná prehliadača Google Chrome a skúste to znova.</translation>
 <translation id="3865754807470779944">Máte nainštalovaný Chrome verzie <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Otvoriť odkaz v okne inko&amp;gnito Chromu</translation>
-<translation id="3879568094278837081">Dáta prehliadania tohto priestoru budú odstránené z tohto zariadenia. Ak ich chcete obnoviť, prihláste sa do Chromu ako</translation>
 <translation id="3889417619312448367">Odinštalovanie prehliadača Google Chrome</translation>
 <translation id="4050175100176540509">V najnovšej verzii sú k dispozícii dôležité vylepšenia zabezpečenia a nové funkcie.</translation>
 <translation id="4053720452172726777">Prispôsobiť a ovládať prehliadač Google Chrome</translation>
@@ -145,14 +141,12 @@
 <translation id="4895437082222824641">Otvoriť odkaz na novej &amp;karte Chromu</translation>
 <translation id="4953650215774548573">Nastaviť Google Chrome ako predvolený prehliadač</translation>
 <translation id="495931528404527476">V prehliadači Chrome</translation>
-<translation id="4960472897514318257">Prihlásili ste sa pracovným účtom. Chcete vytvoriť nový priestor v Chrome pre používateľa <ph name="NEW_USER" /> a ponechať tak svoje osobné údaje oddelené?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Reštartovanie Chrome OS</translation>
 <translation id="5132929315877954718">Objavte skvelé aplikácie, hry, rozšírenia a motívy pre prehliadač Google Chrome.</translation>
 <translation id="5170938038195470297">Váš profil sa nedá použiť, pretože pochádza z novšej verzie prehliadača Google Chrome.
 
 Niektoré funkcie môžu byť nedostupné. Zadajte iný adresár profilu alebo použite novšiu verziu prehliadača Chrome.</translation>
-<translation id="5171117065011130146">Chcete vytvoriť nový pracovný priestor v Chrome?</translation>
 <translation id="5193136243808726294">Google Chrome OS nedokáže túto stránku otvoriť.</translation>
 <translation id="5251420635869119124">Hostia môžu používať prehliadač Chrome bez toho, aby po sebe zanechali akékoľvek informácie.</translation>
 <translation id="532046782124376502">Upozornenie: Google Chrome nemôže zabrániť rozšíreniam v zaznamenávaní vašej histórie prehliadania. Ak chcete dané rozšírenie v režime inkognito zakázať, zrušte výber tejto možnosti.</translation>
@@ -219,7 +213,6 @@
 <translation id="7535429826459677826">Google Chrome verzie pre vývojárov</translation>
 <translation id="7573289029918943991">Ak sa chcete pozrieť, či je zariadenie aktualizované, prejdite do <ph name="LINK_BEGIN" />Nastavení operačného systému Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Tento počítač už nebude dostávať aktualizácie prehliadača Google Chrome, pretože systém Mac OS X 10.9 už nie je podporovaný.</translation>
-<translation id="7591404275842302616">Priestory v Chrome vám umožňujú prehliadať v usporiadanom prostredí</translation>
 <translation id="7592736734348559088">Prehliadaču Google Chrome sa nepodarilo synchronizovať vaše údaje, pretože vaše prihlasovacie údaje účtu sú zastarané.</translation>
 <translation id="7626032353295482388">Víta vás prehliadač Chrome</translation>
 <translation id="7629695634924605473">Ak budú vaše heslá napadnuté, Chrome vám to oznámi</translation>
@@ -266,9 +259,7 @@
 <translation id="8823341990149967727">Prehliadač Chrome je zastaraný</translation>
 <translation id="8834965163890861871">Google Chrome sa pokúša upraviť heslá. Ak to chcete povoliť, zadajte heslo systému Windows.</translation>
 <translation id="884296878221830158">Tiež určuje, ktorá stránka sa zobrazí pri spustení prehliadača Chrome alebo po kliknutí na tlačidlo Domovská stránka.</translation>
-<translation id="8859948767482842016">Prihlásili ste sa pracovným účtom v priestore používateľa <ph name="EXISTING_USER" />. Chcete vytvoriť nový priestor v Chrome pre doménu <ph name="WORK_DOMAIN" /> a ponechať tak svoje údaje oddelené?</translation>
 <translation id="8862326446509486874">Nemáte potrebné práva na inštaláciu na úrovni systému. Skúste inštalátor spustiť znova ako správca.</translation>
-<translation id="8877586659207810298">Chcete vytvoriť nový priestor v Chrome pre používateľa <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Znova spustiť prehliadač Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Je k dispozícii aktualizácia Chromu}=1{Je k dispozícii aktualizácia Chromu}few{Aktualizácia Chromu je k dispozícii už # dni}many{Aktualizácia Chromu je k dispozícii už # dňa}other{Aktualizácia Chromu je k dispozícii už # dní}}</translation>
 <translation id="9026991721384951619">Systému OS Chrome sa nepodarilo synchronizovať vaše údaje, pretože vaše prihlasovacie údaje účtu sú zastarané.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sl.xtb b/chrome/app/resources/google_chrome_strings_sl.xtb
index 8425763..2876328 100644
--- a/chrome/app/resources/google_chrome_strings_sl.xtb
+++ b/chrome/app/resources/google_chrome_strings_sl.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome je zastarel</translation>
 <translation id="1919130412786645364">Omogočanje prijave v Chrome</translation>
-<translation id="195645108406520445">Nastavitev novega prostora v Chromu</translation>
 <translation id="2063848847527508675">Če želite namestiti posodobitev, morate znova zagnati OS Chrome.</translation>
 <translation id="2094919256425865063">Želite vseeno zapreti Chrome?</translation>
 <translation id="2120620239521071941">S tem bo iz te naprave izbrisanih več elementov (<ph name="ITEMS_COUNT" />). Če želite pozneje prenesti podatke, se v Chrome prijavite kot <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Pomagajte izboljšati Google Chrome s <ph name="BEGIN_LINK" />poročanjem trenutnih nastavitev<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Znova zaženite Chrome</translation>
 <translation id="2246246234298806438">Google Chrome ne more odpreti predogleda tiskanja, če ni vgrajenega pregledovalnika datotek PDF.</translation>
-<translation id="226038281051944330">V prostor uporabnika <ph name="EXISTING_USER" /> ste se prijavili z novim računom. Ali želite ustvariti nov prostor v Chromu za uporabnika <ph name="NEW_USER" />, da bodo podatki ločeni?</translation>
 <translation id="2290014774651636340">Manjkajo ključi za Google API. Nekatere funkcije Google Chroma bodo onemogočene.</translation>
 <translation id="2290095356545025170">Ali ste prepričani, da želite odstraniti Google Chrome?</translation>
 <translation id="2309047409763057870">To je sekundarna namestitev Google Chroma in ga ni mogoče nastaviti kot privzeti brskalnik.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Na voljo je nova, varnejša različica Google Chroma.</translation>
 <translation id="3127818369811890733">Chrome OS ni mogel sinhronizirati podatkov.</translation>
 <translation id="3149510190863420837">Aplikacije za Chrome</translation>
-<translation id="3351117925998652957">Izbira prostora v Chromu</translation>
 <translation id="3360895254066713204">Pomočnik za Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome se bo zdaj znova zagnal}=1{Chrome se bo znova zagnal čez eno sekundo}one{Chrome se bo znova zagnal čez # sekundo}two{Chrome se bo znova zagnal čez # sekundi}few{Chrome se bo znova zagnal čez # sekunde}other{Chrome se bo znova zagnal čez # sekund}}</translation>
 <translation id="3395323229510056640">Pomoč za OS Chrome</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Zaprite vsa okna brskalnika Google Chrome in poskusite znova.</translation>
 <translation id="3865754807470779944">Nameščen je Chrome različice <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Odpiranje povezave v Chromovem oknu brez belež&amp;enja zgodovine</translation>
-<translation id="3879568094278837081">Podatki brskanja tega prostora bodo izbrisani iz te naprave. Če želite podatke obnoviti, se prijavite v Chrome kot</translation>
 <translation id="3889417619312448367">Odstrani Google Chrome</translation>
 <translation id="4050175100176540509">V najnovejši različici so na voljo pomembne varnostne izboljšave in nove funkcije.</translation>
 <translation id="4053720452172726777">Prilagajanje in nadziranje Google Chroma</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Odpiranje povezave na novem &amp;zavihku v Chromu</translation>
 <translation id="4953650215774548573">Nastavitev Google Chroma za privzeti brskalnik</translation>
 <translation id="495931528404527476">V Chromu</translation>
-<translation id="4960472897514318257">Prijavili ste se s službenim računom. Ali želite ustvariti nov prostor v Chromu za uporabnika <ph name="NEW_USER" />, da bodo osebni podatki ločeni?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Vnovičen zagon OS-a Chrome</translation>
 <translation id="5132929315877954718">Odkrijte zanimive aplikacije, igre, razširitve in teme za Google Chrome.</translation>
 <translation id="5170938038195470297">Vašega profila ni mogoče uporabiti, ker je iz novejše različice Google Chroma.
 
 Nekatere funkcije morda ne bodo na voljo. Navedite drug imenik profila ali uporabite novejšo različico Google Chroma.</translation>
-<translation id="5171117065011130146">Želite ustvariti nov službeni prostor v Chromu?</translation>
 <translation id="5193136243808726294">Googlov OS Chrome ne more odpreti te strani.</translation>
 <translation id="5251420635869119124">Gostje lahko uporabljajo Chrome, ne da bi za seboj pustili kar koli.</translation>
 <translation id="532046782124376502">Opozorilo: Google Chrome razširitvam ne more preprečiti beleženja zgodovine brskanja. Če želite onemogočiti to razširitev v načinu brez beleženja zgodovine, počistite to možnost.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Če želite preveriti, ali je naprava posodobljena, odprite <ph name="LINK_BEGIN" />nastavitve sistema OS Chrome<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Ta računalnik ne bo več prejemal posodobitev za Google Chrome, ker sistem Mac OS X 10.9 ni več podprt.</translation>
-<translation id="7591404275842302616">Uporabite prostore v Chromu za organizirano brskanje v tej napravi</translation>
 <translation id="7592736734348559088">Google Chrome ni mogel sinhronizirati podatkov, ker so podatki za prijavo v račun zastareli.</translation>
 <translation id="7626032353295482388">Dobrodošli v Chromu</translation>
 <translation id="7629695634924605473">Chrome vam sporoči, ali so gesla ogrožena</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome je zastarel</translation>
 <translation id="8834965163890861871">Google Chrome poskuša urejati gesla. Če želite to omogočiti, vnesite geslo za Windows.</translation>
 <translation id="884296878221830158">Določa tudi, katera stran je prikazana, ko zaženete Chrome ali kliknete gumb za domačo stran.</translation>
-<translation id="8859948767482842016">V prostor uporabnika <ph name="EXISTING_USER" /> ste se prijavili s službenim računom. Ali želite ustvariti nov prostor v Chromu za domeno <ph name="WORK_DOMAIN" />, da bodo podatki ločeni?</translation>
 <translation id="8862326446509486874">Nimate ustreznih pravic za namestitev na ravni sistema. Poskusite znova zagnati namestitveni program kot skrbnik.</translation>
-<translation id="8877586659207810298">Želite ustvariti nov prostor v Chromu za uporabnika <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Znova zaženi Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Posodobitev za Chrome je na voljo}=1{Posodobitev za Chrome je na voljo}one{Posodobitev za Chrome je na voljo že # dan}two{Posodobitev za Chrome je na voljo že # dneva}few{Posodobitev za Chrome je na voljo že # dni}other{Posodobitev za Chrome je na voljo že # dni}}</translation>
 <translation id="9026991721384951619">Chrome OS ni mogel sinhronizirati podatkov, ker so podatki za prijavo v račun zastareli.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sq.xtb b/chrome/app/resources/google_chrome_strings_sq.xtb
index 457d0f0..b339aa3 100644
--- a/chrome/app/resources/google_chrome_strings_sq.xtb
+++ b/chrome/app/resources/google_chrome_strings_sq.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome nuk është i përditësuar</translation>
 <translation id="1919130412786645364">Lejo identifikimin në Chrome</translation>
-<translation id="195645108406520445">Konfiguro hapësirën tënde të re të Chrome</translation>
 <translation id="2063848847527508675">Chrome OS ka nevojë të riniset për të zbatuar përditësimin.</translation>
 <translation id="2094919256425865063">Dëshiron ta mbyllësh Chrome gjithsesi?</translation>
 <translation id="2120620239521071941">Kjo do të fshijë <ph name="ITEMS_COUNT" /> artikuj nga kjo pajisje. Për t'i marrë më vonë të dhënat, identifikohu te Chrome si <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Ndihmo në përmirësimin e Chrome duke raportuar <ph name="BEGIN_LINK" />cilësimet aktuale<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Rinise Chrome tani</translation>
 <translation id="2246246234298806438">Google Chrome nuk mund ta tregojë afishimin paraprak të printimit kur mungon shikuesi i integruar për PDF-të.</translation>
-<translation id="226038281051944330">U identifikove me një llogari të re në hapësirën e <ph name="EXISTING_USER" />. Dëshiron të krijosh një hapësirë të re të Chrome për <ph name="NEW_USER" /> për t'i mbajtur të dhënat e tua të ndara?</translation>
 <translation id="2290014774651636340">Çelësat API të Google mungojnë. Disa funksione të Chrome do të çaktivizohen.</translation>
 <translation id="2290095356545025170">Je i sigurt që dëshiron ta çinstalosh Google Chrome?</translation>
 <translation id="2309047409763057870">Ky është instalim dytësor i Google Chrome dhe nuk mund të bëhet shfletuesi yt i parazgjedhur.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Ofrohet një version i ri dhe më i sigurt i Google Chrome.</translation>
 <translation id="3127818369811890733">Sistemi operativ Chrome nuk mund t'i sinkronizonte të dhënat e tua.</translation>
 <translation id="3149510190863420837">Aplikacionet e Chrome</translation>
-<translation id="3351117925998652957">Zgjidh "Hapësirën tënde të Chrome"</translation>
 <translation id="3360895254066713204">Ndihmësi i Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome do të hapet përsëri tani}=1{Chrome do të hapet përsëri për 1 sekondë}other{Chrome do të hapet përsëri për # sekonda}}</translation>
 <translation id="3395323229510056640">Merr ndihmë për Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Mbyll të gjitha dritaret e Google Chrome dhe provo përsëri.</translation>
 <translation id="3865754807470779944">Është instaluar versioni i Chrome <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Hape lidhjen në një dritare të fshehtë të Chrome</translation>
-<translation id="3879568094278837081">Të dhënat e shfletimit të kësaj hapësire do të fshihen nga kjo pajisje. Për të rikuperuar të dhënat, identifikohu në Chrome si</translation>
 <translation id="3889417619312448367">Çinstalo Google Chrome</translation>
 <translation id="4050175100176540509">Përmirësime të rëndësishme sigurie dhe funksione të reja ofrohen në versionin e fundit.</translation>
 <translation id="4053720452172726777">Personalizo dhe kontrollo Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Hape lidhjen në një &amp;skedë të re të Chrome</translation>
 <translation id="4953650215774548573">Caktoje Google Chrome si shfletuesin tënd të parazgjedhur</translation>
 <translation id="495931528404527476">Në Chrome</translation>
-<translation id="4960472897514318257">U identifikove me një llogari pune. Dëshiron të krijosh një hapësirë të re të Chrome për <ph name="NEW_USER" /> për t'i mbajtur të dhënat e tua personale të ndara?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Rinis Chrome OS</translation>
 <translation id="5132929315877954718">Zbulo aplikacione, lojëra, shtesa dhe tema të mrekullueshme për Google Chrome.</translation>
 <translation id="5170938038195470297">Profili yt nuk mund të përdoret sepse është nga një version më i ri i Google Chrome.
 
 Disa funksione mund të mos ofrohen. Specifiko një direktori tjetër të profilit ose përdor një version më të ri të Chrome.</translation>
-<translation id="5171117065011130146">Të krijohet një hapësirë e re pune e Chrome?</translation>
 <translation id="5193136243808726294">Sistemi operativ Google Chrome nuk mund ta hapë këtë faqe.</translation>
 <translation id="5251420635869119124">Vizitorët mund të përdorin Chrome pa lënë asgjë prapa.</translation>
 <translation id="532046782124376502">Paralajmërim: Google Chrome nuk mund të parandalojë regjistrimin e historikut të shfletimit nga shtesat. Për ta çaktivizuar këtë shtesë në modalitetin "e fshehtë", anulo zgjedhjen e këtij opsioni.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Për të parë nëse pajisja jote është e përditësuar, shko te <ph name="LINK_BEGIN" />Cilësimet e sistemit operativ Chrome<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Ky kompjuter nuk do të marrë më përditësime të Google Chrome sepse Mac OS X 10.9 nuk mbështetet më.</translation>
-<translation id="7591404275842302616">Përdor "Hapësirat e Chrome" për ta mbajtur shfletimin tënd të organizuar në këtë pajisje</translation>
 <translation id="7592736734348559088">Google Chrome nuk mund të sinkronizonte të dhënat e tua sepse detajet e identifikimit të llogarisë nuk janë të përditësuara.</translation>
 <translation id="7626032353295482388">Mirë se vjen në Chrome</translation>
 <translation id="7629695634924605473">Chrome të informon nëse fjalëkalimet e tua komprometohen ndonjëherë</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Sistemi operativ Chrome nuk është i përditësuar</translation>
 <translation id="8834965163890861871">Google Chrome po përpiqet t'i modifikojë fjalëkalimet. Shkruaj fjalëkalimin tënd të Windows për ta lejuar këtë.</translation>
 <translation id="884296878221830158">Ai kontrollon po ashtu se cila faqe shfaqet kur nis Chrome ose kur klikon te butoni "Kreu".</translation>
-<translation id="8859948767482842016">U identifikove me një llogari pune në hapësirën e <ph name="EXISTING_USER" />. Dëshiron të krijosh një hapësirë të re të Chrome për <ph name="WORK_DOMAIN" /> për t'i mbajtur të dhënat e tua të ndara?</translation>
 <translation id="8862326446509486874">Nuk ke të drejtat e duhura për instalimin në nivel sistemi. Provo ta ekzekutosh përsëri instaluesin si Administrator.</translation>
-<translation id="8877586659207810298">Të krijohet hapësirë e re e Chrome për <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Rinis Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Ofrohet një përditësim i Chrome}=1{Ofrohet një përditësim i Chrome}other{Një përditësim i Chrome ofrohet prej # ditësh}}</translation>
 <translation id="9026991721384951619">Sistemi operativ Chrome nuk mund të sinkronizonte të dhënat e tua sepse detajet e identifikimit të llogarisë nuk janë të përditësuara.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sr-Latn.xtb b/chrome/app/resources/google_chrome_strings_sr-Latn.xtb
index 033fc572..5a70afb 100644
--- a/chrome/app/resources/google_chrome_strings_sr-Latn.xtb
+++ b/chrome/app/resources/google_chrome_strings_sr-Latn.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome je zastareo</translation>
 <translation id="1919130412786645364">Dozvoli prijavljivanje u Chrome</translation>
-<translation id="195645108406520445">Podesite nov Chrome prostor</translation>
 <translation id="2063848847527508675">Treba da restartujete Chrome OS da biste primenili ažuriranje.</translation>
 <translation id="2094919256425865063">Želite li ipak da zatvorite Chrome?</translation>
 <translation id="2120620239521071941">Ovim ćete izbrisati <ph name="ITEMS_COUNT" /> stavke(i) sa ovog uređaja. Da biste kasnije vratili podatke, prijavite se u Chrome kao <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Pomozite da poboljšamo Chrome tako što ćete poslati izveštaj o <ph name="BEGIN_LINK" />aktuelnim podešavanjima<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Ponovo pokrenite Chrome</translation>
 <translation id="2246246234298806438">Google Chrome ne može da pokaže prikaz pre štampanja kada nedostaje ugrađeni PDF prikazivač.</translation>
-<translation id="226038281051944330">Prijavljeni ste pomoću novog naloga u prostoru korisnika <ph name="EXISTING_USER" />. Želite li da napravite nov Chrome prostor za korisnika <ph name="NEW_USER" /> da bi vam podaci bili razdvojeni?</translation>
 <translation id="2290014774651636340">Nedostaju šifre za Google API. Neke funkcije Google Chrome-a će biti onemogućene.</translation>
 <translation id="2290095356545025170">Da li stvarno želite da deinstalirate Google Chrome?</translation>
 <translation id="2309047409763057870">Ovo je sekundarna instalacija Google Chrome-a pa ne možete da ga podesite kao podrazumevani pregledač.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Dostupna je nova, bezbednija verzija Google Chrome pregledača.</translation>
 <translation id="3127818369811890733">Chrome OS nije uspeo da sinhronizuje podatke.</translation>
 <translation id="3149510190863420837">Chrome aplikacije</translation>
-<translation id="3351117925998652957">Izaberite Chrome prostor</translation>
 <translation id="3360895254066713204">Chrome pomoćnik</translation>
 <translation id="3379938682270551431">{0,plural, =0{Ponovo ćemo pokrenuti Chrome}=1{Ponovo ćemo pokrenuti Chrome za 1 sekundu}one{Ponovo ćemo pokrenuti Chrome za # sekundu}few{Ponovo ćemo pokrenuti Chrome za # sekunde}other{Ponovo ćemo pokrenuti Chrome za # sekundi}}</translation>
 <translation id="3395323229510056640">Pronađite pomoć za Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Zatvorite sve prozore Google Chrome pregledača i pokušajte ponovo.</translation>
 <translation id="3865754807470779944">Instalirana je verzija Chrome-a <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Otvori link u Chrome prozoru bez arhi&amp;viranja</translation>
-<translation id="3879568094278837081">Podaci pregledanja ovog prostora će se izbrisati sa ovog uređaja. Da biste vratili podatke, prijavite se u Chrome kao</translation>
 <translation id="3889417619312448367">Deinstaliraj Google Chrome</translation>
 <translation id="4050175100176540509">Važna bezbednosna poboljšanja i nove funkcije su dostupni u najnovijoj verziji.</translation>
 <translation id="4053720452172726777">Prilagodite i kontrolišite Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Otvori link u novoj Chrome &amp;kartici</translation>
 <translation id="4953650215774548573">Podesi Google Chrome kao podrazumevani pregledač</translation>
 <translation id="495931528404527476">U Chrome-u</translation>
-<translation id="4960472897514318257">Prijavljeni ste pomoću poslovnog naloga. Želite li da napravite nov Chrome prostor za korisnika <ph name="NEW_USER" /> da bi vam lični podaci bili razdvojeni?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Restartujte Chrome OS</translation>
 <translation id="5132929315877954718">Otkrijte odlične aplikacije, igre, dodatke i teme za Google Chrome.</translation>
 <translation id="5170938038195470297">Profil ne može da se koristi jer je iz novije verzije Google Chrome-a.
 
 Neke funkcije su možda nedostupne. Navedite drugi direktorijum profila ili koristite noviju verziju Chrome-a.</translation>
-<translation id="5171117065011130146">Želite li da napravite nov Chrome prostor za rad?</translation>
 <translation id="5193136243808726294">Google Chrome OS ne može da otvori ovu stranicu.</translation>
 <translation id="5251420635869119124">Gosti mogu da koriste Chrome a da ne ostavljaju nikakve tragove.</translation>
 <translation id="532046782124376502">Upozorenje: Google Chrome ne može da spreči dodatke da snimaju vašu istoriju pregledanja. Da biste onemogućili ovaj dodatak u režimu bez arhiviranja, opozovite izbor ove opcije.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Programerska verzija Google Chrome-a</translation>
 <translation id="7573289029918943991">Da biste proverili da li je uređaj ažuriran, idite u <ph name="LINK_BEGIN" />Podešavanja Chrome OS-a<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Ovaj računar više neće dobijati ažuriranja za Google Chrome zato što Mac OS X 10.9 više nije podržan.</translation>
-<translation id="7591404275842302616">Koristite Chrome prostore da bi pregledanje bilo organizovano na ovom uređaju</translation>
 <translation id="7592736734348559088">Google Chrome ne može da sinhronizuje podatke zato što su podaci za prijavljivanje na nalog zastareli.</translation>
 <translation id="7626032353295482388">Dobro došli u Chrome</translation>
 <translation id="7629695634924605473">Chrome vas obaveštava ako su lozinke ugrožene</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome je zastareo</translation>
 <translation id="8834965163890861871">Google Chrome pokušava da izmeni lozinke. Unesite lozinku za Windows da biste to omogućili.</translation>
 <translation id="884296878221830158">Kontroliše i stranicu koja se prikazuje kada pokrenete Chrome ili kliknete na dugme Početak.</translation>
-<translation id="8859948767482842016">Prijavljeni ste pomoću poslovnog naloga u prostoru korisnika <ph name="EXISTING_USER" />. Želite li da napravite nov Chrome prostor za <ph name="WORK_DOMAIN" /> da bi vam podaci bili razdvojeni?</translation>
 <translation id="8862326446509486874">Nemate odgovarajuća prava za instalaciju na nivou sistema. Probajte ponovo da pokrenete program za instalaciju, ovoga puta kao administrator.</translation>
-<translation id="8877586659207810298">Želite li da napravite nov Chrome prostor za korisnika <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Ponovo pokreni Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Ažuriranje za Chrome je dostupno}=1{Ažuriranje za Chrome je dostupno}one{Ažuriranje za Chrome je dostupno već # dan}few{Ažuriranje za Chrome je dostupno već # dana}other{Ažuriranje za Chrome je dostupno već # dana}}</translation>
 <translation id="9026991721384951619">Chrome OS ne može da sinhronizuje podatke zato što su podaci za prijavljivanje na nalog zastareli.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sr.xtb b/chrome/app/resources/google_chrome_strings_sr.xtb
index 723cff3..10322cf2 100644
--- a/chrome/app/resources/google_chrome_strings_sr.xtb
+++ b/chrome/app/resources/google_chrome_strings_sr.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome бета (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome је застарео</translation>
 <translation id="1919130412786645364">Дозволи пријављивање у Chrome</translation>
-<translation id="195645108406520445">Подесите нов Chrome простор</translation>
 <translation id="2063848847527508675">Треба да рестартујете Chrome OS да бисте применили ажурирање.</translation>
 <translation id="2094919256425865063">Желите ли ипак да затворите Chrome?</translation>
 <translation id="2120620239521071941">Овим ћете избрисати <ph name="ITEMS_COUNT" /> ставке(и) са овог уређаја. Да бисте касније вратили податке, пријавите се у Chrome као <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Помозите да побољшамо Chrome тако што ћете послати извештај о <ph name="BEGIN_LINK" />актуелним подешавањима<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Поново покрените Chrome</translation>
 <translation id="2246246234298806438">Google Chrome не може да покаже приказ пре штампања када недостаје уграђени PDF приказивач.</translation>
-<translation id="226038281051944330">Пријављени сте помоћу новог налога у простору корисника <ph name="EXISTING_USER" />. Желите ли да направите нов Chrome простор за корисника <ph name="NEW_USER" /> да би вам подаци били раздвојени?</translation>
 <translation id="2290014774651636340">Недостају шифре за Google API. Неке функције Google Chrome-а ће бити онемогућене.</translation>
 <translation id="2290095356545025170">Да ли стварно желите да деинсталирате Google Chrome?</translation>
 <translation id="2309047409763057870">Ово је секундарна инсталација Google Chrome-а па не можете да га подесите као подразумевани прегледач.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Доступна је нова, безбеднија верзија Google Chrome прегледача.</translation>
 <translation id="3127818369811890733">Chrome ОС није успео да синхронизује податке.</translation>
 <translation id="3149510190863420837">Chrome апликације</translation>
-<translation id="3351117925998652957">Изаберите Chrome простор</translation>
 <translation id="3360895254066713204">Chrome помоћник</translation>
 <translation id="3379938682270551431">{0,plural, =0{Поново ћемо покренути Chrome}=1{Поново ћемо покренути Chrome за 1 секунду}one{Поново ћемо покренути Chrome за # секунду}few{Поново ћемо покренути Chrome за # секунде}other{Поново ћемо покренути Chrome за # секунди}}</translation>
 <translation id="3395323229510056640">Пронађите помоћ за Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Затворите све прозоре Google Chrome прегледача и покушајте поново.</translation>
 <translation id="3865754807470779944">Инсталирана је верзија Chrome-а <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Отвори линк у Chrome прозору без архи&amp;вирања</translation>
-<translation id="3879568094278837081">Подаци прегледања овог простора ће се избрисати са овог уређаја. Да бисте вратили податке, пријавите се у Chrome као</translation>
 <translation id="3889417619312448367">Деинсталирај Google Chrome</translation>
 <translation id="4050175100176540509">Важна безбедносна побољшања и нове функције су доступни у најновијој верзији.</translation>
 <translation id="4053720452172726777">Прилагодите и контролишите Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Отвори линк у новој Chrome &amp;картици</translation>
 <translation id="4953650215774548573">Подеси Google Chrome као подразумевани прегледач</translation>
 <translation id="495931528404527476">У Chrome-у</translation>
-<translation id="4960472897514318257">Пријављени сте помоћу пословног налога. Желите ли да направите нов Chrome простор за корисника <ph name="NEW_USER" /> да би вам лични подаци били раздвојени?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Рестартујте Chrome ОС</translation>
 <translation id="5132929315877954718">Откријте одличне апликације, игре, додатке и теме за Google Chrome.</translation>
 <translation id="5170938038195470297">Профил не може да се користи јер је из новије верзије Google Chrome-а.
 
 Неке функције су можда недоступне. Наведите други директоријум профила или користите новију верзију Chrome-а.</translation>
-<translation id="5171117065011130146">Желите ли да направите нов Chrome простор за рад?</translation>
 <translation id="5193136243808726294">Google Chrome ОС не може да отвори ову страницу.</translation>
 <translation id="5251420635869119124">Гости могу да користе Chrome а да не остављају никакве трагове.</translation>
 <translation id="532046782124376502">Упозорење: Google Chrome не може да спречи додатке да снимају вашу историју прегледања. Да бисте онемогућили овај додатак у режиму без архивирања, опозовите избор ове опције.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Програмерска верзија Google Chrome-а</translation>
 <translation id="7573289029918943991">Да бисте проверили да ли је уређај ажуриран, идите у <ph name="LINK_BEGIN" />Подешавања Chrome ОС-а<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Овај рачунар више неће добијати ажурирања за Google Chrome зато што Mac OS X 10.9 више није подржан.</translation>
-<translation id="7591404275842302616">Користите Chrome просторе да би прегледање било организовано на овом уређају</translation>
 <translation id="7592736734348559088">Google Chrome не може да синхронизује податке зато што су подаци за пријављивање на налог застарели.</translation>
 <translation id="7626032353295482388">Добро дошли у Chrome</translation>
 <translation id="7629695634924605473">Chrome вас обавештава ако су лозинке угрожене</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Chrome је застарео</translation>
 <translation id="8834965163890861871">Google Chrome покушава да измени лозинке. Унесите лозинку за Windows да бисте то омогућили.</translation>
 <translation id="884296878221830158">Контролише и страницу која се приказује када покренете Chrome или кликнете на дугме Почетак.</translation>
-<translation id="8859948767482842016">Пријављени сте помоћу пословног налога у простору корисника <ph name="EXISTING_USER" />. Желите ли да направите нов Chrome простор за <ph name="WORK_DOMAIN" /> да би вам подаци били раздвојени?</translation>
 <translation id="8862326446509486874">Немате одговарајућа права за инсталацију на нивоу система. Пробајте поново да покренете програм за инсталацију, овога пута као администратор.</translation>
-<translation id="8877586659207810298">Желите ли да направите нов Chrome простор за корисника <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Поново покрени Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Ажурирање за Chrome је доступно}=1{Ажурирање за Chrome је доступно}one{Ажурирање за Chrome је доступно већ # дан}few{Ажурирање за Chrome је доступно већ # дана}other{Ажурирање за Chrome је доступно већ # дана}}</translation>
 <translation id="9026991721384951619">Chrome ОС не може да синхронизује податке зато што су подаци за пријављивање на налог застарели.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sv.xtb b/chrome/app/resources/google_chrome_strings_sv.xtb
index 0446ed3..2ade37b 100644
--- a/chrome/app/resources/google_chrome_strings_sv.xtb
+++ b/chrome/app/resources/google_chrome_strings_sv.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-in)</translation>
 <translation id="1877026089748256423">Den här versionen av Chrome är inaktuell</translation>
 <translation id="1919130412786645364">Tillåt inloggning i Chrome</translation>
-<translation id="195645108406520445">Konfigurera din nya arbetsyta i Chrome</translation>
 <translation id="2063848847527508675">Chrome OS måste startas om för att uppdateringen ska börja gälla.</translation>
 <translation id="2094919256425865063">Vill du avsluta Chrome ändå?</translation>
 <translation id="2120620239521071941"><ph name="ITEMS_COUNT" /> tas bort från enheten. Logga in i Chrome som <ph name="USER_EMAIL" /> om du vill kunna återställa datan senare.</translation>
 <translation id="2123055963409958220">Hjälp oss att förbättra Chrome genom att rapportera <ph name="BEGIN_LINK" />dina aktuella inställningar<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Starta om Chrome nu</translation>
 <translation id="2246246234298806438">Förhandsgranskningen av utskriften kan inte visas i Google Chrome eftersom den inbyggda PDF-läsaren saknas.</translation>
-<translation id="226038281051944330">Du har loggat in med ett nytt konto i profilen som tillhör <ph name="EXISTING_USER" /> Vill du skapa en ny Chrome-profil för <ph name="NEW_USER" /> så att uppgifterna hålls åtskilda?</translation>
 <translation id="2290014774651636340">Googles API-nycklar saknas. Vissa funktioner i Google Chrome kommer att vara inaktiverade.</translation>
 <translation id="2290095356545025170">Är du säker på att du vill avinstallera Google Chrome?</translation>
 <translation id="2309047409763057870">Det här är en sekundär installation av Google Chrome. Det går inte att göra den till standardwebbläsare.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Det finns en ny, ännu säkrare version av Google Chrome.</translation>
 <translation id="3127818369811890733">Det gick inte att synkronisera data i Chrome OS.</translation>
 <translation id="3149510190863420837">Chrome-appar</translation>
-<translation id="3351117925998652957">Välj arbetsyta i Chrome</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome startas om nu}=1{Om en sekund startas Chrome om}other{Om # sekunder startas Chrome om}}</translation>
 <translation id="3395323229510056640">Få hjälp med Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Stäng alla Google Chrome-fönster och försök igen.</translation>
 <translation id="3865754807470779944">Chrome-version <ph name="PRODUCT_VERSION" /> har installerats</translation>
 <translation id="3873044882194371212">Öppna länken i ett inko&amp;gnitofönster i Chrome</translation>
-<translation id="3879568094278837081">Den här profilens webbinformation raderas från enheten. Om du vill återställa informationen loggar du in i Chrome som</translation>
 <translation id="3889417619312448367">Avinstallera Google Chrome</translation>
 <translation id="4050175100176540509">Den senaste versionen har viktiga säkerhetsförbättringar och nya funktioner.</translation>
 <translation id="4053720452172726777">Anpassa och kontrollera Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Öppna länkar i en ny flik i Chrome</translation>
 <translation id="4953650215774548573">Ange Google Chrome som standardwebbläsare</translation>
 <translation id="495931528404527476">I Chrome</translation>
-<translation id="4960472897514318257">Du har loggat in med ett jobbkonto. Vill du skapa en ny Chrome-profil för <ph name="NEW_USER" /> så att privata uppgifter hålls för sig?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Starta om Chrome OS</translation>
 <translation id="5132929315877954718">Upptäck fantastiska program, spel, tillägg och teman för Google Chrome.</translation>
 <translation id="5170938038195470297">Profilen kan inte användas eftersom den tillhör en nyare version av Google Chrome.
 
 Vissa funktioner är kanske inte tillgängliga. Ange en annan profilkatalog om du vill använda en nyare version av Chrome.</translation>
-<translation id="5171117065011130146">VIll du skapa en ny jobbprofil i Chrome?</translation>
 <translation id="5193136243808726294">Det går inte att öppna den här sidan i Google Chrome OS.</translation>
 <translation id="5251420635869119124">Gäster kan använda Chrome utan att lämna spår.</translation>
 <translation id="532046782124376502">Varning! Google Chrome kan inte förhindra tillägg från att registrera din webbhistorik. Om du vill inaktivera det här tillägget i inkognitoläge avmarkerar du detta alternativ.</translation>
@@ -223,7 +217,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Om du vill se om enheten är uppdaterad öppnar du <ph name="LINK_BEGIN" />inställningarna för Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Den här datorn får inte längre uppdateringar för Google Chrome eftersom Mac OS X 10.9 inte längre stöds.</translation>
-<translation id="7591404275842302616">Håll ordning när du surfar på enheten med profiler i Chrome</translation>
 <translation id="7592736734348559088">Google Chrome kunde inte synkronisera data eftersom inloggningsuppgifterna för kontot är inaktuella.</translation>
 <translation id="7626032353295482388">Välkommen till Chrome</translation>
 <translation id="7629695634924605473">Om dina lösenord någonsin skulle läcka ut får du veta det i Chrome</translation>
@@ -270,9 +263,7 @@
 <translation id="8823341990149967727">Den här versionen av Chrome är inaktuell</translation>
 <translation id="8834965163890861871">Skriv ditt Windows-lösenord om du tillåter att lösenorden i Google Chrome redigeras.</translation>
 <translation id="884296878221830158">Det styr också vilken sida som visas när du startar Chrome eller klickar på hemknappen.</translation>
-<translation id="8859948767482842016">Du loggade in med ett jobbkonto i den profil som tillhör <ph name="EXISTING_USER" />. Vill du skapa en ny Chrome-profil för <ph name="WORK_DOMAIN" /> så att uppgifterna hålls åtskilda?</translation>
 <translation id="8862326446509486874">Du har inte behörighet att göra en installation på systemnivå. Försök köra installationsprogrammet igen som administratör.</translation>
-<translation id="8877586659207810298">Vill du skapa en ny Chrome-profil för <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Starta om Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Det finns en uppdatering för Chrome}=1{Det finns en uppdatering för Chrome}other{Det finns en uppdatering för Chrome sedan # dagar}}</translation>
 <translation id="9026991721384951619">Det gick inte att synkronisera data med Chrome OS eftersom inloggningsuppgifterna för kontot är inaktuella.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sw.xtb b/chrome/app/resources/google_chrome_strings_sw.xtb
index 6360dd4..4e21563b 100644
--- a/chrome/app/resources/google_chrome_strings_sw.xtb
+++ b/chrome/app/resources/google_chrome_strings_sw.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Toleo hili la Chrome limepitwa na wakati</translation>
 <translation id="1919130412786645364">Ruhusu kuingia katika akaunti ya Chrome</translation>
-<translation id="195645108406520445">Weka mipangilio ya Chrome Space yako mpya</translation>
 <translation id="2063848847527508675">Mfumo wa Uendeshaji wa Chrome unahitaji kuzimwa na kuwashwa upya ili utumie sasisho.</translation>
 <translation id="2094919256425865063">Ungependa kufunga Chrome?</translation>
 <translation id="2120620239521071941">Hatua hii itafuta vipengee <ph name="ITEMS_COUNT" /> kwenye kifaa hiki. Ili urejeshe data yako baadaye, ingia katika Chrome ukitumia <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Saidia kuboresha Chrome kwa kuripoti kuhusu <ph name="BEGIN_LINK" />mipangilio ya sasa<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Tafadhali zima kisha uwashe Chrome sasa</translation>
 <translation id="2246246234298806438">Google Chrome haiwezi kuonyesha uhakiki wa kuchapisha wakati kionyeshi kilichojengewa ndani cha PDF kinakosekana.</translation>
-<translation id="226038281051944330">Umeingia ukitumia akaunti mpya kwenye nafasi ya <ph name="EXISTING_USER" />. Ungependa kuanzisha nafasi mpya ya Chrome ya <ph name="NEW_USER" /> ili utenganishe data yako?</translation>
 <translation id="2290014774651636340">Funguo za API za Google zinakosekana. Baadhi ya utendaji wa Google Chrome utazimwa.</translation>
 <translation id="2290095356545025170">Je, una hakika kuwa ungependa kusanidua Google Chrome?</translation>
 <translation id="2309047409763057870">Huu ni usakinishaji wa pili wa Google Chrome, na haiwezi kufanywa kuwa kivinjari chako chaguomsingi.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Kuna toleo jipya na salama la Google Chrome.</translation>
 <translation id="3127818369811890733">Mfumo wa Uendeshaji wa Chrome umeshindwa kusawazisha data yako.</translation>
 <translation id="3149510190863420837">Programu za Chrome</translation>
-<translation id="3351117925998652957">Chagua Chrome Space yako</translation>
 <translation id="3360895254066713204">Msaidizi wa Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome itafunguka upya sasa hivi}=1{Chrome itafunguka upya baada ya sekunde 1}other{Chrome itafunguka upya baada ya sekunde #}}</translation>
 <translation id="3395323229510056640">Pata usaidizi wa kutumia mfumo wa uendeshaji wa Chrome</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Tafadhali funga madirisha yote ya Google Chrome na ujaribu tena.</translation>
 <translation id="3865754807470779944">Umesakinisha toleo la Chrome la <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Fungua kiungo katika dirisha fiche la Chrome</translation>
-<translation id="3879568094278837081">Data ya kuvinjari ya nafasi hii itafutwa kwenye kifaa hiki. Ili urejeshe data, ingia katika Chrome ukitumia</translation>
 <translation id="3889417619312448367">Ondoa Google Chrome</translation>
 <translation id="4050175100176540509">Maboresho muhimu ya usalama na vipengele vipya vinapatikana katika toleo jipya.</translation>
 <translation id="4053720452172726777">Dhibiti  na ugeuze Google Chrome ikufae</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Fungua kiungo katika kichupo kipya cha Chrome</translation>
 <translation id="4953650215774548573">Weka Google Chrome iwe kivinjari chako chaguomsingi</translation>
 <translation id="495931528404527476">Katika Chrome</translation>
-<translation id="4960472897514318257">Umeingia ukitumia akaunti ya kazini. Ungependa kuanzisha nafasi mpya ya Chrome ya <ph name="NEW_USER" /> ili utenganishe data yako ya binafsi?</translation>
 <translation id="4990567037958725628">Kanari ya Google Chrome</translation>
 <translation id="5062123544085870375">Zima kisha uwashe mfumo wa uendeshaji wa Chrome</translation>
 <translation id="5132929315877954718">Gundua programu, michezo, viendelezi na mandhari bora ya Google Chrome.</translation>
 <translation id="5170938038195470297">Wasifu wako huenda usitumike kwa sababu unatoka katika toleo jipya la Google Chrome.
 
 Huenda baadhi ya vipengele visipatikane. Tafadhali bainisha saraka tofauti ya wasifu au tumia toleo jipya la Chrome.</translation>
-<translation id="5171117065011130146">Ungependa kuanzisha nafasi mpya ya Chrome Work?</translation>
 <translation id="5193136243808726294">Mfumo wa Uendeshaji wa Google Chrome hauwezi kufungua ukurasa huu.</translation>
 <translation id="5251420635869119124">Walioalikwa wanaweza kutumia Chrome bila kuacha chochote nyuma.</translation>
 <translation id="532046782124376502">Ilani: Google Chrome haiwezi kuzuia viendelezi kurekodi historia yako ya kuvinjari. Ili kuzima kiendelezi hiki katika hali fiche, batilisha chaguo hili.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Ili uone ikiwa kifaa chako kimesasishwa, nenda kwenye <ph name="LINK_BEGIN" />Mipangilio ya Mfumo wa Uendeshaji wa Chrome<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Kompyuta hii haitapokea tena masasisho ya Google Chrome kwa sababu Mac OS X 10.9 haitumiki tena.</translation>
-<translation id="7591404275842302616">Tumia Chrome Space kupanga matukio yako ya kuvinjari kwenye kifaa hiki</translation>
 <translation id="7592736734348559088">Google Chrome haikuweza kusawazisha data yako kwa sababu maelezo yako ya kuingia katika akaunti yanahitaji kusasishwa.</translation>
 <translation id="7626032353295482388">Karibu kwenye Chrome</translation>
 <translation id="7629695634924605473">Chrome hukuruhusu ujue iwapo manenosiri yako yameathiriwa</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">Toleo hili la Chrome Limepitwa na Wakati</translation>
 <translation id="8834965163890861871">Google Chrome inajaribu kubadilisha manenosiri. Andika nenosiri lako la Windows ili uiruhusu.</translation>
 <translation id="884296878221830158">Pia inadhibiti ukurasa unaoonyeshwa unapoanzisha Chrome au unapobofya kitufe cha Mwanzo.</translation>
-<translation id="8859948767482842016">Umeingia ukitumia akaunti ya Kazini katika nafasi ya <ph name="EXISTING_USER" />. Ungependa kuanzisha nafasi mpya ya Chrome ya <ph name="WORK_DOMAIN" /> ili utenganishe data yako?</translation>
 <translation id="8862326446509486874">Huna haki zifaazo ili kufanya usakinishaji wa kiwango cha mfumo. Jaribu kutumia kisakinishi kama msimamiaji kompyuta.</translation>
-<translation id="8877586659207810298">Ungependa kuanzisha nafasi mpya ya Chrome ya <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Zindua upya Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Sasisho la Chrome linapatikana}=1{Sasisho la Chrome linapatikana}other{Sasisho la Chrome limekuwepo kwa siku #}}</translation>
 <translation id="9026991721384951619">Mfumo wa Uendeshaji wa Chrome haukuweza kusawazisha data yako kwa sababu maelezo yako ya kuingia katika akaunti yanahitaji kusasishwa.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ta.xtb b/chrome/app/resources/google_chrome_strings_ta.xtb
index 6d2d3de..0d4d4fa 100644
--- a/chrome/app/resources/google_chrome_strings_ta.xtb
+++ b/chrome/app/resources/google_chrome_strings_ta.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome பீட்டா (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome காலாவதியானது</translation>
 <translation id="1919130412786645364">Chrome உள்நுழைவை அனுமதித்தல்</translation>
-<translation id="195645108406520445">உங்கள் புதிய Chrome ஸ்பேஸை அமைத்தல்</translation>
 <translation id="2063848847527508675">புதுப்பிப்பைப் பயன்படுத்த, Chrome OSஐ மீண்டும் தொடங்க வேண்டும்.</translation>
 <translation id="2094919256425865063">Chrome இலிருந்து வெளியேறவா?</translation>
 <translation id="2120620239521071941">வெளியேறினால், இந்தச் சாதனத்திலிருந்து <ph name="ITEMS_COUNT" /> உருப்படிகள் நீக்கப்படும். பின்னர் தரவை மீட்டமைக்க, Chrome இல் <ph name="USER_EMAIL" /> எனும் முகவரியின் மூலம் உள்நுழையவும்.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />தற்போதைய அமைப்புகளைப்<ph name="END_LINK" />பற்றிய அறிக்கையை அனுப்பி, Chromeஐ இன்னும் சிறந்ததாக்க உதவவும்</translation>
 <translation id="2151406531797534936">Chromeமை இப்போது மீண்டும் தொடங்கவும்</translation>
 <translation id="2246246234298806438">உள்ளமைக்கப்பட்ட PDF வியூவர் இல்லையென்றால், Google Chrome அச்சிடல் மாதிரிக்காட்சியைக் காண்பிக்காது.</translation>
-<translation id="226038281051944330"><ph name="EXISTING_USER" /> இன் ஸ்பேஸில் புதிய கணக்கின் மூலம் உள்நுழைந்துள்ளீர்கள். உங்கள் தரவைத் தனிப்பட்டதாக வைத்திருக்கும் வகையில் <ph name="NEW_USER" /> டொமைனுக்கான புதிய Chrome ஸ்பேஸை உருவாக்க விரும்புகிறீர்களா?</translation>
 <translation id="2290014774651636340">Google API விசைகள் காணப்படவில்லை. Google Chrome இன் சில செயல்பாடுகள் முடக்கப்படும்.</translation>
 <translation id="2290095356545025170">Google Chrome நிறுவல் நீக்கம் செய்வதில் உறுதியாக உள்ளீர்களா?</translation>
 <translation id="2309047409763057870">இது Google Chrome இன் இரண்டாம் நிலை நிறுவல் என்பதால், அதை இயல்புநிலை உலாவியாக அமைக்க முடியாது.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">புதிய, இன்னும் பாதுகாப்பான Google Chrome பதிப்பு தற்போது கிடைக்கிறது.</translation>
 <translation id="3127818369811890733">உங்கள் தரவை Chrome OSஸால் ஒத்திசைக்க முடியவில்லை.</translation>
 <translation id="3149510190863420837">Chrome ஆப்ஸ்</translation>
-<translation id="3351117925998652957">Chrome ஸ்பேஸைத் தேர்வுசெய்யுங்கள்</translation>
 <translation id="3360895254066713204">Chrome உதவி</translation>
 <translation id="3379938682270551431">{0,plural, =0{இப்போது Chrome மீண்டும் தொடங்கும்}=1{ஒரு வினாடியில் Chrome மீண்டும் தொடங்கும்}other{# வினாடிகளில் Chrome மீண்டும் தொடங்கும்}}</translation>
 <translation id="3395323229510056640">Chrome OS தொடர்பான உதவி பெறுக</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">அனைத்து Google Chrome சாளரங்களையும் மூடி, பின்னர் முயற்சி செய்க.</translation>
 <translation id="3865754807470779944">Chromeமின் <ph name="PRODUCT_VERSION" /> பதிப்பு நிறுவப்பட்டுள்ளது</translation>
 <translation id="3873044882194371212">Chrome மறை&amp;நிலை சாளரத்தில் இணைப்பைத் திற</translation>
-<translation id="3879568094278837081">இந்த ஸ்பேஸின் உலாவிய தரவு இந்தச் சாதனத்திலிருந்து நீக்கப்படும். தரவை மீட்டெடுக்க, Chrome உலாவியில் இந்தக் கணக்கின் மூலம் உள்நுழையவும்</translation>
 <translation id="3889417619312448367">Google Chrome ஐ நிறுவல் நீக்குக</translation>
 <translation id="4050175100176540509">முக்கியப் பாதுகாப்பு மேம்பாடுகளும், புதிய அம்சங்களும் சமீபத்திய பதிப்பில் கிடைக்கின்றன.</translation>
 <translation id="4053720452172726777">Google Chrome ஐ தனிப்பயனாக்கி கட்டுப்படுத்து</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">புதிய Chrome &amp;தாவலில் இணைப்பைத் திற</translation>
 <translation id="4953650215774548573">Google Chrome ஐ உங்கள் இயல்புநிலை உலாவியாக அமைக்கவும்</translation>
 <translation id="495931528404527476">Chrome இல்</translation>
-<translation id="4960472897514318257">பணிக் கணக்கின் மூலம் உள்நுழைந்துள்ளீர்கள். உங்கள் தனிப்பட்ட தரவைத் தனிப்பட்டதாக வைத்திருக்கும் வகையில் <ph name="NEW_USER" /> டொமைனுக்குப் புதிய Chrome ஸ்பேஸை உருவாக்க விரும்புகிறீர்களா?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OSஸை மீண்டும் தொடங்கவும்</translation>
 <translation id="5132929315877954718">Google Chrome க்கான சிறந்த ஆப்ஸ், கேம்ஸ், நீட்டிப்புகள் மற்றும் தீம்களைக் கண்டறியவும்.</translation>
 <translation id="5170938038195470297">Google Chrome இன் புத்தம் புதிய பதிப்பு என்பதால், உங்கள் சுயவிவரத்தைப் பயன்படுத்த முடியாது. சில அம்சங்கள் கிடைக்காமல் போகலாம். வேறு சுயவிவர கோப்பகத்தைக் குறிப்பிடுக அல்லது Chrome இன் புதிய பதிப்பைப் பயன்படுத்துக.</translation>
-<translation id="5171117065011130146">புதிய Chrome பணியிடத்தை உருவாக்கவா?</translation>
 <translation id="5193136243808726294">Google Chrome OS ஆல் இந்தப் பக்கத்தைத் திறக்க முடியாது.</translation>
 <translation id="5251420635869119124">எதையும் விட்டுசெல்லாமல் கெஸ்ட் பயனர்கள் Chrome ஐப் பயன்படுத்தலாம்.</translation>
 <translation id="532046782124376502">எச்சரிக்கை: நீட்டிப்புகள் உங்கள் உலாவல் வரலாற்றைப் பதிவுசெய்வதை Google Chrome ஆல் தடுக்க முடியவில்லை. மறைநிலையில் இந்த நீட்டிப்பை முடக்க, இந்த விருப்பத்தைத் தேர்வுநீக்கவும்.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">உங்கள் சாதனம் புதுப்பித்த நிலையில் உள்ளதா என்பதைப் பார்க்க <ph name="LINK_BEGIN" />Chrome OS அமைப்புகளுக்குச்<ph name="LINK_END" /> செல்லவும்</translation>
 <translation id="7589360514048265910">Mac OS X 10.9 இனி ஆதரிக்கப்படாது என்பதால், இந்தக் கம்ப்யூட்டர் இனி Google Chrome புதுப்பிப்புகளைப் பெறாது.</translation>
-<translation id="7591404275842302616">இந்தச் சாதனத்தில் உங்கள் உலாவல் செயல்பாடுகளை ஒழுங்கமைக்க, Chrome ஸ்பேசஸைப் பயன்படுத்தலாம்</translation>
 <translation id="7592736734348559088">உங்கள் கணக்கின் உள்நுழைவு விவரங்கள் காலாவதியாகிவிட்டதால் உங்கள் தரவை Google Chromeமால் ஒத்திசைக்க முடியவில்லை.</translation>
 <translation id="7626032353295482388">Chrome க்கு வருக</translation>
 <translation id="7629695634924605473">கடவுச்சொற்கள் பாதுகாப்பை இழக்கும்பட்சத்தில் அவற்றை Chrome உங்களுக்குத் தெரியப்படுத்தும்</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome காலாவதியானது</translation>
 <translation id="8834965163890861871">Google Chrome கடவுச்சொற்களைத் திருத்த முயல்கிறது. இதை அனுமதிக்க உங்கள் Windows கடவுச்சொல்லை உள்ளிடவும்.</translation>
 <translation id="884296878221830158">Chromeமைத் தொடங்கும்போது அல்லது முகப்புப் பொத்தானைக் கிளிக் செய்யும்போது காண்பிக்கப்படும் பக்கத்தையும் இது கட்டுப்படுத்துகிறது.</translation>
-<translation id="8859948767482842016"><ph name="EXISTING_USER" /> இன் ஸ்பேஸில் பணிக் கணக்கின் மூலம் உள்நுழைந்துள்ளீர்கள். உங்கள் தரவைத் தனிப்பட்டதாக வைத்திருக்கும் வகையில் <ph name="WORK_DOMAIN" /> டொமைனுக்கான புதிய Chrome ஸ்பேஸை உருவாக்க விரும்புகிறீர்களா?</translation>
 <translation id="8862326446509486874">கம்ப்யூட்டர்-சார்ந்த நிறுவலுக்கான முறையான உரிமைகள் உங்களிடம் இல்லை. அதனால் நிர்வாகியாக மீண்டும் நிறுவலை இயக்க முயற்சி செய்க.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" />க்குப் புதிய Chrome ஸ்பேஸை உருவாக்கவா?</translation>
 <translation id="8914504000324227558">Chrome ஐ மீண்டும் தொடங்கு</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chromeமிற்கான புதுப்பிப்பு உள்ளது}=1{Chromeமிற்கான புதுப்பிப்பு உள்ளது}other{Chromeமிற்கான புதுப்பிப்பு வந்து # நாட்களாகிறது}}</translation>
 <translation id="9026991721384951619">உங்கள் கணக்கின் உள்நுழைவு விவரங்கள் காலாவதியாகிவிட்டதால், உங்கள் தரவை Chrome OS ஆல் ஒத்திசைக்க முடியவில்லை.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_te.xtb b/chrome/app/resources/google_chrome_strings_te.xtb
index aea9140..b7af208 100644
--- a/chrome/app/resources/google_chrome_strings_te.xtb
+++ b/chrome/app/resources/google_chrome_strings_te.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome బీటా (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome కాలం చెల్లినది</translation>
 <translation id="1919130412786645364">Chrome సైన్-ఇన్‌ని అనుమతించండి</translation>
-<translation id="195645108406520445">మీ కొత్త Chrome Spaceను సెటప్ చేయండి</translation>
 <translation id="2063848847527508675">అప్‌డేట్‌ను వర్తింపజేయడానికి Chrome OSను పునఃప్రారంభించాలి.</translation>
 <translation id="2094919256425865063">ఏదేమైనా Chromeని మూసివేయాలా?</translation>
 <translation id="2120620239521071941">ఇది ఈ పరికరం నుండి <ph name="ITEMS_COUNT" /> అంశాలను తొలగిస్తుంది. మీ డేటాను తర్వాత తిరిగి పొందడానికి, Chromeకు <ph name="USER_EMAIL" /> లాగా సైన్ ఇన్ చేయండి.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />ప్రస్తుత సెట్టింగ్‌లను<ph name="END_LINK" /> నివేదించడం ద్వారా Chromeను మెరుగుపరచడంలో సహాయపడండి</translation>
 <translation id="2151406531797534936">దయచేసి Chromeను ఇప్పుడే మళ్ళీ ప్రారంభించండి</translation>
 <translation id="2246246234298806438">అంతర్గత PDF వ్యూవర్ లేనప్పుడు Google Chrome ముద్రణ ప్రివ్యూను చూపించదు.</translation>
-<translation id="226038281051944330"><ph name="EXISTING_USER" /> ప్రదేశంలో కొత్త ఖాతాతో మీరు సైన్ ఇన్ చేశారు. మీ డేటాను వేరుగా సేవ్ చేయడానికి <ph name="NEW_USER" /> కోసం కొత్త Chrome ప్రదేశాన్ని క్రియేట్ చేయాలనుకుంటున్నారా?</translation>
 <translation id="2290014774651636340">Google API కీలు లేవు. Google Chrome కార్యాచరణలో కొంత భాగం నిలిపివేయబడుతుంది.</translation>
 <translation id="2290095356545025170">మీరు Google Chromeను ఖచ్చితంగా అన్‌ఇన్‌స్టాల్ చేయాలని అనుకుంటున్నారా?</translation>
 <translation id="2309047409763057870">ఇది Google Chrome యొక్క రెండవ ఇన‌స్ట‌లేష‌న్. దీన్ని మీ డిఫాల్ట్ బ్రౌజర్‌గా చేయడం సాధ్యపడదు.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Google Chrome యొక్క కొత్తదైన, మరింత సురక్షిత వెర్షన్ అందుబాటులో ఉంది.</translation>
 <translation id="3127818369811890733">Chrome OS మీ డేటాను సింక్ చేయలేకపోయింది.</translation>
 <translation id="3149510190863420837">Chrome యాప్‌లు</translation>
-<translation id="3351117925998652957">మీ Chrome స్పేస్‌ను ఎంచుకోండి</translation>
 <translation id="3360895254066713204">Chrome సహాయకారుడు</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome ఇప్పుడు తిరిగి ప్రారంభించబడుతుంది}=1{Chrome 1 సెకనులో తిరిగి ప్రారంభించబడుతుంది}other{Chrome # సెకన్లలో తిరిగి ప్రారంభించబడుతుంది}}</translation>
 <translation id="3395323229510056640">Chrome OS గురించి సహాయాన్ని పొందండి</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">దయచేసి అన్ని Google Chrome విండోలను మూసివేసి, మళ్ళీ ప్రయత్నించండి.</translation>
 <translation id="3865754807470779944">Chrome వెర్షన్ <ph name="PRODUCT_VERSION" /> ఇన్‌స్టాల్ చేయబడింది</translation>
 <translation id="3873044882194371212">Chrome అ&amp;జ్ఞాత విండోలో లింక్‌ను తెరువు</translation>
-<translation id="3879568094278837081">ఈ వ్యక్తి బ్రౌజింగ్ డేటా ఈ పరికరం నుండి తొలగించబడుతుంది. డేటాను తిరిగి పొందడానికి, Chromeకు ఇలా సైన్ ఇన్ చేయండి</translation>
 <translation id="3889417619312448367">Google Chromeను అన్‌ఇన్‌స్టాల్ చేయండి</translation>
 <translation id="4050175100176540509">ముఖ్యమైన భద్రతా మెరుగుదలలు మరియు కొత్త ఫీచర్‌లు తాజా వెర్షన్‌లో అందుబాటులో ఉన్నాయి.</translation>
 <translation id="4053720452172726777">Google Chromeను అనుకూలీకరించండి మరియు నియంత్రించండి</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">కొత్త Chrome &amp;ట్యాబ్‌లో లింక్‌ను తెరువు</translation>
 <translation id="4953650215774548573">Google Chromeను మీ డిఫాల్ట్ బ్రౌజర్‌గా సెట్ చేయండి</translation>
 <translation id="495931528404527476">Chromeలో</translation>
-<translation id="4960472897514318257">మీరు కార్యాలయ ఖాతాతో సైన్ ఇన్ చేశారు. మీ వ్యక్తిగత డేటాను వేరుగా సేవ్ చేయడానికి <ph name="NEW_USER" /> కోసం కొత్త Chrome ప్రదేశాన్ని క్రియేట్ చేయాలనుకుంటున్నారా?</translation>
 <translation id="4990567037958725628">Google Chrome కేనరీ</translation>
 <translation id="5062123544085870375">Chrome OSను మళ్లీ ప్రారంభించండి</translation>
 <translation id="5132929315877954718">Google Chrome కోసం గొప్ప అనువర్తనాలు, ఆటలు, పొడిగింపులు మరియు థీమ్‌లను కనుగొనండి.</translation>
 <translation id="5170938038195470297">మీ ప్రొఫైల్‌ను ఉపయోగించడం సాధ్యపడదు, ఎందుకంటే ఇది ఒక కొత్త Google Chrome వెర్షన్ నుండి తీసుకోబడింది. కొన్ని ఫీచర్‌లు అందుబాటులో ఉండకపోవచ్చు. దయచేసి వేరొక ప్రొఫైల్ డైరెక్టరీని పేర్కొనండి లేదా Chrome కొత్త వెర్షన్‌ను ఉపయోగించండి.</translation>
-<translation id="5171117065011130146">కొత్త Chrome వర్క్ స్పేస్‌ను క్రియేట్ చేయాలా?</translation>
 <translation id="5193136243808726294">Google Chrome OS ఈ పేజీని తెరవలేదు.</translation>
 <translation id="5251420635869119124">అతిథులు ఎటువంటి చరిత్రను వదలకుండానే Chromeను ఉపయోగించవచ్చు.</translation>
 <translation id="532046782124376502">హెచ్చరిక: Google Chrome మీ బ్రౌజింగ్ చరిత్రను రికార్డ్ చేయకుండా ఎక్స్‌టెన్ష‌న్‌లను నివారించలేదు. ఈ ఎక్స్‌టెన్ష‌న్‌ను అజ్ఞాత మోడ్‌లో నిలిపివేయడానికి, ఈ ఎంపికను రద్దు చేయండి.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome డెవలపర్</translation>
 <translation id="7573289029918943991">మీ పరికరం అప్‌డేట్ చేయబడి ఉందని చూడటానికి <ph name="LINK_BEGIN" />Chrome OS సెట్టింగ్‌లు<ph name="LINK_END" />కు వెళ్లండి</translation>
 <translation id="7589360514048265910">Mac OS X 10.9కు మద్దతు లేనందున ఈ కంప్యూటర్ ఇకపై Google Chrome అప్‌డేట్‌లను స్వీకరించదు.</translation>
-<translation id="7591404275842302616">ఈ పరికరంలో మీ బ్రౌజింగ్‌ను క్రమబద్ధంగా ఉంచడానికి Chrome స్పేస్‌లను ఉపయోగించండి</translation>
 <translation id="7592736734348559088">మీ ఖాతా సైన్-ఇన్ వివరాల గడువు ముగిసినందున Google Chrome మీ డేటాను సింక్ చేయలేకపోయింది.</translation>
 <translation id="7626032353295482388">Chromeకు స్వాగతం</translation>
 <translation id="7629695634924605473">మీ పాస్‌వర్డ్‌లు ఎప్పుడైనా హ్యాక్ అయితే, Chrome మీకు తెలియచేస్తుంది</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome కాలం చెల్లినది</translation>
 <translation id="8834965163890861871">పాస్‌వర్డ్‌లను ఎడిట్ చేయడానికి Google Chrome ప్రయత్నిస్తోంది. దీన్ని అనుమతించడానికి మీ Windows పాస్‌వర్డ్‌ను టైప్ చేయండి.</translation>
 <translation id="884296878221830158">ఇది మీరు Chromeను ప్రారంభించేటప్పుడు లేదా హోమ్ బటన్‌ను క్లిక్ చేసేటప్పుడు చూపబడే పేజీని కూడా నియంత్రిస్తుంది.</translation>
-<translation id="8859948767482842016"><ph name="EXISTING_USER" /> ప్రదేశంలో కార్యాలయ ఖాతాతో మీరు సైన్ ఇన్ చేశారు. మీ డేటాను వేరుగా సేవ్ చేయడానికి <ph name="WORK_DOMAIN" /> కోసం కొత్త Chrome ప్రదేశాన్ని క్రియేట్ చేయాలనుకుంటున్నారా?</translation>
 <translation id="8862326446509486874">సిస్టమ్-స్థాయిలో ఇన్‌స్టాల్‌ చేయ‌డానికి మీకు సరైన హక్కులు లేవు. నిర్వాహకుడి లాగా ఇన్‌స్టాలర్‌ను మ‌ళ్లీ రన్ చేయ‌డానికి ప్రయత్నించండి.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> కోసం కొత్త Chrome ప్రదేశాన్ని క్రియేట్ చేయాలా?</translation>
 <translation id="8914504000324227558">Chromeను పునఃప్రారంభించు</translation>
 <translation id="8999208279178790196">{0,plural, =0{ఒక Chrome అప్‌డేట్ అందుబాటులో ఉంది}=1{ఒక Chrome అప్‌డేట్ అందుబాటులో ఉంది}other{ఒక Chrome అప్‌డేట్ # రోజులుగా అందుబాటులో ఉంది}}</translation>
 <translation id="9026991721384951619">మీ ఖాతా సైన్-ఇన్ వివరాల గడువు ముగిసినందున Chrome OS మీ డేటాను సింక్ చేయ‌లేకపోయింది.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_th.xtb b/chrome/app/resources/google_chrome_strings_th.xtb
index 4c1b381..2b1afa4 100644
--- a/chrome/app/resources/google_chrome_strings_th.xtb
+++ b/chrome/app/resources/google_chrome_strings_th.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome เบต้า (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome ล้าสมัย</translation>
 <translation id="1919130412786645364">อนุญาตให้ลงชื่อเข้าใช้ Chrome</translation>
-<translation id="195645108406520445">ตั้งค่า Chrome Space ใหม่</translation>
 <translation id="2063848847527508675">ต้องรีสตาร์ท Chrome OS เพื่อใช้การอัปเดต</translation>
 <translation id="2094919256425865063">ปิด Chrome ใช่ไหม</translation>
 <translation id="2120620239521071941">การดำเนินการนี้จะลบ <ph name="ITEMS_COUNT" /> รายการออกจากอุปกรณ์นี้ หากต้องการดึงข้อมูลภายหลัง ให้ลงชื่อเข้าใช้ Chrome ด้วย <ph name="USER_EMAIL" /></translation>
 <translation id="2123055963409958220">ช่วยให้ Chrome ดียิ่งขึ้นด้วยการรายงาน<ph name="BEGIN_LINK" />การตั้งค่าปัจจุบัน<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">โปรดรีสตาร์ท Chrome ตอนนี้เลย</translation>
 <translation id="2246246234298806438">Google Chrome ไม่สามารถแสดงหน้าตัวอย่างก่อนพิมพ์หากไม่มีโปรแกรมดู PDF ในตัว</translation>
-<translation id="226038281051944330">คุณลงชื่อเข้าใช้ด้วยบัญชีใหม่ในพื้นที่ของ <ph name="EXISTING_USER" /> คุณต้องการสร้างพื้นที่ใหม่ใน Chrome เพื่อให้ <ph name="NEW_USER" /> เก็บข้อมูลของคุณแยกไว้ต่างหากไหม</translation>
 <translation id="2290014774651636340">คีย์ API ของ Google หายไป การทำงานบางอย่างของ Google Chrome จะถูกปิดใช้งาน</translation>
 <translation id="2290095356545025170">คุณแน่ใจหรือไม่ว่าต้องการยกเลิกการติดตั้ง Google Chrome</translation>
 <translation id="2309047409763057870">นี่เป็นการติดตั้ง Google Chrome แบบสำรอง และไม่สามารถใช้เป็นเบราว์เซอร์เริ่มต้นของคุณ</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Google Chrome มีรุ่นใหม่ที่ปลอดภัยกว่าให้ใช้งานแล้ว</translation>
 <translation id="3127818369811890733">Chrome OS ซิงค์ข้อมูลของคุณไม่ได้</translation>
 <translation id="3149510190863420837">แอป Chrome</translation>
-<translation id="3351117925998652957">เลือก Chrome Space</translation>
 <translation id="3360895254066713204">ตัวช่วยเหลือของ Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome จะเปิดขึ้นมาใหม่ตอนนี้}=1{Chrome จะเปิดขึ้นมาใหม่ใน 1 วินาที}other{Chrome จะเปิดขึ้นมาใหม่ใน # วินาที}}</translation>
 <translation id="3395323229510056640">รับความช่วยเหลือเกี่ยวกับ Chrome OS</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">โปรดปิดหน้าต่าง Google Chrome ทั้งหมดและลองใหม่อีกครั้ง</translation>
 <translation id="3865754807470779944">ติดตั้ง Chrome เวอร์ชัน <ph name="PRODUCT_VERSION" /> ไว้แล้ว</translation>
 <translation id="3873044882194371212">เปิดลิงก์ในหน้าต่างที่ไม่ระบุตัวตนของ Chrome</translation>
-<translation id="3879568094278837081">ระบบจะลบข้อมูลการท่องเว็บของ Space นี้ออกจากอุปกรณ์เครื่องนี้ หากต้องการกู้ข้อมูลคืน ให้ลงชื่อเข้าใช้ Chrome ในชื่อ</translation>
 <translation id="3889417619312448367">ยกเลิกการติดตั้ง Google Chrome</translation>
 <translation id="4050175100176540509">การปรับปรุงด้านความปลอดภัยที่สำคัญและฟีเจอร์ใหม่ๆ พร้อมให้บริการในเวอร์ชันล่าสุด</translation>
 <translation id="4053720452172726777">กำหนดค่าและควบคุม Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">เปิดลิงก์ใน Chrome แท็บใหม่</translation>
 <translation id="4953650215774548573">ตั้ง Google Chrome เป็นเบราว์เซอร์เริ่มต้นของคุณ</translation>
 <translation id="495931528404527476">ใน Chrome</translation>
-<translation id="4960472897514318257">คุณลงชื่อเข้าใช้ด้วยบัญชีงาน คุณต้องการสร้างพื้นที่ใหม่ใน Chrome เพื่อให้ <ph name="NEW_USER" /> เก็บข้อมูลส่วนตัวของคุณแยกไว้ต่างหากไหม</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">รีสตาร์ท Chrome OS</translation>
 <translation id="5132929315877954718">พบกับแอป เกม ส่วนขยาย และธีมเด็ดๆ สำหรับ Google Chrome</translation>
 <translation id="5170938038195470297">โปรไฟล์ของคุณไม่สามารถใช้ได้เพราะมาจากรุ่นที่ใหม่กว่าของ Google Chrome ฟีเจอร์บางอย่างอาจจะไม่พร้อมใช้งาน โปรดระบุไดเรกทอรีของโปรไฟล์อื่นหรือใช้ Chrome รุ่นที่ใหม่กว่า</translation>
-<translation id="5171117065011130146">สร้างพื้นที่งานใหม่ใน Chrome ไหม</translation>
 <translation id="5193136243808726294">Google Chrome OS ไม่สามารถเปิดหน้านี้</translation>
 <translation id="5251420635869119124">ผู้เยี่ยมชมสามารถใช้ Chrome ได้โดยไม่ทิ้งร่องรอยไว้</translation>
 <translation id="532046782124376502">คำเตือน: Google Chrome ไม่สามารถป้องกันไม่ให้ส่วนขยายบันทึกประวัติการเข้าชม หากต้องการปิดใช้ส่วนขยายนี้ในโหมดไม่ระบุตัวตน ให้ยกเลิกการเลือกตัวเลือกนี้</translation>
@@ -213,7 +207,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">หากต้องการดูว่าอุปกรณ์เป็นเวอร์ชันล่าสุดแล้วหรือไม่ ให้ไปที่<ph name="LINK_BEGIN" />การตั้งค่า Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">คอมพิวเตอร์เครื่องนี้จะไม่ได้รับการอัปเดตจาก Google Chrome อีก เนื่องจากระบบไม่รองรับ Mac OS X 10.9 แล้ว</translation>
-<translation id="7591404275842302616">ใช้ Chrome Space เพื่อจัดระเบียบการท่องเว็บในอุปกรณ์นี้</translation>
 <translation id="7592736734348559088">Google Chrome ไม่สามารถซิงค์ข้อมูลของคุณเนื่องจากรายละเอียดการลงชื่อเข้าใช้บัญชีของคุณล้าสมัย</translation>
 <translation id="7626032353295482388">ยินดีต้อนรับสู่ Chrome</translation>
 <translation id="7629695634924605473">Chrome จะแจ้งให้ทราบหากมีคนล่วงรู้รหัสผ่านของคุณ</translation>
@@ -260,9 +253,7 @@
 <translation id="8823341990149967727">Chrome ล้าสมัย</translation>
 <translation id="8834965163890861871">Google Chrome กำลังพยายามแก้ไขรหัสผ่าน โปรดพิมพ์รหัสผ่าน Windows ของคุณเพื่ออนุญาต</translation>
 <translation id="884296878221830158">อีกทั้งยังควบคุมหน้าที่จะแสดงเมื่อคุณเปิด Chrome หรือคลิกปุ่ม "หน้าแรก"</translation>
-<translation id="8859948767482842016">คุณลงชื่อเข้าใช้ด้วยบัญชีงานในพื้นที่ของ <ph name="EXISTING_USER" /> คุณต้องการสร้างพื้นที่ใหม่ใน Chrome เพื่อให้ <ph name="WORK_DOMAIN" /> เก็บข้อมูลของคุณแยกไว้ต่างหากไหม</translation>
 <translation id="8862326446509486874">คุณไม่มีสิทธิ์ในการติดตั้งระดับระบบ ทดลองใช้งานโปรแกรมติดตั้งอีกครั้งโดยกำหนดให้เป็นผู้ดูแลระบบ</translation>
-<translation id="8877586659207810298">สร้างพื้นที่ใหม่ใน Chrome สำหรับ <ph name="NEW_USER" /> ไหม</translation>
 <translation id="8914504000324227558">เปิด Chrome ขึ้นใหม่</translation>
 <translation id="8999208279178790196">{0,plural, =0{มีอัปเดต Chrome พร้อมให้ใช้งาน}=1{มีอัปเดต Chrome พร้อมให้ใช้งาน}other{อัปเดต Chrome พร้อมให้ใช้งานมาแล้ว # วัน}}</translation>
 <translation id="9026991721384951619">Chrome OS ไม่สามารถซิงค์ข้อมูลของคุณเนื่องจากรายละเอียดการลงชื่อเข้าใช้บัญชีของคุณล้าสมัย</translation>
diff --git a/chrome/app/resources/google_chrome_strings_tr.xtb b/chrome/app/resources/google_chrome_strings_tr.xtb
index 3bcc7e3..45f7c49 100644
--- a/chrome/app/resources/google_chrome_strings_tr.xtb
+++ b/chrome/app/resources/google_chrome_strings_tr.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome sürümü eski</translation>
 <translation id="1919130412786645364">Chrome'da oturum açmaya izin verin</translation>
-<translation id="195645108406520445">Yeni Chrome Alanınızı oluşturma</translation>
 <translation id="2063848847527508675">Güncellemenin uygulanması için Chrome OS yeniden başlatılmalıdır.</translation>
 <translation id="2094919256425865063">Yine de Chrome'dan çıkılsın mı?</translation>
 <translation id="2120620239521071941">Bu işlem, <ph name="ITEMS_COUNT" /> öğeyi bu cihazdan silecektir. Verilerinizi daha sonra geri almak için Chrome'da <ph name="USER_EMAIL" /> hesabıyla oturum açın.</translation>
 <translation id="2123055963409958220"><ph name="BEGIN_LINK" />Mevcut ayarlarınızı<ph name="END_LINK" /> bildirerek Chrome'u daha iyi hale getirmemize yardımcı olun</translation>
 <translation id="2151406531797534936">Lütfen Chrome'u şimdi yeniden başlatın</translation>
 <translation id="2246246234298806438">Google Chrome, dahili PDF görüntüleyici yokken baskı önizlemeyi gösteremez.</translation>
-<translation id="226038281051944330"><ph name="EXISTING_USER" /> adlı kullanıcının alanında yeni bir hesapla oturum açtınız. Verilerinizi ayrı tutmak amacıyla, <ph name="NEW_USER" /> için yeni bir Chrome alanı oluşturmak ister misiniz?</translation>
 <translation id="2290014774651636340">Google API anahtarları eksik. Google Chrome'un bazı işlevleri devre dışı bırakılacak.</translation>
 <translation id="2290095356545025170">Google Chrome'u kaldırmak istediğinizden emin misiniz?</translation>
 <translation id="2309047409763057870">Bu, Google Chrome'un ikincil bir yüklemesidir ve varsayılan tarayıcınız yapılamaz.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Google Chrome'un kullanabileceğiniz yeni, daha güvenli bir sürümü var.</translation>
 <translation id="3127818369811890733">Chrome OS verilerinizi senkronize edemedi.</translation>
 <translation id="3149510190863420837">Chrome Uygulamaları</translation>
-<translation id="3351117925998652957">Chrome Alanınızı seçin</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome şimdi yeniden başlatılacak}=1{Chrome 1 saniye içinde yeniden başlatılacak}other{Chrome # saniye içinde yeniden başlatılacak}}</translation>
 <translation id="3395323229510056640">Chrome OS ile ilgili yardım alın</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Lütfen tüm Google Chrome pencerelerini kapatıp tekrar deneyin.</translation>
 <translation id="3865754807470779944">Chrome sürümü <ph name="PRODUCT_VERSION" /> yüklendi</translation>
 <translation id="3873044882194371212">Bağlantıyı Chrome &amp;gizli penceresinde aç</translation>
-<translation id="3879568094278837081">Bu kullanıcının göz atma verileri bu cihazdan silinecektir. Verileri kurtarmak için Chrome'da şu hesapla oturum açın:</translation>
 <translation id="3889417619312448367">Google Chrome'u Kaldır</translation>
 <translation id="4050175100176540509">Son sürümde güvenlikle ilgili önemli iyileştirmeler ve yeni özellikler mevcuttur.</translation>
 <translation id="4053720452172726777">Google Chrome'u özelleştirin ve kontrol edin</translation>
@@ -143,14 +139,12 @@
 <translation id="4895437082222824641">Bağlantıyı yeni Chrome &amp;sekmesinde aç</translation>
 <translation id="4953650215774548573">Google Chrome'u varsayılan tarayıcım olarak ayarla</translation>
 <translation id="495931528404527476">Chrome'da</translation>
-<translation id="4960472897514318257">İş hesabıyla oturum açtınız. Kişisel verilerinizi ayrı tutmak amacıyla, <ph name="NEW_USER" /> için yeni bir Chrome alanı oluşturmak ister misiniz?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS'i yeniden başlat</translation>
 <translation id="5132929315877954718">Google Chrome'a özgü harika uygulamaları, oyunları, uzantıları ve temaları keşfedin.</translation>
 <translation id="5170938038195470297">Profiliniz daha yeni bir Google Chrome sürümünden geldiği için kullanılamıyor.
 
 Bazı özellikler kullanılamayabilir. Lütfen farklı bir profil dizini belirtin veya daha yeni bir Chrome sürümü kullanın.</translation>
-<translation id="5171117065011130146">Yeni Chrome İş alanı oluşturulsun mu?</translation>
 <translation id="5193136243808726294">Google Chrome OS bu sayfayı açamıyor.</translation>
 <translation id="5251420635869119124">Misafirler Chrome'u geride hiçbir şey bırakmadan kullanabilirler.</translation>
 <translation id="532046782124376502">Uyarı: Google Chrome, uzantıların göz atma geçmişinizi kaydetmesini önleyemez. Gizli modda bu uzantıyı devre dışı bırakmak için bu seçeneğin onay işaretini kaldırın.</translation>
@@ -216,7 +210,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Cihazınızın güncel olup olmadığını görmek için <ph name="LINK_BEGIN" />Chrome OS Ayarları<ph name="LINK_END" />'na gidin</translation>
 <translation id="7589360514048265910">Mac OS X 10.9 artık desteklenmediğinden, bu bilgisayar artık Google Chrome güncellemelerini almayacak.</translation>
-<translation id="7591404275842302616">Bu cihazda göz atma geçmişinizi düzenli tutmak için Chrome Alanları'nı kullanın</translation>
 <translation id="7592736734348559088">Hesap oturum açma ayrıntılarınız güncel olmadığından Google Chrome, verilerinizi senkronize edemedi.</translation>
 <translation id="7626032353295482388">Chrome'a Hoş Geldiniz</translation>
 <translation id="7629695634924605473">Chrome, şifrelerinizin güvenliğinin ihlal edilip edilmediğini size bildirir</translation>
@@ -263,9 +256,7 @@
 <translation id="8823341990149967727">Chrome Sürümü Eski</translation>
 <translation id="8834965163890861871">Google Chrome şifreleri düzenlemeye çalışıyor. Buna izin vermek için Windows şifrenizi yazın.</translation>
 <translation id="884296878221830158">Ayrıca Chrome'u başlattığınızda veya Ana Sayfa düğmesini tıkladığınızda gösterilecek sayfayı da denetler.</translation>
-<translation id="8859948767482842016"><ph name="EXISTING_USER" /> adlı kullanıcının alanında bir İş hesabıyla oturum açtınız. Verilerinizi ayrı tutmak amacıyla, <ph name="WORK_DOMAIN" /> için yeni bir Chrome alanı oluşturmak ister misiniz?</translation>
 <translation id="8862326446509486874">Sistem düzeyinde yükleme için gerekli haklara sahip değilsiniz. Yükleyiciyi Yönetici olarak tekrar çalıştırmayı deneyin.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> için yeni Chrome alanı oluşturulsun mu?</translation>
 <translation id="8914504000324227558">Chrome'u Yeniden Başlat</translation>
 <translation id="8999208279178790196">{0,plural, =0{Bir Chrome güncellemesi var}=1{Bir Chrome güncellemesi var}other{# gün önce kullanıma sunulmuş bir Chrome güncellemesi var}}</translation>
 <translation id="9026991721384951619">Hesap oturum açma ayrıntılarınız güncel olmadığından Chrome OS, verilerinizi senkronize edemedi.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_uk.xtb b/chrome/app/resources/google_chrome_strings_uk.xtb
index ca3a5bd..552e194 100644
--- a/chrome/app/resources/google_chrome_strings_uk.xtb
+++ b/chrome/app/resources/google_chrome_strings_uk.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Бета-версія Google Chrome (mDNS-In)</translation>
 <translation id="1877026089748256423">Версія Chrome застаріла</translation>
 <translation id="1919130412786645364">Дозволити вхід у Chrome</translation>
-<translation id="195645108406520445">Налаштуйте свій новий профіль Chrome</translation>
 <translation id="2063848847527508675">Щоб застосувати це оновлення, потрібно перезапустити ОС Chrome.</translation>
 <translation id="2094919256425865063">Усе одно вийти з Chrome?</translation>
 <translation id="2120620239521071941">З цього пристрою буде видалено стільки елементів: <ph name="ITEMS_COUNT" />. Щоб відновити дані пізніше, увійдіть в обліковий запис Chrome як <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Допоможіть покращити Chrome, надсилаючи звіти про <ph name="BEGIN_LINK" />поточні налаштування<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Перезапустіть Chrome</translation>
 <translation id="2246246234298806438">Google Chrome не може відобразити попередній перегляд версії для друку, якщо немає вбудованого переглядача PDF.</translation>
-<translation id="226038281051944330">Ви ввійшли в новий обліковий запис у профілі, яким користується <ph name="EXISTING_USER" />. Створити новий профіль Chrome, яким користуватиметься <ph name="NEW_USER" />, щоб зберігати ваші дані окремо?</translation>
 <translation id="2290014774651636340">Ключі API Google відсутні. Деякі функції Google Chrome буде вимкнено.</translation>
 <translation id="2290095356545025170">Ви дійсно хочете видалити Google Chrome?</translation>
 <translation id="2309047409763057870">Це додаткове встановлення Google Chrome. Його не можна зробити вашим веб-переглядачем за умовчанням.</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Доступна нова, безпечніша версія Google Chrome.</translation>
 <translation id="3127818369811890733">ОС Chrome не вдалося синхронізувати ваші дані.</translation>
 <translation id="3149510190863420837">Додатки Chrome</translation>
-<translation id="3351117925998652957">Виберіть свій профіль Chrome</translation>
 <translation id="3360895254066713204">Помічник Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome перезапуститься зараз}=1{Chrome перезапуститься через 1 секунду}one{Chrome перезапуститься через # секунду}few{Chrome перезапуститься через # секунди}many{Chrome перезапуститься через # секунд}other{Chrome перезапуститься через # секунди}}</translation>
 <translation id="3395323229510056640">Отримати довідку щодо ОС Chrome</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">Закрийте всі вікна Google Chrome і повторіть спробу.</translation>
 <translation id="3865754807470779944">Chrome версії <ph name="PRODUCT_VERSION" /> встановлено</translation>
 <translation id="3873044882194371212">Відкрити посилання в аноні&amp;мному вікні Chrome</translation>
-<translation id="3879568094278837081">Дані веб-перегляду буде видалено з цього пристрою. Щоб відновити їх, увійдіть в обліковий запис Chrome як</translation>
 <translation id="3889417619312448367">Видалити Google Chrome</translation>
 <translation id="4050175100176540509">В останній версії покращено безпеку та додано нові функції.</translation>
 <translation id="4053720452172726777">Налаштування та керування Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">Відкрити посилання в новій &amp;вкладці Chrome</translation>
 <translation id="4953650215774548573">Зробити Google Chrome веб-переглядачем за умовчанням</translation>
 <translation id="495931528404527476">У Chrome</translation>
-<translation id="4960472897514318257">Ви ввійшли в робочий обліковий запис. Створити новий профіль Chrome, яким користуватиметься <ph name="NEW_USER" />, щоб зберігати ваші персональні дані окремо?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Перезапустіть ОС Chrome</translation>
 <translation id="5132929315877954718">Знаходьте чудові додатки, ігри, розширення й теми для Google Chrome.</translation>
 <translation id="5170938038195470297">Ваш профіль не можна використати, оскільки його створено в новішій версії Google Chrome. Деякі функції можуть бути недоступними. Укажіть інший каталог профілю чи скористайтеся новішою версією Chrome.</translation>
-<translation id="5171117065011130146">Створити новий робочий профіль Chrome?</translation>
 <translation id="5193136243808726294">Неможливо відкрити цю сторінку в ОС Google Chrome.</translation>
 <translation id="5251420635869119124">Гості можуть анонімно користуватися Chrome.</translation>
 <translation id="532046782124376502">Застереження. Google Chrome не може заборонити розширенням реєструвати історію веб-перегляду. Щоб розширення не працювало в режимі анонімного перегляду, зніміть прапорець біля цієї опції.</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Версія Google Chrome для розробників</translation>
 <translation id="7573289029918943991">Щоб дізнатися, чи пристрій використовує актуальну версію операційної системи, перейдіть у <ph name="LINK_BEGIN" />налаштування ОС Chrome<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">На цей комп’ютер більше не надходитимуть оновлення Google Chrome, оскільки ОС Mac X 10.9 уже не підтримується.</translation>
-<translation id="7591404275842302616">Користуйтеся профілями Chrome, щоб упорядкувати свій веб-перегляд на цьому пристрої</translation>
 <translation id="7592736734348559088">Google Chrome не вдалося синхронізувати ваші дані, оскільки дані для входу в обліковий запис застаріли.</translation>
 <translation id="7626032353295482388">Вітаємо у Chrome!</translation>
 <translation id="7629695634924605473">Chrome повідомляє, коли ваші паролі зламують</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Версія Chrome застаріла</translation>
 <translation id="8834965163890861871">Google Chrome намагається змінити паролі. Щоб дозволити, введіть свій пароль Windows.</translation>
 <translation id="884296878221830158">Розширення також змінило сторінку, яка відкривається під час запуску Chrome або натискання кнопки "Домашня сторінка".</translation>
-<translation id="8859948767482842016">Ви ввійшли в робочий обліковий запис у профілі, яким користується <ph name="EXISTING_USER" />. Створити новий профіль Chrome для домену <ph name="WORK_DOMAIN" />, щоб зберігати ваші дані окремо?</translation>
 <translation id="8862326446509486874">У вас немає відповідних прав для встановлення на рівні системи. Спробуйте запустити програму встановлення, увійшовши з правами адміністратора.</translation>
-<translation id="8877586659207810298">Створити новий профіль Chrome, яким користуватиметься <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Перезапустити Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Доступне оновлення Chrome}=1{Доступне оновлення Chrome}one{Оновлення Chrome доступне вже # день}few{Оновлення Chrome доступне вже # дні}many{Оновлення Chrome доступне вже # днів}other{Оновлення Chrome доступне вже # дня}}</translation>
 <translation id="9026991721384951619">ОС Chrome не вдалося синхронізувати ваші дані, оскільки дані для входу в обліковий запис застаріли.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ur.xtb b/chrome/app/resources/google_chrome_strings_ur.xtb
index 31b61cae..10b0a276 100644
--- a/chrome/app/resources/google_chrome_strings_ur.xtb
+++ b/chrome/app/resources/google_chrome_strings_ur.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">‏Google Chrome بی ٹا (mDNS-In)</translation>
 <translation id="1877026089748256423">‏Chrome پرانا ہے</translation>
 <translation id="1919130412786645364">‏Chrome میں سائن ان کی اجازت دیں</translation>
-<translation id="195645108406520445">‏اپنی نئی Chrome اسپیس سیٹ اپ کریں</translation>
 <translation id="2063848847527508675">‏اپ ڈیٹ لاگو کرنے کیلئے Chrome OS کو دوبارہ شروع کرنے کی ضرورت ہے۔</translation>
 <translation id="2094919256425865063">‏بہر حال Chrome بند کریں؟</translation>
 <translation id="2120620239521071941">‏یہ اس آلہ سے <ph name="ITEMS_COUNT" /> آئٹمز کو حذف کر دے گا۔ بعد میں اپنے ڈیٹا کی بازیافت کرنے کیلئے، Chrome میں <ph name="USER_EMAIL" /> کے بطور سائن ان کریں۔</translation>
 <translation id="2123055963409958220">‏<ph name="BEGIN_LINK" />موجودہ ترتیبات<ph name="END_LINK" /> کی اطلاع دے کر Chrome کو بہتر بنانے میں مدد کریں</translation>
 <translation id="2151406531797534936">‏براہ کرم ابھی Chrome دوبارہ شروع کریں</translation>
 <translation id="2246246234298806438">‏پہلے سے شامل PDF ناظر غائب ہونے پر Google Chrome پرنٹ پیش منظر کو نہیں دکھا سکتا ہے۔</translation>
-<translation id="226038281051944330">‏آپ <ph name="EXISTING_USER" /> کی اسپیس میں ایک نئے اکاؤنٹ سے سائن ان ہیں۔ کیا آپ اپنے ڈیٹا کو الگ رکھنے کی خاطر <ph name="NEW_USER" /> کیلئے ایک نئی Chrome اسپیس تخلیق کرنا چاہیں گے؟</translation>
 <translation id="2290014774651636340">‏Google API کلیدیں چھوٹی ہوئی ہیں۔ Google Chrome کی کچھ فعالیت غیر فعال ہو جائے گی۔</translation>
 <translation id="2290095356545025170">‏کیا آپ واقعی Google Chrome کو ان انسٹال کرنا چاہتے ہیں؟</translation>
 <translation id="2309047409763057870">‏یہ Google Chrome کا ثانوی انسٹالیشن ہے اور اسے آپ کا ڈیفالٹ براؤزر نہیں بنایا جا سکتا ہے۔</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">‏Google Chrome کا ایک نیا، محفوظ تر ورژن دستیاب ہے۔</translation>
 <translation id="3127818369811890733">‏Chrome OS آپ کے ڈیٹا کی مطابقت پذیری نہیں کر سکا۔</translation>
 <translation id="3149510190863420837">‏Chrome ایپس</translation>
-<translation id="3351117925998652957">‏اپنا Chrome اسپیس منتخب کریں</translation>
 <translation id="3360895254066713204">‏Chrome مدد کنندہ</translation>
 <translation id="3379938682270551431">{0,plural, =0{‏ابھی Chrome دوبارہ لانچ ہوگا}=1{‏1 سیکنڈ میں Chrome دوبارہ لانچ ہوگا}other{‏# سیکنڈ میں Chrome دوبارہ لانچ ہوگا}}</translation>
 <translation id="3395323229510056640">‏Chromium OS کے بارے میں مدد حاصل کریں</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">‏براہ کرم سبھی Google Chrome ونڈوز بند کریں اور دوبارہ کوشش کریں۔</translation>
 <translation id="3865754807470779944">‏Chrome ورژن <ph name="PRODUCT_VERSION" /> انسٹال نہیں ہے</translation>
 <translation id="3873044882194371212">‏لنک کو Chrome &amp;پوشیدگی ونڈو میں کھولیں</translation>
-<translation id="3879568094278837081">‏اس جگہ کا براؤزنگ ڈیٹا اس آلہ سے حذف ہو جائے گا۔ ڈیٹا بحال کرنے کیلئے، Chrome میں سائن ان کریں بطور</translation>
 <translation id="3889417619312448367">‏Google Chrome کو اَن انسٹال کریں</translation>
 <translation id="4050175100176540509">اہم سیکیورٹی اصلاحات اور نئی خصوصیات تازہ ترین ورژن میں دستیاب ہیں۔</translation>
 <translation id="4053720452172726777">‏Google Chrome کو حسب ضرورت بنائیں اور کنٹرول کریں</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">‏لنک کو نئے Chrome &amp;ٹیب میں کھولیں</translation>
 <translation id="4953650215774548573">‏Google Chrome کو اپنے ڈیفالٹ براؤزر کے بطور سیٹ کریں</translation>
 <translation id="495931528404527476">‏Chrome میں</translation>
-<translation id="4960472897514318257">‏آپ نے ایک دفتری اکاؤنٹ سے سائن ان کیا ہے۔ کیا آپ اپنے ذاتی ڈیٹا کو الگ رکھنے کی خاطر <ph name="NEW_USER" /> کیلئے ایک نئی Chrome اسپیس تخلیق کرنا چاہیں گے؟</translation>
 <translation id="4990567037958725628">‏Google Chrome کینیری</translation>
 <translation id="5062123544085870375">‏Chrome OS کو ری سٹارٹ کریں</translation>
 <translation id="5132929315877954718">‏Google Chrome کیلئے زبردست اطلاقات، گیمز، ایکسٹینشنز اور تھیمز کو دریافت کریں۔</translation>
 <translation id="5170938038195470297">‏آپ کا پروفائل استعمال نہیں کیا جا سکتا ہے کیونکہ یہ Google Chrome کے ایک جدید تر ورژن سے ہے۔
 
 ممکن ہے کچھ خصوصیات دستیاب نہ ہوں۔ براہ کرم ایک مختلف پروفائل ڈائرکٹری کا تعین کریں یا Chrome کا ایک جدید تر ورژن استعمال کریں۔</translation>
-<translation id="5171117065011130146">‏Chrome پر کام کی ایک نئی اسپیس بنائیں؟</translation>
 <translation id="5193136243808726294">‏Google Chrome OS یہ صفحہ نہیں کھول سکتا ہے۔</translation>
 <translation id="5251420635869119124">‏مہمان کسی چیز کو پیچھے چھوڑے بغیر Chrome کو استعمال کر سکتے ہیں۔</translation>
 <translation id="532046782124376502">‏وارننگ: Google Chrome ایکسٹینشنز کو آپ کی براؤزنگ سرگزشت ریکارڈ کرنے سے نہیں روک سکتا ہے۔ اس ایکسٹینشن کو پوشیدگی وضع میں غیر فعال کرنے کے لیے، اس اختیار کو غیر منتخب کریں۔</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">‏یہ دیکھنے کی لیے کہ کیا آپ کا آلہ اپ ٹو ڈیٹ ہے، <ph name="LINK_BEGIN" />Chromium OS کی ترتیبات<ph name="LINK_END" /> پر جائیں</translation>
 <translation id="7589360514048265910">‏یہ کمپیوٹر اب Google Chrome اپ ڈيٹس موصول نہیں کرے گا کیونکہ Mac OS X 10.9 اب تعاون یافتہ نہیں ہے۔</translation>
-<translation id="7591404275842302616">‏اس آلے پر اپنی براؤزنگ کو منظم رکھنے کے لیےChrome Spaces کا استعمال کریں</translation>
 <translation id="7592736734348559088">‏Google Chrome آپ کے اکاؤنٹ کی سائن ان تفصیلات پرانی ہونے کی وجہ سے آپ کے ڈیٹا کی مطابقت پذیری نہیں کر سکا۔</translation>
 <translation id="7626032353295482388">‏Chrome میں خوش آمدید</translation>
 <translation id="7629695634924605473">‏Chrome آپ کو بتاتا ہے کہ آیا آپ کے پاس ورڈز کے ساتھ کبھی چھیڑ چھاڑ کی گئی ہے</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">‏Chrome پرانا ہے</translation>
 <translation id="8834965163890861871">‏Google Chrome پاس ورڈز میں ترمیم کرنے کی کوشش کر رہا ہے۔ اس کی اجازت دینے کے لیے اپنا Windows پاس ورڈ ٹائپ کریں۔</translation>
 <translation id="884296878221830158">‏یہ آپ کی جانب سے Chrome شروع کرنے یا ہوم بٹن کلک کرنے پر دکھائی دینے والے صفحہ کو بھی کنٹرول کرتا ہے۔</translation>
-<translation id="8859948767482842016">‏آپ <ph name="EXISTING_USER" /> کی اسپیس میں ایک دفتری اکاؤنٹ سے سائن ان ہیں۔ کیا آپ اپنے ڈیٹا کو الگ رکھنے کی خاطر <ph name="WORK_DOMAIN" /> کیلئے ایک نئی Chrome اسپیس تخلیق کرنا چاہیں گے؟</translation>
 <translation id="8862326446509486874">سسٹم کی سطح پر انسٹال کرنے کیلئے آپ کے پاس مناسب حقوق نہیں ہیں۔ انسٹالر کو دوبارہ منتظم کے بطور چلانے کی کوشش کریں۔</translation>
-<translation id="8877586659207810298">‏<ph name="NEW_USER" /> کیلئے نئی Chrome اسپیس تخلیق کریں؟</translation>
 <translation id="8914504000324227558">‏Chrome کو دوبارہ شروع کریں</translation>
 <translation id="8999208279178790196">{0,plural, =0{‏Chrome کا اپ ڈیٹ دستیاب ہے}=1{‏Chrome کا اپ ڈیٹ دستیاب ہے}other{‏Chrome کا اپ ڈیٹ # دن سے دستیاب ہے}}</translation>
 <translation id="9026991721384951619">‏Chrome OS آپ کے اکاؤنٹ کی سائن ان تفصیلات پرانی ہونے کی وجہ سے آپ کے ڈیٹا کی مطابقت پذیری نہیں کر سکا۔</translation>
diff --git a/chrome/app/resources/google_chrome_strings_uz.xtb b/chrome/app/resources/google_chrome_strings_uz.xtb
index 837eede4..10f4055d 100644
--- a/chrome/app/resources/google_chrome_strings_uz.xtb
+++ b/chrome/app/resources/google_chrome_strings_uz.xtb
@@ -38,14 +38,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome versiyasi eskirdi</translation>
 <translation id="1919130412786645364">Chrome hisobiga kirishga ruxsat berish</translation>
-<translation id="195645108406520445">Yangi Chrome Space profilingizni sozlang</translation>
 <translation id="2063848847527508675">Yangilov o‘rnatilishi uchun Chrome OS qaytadan ishga tushirilishi kerak.</translation>
 <translation id="2094919256425865063">Chrome baribir yopilsinmi?</translation>
 <translation id="2120620239521071941">Ushbu qurilmadagi <ph name="ITEMS_COUNT" /> ta element butunlay o‘chiriladi. Ma’lumotlaringizni keyinroq olish uchun Chrome brauzeriga <ph name="USER_EMAIL" /> sifatida kiring.</translation>
 <translation id="2123055963409958220">Chrome brauzerining <ph name="BEGIN_LINK" />joriy sozlamalari<ph name="END_LINK" /> asosida hisobot yuboring va brauzerning ishlashini yaxshilashga yordamlashing</translation>
 <translation id="2151406531797534936">Chromeni hozir qayta ishga tushiring</translation>
 <translation id="2246246234298806438">Agar ichki PDF hujjatlarini ko‘rish dasturi mavjud bo‘lmasa, Google Chrome‘da oldindan ko‘rsatish imkoniyati bo‘lmaydi.</translation>
-<translation id="226038281051944330"><ph name="EXISTING_USER" /> ishchi maydoniga yangi hisob bilan kirgansiz. Axborotlarni alohida saqlash maqsadida <ph name="NEW_USER" /> uchun yangi Chrome maydonini yaratishni istaysizmi?</translation>
 <translation id="2290014774651636340">Google API kalitlari topilmadi. Google Chrome’ning ba’zi funksiyalari o‘chirib qo‘yiladi.</translation>
 <translation id="2290095356545025170">Haqiqatan ham Google Chrome brauzerini o‘chirib tashlamoqchimisiz?</translation>
 <translation id="2309047409763057870">Google Chrome takroran o‘rnatilgan, shuning uchun u asosiy brauzer bo‘la olmaydi.</translation>
@@ -80,7 +78,6 @@
 <translation id="3089968997497233615">Google Chrome brauzerining yangi, yanada xavfsiz versiyasi chiqdi.</translation>
 <translation id="3127818369811890733">Chrome OS tizimidagi maʼlumotlaringiz sinxronlanmadi.</translation>
 <translation id="3149510190863420837">Chrome ilovalari</translation>
-<translation id="3351117925998652957">Chrome profilingizni tanlang</translation>
 <translation id="3360895254066713204">Chrome Helper</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome hozir qayta ishga tushadi}=1{Chrome 1 soniyadan keyin qayta ishga tushadi}other{Chrome # soniyadan keyin qayta ishga tushadi}}</translation>
 <translation id="3395323229510056640">Chrome OS yordam markazi</translation>
@@ -103,7 +100,6 @@
 <translation id="386202838227397562">Barcha Google Chrome oynalarini yoping va qaytadan urinib ko‘ring.</translation>
 <translation id="3865754807470779944">Chrome <ph name="PRODUCT_VERSION" /> versiyasi oʻrnatilgan</translation>
 <translation id="3873044882194371212">Havolani &amp;inkognito oynada ochish</translation>
-<translation id="3879568094278837081">Bu foydalanuvchi brauzerining tarixi ushbu qurilmadan butunlay tozalanadi. Axborotlarni tiklash uchun brauzerga quyidagi foydalanuvchi sifatida kiring:</translation>
 <translation id="3889417619312448367">Google Chrome’ni o‘chirib tashlash</translation>
 <translation id="4050175100176540509">So‘nggi versiyada himoya devori yaxshilandi va yangi funksiyalar qo‘shildi.</translation>
 <translation id="4053720452172726777">Google Chrome’ni sozlash va boshqarish</translation>
@@ -144,14 +140,12 @@
 <translation id="4895437082222824641">&amp;Havolani yangi varaqda ochish</translation>
 <translation id="4953650215774548573">Google Chrome‘ni standart brauzer etib tayinlash</translation>
 <translation id="495931528404527476">Chrome brauzerida</translation>
-<translation id="4960472897514318257">Ishchi hisobingiz bilan kirgansiz. Shaxsiy maʼlumotlaringnizni alohida saqlash maqsadida <ph name="NEW_USER" /> uchun yangi Chrome maydonini yaratishni istaysizmi?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Chrome OS tizimini qayta ishga tushirish</translation>
 <translation id="5132929315877954718">Google Chrome uchun zo‘r ilovalar, o‘yinlar, kengaytmalar va mavzular bilan tanishing.</translation>
 <translation id="5170938038195470297">Profilingizdan foydalanib bo‘lmaydi, chunki u yanada yangiroq Google Chrome versiyasiga ta’luqli.
 
 Ba’zi imkoniyatlar ishlamasligi mumkin. Profilni saqlash uchun boshqa jild tanlang yoki yangiroq Google Chrome versiyasini o‘rnating.</translation>
-<translation id="5171117065011130146">Yangi Chrome ish maydoni yaratilsinmi?</translation>
 <translation id="5193136243808726294">Google Chrome OS bu sahifani ocha olmadi.</translation>
 <translation id="5251420635869119124">Agar tashrif buyurgan saytlaringiz haqidagi ma’lumotlar saqlanmasligini xohlasangiz, Chrome mehmon rejimidan foydalaning.</translation>
 <translation id="532046782124376502">Diqqat: Google Chrome kengaytmalar kezish tarixini yozib olishiga to‘sqinlik qilolmaydi. Bu kengaytmani inkognito rejimida o‘chirish uchun ushbu parametrdan belgini olib tashlang.</translation>
@@ -219,7 +213,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Qurilmangiz tizimi yangilanganligini <ph name="LINK_BEGIN" />Chrome OS sozlamalari<ph name="LINK_END" /> orqali bilish mumkin</translation>
 <translation id="7589360514048265910">Bu kompyuterdagi Google Chrome endi boshqa yangilanmaydi, chunki  Mac OS X 10.9 tizimi uchun ta’minoti to‘xtatilgan.</translation>
-<translation id="7591404275842302616">Bu qurilmada internetni tartibli kezish uchun Chrome profillaridan foydalaning</translation>
 <translation id="7592736734348559088">Hisob ma’lumotlaringiz eskirganligi tufayli sinxronlash amali bajarilmadi.</translation>
 <translation id="7626032353295482388">Chrome brauzeriga xush kelibsiz!</translation>
 <translation id="7629695634924605473">Parollaringiz oshkor etilsa, Chrome bu haqida xabar qiladi</translation>
@@ -266,9 +259,7 @@
 <translation id="8823341990149967727">Chrome versiyasi eskirdi</translation>
 <translation id="8834965163890861871">Google Chrome parollarni tahrirlashga urinmoqda. Ruxsat berish uchun Windows parolingizni kiriting.</translation>
 <translation id="884296878221830158">Bundan tashqari kengaytma Chrome ochilganida yoki Bosh sahifa tugmasi bosilganida qaysi sahifa ko‘rsatilishini nazorat qiladi.</translation>
-<translation id="8859948767482842016"><ph name="EXISTING_USER" /> ishchi maydoniga ishchi hisob bilan kirgansiz. Axborotlarni alohida saqlash maqsadida <ph name="WORK_DOMAIN" /> uchun yangi Chrome maydonini yaratishni istaysizmi?</translation>
 <translation id="8862326446509486874">Sizda tizim darajasida o‘rnatish uchun yetarli ruxsatlar yo‘q. O‘rnatish dasturini administrator nomidan qayta ishga tushiring.</translation>
-<translation id="8877586659207810298"><ph name="NEW_USER" /> uchun yangi Chrome ishchi maydoni yaratilsinmi?</translation>
 <translation id="8914504000324227558">Chrome’ni qayta ishga tushiring</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome uchun yangilanish mavjud}=1{Chrome uchun yangilanish mavjud}other{Chrome uchun yangilanish mavjud (# kun)}}</translation>
 <translation id="9026991721384951619">Hisob ma’lumotlaringiz eskirganligi tufayli sinxronlash amali bajarilmadi.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_vi.xtb b/chrome/app/resources/google_chrome_strings_vi.xtb
index a1e049cd..86e28b0 100644
--- a/chrome/app/resources/google_chrome_strings_vi.xtb
+++ b/chrome/app/resources/google_chrome_strings_vi.xtb
@@ -39,14 +39,12 @@
 <translation id="1874309113135274312">Google Chrome Beta (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome đã lỗi thời</translation>
 <translation id="1919130412786645364">Cho phép đăng nhập vào Chrome</translation>
-<translation id="195645108406520445">Thiết lập Không gian Chrome mới của bạn</translation>
 <translation id="2063848847527508675">Chrome OS cần được khởi động lại để áp dụng bản cập nhật.</translation>
 <translation id="2094919256425865063">Bạn vẫn muốn thoát khỏi Chrome?</translation>
 <translation id="2120620239521071941">Thao tác này sẽ xóa <ph name="ITEMS_COUNT" /> mục khỏi thiết bị này. Để truy xuất dữ liệu của bạn sau, hãy đăng nhập vào Chrome dưới dạng <ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Giúp cải thiện Chrome bằng cách báo cáo <ph name="BEGIN_LINK" />cài đặt hiện tại<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Vui lòng khởi động lại Chrome ngay bây giờ</translation>
 <translation id="2246246234298806438">Google Chrome không thể hiển thị xem trước bản in khi thiếu trình xem PDF được cài sẵn.</translation>
-<translation id="226038281051944330">Bạn đã đăng nhập bằng tài khoản mới trong không gian của <ph name="EXISTING_USER" />. Bạn có muốn tạo một không gian mới trên Chrome cho <ph name="NEW_USER" /> để lưu giữ dữ liệu riêng biệt không?</translation>
 <translation id="2290014774651636340">Khóa API của Google bị thiếu. Một số chức năng của Google Chrome sẽ bị tắt.</translation>
 <translation id="2290095356545025170">Bạn có chắc chắn muốn gỡ cài đặt Google Chrome không?</translation>
 <translation id="2309047409763057870">Đây là cài đặt thứ cấp của Google Chrome và không thể trở thành trình duyệt mặc định của bạn.</translation>
@@ -81,7 +79,6 @@
 <translation id="3089968997497233615">Đã có phiên bản Google Chrome mới và an toàn hơn.</translation>
 <translation id="3127818369811890733">Chrome OS không thể đồng bộ hóa dữ liệu của bạn.</translation>
 <translation id="3149510190863420837">Ứng dụng Chrome</translation>
-<translation id="3351117925998652957">Chọn Không gian Chrome của bạn</translation>
 <translation id="3360895254066713204">Trình trợ giúp của Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome sẽ khởi động lại ngay bây giờ}=1{Chrome sẽ khởi động lại sau 1 giây}other{Chrome sẽ khởi động lại sau # giây}}</translation>
 <translation id="3395323229510056640">Nhận trợ giúp về Chrome OS</translation>
@@ -104,7 +101,6 @@
 <translation id="386202838227397562">Vui lòng đóng tất cả cửa sổ của Google Chrome và thử lại.</translation>
 <translation id="3865754807470779944">Bạn đã cài đặt Chrome phiên bản <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">Mở liên kết trong cửa sổ ẩn &amp;danh của Chrome</translation>
-<translation id="3879568094278837081">Dữ liệu duyệt web của không gian này sẽ bị xóa khỏi thiết bị này. Để khôi phục dữ liệu, hãy đăng nhập vào Chrome bằng</translation>
 <translation id="3889417619312448367">Gỡ cài đặt Google Chrome</translation>
 <translation id="4050175100176540509">Cải thiện bảo mật quan trọng và tính năng mới có trong phiên bản mới nhất.</translation>
 <translation id="4053720452172726777">Tùy chỉnh và điều khiển Google Chrome</translation>
@@ -145,14 +141,12 @@
 <translation id="4895437082222824641">Mở liên kết trong thẻ mới của Chrome</translation>
 <translation id="4953650215774548573">Đặt Google Chrome làm trình duyệt mặc định của bạn</translation>
 <translation id="495931528404527476">Trong Chrome</translation>
-<translation id="4960472897514318257">Bạn đã đăng nhập bằng tài khoản công việc. Bạn có muốn tạo một không gian mới trên Chrome cho <ph name="NEW_USER" /> để lưu giữ dữ liệu cá nhân riêng biệt không?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">Khởi động lại Chrome OS</translation>
 <translation id="5132929315877954718">Khám phá các ứng dụng, trò chơi, tiện ích và chủ đề tuyệt vời cho Google Chrome.</translation>
 <translation id="5170938038195470297">Không thể sử dụng hồ sơ của bạn vì hồ sơ được tạo từ phiên bản Google Chrome mới hơn.
 
 Một số tính năng có thể không khả dụng. Vui lòng chỉ định thư mục hồ sơ khác hoặc sử dụng phiên bản Chrome mới hơn.</translation>
-<translation id="5171117065011130146">Tạo không gian làm việc mới trên Chrome?</translation>
 <translation id="5193136243808726294">Google Chrome OS không thể mở trang này.</translation>
 <translation id="5251420635869119124">Khách có thể sử dụng Chrome mà không phải thoát khỏi bất cứ nội dung nào.</translation>
 <translation id="532046782124376502">Cảnh báo: Google Chrome không thể ngăn các tiện ích ghi lại lịch sử duyệt web của bạn. Để tắt tiện ích này trong chế độ ẩn danh, hãy bỏ chọn tùy chọn này.</translation>
@@ -218,7 +212,6 @@
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7573289029918943991">Để kiểm tra xem thiết bị của bạn đã cập nhật hay chưa, hãy chuyển đến phần <ph name="LINK_BEGIN" />Cài đặt Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Máy tính này sẽ không còn nhận được bản cập nhật của Google Chrome do hệ điều hành Mac OS X 10.9 không được hỗ trợ nữa.</translation>
-<translation id="7591404275842302616">Hãy dùng Không gian Chrome để sắp xếp dữ liệu duyệt web một cách gọn gàng trên thiết bị này</translation>
 <translation id="7592736734348559088">Google Chrome không thể đồng bộ hóa dữ liệu của bạn vì chi tiết đăng nhập tài khoản của bạn đã cũ.</translation>
 <translation id="7626032353295482388">Chào mừng bạn đến với Chrome</translation>
 <translation id="7629695634924605473">Chrome cho bạn biết mật khẩu của bạn có bị đánh cắp hay không</translation>
@@ -265,9 +258,7 @@
 <translation id="8823341990149967727">Chrome đã lỗi thời</translation>
 <translation id="8834965163890861871">Google Chrome đang cố gắng chỉnh sửa mật khẩu. Hãy nhập mật khẩu Windows của bạn để cho phép việc này.</translation>
 <translation id="884296878221830158">Tiện ích này cũng điều khiển trang nào được hiển thị khi bạn khởi động Chrome hoặc nhấp vào nút Trang chủ.</translation>
-<translation id="8859948767482842016">Bạn đã đăng nhập bằng tài khoản công việc trong không gian của <ph name="EXISTING_USER" />. Bạn có muốn tạo một không gian mới trên Chrome cho <ph name="WORK_DOMAIN" /> để lưu giữ dữ liệu riêng biệt không?</translation>
 <translation id="8862326446509486874">Bạn không có quyền thích hợp để cài đặt cấp hệ thống. Thử chạy lại trình cài đặt với vai trò Quản trị viên.</translation>
-<translation id="8877586659207810298">Tạo không gian mới trên Chrome cho <ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Chạy lại Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Đã có bản cập nhật Chrome}=1{Đã có bản cập nhật Chrome}other{Đã có bản cập nhật Chrome từ # ngày trước}}</translation>
 <translation id="9026991721384951619">Chrome OS không thể đồng bộ hóa dữ liệu của bạn do chi tiết đăng nhập tài khoản của bạn đã lỗi thời.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-CN.xtb b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
index 0d25c665..ecb42e6 100644
--- a/chrome/app/resources/google_chrome_strings_zh-CN.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome 测试版 (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome版本太旧</translation>
 <translation id="1919130412786645364">允许登录 Chrome</translation>
-<translation id="195645108406520445">设置您的新 Chrome Space</translation>
 <translation id="2063848847527508675">需要重新启动 Chrome 操作系统以应用更新。</translation>
 <translation id="2094919256425865063">仍要退出 Chrome?</translation>
 <translation id="2120620239521071941">这会从这台设备上删除 <ph name="ITEMS_COUNT" /> 项内容。如果日后想要检索您的数据,届时请以 <ph name="USER_EMAIL" /> 的身份登录 Chrome。</translation>
 <translation id="2123055963409958220">报告<ph name="BEGIN_LINK" />当前设置<ph name="END_LINK" />,协助我们改进 Chrome</translation>
 <translation id="2151406531797534936">请立即重启 Chrome</translation>
 <translation id="2246246234298806438">在缺少内置 PDF 查看器的情况下,Google Chrome 浏览器无法显示打印预览。</translation>
-<translation id="226038281051944330">您已使用新帐号登录<ph name="EXISTING_USER" />的空间。想为<ph name="NEW_USER" />创建一个新的 Chrome 空间来单独保存您的数据吗?</translation>
 <translation id="2290014774651636340">缺少 Google API 密钥,因此 Google Chrome 的部分功能将无法使用。</translation>
 <translation id="2290095356545025170">确定要卸载 Google Chrome 浏览器吗?</translation>
 <translation id="2309047409763057870">这是 Google Chrome 的并行安装,您无法将此浏览器设为默认浏览器。</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Google Chrome 浏览器现已推出更安全的新版本。</translation>
 <translation id="3127818369811890733">Chrome 操作系统无法同步您的数据。</translation>
 <translation id="3149510190863420837">Chrome 应用</translation>
-<translation id="3351117925998652957">请选择您的专属 Chrome Space</translation>
 <translation id="3360895254066713204">Chrome 浏览器帮助应用</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome 将立即重新启动}=1{Chrome 将在 1 秒后重新启动}other{Chrome 将在 # 秒后重新启动}}</translation>
 <translation id="3395323229510056640">获取有关 Chrome 操作系统的帮助</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">请关闭所有 Google Chrome 浏览器窗口,然后重试。</translation>
 <translation id="3865754807470779944">已安装 Chrome 版本 <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">在 Chrome 无痕式窗口中打开链接(&amp;G)</translation>
-<translation id="3879568094278837081">系统将会从此设备上删除该空间的浏览数据。若要恢复这些数据,请使用以下身份登录 Chrome:</translation>
 <translation id="3889417619312448367">卸载 Google Chrome</translation>
 <translation id="4050175100176540509">最新版本不仅在安全性方面做出了重要改进,还提供了多项新功能。</translation>
 <translation id="4053720452172726777">自定义及控制 Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">在 Chrome 新标签页中打开链接(&amp;T)</translation>
 <translation id="4953650215774548573">将Google Chrome设为默认浏览器</translation>
 <translation id="495931528404527476">在 Chrome 中</translation>
-<translation id="4960472897514318257">您已使用工作帐号登录。想为<ph name="NEW_USER" />创建一个新的 Chrome 空间来单独保存您的个人数据吗?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">重启 Chrome 操作系统</translation>
 <translation id="5132929315877954718">查找适用于Google Chrome的精彩应用、游戏、扩展程序和主题背景。</translation>
 <translation id="5170938038195470297">您的个人资料来自新版 Google Chrome 浏览器,因此无法使用。某些功能可能无法使用。请指定其他个人资料目录,或使用新版 Chrome 浏览器。</translation>
-<translation id="5171117065011130146">要创建新的 Chrome 工作空间?</translation>
 <translation id="5193136243808726294">Google Chrome 操作系统无法打开此网页。</translation>
 <translation id="5251420635869119124">访客使用Chrome不会留下任何痕迹。</translation>
 <translation id="532046782124376502">警告:Google Chrome 无法阻止扩展程序记录您的浏览活动。要在无痕模式下停用该扩展程序,请取消选中此选项。</translation>
@@ -214,7 +208,6 @@
 <translation id="7535429826459677826">Google Chrome 开发者版</translation>
 <translation id="7573289029918943991">若想确认您设备上的操作系统是否是最新版本,请前往 <ph name="LINK_BEGIN" />Chrome 操作系统设置<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">此计算机将不会再收到 Google Chrome 更新,因为 Mac OS X 10.9 不再受支持。</translation>
-<translation id="7591404275842302616">使用 Chrome Space 整理您在此设备上的浏览活动数据</translation>
 <translation id="7592736734348559088">由于您的帐号登录详细信息已过期,Google Chrome无法同步您的数据。</translation>
 <translation id="7626032353295482388">欢迎使用 Chrome</translation>
 <translation id="7629695634924605473">Chrome 会让您知道您的密码是否曾被泄露</translation>
@@ -261,9 +254,7 @@
 <translation id="8823341990149967727">Chrome版本太旧</translation>
 <translation id="8834965163890861871">Google Chrome 正在尝试修改密码。请输入您的 Windows 密码以允许此操作。</translation>
 <translation id="884296878221830158">它还能够控制您启动Chrome或点击“主页”按钮后系统显示的页面。</translation>
-<translation id="8859948767482842016">您已使用工作帐号登录<ph name="EXISTING_USER" />的空间。想为<ph name="WORK_DOMAIN" />创建一个新的 Chrome 空间来单独保存您的数据吗?</translation>
 <translation id="8862326446509486874">您的权限不足,无法进行系统级安装。请尝试以管理员身份再次运行安装程序。</translation>
-<translation id="8877586659207810298">要为<ph name="NEW_USER" />创建新的 Chrome 空间?</translation>
 <translation id="8914504000324227558">重启 Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{有一项可用的 Chrome 更新}=1{有一项可用的 Chrome 更新}other{有一项可用的 Chrome 更新(已发布 # 天)}}</translation>
 <translation id="9026991721384951619">您的帐号登录详细信息已过期,Chrome操作系统无法同步您的数据。</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-HK.xtb b/chrome/app/resources/google_chrome_strings_zh-HK.xtb
index 4dbd8eb..11e71a1 100644
--- a/chrome/app/resources/google_chrome_strings_zh-HK.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-HK.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">Google Chrome 測試版 (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome 版本過舊</translation>
 <translation id="1919130412786645364">允許登入 Chrome</translation>
-<translation id="195645108406520445">設定新的 Chrome 空間</translation>
 <translation id="2063848847527508675">必須重新啟動 Chrome 作業系統,才能套用更新。</translation>
 <translation id="2094919256425865063">仍要退出 Chrome 嗎?</translation>
 <translation id="2120620239521071941">這會刪除此裝置上的 <ph name="ITEMS_COUNT" /> 個項目。如果日後想擷取資料,請以 <ph name="USER_EMAIL" /> 的身分登入 Chrome。</translation>
 <translation id="2123055963409958220">只要報告<ph name="BEGIN_LINK" />目前的設定<ph name="END_LINK" />,就能助我們一臂之力,讓 Chrome 更臻完美</translation>
 <translation id="2151406531797534936">請立即重新啟動 Chrome</translation>
 <translation id="2246246234298806438">缺乏內置的 PDF 檢視器時,Google Chrome 無法顯示列印預覽。</translation>
-<translation id="226038281051944330">您已使用新帳戶登入<ph name="EXISTING_USER" />的空間。要為<ph name="NEW_USER" />建立新的 Chrome 空間以分開保留資料嗎?</translation>
 <translation id="2290014774651636340">缺少 Google API 金鑰,系統將停用 Google Chrome 的部分功能。</translation>
 <translation id="2290095356545025170">確定要解除安裝 Google Chrome 嗎?</translation>
 <translation id="2309047409763057870">這是以並行形式安裝的第二個 Google Chrome,因此無法設定為您的預設瀏覽器。</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Google Chrome 推出全新版本,安全性更勝從前。</translation>
 <translation id="3127818369811890733">Chrome 作業系統無法同步您的資料。</translation>
 <translation id="3149510190863420837">Chrome 應用程式</translation>
-<translation id="3351117925998652957">選擇您的 Chrome 空間</translation>
 <translation id="3360895254066713204">Chrome 輔助工具</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome 將立即重新啟動}=1{Chrome 將於 1 秒後重新啟動}other{Chrome 將於 # 秒後重新啟動}}</translation>
 <translation id="3395323229510056640">取得 Chrome 作業系統相關說明</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">請關閉所有 Google Chrome 視窗,然後再試一次。</translation>
 <translation id="3865754807470779944">已安裝 Chrome 版本 <ph name="PRODUCT_VERSION" /></translation>
 <translation id="3873044882194371212">在 Chrome 無痕式視窗中開啟連結(&amp;G)</translation>
-<translation id="3879568094278837081">系統將會從此裝置上刪除此空間的瀏覽資料。如要復原資料,請使用下列身分登入 Chrome:</translation>
 <translation id="3889417619312448367">解除安裝 Google Chrome</translation>
 <translation id="4050175100176540509">最新版本提供重大保安改良和新功能。</translation>
 <translation id="4053720452172726777">自訂及控制 Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">在 Chrome 新分頁中開啟連結(&amp;T)</translation>
 <translation id="4953650215774548573">將 Google Chrome 設為預設瀏覽器</translation>
 <translation id="495931528404527476">在 Chrome 中</translation>
-<translation id="4960472897514318257">您已使用公司帳戶登入。要為<ph name="NEW_USER" />建立新的 Chrome 空間以分開保留個人資料嗎?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">重新啟動 Chrome 作業系統</translation>
 <translation id="5132929315877954718">為您的 Google Chrome 探索各種實用有趣的應用程式、遊戲、擴充功能和主題。</translation>
 <translation id="5170938038195470297">由於您的設定檔是來自較新版本的 Google Chrome,所以系統無法使用該檔案。
 
 這表示您可能無法使用部分功能。請指定另一個設定檔目錄,或使用較新版本的 Chrome。</translation>
-<translation id="5171117065011130146">要建立新的 Chrome 工作空間嗎?</translation>
 <translation id="5193136243808726294">Google Chrome 作業系統無法開啟此網頁。</translation>
 <translation id="5251420635869119124">以訪客身分使用 Chrome 不會留下任何記錄。</translation>
 <translation id="532046782124376502">警告:Google Chrome 無法阻止擴充程式記錄您的瀏覽活動。如要在無痕模式中停用這個擴充程式,請取消選取這個選項。</translation>
@@ -221,7 +215,6 @@
 <translation id="7535429826459677826">Google Chrome 開發人員版</translation>
 <translation id="7573289029918943991">如要查看裝置是否已更新,請前往 <ph name="LINK_BEGIN" />Chrome 作業系統設定<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Google Chrome 已停止支援 Mac OS X 10.9,因此這部電腦不會再收到 Google Chrome 更新。</translation>
-<translation id="7591404275842302616">使用 Chrome 空間,妥善整理此裝置上的瀏覽資料</translation>
 <translation id="7592736734348559088">您的帳戶登入詳情尚未更新,因此 Google Chrome 無法同步處理您的數據。</translation>
 <translation id="7626032353295482388">歡迎使用 Chrome</translation>
 <translation id="7629695634924605473">Chrome 會通知您密碼是否曾被盜用</translation>
@@ -268,9 +261,7 @@
 <translation id="8823341990149967727">Chrome 版本過舊</translation>
 <translation id="8834965163890861871">Google Chrome 正在嘗試編輯密碼。如果您同意,請輸入 Windows 密碼。</translation>
 <translation id="884296878221830158">這個擴充功能也會管制 Chrome 啟動時或您按一下 [主頁] 按鈕時所顯示的網頁。</translation>
-<translation id="8859948767482842016">您已使用公司帳戶登入<ph name="EXISTING_USER" />的空間。要為<ph name="WORK_DOMAIN" />建立新的 Chrome 空間以分開保留資料嗎?</translation>
 <translation id="8862326446509486874">您沒有在系統層級進行安裝的權限,請以管理員的身分執行安裝程式。</translation>
-<translation id="8877586659207810298">要為<ph name="NEW_USER" />建立新的 Chrome 空間嗎?</translation>
 <translation id="8914504000324227558">重新啟動 Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{有可用的 Chrome 更新}=1{有可用的 Chrome 更新}other{Chrome 更新已發佈 # 天}}</translation>
 <translation id="9026991721384951619">您的帳戶登入詳情尚未更新,因此 Chrome 作業系統無法同步處理您的數據。</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-TW.xtb b/chrome/app/resources/google_chrome_strings_zh-TW.xtb
index 6d7fd16..fad7980d 100644
--- a/chrome/app/resources/google_chrome_strings_zh-TW.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-TW.xtb
@@ -37,14 +37,12 @@
 <translation id="1874309113135274312">Google Chrome 測試版 (mDNS-In)</translation>
 <translation id="1877026089748256423">Chrome 版本過舊</translation>
 <translation id="1919130412786645364">允許登入 Chrome</translation>
-<translation id="195645108406520445">設定新的 Chrome 空間</translation>
 <translation id="2063848847527508675">Chrome 作業系統必須重新啟動,才能套用更新。</translation>
 <translation id="2094919256425865063">確定要關閉 Chrome 嗎?</translation>
 <translation id="2120620239521071941">登出後,系統會將 <ph name="ITEMS_COUNT" /> 個項目從這個裝置上刪除。日後如要重新取得你的資料,請以 <ph name="USER_EMAIL" /> 身分登入 Chrome。</translation>
 <translation id="2123055963409958220">只要回報<ph name="BEGIN_LINK" />目前的設定<ph name="END_LINK" />,就能助我們一臂之力,讓 Chrome 更臻完美</translation>
 <translation id="2151406531797534936">請立即重新啟動 Chrome</translation>
 <translation id="2246246234298806438">缺乏內建的 PDF 檢視器時,Google Chrome 無法顯示列印預覽。</translation>
-<translation id="226038281051944330">你已使用新帳戶登入「<ph name="EXISTING_USER" />」的空間。你要為「<ph name="NEW_USER" />」建立新的 Chrome 空間以分開保留資料嗎?</translation>
 <translation id="2290014774651636340">缺少 Google API 金鑰,系統將停用 Google Chrome 的部分功能。</translation>
 <translation id="2290095356545025170">你是否確定要解除安裝 Google Chrome?</translation>
 <translation id="2309047409763057870">這是以並存形式安裝的次要 Google Chrome,無法設為您的預設瀏覽器。</translation>
@@ -79,7 +77,6 @@
 <translation id="3089968997497233615">Google Chrome 推出全新版本,安全性更勝以往。</translation>
 <translation id="3127818369811890733">Chrome 作業系統無法同步處理你的資料。</translation>
 <translation id="3149510190863420837">Chrome 應用程式</translation>
-<translation id="3351117925998652957">選擇你的 Chrome 空間</translation>
 <translation id="3360895254066713204">Chrome 小幫手</translation>
 <translation id="3379938682270551431">{0,plural, =0{Chrome 將立即重新啟動}=1{Chrome 將在 1 秒後重新啟動}other{Chrome 將在 # 秒後重新啟動}}</translation>
 <translation id="3395323229510056640">前往 Chrome 作業系統說明頁面</translation>
@@ -102,7 +99,6 @@
 <translation id="386202838227397562">請關閉所有 Google Chrome 視窗,並再試一次</translation>
 <translation id="3865754807470779944">已安裝 Chrome <ph name="PRODUCT_VERSION" /> 版</translation>
 <translation id="3873044882194371212">在 Chrome 無痕式視窗中開啟連結(&amp;G)</translation>
-<translation id="3879568094278837081">這個空間的瀏覽資料將從這部裝置上刪除。如要還原資料,請使用下列身分登入 Chrome:</translation>
 <translation id="3889417619312448367">解除安裝 Google Chrome</translation>
 <translation id="4050175100176540509">最新版本包含重要的安全性改善與新功能。</translation>
 <translation id="4053720452172726777">自訂及管理 Google Chrome</translation>
@@ -143,12 +139,10 @@
 <translation id="4895437082222824641">在新的 Chrome 分頁中開啟連結(&amp;T)</translation>
 <translation id="4953650215774548573">將 Google Chrome 設為預設瀏覽器</translation>
 <translation id="495931528404527476">在 Chrome 中</translation>
-<translation id="4960472897514318257">你已使用公司帳戶登入。你要為「<ph name="NEW_USER" />」建立新的 Chrome 空間以分開保留個人資料嗎?</translation>
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5062123544085870375">重新啟動 Chrome 作業系統</translation>
 <translation id="5132929315877954718">幫你的 Google Chrome 物色各種實用有趣的應用程式、遊戲、擴充功能和主題。</translation>
 <translation id="5170938038195470297">由於你的設定檔是來自較新版本的 Google Chrome,所以系統無法使用該檔案。這表示你可能無法使用部分功能。請指定另一個設定檔目錄,或使用較新版本的 Google Chrome。</translation>
-<translation id="5171117065011130146">要建立新的 Chrome 工作空間嗎?</translation>
 <translation id="5193136243808726294">Google Chrome 作業系統無法開啟這個網頁。</translation>
 <translation id="5251420635869119124">以訪客身分使用 Chrome 不會留下任何記錄。</translation>
 <translation id="532046782124376502">警告:Google Chrome 無法禁止擴充功能記錄你的瀏覽活動。如要在無痕模式中停用這個擴充功能,請取消選取這個選項。</translation>
@@ -216,7 +210,6 @@
 <translation id="7535429826459677826">Google Chrome 開發人員版</translation>
 <translation id="7573289029918943991">如要查看你的裝置是否為最新版,請前往 <ph name="LINK_BEGIN" />Chrome 作業系統設定<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">我們已不支援 Mac OS X 10.9,因此這部電腦不會再收到 Google Chrome 更新。</translation>
-<translation id="7591404275842302616">使用 Chrome 空間有效管理這部裝置上的瀏覽活動</translation>
 <translation id="7592736734348559088">你的帳戶登入詳細資料尚未更新,因此 Google Chrome 無法同步處理你的資料。</translation>
 <translation id="7626032353295482388">歡迎使用 Chrome</translation>
 <translation id="7629695634924605473">Chrome 會通知你密碼是否曾遭外洩</translation>
@@ -263,9 +256,7 @@
 <translation id="8823341990149967727">Chrome 版本過舊</translation>
 <translation id="8834965163890861871">Google Chrome 正在嘗試編輯密碼。如果你同意這項作業,請輸入你的 Windows 密碼。</translation>
 <translation id="884296878221830158">這個擴充功能也會控管 Chrome 啟動時或你點選 [首頁] 按鈕時所顯示的網頁。</translation>
-<translation id="8859948767482842016">你已使用公司帳戶登入「<ph name="EXISTING_USER" />」的空間。你要為 <ph name="WORK_DOMAIN" /> 建立新的 Chrome 空間以分開保留資料嗎?</translation>
 <translation id="8862326446509486874">你沒有在系統層級進行安裝的權限,請以管理員的身分執行安裝檔。</translation>
-<translation id="8877586659207810298">你要為「<ph name="NEW_USER" />」建立新的 Chrome 空間嗎?</translation>
 <translation id="8914504000324227558">重新啟動 Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{有可用的 Chrome 更新}=1{有可用的 Chrome 更新}other{Chrome 更新已發布 # 天}}</translation>
 <translation id="9026991721384951619">你的帳戶登入詳細資料尚未更新,因此 Chrome 作業系統無法同步處理你的資料。</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zu.xtb b/chrome/app/resources/google_chrome_strings_zu.xtb
index ef3b82ea..1ee8270 100644
--- a/chrome/app/resources/google_chrome_strings_zu.xtb
+++ b/chrome/app/resources/google_chrome_strings_zu.xtb
@@ -41,14 +41,12 @@
 <translation id="1874309113135274312">I-beta yeGoogle Chrome (mDNS-In)</translation>
 <translation id="1877026089748256423">I-Chrome ingaphandle kwedethi</translation>
 <translation id="1919130412786645364">Vumela ukungena ngemvume kwe-Chrome</translation>
-<translation id="195645108406520445">Setha Isikhala sakho esisha se-Chrome</translation>
 <translation id="2063848847527508675">I-Chrome OS idinga ukuqaliswa kabusha ukuze yenze kusebenze isibuyekezo.</translation>
 <translation id="2094919256425865063">Yekela i-Chrome yize kunjalo?</translation>
 <translation id="2120620239521071941">Lokhu kuzosusa izinto ezingu-<ph name="ITEMS_COUNT" /> kusuka kule divayisi. kuze uthole idatha yakho emuva kwesikhathi, ngena ngemvume ku-Chrome njengo-<ph name="USER_EMAIL" />.</translation>
 <translation id="2123055963409958220">Siza ukwenza i-Chrome ibengcono ngokubika <ph name="BEGIN_LINK" />izilungiselelo zamanje<ph name="END_LINK" /></translation>
 <translation id="2151406531797534936">Sicela uqalise kabusha -Chrome manje</translation>
 <translation id="2246246234298806438">I-Google Chrome ayikwazi ukubonisa ukubuka kuqala kokuphrinta uma isibukeli se-PDF esakhelwe ngaphakathi singekho.</translation>
-<translation id="226038281051944330">Ungene ngemvume nge-akhawunti entsha esikhaleni sika-<ph name="EXISTING_USER" />. Ingabe ungathanda ukudala isikhala esisha se-Chrome sika-<ph name="NEW_USER" /> ukugcina idatha yakho yehlukile?</translation>
 <translation id="2290014774651636340">Okhiye be-Google API abekho. Okunye ukusebenza kwe-Google Chrome kuzokhutshazwa.</translation>
 <translation id="2290095356545025170">Ingabe uqinisekile ukuthi ufuna ukukhipha i-Google Chrome?</translation>
 <translation id="2309047409763057870">Lokhu ukufakwa kwesibili kwe-Google Chrome, futhi akukwazi ukwenziwa isiphequluli sakho esizenzakalelayo.</translation>
@@ -83,7 +81,6 @@
 <translation id="3089968997497233615">Kukhona inguqulo entsha, evikelekile ye-Google Chrome etholakalayo.</translation>
 <translation id="3127818369811890733">I-Chrome OS yikwazanga ukuvumelanisa idatha yakho.</translation>
 <translation id="3149510190863420837">Izinhlelo zokusebenza ze-Chrome</translation>
-<translation id="3351117925998652957">Khetha Isikhala sakho se-Chrome</translation>
 <translation id="3360895254066713204">Isisizi se-Chrome</translation>
 <translation id="3379938682270551431">{0,plural, =0{I-Chrome izoqala kabusha manje}=1{I-Chrome izoqala kabusha kusekhondi elingu-1}one{I-Chrome izoqala kabusha kumasekhondi angu-#}other{I-Chrome izoqala kabusha kumasekhondi angu-#}}</translation>
 <translation id="3395323229510056640">Thola usizo nge-Chrome OS</translation>
@@ -106,7 +103,6 @@
 <translation id="386202838227397562">Sicela uvale wonke amawindi we-Google Chrome bese uzama futhi.</translation>
 <translation id="3865754807470779944">Inguqulo ye-Chrome i-<ph name="PRODUCT_VERSION" /> ifakiwe</translation>
 <translation id="3873044882194371212">Vula isixhumanisi kuwindi le-Chrome inco&amp;gnito</translation>
-<translation id="3879568094278837081">Le datha yopheqululo yalesi sikhala izosuswa kule divayisi. Ukuze ubuyise idatha, ngena ngemvume ku-Chrome njengo-</translation>
 <translation id="3889417619312448367">Khipha i-Google Chrome</translation>
 <translation id="4050175100176540509">Ukuthuthukiswa kokuphepha okubalulekile nezici ezintsha kuyathokala kunguqulo yakamuva.</translation>
 <translation id="4053720452172726777">Yenza ngokwezifiso futhi lawula i-Google Chrome</translation>
@@ -147,14 +143,12 @@
 <translation id="4895437082222824641">Vula isixhumanisi ku&amp;thebhu entsha ye-Chrome</translation>
 <translation id="4953650215774548573">Setha i-Google Chrome njengesiphequluli sakho sokuzenzakalelayo</translation>
 <translation id="495931528404527476">Ku-Chrome</translation>
-<translation id="4960472897514318257">Ungene ngemvume nge-akhawunti yomsebenzi. Ungathanda ukudala isikhala esisha se-Chrome se-<ph name="NEW_USER" /> ukugcina idatha yakho yomuntu siqu yehlukile?</translation>
 <translation id="4990567037958725628">I-Canary ye-Google Chrome</translation>
 <translation id="5062123544085870375">Qalisa kabusha i-Chrome OS</translation>
 <translation id="5132929315877954718">Thola izinhlelo zokusebenza ezinhle, amageyimu, izandiso namatimu e-Google Chrome.</translation>
 <translation id="5170938038195470297">Iphrofayela yakho ayikwazi ukusetshenziswa ngoba isuka kunguqulo entsha ye-Google Chrome.
 
 Ezinye izici kungenzeka zingatholakali. Sicela ucacise umkhombandlela wephrofayela ehlukile noma usebenzise inguqulo entsha ye-Chrome.</translation>
-<translation id="5171117065011130146">Dala isikhala esisha se-Chrome Yomsebenzi?</translation>
 <translation id="5193136243808726294">I-Google Chrome OS ayikwazi ukuvula leli khasi.</translation>
 <translation id="5251420635869119124">Izihambeli zingasebenzisa i-Chrome ngaphandle kokushiya noma yini ngemuva.</translation>
 <translation id="532046782124376502">Osexwayiso: I-Google Chrome ayikwazi ukuvimbela izandiso kusukela ekurekhodeni umlando wesiphequluli sakho. Ukuze ukhubaze lesi sandiso kumodi ye-incognito, yekisa ukukhetha le nketho.</translation>
@@ -222,7 +216,6 @@
 <translation id="7535429826459677826">I-Google Chrome Dev</translation>
 <translation id="7573289029918943991">Ukuze ubone uma ngabe idivayisi yakho isesikhathini, hamba <ph name="LINK_BEGIN" />kuzilungiselelo ze-Chrome OS<ph name="LINK_END" /></translation>
 <translation id="7589360514048265910">Le khompuyutha ngeke isathola izibuyekezo ze-Google Chrome ngoba i-Mac OS X 10.9 ayisasekelwa.</translation>
-<translation id="7591404275842302616">Sebenzisa Izikhala ze-Chrome ukugcina ukuphequlula kwakho kuhlelekile kule divayisi</translation>
 <translation id="7592736734348559088">I-Google Chrome ayikwazanga ukuvumelanisa idatha yakho ngoba imininingwane yokungena ngemvume ye-akhawunti yakho ayikho kudethi.</translation>
 <translation id="7626032353295482388">Siyakwamukela ku-Chrome</translation>
 <translation id="7629695634924605473">I-Chrome ikuvumela ukuthi wazi uma amaphasiwedi akho afakwa engcupheni</translation>
@@ -269,9 +262,7 @@
 <translation id="8823341990149967727">I-Chrome ingaphandle kwedethi</translation>
 <translation id="8834965163890861871">I-Google Chrome izama ukuhlela amaphasiwedi. Thayipha amaphasiwedi akho e-Windows ukuze uvumele lokhu.</translation>
 <translation id="884296878221830158">Iphinda ilawule ukuthi yiliphi ikhasi eliboniswayo uma uqala i-Chrome noma uchofoza kunkinobho ye-Ikhaya.</translation>
-<translation id="8859948767482842016">Ungene ngemvume nge-akhawunti yomsebenzi esikhaleni sika-<ph name="EXISTING_USER" />. Ingabe ungathanda ukudala isikhala esisha se-Chrome se-<ph name="WORK_DOMAIN" /> ukugcina idatha yakho yehlukile?</translation>
 <translation id="8862326446509486874">Awunawo amalungelo afanele wokufakwa okukuleveli yesistimu. Zama ukuqalisa isifaki futhi njengomlawuli.</translation>
-<translation id="8877586659207810298">Dala isikhala esisha se-Chrome sika-<ph name="NEW_USER" />?</translation>
 <translation id="8914504000324227558">Phinda uqalise i-Chrome</translation>
 <translation id="8999208279178790196">{0,plural, =0{Isibuyekezo se-Chrome siyatholakala}=1{Isibuyekezo se-Chrome siyatholakala}one{Isibuyekezo se-Chrome sitholakale izinsuku ezingu-#}other{Isibuyekezo se-Chrome sitholakale izinsuku ezingu-#}}</translation>
 <translation id="9026991721384951619">I-Chrome OS ayikwazanga ukuvumelanisa idatha yakho ngoba imininingwane yokungena ngemvume kwe-akhawunti yakho ayikho kudethi.</translation>
diff --git a/chrome/app/vector_icons/BUILD.gn b/chrome/app/vector_icons/BUILD.gn
index 3219e203..efe3364 100644
--- a/chrome/app/vector_icons/BUILD.gn
+++ b/chrome/app/vector_icons/BUILD.gn
@@ -72,7 +72,8 @@
     "nfc.icon",
     "overflow_chevron.icon",
     "paintbrush.icon",
-    "person_outline_padded.icon",
+    "person_filled_padded_large.icon",
+    "person_filled_padded_small.icon",
     "photo_camera.icon",
     "picture_in_picture_control_background.icon",
     "picture_in_picture_alt.icon",
diff --git a/chrome/app/vector_icons/person_filled_padded_large.icon b/chrome/app/vector_icons/person_filled_padded_large.icon
new file mode 100644
index 0000000..edc2548
--- /dev/null
+++ b/chrome/app/vector_icons/person_filled_padded_large.icon
@@ -0,0 +1,20 @@
+// 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.
+
+// This differs from person_filled_padded_small in that it has even larger
+// padding.
+CANVAS_DIMENSIONS, 60,
+MOVE_TO, 30, 20,
+R_CUBIC_TO, -2.76f, 0, -5, 2.24f, -5, 5,
+R_CUBIC_TO, 0, 2.76f, 2.24f, 5, 5, 5,
+R_CUBIC_TO, 2.76f, 0, 5, -2.24f, 5, -5,
+R_CUBIC_TO, 0, -2.76f, -2.24f, -5, -5, -5,
+CLOSE,
+R_MOVE_TO, 0, 11.25f,
+R_CUBIC_TO, -3.34f, 0, -10, 1.68f, -10, 5,
+V_LINE_TO, 40,
+R_H_LINE_TO, 20,
+R_V_LINE_TO, -3.75f,
+R_CUBIC_TO, 0, -3.32f, -6.66f, -5, -10, -5,
+CLOSE
diff --git a/chrome/app/vector_icons/person_filled_padded_small.icon b/chrome/app/vector_icons/person_filled_padded_small.icon
new file mode 100644
index 0000000..55ae67d
--- /dev/null
+++ b/chrome/app/vector_icons/person_filled_padded_small.icon
@@ -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.
+
+// This differs from ic_person_filled in that it has a relatively larger
+// padding.
+CANVAS_DIMENSIONS, 24,
+MOVE_TO, 12, 5,
+R_CUBIC_TO, -1.93f, 0, -3.5f, 1.57f, -3.5f, 3.5f,
+R_CUBIC_TO, 0, 1.93f, 1.57f, 3.5f, 3.5f, 3.5f,
+R_CUBIC_TO, 1.93f, 0, 3.5f, -1.57f, 3.5f, -3.5f,
+CUBIC_TO, 15.5f, 6.57f, 13.93f, 5, 12, 5,
+CLOSE,
+R_MOVE_TO, 0, 7.88f,
+R_CUBIC_TO, -2.34f, 0, -7, 1.17f, -7, 3.5f,
+V_LINE_TO, 19,
+R_H_LINE_TO, 14,
+R_V_LINE_TO, -2.62f,
+R_CUBIC_TO, 0, -2.33f, -4.66f, -3.5f, -7, -3.5f,
+CLOSE
+
+CANVAS_DIMENSIONS, 22,
+MOVE_TO, 11, 5,
+CUBIC_TO, 9.34f, 5, 8, 6.34f, 8, 8,
+R_CUBIC_TO, 0, 1.66f, 1.34f, 3, 3, 3,
+R_CUBIC_TO, 1.66f, 0, 3, -1.34f, 3, -3,
+R_CUBIC_TO, 0, -1.66f, -1.34f, -3, -3, -3,
+CLOSE,
+R_MOVE_TO, 0, 6.75f,
+R_CUBIC_TO, -2, 0, -6, 1, -6, 3,
+V_LINE_TO, 17,
+R_H_LINE_TO, 12,
+R_V_LINE_TO, -2.25f,
+R_CUBIC_TO, 0, -1.99f, -4, -3, -6, -3,
+CLOSE
+
+CANVAS_DIMENSIONS, 20,
+MOVE_TO, 10, 4,
+CUBIC_TO, 8.34f, 4, 7, 5.34f, 7, 7,
+R_CUBIC_TO, 0, 1.66f, 1.34f, 3, 3, 3,
+R_CUBIC_TO, 1.66f, 0, 3, -1.34f, 3, -3,
+R_CUBIC_TO, 0, -1.66f, -1.34f, -3, -3, -3,
+CLOSE,
+R_MOVE_TO, 0, 6.75f,
+R_CUBIC_TO, -2, 0, -6, 1, -6, 3,
+V_LINE_TO, 16,
+R_H_LINE_TO, 12,
+R_V_LINE_TO, -2.25f,
+R_CUBIC_TO, 0, -1.99f, -4, -3, -6, -3,
+CLOSE
diff --git a/chrome/app/vector_icons/person_outline_padded.icon b/chrome/app/vector_icons/person_outline_padded.icon
deleted file mode 100644
index c8c28a6..0000000
--- a/chrome/app/vector_icons/person_outline_padded.icon
+++ /dev/null
@@ -1,81 +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.
-
-// This differs from ic_person_outline in that it has a relatively larger
-// padding.
-CANVAS_DIMENSIONS, 22,
-MOVE_TO, 11, 22,
-R_CUBIC_TO, 6.08f, 0, 11, -4.92f, 11, -11,
-CUBIC_TO_SHORTHAND, 17.08f, 0, 11, 0,
-CUBIC_TO_SHORTHAND, 0, 4.93f, 0, 11,
-R_CUBIC_TO, 0, 6.07f, 4.93f, 11, 11, 11,
-CLOSE,
-MOVE_TO, 11, 22,
-R_CUBIC_TO, 6.08f, 0, 11, -4.92f, 11, -11,
-CUBIC_TO_SHORTHAND, 17.08f, 0, 11, 0,
-CUBIC_TO_SHORTHAND, 0, 4.93f, 0, 11,
-R_CUBIC_TO, 0, 6.07f, 4.93f, 11, 11, 11,
-CLOSE,
-MOVE_TO, 11, 5.87f,
-R_ARC_TO, 2.57f, 2.57f, 0, 1, 0, 0, 5.13f,
-R_ARC_TO, 2.57f, 2.57f, 0, 0, 0, 0, -5.13f,
-CLOSE,
-R_MOVE_TO, 1.28f, 2.57f,
-R_CUBIC_TO, 0, -0.71f, -0.58f, -1.28f, -1.28f, -1.28f,
-R_CUBIC_TO, -0.7f, 0, -1.28f, 0.58f, -1.28f, 1.28f,
-R_CUBIC_TO, 0, 0.7f, 0.58f, 1.28f, 1.28f, 1.28f,
-R_CUBIC_TO, 0.71f, 0, 1.28f, -0.58f, 1.28f, -1.28f,
-CLOSE,
-R_MOVE_TO, 2.57f, 5.78f,
-R_CUBIC_TO, -0.13f, -0.46f, -2.12f, -1.28f, -3.85f, -1.28f,
-R_CUBIC_TO, -1.73f, 0, -3.72f, 0.83f, -3.85f, 1.29f,
-R_V_LINE_TO, 0.64f,
-R_H_LINE_TO, 7.7f,
-R_V_LINE_TO, -0.64f,
-CLOSE,
-R_MOVE_TO, -8.98f, 0,
-R_CUBIC_TO, 0, -1.71f, 3.42f, -2.57f, 5.13f, -2.57f,
-R_CUBIC_TO, 1.71f, 0, 5.13f, 0.86f, 5.13f, 2.57f,
-R_V_LINE_TO, 1.93f,
-H_LINE_TO, 5.87f,
-R_V_LINE_TO, -1.92f,
-CLOSE
-
-CANVAS_DIMENSIONS, 20,
-MOVE_TO, 10, 20,
-R_CUBIC_TO, 5.52f, 0, 10, -4.48f, 10, -10,
-CUBIC_TO_SHORTHAND, 15.52f, 0, 10, 0,
-CUBIC_TO_SHORTHAND, 0, 4.48f, 0, 10,
-R_CUBIC_TO, 0, 5.52f, 4.48f, 10, 10, 10,
-CLOSE,
-MOVE_TO, 10, 20,
-R_CUBIC_TO, 5.52f, 0, 10, -4.48f, 10, -10,
-CUBIC_TO_SHORTHAND, 15.52f, 0, 10, 0,
-CUBIC_TO_SHORTHAND, 0, 4.48f, 0, 10,
-R_CUBIC_TO, 0, 5.52f, 4.48f, 10, 10, 10,
-CLOSE,
-MOVE_TO, 10, 5.33f,
-R_ARC_TO, 2.33f, 2.33f, 0, 1, 0, 0, 4.67f,
-R_ARC_TO, 2.33f, 2.33f, 0, 0, 0, 0, -4.66f,
-CLOSE,
-R_MOVE_TO, 1.17f, 2.33f,
-ARC_TO, 1.17f, 1.17f, 0, 0, 0, 10, 6.5f,
-R_ARC_TO, 1.17f, 1.17f, 0, 0, 0, -1.17f, 1.17f,
-ARC_TO, 1.17f, 1.17f, 0, 0, 0, 10, 8.83f,
-R_ARC_TO, 1.17f, 1.17f, 0, 0, 0, 1.17f, -1.17f,
-CLOSE,
-R_MOVE_TO, 2.33f, 5.25f,
-R_CUBIC_TO, -0.12f, -0.41f, -1.92f, -1.17f, -3.5f, -1.17f,
-R_CUBIC_TO, -1.58f, 0, -3.38f, 0.75f, -3.5f, 1.17f,
-R_V_LINE_TO, 0.58f,
-R_H_LINE_TO, 7,
-R_V_LINE_TO, -0.58f,
-CLOSE,
-R_MOVE_TO, -8.17f, 0,
-R_CUBIC_TO, 0, -1.55f, 3.11f, -2.33f, 4.67f, -2.33f,
-R_CUBIC_TO, 1.56f, 0, 4.67f, 0.78f, 4.67f, 2.33f,
-R_V_LINE_TO, 1.75f,
-H_LINE_TO, 5.33f,
-R_V_LINE_TO, -1.75f,
-CLOSE
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 6cb9ee1f..75f02b2 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -646,8 +646,6 @@
     "lookalikes/lookalike_url_tab_storage.h",
     "media/audio_service_util.cc",
     "media/audio_service_util.h",
-    "media/cast_mirroring_service_host.cc",
-    "media/cast_mirroring_service_host.h",
     "media/cast_remoting_connector.cc",
     "media/cast_remoting_connector.h",
     "media/feeds/media_feeds_utils.cc",
@@ -1985,10 +1983,6 @@
     "//components/metrics:net",
     "//components/metrics:ui",
     "//components/metrics_services_manager",
-    "//components/mirroring/browser",
-    "//components/mirroring/mojom:host",
-    "//components/mirroring/mojom:service",
-    "//components/mirroring/service:mirroring_service",
     "//components/navigation_interception",
     "//components/navigation_metrics",
     "//components/net_log",
@@ -2956,6 +2950,7 @@
       "updates/update_notification_client.h",
       "updates/update_notification_service_bridge_android.cc",
       "updates/update_notification_service_bridge_android.h",
+      "video_tutorials/android/video_tutorial_service_bridge_factory.cc",
       "webauthn/android/cable_module_android.cc",
     ]
     public_deps += [
@@ -3422,6 +3417,8 @@
       "nearby_sharing/outgoing_share_target_info.h",
       "nearby_sharing/paired_key_verification_runner.cc",
       "nearby_sharing/paired_key_verification_runner.h",
+      "nearby_sharing/payload_tracker.cc",
+      "nearby_sharing/payload_tracker.h",
       "nearby_sharing/share_target.cc",
       "nearby_sharing/share_target.h",
       "nearby_sharing/share_target_discovered_callback.h",
@@ -3752,6 +3749,10 @@
       "task_manager/providers/web_contents/tab_contents_tag.h",
       "task_manager/providers/web_contents/tab_contents_task.cc",
       "task_manager/providers/web_contents/tab_contents_task.h",
+      "task_manager/providers/web_contents/tool_tag.cc",
+      "task_manager/providers/web_contents/tool_tag.h",
+      "task_manager/providers/web_contents/tool_task.cc",
+      "task_manager/providers/web_contents/tool_task.h",
       "task_manager/providers/web_contents/web_contents_tag.cc",
       "task_manager/providers/web_contents/web_contents_tag.h",
       "task_manager/providers/web_contents/web_contents_tags_manager.cc",
@@ -3957,6 +3958,8 @@
       "memory/memory_kills_histogram.h",
       "memory/memory_kills_monitor.cc",
       "memory/memory_kills_monitor.h",
+      "metrics/ambient_mode_metrics_provider.cc",
+      "metrics/ambient_mode_metrics_provider.h",
       "metrics/assistant_service_metrics_provider.cc",
       "metrics/assistant_service_metrics_provider.h",
       "metrics/chromeos_metrics_provider.cc",
@@ -4988,6 +4991,10 @@
       "guest_view/web_view/chrome_web_view_permission_helper_delegate.h",
       "guest_view/web_view/context_menu_content_type_web_view.cc",
       "guest_view/web_view/context_menu_content_type_web_view.h",
+
+      # TODO(crbug.com/879012): this shouldn't depend on enable_extensions.
+      "media/cast_mirroring_service_host.cc",
+      "media/cast_mirroring_service_host.h",
       "media/cast_transport_host_filter.cc",
       "media/cast_transport_host_filter.h",
       "media/extension_media_access_handler.cc",
@@ -5170,6 +5177,12 @@
       "//chrome/common/extensions/api:extensions_features",
       "//components/drive",
       "//components/guest_view/browser",
+
+      # TODO(crbug.com/879012): mirroring shouldn't depend on enable_extensions.
+      "//components/mirroring/browser",
+      "//components/mirroring/mojom:host",
+      "//components/mirroring/mojom:service",
+      "//components/mirroring/service:mirroring_service",
       "//extensions/components/javascript_dialog_extensions_client",
       "//google_apis/drive",
       "//media/cast:net",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 29a64b980..c18324c 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3717,6 +3717,12 @@
      flag_descriptions::kOmniboxLocalEntitySuggestionsDescription, kOsAll,
      FEATURE_VALUE_TYPE(omnibox::kOmniboxLocalEntitySuggestions)},
 
+    {"omnibox-local-zero-suggest-frecency-ranking",
+     flag_descriptions::kOmniboxLocalZeroSuggestFrecencyRankingName,
+     flag_descriptions::kOmniboxLocalZeroSuggestFrecencyRankingDescription,
+     kOsAll,
+     FEATURE_VALUE_TYPE(omnibox::kOmniboxLocalZeroSuggestFrecencyRanking)},
+
     {"omnibox-experimental-suggest-scoring",
      flag_descriptions::kOmniboxExperimentalSuggestScoringName,
      flag_descriptions::kOmniboxExperimentalSuggestScoringDescription, kOsAll,
@@ -4373,6 +4379,11 @@
                                     kCloseTabSuggestionsStaleVariations,
                                     "CloseSuggestionsTab")},
 
+    {"enable-critical-persisted-tab-data",
+     flag_descriptions::kCriticalPersistedTabDataName,
+     flag_descriptions::kCriticalPersistedTabDataDescription, kOsAndroid,
+     FEATURE_VALUE_TYPE(chrome::android::kCriticalPersistedTabData)},
+
     {"enable-horizontal-tab-switcher",
      flag_descriptions::kHorizontalTabSwitcherAndroidName,
      flag_descriptions::kHorizontalTabSwitcherAndroidDescription, kOsAndroid,
@@ -5658,7 +5669,7 @@
      FEATURE_VALUE_TYPE(
          password_manager::features::kEnablePasswordsAccountStorage)},
 
-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
     defined(OS_CHROMEOS)
     {"passwords-account-storage-iph",
      flag_descriptions::kEnablePasswordsAccountStorageIPHName,
@@ -5666,7 +5677,7 @@
      kOsWin | kOsMac | kOsLinux,
      FEATURE_VALUE_TYPE(
          feature_engagement::kIPHPasswordsAccountStorageFeature)},
-#endif  // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
+#endif  // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
         // defined(OS_CHROMEOS)
 
     {"autofill-always-return-cloud-tokenized-card",
diff --git a/chrome/browser/accessibility/accessibility_extension_api.cc b/chrome/browser/accessibility/accessibility_extension_api.cc
index 24912a1..1115b7fb 100644
--- a/chrome/browser/accessibility/accessibility_extension_api.cc
+++ b/chrome/browser/accessibility/accessibility_extension_api.cc
@@ -433,10 +433,7 @@
               *args_);
   EXTENSION_FUNCTION_VALIDATE(params);
 
-  ash::AccessibilityController::Get()->ForwardKeyEventsToSwitchAccess(
-      params->should_forward);
-
-  return RespondNow(NoArguments());
+  return RespondNow(Error("Forwarding key events is no longer supported."));
 }
 
 ExtensionFunction::ResponseAction
diff --git a/chrome/browser/android/autofill_assistant/generic_ui_nested_controller_android.cc b/chrome/browser/android/autofill_assistant/generic_ui_nested_controller_android.cc
index c35eda2..89422593 100644
--- a/chrome/browser/android/autofill_assistant/generic_ui_nested_controller_android.cc
+++ b/chrome/browser/android/autofill_assistant/generic_ui_nested_controller_android.cc
@@ -231,7 +231,8 @@
       break;
     case ViewProto::kImageView: {
       auto jimage = ui_controller_android_utils::CreateJavaDrawable(
-          env, jcontext, proto.image_view().image());
+          env, jcontext, proto.image_view().image(),
+          interaction_handler->GetUserModel());
       if (!jimage) {
         VLOG(1) << "Failed to create image for " << proto.identifier();
         return nullptr;
diff --git a/chrome/browser/android/autofill_assistant/ui_controller_android_utils.cc b/chrome/browser/android/autofill_assistant/ui_controller_android_utils.cc
index 1afb280..db937158 100644
--- a/chrome/browser/android/autofill_assistant/ui_controller_android_utils.cc
+++ b/chrome/browser/android/autofill_assistant/ui_controller_android_utils.cc
@@ -136,7 +136,8 @@
 base::android::ScopedJavaLocalRef<jobject> CreateJavaDrawable(
     JNIEnv* env,
     const base::android::ScopedJavaLocalRef<jobject>& jcontext,
-    const DrawableProto& proto) {
+    const DrawableProto& proto,
+    const UserModel* user_model) {
   switch (proto.drawable_case()) {
     case DrawableProto::kResourceIdentifier:
       if (!Java_AssistantDrawable_isValidDrawableResource(
@@ -190,6 +191,20 @@
       return Java_AssistantDrawable_createFromBase64(
           env, base::android::ToJavaByteArray(env, proto.base64()));
     }
+    case DrawableProto::kFavicon: {
+      if (!user_model) {
+        VLOG(1) << "User model missing while trying to create a favicon.";
+        return nullptr;
+      }
+      int diameter_size_in_pixel =
+          ui_controller_android_utils::GetPixelSizeOrDefault(
+              env, jcontext, proto.favicon().diameter_size(), 0);
+      return Java_AssistantDrawable_createFromFavicon(
+          env,
+          base::android::ConvertUTF8ToJavaString(
+              env, user_model->GetCurrentURL().spec()),
+          diameter_size_in_pixel, proto.favicon().force_monogram());
+    }
     case DrawableProto::DRAWABLE_NOT_SET:
       return nullptr;
   }
diff --git a/chrome/browser/android/autofill_assistant/ui_controller_android_utils.h b/chrome/browser/android/autofill_assistant/ui_controller_android_utils.h
index 752969e8e..78a54946 100644
--- a/chrome/browser/android/autofill_assistant/ui_controller_android_utils.h
+++ b/chrome/browser/android/autofill_assistant/ui_controller_android_utils.h
@@ -12,7 +12,9 @@
 #include "base/android/jni_android.h"
 #include "base/optional.h"
 #include "components/autofill_assistant/browser/service.pb.h"
+#include "components/autofill_assistant/browser/user_model.h"
 #include "components/autofill_assistant/browser/view_layout.pb.h"
+#include "url/gurl.h"
 
 namespace autofill_assistant {
 namespace ui_controller_android_utils {
@@ -51,7 +53,8 @@
 base::android::ScopedJavaLocalRef<jobject> CreateJavaDrawable(
     JNIEnv* env,
     const base::android::ScopedJavaLocalRef<jobject>& jcontext,
-    const DrawableProto& proto);
+    const DrawableProto& proto,
+    const UserModel* user_model = nullptr);
 
 // Returns the java equivalent of |proto|.
 base::android::ScopedJavaLocalRef<jobject> ToJavaValue(JNIEnv* env,
diff --git a/chrome/browser/android/contextualsearch/contextual_search_delegate.cc b/chrome/browser/android/contextualsearch/contextual_search_delegate.cc
index 9d71e4d..d096124a 100644
--- a/chrome/browser/android/contextualsearch/contextual_search_delegate.cc
+++ b/chrome/browser/android/contextualsearch/contextual_search_delegate.cc
@@ -145,12 +145,10 @@
   url_loader_.reset();
 
   // Decide if the URL should be sent with the context.
-  GURL page_url(web_contents->GetURL());
-  if (context_->CanSendBasePageUrl() &&
-      CanSendPageURL(page_url, ProfileManager::GetActiveUserProfile(),
-                     template_url_service_)) {
-    context_->SetBasePageUrl(page_url);
-  }
+  if (context_->CanSendBasePageUrl())
+    context_->SetBasePageUrl(web_contents->GetURL());
+
+  // Issue the resolve request.
   ResolveSearchTermFromContext();
 }
 
@@ -394,47 +392,6 @@
   return kDiscourseContextHeaderPrefix + encoded_context;
 }
 
-bool ContextualSearchDelegate::CanSendPageURL(
-    const GURL& current_page_url,
-    Profile* profile,
-    TemplateURLService* template_url_service) {
-  // Check whether there is a Finch parameter preventing us from sending the
-  // page URL.
-  if (field_trial_->IsSendBasePageURLDisabled())
-    return false;
-
-  // TODO(donnd): privacy review needed before launch.
-  // See https://crbug.com/1064141.
-  if (base::FeatureList::IsEnabled(chrome::android::kRelatedSearches)) {
-    return true;
-  }
-
-  // Ensure that the default search provider is Google.
-  const TemplateURL* default_search_provider =
-      template_url_service->GetDefaultSearchProvider();
-  bool is_default_search_provider_google =
-      default_search_provider &&
-      default_search_provider->url_ref().HasGoogleBaseURLs(
-          template_url_service->search_terms_data());
-  if (!is_default_search_provider_google)
-    return false;
-
-  // Only allow HTTP URLs or HTTPS URLs.
-  if (current_page_url.scheme() != url::kHttpScheme &&
-      (current_page_url.scheme() != url::kHttpsScheme))
-    return false;
-
-  // Check whether the user has enabled anonymous URL-keyed data collection
-  // from the unified consent service.
-  std::unique_ptr<UrlKeyedDataCollectionConsentHelper>
-      anonymized_unified_consent_url_helper =
-          UrlKeyedDataCollectionConsentHelper::
-              NewAnonymizedDataCollectionConsentHelper(
-                  ProfileManager::GetActiveUserProfile()->GetPrefs());
-  // If they have, then allow sending of the URL.
-  return anonymized_unified_consent_url_helper->IsEnabled();
-}
-
 // Decodes the given response from the search term resolution request and sets
 // the value of the given parameters.
 void ContextualSearchDelegate::DecodeSearchTermFromJsonResponse(
diff --git a/chrome/browser/android/contextualsearch/contextual_search_delegate.h b/chrome/browser/android/contextualsearch/contextual_search_delegate.h
index 48b764c..3689f716 100644
--- a/chrome/browser/android/contextualsearch/contextual_search_delegate.h
+++ b/chrome/browser/android/contextualsearch/contextual_search_delegate.h
@@ -27,7 +27,6 @@
 class SimpleURLLoader;
 }  // namespace network
 
-class Profile;
 class TemplateURLService;
 class ContextualSearchFieldTrial;
 
@@ -130,14 +129,6 @@
   // Populates and returns the discourse context.
   std::string GetDiscourseContext(const ContextualSearchContext& context);
 
-  // Checks if we can send the URL for this user. Several conditions are checked
-  // to make sure it's OK to send the URL.  These fall into two categories:
-  // 1) check if it's allowed by our policy, and 2) ensure that the user is
-  // already sending their URL browsing activity to Google.
-  bool CanSendPageURL(const GURL& current_page_url,
-                      Profile* profile,
-                      TemplateURLService* template_url_service);
-
   // Builds a Resolved Search Term by decoding the given JSON string.
   std::unique_ptr<ResolvedSearchTerm> GetResolvedSearchTermFromJson(
       int response_code,
diff --git a/chrome/browser/android/contextualsearch/contextual_search_field_trial.cc b/chrome/browser/android/contextualsearch/contextual_search_field_trial.cc
index 6a56473..79daac7 100644
--- a/chrome/browser/android/contextualsearch/contextual_search_field_trial.cc
+++ b/chrome/browser/android/contextualsearch/contextual_search_field_trial.cc
@@ -19,7 +19,6 @@
 const char kContextualSearchSurroundingSizeParamName[] = "surrounding_size";
 const char kContextualSearchSampleSurroundingSizeParamName[] =
     "sample_surrounding_size";
-const char kContextualSearchSendURLDisabledParamName[] = "disable_send_url";
 const char kContextualSearchDecodeMentionsDisabledParamName[] =
     "disable_decode_mentions";
 
@@ -40,8 +39,6 @@
       surrounding_size_(0),
       is_sample_surrounding_size_cached_(false),
       sample_surrounding_size_(0),
-      is_send_base_page_url_disabled_cached_(false),
-      is_send_base_page_url_disabled_(false),
       is_decode_mentions_disabled_cached_(false),
       is_decode_mentions_disabled_(false),
       is_contextual_cards_version_cached_(false),
@@ -73,12 +70,6 @@
       &is_sample_surrounding_size_cached_, &sample_surrounding_size_);
 }
 
-bool ContextualSearchFieldTrial::IsSendBasePageURLDisabled() {
-  return GetBooleanParam(kContextualSearchSendURLDisabledParamName,
-                         &is_send_base_page_url_disabled_cached_,
-                         &is_send_base_page_url_disabled_);
-}
-
 bool ContextualSearchFieldTrial::IsDecodeMentionsDisabled() {
   return GetBooleanParam(kContextualSearchDecodeMentionsDisabledParamName,
                          &is_decode_mentions_disabled_cached_,
diff --git a/chrome/browser/android/contextualsearch/contextual_search_field_trial.h b/chrome/browser/android/contextualsearch/contextual_search_field_trial.h
index c020c15..aad2981 100644
--- a/chrome/browser/android/contextualsearch/contextual_search_field_trial.h
+++ b/chrome/browser/android/contextualsearch/contextual_search_field_trial.h
@@ -28,9 +28,6 @@
   // Gets the size of the surrounding text to return as a sample to Java.
   int GetSampleSurroundingSize();
 
-  // Gets whether sending the URL of the base page is disabled.
-  bool IsSendBasePageURLDisabled();
-
   // Gets whether decoding the mentions fields in the Resolve is disabled.
   bool IsDecodeMentionsDisabled();
 
@@ -81,9 +78,6 @@
   bool is_sample_surrounding_size_cached_;
   int sample_surrounding_size_;
 
-  bool is_send_base_page_url_disabled_cached_;
-  bool is_send_base_page_url_disabled_;
-
   bool is_decode_mentions_disabled_cached_;
   bool is_decode_mentions_disabled_;
 
diff --git a/chrome/browser/android/contextualsearch/contextual_search_field_trial_unittest.cc b/chrome/browser/android/contextualsearch/contextual_search_field_trial_unittest.cc
index a0a08f2..d7c91baa 100644
--- a/chrome/browser/android/contextualsearch/contextual_search_field_trial_unittest.cc
+++ b/chrome/browser/android/contextualsearch/contextual_search_field_trial_unittest.cc
@@ -104,35 +104,6 @@
       field_trial_->GetSampleSurroundingSize());
 }
 
-TEST_F(ContextualSearchFieldTrialTest, BooleanDefaultValue) {
-  // Should return this default value.
-  EXPECT_FALSE(field_trial_->IsSendBasePageURLDisabled());
-}
-
-TEST_F(ContextualSearchFieldTrialTest, BooleanParamOverrides) {
-  // Params override defaults.
-  field_trial_->SetParamValue("any");
-  EXPECT_TRUE(field_trial_->IsSendBasePageURLDisabled());
-}
-
-TEST_F(ContextualSearchFieldTrialTest, BooleanFalseParam) {
-  field_trial_->SetParamValue("false");
-  EXPECT_FALSE(field_trial_->IsSendBasePageURLDisabled());
-}
-
-TEST_F(ContextualSearchFieldTrialTest, BooleanSwitchOverrides) {
-  field_trial_->SetParamValue("false");
-  // Switches override params.
-  field_trial_->SetSwitchValue("any");
-  EXPECT_TRUE(field_trial_->IsSendBasePageURLDisabled());
-}
-
-TEST_F(ContextualSearchFieldTrialTest, BooleanEmptySwitch) {
-  // An empty switch that's present should return true;
-  field_trial_->SetSwitchValue("");
-  EXPECT_TRUE(field_trial_->IsSendBasePageURLDisabled());
-}
-
 TEST_F(ContextualSearchFieldTrialTest, StringDefaultEmpty) {
   // Default should return an empty string.
   EXPECT_TRUE(field_trial_->GetResolverURLPrefix().empty());
diff --git a/chrome/browser/apps/intent_helper/apps_navigation_throttle.h b/chrome/browser/apps/intent_helper/apps_navigation_throttle.h
index d719704..ec8e0d5 100644
--- a/chrome/browser/apps/intent_helper/apps_navigation_throttle.h
+++ b/chrome/browser/apps/intent_helper/apps_navigation_throttle.h
@@ -199,7 +199,7 @@
 
   virtual bool ShouldCancelNavigation(content::NavigationHandle* handle);
 
-  void ShowIntentPickerForApps(
+  virtual void ShowIntentPickerForApps(
       content::WebContents* web_contents,
       IntentPickerAutoDisplayService* ui_auto_display_service,
       const GURL& url,
diff --git a/chrome/browser/browsing_data/access_context_audit_database.cc b/chrome/browser/browsing_data/access_context_audit_database.cc
index d3de79b..676e6d82 100644
--- a/chrome/browser/browsing_data/access_context_audit_database.cc
+++ b/chrome/browser/browsing_data/access_context_audit_database.cc
@@ -4,7 +4,10 @@
 
 #include "chrome/browser/browsing_data/access_context_audit_database.h"
 
+#include "base/files/file_util.h"
 #include "base/logging.h"
+#include "base/metrics/histogram_functions.h"
+#include "base/rand_util.h"
 #include "net/cookies/cookie_util.h"
 #include "sql/database.h"
 #include "sql/error_delegate_util.h"
@@ -178,6 +181,10 @@
     DeleteNonPersistentCookies(&db_);
 
   transaction.Commit();
+
+  // Computing metrics is costly, only perform it in 1% of startups.
+  if (base::RandInt(1, 100) == 50)
+    ComputeDatabaseMetrics();
 }
 
 bool AccessContextAuditDatabase::InitializeSchema() {
@@ -219,6 +226,58 @@
   return db_.Execute(create_table.c_str());
 }
 
+void AccessContextAuditDatabase::ComputeDatabaseMetrics() {
+  // Calculate database file size in KB.
+  int64_t file_size = 0;
+  if (!base::GetFileSize(db_file_path_, &file_size))
+    return;
+  base::UmaHistogramMemoryKB("Privacy.AccessContextAudit.DatabaseSize",
+                             static_cast<int>(file_size / 1024));
+
+  // Count the total number of records stored.
+  std::string record_count =
+      "SELECT (SELECT COUNT(*) FROM cookies) + "
+      "(SELECT COUNT(*) FROM originStorageAPIs)";
+  sql::Statement record_count_statement(
+      db_.GetCachedStatement(SQL_FROM_HERE, record_count.c_str()));
+  base::UmaHistogramCounts100000(
+      "Privacy.AccessContextAudit.RecordCount",
+      record_count_statement.Step() ? record_count_statement.ColumnInt(0) : 0);
+
+  // Count the unique number of unique top frame origins.
+  std::string top_frame_origin_count =
+      "SELECT COUNT(*) FROM (SELECT DISTINCT top_frame_origin FROM cookies"
+      " UNION SELECT DISTINCT top_frame_origin FROM originStorageAPIs)";
+  sql::Statement top_frame_origin_count_statement(
+      db_.GetCachedStatement(SQL_FROM_HERE, top_frame_origin_count.c_str()));
+  base::UmaHistogramCounts10000(
+      "Privacy.AccessContextAudit.TopFrameOriginCount",
+      top_frame_origin_count_statement.Step()
+          ? top_frame_origin_count_statement.ColumnInt(0)
+          : 0);
+
+  // Count the number of unique origins using origin keyed storage APIs.
+  std::string storage_origin_count =
+      "SELECT COUNT(DISTINCT origin) FROM originStorageAPIs";
+  sql::Statement storage_origin_count_statement(
+      db_.GetCachedStatement(SQL_FROM_HERE, storage_origin_count.c_str()));
+  base::UmaHistogramCounts10000(
+      "Privacy.AccessContextAudit.StorageOriginCount",
+      storage_origin_count_statement.Step()
+          ? storage_origin_count_statement.ColumnInt(0)
+          : 0);
+
+  // Count the number of unique cookie domains.
+  std::string cookie_domain_count =
+      "SELECT COUNT(DISTINCT domain) FROM cookies";
+  sql::Statement cookie_domain_count_statement(
+      db_.GetCachedStatement(SQL_FROM_HERE, cookie_domain_count.c_str()));
+  base::UmaHistogramCounts10000("Privacy.AccessContextAudit.CookieDomainCount",
+                                cookie_domain_count_statement.Step()
+                                    ? cookie_domain_count_statement.ColumnInt(0)
+                                    : 0);
+}
+
 void AccessContextAuditDatabase::AddRecords(
     const std::vector<AccessContextAuditDatabase::AccessRecord>& records) {
   sql::Transaction transaction(&db_);
diff --git a/chrome/browser/browsing_data/access_context_audit_database.h b/chrome/browser/browsing_data/access_context_audit_database.h
index 7276318..7642a99 100644
--- a/chrome/browser/browsing_data/access_context_audit_database.h
+++ b/chrome/browser/browsing_data/access_context_audit_database.h
@@ -77,6 +77,9 @@
   // Initialises internal database. Must be called prior to any other usage.
   void Init(bool restore_non_persistent_cookies);
 
+  // Calculates and reports various database metrics.
+  void ComputeDatabaseMetrics();
+
   // Persists the provided list of |records| in the database.
   void AddRecords(const std::vector<AccessRecord>& records);
 
diff --git a/chrome/browser/browsing_data/access_context_audit_database_unittest.cc b/chrome/browser/browsing_data/access_context_audit_database_unittest.cc
index 59680bc..04906e7 100644
--- a/chrome/browser/browsing_data/access_context_audit_database_unittest.cc
+++ b/chrome/browser/browsing_data/access_context_audit_database_unittest.cc
@@ -5,8 +5,10 @@
 #include "chrome/browser/browsing_data/access_context_audit_database.h"
 
 #include "base/bind_helpers.h"
+#include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
 #include "base/test/bind_test_util.h"
+#include "base/test/metrics/histogram_tester.h"
 #include "components/content_settings/core/common/content_settings_utils.h"
 #include "sql/database.h"
 #include "sql/test/scoped_error_expecter.h"
@@ -192,6 +194,52 @@
   EXPECT_EQ(4u, sql::test::CountTableColumns(&raw_db, "originStorageAPIs"));
 }
 
+TEST_F(AccessContextAuditDatabaseTest, ComputeDatabaseMetrics) {
+  auto test_records = GetTestRecords();
+  OpenDatabase();
+  database()->AddRecords(test_records);
+
+  base::HistogramTester histogram_tester;
+  database()->ComputeDatabaseMetrics();
+
+  // Check total number of records was recorded.
+  histogram_tester.ExpectUniqueSample("Privacy.AccessContextAudit.RecordCount",
+                                      test_records.size(), 1);
+
+  // Check database file size was recorded in KB.
+  int64_t file_size;
+  base::GetFileSize(db_path(), &file_size);
+  histogram_tester.ExpectUniqueSample("Privacy.AccessContextAudit.DatabaseSize",
+                                      static_cast<int>(file_size / 1024), 1);
+
+  // Check unique top frame origin count was recorded.
+  std::set<url::Origin> top_frame_origins;
+  for (const auto& record : test_records)
+    top_frame_origins.insert(record.top_frame_origin);
+  histogram_tester.ExpectUniqueSample(
+      "Privacy.AccessContextAudit.TopFrameOriginCount",
+      top_frame_origins.size(), 1);
+
+  // Check unique cookie domain count was recorded.
+  std::set<std::string> cookie_domains;
+  for (const auto& record : test_records) {
+    if (record.type == AccessContextAuditDatabase::StorageAPIType::kCookie)
+      cookie_domains.insert(record.domain);
+  }
+  histogram_tester.ExpectUniqueSample(
+      "Privacy.AccessContextAudit.CookieDomainCount", cookie_domains.size(), 1);
+
+  // Check unique cookie domain count was recorded.
+  std::set<url::Origin> storage_origins;
+  for (const auto& record : test_records) {
+    if (record.type != AccessContextAuditDatabase::StorageAPIType::kCookie)
+      storage_origins.insert(record.origin);
+  }
+  histogram_tester.ExpectUniqueSample(
+      "Privacy.AccessContextAudit.StorageOriginCount", storage_origins.size(),
+      1);
+}
+
 TEST_F(AccessContextAuditDatabaseTest, IsPersistentSchemaMigration) {
   // Check that the database opens and functions correctly when a database
   // with a cookies table, but without an is_persistent field, is present.
diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser/chrome_browser_interface_binders.cc
index 17c4bf7..91edd4c 100644
--- a/chrome/browser/chrome_browser_interface_binders.cc
+++ b/chrome/browser/chrome_browser_interface_binders.cc
@@ -25,6 +25,7 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ssl/insecure_sensitive_input_driver_factory.h"
 #include "chrome/browser/ssl/security_state_tab_helper.h"
+#include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/webui/bluetooth_internals/bluetooth_internals.mojom.h"
 #include "chrome/browser/ui/webui/bluetooth_internals/bluetooth_internals_ui.h"
 #include "chrome/browser/ui/webui/engagement/site_engagement_ui.h"
@@ -119,6 +120,8 @@
 #include "chrome/browser/ui/webui/nearby_share/public/mojom/nearby_share_settings.mojom.h"
 #include "chrome/browser/ui/webui/new_tab_page/new_tab_page.mojom.h"
 #include "chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h"
+#include "chrome/browser/ui/webui/read_later/read_later.mojom.h"
+#include "chrome/browser/ui/webui/read_later/read_later_ui.h"
 #include "chrome/browser/ui/webui/tab_search/tab_search.mojom.h"
 #include "chrome/browser/ui/webui/tab_search/tab_search_ui.h"
 #include "chrome/common/caption.mojom.h"
@@ -528,6 +531,11 @@
   RegisterWebUIControllerInterfaceBinder<media_feeds::mojom::MediaFeedsStore,
                                          MediaFeedsUI>(map);
 
+  if (base::FeatureList::IsEnabled(features::kReadLater)) {
+    RegisterWebUIControllerInterfaceBinder<
+        read_later::mojom::PageHandlerFactory, ReadLaterUI>(map);
+  }
+
   RegisterWebUIControllerInterfaceBinder<tab_search::mojom::PageHandlerFactory,
                                          TabSearchUI>(map);
 
@@ -554,7 +562,8 @@
 
   RegisterWebUIControllerInterfaceBinder<
       chromeos::cellular_setup::mojom::CellularSetup,
-      chromeos::cellular_setup::CellularSetupDialogUI>(map);
+      chromeos::cellular_setup::CellularSetupDialogUI,
+      chromeos::settings::OSSettingsUI>(map);
 
   RegisterWebUIControllerInterfaceBinder<
       chromeos::crostini_installer::mojom::PageHandlerFactory,
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn
index c7e42e38..a245944 100644
--- a/chrome/browser/chromeos/BUILD.gn
+++ b/chrome/browser/chromeos/BUILD.gn
@@ -379,6 +379,8 @@
   ]
 
   sources = [
+    "accessibility/accessibility_event_rewriter_delegate.cc",
+    "accessibility/accessibility_event_rewriter_delegate.h",
     "accessibility/accessibility_extension_loader.cc",
     "accessibility/accessibility_extension_loader.h",
     "accessibility/accessibility_input_method_observer.cc",
@@ -398,10 +400,6 @@
     "accessibility/magnifier_type.h",
     "accessibility/select_to_speak_event_handler_delegate.cc",
     "accessibility/select_to_speak_event_handler_delegate.h",
-    "accessibility/spoken_feedback_event_rewriter_delegate.cc",
-    "accessibility/spoken_feedback_event_rewriter_delegate.h",
-    "accessibility/switch_access_event_handler_delegate.cc",
-    "accessibility/switch_access_event_handler_delegate.h",
     "account_manager/account_manager_migrator.cc",
     "account_manager/account_manager_migrator.h",
     "account_manager/account_manager_policy_controller.cc",
@@ -1909,8 +1907,10 @@
     "platform_keys/extension_platform_keys_service.h",
     "platform_keys/extension_platform_keys_service_factory.cc",
     "platform_keys/extension_platform_keys_service_factory.h",
-    "platform_keys/key_permissions/key_permissions.cc",
-    "platform_keys/key_permissions/key_permissions.h",
+    "platform_keys/key_permissions/key_permissions_manager.cc",
+    "platform_keys/key_permissions/key_permissions_manager.h",
+    "platform_keys/key_permissions/key_permissions_manager_user_service.cc",
+    "platform_keys/key_permissions/key_permissions_manager_user_service.h",
     "platform_keys/key_permissions/key_permissions_policy_handler.cc",
     "platform_keys/key_permissions/key_permissions_policy_handler.h",
     "platform_keys/platform_keys.cc",
@@ -3477,6 +3477,7 @@
     "printing/printer_event_tracker_unittest.cc",
     "printing/printers_map_unittest.cc",
     "printing/printers_sync_bridge_unittest.cc",
+    "printing/server_printers_provider_unittest.cc",
     "printing/specifics_translation_unittest.cc",
     "printing/synced_printers_manager_unittest.cc",
     "printing/test_cups_print_job_manager.cc",
@@ -3532,7 +3533,6 @@
     "system/device_disabling_manager_unittest.cc",
     "system/procfs_util_unittest.cc",
     "system/user_removal_manager_unittest.cc",
-    "system_logs/debug_daemon_log_source_unittest.cc",
     "system_logs/shill_log_source_unittest.cc",
     "system_logs/single_debug_daemon_log_source_unittest.cc",
     "system_logs/single_log_file_log_source_unittest.cc",
diff --git a/chrome/browser/chromeos/DEPS b/chrome/browser/chromeos/DEPS
index fe6631a..9984e3a8 100644
--- a/chrome/browser/chromeos/DEPS
+++ b/chrome/browser/chromeos/DEPS
@@ -52,8 +52,4 @@
     "+chrome/browser/ui/views/extensions/extension_dialog.h",
     "+chrome/browser/ui/views/select_file_dialog_extension.h",
   ],
-  "server_printers_fetcher\.cc": [
-    # IPP protocol; it is needed for communication with print servers.
-    "+third_party/libipp/libipp/ipp.h",
-  ],
 }
diff --git a/chrome/browser/chromeos/accessibility/accessibility_event_rewriter_delegate.cc b/chrome/browser/chromeos/accessibility/accessibility_event_rewriter_delegate.cc
new file mode 100644
index 0000000..747616a
--- /dev/null
+++ b/chrome/browser/chromeos/accessibility/accessibility_event_rewriter_delegate.cc
@@ -0,0 +1,127 @@
+// 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/chromeos/accessibility/accessibility_event_rewriter_delegate.h"
+
+#include "ash/public/cpp/accessibility_controller_enums.h"
+#include "ash/public/cpp/event_rewriter_controller.h"
+#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
+#include "chrome/browser/chromeos/accessibility/event_handler_common.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "chrome/browser/ui/aura/accessibility/automation_manager_aura.h"
+#include "chrome/common/extensions/api/accessibility_private.h"
+#include "chrome/common/extensions/extension_constants.h"
+#include "components/arc/arc_util.h"
+#include "components/exo/wm_helper.h"
+#include "content/public/browser/browser_thread.h"
+#include "content/public/browser/native_web_keyboard_event.h"
+#include "content/public/browser/web_contents.h"
+#include "extensions/browser/event_router.h"
+#include "extensions/browser/extension_host.h"
+#include "extensions/common/constants.h"
+#include "ui/accessibility/ax_enums.mojom.h"
+#include "ui/events/event.h"
+
+namespace {
+
+std::string AccessibilityPrivateEnumForCommand(
+    ash::SwitchAccessCommand command) {
+  switch (command) {
+    case ash::SwitchAccessCommand::kSelect:
+      return extensions::api::accessibility_private::ToString(
+          extensions::api::accessibility_private::SWITCH_ACCESS_COMMAND_SELECT);
+    case ash::SwitchAccessCommand::kNext:
+      return extensions::api::accessibility_private::ToString(
+          extensions::api::accessibility_private::SWITCH_ACCESS_COMMAND_NEXT);
+    case ash::SwitchAccessCommand::kPrevious:
+      return extensions::api::accessibility_private::ToString(
+          extensions::api::accessibility_private::
+              SWITCH_ACCESS_COMMAND_PREVIOUS);
+    case ash::SwitchAccessCommand::kNone:
+      NOTREACHED();
+      return "";
+  }
+}
+
+}  // namespace
+
+AccessibilityEventRewriterDelegate::AccessibilityEventRewriterDelegate() {
+  // If WMHelper doesn't exist, do nothing. This occurs in tests.
+  if (exo::WMHelper::HasInstance())
+    exo::WMHelper::GetInstance()->AddActivationObserver(this);
+}
+
+AccessibilityEventRewriterDelegate::~AccessibilityEventRewriterDelegate() {
+  // If WMHelper is already destroyed, do nothing.
+  // TODO(crbug.com/748380): Fix shutdown order.
+  if (exo::WMHelper::HasInstance())
+    exo::WMHelper::GetInstance()->RemoveActivationObserver(this);
+}
+
+void AccessibilityEventRewriterDelegate::DispatchKeyEventToChromeVox(
+    std::unique_ptr<ui::Event> event,
+    bool capture) {
+  extensions::ExtensionHost* host = chromeos::GetAccessibilityExtensionHost(
+      extension_misc::kChromeVoxExtensionId);
+  if (!host)
+    return;
+
+  // Listen for any unhandled keyboard events from ChromeVox's background page
+  // when capturing keys to reinject.
+  host->host_contents()->SetDelegate(capture ? this : nullptr);
+
+  // Forward the event to ChromeVox's background page.
+  chromeos::ForwardKeyToExtension(*(event->AsKeyEvent()), host);
+}
+
+void AccessibilityEventRewriterDelegate::DispatchMouseEventToChromeVox(
+    std::unique_ptr<ui::Event> event) {
+  if (is_arc_window_active_)
+    return;
+
+  if (event->type() == ui::ET_MOUSE_MOVED) {
+    AutomationManagerAura::GetInstance()->HandleEvent(
+        ax::mojom::Event::kMouseMoved);
+  }
+}
+
+void AccessibilityEventRewriterDelegate::SendSwitchAccessCommand(
+    ash::SwitchAccessCommand command) {
+  extensions::EventRouter* event_router = extensions::EventRouter::Get(
+      chromeos::AccessibilityManager::Get()->profile());
+
+  auto event_args = std::make_unique<base::ListValue>();
+  event_args->AppendString(AccessibilityPrivateEnumForCommand(command));
+
+  auto event = std::make_unique<extensions::Event>(
+      extensions::events::ACCESSIBILITY_PRIVATE_ON_SWITCH_ACCESS_COMMAND,
+      extensions::api::accessibility_private::OnSwitchAccessCommand::kEventName,
+      std::move(event_args));
+
+  event_router->DispatchEventWithLazyListener(
+      extension_misc::kSwitchAccessExtensionId, std::move(event));
+}
+
+void AccessibilityEventRewriterDelegate::OnUnhandledSpokenFeedbackEvent(
+    std::unique_ptr<ui::Event> event) const {
+  ash::EventRewriterController::Get()->OnUnhandledSpokenFeedbackEvent(
+      std::move(event));
+}
+
+bool AccessibilityEventRewriterDelegate::HandleKeyboardEvent(
+    content::WebContents* source,
+    const content::NativeWebKeyboardEvent& event) {
+  OnUnhandledSpokenFeedbackEvent(ui::Event::Clone(*event.os_event));
+  return true;
+}
+
+void AccessibilityEventRewriterDelegate::OnWindowActivated(
+    ActivationReason reason,
+    aura::Window* gained_active,
+    aura::Window* lost_active) {
+  if (gained_active == lost_active)
+    return;
+
+  is_arc_window_active_ = arc::IsArcAppWindow(gained_active);
+}
diff --git a/chrome/browser/chromeos/accessibility/accessibility_event_rewriter_delegate.h b/chrome/browser/chromeos/accessibility/accessibility_event_rewriter_delegate.h
new file mode 100644
index 0000000..e91ebbd
--- /dev/null
+++ b/chrome/browser/chromeos/accessibility/accessibility_event_rewriter_delegate.h
@@ -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.
+
+#ifndef CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_ACCESSIBILITY_EVENT_REWRITER_DELEGATE_H_
+#define CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_ACCESSIBILITY_EVENT_REWRITER_DELEGATE_H_
+
+#include <memory>
+
+#include "ash/public/cpp/accessibility_event_rewriter_delegate.h"
+#include "base/macros.h"
+#include "content/public/browser/web_contents_delegate.h"
+#include "ui/wm/public/activation_change_observer.h"
+
+namespace ash {
+enum class SwitchAccessCommand;
+}
+
+// Passes key events from Ash's EventRewriter to accessibility component
+// extension code. Used by ChromeVox and Switch Access. Reports ChromeVox's
+// unhandled key events back to Ash for continued dispatch.
+// TODO(http://crbug.com/839541): Avoid reposting unhandled events.
+class AccessibilityEventRewriterDelegate
+    : public ash::AccessibilityEventRewriterDelegate,
+      public content::WebContentsDelegate,
+      public wm::ActivationChangeObserver {
+ public:
+  AccessibilityEventRewriterDelegate();
+  AccessibilityEventRewriterDelegate(
+      const AccessibilityEventRewriterDelegate&) = delete;
+  AccessibilityEventRewriterDelegate& operator=(
+      const AccessibilityEventRewriterDelegate&) = delete;
+  ~AccessibilityEventRewriterDelegate() override;
+
+  // ash::AccessibilityEventRewriterDelegate:
+  void DispatchKeyEventToChromeVox(std::unique_ptr<ui::Event> event,
+                                   bool capture) override;
+  void DispatchMouseEventToChromeVox(std::unique_ptr<ui::Event> event) override;
+  void SendSwitchAccessCommand(ash::SwitchAccessCommand command) override;
+
+ private:
+  // Reports unhandled key events to the EventRewriterController for dispatch.
+  void OnUnhandledSpokenFeedbackEvent(std::unique_ptr<ui::Event> event) const;
+
+  // WebContentsDelegate:
+  bool HandleKeyboardEvent(
+      content::WebContents* source,
+      const content::NativeWebKeyboardEvent& event) override;
+
+  // wm::ActivationChangeObserver overrides.
+  void OnWindowActivated(ActivationReason reason,
+                         aura::Window* gained_active,
+                         aura::Window* lost_active) override;
+
+  bool is_arc_window_active_ = false;
+};
+
+#endif  // CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_ACCESSIBILITY_EVENT_REWRITER_DELEGATE_H_
diff --git a/chrome/browser/chromeos/accessibility/accessibility_manager.cc b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
index c3d4933..e977385 100644
--- a/chrome/browser/chromeos/accessibility/accessibility_manager.cc
+++ b/chrome/browser/chromeos/accessibility/accessibility_manager.cc
@@ -41,7 +41,6 @@
 #include "chrome/browser/chromeos/accessibility/dictation_chromeos.h"
 #include "chrome/browser/chromeos/accessibility/magnification_manager.h"
 #include "chrome/browser/chromeos/accessibility/select_to_speak_event_handler_delegate.h"
-#include "chrome/browser/chromeos/accessibility/switch_access_event_handler_delegate.h"
 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
@@ -910,11 +909,6 @@
   NotifyAccessibilityStatusChanged(details);
 
   if (enabled) {
-    // Construct a delegate to connect Switch Access and its EventHandler in
-    // ash. Do this before loading Switch Access so the keys_to_capture will
-    // be properly set.
-    switch_access_event_handler_delegate_ =
-        std::make_unique<SwitchAccessEventHandlerDelegate>();
     switch_access_loader_->Load(
         profile_,
         base::BindRepeating(&AccessibilityManager::PostLoadSwitchAccess,
@@ -924,7 +918,6 @@
 
 void AccessibilityManager::OnSwitchAccessDisabled() {
   switch_access_loader_->Unload();
-  switch_access_event_handler_delegate_.reset();
 }
 
 bool AccessibilityManager::IsBrailleDisplayConnected() const {
diff --git a/chrome/browser/chromeos/accessibility/accessibility_manager.h b/chrome/browser/chromeos/accessibility/accessibility_manager.h
index 832fcaf..3e7c8df 100644
--- a/chrome/browser/chromeos/accessibility/accessibility_manager.h
+++ b/chrome/browser/chromeos/accessibility/accessibility_manager.h
@@ -36,7 +36,6 @@
 #include "ui/base/ime/chromeos/input_method_manager.h"
 
 class Browser;
-class SwitchAccessEventHandlerDelegate;
 
 namespace ash {
 struct AccessibilityFocusRingInfo;
@@ -284,9 +283,6 @@
     return keyboard_listener_extension_id_;
   }
 
-  // Set the keys to be captured by Switch Access.
-  void SetSwitchAccessKeys(const std::set<int>& key_codes);
-
   // Unloads Switch Access.
   void OnSwitchAccessDisabled();
 
@@ -478,9 +474,6 @@
 
   std::unique_ptr<AccessibilityExtensionLoader> switch_access_loader_;
 
-  std::unique_ptr<SwitchAccessEventHandlerDelegate>
-      switch_access_event_handler_delegate_;
-
   std::map<std::string, std::set<std::string>>
       focus_ring_names_for_extension_id_;
 
diff --git a/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_delegate.cc b/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_delegate.cc
deleted file mode 100644
index 6b4b730..0000000
--- a/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_delegate.cc
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2015 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/chromeos/accessibility/spoken_feedback_event_rewriter_delegate.h"
-
-#include "ash/public/cpp/event_rewriter_controller.h"
-#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
-#include "chrome/browser/chromeos/accessibility/event_handler_common.h"
-#include "chrome/browser/ui/aura/accessibility/automation_manager_aura.h"
-#include "components/arc/arc_util.h"
-#include "components/exo/wm_helper.h"
-#include "content/public/browser/native_web_keyboard_event.h"
-#include "content/public/browser/web_contents.h"
-#include "extensions/browser/extension_host.h"
-#include "extensions/common/constants.h"
-#include "ui/accessibility/ax_enums.mojom.h"
-#include "ui/events/event.h"
-
-SpokenFeedbackEventRewriterDelegate::SpokenFeedbackEventRewriterDelegate() {
-  // If WMHelper doesn't exist, do nothing. This occurs in tests.
-  if (exo::WMHelper::HasInstance())
-    exo::WMHelper::GetInstance()->AddActivationObserver(this);
-}
-
-SpokenFeedbackEventRewriterDelegate::~SpokenFeedbackEventRewriterDelegate() {
-  // If WMHelper is already destroyed, do nothing.
-  // TODO(crbug.com/748380): Fix shutdown order.
-  if (exo::WMHelper::HasInstance())
-    exo::WMHelper::GetInstance()->RemoveActivationObserver(this);
-}
-
-void SpokenFeedbackEventRewriterDelegate::DispatchKeyEventToChromeVox(
-    std::unique_ptr<ui::Event> event,
-    bool capture) {
-  extensions::ExtensionHost* host = chromeos::GetAccessibilityExtensionHost(
-      extension_misc::kChromeVoxExtensionId);
-  if (!host)
-    return;
-
-  // Listen for any unhandled keyboard events from ChromeVox's background page
-  // when capturing keys to reinject.
-  host->host_contents()->SetDelegate(capture ? this : nullptr);
-
-  // Forward the event to ChromeVox's background page.
-  chromeos::ForwardKeyToExtension(*(event->AsKeyEvent()), host);
-}
-
-void SpokenFeedbackEventRewriterDelegate::OnWindowActivated(
-    ActivationReason reason,
-    aura::Window* gained_active,
-    aura::Window* lost_active) {
-  if (gained_active == lost_active)
-    return;
-
-  is_arc_window_active_ = arc::IsArcAppWindow(gained_active);
-}
-
-void SpokenFeedbackEventRewriterDelegate::DispatchMouseEventToChromeVox(
-    std::unique_ptr<ui::Event> event) {
-  if (is_arc_window_active_)
-    return;
-
-  if (event->type() == ui::ET_MOUSE_MOVED) {
-    AutomationManagerAura::GetInstance()->HandleEvent(
-        ax::mojom::Event::kMouseMoved);
-  }
-}
-
-void SpokenFeedbackEventRewriterDelegate::OnUnhandledSpokenFeedbackEvent(
-    std::unique_ptr<ui::Event> event) const {
-  ash::EventRewriterController::Get()->OnUnhandledSpokenFeedbackEvent(
-      std::move(event));
-}
-
-bool SpokenFeedbackEventRewriterDelegate::HandleKeyboardEvent(
-    content::WebContents* source,
-    const content::NativeWebKeyboardEvent& event) {
-  OnUnhandledSpokenFeedbackEvent(ui::Event::Clone(*event.os_event));
-  return true;
-}
diff --git a/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_delegate.h b/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_delegate.h
deleted file mode 100644
index 3c166d4..0000000
--- a/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_delegate.h
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2015 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_CHROMEOS_ACCESSIBILITY_SPOKEN_FEEDBACK_EVENT_REWRITER_DELEGATE_H_
-#define CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_SPOKEN_FEEDBACK_EVENT_REWRITER_DELEGATE_H_
-
-#include <memory>
-
-#include "ash/public/cpp/spoken_feedback_event_rewriter_delegate.h"
-#include "base/macros.h"
-#include "content/public/browser/web_contents_delegate.h"
-#include "ui/wm/public/activation_change_observer.h"
-
-// Passes key events from Ash's EventRewriter to the ChromeVox extension code.
-// Reports ChromeVox's unhandled key events back to Ash for continued dispatch.
-// TODO(http://crbug.com/839541): Avoid reposting unhandled events.
-class SpokenFeedbackEventRewriterDelegate
-    : public ash::SpokenFeedbackEventRewriterDelegate,
-      public content::WebContentsDelegate,
-      public wm::ActivationChangeObserver {
- public:
-  SpokenFeedbackEventRewriterDelegate();
-  ~SpokenFeedbackEventRewriterDelegate() override;
-
-  // ash::SpokenFeedbackEventRewriterDelegate:
-  void DispatchKeyEventToChromeVox(std::unique_ptr<ui::Event> event,
-                                   bool capture) override;
-  void DispatchMouseEventToChromeVox(std::unique_ptr<ui::Event> event) override;
-
- private:
-  // Reports unhandled key events to the EventRewriterController for dispatch.
-  void OnUnhandledSpokenFeedbackEvent(std::unique_ptr<ui::Event> event) const;
-
-  // WebContentsDelegate:
-  bool HandleKeyboardEvent(
-      content::WebContents* source,
-      const content::NativeWebKeyboardEvent& event) override;
-
-  // wm::ActivationChangeObserver overrides.
-  void OnWindowActivated(ActivationReason reason,
-                         aura::Window* gained_active,
-                         aura::Window* lost_active) override;
-
-  bool is_arc_window_active_ = false;
-
-  DISALLOW_COPY_AND_ASSIGN(SpokenFeedbackEventRewriterDelegate);
-};
-
-#endif  // CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_SPOKEN_FEEDBACK_EVENT_REWRITER_DELEGATE_H_
diff --git a/chrome/browser/chromeos/accessibility/switch_access_browsertest.cc b/chrome/browser/chromeos/accessibility/switch_access_browsertest.cc
index e32ec97f..ef20fca9 100644
--- a/chrome/browser/chromeos/accessibility/switch_access_browsertest.cc
+++ b/chrome/browser/chromeos/accessibility/switch_access_browsertest.cc
@@ -51,30 +51,10 @@
   void SetUpOnMainThread() override {}
 };
 
-IN_PROC_BROWSER_TEST_F(SwitchAccessTest, IgnoresVirtualKeyEvents) {
-  EnableSwitchAccess({'1', '2', '3', '4'});
-
-  // Load a webpage with a text box.
-  ui_test_utils::NavigateToURL(
-      browser(), GURL("data:text/html;charset=utf-8,<input type=text id=in>"));
-
-  // Put focus in the text box.
-  SendVirtualKeyPress(ui::KeyboardCode::VKEY_TAB);
-
-  // Send a virtual key event for one of the keys taken by Switch Access.
-  SendVirtualKeyPress(ui::KeyboardCode::VKEY_1);
-
-  // Check that the text field received the keystroke.
-  EXPECT_STREQ("1", GetInputString().c_str());
-}
+// TODO(anastasi): Add a test for typing with the virtual keyboard.
 
 IN_PROC_BROWSER_TEST_F(SwitchAccessTest, ConsumesKeyEvents) {
   EnableSwitchAccess({'1', '2', '3', '4'});
-  // Switch Access generally ignores virtual key events. Disable that for
-  // testing.
-  ash::AccessibilityController::Get()
-      ->SetSwitchAccessIgnoreVirtualKeyEventForTesting(false);
-
   // Load a webpage with a text box.
   ui_test_utils::NavigateToURL(
       browser(), GURL("data:text/html;charset=utf-8,<input type=text id=in>"));
diff --git a/chrome/browser/chromeos/accessibility/switch_access_event_handler_delegate.cc b/chrome/browser/chromeos/accessibility/switch_access_event_handler_delegate.cc
deleted file mode 100644
index 3fe6da1..0000000
--- a/chrome/browser/chromeos/accessibility/switch_access_event_handler_delegate.cc
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/chromeos/accessibility/switch_access_event_handler_delegate.h"
-
-#include <utility>
-
-#include "ash/public/cpp/accessibility_controller.h"
-#include "ash/public/cpp/accessibility_controller_enums.h"
-#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
-#include "chrome/browser/chromeos/profiles/profile_helper.h"
-#include "chrome/common/extensions/api/accessibility_private.h"
-#include "chrome/common/extensions/extension_constants.h"
-#include "content/public/browser/browser_thread.h"
-#include "extensions/browser/event_router.h"
-#include "extensions/browser/extension_host.h"
-
-namespace {
-
-std::string AccessibilityPrivateEnumForCommand(
-    ash::SwitchAccessCommand command) {
-  switch (command) {
-    case ash::SwitchAccessCommand::kSelect:
-      return extensions::api::accessibility_private::ToString(
-          extensions::api::accessibility_private::SWITCH_ACCESS_COMMAND_SELECT);
-    case ash::SwitchAccessCommand::kNext:
-      return extensions::api::accessibility_private::ToString(
-          extensions::api::accessibility_private::SWITCH_ACCESS_COMMAND_NEXT);
-    case ash::SwitchAccessCommand::kPrevious:
-      return extensions::api::accessibility_private::ToString(
-          extensions::api::accessibility_private::
-              SWITCH_ACCESS_COMMAND_PREVIOUS);
-    case ash::SwitchAccessCommand::kNone:
-      NOTREACHED();
-      return "";
-  }
-}
-
-}  // namespace
-
-SwitchAccessEventHandlerDelegate::SwitchAccessEventHandlerDelegate() {
-  ash::AccessibilityController::Get()->SetSwitchAccessEventHandlerDelegate(
-      this);
-}
-
-SwitchAccessEventHandlerDelegate::~SwitchAccessEventHandlerDelegate() {
-  if (auto* controller = ash::AccessibilityController::Get())
-    controller->SetSwitchAccessEventHandlerDelegate(nullptr);
-}
-
-void SwitchAccessEventHandlerDelegate::SendSwitchAccessCommand(
-    ash::SwitchAccessCommand command) {
-  extensions::EventRouter* event_router = extensions::EventRouter::Get(
-      chromeos::AccessibilityManager::Get()->profile());
-
-  auto event_args = std::make_unique<base::ListValue>();
-  event_args->AppendString(AccessibilityPrivateEnumForCommand(command));
-
-  auto event = std::make_unique<extensions::Event>(
-      extensions::events::ACCESSIBILITY_PRIVATE_ON_SWITCH_ACCESS_COMMAND,
-      extensions::api::accessibility_private::OnSwitchAccessCommand::kEventName,
-      std::move(event_args));
-
-  event_router->DispatchEventWithLazyListener(
-      extension_misc::kSwitchAccessExtensionId, std::move(event));
-}
diff --git a/chrome/browser/chromeos/accessibility/switch_access_event_handler_delegate.h b/chrome/browser/chromeos/accessibility/switch_access_event_handler_delegate.h
deleted file mode 100644
index 1ae4969..0000000
--- a/chrome/browser/chromeos/accessibility/switch_access_event_handler_delegate.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_SWITCH_ACCESS_EVENT_HANDLER_DELEGATE_H_
-#define CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_SWITCH_ACCESS_EVENT_HANDLER_DELEGATE_H_
-
-#include "ash/public/cpp/switch_access_event_handler_delegate.h"
-#include "base/macros.h"
-
-namespace ash {
-enum class SwitchAccessCommand;
-}
-
-// SwitchAccessEventHandlerDelegate receives mouse and key events from Ash's
-// event handler and forwards them to the Switch Access extension in Chrome.
-class SwitchAccessEventHandlerDelegate
-    : public ash::SwitchAccessEventHandlerDelegate {
- public:
-  SwitchAccessEventHandlerDelegate();
-  virtual ~SwitchAccessEventHandlerDelegate();
-
- private:
-  // ash::SwitchAccessEventHandlerDelegate:
-  void SendSwitchAccessCommand(ash::SwitchAccessCommand command) override;
-
-  DISALLOW_COPY_AND_ASSIGN(SwitchAccessEventHandlerDelegate);
-};
-
-#endif  // CHROME_BROWSER_CHROMEOS_ACCESSIBILITY_SWITCH_ACCESS_EVENT_HANDLER_DELEGATE_H_
diff --git a/chrome/browser/chromeos/apps/intent_helper/common_apps_navigation_throttle.cc b/chrome/browser/chromeos/apps/intent_helper/common_apps_navigation_throttle.cc
index 96d6943c..163f16d 100644
--- a/chrome/browser/chromeos/apps/intent_helper/common_apps_navigation_throttle.cc
+++ b/chrome/browser/chromeos/apps/intent_helper/common_apps_navigation_throttle.cc
@@ -259,44 +259,30 @@
   return false;
 }
 
-bool CommonAppsNavigationThrottle::ShouldDeferNavigation(
-    content::NavigationHandle* handle) {
-  content::WebContents* web_contents = handle->GetWebContents();
-
-  const GURL& url = handle->GetURL();
-
-  std::vector<apps::IntentPickerAppInfo> apps_for_picker =
-      FindAllAppsForUrl(web_contents, url, {});
-
-  if (apps_for_picker.empty())
-    return false;
-
-  if (GetPickerShowState(apps_for_picker, web_contents, url) ==
-      PickerShowState::kOmnibox) {
-    return false;
+void CommonAppsNavigationThrottle::ShowIntentPickerForApps(
+    content::WebContents* web_contents,
+    IntentPickerAutoDisplayService* ui_auto_display_service,
+    const GURL& url,
+    std::vector<IntentPickerAppInfo> apps,
+    IntentPickerResponse callback) {
+  if (apps.empty()) {
+    IntentPickerTabHelper::SetShouldShowIcon(web_contents, false);
+    ui_displayed_ = false;
+    return;
   }
 
+  if (GetPickerShowState(apps, web_contents, url) ==
+      PickerShowState::kOmnibox) {
+    ui_displayed_ = false;
+    IntentPickerTabHelper::SetShouldShowIcon(web_contents, true);
+    return;
+  }
+
+  ui_displayed_ = true;
   IntentPickerTabHelper::LoadAppIcons(
-      web_contents, std::move(apps_for_picker),
-      base::BindOnce(
-          &CommonAppsNavigationThrottle::OnDeferredNavigationProcessed,
-          weak_factory_.GetWeakPtr()));
-  return true;
-}
-
-void CommonAppsNavigationThrottle::OnDeferredNavigationProcessed(
-    std::vector<apps::IntentPickerAppInfo> apps) {
-  content::NavigationHandle* handle = navigation_handle();
-  content::WebContents* web_contents = handle->GetWebContents();
-  const GURL& url = handle->GetURL();
-
-  ShowIntentPickerForApps(web_contents, ui_auto_display_service_, url,
-                          std::move(apps),
-                          base::BindOnce(&OnIntentPickerClosed, web_contents,
-                                         ui_auto_display_service_, url));
-
-  // We are about to resume the navigation, which may destroy this object.
-  Resume();
+      web_contents, std::move(apps),
+      base::BindOnce(&OnAppIconsLoaded, web_contents, ui_auto_display_service,
+                     url));
 }
 
 bool CommonAppsNavigationThrottle::ShouldAutoDisplayUi(
diff --git a/chrome/browser/chromeos/apps/intent_helper/common_apps_navigation_throttle.h b/chrome/browser/chromeos/apps/intent_helper/common_apps_navigation_throttle.h
index 0d3c288..6f2844cd 100644
--- a/chrome/browser/chromeos/apps/intent_helper/common_apps_navigation_throttle.h
+++ b/chrome/browser/chromeos/apps/intent_helper/common_apps_navigation_throttle.h
@@ -91,10 +91,12 @@
 
   bool ShouldCancelNavigation(content::NavigationHandle* handle) override;
 
-  bool ShouldDeferNavigation(content::NavigationHandle* handle) override;
-
-  void OnDeferredNavigationProcessed(
-      std::vector<apps::IntentPickerAppInfo> apps);
+  void ShowIntentPickerForApps(
+      content::WebContents* web_contents,
+      IntentPickerAutoDisplayService* ui_auto_display_service,
+      const GURL& url,
+      std::vector<IntentPickerAppInfo> apps,
+      IntentPickerResponse callback) override;
 
   // Whether or not the intent picker UI should be displayed without the user
   // clicking in the omnibox's icon.
diff --git a/chrome/browser/chromeos/arc/enterprise/cert_store/arc_cert_store_bridge.cc b/chrome/browser/chromeos/arc/enterprise/cert_store/arc_cert_store_bridge.cc
index 4ff9ffc..700afe7 100644
--- a/chrome/browser/chromeos/arc/enterprise/cert_store/arc_cert_store_bridge.cc
+++ b/chrome/browser/chromeos/arc/enterprise/cert_store/arc_cert_store_bridge.cc
@@ -13,7 +13,7 @@
 #include "base/callback.h"
 #include "base/logging.h"
 #include "base/memory/singleton.h"
-#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h"
 #include "chrome/browser/chromeos/platform_keys/platform_keys_service.h"
 #include "chrome/browser/net/nss_context.h"
 #include "chrome/browser/policy/profile_policy_connector.h"
@@ -82,7 +82,7 @@
   std::string spki_der = chromeos::platform_keys::GetSubjectPublicKeyInfo(cert);
   std::string public_key_spki_der_b64;
   base::Base64Encode(spki_der, &public_key_spki_der_b64);
-  if (!chromeos::platform_keys::KeyPermissions::IsCorporateKeyForProfile(
+  if (!chromeos::platform_keys::KeyPermissionsManager::IsCorporateKeyForProfile(
           public_key_spki_der_b64, prefs)) {
     DVLOG(1) << "Certificate is not allowed to be used by ARC.";
     return false;
@@ -303,8 +303,8 @@
 void ArcCertStoreBridge::UpdateFromKeyPermissionsPolicy() {
   DVLOG(1) << "ArcCertStoreBridge::UpdateFromKeyPermissionsPolicy";
 
-  std::vector<std::string> app_ids = chromeos::platform_keys::KeyPermissions::
-      GetCorporateKeyUsageAllowedAppIds(policy_service_);
+  std::vector<std::string> app_ids = chromeos::platform_keys::
+      KeyPermissionsManager::GetCorporateKeyUsageAllowedAppIds(policy_service_);
   std::vector<std::string> permissions;
   for (const auto& app_id : app_ids) {
     if (LooksLikeAndroidPackageName(app_id))
diff --git a/chrome/browser/chromeos/arc/enterprise/cert_store/arc_cert_store_bridge_browsertest.cc b/chrome/browser/chromeos/arc/enterprise/cert_store/arc_cert_store_bridge_browsertest.cc
index be1e008..109d02f 100644
--- a/chrome/browser/chromeos/arc/enterprise/cert_store/arc_cert_store_bridge_browsertest.cc
+++ b/chrome/browser/chromeos/arc/enterprise/cert_store/arc_cert_store_bridge_browsertest.cc
@@ -15,12 +15,12 @@
 #include "chrome/browser/chromeos/arc/enterprise/cert_store/arc_cert_store_bridge.h"
 #include "chrome/browser/chromeos/arc/session/arc_service_launcher.h"
 #include "chrome/browser/chromeos/login/test/local_policy_test_server_mixin.h"
-#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.h"
 #include "chrome/browser/chromeos/platform_keys/platform_keys.h"
 #include "chrome/browser/chromeos/policy/user_policy_test_helper.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/net/nss_context.h"
-#include "chrome/browser/policy/profile_policy_connector.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/common/pref_names.h"
@@ -204,19 +204,16 @@
   void RegisterCorporateKeys() {
     ASSERT_NO_FATAL_FAILURE(ImportCerts());
 
-    policy::ProfilePolicyConnector* const policy_connector =
-        browser()->profile()->GetProfilePolicyConnector();
+    chromeos::platform_keys::KeyPermissionsManager* const permissions =
+        chromeos::platform_keys::KeyPermissionsManagerUserServiceFactory::
+            GetForBrowserContext(browser()->profile())
+                ->key_permissions_manager();
 
-    extensions::StateStore* const state_store =
-        extensions::ExtensionSystem::Get(browser()->profile())->state_store();
-
-    chromeos::platform_keys::KeyPermissions permissions(
-        policy_connector->IsManaged(), browser()->profile()->GetPrefs(),
-        policy_connector->policy_service(), state_store);
+    ASSERT_TRUE(permissions);
 
     {
       base::RunLoop run_loop;
-      permissions.GetPermissionsForExtension(
+      permissions->GetPermissionsForExtension(
           kFakeExtensionId,
           base::Bind(&ArcCertStoreBridgeTest::GotPermissionsForExtension,
                      base::Unretained(this), run_loop.QuitClosure()));
@@ -262,9 +259,8 @@
   // client_cert2_ is not allowed.
   void GotPermissionsForExtension(
       const base::Closure& done_callback,
-      std::unique_ptr<
-          chromeos::platform_keys::KeyPermissions::PermissionsForExtension>
-          permissions_for_ext) {
+      std::unique_ptr<chromeos::platform_keys::KeyPermissionsManager::
+                          PermissionsForExtension> permissions_for_ext) {
     std::string client_cert1_spki(
         client_cert1_->derPublicKey.data,
         client_cert1_->derPublicKey.data + client_cert1_->derPublicKey.len);
diff --git a/chrome/browser/chromeos/arc/session/arc_session_manager.cc b/chrome/browser/chromeos/arc/session/arc_session_manager.cc
index 0f67804f..9bf44d3 100644
--- a/chrome/browser/chromeos/arc/session/arc_session_manager.cc
+++ b/chrome/browser/chromeos/arc/session/arc_session_manager.cc
@@ -712,6 +712,7 @@
       result == ProvisioningResult::CHROME_SERVER_COMMUNICATION_ERROR) {
     if (profile_->GetPrefs()->HasPrefPath(prefs::kArcSignedIn))
       profile_->GetPrefs()->SetBoolean(prefs::kArcSignedIn, false);
+    VLOG(1) << "Stopping ARC due to provisioning failure";
     ShutdownSession();
     ShowArcSupportHostError(error, 0 /* error_code */, true);
     return;
@@ -824,6 +825,7 @@
 }
 
 void ArcSessionManager::Shutdown() {
+  VLOG(1) << "Shutting down session manager";
   enable_requested_ = false;
   ResetArcState();
   arc_session_runner_->OnShutdown();
@@ -851,9 +853,14 @@
       // Ignore in NOT_INITIALIZED case. This is called in initial SetProfile
       // invocation.
       // TODO(hidehiko): Remove this along with the clean up.
-      break;
     case State::STOPPED:
       // Currently, ARC is stopped. Do nothing.
+    case State::REMOVING_DATA_DIR:
+      // When data removing is done, |state_| will be set to STOPPED.
+      // Do nothing here.
+    case State::STOPPING:
+      // Now ARC is stopping. Do nothing here.
+      VLOG(1) << "Skipping session shutdown because state is: " << state_;
       break;
     case State::NEGOTIATING_TERMS_OF_SERVICE:
     case State::CHECKING_ANDROID_MANAGEMENT:
@@ -864,9 +871,7 @@
       // immediately.
       state_ = State::STOPPED;
       break;
-    case State::REMOVING_DATA_DIR:
-      // When data removing is done, |state_| will be set to STOPPED.
-      // Do nothing here.
+
       break;
     case State::ACTIVE:
       // Request to stop the ARC. |state_| will be set to STOPPED eventually.
@@ -876,9 +881,6 @@
       state_ = State::STOPPING;
       arc_session_runner_->RequestStop();
       break;
-    case State::STOPPING:
-      // Now ARC is stopping. Do nothing here.
-      break;
   }
 }
 
@@ -942,6 +944,7 @@
   }
 
   MaybeUpdateOptInCancelUMA(support_host_.get());
+  VLOG(1) << "Auth cancelled. Stopping ARC. state: " << state_;
   StopArc();
   SetArcPlayStoreEnabledForProfile(profile_, false);
 }
@@ -1509,6 +1512,8 @@
 
   UpdateOptInActionUMA(OptInActionType::RETRY);
 
+  VLOG(1) << "Retry button clicked";
+
   if (state_ == State::ACTIVE) {
     // ERROR_WITH_FEEDBACK is set in OnSignInFailed(). In the case, stopping
     // ARC was postponed to contain its internal state into the report.
diff --git a/chrome/browser/chromeos/browser_context_keyed_service_factories.cc b/chrome/browser/chromeos/browser_context_keyed_service_factories.cc
index 4f3f819..ada1e397 100644
--- a/chrome/browser/chromeos/browser_context_keyed_service_factories.cc
+++ b/chrome/browser/chromeos/browser_context_keyed_service_factories.cc
@@ -22,6 +22,7 @@
 #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h"
 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.h"
 #include "chrome/browser/chromeos/phonehub/phone_hub_manager_factory.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.h"
 #include "chrome/browser/chromeos/plugin_vm/plugin_vm_engagement_metrics_service.h"
 #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
 #include "chrome/browser/chromeos/policy/user_cloud_policy_token_forwarder_factory.h"
@@ -72,6 +73,7 @@
   launcher_search_provider::ServiceFactory::GetInstance();
   OwnerSettingsServiceChromeOSFactory::GetInstance();
   phonehub::PhoneHubManagerFactory::GetInstance();
+  platform_keys::KeyPermissionsManagerUserServiceFactory::GetInstance();
   plugin_vm::PluginVmEngagementMetricsService::Factory::GetInstance();
   policy::PolicyCertServiceFactory::GetInstance();
   policy::UserCloudPolicyTokenForwarderFactory::GetInstance();
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
index 0d0dc8d5..946d25c 100644
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
@@ -34,9 +34,9 @@
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/browser_process_platform_part_chromeos.h"
 #include "chrome/browser/chrome_notification_types.h"
+#include "chrome/browser/chromeos/accessibility/accessibility_event_rewriter_delegate.h"
 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
 #include "chrome/browser/chromeos/accessibility/magnification_manager.h"
-#include "chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_delegate.h"
 #include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h"
 #include "chrome/browser/chromeos/app_mode/kiosk_app_launch_error.h"
 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
@@ -993,9 +993,10 @@
 }
 
 void ChromeBrowserMainPartsChromeos::PostBrowserStart() {
-  // Construct a delegate to connect ChromeVox and SpokenFeedbackEventRewriter.
-  spoken_feedback_event_rewriter_delegate_ =
-      std::make_unique<SpokenFeedbackEventRewriterDelegate>();
+  // Construct a delegate to connect the accessibility component extensions and
+  // AccessibilityEventRewriter.
+  accessibility_event_rewriter_delegate_ =
+      std::make_unique<AccessibilityEventRewriterDelegate>();
 
   event_rewriter_delegate_ = std::make_unique<EventRewriterDelegateImpl>(
       ash::Shell::Get()->activation_client());
@@ -1005,7 +1006,7 @@
   auto* event_rewriter_controller = ash::EventRewriterController::Get();
   event_rewriter_controller->Initialize(
       event_rewriter_delegate_.get(),
-      spoken_feedback_event_rewriter_delegate_.get());
+      accessibility_event_rewriter_delegate_.get());
 
   // Enable the KeyboardDrivenEventRewriter if the OEM manifest flag is on.
   if (system::InputDeviceSettings::Get()->ForceKeyboardDrivenUINavigation())
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.h b/chrome/browser/chromeos/chrome_browser_main_chromeos.h
index c11f1d32..bdc3d84 100644
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.h
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.h
@@ -13,11 +13,11 @@
 #include "chrome/browser/chromeos/external_metrics.h"
 #include "chrome/browser/memory/memory_kills_monitor.h"
 
+class AccessibilityEventRewriterDelegate;
 class AssistantClientImpl;
 class AssistantStateClient;
 class ChromeKeyboardControllerClient;
 class ImageDownloaderImpl;
-class SpokenFeedbackEventRewriterDelegate;
 
 namespace arc {
 class ArcServiceLauncher;
@@ -133,9 +133,9 @@
 
   std::unique_ptr<EventRewriterDelegateImpl> event_rewriter_delegate_;
 
-  // Handles event dispatch to the spoken feedback extension (ChromeVox).
-  std::unique_ptr<SpokenFeedbackEventRewriterDelegate>
-      spoken_feedback_event_rewriter_delegate_;
+  // Handles event dispatch to the accessibility component extensions.
+  std::unique_ptr<AccessibilityEventRewriterDelegate>
+      accessibility_event_rewriter_delegate_;
 
   scoped_refptr<chromeos::ExternalMetrics> external_metrics_;
 
diff --git a/chrome/browser/chromeos/file_manager/file_manager_string_util.cc b/chrome/browser/chromeos/file_manager/file_manager_string_util.cc
index 8bb29d8b..a25350dc 100644
--- a/chrome/browser/chromeos/file_manager/file_manager_string_util.cc
+++ b/chrome/browser/chromeos/file_manager/file_manager_string_util.cc
@@ -573,6 +573,8 @@
   SET_STRING("PASSWORD_DIALOG_TITLE", IDS_FILE_BROWSER_PASSWORD_DIALOG_TITLE);
   SET_STRING("PASSWORD_DIALOG_CONFIRM_LABEL",
              IDS_FILE_BROWSER_PASSWORD_DIALOG_CONFIRM_LABEL);
+  SET_STRING("PASSWORD_DIALOG_INVALID",
+             IDS_FILE_BROWSER_PASSWORD_DIALOG_INVALID);
   SET_STRING("SHARE_BUTTON_TOOLTIP", IDS_FILE_BROWSER_SHARE_BUTTON_TOOLTIP);
   SET_STRING("SORT_BUTTON_TOOLTIP", IDS_FILE_BROWSER_SORT_BUTTON_TOOLTIP);
   SET_STRING("GEAR_BUTTON_TOOLTIP", IDS_FILE_BROWSER_GEAR_BUTTON_TOOLTIP);
diff --git a/chrome/browser/chromeos/login/saml/password_sync_token_verifier.cc b/chrome/browser/chromeos/login/saml/password_sync_token_verifier.cc
index b69ac18..70b48d08 100644
--- a/chrome/browser/chromeos/login/saml/password_sync_token_verifier.cc
+++ b/chrome/browser/chromeos/login/saml/password_sync_token_verifier.cc
@@ -49,6 +49,13 @@
       delay);
 }
 
+void PasswordSyncTokenVerifier::CreateTokenAsync() {
+  DCHECK(!password_sync_token_fetcher_);
+  password_sync_token_fetcher_ = std::make_unique<PasswordSyncTokenFetcher>(
+      primary_profile_->GetURLLoaderFactory(), primary_profile_, this);
+  password_sync_token_fetcher_->StartTokenCreate();
+}
+
 void PasswordSyncTokenVerifier::CheckForPasswordNotInSync() {
   // In-session password change is as of now the only way to trigger the sync
   // token update. We do not need to poll if this feature is not enabled.
@@ -65,11 +72,24 @@
   if (sync_token.empty())
     sync_token = dummy_token;
 
+  DCHECK(!password_sync_token_fetcher_);
   password_sync_token_fetcher_ = std::make_unique<PasswordSyncTokenFetcher>(
       primary_profile_->GetURLLoaderFactory(), primary_profile_, this);
   password_sync_token_fetcher_->StartTokenVerify(sync_token);
 }
 
+void PasswordSyncTokenVerifier::FetchSyncTokenOnReauth() {
+  PrefService* prefs = primary_profile_->GetPrefs();
+  if (!prefs->GetBoolean(prefs::kSamlInSessionPasswordChangeEnabled)) {
+    return;
+  }
+
+  DCHECK(!password_sync_token_fetcher_);
+  password_sync_token_fetcher_ = std::make_unique<PasswordSyncTokenFetcher>(
+      primary_profile_->GetURLLoaderFactory(), primary_profile_, this);
+  password_sync_token_fetcher_->StartTokenGet();
+}
+
 void PasswordSyncTokenVerifier::CancelPendingChecks() {
   // We should not have any active request at this point. DCHECK makes sure it
   // is really the case for the dev build. In a release build InvalidateWeakPtrs
@@ -78,12 +98,31 @@
   weak_ptr_factory_.InvalidateWeakPtrs();
 }
 
-void PasswordSyncTokenVerifier::OnTokenCreated(const std::string& sync_token) {}
+void PasswordSyncTokenVerifier::OnTokenCreated(const std::string& sync_token) {
+  DCHECK(!sync_token.empty());
+  user_manager::known_user::SetPasswordSyncToken(primary_user_->GetAccountId(),
+                                                 sync_token);
+  password_sync_token_fetcher_.reset();
+  RecheckAfter(retry_backoff_.GetTimeUntilRelease());
+}
 
-void PasswordSyncTokenVerifier::OnTokenFetched(const std::string& sync_token) {}
+void PasswordSyncTokenVerifier::OnTokenFetched(const std::string& sync_token) {
+  password_sync_token_fetcher_.reset();
+  if (!sync_token.empty()) {
+    // Set token fetched from the endpoint.
+    user_manager::known_user::SetPasswordSyncToken(
+        primary_user_->GetAccountId(), sync_token);
+    RecheckAfter(retry_backoff_.GetTimeUntilRelease());
+  } else {
+    // This is the first time a sync token is created for the user: we need to
+    // initialize its value by calling the API and store it locally.
+    CreateTokenAsync();
+  }
+}
 
 void PasswordSyncTokenVerifier::OnTokenVerified(bool is_valid) {
   retry_backoff_.InformOfRequest(true);
+  password_sync_token_fetcher_.reset();
   // Schedule next token check after base interval.
   RecheckAfter(retry_backoff_.GetTimeUntilRelease());
   if (is_valid)
diff --git a/chrome/browser/chromeos/login/saml/password_sync_token_verifier.h b/chrome/browser/chromeos/login/saml/password_sync_token_verifier.h
index b388454..3dda9d82 100644
--- a/chrome/browser/chromeos/login/saml/password_sync_token_verifier.h
+++ b/chrome/browser/chromeos/login/saml/password_sync_token_verifier.h
@@ -44,6 +44,9 @@
   // Execute verification API call.
   void CheckForPasswordNotInSync();
 
+  // Fetch current sync token when starting a new session with online SAML.
+  void FetchSyncTokenOnReauth();
+
   // Cancel all pending check requests.
   void CancelPendingChecks();
 
@@ -56,6 +59,8 @@
  private:
   // Recheck after given |delay|.
   void RecheckAfter(base::TimeDelta delay);
+  // Init sync token.
+  void CreateTokenAsync();
 
   Profile* const primary_profile_;
   const user_manager::User* const primary_user_;
diff --git a/chrome/browser/chromeos/login/saml/password_sync_token_verifier_unittest.cc b/chrome/browser/chromeos/login/saml/password_sync_token_verifier_unittest.cc
index 10ce5cd..aed4b93 100644
--- a/chrome/browser/chromeos/login/saml/password_sync_token_verifier_unittest.cc
+++ b/chrome/browser/chromeos/login/saml/password_sync_token_verifier_unittest.cc
@@ -64,7 +64,6 @@
   void DestroyPasswordSyncTokenVerifier();
   void OnTokenVerified(bool is_verified);
   bool PasswordSyncTokenFetcherIsAllocated();
-  void InvalidatePasswordSyncTokenFetcher();
 
   const AccountId saml_login_account_id_ =
       AccountId::FromUserEmailGaiaId(kSAMLUserEmail1, kSAMLUserId1);
@@ -129,15 +128,11 @@
   return verifier_->password_sync_token_fetcher_ != nullptr;
 }
 
-void PasswordSyncTokenVerifierTest::InvalidatePasswordSyncTokenFetcher() {
-  verifier_->password_sync_token_fetcher_.reset();
-}
-
 TEST_F(PasswordSyncTokenVerifierTest, EmptySyncToken) {
   CreatePasswordSyncTokenVerifier();
   verifier_->CheckForPasswordNotInSync();
-  OnTokenVerified(false);
   EXPECT_TRUE(PasswordSyncTokenFetcherIsAllocated());
+  OnTokenVerified(false);
   EXPECT_TRUE(user_manager_->GetActiveUser()->force_online_signin());
 }
 
@@ -166,7 +161,6 @@
   verifier_->CheckForPasswordNotInSync();
   OnTokenVerified(true);
   EXPECT_FALSE(user_manager_->GetActiveUser()->force_online_signin());
-  InvalidatePasswordSyncTokenFetcher();
   test_environment_.FastForwardBy(kSyncTokenCheckInterval);
   EXPECT_TRUE(PasswordSyncTokenFetcherIsAllocated());
   OnTokenVerified(false);
@@ -200,4 +194,32 @@
   EXPECT_FALSE(user_manager_->GetActiveUser()->force_online_signin());
 }
 
+TEST_F(PasswordSyncTokenVerifierTest, SyncTokenNotSet) {
+  CreatePasswordSyncTokenVerifier();
+  verifier_->FetchSyncTokenOnReauth();
+  EXPECT_TRUE(PasswordSyncTokenFetcherIsAllocated());
+  verifier_->OnTokenFetched(kSyncToken);
+  EXPECT_EQ(
+      user_manager::known_user::GetPasswordSyncToken(saml_login_account_id_),
+      kSyncToken);
+}
+
+TEST_F(PasswordSyncTokenVerifierTest, SyncTokenInitForUser) {
+  CreatePasswordSyncTokenVerifier();
+  verifier_->FetchSyncTokenOnReauth();
+  EXPECT_TRUE(PasswordSyncTokenFetcherIsAllocated());
+  // Token API not initilized for the user - request token creation.
+  verifier_->OnTokenFetched(std::string());
+  EXPECT_TRUE(PasswordSyncTokenFetcherIsAllocated());
+  verifier_->OnTokenCreated(kSyncToken);
+  EXPECT_EQ(
+      user_manager::known_user::GetPasswordSyncToken(saml_login_account_id_),
+      kSyncToken);
+  // Start regular polling after session init.
+  test_environment_.FastForwardBy(kSyncTokenCheckInterval);
+  EXPECT_TRUE(PasswordSyncTokenFetcherIsAllocated());
+  OnTokenVerified(true);
+  EXPECT_FALSE(user_manager_->GetActiveUser()->force_online_signin());
+}
+
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/login/session/user_session_initializer.cc b/chrome/browser/chromeos/login/session/user_session_initializer.cc
index c902a93..662dc09c 100644
--- a/chrome/browser/chromeos/login/session/user_session_initializer.cc
+++ b/chrome/browser/chromeos/login/session/user_session_initializer.cc
@@ -29,7 +29,9 @@
 #include "chrome/browser/component_updater/sth_set_component_remover.h"
 #include "chrome/browser/google/google_brand_chromeos.h"
 #include "chrome/browser/net/nss_context.h"
+#include "chrome/browser/ui/ash/clipboard_image_model_factory_impl.h"
 #include "chrome/common/pref_names.h"
+#include "chromeos/constants/chromeos_features.h"
 #include "chromeos/network/network_cert_loader.h"
 #include "chromeos/tpm/install_attributes.h"
 #include "components/prefs/pref_service.h"
@@ -200,6 +202,11 @@
   if (crostini_manager)
     crostini_manager->MaybeUpdateCrostini();
 
+  if (chromeos::features::IsClipboardHistoryEnabled()) {
+    clipboard_image_model_factory_impl_ =
+        std::make_unique<ClipboardImageModelFactoryImpl>(profile);
+  }
+
   g_browser_process->platform_part()->InitializePrimaryProfileServices(profile);
 }
 
diff --git a/chrome/browser/chromeos/login/session/user_session_initializer.h b/chrome/browser/chromeos/login/session/user_session_initializer.h
index 9071e54..2d54c0de 100644
--- a/chrome/browser/chromeos/login/session/user_session_initializer.h
+++ b/chrome/browser/chromeos/login/session/user_session_initializer.h
@@ -5,9 +5,12 @@
 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SESSION_USER_SESSION_INITIALIZER_H_
 #define CHROME_BROWSER_CHROMEOS_LOGIN_SESSION_USER_SESSION_INITIALIZER_H_
 
+#include <memory>
+
 #include "components/session_manager/core/session_manager_observer.h"
 #include "components/user_manager/user.h"
 
+class ClipboardImageModelFactoryImpl;
 class Profile;
 
 namespace user_manager {
@@ -72,6 +75,10 @@
 
   base::OnceClosure init_rlz_impl_closure_for_testing_;
 
+  // Clipboard html image generator for the primary user.
+  std::unique_ptr<ClipboardImageModelFactoryImpl>
+      clipboard_image_model_factory_impl_;
+
   base::WeakPtrFactory<UserSessionInitializer> weak_factory_{this};
 };
 
diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc
index 574053c2..0b04a92 100644
--- a/chrome/browser/chromeos/login/session/user_session_manager.cc
+++ b/chrome/browser/chromeos/login/session/user_session_manager.cc
@@ -1614,8 +1614,20 @@
     }
     PasswordSyncTokenVerifier* password_sync_token_verifier =
         PasswordSyncTokenVerifierFactory::GetForProfile(profile);
-    if (password_sync_token_verifier)
-      password_sync_token_verifier->CheckForPasswordNotInSync();
+    if (password_sync_token_verifier) {
+      if (user_context_.GetAuthFlow() ==
+          UserContext::AUTH_FLOW_GAIA_WITH_SAML) {
+        // Update local sync token after online SAML login.
+        password_sync_token_verifier->FetchSyncTokenOnReauth();
+      } else if (user_context_.GetAuthFlow() ==
+                 UserContext::AUTH_FLOW_OFFLINE) {
+        // Verify local sync token to check whether the local password is out
+        // of sync.
+        password_sync_token_verifier->CheckForPasswordNotInSync();
+      } else {
+        NOTREACHED();
+      }
+    }
 
     SAMLOfflineSigninLimiter* saml_offline_signin_limiter =
         SAMLOfflineSigninLimiterFactory::GetForProfile(profile);
diff --git a/chrome/browser/chromeos/login/ui/user_adding_screen.cc b/chrome/browser/chromeos/login/ui/user_adding_screen.cc
index c0d26b27..f0ffeac1 100644
--- a/chrome/browser/chromeos/login/ui/user_adding_screen.cc
+++ b/chrome/browser/chromeos/login/ui/user_adding_screen.cc
@@ -6,14 +6,13 @@
 
 #include "base/bind.h"
 #include "base/memory/singleton.h"
-#include "base/metrics/histogram_functions.h"
+#include "base/metrics/histogram_macros.h"
 #include "base/observer_list.h"
 #include "base/time/time.h"
 #include "chrome/browser/chromeos/login/helper.h"
 #include "chrome/browser/chromeos/login/ui/login_display_host_mojo.h"
 #include "chrome/browser/chromeos/login/ui/login_display_host_webui.h"
 #include "chrome/browser/chromeos/login/ui/user_adding_screen_input_methods_controller.h"
-#include "chrome/browser/ui/ash/login_screen_client.h"
 #include "chrome/browser/ui/ash/wallpaper_controller_client.h"
 #include "chromeos/constants/chromeos_features.h"
 #include "components/session_manager/core/session_manager.h"
@@ -31,27 +30,29 @@
   void Cancel() override;
   bool IsRunning() override;
 
-  void AddObserver(UserAddingScreen::Observer* observer) override;
-  void RemoveObserver(UserAddingScreen::Observer* observer) override;
+  void AddObserver(Observer* observer) override;
+  void RemoveObserver(Observer* observer) override;
 
   static UserAddingScreenImpl* GetInstance();
 
  private:
   friend struct base::DefaultSingletonTraits<UserAddingScreenImpl>;
-  class LoadTimeReporterWebUi : public OobeUI::Observer {
+  class LoadTimeReporter : public OobeUI::Observer {
    public:
-    LoadTimeReporterWebUi() : start_time_(base::TimeTicks::Now()) {}
-    LoadTimeReporterWebUi(const LoadTimeReporterWebUi&) = delete;
-    LoadTimeReporterWebUi& operator=(const LoadTimeReporterWebUi&) = delete;
+    LoadTimeReporter() : start_time_(base::TimeTicks::Now()) {}
+    LoadTimeReporter(const LoadTimeReporter&) = delete;
+    LoadTimeReporter& operator=(const LoadTimeReporter&) = delete;
 
-    ~LoadTimeReporterWebUi() override {
-      if (oobe_ui_)
+    ~LoadTimeReporter() override {
+      if (remove_observer_)
         oobe_ui_->RemoveObserver(this);
+      remove_observer_ = false;
     }
 
     void Observe(OobeUI* oobe_ui) {
       oobe_ui_ = oobe_ui;
       oobe_ui_->AddObserver(this);
+      remove_observer_ = true;
     }
 
    private:
@@ -61,52 +62,26 @@
       if (new_screen != OobeScreen::SCREEN_ACCOUNT_PICKER)
         return;
       const base::TimeDelta load_time = base::TimeTicks::Now() - start_time_;
-      UmaHistogramTimes("ChromeOS.UserAddingScreen.LoadTime", load_time);
-      if (oobe_ui_)
-        oobe_ui_->RemoveObserver(this);
+      UMA_HISTOGRAM_TIMES("ChromeOS.UserAddingScreen.LoadTime", load_time);
+      remove_observer_ = false;
+      oobe_ui_->RemoveObserver(this);
     }
-    void OnDestroyingOobeUI() override { oobe_ui_ = nullptr; }
-
-    const base::TimeTicks start_time_;
-    OobeUI* oobe_ui_ = nullptr;
-  };
-
-  class LoadTimeReporterMojo : public LoginScreenShownObserver {
-   public:
-    LoadTimeReporterMojo() : start_time_(base::TimeTicks::Now()) {
-      LoginScreenClient::Get()->AddLoginScreenShownObserver(this);
-    }
-    LoadTimeReporterMojo(const LoadTimeReporterMojo&) = delete;
-    LoadTimeReporterMojo& operator=(const LoadTimeReporterMojo&) = delete;
-
-    ~LoadTimeReporterMojo() override {
-      // In tests, LoginScreenClient's instance may be destroyed before
-      // LoadTimeReporterMojo's destructor is called.
-      if (LoginScreenClient::HasInstance())
-        LoginScreenClient::Get()->RemoveLoginScreenShownObserver(this);
-    }
-
-    // LoginScreenShownObserver:
-    void OnLoginScreenShown() override {
-      const base::TimeDelta load_time = base::TimeTicks::Now() - start_time_;
-      UmaHistogramTimes("ChromeOS.UserAddingScreen.LoadTimeViewsBased",
-                        load_time);
-      LoginScreenClient::Get()->RemoveLoginScreenShownObserver(this);
-    }
+    void OnDestroyingOobeUI() override { remove_observer_ = false; }
 
    private:
     const base::TimeTicks start_time_;
+    OobeUI* oobe_ui_ = nullptr;
+    bool remove_observer_ = false;
   };
 
-  std::unique_ptr<LoadTimeReporterWebUi> reporter_web_ui_;
-  std::unique_ptr<LoadTimeReporterMojo> reporter_mojo_;
+  std::unique_ptr<LoadTimeReporter> reporter_;
 
   void OnDisplayHostCompletion();
 
   UserAddingScreenImpl();
   ~UserAddingScreenImpl() override;
 
-  base::ObserverList<UserAddingScreen::Observer>::Unchecked observers_;
+  base::ObserverList<Observer>::Unchecked observers_;
   LoginDisplayHost* display_host_;
 
   UserAddingScreenInputMethodsController im_controller_;
@@ -119,18 +94,16 @@
   if (viewBasedEnabled) {
     display_host_ = new chromeos::LoginDisplayHostMojo(
         LoginDisplayHostMojo::DisplayedScreen::USER_ADDING_SCREEN);
-    reporter_mojo_ = std::make_unique<LoadTimeReporterMojo>();
   } else {
     display_host_ = new chromeos::LoginDisplayHostWebUI();
-    reporter_web_ui_ = std::make_unique<LoadTimeReporterWebUi>();
+    reporter_ = std::make_unique<LoadTimeReporter>();
   }
   session_manager::SessionManager::Get()->SetSessionState(
       session_manager::SessionState::LOGIN_SECONDARY);
   display_host_->StartUserAdding(base::BindOnce(
       &UserAddingScreenImpl::OnDisplayHostCompletion, base::Unretained(this)));
-  if (!viewBasedEnabled) {
-    reporter_web_ui_->Observe(display_host_->GetOobeUI());
-  }
+  if (!viewBasedEnabled)
+    reporter_->Observe(display_host_->GetOobeUI());
 
   for (auto& observer : observers_)
     observer.OnUserAddingStarted();
@@ -138,8 +111,7 @@
 
 void UserAddingScreenImpl::Cancel() {
   CHECK(IsRunning());
-  reporter_web_ui_.reset();
-  reporter_mojo_.reset();
+  reporter_.reset();
 
   display_host_->CancelUserAdding();
 
@@ -154,12 +126,11 @@
   return display_host_ != NULL;
 }
 
-void UserAddingScreenImpl::AddObserver(UserAddingScreen::Observer* observer) {
+void UserAddingScreenImpl::AddObserver(Observer* observer) {
   observers_.AddObserver(observer);
 }
 
-void UserAddingScreenImpl::RemoveObserver(
-    UserAddingScreen::Observer* observer) {
+void UserAddingScreenImpl::RemoveObserver(Observer* observer) {
   observers_.RemoveObserver(observer);
 }
 
diff --git a/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc b/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc
index f7c26c9..276a4600 100644
--- a/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc
+++ b/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc
@@ -20,8 +20,6 @@
 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/ash/login_screen_client.h"
-#include "chrome/browser/ui/ash/login_screen_shown_observer.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chromeos/constants/chromeos_features.h"
@@ -150,32 +148,14 @@
             users[0].account_id);
 }
 
-class UserAddingScreenWithViewBasedTest : public UserAddingScreenTest,
-                                          public LoginScreenShownObserver {
+class UserAddingScreenWithViewBasedTest : public UserAddingScreenTest {
  public:
   UserAddingScreenWithViewBasedTest() : UserAddingScreenTest() {
     feature_list_.InitWithFeatures(
         {chromeos::features::kViewBasedMultiprofileLogin}, {});
   }
 
-  // LoginScreenShownObserver:
-  void OnLoginScreenShown() override {
-    LoginScreenClient::Get()->RemoveLoginScreenShownObserver(this);
-    login_screen_shown_ = true;
-    if (run_loop_)
-      run_loop_->Quit();
-  }
-
-  void WaitUntilLoginScreenShown() {
-    if (login_screen_shown_)
-      return;
-    run_loop_ = std::make_unique<base::RunLoop>();
-    run_loop_->Run();
-  }
-
  private:
-  bool login_screen_shown_ = false;
-  std::unique_ptr<base::RunLoop> run_loop_;
   base::test::ScopedFeatureList feature_list_;
 };
 
@@ -191,10 +171,7 @@
   EXPECT_EQ(session_manager::SessionManager::Get()->session_state(),
             session_manager::SessionState::ACTIVE);
 
-  base::HistogramTester histogram_tester;
   UserAddingScreen::Get()->Start();
-  LoginScreenClient::Get()->AddLoginScreenShownObserver(this);
-  WaitUntilLoginScreenShown();
 
   EXPECT_EQ(user_adding_started(), 1);
   EXPECT_EQ(session_manager::SessionManager::Get()->session_state(),
@@ -204,9 +181,6 @@
   EXPECT_TRUE(ash::LoginScreenTestApi::ClickCancelButton());
   WaitUntilUserAddingFinishedOrCancelled();
 
-  histogram_tester.ExpectTotalCount(
-      "ChromeOS.UserAddingScreen.LoadTimeViewsBased", 1);
-
   EXPECT_EQ(user_adding_finished(), 1);
   EXPECT_EQ(session_manager::SessionManager::Get()->session_state(),
             session_manager::SessionState::ACTIVE);
@@ -264,11 +238,7 @@
 
   user_manager::UserManager* user_manager = user_manager::UserManager::Get();
 
-  base::HistogramTester histogram_tester;
   UserAddingScreen::Get()->Start();
-  LoginScreenClient::Get()->AddLoginScreenShownObserver(this);
-  WaitUntilLoginScreenShown();
-
   EXPECT_EQ(user_adding_started(), 1);
   EXPECT_EQ(session_manager::SessionManager::Get()->session_state(),
             session_manager::SessionState::LOGIN_SECONDARY);
@@ -288,9 +258,6 @@
   EXPECT_TRUE(LoginDisplayHost::default_host() == nullptr);
   ASSERT_EQ(user_manager->GetLoggedInUsers().size(), 2u);
 
-  histogram_tester.ExpectTotalCount(
-      "ChromeOS.UserAddingScreen.LoadTimeViewsBased", 1);
-
   EXPECT_EQ(session_manager::SessionManager::Get()->session_state(),
             session_manager::SessionState::ACTIVE);
 }
@@ -417,9 +384,6 @@
   const int n = users.size();
   for (int i = 1; i < n; ++i) {
     UserAddingScreen::Get()->Start();
-    LoginScreenClient::Get()->AddLoginScreenShownObserver(this);
-    WaitUntilLoginScreenShown();
-
     EXPECT_EQ(user_adding_started(), i);
     EXPECT_EQ(session_manager::SessionManager::Get()->session_state(),
               session_manager::SessionState::LOGIN_SECONDARY);
diff --git a/chrome/browser/chromeos/login/ui/webui_login_view.cc b/chrome/browser/chromeos/login/ui/webui_login_view.cc
index 82f574a9..8817430 100644
--- a/chrome/browser/chromeos/login/ui/webui_login_view.cc
+++ b/chrome/browser/chromeos/login/ui/webui_login_view.cc
@@ -387,19 +387,8 @@
   if (!forward_keyboard_event_)
     return false;
 
-  // For default tab order, after login UI, try focusing the system tray.
-  if (!reverse && MoveFocusToSystemTray(reverse))
-    return true;
-
-  // If initial MoveFocusToSystemTray was skipped due to lock screen app being
-  // a preferred option (due to traversal direction), try focusing system tray
-  // again.
-  if (reverse && MoveFocusToSystemTray(reverse))
-    return true;
-
-  // Since neither system tray nor a lock screen app window was focusable, the
-  // focus should stay in the login UI.
-  AboutToRequestFocusFromTabTraversal(reverse);
+  // FocusLoginShelf focuses either system tray or login shelf buttons.
+  ash::LoginScreen::Get()->FocusLoginShelf(reverse);
   return true;
 }
 
@@ -432,11 +421,6 @@
   AboutToRequestFocusFromTabTraversal(reverse);
 }
 
-bool WebUILoginView::MoveFocusToSystemTray(bool reverse) {
-  ash::LoginScreen::Get()->FocusLoginShelf(reverse);
-  return true;
-}
-
 void WebUILoginView::OnLoginPromptVisible() {
   if (!observing_system_tray_focus_ && LoginScreenClient::HasInstance()) {
     LoginScreenClient::Get()->AddSystemTrayFocusObserver(this);
diff --git a/chrome/browser/chromeos/login/ui/webui_login_view.h b/chrome/browser/chromeos/login/ui/webui_login_view.h
index 3ac44f3..aed2408 100644
--- a/chrome/browser/chromeos/login/ui/webui_login_view.h
+++ b/chrome/browser/chromeos/login/ui/webui_login_view.h
@@ -159,10 +159,6 @@
   // Overridden from ash::SystemTrayFocusObserver.
   void OnFocusLeavingSystemTray(bool reverse) override;
 
-  // Attempts to move focus to system tray. Returns whether the attempt was
-  // successful (it might fail if the system tray is not visible).
-  bool MoveFocusToSystemTray(bool reverse);
-
   // Performs series of actions when login prompt is considered
   // to be ready and visible.
   // 1. Emits LoginPromptVisible signal if needed
diff --git a/chrome/browser/chromeos/platform_keys/extension_platform_keys_service.cc b/chrome/browser/chromeos/platform_keys/extension_platform_keys_service.cc
index c578eef..4d93ebe 100644
--- a/chrome/browser/chromeos/platform_keys/extension_platform_keys_service.cc
+++ b/chrome/browser/chromeos/platform_keys/extension_platform_keys_service.cc
@@ -16,6 +16,8 @@
 #include "base/optional.h"
 #include "base/stl_util.h"
 #include "base/values.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.h"
 #include "chrome/browser/chromeos/platform_keys/platform_keys.h"
 #include "chrome/browser/chromeos/platform_keys/platform_keys_service.h"
 #include "chrome/browser/chromeos/platform_keys/platform_keys_service_factory.h"
@@ -79,12 +81,10 @@
   GenerateKeyTask(platform_keys::TokenId token_id,
                   const std::string& extension_id,
                   const GenerateKeyCallback& callback,
-                  platform_keys::KeyPermissions* key_permissions,
                   ExtensionPlatformKeysService* service)
       : token_id_(token_id),
         extension_id_(extension_id),
         callback_(callback),
-        key_permissions_(key_permissions),
         service_(service) {}
 
   ~GenerateKeyTask() override = default;
@@ -103,9 +103,8 @@
   std::string public_key_spki_der_;
   const std::string extension_id_;
   GenerateKeyCallback callback_;
-  std::unique_ptr<platform_keys::KeyPermissions::PermissionsForExtension>
+  std::unique_ptr<platform_keys::KeyPermissionsManager::PermissionsForExtension>
       extension_permissions_;
-  platform_keys::KeyPermissions* const key_permissions_;
   ExtensionPlatformKeysService* const service_;
 
  private:
@@ -147,7 +146,7 @@
 
   // Gets the permissions for the extension with id |extension_id|.
   void GetExtensionPermissions() {
-    key_permissions_->GetPermissionsForExtension(
+    service_->key_permissions_->GetPermissionsForExtension(
         extension_id_,
         base::Bind(&GenerateKeyTask::GotPermissions, base::Unretained(this)));
   }
@@ -162,7 +161,8 @@
   }
 
   void GotPermissions(
-      std::unique_ptr<platform_keys::KeyPermissions::PermissionsForExtension>
+      std::unique_ptr<
+          platform_keys::KeyPermissionsManager::PermissionsForExtension>
           extension_permissions) {
     extension_permissions_ = std::move(extension_permissions);
     DoStep();
@@ -185,13 +185,8 @@
                      unsigned int modulus_length,
                      const std::string& extension_id,
                      const GenerateKeyCallback& callback,
-                     platform_keys::KeyPermissions* key_permissions,
                      ExtensionPlatformKeysService* service)
-      : GenerateKeyTask(token_id,
-                        extension_id,
-                        callback,
-                        key_permissions,
-                        service),
+      : GenerateKeyTask(token_id, extension_id, callback, service),
         modulus_length_(modulus_length) {}
 
   ~GenerateRSAKeyTask() override {}
@@ -215,13 +210,8 @@
                     const std::string& named_curve,
                     const std::string& extension_id,
                     const GenerateKeyCallback& callback,
-                    platform_keys::KeyPermissions* key_permissions,
                     ExtensionPlatformKeysService* service)
-      : GenerateKeyTask(token_id,
-                        extension_id,
-                        callback,
-                        key_permissions,
-                        service),
+      : GenerateKeyTask(token_id, extension_id, callback, service),
         named_curve_(named_curve) {}
 
   ~GenerateECKeyTask() override {}
@@ -260,7 +250,6 @@
            platform_keys::HashAlgorithm hash_algorithm,
            const std::string& extension_id,
            const SignCallback& callback,
-           platform_keys::KeyPermissions* key_permissions,
            ExtensionPlatformKeysService* service)
       : token_id_(token_id),
         data_(data),
@@ -270,7 +259,6 @@
         hash_algorithm_(hash_algorithm),
         extension_id_(extension_id),
         callback_(callback),
-        key_permissions_(key_permissions),
         service_(service) {}
 
   ~SignTask() override {}
@@ -321,13 +309,14 @@
   }
 
   void GetExtensionPermissions() {
-    key_permissions_->GetPermissionsForExtension(
+    service_->key_permissions_->GetPermissionsForExtension(
         extension_id_,
         base::Bind(&SignTask::GotPermissions, base::Unretained(this)));
   }
 
   void GotPermissions(
-      std::unique_ptr<platform_keys::KeyPermissions::PermissionsForExtension>
+      std::unique_ptr<
+          platform_keys::KeyPermissionsManager::PermissionsForExtension>
           extension_permissions) {
     extension_permissions_ = std::move(extension_permissions);
     DoStep();
@@ -401,9 +390,8 @@
   const platform_keys::HashAlgorithm hash_algorithm_;
   const std::string extension_id_;
   const SignCallback callback_;
-  std::unique_ptr<platform_keys::KeyPermissions::PermissionsForExtension>
+  std::unique_ptr<platform_keys::KeyPermissionsManager::PermissionsForExtension>
       extension_permissions_;
-  platform_keys::KeyPermissions* const key_permissions_;
   std::vector<platform_keys::TokenId> key_locations_;
   ExtensionPlatformKeysService* const service_;
   base::WeakPtrFactory<SignTask> weak_factory_{this};
@@ -437,7 +425,6 @@
              const std::string& extension_id,
              const SelectCertificatesCallback& callback,
              content::WebContents* web_contents,
-             platform_keys::KeyPermissions* key_permissions,
              ExtensionPlatformKeysService* service)
       : request_(request),
         input_client_certificates_(std::move(input_client_certificates)),
@@ -445,7 +432,6 @@
         extension_id_(extension_id),
         callback_(callback),
         web_contents_(web_contents),
-        key_permissions_(key_permissions),
         service_(service) {}
   ~SelectTask() override {}
 
@@ -500,13 +486,14 @@
   }
 
   void GetExtensionPermissions() {
-    key_permissions_->GetPermissionsForExtension(
+    service_->key_permissions_->GetPermissionsForExtension(
         extension_id_,
         base::Bind(&SelectTask::GotPermissions, base::Unretained(this)));
   }
 
   void GotPermissions(
-      std::unique_ptr<platform_keys::KeyPermissions::PermissionsForExtension>
+      std::unique_ptr<
+          platform_keys::KeyPermissionsManager::PermissionsForExtension>
           extension_permissions) {
     extension_permissions_ = std::move(extension_permissions);
     DoStep();
@@ -561,8 +548,8 @@
   // |matches_pending_key_locations_|.  Each invocation processes the first
   // element and removes it from the deque. Each processed certificate is added
   // to |matches_| and |key_locations_for_matches_| if it is selectable
-  // according to KeyPermissions. When all certificates have been processed,
-  // advances the SignTask state machine to |next_step|.
+  // according to KeyPermissionsManager. When all certificates have been
+  // processed, advances the SignTask state machine to |next_step|.
   void GetKeyLocations(Step next_step) {
     if (matches_pending_key_locations_.empty()) {
       next_step_ = next_step;
@@ -597,8 +584,8 @@
 
     // Use this key if the user can use it for signing or can grant permission
     // for it.
-    if (key_permissions_->CanUserGrantPermissionFor(public_key_spki_der,
-                                                    token_ids) ||
+    if (service_->key_permissions_->CanUserGrantPermissionFor(
+            public_key_spki_der, token_ids) ||
         extension_permissions_->CanUseKeyForSigning(public_key_spki_der,
                                                     token_ids)) {
       matches_.push_back(certificate);
@@ -717,9 +704,8 @@
   const std::string extension_id_;
   const SelectCertificatesCallback callback_;
   content::WebContents* const web_contents_;
-  std::unique_ptr<platform_keys::KeyPermissions::PermissionsForExtension>
+  std::unique_ptr<platform_keys::KeyPermissionsManager::PermissionsForExtension>
       extension_permissions_;
-  platform_keys::KeyPermissions* const key_permissions_;
   ExtensionPlatformKeysService* const service_;
   base::WeakPtrFactory<SelectTask> weak_factory_{this};
 
@@ -740,11 +726,12 @@
       platform_keys_service_(
           platform_keys::PlatformKeysServiceFactory::GetForBrowserContext(
               browser_context)),
-      key_permissions_(profile_is_managed,
-                       profile_prefs,
-                       profile_policies,
-                       state_store) {
+      key_permissions_(
+          chromeos::platform_keys::KeyPermissionsManagerUserServiceFactory::
+              GetForBrowserContext(browser_context)
+                  ->key_permissions_manager()) {
   DCHECK(platform_keys_service_);
+  DCHECK(key_permissions_);
   DCHECK(browser_context);
   DCHECK(state_store);
 }
@@ -763,8 +750,7 @@
     const GenerateKeyCallback& callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   StartOrQueueTask(std::make_unique<GenerateRSAKeyTask>(
-      token_id, modulus_length, extension_id, callback, &key_permissions_,
-      this));
+      token_id, modulus_length, extension_id, callback, this));
 }
 
 void ExtensionPlatformKeysService::GenerateECKey(
@@ -774,7 +760,7 @@
     const GenerateKeyCallback& callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   StartOrQueueTask(std::make_unique<GenerateECKeyTask>(
-      token_id, named_curve, extension_id, callback, &key_permissions_, this));
+      token_id, named_curve, extension_id, callback, this));
 }
 
 bool ExtensionPlatformKeysService::IsUsingSigninProfile() {
@@ -791,10 +777,10 @@
     const std::string& extension_id,
     const SignCallback& callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  StartOrQueueTask(std::make_unique<SignTask>(
-      token_id, data, public_key_spki_der,
-      /*raw_pkcs1=*/false, key_type, hash_algorithm, extension_id, callback,
-      &key_permissions_, this));
+  StartOrQueueTask(
+      std::make_unique<SignTask>(token_id, data, public_key_spki_der,
+                                 /*raw_pkcs1=*/false, key_type, hash_algorithm,
+                                 extension_id, callback, this));
 }
 
 void ExtensionPlatformKeysService::SignRSAPKCS1Raw(
@@ -807,8 +793,7 @@
   StartOrQueueTask(std::make_unique<SignTask>(
       token_id, data, public_key_spki_der,
       /*raw_pkcs1=*/true, /*key_type=*/platform_keys::KeyType::kRsassaPkcs1V15,
-      platform_keys::HASH_ALGORITHM_NONE, extension_id, callback,
-      &key_permissions_, this));
+      platform_keys::HASH_ALGORITHM_NONE, extension_id, callback, this));
 }
 
 void ExtensionPlatformKeysService::SelectClientCertificates(
@@ -821,7 +806,7 @@
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   StartOrQueueTask(std::make_unique<SelectTask>(
       request, std::move(client_certificates), interactive, extension_id,
-      callback, web_contents, &key_permissions_, this));
+      callback, web_contents, this));
 }
 
 void ExtensionPlatformKeysService::StartOrQueueTask(
diff --git a/chrome/browser/chromeos/platform_keys/extension_platform_keys_service.h b/chrome/browser/chromeos/platform_keys/extension_platform_keys_service.h
index d4fd2a29..513d45c 100644
--- a/chrome/browser/chromeos/platform_keys/extension_platform_keys_service.h
+++ b/chrome/browser/chromeos/platform_keys/extension_platform_keys_service.h
@@ -13,7 +13,7 @@
 #include "base/containers/queue.h"
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
-#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h"
 #include "chrome/browser/chromeos/platform_keys/platform_keys.h"
 #include "chrome/browser/chromeos/platform_keys/platform_keys_service.h"
 #include "components/keyed_service/core/keyed_service.h"
@@ -74,7 +74,7 @@
 
   // Stores registration information in |state_store|, i.e. for each extension
   // the list of public keys that are valid to be used for signing. See
-  // |KeyPermissions| for details.
+  // |KeyPermissionsManager| for details.
   // |browser_context| and |state_store| must not be null and outlive this
   // object.
   explicit ExtensionPlatformKeysService(
@@ -226,7 +226,7 @@
 
   content::BrowserContext* const browser_context_ = nullptr;
   platform_keys::PlatformKeysService* const platform_keys_service_ = nullptr;
-  platform_keys::KeyPermissions key_permissions_;
+  platform_keys::KeyPermissionsManager* const key_permissions_ = nullptr;
   std::unique_ptr<SelectDelegate> select_delegate_;
   base::queue<std::unique_ptr<Task>> tasks_;
   base::WeakPtrFactory<ExtensionPlatformKeysService> weak_factory_{this};
diff --git a/chrome/browser/chromeos/platform_keys/extension_platform_keys_service_factory.cc b/chrome/browser/chromeos/platform_keys/extension_platform_keys_service_factory.cc
index 7362aa2..c58e65cb 100644
--- a/chrome/browser/chromeos/platform_keys/extension_platform_keys_service_factory.cc
+++ b/chrome/browser/chromeos/platform_keys/extension_platform_keys_service_factory.cc
@@ -14,6 +14,7 @@
 #include "base/memory/singleton.h"
 #include "base/memory/weak_ptr.h"
 #include "chrome/browser/chromeos/platform_keys/extension_platform_keys_service.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.h"
 #include "chrome/browser/chromeos/platform_keys/platform_keys_service_factory.h"
 #include "chrome/browser/extensions/extension_system_factory.h"
 #include "chrome/browser/policy/profile_policy_connector.h"
@@ -91,6 +92,8 @@
           BrowserContextDependencyManager::GetInstance()) {
   DependsOn(extensions::ExtensionSystemFactory::GetInstance());
   DependsOn(chromeos::platform_keys::PlatformKeysServiceFactory::GetInstance());
+  DependsOn(chromeos::platform_keys::KeyPermissionsManagerUserServiceFactory::
+                GetInstance());
 }
 
 ExtensionPlatformKeysServiceFactory::~ExtensionPlatformKeysServiceFactory() {}
diff --git a/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions.cc b/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.cc
similarity index 88%
rename from chrome/browser/chromeos/platform_keys/key_permissions/key_permissions.cc
rename to chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.cc
index 523727f..96281d7 100644
--- a/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions.cc
+++ b/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.cc
@@ -1,10 +1,13 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
+// 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/chromeos/platform_keys/key_permissions/key_permissions.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h"
 
+#include <memory>
+#include <string>
 #include <utility>
+#include <vector>
 
 #include "base/base64.h"
 #include "base/bind.h"
@@ -13,12 +16,12 @@
 #include "base/stl_util.h"
 #include "base/values.h"
 #include "chrome/browser/chromeos/platform_keys/platform_keys.h"
+#include "chrome/browser/policy/profile_policy_connector.h"
 #include "chrome/common/pref_names.h"
 #include "components/policy/core/common/policy_map.h"
 #include "components/policy/core/common/policy_namespace.h"
 #include "components/policy/core/common/policy_service.h"
 #include "components/policy/policy_constants.h"
-#include "components/pref_registry/pref_registry_syncable.h"
 #include "components/prefs/pref_service.h"
 #include "components/prefs/scoped_user_pref_update.h"
 #include "extensions/browser/state_store.h"
@@ -153,7 +156,7 @@
 
 }  // namespace
 
-struct KeyPermissions::PermissionsForExtension::KeyEntry {
+struct KeyPermissionsManager::PermissionsForExtension::KeyEntry {
   explicit KeyEntry(const std::string& public_key_spki_der_b64)
       : spki_b64(public_key_spki_der_b64) {}
 
@@ -173,12 +176,12 @@
   bool sign_unlimited = false;
 };
 
-KeyPermissions::PermissionsForExtension::PermissionsForExtension(
+KeyPermissionsManager::PermissionsForExtension::PermissionsForExtension(
     const std::string& extension_id,
     std::unique_ptr<base::Value> state_store_value,
     PrefService* profile_prefs,
     policy::PolicyService* profile_policies,
-    KeyPermissions* key_permissions)
+    KeyPermissionsManager* key_permissions)
     : extension_id_(extension_id),
       profile_prefs_(profile_prefs),
       profile_policies_(profile_policies),
@@ -190,9 +193,9 @@
     KeyEntriesFromState(*state_store_value);
 }
 
-KeyPermissions::PermissionsForExtension::~PermissionsForExtension() {}
+KeyPermissionsManager::PermissionsForExtension::~PermissionsForExtension() {}
 
-bool KeyPermissions::PermissionsForExtension::CanUseKeyForSigning(
+bool KeyPermissionsManager::PermissionsForExtension::CanUseKeyForSigning(
     const std::string& public_key_spki_der,
     const std::vector<TokenId>& key_locations) {
   if (key_locations.empty())
@@ -225,7 +228,7 @@
   return matching_entry->sign_unlimited;
 }
 
-void KeyPermissions::PermissionsForExtension::SetKeyUsedForSigning(
+void KeyPermissionsManager::PermissionsForExtension::SetKeyUsedForSigning(
     const std::string& public_key_spki_der,
     const std::vector<TokenId>& key_locations) {
   if (key_locations.empty())
@@ -246,9 +249,9 @@
   WriteToStateStore();
 }
 
-void KeyPermissions::PermissionsForExtension::RegisterKeyForCorporateUsage(
-    const std::string& public_key_spki_der,
-    const std::vector<TokenId>& key_locations) {
+void KeyPermissionsManager::PermissionsForExtension::
+    RegisterKeyForCorporateUsage(const std::string& public_key_spki_der,
+                                 const std::vector<TokenId>& key_locations) {
   if (key_locations.empty()) {
     NOTREACHED();
     return;
@@ -285,7 +288,7 @@
                                   std::move(new_pref_entry));
 }
 
-void KeyPermissions::PermissionsForExtension::SetUserGrantedPermission(
+void KeyPermissionsManager::PermissionsForExtension::SetUserGrantedPermission(
     const std::string& public_key_spki_der,
     const std::vector<TokenId>& key_locations) {
   if (!key_permissions_->CanUserGrantPermissionFor(public_key_spki_der,
@@ -314,18 +317,18 @@
   WriteToStateStore();
 }
 
-bool KeyPermissions::PermissionsForExtension::PolicyAllowsCorporateKeyUsage()
-    const {
+bool KeyPermissionsManager::PermissionsForExtension::
+    PolicyAllowsCorporateKeyUsage() const {
   return PolicyAllowsCorporateKeyUsageForExtension(extension_id_,
                                                    profile_policies_);
 }
 
-void KeyPermissions::PermissionsForExtension::WriteToStateStore() {
+void KeyPermissionsManager::PermissionsForExtension::WriteToStateStore() {
   key_permissions_->SetPlatformKeysOfExtension(extension_id_,
                                                KeyEntriesToState());
 }
 
-void KeyPermissions::PermissionsForExtension::KeyEntriesFromState(
+void KeyPermissionsManager::PermissionsForExtension::KeyEntriesFromState(
     const base::Value& state) {
   state_store_entries_.clear();
 
@@ -360,7 +363,7 @@
 }
 
 std::unique_ptr<base::Value>
-KeyPermissions::PermissionsForExtension::KeyEntriesToState() {
+KeyPermissionsManager::PermissionsForExtension::KeyEntriesToState() {
   std::unique_ptr<base::ListValue> new_state(new base::ListValue);
   for (const KeyEntry& entry : state_store_entries_) {
     // Drop entries that the extension doesn't have any permissions for anymore.
@@ -382,8 +385,8 @@
   return std::move(new_state);
 }
 
-KeyPermissions::PermissionsForExtension::KeyEntry*
-KeyPermissions::PermissionsForExtension::GetStateStoreEntry(
+KeyPermissionsManager::PermissionsForExtension::KeyEntry*
+KeyPermissionsManager::PermissionsForExtension::GetStateStoreEntry(
     const std::string& public_key_spki_der_b64) {
   for (KeyEntry& entry : state_store_entries_) {
     // For every ASN.1 value there is exactly one DER encoding, so it is fine to
@@ -396,10 +399,11 @@
   return &state_store_entries_.back();
 }
 
-KeyPermissions::KeyPermissions(bool profile_is_managed,
-                               PrefService* profile_prefs,
-                               policy::PolicyService* profile_policies,
-                               extensions::StateStore* extensions_state_store)
+KeyPermissionsManager::KeyPermissionsManager(
+    bool profile_is_managed,
+    PrefService* profile_prefs,
+    policy::PolicyService* profile_policies,
+    extensions::StateStore* extensions_state_store)
     : profile_is_managed_(profile_is_managed),
       profile_prefs_(profile_prefs),
       profile_policies_(profile_policies),
@@ -409,18 +413,19 @@
   DCHECK(!profile_is_managed_ || profile_policies_);
 }
 
-KeyPermissions::~KeyPermissions() {}
+KeyPermissionsManager::~KeyPermissionsManager() {}
 
-void KeyPermissions::GetPermissionsForExtension(
+void KeyPermissionsManager::GetPermissionsForExtension(
     const std::string& extension_id,
     const PermissionsCallback& callback) {
   extensions_state_store_->GetExtensionValue(
       extension_id, kStateStorePlatformKeys,
-      base::BindOnce(&KeyPermissions::CreatePermissionObjectAndPassToCallback,
-                     weak_factory_.GetWeakPtr(), extension_id, callback));
+      base::BindOnce(
+          &KeyPermissionsManager::CreatePermissionObjectAndPassToCallback,
+          weak_factory_.GetWeakPtr(), extension_id, callback));
 }
 
-bool KeyPermissions::CanUserGrantPermissionFor(
+bool KeyPermissionsManager::CanUserGrantPermissionFor(
     const std::string& public_key_spki_der,
     const std::vector<TokenId>& key_locations) const {
   if (key_locations.empty())
@@ -440,7 +445,7 @@
 }
 
 // static
-bool KeyPermissions::IsCorporateKeyForProfile(
+bool KeyPermissionsManager::IsCorporateKeyForProfile(
     const std::string& public_key_spki_der_b64,
     const PrefService* const profile_prefs) {
   const base::DictionaryValue* prefs_entry =
@@ -455,7 +460,8 @@
 }
 
 // static
-std::vector<std::string> KeyPermissions::GetCorporateKeyUsageAllowedAppIds(
+std::vector<std::string>
+KeyPermissionsManager::GetCorporateKeyUsageAllowedAppIds(
     policy::PolicyService* const profile_policies) {
   std::vector<std::string> permissions;
 
@@ -478,7 +484,7 @@
   return permissions;
 }
 
-bool KeyPermissions::IsCorporateKey(
+bool KeyPermissionsManager::IsCorporateKey(
     const std::string& public_key_spki_der_b64,
     const std::vector<TokenId>& key_locations) const {
   for (const auto key_location : key_locations) {
@@ -496,13 +502,7 @@
   return false;
 }
 
-void KeyPermissions::RegisterProfilePrefs(
-    user_prefs::PrefRegistrySyncable* registry) {
-  // For the format of the dictionary see the documentation at kPrefKeyUsage.
-  registry->RegisterDictionaryPref(prefs::kPlatformKeys);
-}
-
-void KeyPermissions::CreatePermissionObjectAndPassToCallback(
+void KeyPermissionsManager::CreatePermissionObjectAndPassToCallback(
     const std::string& extension_id,
     const PermissionsCallback& callback,
     std::unique_ptr<base::Value> value) {
@@ -510,7 +510,7 @@
       extension_id, std::move(value), profile_prefs_, profile_policies_, this));
 }
 
-void KeyPermissions::SetPlatformKeysOfExtension(
+void KeyPermissionsManager::SetPlatformKeysOfExtension(
     const std::string& extension_id,
     std::unique_ptr<base::Value> value) {
   extensions_state_store_->SetExtensionValue(
diff --git a/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions.h b/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h
similarity index 89%
rename from chrome/browser/chromeos/platform_keys/key_permissions/key_permissions.h
rename to chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h
index 148a8601..c8c88334f 100644
--- a/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions.h
+++ b/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h
@@ -1,9 +1,9 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
+// 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_CHROMEOS_PLATFORM_KEYS_KEY_PERMISSIONS_KEY_PERMISSIONS_H_
-#define CHROME_BROWSER_CHROMEOS_PLATFORM_KEYS_KEY_PERMISSIONS_KEY_PERMISSIONS_H_
+#ifndef CHROME_BROWSER_CHROMEOS_PLATFORM_KEYS_KEY_PERMISSIONS_KEY_PERMISSIONS_MANAGER_H_
+#define CHROME_BROWSER_CHROMEOS_PLATFORM_KEYS_KEY_PERMISSIONS_KEY_PERMISSIONS_MANAGER_H_
 
 #include <memory>
 #include <string>
@@ -28,10 +28,6 @@
 class PolicyService;
 }
 
-namespace user_prefs {
-class PrefRegistrySyncable;
-}
-
 namespace chromeos {
 namespace platform_keys {
 
@@ -72,7 +68,10 @@
 // certificate authority creates the certificate of the generated key, the
 // generating extension isn't able to use the key anymore except if explicitly
 // permitted by the administrator.
-class KeyPermissions {
+//
+// For retrieving a profile-specific KeyPermissionsManager, use
+// KeyPermissionsManagerUserServiceFactory.
+class KeyPermissionsManager {
  public:
   // Allows querying and modifying permissions and registering keys for a
   // specific extension.
@@ -81,12 +80,12 @@
     // |key_permissions| must not be null and outlive this object.
     // Methods of this object refer implicitly to the extension with the id
     // |extension_id|. Don't use this constructor directly. Call
-    // |KeyPermissions::GetPermissionsForExtension| instead.
+    // |KeyPermissionsManager::GetPermissionsForExtension| instead.
     PermissionsForExtension(const std::string& extension_id,
                             std::unique_ptr<base::Value> state_store_value,
                             PrefService* profile_prefs,
                             policy::PolicyService* profile_policies,
-                            KeyPermissions* key_permissions);
+                            KeyPermissionsManager* key_permissions);
 
     ~PermissionsForExtension();
 
@@ -144,8 +143,8 @@
     // returns a new entry.
     // |public_key_spki_der| must be the base64 encoding of the DER of a Subject
     // Public Key Info.
-    KeyPermissions::PermissionsForExtension::KeyEntry* GetStateStoreEntry(
-        const std::string& public_key_spki_der_b64);
+    KeyPermissionsManager::PermissionsForExtension::KeyEntry*
+    GetStateStoreEntry(const std::string& public_key_spki_der_b64);
 
     bool PolicyAllowsCorporateKeyUsage() const;
 
@@ -153,7 +152,7 @@
     std::vector<KeyEntry> state_store_entries_;
     PrefService* const profile_prefs_;
     policy::PolicyService* const profile_policies_;
-    KeyPermissions* const key_permissions_;
+    KeyPermissionsManager* const key_permissions_;
 
     DISALLOW_COPY_AND_ASSIGN(PermissionsForExtension);
   };
@@ -164,12 +163,12 @@
   // |profile_policies| must not be null and must outlive this object.
   // |profile_is_managed| determines the default usage and permissions for
   // keys without explicitly assigned usage.
-  KeyPermissions(bool profile_is_managed,
-                 PrefService* profile_prefs,
-                 policy::PolicyService* profile_policies,
-                 extensions::StateStore* extensions_state_store);
+  KeyPermissionsManager(bool profile_is_managed,
+                        PrefService* profile_prefs,
+                        policy::PolicyService* profile_policies,
+                        extensions::StateStore* extensions_state_store);
 
-  ~KeyPermissions();
+  ~KeyPermissionsManager();
 
   using PermissionsCallback =
       base::Callback<void(std::unique_ptr<PermissionsForExtension>)>;
@@ -187,8 +186,6 @@
       const std::string& public_key_spki_der,
       const std::vector<platform_keys::TokenId>& key_locations) const;
 
-  static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
-
   // Returns true if |public_key_spki_der_b64| is a corporate usage key.
   static bool IsCorporateKeyForProfile(
       const std::string& public_key_spki_der_b64,
@@ -219,12 +216,12 @@
   PrefService* const profile_prefs_;
   policy::PolicyService* const profile_policies_;
   extensions::StateStore* const extensions_state_store_;
-  base::WeakPtrFactory<KeyPermissions> weak_factory_{this};
+  base::WeakPtrFactory<KeyPermissionsManager> weak_factory_{this};
 
-  DISALLOW_COPY_AND_ASSIGN(KeyPermissions);
+  DISALLOW_COPY_AND_ASSIGN(KeyPermissionsManager);
 };
 
 }  // namespace platform_keys
 }  // namespace chromeos
 
-#endif  // CHROME_BROWSER_CHROMEOS_PLATFORM_KEYS_KEY_PERMISSIONS_KEY_PERMISSIONS_H_
+#endif  // CHROME_BROWSER_CHROMEOS_PLATFORM_KEYS_KEY_PERMISSIONS_KEY_PERMISSIONS_MANAGER_H_
diff --git a/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.cc b/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.cc
new file mode 100644
index 0000000..9039a139
--- /dev/null
+++ b/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.cc
@@ -0,0 +1,75 @@
+// 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/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.h"
+
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "chrome/browser/extensions/extension_system_factory.h"
+#include "chrome/browser/policy/profile_policy_connector.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/common/pref_names.h"
+#include "components/keyed_service/content/browser_context_dependency_manager.h"
+#include "components/pref_registry/pref_registry_syncable.h"
+#include "extensions/browser/extension_system.h"
+
+namespace chromeos {
+namespace platform_keys {
+
+// ==================== KeyPermissionsManagerUserService =======================
+
+KeyPermissionsManagerUserService::KeyPermissionsManagerUserService(
+    Profile* profile)
+    : key_permissions_manager_(
+          profile->GetProfilePolicyConnector()->IsManaged(),
+          profile->GetPrefs(),
+          profile->GetProfilePolicyConnector()->policy_service(),
+          extensions::ExtensionSystem::Get(profile)->state_store()) {}
+
+KeyPermissionsManagerUserService::~KeyPermissionsManagerUserService() = default;
+
+// ================== KeyPermissionsManagerUserServiceFactory ==================
+
+// static
+KeyPermissionsManagerUserService*
+KeyPermissionsManagerUserServiceFactory::GetForBrowserContext(
+    content::BrowserContext* context) {
+  return static_cast<KeyPermissionsManagerUserService*>(
+      GetInstance()->GetServiceForBrowserContext(context, /*create=*/true));
+}
+
+// static
+KeyPermissionsManagerUserServiceFactory*
+KeyPermissionsManagerUserServiceFactory::GetInstance() {
+  static base::NoDestructor<KeyPermissionsManagerUserServiceFactory> factory;
+  return factory.get();
+}
+
+KeyPermissionsManagerUserServiceFactory::
+    KeyPermissionsManagerUserServiceFactory()
+    : BrowserContextKeyedServiceFactory(
+          "KeyPermissionsManagerUserService",
+          BrowserContextDependencyManager::GetInstance()) {
+  DependsOn(extensions::ExtensionSystemFactory::GetInstance());
+}
+
+KeyedService* KeyPermissionsManagerUserServiceFactory::BuildServiceInstanceFor(
+    content::BrowserContext* context) const {
+  Profile* profile = Profile::FromBrowserContext(context);
+  if (!profile) {
+    return nullptr;
+  }
+
+  return new KeyPermissionsManagerUserService(profile);
+}
+
+void KeyPermissionsManagerUserServiceFactory::RegisterProfilePrefs(
+    user_prefs::PrefRegistrySyncable* registry) {
+  // For the format of the dictionary see prefs::kPlatformKeys documentation in
+  // key_permissions_manager.cc
+  registry->RegisterDictionaryPref(prefs::kPlatformKeys);
+}
+
+}  // namespace platform_keys
+}  // namespace chromeos
diff --git a/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.h b/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.h
new file mode 100644
index 0000000..ebb9e9a
--- /dev/null
+++ b/chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.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_CHROMEOS_PLATFORM_KEYS_KEY_PERMISSIONS_KEY_PERMISSIONS_MANAGER_USER_SERVICE_H_
+#define CHROME_BROWSER_CHROMEOS_PLATFORM_KEYS_KEY_PERMISSIONS_KEY_PERMISSIONS_MANAGER_USER_SERVICE_H_
+
+#include "base/no_destructor.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h"
+#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
+#include "components/keyed_service/core/keyed_service.h"
+
+class Profile;
+
+namespace user_prefs {
+class PrefRegistrySyncable;
+}
+
+namespace chromeos {
+namespace platform_keys {
+
+// KeyPermissionsManagerUserService is a wrapper over KeyPermissionsManager
+// (KPM) to provide KPMs keyed by profile. KPM is not a KeyedService by itself
+// so as future work can introduce a global device-wide KPM instance.
+class KeyPermissionsManagerUserService : public KeyedService {
+ public:
+  explicit KeyPermissionsManagerUserService(Profile* profile);
+  ~KeyPermissionsManagerUserService() override;
+
+  KeyPermissionsManager* key_permissions_manager() {
+    return &key_permissions_manager_;
+  }
+
+ private:
+  KeyPermissionsManager key_permissions_manager_;
+};
+
+class KeyPermissionsManagerUserServiceFactory
+    : public BrowserContextKeyedServiceFactory {
+ public:
+  static KeyPermissionsManagerUserService* GetForBrowserContext(
+      content::BrowserContext* context);
+  static KeyPermissionsManagerUserServiceFactory* GetInstance();
+
+ private:
+  friend class base::NoDestructor<KeyPermissionsManagerUserServiceFactory>;
+
+  KeyPermissionsManagerUserServiceFactory();
+  ~KeyPermissionsManagerUserServiceFactory() override = default;
+
+  // BrowserStateKeyedServiceFactory.
+  KeyedService* BuildServiceInstanceFor(
+      content::BrowserContext* context) const override;
+  void RegisterProfilePrefs(
+      user_prefs::PrefRegistrySyncable* registry) override;
+};
+
+}  // namespace platform_keys
+}  // namespace chromeos
+
+#endif  // CHROME_BROWSER_CHROMEOS_PLATFORM_KEYS_KEY_PERMISSIONS_KEY_PERMISSIONS_MANAGER_USER_SERVICE_H_
diff --git a/chrome/browser/chromeos/printing/DEPS b/chrome/browser/chromeos/printing/DEPS
new file mode 100644
index 0000000..b6d3ecd
--- /dev/null
+++ b/chrome/browser/chromeos/printing/DEPS
@@ -0,0 +1,6 @@
+specific_include_rules = {
+  "(server_printers_fetcher|server_printers_provider_unittest)\.cc": [
+    # IPP protocol; it is needed for communication with print servers.
+    "+third_party/libipp/libipp/ipp.h",
+  ],
+}
diff --git a/chrome/browser/chromeos/printing/server_printers_fetcher.cc b/chrome/browser/chromeos/printing/server_printers_fetcher.cc
index f3acd78..66b480d 100644
--- a/chrome/browser/chromeos/printing/server_printers_fetcher.cc
+++ b/chrome/browser/chromeos/printing/server_printers_fetcher.cc
@@ -21,6 +21,7 @@
 #include "components/device_event_log/device_event_log.h"
 #include "net/base/load_flags.h"
 #include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
 #include "services/network/public/cpp/simple_url_loader.h"
 #include "services/network/public/cpp/simple_url_loader_stream_consumer.h"
 #include "third_party/libipp/libipp/ipp.h"
@@ -58,9 +59,11 @@
     CHECK(base::SequencedTaskRunnerHandle::IsSet());
     task_runner_for_callback_ = base::SequencedTaskRunnerHandle::Get();
     // Post task to execute.
-    task_runner_->PostTask(FROM_HERE,
-                           base::BindOnce(&PrivateImplementation::SendQuery,
-                                          base::Unretained(this)));
+    task_runner_->PostTask(
+        FROM_HERE,
+        base::BindOnce(
+            &PrivateImplementation::SendQuery, base::Unretained(this),
+            g_browser_process->shared_url_loader_factory()->Clone()));
   }
 
   ~PrivateImplementation() override = default;
@@ -141,7 +144,8 @@
 
  private:
   // The main task. It is scheduled in the constructor.
-  void SendQuery() {
+  void SendQuery(std::unique_ptr<network::PendingSharedURLLoaderFactory>
+                     url_loader_factory) {
     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
     // Preparation of the IPP frame.
@@ -157,22 +161,18 @@
     auto resource_request = std::make_unique<network::ResourceRequest>();
     resource_request->url = server_url_;
     resource_request->method = "POST";
-    resource_request->headers.SetHeader(net::HttpRequestHeaders::kContentType,
-                                        "application/ipp");
     resource_request->load_flags =
         net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE;
-    resource_request->request_body =
-        network::ResourceRequestBody::CreateFromBytes(
-            reinterpret_cast<char*>(request_frame.data()),
-            request_frame.size());
     resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
     // TODO(pawliczek): create a traffic annotation for printing network traffic
     simple_url_loader_ = network::SimpleURLLoader::Create(
         std::move(resource_request), MISSING_TRAFFIC_ANNOTATION);
-    network::mojom::URLLoaderFactory* loader_factory =
-        g_browser_process->system_network_context_manager()
-            ->GetURLLoaderFactory();
-    simple_url_loader_->DownloadAsStream(loader_factory, this);
+    std::string request_body(request_frame.begin(), request_frame.end());
+    simple_url_loader_->AttachStringForUpload(request_body, "application/ipp");
+    simple_url_loader_->DownloadAsStream(
+        network::SharedURLLoaderFactory::Create(std::move(url_loader_factory))
+            .get(),
+        this);
   }
 
   // Posts a response with a list of printers.
diff --git a/chrome/browser/chromeos/printing/server_printers_provider.cc b/chrome/browser/chromeos/printing/server_printers_provider.cc
index 03b0e34..a4a0e61 100644
--- a/chrome/browser/chromeos/printing/server_printers_provider.cc
+++ b/chrome/browser/chromeos/printing/server_printers_provider.cc
@@ -11,9 +11,12 @@
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
 #include "base/metrics/histogram_functions.h"
+#include "base/optional.h"
+#include "base/scoped_observer.h"
 #include "base/sequenced_task_runner.h"
 #include "base/stl_util.h"
 #include "base/task/post_task.h"
+#include "chrome/browser/browser_process.h"
 #include "chrome/browser/chromeos/printing/print_server.h"
 #include "chrome/browser/chromeos/printing/print_servers_provider.h"
 #include "chrome/browser/chromeos/printing/print_servers_provider_factory.h"
@@ -23,6 +26,8 @@
 #include "components/device_event_log/device_event_log.h"
 #include "url/gurl.h"
 
+class PrefService;
+
 namespace chromeos {
 
 namespace {
@@ -35,24 +40,71 @@
   std::vector<PrinterDetector::DetectedPrinter> printers;  // queried printers
 };
 
+class PrintServersPolicyProvider : public PrintServersProvider::Observer {
+ public:
+  PrintServersPolicyProvider(base::WeakPtr<PrintServersProvider> provider,
+                             PrefService* prefs,
+                             const std::string& pref_name)
+      : provider_(provider) {
+    provider_->SetAllowlistPref(prefs, pref_name);
+    provider->AddObserver(this);
+  }
+
+  ~PrintServersPolicyProvider() override {
+    if (provider_) {
+      provider_->RemoveObserver(this);
+    }
+  }
+
+  base::Optional<std::vector<PrintServer>>& GetPrinterServers() {
+    return servers_;
+  }
+
+  void SetListener(const base::RepeatingCallback<void()>& callback) {
+    callback_ = std::make_unique<base::RepeatingCallback<void()>>(callback);
+    callback_->Run();
+  }
+
+  // PrintServersProvider::Observer implementation.
+  void OnServersChanged(bool servers_are_complete,
+                        const std::vector<PrintServer>& servers) override {
+    servers_ =
+        servers_are_complete ? base::make_optional(servers) : base::nullopt;
+    if (callback_) {
+      callback_->Run();
+    }
+  }
+
+ private:
+  base::WeakPtr<PrintServersProvider> provider_;
+  base::Optional<std::vector<PrintServer>> servers_;
+  std::unique_ptr<base::RepeatingCallback<void()>> callback_;
+};
+
 class ServerPrintersProviderImpl
     : public ServerPrintersProvider,
-      public PrintServersProvider::Observer,
       public base::SupportsWeakPtr<ServerPrintersProviderImpl> {
  public:
   explicit ServerPrintersProviderImpl(Profile* profile)
-      : servers_provider_(
-            PrintServersProviderFactory::Get()->GetForProfile(profile)) {
+      : user_policy_provider_(std::make_unique<PrintServersPolicyProvider>(
+            PrintServersProviderFactory::Get()->GetForProfile(profile),
+            profile->GetPrefs(),
+            prefs::kExternalPrintServersAllowlist)),
+        device_policy_provider_(std::make_unique<PrintServersPolicyProvider>(
+            PrintServersProviderFactory::Get()->GetForDevice(),
+            g_browser_process->local_state(),
+            prefs::kDeviceExternalPrintServersAllowlist)) {
     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-    servers_provider_->SetAllowlistPref(profile->GetPrefs(),
-                                        prefs::kExternalPrintServersAllowlist);
-    servers_provider_->AddObserver(this);
+
+    user_policy_provider_->SetListener(
+        base::BindRepeating(&ServerPrintersProviderImpl::NotifyPolicyChanged,
+                            weak_ptr_factory_.GetWeakPtr()));
+    device_policy_provider_->SetListener(
+        base::BindRepeating(&ServerPrintersProviderImpl::NotifyPolicyChanged,
+                            weak_ptr_factory_.GetWeakPtr()));
   }
 
-  ~ServerPrintersProviderImpl() override {
-    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-    servers_provider_->RemoveObserver(this);
-  }
+  ~ServerPrintersProviderImpl() override = default;
 
   void RegisterPrintersFoundCallback(OnPrintersUpdateCallback cb) override {
     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -69,9 +121,8 @@
     return printers;
   }
 
-  // PrintServersProvider::Observer implementation.
   void OnServersChanged(bool servers_are_complete,
-                        const std::vector<PrintServer>& servers) override {
+                        const std::map<GURL, PrintServer>& servers) {
     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
     // Create an entry in the device log.
     if (servers_are_complete) {
@@ -88,7 +139,8 @@
     servers_are_complete_ = servers_are_complete;
     // Fill new map with new servers and compare with the old map.
     std::map<GURL, PrintServerWithPrinters> new_servers;
-    for (const auto& server : servers) {
+    for (const auto& server_pair : servers) {
+      const PrintServer& server = server_pair.second;
       const GURL& url = server.GetUrl();
       const std::string& name = server.GetName();
       auto it_new = new_servers.emplace(url, server).first;
@@ -158,6 +210,25 @@
   }
 
  private:
+  void NotifyPolicyChanged() {
+    std::map<GURL, PrintServer> all_servers;
+    auto& device_servers = device_policy_provider_->GetPrinterServers();
+    if (device_servers.has_value()) {
+      for (const auto& server : device_servers.value()) {
+        all_servers.emplace(server.GetUrl(), server);
+      }
+    }
+    auto& user_servers = user_policy_provider_->GetPrinterServers();
+    if (user_servers.has_value()) {
+      for (const auto& server : user_servers.value()) {
+        all_servers.emplace(server.GetUrl(), server);
+      }
+    }
+
+    bool is_complete = user_servers.has_value() || device_servers.has_value();
+    OnServersChanged(is_complete, all_servers);
+  }
+
   // Returns true <=> all policies have been parsed and applied and all servers
   // have been queried (even when some errors occurred).
   bool IsComplete() const {
@@ -176,7 +247,9 @@
   // URLs that are being queried now with corresponding fetcher objects.
   std::map<GURL, std::unique_ptr<ServerPrintersFetcher>> fetchers_;
 
-  base::WeakPtr<PrintServersProvider> servers_provider_;
+  std::unique_ptr<PrintServersPolicyProvider> user_policy_provider_;
+  std::unique_ptr<PrintServersPolicyProvider> device_policy_provider_;
+
   SEQUENCE_CHECKER(sequence_checker_);
   base::WeakPtrFactory<ServerPrintersProviderImpl> weak_ptr_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(ServerPrintersProviderImpl);
diff --git a/chrome/browser/chromeos/printing/server_printers_provider_unittest.cc b/chrome/browser/chromeos/printing/server_printers_provider_unittest.cc
new file mode 100644
index 0000000..b78e4e55
--- /dev/null
+++ b/chrome/browser/chromeos/printing/server_printers_provider_unittest.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 "chrome/browser/chromeos/printing/server_printers_provider.h"
+
+#include <memory>
+#include <string>
+
+#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
+#include "chrome/browser/chromeos/printing/print_server.h"
+#include "chrome/browser/chromeos/printing/print_servers_provider.h"
+#include "chrome/browser/chromeos/printing/print_servers_provider_factory.h"
+#include "chrome/browser/chromeos/printing/printer_detector.h"
+#include "chrome/common/pref_names.h"
+#include "chrome/test/base/scoped_testing_local_state.h"
+#include "chrome/test/base/testing_browser_process.h"
+#include "chrome/test/base/testing_profile.h"
+#include "components/policy/proto/chrome_device_policy.pb.h"
+#include "components/sync_preferences/testing_pref_service_syncable.h"
+#include "components/user_manager/scoped_user_manager.h"
+#include "content/public/test/browser_task_environment.h"
+#include "net/test/embedded_test_server/embedded_test_server.h"
+#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
+#include "services/network/test/test_url_loader_factory.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/libipp/libipp/ipp.h"
+
+using ::testing::AllOf;
+using ::testing::Property;
+using ::testing::ResultOf;
+using ::testing::UnorderedElementsAre;
+
+namespace chromeos {
+
+namespace {
+
+const char kAccountName[] = "test";
+
+// An example of configuration file with print servers for user policy.
+const char kUserExternalPrintServersContentsJson[] = R"json(
+[
+  {
+    "id": "id1",
+    "display_name": "LexaPrint - User",
+    "url": "ipp://192.168.1.5/user-printer",
+  }, {
+    "id": "id2",
+    "display_name": "Color Laser - User",
+    "url":"ipps://user-print-server.intranet.example.com:443/ipp/cl2k4",
+  }, {
+    "id": "id3",
+    "display_name": "B&W Printer - User",
+    "url":"ipps://user-print-server.intranet.example.com:443/bwprinter",
+  }
+])json";
+
+Printer UserPrinter1() {
+  Printer printer("server-20e91b728d4d04bc68132ced81772ef5");
+  printer.set_display_name("LexaPrint - User Name");
+  std::string server("ipp://192.168.1.5");
+  printer.set_print_server_uri(server);
+  Uri url("ipp://192.168.1.5:631/printers/LexaPrint - User Name");
+  printer.SetUri(url);
+  return printer;
+}
+
+Printer UserPrinter2() {
+  Printer printer("server-5da95e01216b1fe0ee1de25dc8d0a6e8");
+  printer.set_display_name("Color Laser - User Name");
+  std::string server("ipps://user-print-server.intranet.example.com");
+  printer.set_print_server_uri(server);
+  Uri url(
+      "ipps://user-print-server.intranet.example.com:443/printers/"
+      "Color Laser "
+      "- User Name");
+  printer.SetUri(url);
+  return printer;
+}
+
+// An example of configuration file with print servers for device policy.
+const char kDeviceExternalPrintServersContentsJson[] = R"json(
+[
+  {
+    "id": "id1",
+    "display_name": "LexaPrint - Device",
+    "url": "ipp://192.168.1.5/device-printer",
+  }, {
+    "id": "id2",
+    "display_name": "Color Laser - Device",
+    "url":"ipps://device-print-server.intranet.example.com:443/ipp/cl2k4",
+  }, {
+    "id": "id3",
+    "display_name": "B&W Printer - Device",
+    "url":"ipps://device-print-server.intranet.example.com:443/bwprinter",
+  }
+])json";
+
+// An example allowlist for device policy.
+const std::vector<std::string> kDevicePrintServersPolicyAllowlist = {
+    "id3", "idX", "id1"};
+
+Printer DevicePrinter1() {
+  Printer printer("server-f4a2ce25d8f9e6335d36f8253f8cf047");
+  printer.set_display_name("LexaPrint - Device Name");
+  std::string server("ipp://192.168.1.5");
+  Uri url("ipp://192.168.1.5:631/printers/LexaPrint - Device Name");
+  printer.set_print_server_uri(server);
+  printer.SetUri(url);
+  return printer;
+}
+
+Printer DevicePrinter2() {
+  Printer printer("server-1f88fe69dd2ce98ae6c195f3eb295a6d");
+  printer.set_display_name("B&W Printer - Device Name");
+  std::string server("ipps://device-print-server.intranet.example.com");
+  printer.set_print_server_uri(server);
+  Uri url(
+      "ipps://device-print-server.intranet.example.com:443/printers/"
+      "B&W Printer - Device Name");
+  printer.SetUri(url);
+  return printer;
+}
+
+}  // namespace
+
+auto GetPrinter = [](const PrinterDetector::DetectedPrinter& input) -> Printer {
+  return input.printer;
+};
+
+auto PrinterMatcher(Printer printer) {
+  return ResultOf(
+      GetPrinter,
+      AllOf(Property(&Printer::uri, printer.uri()),
+            Property(&Printer::print_server_uri, printer.print_server_uri()),
+            Property(&Printer::display_name, printer.display_name())));
+}
+
+class ServerPrintersProviderTest : public ::testing::Test {
+ public:
+  ServerPrintersProviderTest()
+      : local_state_(TestingBrowserProcess::GetGlobal()),
+        test_shared_loader_factory_(
+            base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
+                &test_url_loader_factory_)) {}
+
+ protected:
+  void SetUp() override {
+    TestingBrowserProcess::GetGlobal()->SetSharedURLLoaderFactory(
+        test_shared_loader_factory_);
+
+    ASSERT_TRUE(test_server_.Start());
+
+    SetupUserProfile();
+
+    server_printers_provider_ = ServerPrintersProvider::Create(profile_.get());
+  }
+
+  void SetupUserProfile() {
+    auto unique_user_manager = std::make_unique<FakeChromeUserManager>();
+    auto* user_manager = unique_user_manager.get();
+    user_manager_enabler_ = std::make_unique<user_manager::ScopedUserManager>(
+        std::move(unique_user_manager));
+
+    TestingProfile::Builder profile_builder;
+    profile_builder.SetProfileName(kAccountName);
+    profile_ = profile_builder.Build();
+    user_manager->AddUserWithAffiliationAndTypeAndProfile(
+        AccountId::FromUserEmail(kAccountName), false,
+        user_manager::UserType::USER_TYPE_REGULAR, profile_.get());
+  }
+
+  void TearDown() override { PrintServersProviderFactory::Get()->Shutdown(); }
+
+  std::string CreateResponse(const std::string& name,
+                             const std::string& description) {
+    ipp::Response_CUPS_Get_Printers response;
+    response.printer_attributes[0].printer_name.Set(
+        ipp::StringWithLanguage(name, "us-EN"));
+    response.printer_attributes[0].printer_info.Set(
+        ipp::StringWithLanguage(description, "us-EN"));
+    ipp::Server server(ipp::Version::_1_1, 1);
+    server.BuildResponseFrom(&response);
+    std::vector<uint8_t> bin_data;
+    EXPECT_TRUE(server.WriteResponseFrameTo(&bin_data));
+    std::string response_body(bin_data.begin(), bin_data.end());
+    return response_body;
+  }
+
+  void ApplyDevicePolicy() {
+    device_print_servers_provider_ =
+        PrintServersProviderFactory::Get()->GetForDevice();
+    device_print_servers_provider_->SetData(
+        std::make_unique<std::string>(kDeviceExternalPrintServersContentsJson));
+    // Apply device allowlist.
+    auto device_allowlist =
+        std::make_unique<base::Value>(base::Value::Type::LIST);
+
+    for (const std::string& id : kDevicePrintServersPolicyAllowlist)
+      device_allowlist->Append(base::Value(id));
+    local_state_.Get()->SetManagedPref(
+        prefs::kDeviceExternalPrintServersAllowlist,
+        std::move(device_allowlist));
+  }
+
+  void ApplyUserPolicy() {
+    static const std::vector<std::string> kUserPrintServersPolicyAllowlist = {
+        "idX", "id2", "id1"};
+    user_print_servers_provider_ =
+        PrintServersProviderFactory::Get()->GetForProfile(profile_.get());
+    user_print_servers_provider_->SetData(
+        std::make_unique<std::string>(kUserExternalPrintServersContentsJson));
+    // Apply user allowlist.
+    auto user_allowlist = std::make_unique<base::ListValue>();
+    for (const std::string& id : kUserPrintServersPolicyAllowlist)
+      user_allowlist->Append(base::Value(id));
+    profile_->GetTestingPrefService()->SetManagedPref(
+        prefs::kExternalPrintServersAllowlist, std::move(user_allowlist));
+  }
+
+  // Everything must be called on Chrome_UIThread.
+  content::BrowserTaskEnvironment task_environment_;
+
+  ScopedTestingLocalState local_state_;
+
+  network::TestURLLoaderFactory test_url_loader_factory_;
+
+  scoped_refptr<network::WeakWrapperSharedURLLoaderFactory>
+      test_shared_loader_factory_;
+
+  std::unique_ptr<TestingProfile> profile_;
+
+  std::unique_ptr<user_manager::ScopedUserManager> user_manager_enabler_;
+
+  net::test_server::EmbeddedTestServer test_server_;
+
+  base::WeakPtr<PrintServersProvider> user_print_servers_provider_;
+  base::WeakPtr<PrintServersProvider> device_print_servers_provider_;
+
+  std::unique_ptr<ServerPrintersProvider> server_printers_provider_;
+};
+
+TEST_F(ServerPrintersProviderTest, GetPrinters_OnlyDevicePolicy) {
+  test_url_loader_factory_.AddResponse(
+      "http://192.168.1.5:631/device-printer",
+      CreateResponse("LexaPrint - Device Name", "LexaPrint Description"));
+  test_url_loader_factory_.AddResponse(
+      "https://device-print-server.intranet.example.com:443/bwprinter",
+      CreateResponse("B&W Printer - Device Name", "B&W Printer Description"));
+
+  EXPECT_TRUE(server_printers_provider_->GetPrinters().empty());
+
+  ApplyDevicePolicy();
+  task_environment_.RunUntilIdle();
+
+  EXPECT_THAT(server_printers_provider_->GetPrinters(),
+              UnorderedElementsAre(PrinterMatcher(DevicePrinter1()),
+                                   PrinterMatcher(DevicePrinter2())));
+}
+
+TEST_F(ServerPrintersProviderTest, GetPrinters_OnlyUserPolicy) {
+  test_url_loader_factory_.AddResponse(
+      "http://192.168.1.5:631/user-printer",
+      CreateResponse("LexaPrint - User Name", "LexaPrint Description"));
+  test_url_loader_factory_.AddResponse(
+      "https://user-print-server.intranet.example.com/ipp/cl2k4",
+      CreateResponse("Color Laser - User Name", "Color Laser Description"));
+
+  EXPECT_TRUE(server_printers_provider_->GetPrinters().empty());
+
+  ApplyUserPolicy();
+  task_environment_.RunUntilIdle();
+
+  EXPECT_THAT(server_printers_provider_->GetPrinters(),
+              UnorderedElementsAre(PrinterMatcher(UserPrinter1()),
+                                   PrinterMatcher(UserPrinter2())));
+}
+
+TEST_F(ServerPrintersProviderTest, GetPrinters_UserAndDevicePolicy) {
+  test_url_loader_factory_.AddResponse(
+      "http://192.168.1.5:631/device-printer",
+      CreateResponse("LexaPrint - Device Name", "LexaPrint Description"));
+  test_url_loader_factory_.AddResponse(
+      "https://device-print-server.intranet.example.com:443/bwprinter",
+      CreateResponse("B&W Printer - Device Name", "B&W Printer Description"));
+  test_url_loader_factory_.AddResponse(
+      "http://192.168.1.5:631/user-printer",
+      CreateResponse("LexaPrint - User Name", "LexaPrint Description"));
+  test_url_loader_factory_.AddResponse(
+      "https://user-print-server.intranet.example.com/ipp/cl2k4",
+      CreateResponse("Color Laser - User Name", "Color Laser Description"));
+
+  EXPECT_TRUE(server_printers_provider_->GetPrinters().empty());
+
+  ApplyUserPolicy();
+  ApplyDevicePolicy();
+  task_environment_.RunUntilIdle();
+
+  EXPECT_THAT(server_printers_provider_->GetPrinters(),
+              UnorderedElementsAre(PrinterMatcher(DevicePrinter1()),
+                                   PrinterMatcher(DevicePrinter2()),
+                                   PrinterMatcher(UserPrinter1()),
+                                   PrinterMatcher(UserPrinter2())));
+}
+
+}  // namespace chromeos
diff --git a/chrome/browser/chromeos/remote_apps/remote_apps_manager.cc b/chrome/browser/chromeos/remote_apps/remote_apps_manager.cc
index 555ebb7f..d379d397 100644
--- a/chrome/browser/chromeos/remote_apps/remote_apps_manager.cc
+++ b/chrome/browser/chromeos/remote_apps/remote_apps_manager.cc
@@ -34,6 +34,28 @@
 
 namespace {
 
+constexpr net::NetworkTrafficAnnotationTag kTrafficAnnotation =
+    net::DefineNetworkTrafficAnnotation("remote_apps_image_downloader", R"(
+        semantics {
+          sender: "Remote Apps Manager"
+          description: "Fetches icons for Remote Apps."
+          trigger:
+            "Triggered when a Remote App is added to the ChromeOS launcher. "
+            "Remote Apps can only be added by allowlisted extensions "
+            "installed by enterprise policy."
+          data: "No user data."
+          destination: OTHER
+          destination_other: "Icon URL of the Remote App"
+        }
+        policy {
+          cookies_allowed: NO
+          setting: "This request cannot be disabled."
+          policy_exception_justification:
+            "This request is only performed by allowlisted extensions "
+            "installed by enterprise policy."
+        }
+      )");
+
 class ImageDownloaderImpl : public RemoteAppsManager::ImageDownloader {
  public:
   ImageDownloaderImpl() = default;
@@ -44,9 +66,7 @@
   void Download(const GURL& url, DownloadCallback callback) override {
     ash::ImageDownloader* image_downloader = ash::ImageDownloader::Get();
     DCHECK(image_downloader);
-    // TODO(jityao): Set traffic annotation.
-    image_downloader->Download(url, NO_TRAFFIC_ANNOTATION_YET,
-                               std::move(callback));
+    image_downloader->Download(url, kTrafficAnnotation, std::move(callback));
   }
 };
 
diff --git a/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc b/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc
index af80e54..7f4275e22 100644
--- a/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc
+++ b/chrome/browser/chromeos/system_logs/debug_daemon_log_source.cc
@@ -24,6 +24,7 @@
 #include "chromeos/cryptohome/cryptohome_parameters.h"
 #include "chromeos/dbus/dbus_thread_manager.h"
 #include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
+#include "components/feedback/feedback_util.h"
 #include "components/user_manager/user.h"
 #include "components/user_manager/user_manager.h"
 #include "content/public/browser/browser_thread.h"
@@ -68,64 +69,6 @@
 
 }  // namespace
 
-bool ReadEndOfFile(const base::FilePath& path,
-                   std::string* contents,
-                   size_t max_size) {
-  if (!contents) {
-    LOG(ERROR) << "contents buffer is null.";
-    return false;
-  }
-
-  if (path.ReferencesParent()) {
-    LOG(ERROR) << "ReadEndOfFile can't be called on file paths with parent "
-                  "references.";
-    return false;
-  }
-
-  base::ScopedFILE fp(base::OpenFile(path, "r"));
-  if (!fp) {
-    PLOG(ERROR) << "Failed to open file " << path.value();
-    return false;
-  }
-
-  std::unique_ptr<char[]> chunk(new char[max_size]);
-  std::unique_ptr<char[]> last_chunk(new char[max_size]);
-  chunk[0] = '\0';
-  last_chunk[0] = '\0';
-
-  size_t total_bytes_read = 0;
-  size_t bytes_read = 0;
-
-  // Since most logs are not seekable, read until the end keeping tracking of
-  // last two chunks.
-  while ((bytes_read = fread(chunk.get(), 1, max_size, fp.get())) == max_size) {
-    total_bytes_read += bytes_read;
-    last_chunk.swap(chunk);
-    chunk[0] = '\0';
-  }
-  total_bytes_read += bytes_read;
-
-  if (total_bytes_read < max_size) {
-    // File is smaller than max_size
-    contents->assign(chunk.get(), bytes_read);
-  } else if (bytes_read == 0) {
-    // File is exactly max_size or a multiple of max_size
-    contents->assign(last_chunk.get(), max_size);
-  } else {
-    // Number of bytes to keep from last_chunk
-    size_t bytes_from_last = max_size - bytes_read;
-
-    // Shift left last_chunk by size of chunk and fit it in the back of
-    // last_chunk.
-    memmove(last_chunk.get(), last_chunk.get() + bytes_read, bytes_from_last);
-    memcpy(last_chunk.get() + bytes_from_last, chunk.get(), bytes_read);
-
-    contents->assign(last_chunk.get(), max_size);
-  }
-
-  return true;
-}
-
 // Reads the contents of the user log files listed in |kUserLogs| and adds them
 // to the |response| parameter.
 void ReadUserLogFiles(const std::vector<base::FilePath>& profile_dirs,
@@ -134,9 +77,9 @@
     std::string profile_prefix = "Profile[" + base::NumberToString(i) + "] ";
     for (const auto& log : kUserLogs) {
       std::string value;
-      const bool read_success =
-          ReadEndOfFile(profile_dirs[i].Append(log.log_file_relative_path),
-                        &value, kMaxLogSize);
+      const bool read_success = feedback_util::ReadEndOfFile(
+          profile_dirs[i].Append(log.log_file_relative_path), kMaxLogSize,
+          &value);
 
       if (read_success && value.length() == kMaxLogSize) {
         value.replace(0, strlen(kLogTruncated), kLogTruncated);
diff --git a/chrome/browser/chromeos/system_logs/debug_daemon_log_source_unittest.cc b/chrome/browser/chromeos/system_logs/debug_daemon_log_source_unittest.cc
deleted file mode 100644
index ab5354b..0000000
--- a/chrome/browser/chromeos/system_logs/debug_daemon_log_source_unittest.cc
+++ /dev/null
@@ -1,125 +0,0 @@
-// Copyright (c) 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/chromeos/system_logs/debug_daemon_log_source.h"
-
-#include <string>
-
-#include "base/files/file_util.h"
-#include "base/files/scoped_file.h"
-#include "base/files/scoped_temp_dir.h"
-#include "base/rand_util.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace system_logs {
-
-class DebugDaemonLogSourceTest : public ::testing::Test {
- public:
-  void SetUp() override { ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); }
-
-  base::ScopedTempDir temp_dir_;
-};
-
-TEST_F(DebugDaemonLogSourceTest, ReadEndOfFileEmpty) {
-  std::string read_data("should be erased");
-
-  base::FilePath file_path = temp_dir_.GetPath().Append("test_empty.txt");
-
-  WriteFile(file_path, "", 0);
-
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 10));
-  EXPECT_EQ(0u, read_data.length());
-}
-
-TEST_F(DebugDaemonLogSourceTest, ReadEndOfFileSmall) {
-  const char kTestData[] = "0123456789";  // Length of 10
-  std::string read_data;
-
-  base::FilePath file_path = temp_dir_.GetPath().Append("test_small.txt");
-
-  WriteFile(file_path, kTestData, strlen(kTestData));
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 15));
-  EXPECT_EQ(kTestData, read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 10));
-  EXPECT_EQ(kTestData, read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 2));
-  EXPECT_EQ("89", read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 3));
-  EXPECT_EQ("789", read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 5));
-  EXPECT_EQ("56789", read_data);
-}
-
-TEST_F(DebugDaemonLogSourceTest, ReadEndOfFileWithZeros) {
-  const size_t test_size = 10;
-  std::string test_data("abcd\0\0\0\0hi", test_size);
-  std::string read_data;
-
-  base::FilePath file_path = temp_dir_.GetPath().Append("test_zero.txt");
-
-  WriteFile(file_path, test_data.data(), test_size);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 15));
-  EXPECT_EQ(test_data, read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 10));
-  EXPECT_EQ(test_data, read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 2));
-  EXPECT_EQ(test_data.substr(test_size - 2, 2), read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 3));
-  EXPECT_EQ(test_data.substr(test_size - 3, 3), read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 5));
-  EXPECT_EQ(test_data.substr(test_size - 5, 5), read_data);
-}
-
-TEST_F(DebugDaemonLogSourceTest, ReadEndOfFileMedium) {
-  std::string test_data = base::RandBytesAsString(10000);  // 10KB data
-  std::string read_data;
-
-  const size_t test_size = test_data.length();
-
-  base::FilePath file_path = temp_dir_.GetPath().Append("test_med.txt");
-
-  WriteFile(file_path, test_data.data(), test_size);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 15000));
-  EXPECT_EQ(test_data, read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 10000));
-  EXPECT_EQ(test_data, read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 1000));
-  EXPECT_EQ(test_data.substr(test_size - 1000, 1000), read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 300));
-  EXPECT_EQ(test_data.substr(test_size - 300, 300), read_data);
-
-  read_data.clear();
-  EXPECT_TRUE(ReadEndOfFile(file_path, &read_data, 175));
-  EXPECT_EQ(test_data.substr(test_size - 175, 175), read_data);
-}
-
-}  // namespace system_logs
diff --git a/chrome/browser/chromeos/ui/adb_sideloading_policy_change_notification.cc b/chrome/browser/chromeos/ui/adb_sideloading_policy_change_notification.cc
index 6193e49..728e9391 100644
--- a/chrome/browser/chromeos/ui/adb_sideloading_policy_change_notification.cc
+++ b/chrome/browser/chromeos/ui/adb_sideloading_policy_change_notification.cc
@@ -18,6 +18,7 @@
 #include "components/prefs/pref_service.h"
 #include "components/vector_icons/vector_icons.h"
 #include "ui/base/l10n/l10n_util.h"
+#include "ui/chromeos/devicetype_utils.h"
 
 namespace {
 constexpr char kAdbSideloadingDisallowedNotificationId[] =
@@ -45,6 +46,7 @@
       base::UTF8ToUTF16(g_browser_process->platform_part()
                             ->browser_policy_connector_chromeos()
                             ->GetEnterpriseDisplayDomain());
+  base::string16 device_type = ui::GetChromeOSDeviceName();
 
   switch (type) {
     case Type::kNone:
@@ -59,19 +61,21 @@
       notification_id = kAdbSideloadingDisallowedNotificationId;
       break;
     case Type::kPowerwashPlanned:
-      title = l10n_util::GetStringUTF16(
-          IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_PLANNED_NOTIFICATION_TITLE);
+      title = l10n_util::GetStringFUTF16(
+          IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_PLANNED_NOTIFICATION_TITLE,
+          device_type);
       text = l10n_util::GetStringFUTF16(
           IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_NOTIFICATION_MESSAGE,
-          enterprise_display_domain);
+          enterprise_display_domain, device_type);
       notification_id = kAdbSideloadingPowerwashPlannedNotificationId;
       break;
     case Type::kPowerwashOnNextReboot:
-      title = l10n_util::GetStringUTF16(
-          IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_ON_REBOOT_NOTIFICATION_TITLE);
+      title = l10n_util::GetStringFUTF16(
+          IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_ON_REBOOT_NOTIFICATION_TITLE,
+          device_type);
       text = l10n_util::GetStringFUTF16(
           IDS_ADB_SIDELOADING_POLICY_CHANGE_POWERWASH_NOTIFICATION_MESSAGE,
-          enterprise_display_domain);
+          enterprise_display_domain, device_type);
       notification_id = kAdbSideloadingPowerwashOnRebootNotificationId;
       pinned = true;
       notification_actions.push_back(
diff --git a/chrome/browser/chromeos/web_applications/help_app_integration_browsertest.cc b/chrome/browser/chromeos/web_applications/help_app_integration_browsertest.cc
index 9f28767..6640b65 100644
--- a/chrome/browser/chromeos/web_applications/help_app_integration_browsertest.cc
+++ b/chrome/browser/chromeos/web_applications/help_app_integration_browsertest.cc
@@ -13,6 +13,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/chromeos/web_applications/system_web_app_integration_test.h"
+#include "chrome/browser/ui/ash/system_tray_client.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/browser_window.h"
@@ -260,6 +261,30 @@
                               ->GetVisibleURL());
 }
 
+// Test that the Help App opens when Gesture help requested.
+IN_PROC_BROWSER_TEST_P(HelpAppIntegrationTest, HelpAppOpenGestures) {
+  WaitForTestSystemAppInstall();
+  base::HistogramTester histogram_tester;
+  const GURL expected_url("chrome://help-app/help/sub/3399710/id/9739838");
+  content::TestNavigationObserver navigation_observer(expected_url);
+  navigation_observer.StartWatchingNewWebContents();
+
+  SystemTrayClient::Get()->ShowGestureEducationHelp();
+  navigation_observer.Wait();
+
+  // There should be two browser windows, one regular and one for the help app.
+  EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
+  // Help app should have opened at the gesture article.
+  EXPECT_EQ(expected_url, chrome::FindLastActive()
+                              ->tab_strip_model()
+                              ->GetActiveWebContents()
+                              ->GetVisibleURL());
+  // The HELP app is 18, see DefaultAppName in
+  // src/chrome/browser/apps/app_service/app_service_metrics.cc
+  histogram_tester.ExpectUniqueSample("Apps.DefaultAppLaunch.FromOtherApp", 18,
+                                      1);
+}
+
 INSTANTIATE_TEST_SUITE_P(
     All,
     HelpAppIntegrationTest,
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.cc b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
index 3c69f3a..54a6b60 100644
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
@@ -69,6 +69,7 @@
 #include "extensions/browser/error_map.h"
 #include "extensions/browser/event_router_factory.h"
 #include "extensions/browser/extension_error.h"
+#include "extensions/browser/extension_file_task_runner.h"
 #include "extensions/browser/extension_prefs.h"
 #include "extensions/browser/extension_prefs_factory.h"
 #include "extensions/browser/extension_registry.h"
@@ -1188,7 +1189,8 @@
 
   ExtensionService* service = GetExtensionService(browser_context());
   if (path.MatchesExtension(FILE_PATH_LITERAL(".zip"))) {
-    ZipFileInstaller::Create(MakeRegisterInExtensionServiceCallback(service))
+    ZipFileInstaller::Create(GetExtensionFileTaskRunner(),
+                             MakeRegisterInExtensionServiceCallback(service))
         ->LoadFromZipFile(path);
   } else {
     auto prompt = std::make_unique<ExtensionInstallPrompt>(web_contents);
diff --git a/chrome/browser/extensions/api/passwords_private/password_check_delegate.cc b/chrome/browser/extensions/api/passwords_private/password_check_delegate.cc
index a4bca64..825d3bc1 100644
--- a/chrome/browser/extensions/api/passwords_private/password_check_delegate.cc
+++ b/chrome/browser/extensions/api/passwords_private/password_check_delegate.cc
@@ -67,19 +67,9 @@
     password_manager::SavedPasswordsPresenter::SavedPasswordsView;
 using State = password_manager::BulkLeakCheckService::State;
 
-std::unique_ptr<std::string> GetChangePasswordUrl(const std::string& url) {
-  // If the WellKnownChangePassword flag is enabled, replace the
-  // change_password_url to the well-known path. The
-  // WellKnownChangePasswordNavigationThrottle will continue process it.
-  if (!base::FeatureList::IsEnabled(
-          password_manager::features::kWellKnownChangePassword)) {
-    return std::make_unique<std::string>(url);
-  }
-  GURL origin = GURL(url).GetOrigin();
-  GURL::Replacements replacements;
-  replacements.SetPathStr(password_manager::kWellKnownChangePasswordPath);
+std::unique_ptr<std::string> GetChangePasswordUrl(const GURL& url) {
   return std::make_unique<std::string>(
-      origin.ReplaceComponents(replacements).spec());
+      password_manager::CreateChangePasswordUrl(url).spec());
 }
 
 }  // namespace
@@ -283,7 +273,7 @@
         api_credential.formatted_origin = android_form.app_display_name;
         api_credential.detailed_origin = android_form.app_display_name;
         api_credential.change_password_url =
-            GetChangePasswordUrl(android_form.affiliated_web_realm);
+            GetChangePasswordUrl(GURL(android_form.affiliated_web_realm));
       } else {
         // In case no affiliation information could be obtained show the
         // formatted package name to the user. An empty change_password_url will
@@ -306,8 +296,7 @@
       api_credential.detailed_origin =
           base::UTF16ToUTF8(url_formatter::FormatUrlForSecurityDisplay(
               credential.url.GetOrigin()));
-      api_credential.change_password_url =
-          GetChangePasswordUrl(credential.url.GetOrigin().spec());
+      api_credential.change_password_url = GetChangePasswordUrl(credential.url);
     }
 
     api_credential.id =
diff --git a/chrome/browser/extensions/api/passwords_private/password_check_delegate_unittest.cc b/chrome/browser/extensions/api/passwords_private/password_check_delegate_unittest.cc
index dee5cc2..fcc14b96 100644
--- a/chrome/browser/extensions/api/passwords_private/password_check_delegate_unittest.cc
+++ b/chrome/browser/extensions/api/passwords_private/password_check_delegate_unittest.cc
@@ -56,8 +56,8 @@
 
 namespace {
 
-constexpr char kExampleCom[] = "https://example.com";
-constexpr char kExampleOrg[] = "http://www.example.org";
+constexpr char kExampleCom[] = "https://example.com/";
+constexpr char kExampleOrg[] = "http://www.example.org/";
 constexpr char kExampleApp[] = "com.example.app";
 
 constexpr char kTestEmail[] = "user@gmail.com";
@@ -452,7 +452,7 @@
       delegate().GetCompromisedCredentials(),
       ElementsAre(
           ExpectCompromisedCredential(
-              "Example App", "Example App", "https://example.com", kUsername2,
+              "Example App", "Example App", "https://example.com/", kUsername2,
               base::TimeDelta::FromDays(3), "3 days ago",
               api::passwords_private::COMPROMISE_TYPE_PHISHED),
           ExpectCompromisedCredential(
diff --git a/chrome/browser/extensions/api/platform_keys/platform_keys_apitest_nss.cc b/chrome/browser/extensions/api/platform_keys/platform_keys_apitest_nss.cc
index 384c4ad..0da6313 100644
--- a/chrome/browser/extensions/api/platform_keys/platform_keys_apitest_nss.cc
+++ b/chrome/browser/extensions/api/platform_keys/platform_keys_apitest_nss.cc
@@ -14,10 +14,11 @@
 #include "base/strings/stringprintf.h"
 #include "chrome/browser/chromeos/platform_keys/extension_platform_keys_service.h"
 #include "chrome/browser/chromeos/platform_keys/extension_platform_keys_service_factory.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager.h"
+#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions_manager_user_service.h"
 #include "chrome/browser/chromeos/platform_keys/platform_keys.h"
 #include "chrome/browser/extensions/api/platform_keys/platform_keys_test_base.h"
 #include "chrome/browser/net/nss_context.h"
-#include "chrome/browser/policy/profile_policy_connector.h"
 #include "chrome/browser/profiles/profile.h"
 #include "components/policy/policy_constants.h"
 #include "content/public/browser/browser_task_traits.h"
@@ -132,18 +133,16 @@
     const extensions::Extension* const fake_gen_extension =
         LoadExtension(test_data_dir_.AppendASCII("platform_keys_genkey"));
 
-    policy::ProfilePolicyConnector* const policy_connector =
-        profile()->GetProfilePolicyConnector();
+    chromeos::platform_keys::KeyPermissionsManager* const
+        key_permissions_manager =
+            chromeos::platform_keys::KeyPermissionsManagerUserServiceFactory::
+                GetForBrowserContext(profile())
+                    ->key_permissions_manager();
 
-    extensions::StateStore* const state_store =
-        extensions::ExtensionSystem::Get(profile())->state_store();
-
-    chromeos::platform_keys::KeyPermissions permissions(
-        policy_connector->IsManaged(), profile()->GetPrefs(),
-        policy_connector->policy_service(), state_store);
+    ASSERT_TRUE(key_permissions_manager);
 
     base::RunLoop run_loop;
-    permissions.GetPermissionsForExtension(
+    key_permissions_manager->GetPermissionsForExtension(
         fake_gen_extension->id(),
         base::Bind(&PlatformKeysTest::GotPermissionsForExtension,
                    base::Unretained(this), run_loop.QuitClosure()));
@@ -169,9 +168,8 @@
 
   void GotPermissionsForExtension(
       const base::Closure& done_callback,
-      std::unique_ptr<
-          chromeos::platform_keys::KeyPermissions::PermissionsForExtension>
-          permissions_for_ext) {
+      std::unique_ptr<chromeos::platform_keys::KeyPermissionsManager::
+                          PermissionsForExtension> permissions_for_ext) {
     std::string client_cert1_spki =
         chromeos::platform_keys::GetSubjectPublicKeyInfo(client_cert1_);
     permissions_for_ext->RegisterKeyForCorporateUsage(
diff --git a/chrome/browser/extensions/api/search/search_api_apitest.cc b/chrome/browser/extensions/api/search/search_api_apitest.cc
index bb2d8a64..446392d 100644
--- a/chrome/browser/extensions/api/search/search_api_apitest.cc
+++ b/chrome/browser/extensions/api/search/search_api_apitest.cc
@@ -13,19 +13,22 @@
 using SearchApiTest = ExtensionApiTest;
 
 // Test various scenarios, such as the use of input different parameters.
-IN_PROC_BROWSER_TEST_F(SearchApiTest, Normal) {
+// Flaky. See crbug.com/1119846.
+IN_PROC_BROWSER_TEST_F(SearchApiTest, DISABLED_Normal) {
   ASSERT_TRUE(RunExtensionTest("search/query/normal")) << message_;
 }
 
 // Test incognito browser in extension default spanning mode.
-IN_PROC_BROWSER_TEST_F(SearchApiTest, Incognito) {
+// Flaky. See crbug.com/1119846.
+IN_PROC_BROWSER_TEST_F(SearchApiTest, DISABLED_Incognito) {
   ResultCatcher catcher;
   CreateIncognitoBrowser(browser()->profile());
   ASSERT_TRUE(RunExtensionTestIncognito("search/query/incognito")) << message_;
 }
 
 // Test incognito browser in extension split mode.
-IN_PROC_BROWSER_TEST_F(SearchApiTest, IncognitoSplit) {
+// Flaky. See crbug.com/1119846.
+IN_PROC_BROWSER_TEST_F(SearchApiTest, DISABLED_IncognitoSplit) {
   ResultCatcher catcher;
   catcher.RestrictToBrowserContext(
       browser()->profile()->GetPrimaryOTRProfile());
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc
index 2e2f2e3b..e97b1ba 100644
--- a/chrome/browser/extensions/crx_installer.cc
+++ b/chrome/browser/extensions/crx_installer.cc
@@ -125,7 +125,8 @@
       off_store_install_allow_reason_(OffStoreInstallDisallowed),
       did_handle_successfully_(true),
       error_on_unsupported_requirements_(false),
-      installer_task_runner_(GetExtensionFileTaskRunner()),
+      shared_file_task_runner_(GetExtensionFileTaskRunner()),
+      unpacker_task_runner_(GetOneShotFileTaskRunner()),
       update_from_settings_page_(false),
       install_flags_(kInstallFlagNone) {
   if (!approval)
@@ -186,9 +187,9 @@
 
   auto unpacker = base::MakeRefCounted<SandboxedUnpacker>(
       install_source_, creation_flags_, install_directory_,
-      installer_task_runner_.get(), this);
+      unpacker_task_runner_.get(), this);
 
-  if (!installer_task_runner_->PostTask(
+  if (!unpacker_task_runner_->PostTask(
           FROM_HERE, base::BindOnce(&SandboxedUnpacker::StartWithCrx, unpacker,
                                     source_file))) {
     NOTREACHED();
@@ -208,9 +209,9 @@
 
   auto unpacker = base::MakeRefCounted<SandboxedUnpacker>(
       install_source_, creation_flags_, install_directory_,
-      installer_task_runner_.get(), this);
+      unpacker_task_runner_.get(), this);
 
-  if (!installer_task_runner_->PostTask(
+  if (!unpacker_task_runner_->PostTask(
           FROM_HERE,
           base::BindOnce(&SandboxedUnpacker::StartWithDirectory, unpacker,
                          extension_id, public_key, unpacked_dir))) {
@@ -227,33 +228,36 @@
   source_file_ = source_file;
   download_url_ = download_url;
 
-  if (!installer_task_runner_->PostTask(
+  if (!shared_file_task_runner_->PostTask(
           FROM_HERE,
-          base::BindOnce(&CrxInstaller::ConvertUserScriptOnFileThread, this)))
+          base::BindOnce(&CrxInstaller::ConvertUserScriptOnSharedFileThread,
+                         this)))
     NOTREACHED();
 }
 
-void CrxInstaller::ConvertUserScriptOnFileThread() {
+void CrxInstaller::ConvertUserScriptOnSharedFileThread() {
   base::string16 error;
   scoped_refptr<Extension> extension = ConvertUserScriptToExtension(
       source_file_, download_url_, install_directory_, &error);
   if (!extension.get()) {
-    ReportFailureFromFileThread(CrxInstallError(
+    ReportFailureFromSharedFileThread(CrxInstallError(
         CrxInstallErrorType::OTHER,
         CrxInstallErrorDetail::CONVERT_USER_SCRIPT_TO_EXTENSION_FAILED, error));
     return;
   }
 
-  OnUnpackSuccess(extension->path(), extension->path(), nullptr,
-                  extension.get(), SkBitmap(), {} /* ruleset_checksums */);
+  OnUnpackSuccessOnSharedFileThread(extension->path(), extension->path(),
+                                    nullptr, extension, SkBitmap(),
+                                    {} /* ruleset_checksums */);
 }
 
 void CrxInstaller::InstallWebApp(const WebApplicationInfo& web_app) {
   NotifyCrxInstallBegin();
 
-  if (!installer_task_runner_->PostTask(
-          FROM_HERE, base::BindOnce(&CrxInstaller::ConvertWebAppOnFileThread,
-                                    this, web_app)))
+  if (!shared_file_task_runner_->PostTask(
+          FROM_HERE,
+          base::BindOnce(&CrxInstaller::ConvertWebAppOnSharedFileThread, this,
+                         web_app)))
     NOTREACHED();
 }
 
@@ -273,10 +277,10 @@
     if (delete_source_)
       temp_dir_ = unpacked_dir;
     if (installer_callback_.is_null()) {
-      installer_task_runner_->PostTask(
+      shared_file_task_runner_->PostTask(
           FROM_HERE, base::BindOnce(&CrxInstaller::CleanupTempFiles, this));
     } else {
-      installer_task_runner_->PostTaskAndReply(
+      shared_file_task_runner_->PostTaskAndReply(
           FROM_HERE, base::BindOnce(&CrxInstaller::CleanupTempFiles, this),
           base::BindOnce(
               std::move(installer_callback_),
@@ -300,7 +304,7 @@
   InstallUnpackedCrx(extension_id, public_key, unpacked_dir);
 }
 
-void CrxInstaller::ConvertWebAppOnFileThread(
+void CrxInstaller::ConvertWebAppOnSharedFileThread(
     const WebApplicationInfo& web_app) {
   scoped_refptr<Extension> extension(
       ConvertWebAppToExtension(web_app, base::Time::Now(), install_directory_,
@@ -313,13 +317,14 @@
 
   // TODO(aa): conversion data gets lost here :(
 
-  OnUnpackSuccess(extension->path(), extension->path(), nullptr,
-                  extension.get(), SkBitmap(), {} /* ruleset_checksums */);
+  OnUnpackSuccessOnSharedFileThread(extension->path(), extension->path(),
+                                    nullptr, extension, SkBitmap(),
+                                    {} /* ruleset_checksums */);
 }
 
 base::Optional<CrxInstallError> CrxInstaller::CheckExpectations(
     const Extension* extension) {
-  DCHECK(installer_task_runner_->RunsTasksInCurrentSequence());
+  DCHECK(shared_file_task_runner_->RunsTasksInCurrentSequence());
 
   // Make sure the expected ID matches if one was supplied or if we want to
   // bypass the prompt.
@@ -347,7 +352,7 @@
 
 base::Optional<CrxInstallError> CrxInstaller::AllowInstall(
     const Extension* extension) {
-  DCHECK(installer_task_runner_->RunsTasksInCurrentSequence());
+  DCHECK(shared_file_task_runner_->RunsTasksInCurrentSequence());
 
   if (minimum_version_.IsValid() &&
       extension->version().CompareTo(minimum_version_) < 0) {
@@ -491,14 +496,14 @@
       extensions::ExtensionSystem::Get(profile_)->content_verifier();
   bool result = content_verifier &&
                 content_verifier->ShouldComputeHashesOnInstall(*extension);
-  installer_task_runner_->PostTask(FROM_HERE,
-                                   base::BindOnce(std::move(callback), result));
+  unpacker_task_runner_->PostTask(FROM_HERE,
+                                  base::BindOnce(std::move(callback), result));
 }
 
 void CrxInstaller::ShouldComputeHashesForOffWebstoreExtension(
     scoped_refptr<const Extension> extension,
     base::OnceCallback<void(bool)> callback) {
-  DCHECK(installer_task_runner_->RunsTasksInCurrentSequence());
+  DCHECK(unpacker_task_runner_->RunsTasksInCurrentSequence());
   if (!content::GetUIThreadTaskRunner({})->PostTask(
           FROM_HERE,
           base::BindOnce(&CrxInstaller::ShouldComputeHashesOnUI, this,
@@ -508,8 +513,12 @@
 }
 
 void CrxInstaller::OnUnpackFailure(const CrxInstallError& error) {
-  DCHECK(installer_task_runner_->RunsTasksInCurrentSequence());
-  ReportFailureFromFileThread(error);
+  DCHECK(unpacker_task_runner_->RunsTasksInCurrentSequence());
+  if (!content::GetUIThreadTaskRunner({})->PostTask(
+          FROM_HERE, base::BindOnce(&CrxInstaller::ReportFailureFromUIThread,
+                                    this, error))) {
+    NOTREACHED();
+  }
 }
 
 void CrxInstaller::OnUnpackSuccess(
@@ -519,7 +528,23 @@
     const Extension* extension,
     const SkBitmap& install_icon,
     declarative_net_request::RulesetChecksums ruleset_checksums) {
-  DCHECK(installer_task_runner_->RunsTasksInCurrentSequence());
+  DCHECK(unpacker_task_runner_->RunsTasksInCurrentSequence());
+  shared_file_task_runner_->PostTask(
+      FROM_HERE,
+      base::BindOnce(&CrxInstaller::OnUnpackSuccessOnSharedFileThread, this,
+                     temp_dir, extension_dir, std::move(original_manifest),
+                     scoped_refptr<const Extension>(extension), install_icon,
+                     std::move(ruleset_checksums)));
+}
+
+void CrxInstaller::OnUnpackSuccessOnSharedFileThread(
+    base::FilePath temp_dir,
+    base::FilePath extension_dir,
+    std::unique_ptr<base::DictionaryValue> original_manifest,
+    scoped_refptr<const Extension> extension,
+    SkBitmap install_icon,
+    declarative_net_request::RulesetChecksums ruleset_checksums) {
+  DCHECK(shared_file_task_runner_->RunsTasksInCurrentSequence());
 
   extension_ = extension;
   temp_dir_ = temp_dir;
@@ -540,10 +565,10 @@
 
   // Check whether the crx matches the set expectations.
   base::Optional<CrxInstallError> expectations_error =
-      CheckExpectations(extension);
+      CheckExpectations(extension.get());
   if (expectations_error) {
     DCHECK_NE(CrxInstallErrorType::NONE, expectations_error->type());
-    ReportFailureFromFileThread(*expectations_error);
+    ReportFailureFromSharedFileThread(*expectations_error);
     return;
   }
 
@@ -564,10 +589,10 @@
     }
   }
 
-  base::Optional<CrxInstallError> error = AllowInstall(extension);
+  base::Optional<CrxInstallError> error = AllowInstall(extension.get());
   if (error) {
     DCHECK_NE(CrxInstallErrorType::NONE, error->type());
-    ReportFailureFromFileThread(*error);
+    ReportFailureFromSharedFileThread(*error);
     return;
   }
 
@@ -866,18 +891,18 @@
   if (withholding_behavior == kWithholdPermissions)
     creation_flags_ |= Extension::WITHHOLD_PERMISSIONS;
 
-  if (!installer_task_runner_->PostTask(
+  if (!shared_file_task_runner_->PostTask(
           FROM_HERE, base::BindOnce(&CrxInstaller::CompleteInstall, this))) {
     NOTREACHED();
   }
 }
 
 void CrxInstaller::CompleteInstall() {
-  DCHECK(installer_task_runner_->RunsTasksInCurrentSequence());
+  DCHECK(shared_file_task_runner_->RunsTasksInCurrentSequence());
 
   if (current_version_.IsValid() &&
       current_version_.CompareTo(extension()->version()) > 0) {
-    ReportFailureFromFileThread(CrxInstallError(
+    ReportFailureFromSharedFileThread(CrxInstallError(
         CrxInstallErrorType::DECLINED,
         CrxInstallErrorDetail::CANT_DOWNGRADE_VERSION,
         l10n_util::GetStringUTF16(extension()->is_app()
@@ -898,10 +923,10 @@
 
 void CrxInstaller::ReloadExtensionAfterInstall(
     const base::FilePath& version_dir) {
-  DCHECK(installer_task_runner_->RunsTasksInCurrentSequence());
+  DCHECK(shared_file_task_runner_->RunsTasksInCurrentSequence());
 
   if (version_dir.empty()) {
-    ReportFailureFromFileThread(
+    ReportFailureFromSharedFileThread(
         CrxInstallError(CrxInstallErrorType::OTHER,
                         CrxInstallErrorDetail::MOVE_DIRECTORY_TO_PROFILE_FAILED,
                         l10n_util::GetStringUTF16(
@@ -924,17 +949,18 @@
       creation_flags_, &error);
 
   if (extension()) {
-    ReportSuccessFromFileThread();
+    ReportSuccessFromSharedFileThread();
   } else {
     LOG(ERROR) << error << " " << extension_id << " " << download_url_;
-    ReportFailureFromFileThread(CrxInstallError(
+    ReportFailureFromSharedFileThread(CrxInstallError(
         CrxInstallErrorType::OTHER, CrxInstallErrorDetail::CANT_LOAD_EXTENSION,
         base::UTF8ToUTF16(error)));
   }
 }
 
-void CrxInstaller::ReportFailureFromFileThread(const CrxInstallError& error) {
-  DCHECK(installer_task_runner_->RunsTasksInCurrentSequence());
+void CrxInstaller::ReportFailureFromSharedFileThread(
+    const CrxInstallError& error) {
+  DCHECK(shared_file_task_runner_->RunsTasksInCurrentSequence());
   if (!content::GetUIThreadTaskRunner({})->PostTask(
           FROM_HERE, base::BindOnce(&CrxInstaller::ReportFailureFromUIThread,
                                     this, error))) {
@@ -972,8 +998,8 @@
   CleanupTempFiles();
 }
 
-void CrxInstaller::ReportSuccessFromFileThread() {
-  DCHECK(installer_task_runner_->RunsTasksInCurrentSequence());
+void CrxInstaller::ReportSuccessFromSharedFileThread() {
+  DCHECK(shared_file_task_runner_->RunsTasksInCurrentSequence());
 
   // Tracking number of extensions installed by users
   if (install_cause() == extension_misc::INSTALL_CAUSE_USER_DOWNLOAD)
@@ -1020,7 +1046,8 @@
 
 void CrxInstaller::ReportInstallationStage(InstallationStage stage) {
   if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
-    DCHECK(installer_task_runner_->RunsTasksInCurrentSequence());
+    DCHECK(unpacker_task_runner_->RunsTasksInCurrentSequence() ||
+           shared_file_task_runner_->RunsTasksInCurrentSequence());
     if (!content::GetUIThreadTaskRunner({})->PostTask(
             FROM_HERE, base::BindOnce(&CrxInstaller::ReportInstallationStage,
                                       this, stage))) {
@@ -1108,8 +1135,8 @@
 }
 
 void CrxInstaller::CleanupTempFiles() {
-  if (!installer_task_runner_->RunsTasksInCurrentSequence()) {
-    if (!installer_task_runner_->PostTask(
+  if (!shared_file_task_runner_->RunsTasksInCurrentSequence()) {
+    if (!shared_file_task_runner_->PostTask(
             FROM_HERE, base::BindOnce(&CrxInstaller::CleanupTempFiles, this))) {
       NOTREACHED();
     }
diff --git a/chrome/browser/extensions/crx_installer.h b/chrome/browser/extensions/crx_installer.h
index c1b7795..ed2a875 100644
--- a/chrome/browser/extensions/crx_installer.h
+++ b/chrome/browser/extensions/crx_installer.h
@@ -268,10 +268,10 @@
   ~CrxInstaller() override;
 
   // Converts the source user script to an extension.
-  void ConvertUserScriptOnFileThread();
+  void ConvertUserScriptOnSharedFileThread();
 
   // Converts the source web app to an extension.
-  void ConvertWebAppOnFileThread(const WebApplicationInfo& web_app);
+  void ConvertWebAppOnSharedFileThread(const WebApplicationInfo& web_app);
 
   // Called after OnUnpackSuccess check to see whether the install expectations
   // are met and the install process should continue.
@@ -324,9 +324,9 @@
   void ReloadExtensionAfterInstall(const base::FilePath& version_dir);
 
   // Result reporting.
-  void ReportFailureFromFileThread(const CrxInstallError& error);
+  void ReportFailureFromSharedFileThread(const CrxInstallError& error);
   void ReportFailureFromUIThread(const CrxInstallError& error);
-  void ReportSuccessFromFileThread();
+  void ReportSuccessFromSharedFileThread();
   void ReportSuccessFromUIThread();
   // Always report from the UI thread.
   void ReportInstallationStage(InstallationStage stage);
@@ -344,6 +344,16 @@
   // and needs additional permissions.
   void ConfirmReEnable();
 
+  // OnUnpackSuccess() gets called on the unpacker sequence. It calls this
+  // method on the shared file sequence, to avoid race conditions.
+  virtual void OnUnpackSuccessOnSharedFileThread(
+      base::FilePath temp_dir,
+      base::FilePath extension_dir,
+      std::unique_ptr<base::DictionaryValue> original_manifest,
+      scoped_refptr<const Extension> extension,
+      SkBitmap install_icon,
+      declarative_net_request::RulesetChecksums ruleset_checksums);
+
   void set_install_flag(int flag, bool val) {
     if (val)
       install_flags_ |= flag;
@@ -489,8 +499,17 @@
   // will continue but the extension will be distabled.
   bool error_on_unsupported_requirements_;
 
-  // Sequenced task runner where file I/O operations will be performed.
-  scoped_refptr<base::SequencedTaskRunner> installer_task_runner_;
+  // Sequenced task runner where most file I/O operations will be performed.
+  scoped_refptr<base::SequencedTaskRunner> shared_file_task_runner_;
+
+  // Sequenced task runner where the SandboxedUnpacker will run. Because the
+  // unpacker uses its own temp dir, it won't hit race conditions, and can use a
+  // separate task runner per instance (for better performance).
+  //
+  // TODO(nicolaso): Adjust this task runner's priority based on the install
+  // location. e.g. default apps shouldn't be USER_VISIBLE, to avoid wasting CPU
+  // time.
+  scoped_refptr<base::SequencedTaskRunner> unpacker_task_runner_;
 
   // Used to show the install dialog.
   ExtensionInstallPrompt::ShowDialogCallback show_dialog_callback_;
diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/browser/extensions/updater/extension_updater.cc
index d1375a1d..248c0f9 100644
--- a/chrome/browser/extensions/updater/extension_updater.cc
+++ b/chrome/browser/extensions/updater/extension_updater.cc
@@ -97,9 +97,7 @@
 
 namespace extensions {
 
-ExtensionUpdater::CheckParams::CheckParams()
-    : install_immediately(false),
-      fetch_priority(ManifestFetchData::FetchPriority::BACKGROUND) {}
+ExtensionUpdater::CheckParams::CheckParams() = default;
 
 ExtensionUpdater::CheckParams::~CheckParams() = default;
 
@@ -108,8 +106,7 @@
 ExtensionUpdater::CheckParams& ExtensionUpdater::CheckParams::operator=(
     ExtensionUpdater::CheckParams&& other) = default;
 
-ExtensionUpdater::InProgressCheck::InProgressCheck()
-    : install_immediately(false), awaiting_update_service(false) {}
+ExtensionUpdater::InProgressCheck::InProgressCheck() = default;
 
 ExtensionUpdater::InProgressCheck::~InProgressCheck() = default;
 
@@ -121,18 +118,13 @@
     int frequency_seconds,
     ExtensionCache* cache,
     const ExtensionDownloader::Factory& downloader_factory)
-    : alive_(false),
-      service_(service),
+    : service_(service),
       downloader_factory_(downloader_factory),
-      update_service_(nullptr),
       frequency_(base::TimeDelta::FromSeconds(frequency_seconds)),
-      will_check_soon_(false),
       extension_prefs_(extension_prefs),
       prefs_(prefs),
       profile_(profile),
       registry_(ExtensionRegistry::Get(profile)),
-      next_request_id_(0),
-      crx_install_is_running_(false),
       extension_cache_(cache) {
   DCHECK_LE(frequency_seconds, kMaxUpdateFrequencySeconds);
 #if defined(NDEBUG)
@@ -501,11 +493,9 @@
 
   FetchedCRXFile fetched(file, file_ownership_passed, request_ids,
                          std::move(callback));
-  fetched_crx_files_.push(std::move(fetched));
-
-  // MaybeInstallCRXFile() removes extensions from |in_progress_ids_| after
-  // starting the crx installer.
-  MaybeInstallCRXFile();
+  // InstallCRXFile() removes extensions from |in_progress_ids_| after starting
+  // the crx installer.
+  InstallCRXFile(std::move(fetched));
 }
 
 bool ExtensionUpdater::GetPingDataForExtension(
@@ -584,54 +574,45 @@
   }
 }
 
-void ExtensionUpdater::MaybeInstallCRXFile() {
-  if (crx_install_is_running_ || fetched_crx_files_.empty())
-    return;
-
+void ExtensionUpdater::InstallCRXFile(FetchedCRXFile crx_file) {
   std::set<int> request_ids;
 
-  while (!fetched_crx_files_.empty() && !crx_install_is_running_) {
-    FetchedCRXFile& crx_file = fetched_crx_files_.front();
+  VLOG(2) << "updating " << crx_file.info.extension_id << " with "
+          << crx_file.info.path.value();
 
-    VLOG(2) << "updating " << crx_file.info.extension_id
-            << " with " << crx_file.info.path.value();
+  // The ExtensionService is now responsible for cleaning up the temp file
+  // at |crx_file.info.path|.
+  CrxInstaller* installer = nullptr;
+  if (service_->UpdateExtension(crx_file.info, crx_file.file_ownership_passed,
+                                &installer)) {
+    // If the crx file passes the expectations from the update manifest, this
+    // callback inserts an entry in the extension cache and deletes it, if
+    // required.
+    installer->set_expectations_verified_callback(
+        base::BindOnce(&ExtensionUpdater::PutExtensionInCache,
+                       weak_ptr_factory_.GetWeakPtr(), crx_file.info));
 
-    // The ExtensionService is now responsible for cleaning up the temp file
-    // at |crx_file.info.path|.
-    CrxInstaller* installer = NULL;
-    if (service_->UpdateExtension(crx_file.info,
-                                  crx_file.file_ownership_passed,
-                                  &installer)) {
-      crx_install_is_running_ = true;
-      current_crx_file_ = std::move(crx_file);
-      // If the crx file passes the expectations from the update manifest, this
-      // callback inserts an entry in the extension cache and deletes it, if
-      // required.
-      installer->set_expectations_verified_callback(base::BindOnce(
-          &ExtensionUpdater::PutExtensionInCache,
-          weak_ptr_factory_.GetWeakPtr(), current_crx_file_.info));
-
-      for (const int request_id : current_crx_file_.request_ids) {
-        InProgressCheck& request = requests_in_progress_[request_id];
-        if (request.install_immediately) {
-          installer->set_install_immediately(true);
-          break;
-        }
+    for (const int request_id : crx_file.request_ids) {
+      InProgressCheck& request = requests_in_progress_[request_id];
+      if (request.install_immediately) {
+        installer->set_install_immediately(true);
+        break;
       }
-
-      // Source parameter ensures that we only see the completion event for the
-      // the installer we started.
-      registrar_.Add(this, NOTIFICATION_CRX_INSTALLER_DONE,
-                     content::Source<CrxInstaller>(installer));
-    } else {
-      for (const int request_id : crx_file.request_ids) {
-        InProgressCheck& request = requests_in_progress_[request_id];
-        request.in_progress_ids_.erase(crx_file.info.extension_id);
-      }
-      request_ids.insert(crx_file.request_ids.begin(),
-                         crx_file.request_ids.end());
     }
-    fetched_crx_files_.pop();
+
+    running_crx_installs_[installer] = std::move(crx_file);
+
+    // Source parameter ensures that we only see the completion event for an
+    // installer we started.
+    registrar_.Add(this, NOTIFICATION_CRX_INSTALLER_DONE,
+                   content::Source<CrxInstaller>(installer));
+  } else {
+    for (const int request_id : crx_file.request_ids) {
+      InProgressCheck& request = requests_in_progress_[request_id];
+      request.in_progress_ids_.erase(crx_file.info.extension_id);
+    }
+    request_ids.insert(crx_file.request_ids.begin(),
+                       crx_file.request_ids.end());
   }
 
   for (const int request_id : request_ids)
@@ -644,13 +625,14 @@
   DCHECK_EQ(NOTIFICATION_CRX_INSTALLER_DONE, type);
 
   registrar_.Remove(this, NOTIFICATION_CRX_INSTALLER_DONE, source);
-  crx_install_is_running_ = false;
 
   // If installing this file didn't succeed, we may need to re-download it.
   const Extension* extension = content::Details<const Extension>(details).ptr();
 
   CrxInstaller* installer = content::Source<CrxInstaller>(source).ptr();
-  FetchedCRXFile& crx_file = current_crx_file_;
+  auto iter = running_crx_installs_.find(installer);
+  DCHECK(iter != running_crx_installs_.end());
+  FetchedCRXFile& crx_file = iter->second;
   if (!extension && installer->verification_check_failed() &&
       !crx_file.callback.is_null()) {
     // If extension downloader asked us to notify it about failed installations,
@@ -670,8 +652,7 @@
     }
   }
 
-  // If any files are available to update, start one.
-  MaybeInstallCRXFile();
+  running_crx_installs_.erase(iter);
 }
 
 void ExtensionUpdater::NotifyStarted() {
diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/browser/extensions/updater/extension_updater.h
index d72a928..a65bb43 100644
--- a/chrome/browser/extensions/updater/extension_updater.h
+++ b/chrome/browser/extensions/updater/extension_updater.h
@@ -13,9 +13,7 @@
 #include <string>
 
 #include "base/callback_forward.h"
-#include "base/compiler_specific.h"
 #include "base/files/file_path.h"
-#include "base/macros.h"
 #include "base/memory/weak_ptr.h"
 #include "base/scoped_observer.h"
 #include "chrome/browser/extensions/updater/fetched_crx_file.h"
@@ -33,6 +31,7 @@
 
 namespace extensions {
 
+class CrxInstaller;
 class ExtensionCache;
 class ExtensionPrefs;
 class ExtensionRegistry;
@@ -76,12 +75,13 @@
     // Normally extension updates get installed only when the extension is idle.
     // Setting this to true causes any updates that are found to be installed
     // right away.
-    bool install_immediately;
+    bool install_immediately = false;
 
     // An extension update check can be originated by a user or by a scheduled
     // task. When the value of |fetch_priority| is FOREGROUND, the update
     // request was initiated by a user.
-    ManifestFetchData::FetchPriority fetch_priority;
+    ManifestFetchData::FetchPriority fetch_priority =
+        ManifestFetchData::FetchPriority::BACKGROUND;
 
     // Callback to call when the update check is complete. Can be null, if
     // you're not interested in when this happens.
@@ -111,6 +111,8 @@
                    ExtensionCache* cache,
                    const ExtensionDownloader::Factory& downloader_factory);
 
+  ExtensionUpdater(const ExtensionUpdater&) = delete;
+  ExtensionUpdater& operator=(const ExtensionUpdater&) = delete;
   ~ExtensionUpdater() override;
 
   // Starts the updater running.  Should be called at most once.
@@ -155,15 +157,15 @@
 
   struct InProgressCheck {
     InProgressCheck();
+    InProgressCheck(const InProgressCheck&) = delete;
+    InProgressCheck& operator=(const InProgressCheck&) = delete;
     ~InProgressCheck();
 
-    bool install_immediately;
-    bool awaiting_update_service;
+    bool install_immediately = false;
+    bool awaiting_update_service = false;
     FinishedCallback callback;
     // The ids of extensions that have in-progress update checks.
     std::set<std::string> in_progress_ids_;
-
-    DISALLOW_COPY_AND_ASSIGN(InProgressCheck);
   };
 
   // Ensure that we have a valid ExtensionDownloader instance referenced by
@@ -217,7 +219,7 @@
   void UpdatePingData(const ExtensionId& id, const PingResult& ping_result);
 
   // Starts installing a crx file that has been fetched but not installed yet.
-  void MaybeInstallCRXFile();
+  void InstallCRXFile(FetchedCRXFile crx_file);
 
   // content::NotificationObserver implementation.
   void Observe(int type,
@@ -246,10 +248,10 @@
                               bool file_ownership_passed);
 
   // Whether Start() has been called but not Stop().
-  bool alive_;
+  bool alive_ = false;
 
   // Pointer back to the service that owns this ExtensionUpdater.
-  ExtensionServiceInterface* service_;
+  ExtensionServiceInterface* service_ = nullptr;
 
   // A closure passed into the ExtensionUpdater to teach it how to construct
   // new ExtensionDownloader instances.
@@ -263,37 +265,30 @@
   // created through a |KeyedServiceFactory| singleton, thus |update_service_|
   // will be freed by the same factory singleton before the browser is
   // shutdown.
-  UpdateService* update_service_;
+  UpdateService* update_service_ = nullptr;
 
-  bool do_scheduled_checks_;
   base::TimeDelta frequency_;
-  bool will_check_soon_;
+  bool will_check_soon_ = false;
 
-  ExtensionPrefs* extension_prefs_;
-  PrefService* prefs_;
-  Profile* profile_;
+  ExtensionPrefs* extension_prefs_ = nullptr;
+  PrefService* prefs_ = nullptr;
+  Profile* profile_ = nullptr;
 
-  ExtensionRegistry* registry_;
+  ExtensionRegistry* registry_ = nullptr;
 
   std::map<int, InProgressCheck> requests_in_progress_;
-  int next_request_id_;
+  int next_request_id_ = 0;
 
   // Observes CRX installs we initiate.
   content::NotificationRegistrar registrar_;
 
-  // True when a CrxInstaller is doing an install.  Used in MaybeUpdateCrxFile()
-  // to keep more than one install from running at once.
-  bool crx_install_is_running_;
+  // CRX installs that are currently in progress. Used to get the FetchedCRXFile
+  // when we receive NOTIFICATION_CRX_INSTALLER_DONE.
+  std::map<CrxInstaller*, FetchedCRXFile> running_crx_installs_;
 
-  // Fetched CRX files waiting to be installed.
-  std::queue<FetchedCRXFile> fetched_crx_files_;
-  FetchedCRXFile current_crx_file_;
-
-  ExtensionCache* extension_cache_;
+  ExtensionCache* extension_cache_ = nullptr;
 
   base::WeakPtrFactory<ExtensionUpdater> weak_ptr_factory_{this};
-
-  DISALLOW_COPY_AND_ASSIGN(ExtensionUpdater);
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/updater/extension_updater_unittest.cc b/chrome/browser/extensions/updater/extension_updater_unittest.cc
index 89ec814f..7879bbd 100644
--- a/chrome/browser/extensions/updater/extension_updater_unittest.cc
+++ b/chrome/browser/extensions/updater/extension_updater_unittest.cc
@@ -17,7 +17,6 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/command_line.h"
-#include "base/compiler_specific.h"
 #include "base/files/file_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/run_loop.h"
@@ -173,6 +172,8 @@
                      content::NotificationService::AllSources());
     }
   }
+  NotificationsObserver(const NotificationsObserver&) = delete;
+  NotificationsObserver& operator=(const NotificationsObserver&) = delete;
 
   ~NotificationsObserver() override {
     for (size_t i = 0; i < base::size(kNotificationsObserved); ++i) {
@@ -219,8 +220,6 @@
   size_t count_[base::size(kNotificationsObserved)];
   std::set<std::string> updated_;
   base::OnceClosure quit_closure_;
-
-  DISALLOW_COPY_AND_ASSIGN(NotificationsObserver);
 };
 
 // Extracts the integer value of the |authuser| query parameter. Returns 0 if
@@ -660,6 +659,13 @@
            (downloader->manifest_loader_.get() ? 1 : 0);
   }
 
+  std::set<std::string> GetRunningInstallIds(const ExtensionUpdater& updater) {
+    std::set<std::string> ret;
+    for (const auto& pair : updater.running_crx_installs_)
+      ret.insert(pair.second.info.extension_id);
+    return ret;
+  }
+
   void TestExtensionUpdateCheckRequests(bool pending) {
     // Create an extension with an update_url.
     ExtensionDownloaderTestHelper helper;
@@ -1455,6 +1461,80 @@
     RunUntilIdle();
   }
 
+  // Checks that the manifest is fetched with a priority of |net::MEDIUM| (which
+  // maps to |TaskPriority::USER_BLOCKING| for the task runner) when the active
+  // request's |fetch_priority| is in the FOREGROUND.
+  void TestManifestFetchPriority(
+      ManifestFetchData::FetchPriority fetch_priority) {
+    ExtensionDownloaderTestHelper helper;
+    helper.downloader().manifests_queue_.set_backoff_policy(&kNoBackoffPolicy);
+    GURL test_url("http://localhost/manifest1");
+    std::unique_ptr<ManifestFetchData> fetch(
+        CreateManifestFetchData(test_url));
+    ManifestFetchData::PingData zero_days(0, 0, true, 0);
+
+    fetch->AddExtension("1111", "1.0", &zero_days, kEmptyUpdateUrlData,
+                        std::string(), Manifest::Location::INTERNAL,
+                        fetch_priority);
+
+    helper.downloader().StartUpdateCheck(std::move(fetch));
+    RunUntilIdle();
+
+    auto* request = helper.GetPendingRequest(0);
+    helper.test_url_loader_factory().SimulateResponseForPendingRequest(
+        request->request.url, network::URLLoaderCompletionStatus(net::OK),
+        network::CreateURLResponseHead(net::HTTP_INTERNAL_SERVER_ERROR), "");
+    RunUntilIdle();
+
+    if (fetch_priority == ManifestFetchData::FetchPriority::FOREGROUND) {
+      EXPECT_EQ(net::MEDIUM, request->request.priority);
+    } else {
+      EXPECT_EQ(net::IDLE, request->request.priority);
+    }
+  }
+
+  // Checks that the crx of a given extension is downloaded with a priority of
+  // |net::MEDIUM| (maps to |TaskPriority::USER_BLOCKING| for the task runner)
+  // when the active request's |fetch_priority| is in the FOREGROUND.
+  void TestSingleExtensionDownloadingPriority(
+      ManifestFetchData::FetchPriority fetch_priority) {
+    ExtensionUpdater::ScopedSkipScheduledCheckForTest skip_scheduled_checks;
+    ExtensionDownloaderTestHelper helper;
+    std::unique_ptr<ServiceForDownloadTests> service =
+        std::make_unique<ServiceForDownloadTests>(prefs_.get(),
+                                                  helper.url_loader_factory());
+    ExtensionUpdater updater(service.get(), service->extension_prefs(),
+                             service->pref_service(), service->profile(),
+                             kUpdateFrequencySecs, nullptr,
+                             service->GetDownloaderFactory());
+    MockExtensionDownloaderDelegate delegate;
+    delegate.DelegateTo(&updater);
+    service->OverrideDownloaderDelegate(&delegate);
+    updater.Start();
+    updater.EnsureDownloaderCreated();
+    updater.downloader_->extensions_queue_.set_backoff_policy(
+        &kNoBackoffPolicy);
+
+    GURL test_url("http://localhost/extension.crx");
+    const std::string id(32, 'a');
+    std::string hash;
+    CRXFileInfo crx_file_info;
+    base::Version version("0.0.1");
+    std::set<int> requests({0});
+    std::unique_ptr<ExtensionDownloader::ExtensionFetch> fetch =
+        std::make_unique<ExtensionDownloader::ExtensionFetch>(
+            id, test_url, hash, version.GetString(), requests, fetch_priority);
+
+    updater.downloader_->FetchUpdatedExtension(std::move(fetch), base::nullopt);
+
+    auto* request = helper.GetPendingRequest(0);
+    if (fetch_priority == ManifestFetchData::FetchPriority::FOREGROUND) {
+      EXPECT_EQ(net::MEDIUM, request->request.priority);
+    } else {
+      EXPECT_EQ(net::IDLE, request->request.priority);
+    }
+  }
+
   void TestSingleExtensionDownloading(bool pending, bool retry, bool fail) {
     ExtensionUpdater::ScopedSkipScheduledCheckForTest skip_scheduled_checks;
     ExtensionDownloaderTestHelper helper;
@@ -1486,7 +1566,8 @@
     requests.insert(0);
     std::unique_ptr<ExtensionDownloader::ExtensionFetch> fetch =
         std::make_unique<ExtensionDownloader::ExtensionFetch>(
-            id, test_url, hash, version.GetString(), requests);
+            id, test_url, hash, version.GetString(), requests,
+            ManifestFetchData::FetchPriority::BACKGROUND);
     updater.downloader_->FetchUpdatedExtension(std::move(fetch), base::nullopt);
 
     if (pending) {
@@ -1767,7 +1848,8 @@
     requests.insert(0);
     std::unique_ptr<ExtensionDownloader::ExtensionFetch> fetch =
         std::make_unique<ExtensionDownloader::ExtensionFetch>(
-            id, test_url, hash, version.GetString(), requests);
+            id, test_url, hash, version.GetString(), requests,
+            ManifestFetchData::FetchPriority::BACKGROUND);
     updater.downloader_->FetchUpdatedExtension(std::move(fetch), base::nullopt);
 
     EXPECT_EQ(
@@ -1968,7 +2050,7 @@
     updater.downloader_->extensions_queue_.set_backoff_policy(
         &kNoBackoffPolicy);
 
-    EXPECT_FALSE(updater.crx_install_is_running_);
+    EXPECT_THAT(GetRunningInstallIds(updater), testing::IsEmpty());
 
     GURL url1("http://localhost/extension1.crx");
     GURL url2("http://localhost/extension2.crx");
@@ -1981,15 +2063,18 @@
 
     std::string version1 = "0.1";
     std::string version2 = "0.1";
+
     std::set<int> requests;
     requests.insert(0);
     // Start two fetches
     std::unique_ptr<ExtensionDownloader::ExtensionFetch> fetch1 =
         std::make_unique<ExtensionDownloader::ExtensionFetch>(
-            id1, url1, hash1, version1, requests);
+            id1, url1, hash1, version1, requests,
+            ManifestFetchData::FetchPriority::BACKGROUND);
     std::unique_ptr<ExtensionDownloader::ExtensionFetch> fetch2 =
         std::make_unique<ExtensionDownloader::ExtensionFetch>(
-            id2, url2, hash2, version2, requests);
+            id2, url2, hash2, version2, requests,
+            ManifestFetchData::FetchPriority::BACKGROUND);
     updater.downloader_->FetchUpdatedExtension(std::move(fetch1),
                                                base::Optional<std::string>());
     updater.downloader_->FetchUpdatedExtension(std::move(fetch2),
@@ -2049,29 +2134,20 @@
     content::RunAllTasksUntilIdle();
 
     if (updates_start_running) {
-      EXPECT_TRUE(updater.crx_install_is_running_);
+      // Both installations should have launched in parallel.
+      EXPECT_THAT(GetRunningInstallIds(updater),
+                  testing::UnorderedElementsAre(id1, id2));
 
-      // The second install should not have run, because the first has not
-      // sent a notification that it finished.
-      EXPECT_EQ(id1, service.extension_id());
-
-      // Fake install notice.  This should start the second installation,
-      // which will be checked below.
+      // Fake install notice.  This should end the first installation.
       fake_crx1->NotifyCrxInstallComplete(CrxInstallError(
           CrxInstallErrorType::OTHER, CrxInstallErrorDetail::NONE));
+      EXPECT_THAT(GetRunningInstallIds(updater),
+                  testing::UnorderedElementsAre(id2));
 
-      EXPECT_TRUE(updater.crx_install_is_running_);
-    }
-
-    EXPECT_EQ(id2, service.extension_id());
-    EXPECT_FALSE(service.install_path().empty());
-
-    if (updates_start_running) {
-      EXPECT_TRUE(updater.crx_install_is_running_);
       fake_crx2->NotifyCrxInstallComplete(CrxInstallError(
           CrxInstallErrorType::OTHER, CrxInstallErrorDetail::NONE));
     }
-    EXPECT_FALSE(updater.crx_install_is_running_);
+    EXPECT_THAT(GetRunningInstallIds(updater), testing::IsEmpty());
   }
 
   void TestGalleryRequestsWithBrand(bool use_organic_brand_code) {
@@ -2847,6 +2923,18 @@
   TestManifestCredentialsNonWebstore();
 }
 
+TEST_F(ExtensionUpdaterTest, TestManifestFetchPriority) {
+  TestManifestFetchPriority(ManifestFetchData::FetchPriority::BACKGROUND);
+  TestManifestFetchPriority(ManifestFetchData::FetchPriority::FOREGROUND);
+}
+
+TEST_F(ExtensionUpdaterTest, TestExtensionPriority) {
+  TestSingleExtensionDownloadingPriority(
+      ManifestFetchData::FetchPriority::BACKGROUND);
+  TestSingleExtensionDownloadingPriority(
+      ManifestFetchData::FetchPriority::FOREGROUND);
+}
+
 // TODO(asargent) - (http://crbug.com/12780) add tests for:
 // -prodversionmin (shouldn't update if browser version too old)
 // -manifests & updates arriving out of order / interleaved
diff --git a/chrome/browser/extensions/warning_badge_service.cc b/chrome/browser/extensions/warning_badge_service.cc
index 3c0e560..f46fd40 100644
--- a/chrome/browser/extensions/warning_badge_service.cc
+++ b/chrome/browser/extensions/warning_badge_service.cc
@@ -8,7 +8,6 @@
 
 #include <memory>
 
-#include "base/macros.h"
 #include "base/stl_util.h"
 #include "chrome/app/chrome_command_ids.h"
 #include "chrome/browser/extensions/warning_badge_service_factory.h"
@@ -30,6 +29,8 @@
 class ErrorBadge : public GlobalError {
  public:
   explicit ErrorBadge(WarningBadgeService* badge_service);
+  ErrorBadge(const ErrorBadge&) = delete;
+  ErrorBadge& operator=(const ErrorBadge&) = delete;
   ~ErrorBadge() override;
 
   // Implementation for GlobalError:
@@ -47,8 +48,6 @@
 
  private:
   WarningBadgeService* badge_service_;
-
-  DISALLOW_COPY_AND_ASSIGN(ErrorBadge);
 };
 
 ErrorBadge::ErrorBadge(WarningBadgeService* badge_service)
diff --git a/chrome/browser/extensions/warning_badge_service.h b/chrome/browser/extensions/warning_badge_service.h
index 728baaff..94a54ca 100644
--- a/chrome/browser/extensions/warning_badge_service.h
+++ b/chrome/browser/extensions/warning_badge_service.h
@@ -5,8 +5,6 @@
 #ifndef CHROME_BROWSER_EXTENSIONS_WARNING_BADGE_SERVICE_H_
 #define CHROME_BROWSER_EXTENSIONS_WARNING_BADGE_SERVICE_H_
 
-#include "base/compiler_specific.h"
-#include "base/macros.h"
 #include "components/keyed_service/core/keyed_service.h"
 #include "extensions/browser/warning_service.h"
 #include "extensions/browser/warning_set.h"
@@ -22,6 +20,8 @@
                             public WarningService::Observer {
  public:
   explicit WarningBadgeService(Profile* profile);
+  WarningBadgeService(const WarningBadgeService&) = delete;
+  WarningBadgeService& operator=(const WarningBadgeService&) = delete;
   ~WarningBadgeService() override;
 
   static WarningBadgeService* Get(content::BrowserContext* context);
@@ -32,7 +32,7 @@
 
  protected:
   // Virtual for testing.
-  virtual const std::set<Warning>& GetCurrentWarnings() const;
+  virtual const WarningSet& GetCurrentWarnings() const;
 
  private:
   // Implementation of WarningService::Observer.
@@ -49,8 +49,6 @@
 
   // Warnings that do not trigger a badge on the wrench menu.
   WarningSet suppressed_warnings_;
-
-  DISALLOW_COPY_AND_ASSIGN(WarningBadgeService);
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/webstore_installer.cc b/chrome/browser/extensions/webstore_installer.cc
index 02640da..6c16987 100644
--- a/chrome/browser/extensions/webstore_installer.cc
+++ b/chrome/browser/extensions/webstore_installer.cc
@@ -224,12 +224,7 @@
     const std::string& id,
     download::DownloadItem* item) {}
 
-WebstoreInstaller::Approval::Approval()
-    : profile(nullptr),
-      use_app_installed_bubble(false),
-      skip_post_install_ui(false),
-      skip_install_dialog(false),
-      manifest_check_level(MANIFEST_CHECK_LEVEL_STRICT) {}
+WebstoreInstaller::Approval::Approval() = default;
 
 std::unique_ptr<WebstoreInstaller::Approval>
 WebstoreInstaller::Approval::CreateWithInstallPrompt(Profile* profile) {
@@ -284,10 +279,7 @@
       delegate_(delegate),
       id_(id),
       install_source_(source),
-      download_item_(nullptr),
-      approval_(approval.release()),
-      total_modules_(0),
-      download_started_(false) {
+      approval_(approval.release()) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(web_contents);
 
diff --git a/chrome/browser/extensions/webstore_installer.h b/chrome/browser/extensions/webstore_installer.h
index 22370fa..ea5709b4 100644
--- a/chrome/browser/extensions/webstore_installer.h
+++ b/chrome/browser/extensions/webstore_installer.h
@@ -127,27 +127,27 @@
     std::string extension_id;
 
     // The profile the extension should be installed into.
-    Profile* profile;
+    Profile* profile = nullptr;
 
     // The expected manifest, before localization.
     std::unique_ptr<Manifest> manifest;
 
     // Whether to use a bubble notification when an app is installed, instead of
     // the default behavior of transitioning to the new tab page.
-    bool use_app_installed_bubble;
+    bool use_app_installed_bubble = false;
 
     // Whether to skip the post install UI like the extension installed bubble.
-    bool skip_post_install_ui;
+    bool skip_post_install_ui = false;
 
     // Whether to skip the install dialog once the extension has been downloaded
     // and unpacked. One reason this can be true is that in the normal webstore
     // installation, the dialog is shown earlier, before any download is done,
     // so there's no need to show it again.
-    bool skip_install_dialog;
+    bool skip_install_dialog = false;
 
     // Manifest check level for checking actual manifest against expected
     // manifest.
-    ManifestCheckLevel manifest_check_level;
+    ManifestCheckLevel manifest_check_level = MANIFEST_CHECK_LEVEL_STRICT;
 
     // Used to show the install dialog.
     ExtensionInstallPrompt::ShowDialogCallback show_dialog_callback;
@@ -270,7 +270,7 @@
   InstallSource install_source_;
   // The DownloadItem is owned by the DownloadManager and is valid from when
   // OnDownloadStarted is called (with no error) until OnDownloadDestroyed().
-  download::DownloadItem* download_item_;
+  download::DownloadItem* download_item_ = nullptr;
   // Used to periodically update the extension's download status. This will
   // trigger at least every second, though sometimes more frequently (depending
   // on number of modules, etc).
@@ -283,8 +283,8 @@
   std::list<SharedModuleInfo::ImportInfo> pending_modules_;
   // Total extension modules we need download and install (the main module and
   // depedences).
-  int total_modules_;
-  bool download_started_;
+  int total_modules_ = 0;
+  bool download_started_ = false;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/window_controller.cc b/chrome/browser/extensions/window_controller.cc
index e1e44c9b..601c3bbb 100644
--- a/chrome/browser/extensions/window_controller.cc
+++ b/chrome/browser/extensions/window_controller.cc
@@ -63,7 +63,7 @@
 }
 
 Browser* WindowController::GetBrowser() const {
-  return NULL;
+  return nullptr;
 }
 
 bool WindowController::MatchesFilter(TypeFilter filter) const {
diff --git a/chrome/browser/extensions/window_controller.h b/chrome/browser/extensions/window_controller.h
index 91d9dfc..fd93563d 100644
--- a/chrome/browser/extensions/window_controller.h
+++ b/chrome/browser/extensions/window_controller.h
@@ -11,8 +11,6 @@
 #include <string>
 #include <vector>
 
-#include "base/compiler_specific.h"
-#include "base/macros.h"
 #include "chrome/common/extensions/api/tabs.h"
 #include "chrome/common/extensions/api/windows.h"
 
@@ -56,6 +54,8 @@
       const base::ListValue* types);
 
   WindowController(ui::BaseWindow* window, Profile* profile);
+  WindowController(const WindowController&) = delete;
+  WindowController& operator=(const WindowController&) = delete;
   virtual ~WindowController();
 
   ui::BaseWindow* window() const { return window_; }
@@ -95,8 +95,6 @@
  private:
   ui::BaseWindow* window_;
   Profile* profile_;
-
-  DISALLOW_COPY_AND_ASSIGN(WindowController);
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/window_controller_list.h b/chrome/browser/extensions/window_controller_list.h
index 4a57989..15b1103 100644
--- a/chrome/browser/extensions/window_controller_list.h
+++ b/chrome/browser/extensions/window_controller_list.h
@@ -7,8 +7,6 @@
 
 #include <list>
 
-#include "base/compiler_specific.h"
-#include "base/macros.h"
 #include "base/memory/singleton.h"
 #include "base/observer_list.h"
 #include "chrome/browser/extensions/window_controller.h"
@@ -25,6 +23,8 @@
   typedef std::list<WindowController*> ControllerList;
 
   WindowControllerList();
+  WindowControllerList(const WindowControllerList&) = delete;
+  WindowControllerList& operator=(const WindowControllerList&) = delete;
   ~WindowControllerList();
 
   void AddExtensionWindow(WindowController* window);
@@ -63,8 +63,6 @@
   ControllerList windows_;
 
   base::ObserverList<WindowControllerListObserver>::Unchecked observers_;
-
-  DISALLOW_COPY_AND_ASSIGN(WindowControllerList);
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/zipfile_installer_unittest.cc b/chrome/browser/extensions/zipfile_installer_unittest.cc
index ab9ad9f..bf565d5 100644
--- a/chrome/browser/extensions/zipfile_installer_unittest.cc
+++ b/chrome/browser/extensions/zipfile_installer_unittest.cc
@@ -26,6 +26,7 @@
 #include "components/services/unzip/in_process_unzipper.h"
 #include "content/public/test/browser_task_environment.h"
 #include "content/public/test/test_utils.h"
+#include "extensions/browser/extension_file_task_runner.h"
 #include "extensions/browser/extension_registry.h"
 #include "extensions/browser/extension_registry_observer.h"
 #include "extensions/common/constants.h"
@@ -135,6 +136,7 @@
                         .AppendASCII(zip_name);
     ASSERT_TRUE(base::PathExists(original_path)) << original_path.value();
     zipfile_installer_ = ZipFileInstaller::Create(
+        GetExtensionFileTaskRunner(),
         MakeRegisterInExtensionServiceCallback(extension_service_));
 
     base::ThreadTaskRunnerHandle::Get()->PostTask(
diff --git a/chrome/browser/federated_learning/floc_id_provider_browsertest.cc b/chrome/browser/federated_learning/floc_id_provider_browsertest.cc
index e6cd18c..4cd2146 100644
--- a/chrome/browser/federated_learning/floc_id_provider_browsertest.cc
+++ b/chrome/browser/federated_learning/floc_id_provider_browsertest.cc
@@ -7,6 +7,7 @@
 #include "base/strings/strcat.h"
 #include "base/test/bind_test_util.h"
 #include "base/test/scoped_feature_list.h"
+#include "chrome/browser/browser_process.h"
 #include "chrome/browser/chrome_content_browser_client.h"
 #include "chrome/browser/content_settings/cookie_settings_factory.h"
 #include "chrome/browser/federated_learning/floc_id_provider_factory.h"
@@ -115,7 +116,9 @@
  public:
   FlocIdProviderWithCustomizedServicesBrowserTest() {
     scoped_feature_list_.InitWithFeatures(
-        {features::kFlocIdComputedEventLogging}, {});
+        {features::kFlocIdComputedEventLogging,
+         features::kFlocIdBlocklistFiltering},
+        {});
   }
 
   // BrowserTestBase::SetUpInProcessBrowserTestFixture
@@ -193,6 +196,22 @@
     run_loop.Run();
   }
 
+  void ExpireHistoryBefore(base::Time end_time) {
+    base::RunLoop run_loop;
+    base::CancelableTaskTracker tracker;
+    HistoryServiceFactory::GetForProfile(browser()->profile(),
+                                         ServiceAccessType::EXPLICIT_ACCESS)
+        ->ExpireHistoryBeforeForTesting(
+            end_time, base::BindLambdaForTesting([&]() { run_loop.Quit(); }),
+            &tracker);
+    run_loop.Run();
+  }
+
+  void OnBlocklistLoaded(const std::unordered_set<uint64_t>& blocklist) {
+    g_browser_process->floc_blocklist_service()->OnBlocklistLoadResult(
+        blocklist);
+  }
+
   history::HistoryService* history_service() {
     return HistoryServiceFactory::GetForProfile(
         browser()->profile(), ServiceAccessType::IMPLICIT_ACCESS);
@@ -278,10 +297,13 @@
 
   EXPECT_EQ(GetFlocId().ToDebugHeaderValue(), FlocId().ToDebugHeaderValue());
 
-  // Turn on sync-history to trigger the 1st floc computation.
+  // Turn on sync-history and load the blocklist to trigger the 1st floc
+  // computation.
   sync_service()->SetActiveDataTypes(syncer::ModelTypeSet::All());
   sync_service()->FireStateChanged();
 
+  OnBlocklistLoaded({});
+
   FinishOutstandingRemotePermissionQueries();
   FinishOutstandingHistoryQueries();
 
@@ -313,15 +335,120 @@
 
   EXPECT_EQ(GetFlocId().ToDebugHeaderValue(), FlocId().ToDebugHeaderValue());
 
-  // Turn on sync-history to trigger the 1st floc computation.
+  // Turn on sync-history and load the blocklist to trigger the 1st floc
+  // computation.
   sync_service()->SetActiveDataTypes(syncer::ModelTypeSet::All());
   sync_service()->FireStateChanged();
 
+  OnBlocklistLoaded({});
+
   FinishOutstandingRemotePermissionQueries();
   FinishOutstandingHistoryQueries();
 
   // Expect that the FlocIdComputed user event is not recorded.
   ASSERT_EQ(0u, user_event_service()->GetRecordedUserEvents().size());
 }
+IN_PROC_BROWSER_TEST_F(FlocIdProviderWithCustomizedServicesBrowserTest,
+                       HistoryDeleteRecomputeFloc) {
+  net::IPAddress::ConsiderLoopbackIPToBePubliclyRoutableForTesting();
+
+  ConfigureReplacementHostAndPortForRemotePermissionService();
+
+  std::string cookies_to_set = "/set-cookie?user_id=123";
+  ui_test_utils::NavigateToURL(
+      browser(), https_server_.GetURL(test_host(), cookies_to_set));
+
+  EXPECT_EQ(1u, GetHistoryUrls().size());
+
+  EXPECT_EQ(GetFlocId().ToDebugHeaderValue(), FlocId().ToDebugHeaderValue());
+
+  // Turn on sync-history and load the blocklist to trigger the 1st floc
+  // computation.
+  sync_service()->SetActiveDataTypes(syncer::ModelTypeSet::All());
+  sync_service()->FireStateChanged();
+
+  OnBlocklistLoaded({});
+
+  FinishOutstandingRemotePermissionQueries();
+  FinishOutstandingHistoryQueries();
+
+  ASSERT_EQ(1u, user_event_service()->GetRecordedUserEvents().size());
+
+  ExpireHistoryBefore(base::Time::Now());
+  FinishOutstandingRemotePermissionQueries();
+  FinishOutstandingHistoryQueries();
+
+  // Expect that the 2nd FlocIdComputed event should be due to history deletion.
+  ASSERT_EQ(2u, user_event_service()->GetRecordedUserEvents().size());
+
+  const sync_pb::UserEventSpecifics& specifics =
+      user_event_service()->GetRecordedUserEvents()[1];
+  EXPECT_EQ(sync_pb::UserEventSpecifics::kFlocIdComputedEvent,
+            specifics.event_case());
+
+  const sync_pb::UserEventSpecifics_FlocIdComputed& event =
+      specifics.floc_id_computed_event();
+  EXPECT_EQ(sync_pb::UserEventSpecifics::FlocIdComputed::HISTORY_DELETE,
+            event.event_trigger());
+  EXPECT_FALSE(event.has_floc_id());
+}
+
+IN_PROC_BROWSER_TEST_F(FlocIdProviderWithCustomizedServicesBrowserTest,
+                       Blocked_FlocInBlocklist) {
+  net::IPAddress::ConsiderLoopbackIPToBePubliclyRoutableForTesting();
+
+  ConfigureReplacementHostAndPortForRemotePermissionService();
+
+  std::string cookies_to_set = "/set-cookie?user_id=123";
+  ui_test_utils::NavigateToURL(
+      browser(), https_server_.GetURL(test_host(), cookies_to_set));
+
+  EXPECT_EQ(1u, GetHistoryUrls().size());
+
+  EXPECT_EQ(GetFlocId().ToDebugHeaderValue(), FlocId().ToDebugHeaderValue());
+
+  // Turn on sync-history and load the blocklist to trigger the 1st floc
+  // computation.
+  sync_service()->SetActiveDataTypes(syncer::ModelTypeSet::All());
+  sync_service()->FireStateChanged();
+
+  // Load a blocklist that would block the upcoming floc.
+  OnBlocklistLoaded({FlocId::CreateFromHistory({test_host()}).ToUint64()});
+
+  FinishOutstandingRemotePermissionQueries();
+  FinishOutstandingHistoryQueries();
+
+  // Expect that the FlocIdComputed user event is not recorded.
+  ASSERT_EQ(0u, user_event_service()->GetRecordedUserEvents().size());
+}
+
+IN_PROC_BROWSER_TEST_F(FlocIdProviderWithCustomizedServicesBrowserTest,
+                       NotBlocked_FlocNotInBlocklist) {
+  net::IPAddress::ConsiderLoopbackIPToBePubliclyRoutableForTesting();
+
+  ConfigureReplacementHostAndPortForRemotePermissionService();
+
+  std::string cookies_to_set = "/set-cookie?user_id=123";
+  ui_test_utils::NavigateToURL(
+      browser(), https_server_.GetURL(test_host(), cookies_to_set));
+
+  EXPECT_EQ(1u, GetHistoryUrls().size());
+
+  EXPECT_EQ(GetFlocId().ToDebugHeaderValue(), FlocId().ToDebugHeaderValue());
+
+  // Turn on sync-history and load the blocklist to trigger the 1st floc
+  // computation.
+  sync_service()->SetActiveDataTypes(syncer::ModelTypeSet::All());
+  sync_service()->FireStateChanged();
+
+  // Load a blocklist that would block a floc different from the upcoming floc.
+  OnBlocklistLoaded({FlocId::CreateFromHistory({"b.test"}).ToUint64()});
+
+  FinishOutstandingRemotePermissionQueries();
+  FinishOutstandingHistoryQueries();
+
+  // Expect that the FlocIdComputed user event is recorded.
+  ASSERT_EQ(1u, user_event_service()->GetRecordedUserEvents().size());
+}
 
 }  // namespace federated_learning
diff --git a/chrome/browser/federated_learning/floc_id_provider_impl.cc b/chrome/browser/federated_learning/floc_id_provider_impl.cc
index dcd71076..1cff9e37 100644
--- a/chrome/browser/federated_learning/floc_id_provider_impl.cc
+++ b/chrome/browser/federated_learning/floc_id_provider_impl.cc
@@ -6,6 +6,7 @@
 
 #include <unordered_set>
 
+#include "chrome/browser/browser_process.h"
 #include "chrome/browser/content_settings/cookie_settings_factory.h"
 #include "chrome/browser/federated_learning/floc_remote_permission_service.h"
 #include "chrome/browser/history/history_service_factory.h"
@@ -15,6 +16,7 @@
 #include "chrome/browser/sync/user_event_service_factory.h"
 #include "chrome/common/chrome_features.h"
 #include "components/content_settings/core/browser/cookie_settings.h"
+#include "components/federated_learning/floc_blocklist_service.h"
 #include "components/history/core/browser/history_service.h"
 #include "components/sync/driver/profile_sync_service.h"
 #include "components/sync_user_events/user_event_service.h"
@@ -44,8 +46,14 @@
       floc_remote_permission_service_(floc_remote_permission_service),
       history_service_(history_service),
       user_event_service_(user_event_service) {
+  history_service->AddObserver(this);
   sync_service_->AddObserver(this);
+  g_browser_process->floc_blocklist_service()->AddObserver(this);
+
   OnStateChanged(sync_service);
+
+  if (g_browser_process->floc_blocklist_service()->BlocklistLoaded())
+    OnBlocklistLoaded();
 }
 
 FlocIdProviderImpl::~FlocIdProviderImpl() = default;
@@ -61,10 +69,21 @@
   sync_pb::UserEventSpecifics_FlocIdComputed* const floc_id_computed_event =
       specifics->mutable_floc_id_computed_event();
 
-  sync_pb::UserEventSpecifics_FlocIdComputed_EventTrigger event_trigger =
-      (trigger == ComputeFlocTrigger::kBrowserStart)
-          ? sync_pb::UserEventSpecifics_FlocIdComputed_EventTrigger_NEW
-          : sync_pb::UserEventSpecifics_FlocIdComputed_EventTrigger_REFRESHED;
+  sync_pb::UserEventSpecifics_FlocIdComputed_EventTrigger event_trigger;
+  switch (trigger) {
+    case ComputeFlocTrigger::kBrowserStart:
+      event_trigger =
+          sync_pb::UserEventSpecifics_FlocIdComputed_EventTrigger_NEW;
+      break;
+    case ComputeFlocTrigger::kScheduledUpdate:
+      event_trigger =
+          sync_pb::UserEventSpecifics_FlocIdComputed_EventTrigger_REFRESHED;
+      break;
+    case ComputeFlocTrigger::kHistoryDelete:
+      event_trigger = sync_pb::
+          UserEventSpecifics_FlocIdComputed_EventTrigger_HISTORY_DELETE;
+      break;
+  }
 
   floc_id_computed_event->set_event_trigger(event_trigger);
 
@@ -133,18 +152,57 @@
 }
 
 void FlocIdProviderImpl::Shutdown() {
-  if (sync_service_ && sync_service_->HasObserver(this))
+  if (sync_service_)
     sync_service_->RemoveObserver(this);
   sync_service_ = nullptr;
+
+  if (history_service_)
+    history_service_->RemoveObserver(this);
+  history_service_ = nullptr;
+
+  g_browser_process->floc_blocklist_service()->RemoveObserver(this);
+}
+
+void FlocIdProviderImpl::OnURLsDeleted(
+    history::HistoryService* history_service,
+    const history::DeletionInfo& deletion_info) {
+  if (!first_floc_computation_triggered_ || !floc_id_.IsValid())
+    return;
+
+  ComputeFloc(ComputeFlocTrigger::kHistoryDelete);
+}
+
+void FlocIdProviderImpl::OnBlocklistLoaded() {
+  if (first_blocklist_loaded_seen_)
+    return;
+
+  first_blocklist_loaded_seen_ = true;
+
+  MaybeTriggerFirstFlocComputation();
 }
 
 void FlocIdProviderImpl::OnStateChanged(syncer::SyncService* sync_service) {
-  if (first_floc_computation_triggered_)
+  if (first_sync_history_enabled_seen_)
     return;
 
   if (!IsSyncHistoryEnabled())
     return;
 
+  first_sync_history_enabled_seen_ = true;
+
+  MaybeTriggerFirstFlocComputation();
+}
+
+void FlocIdProviderImpl::MaybeTriggerFirstFlocComputation() {
+  if (first_floc_computation_triggered_)
+    return;
+
+  if (!first_sync_history_enabled_seen_ ||
+      (base::FeatureList::IsEnabled(features::kFlocIdBlocklistFiltering) &&
+       !first_blocklist_loaded_seen_)) {
+    return;
+  }
+
   ComputeFloc(ComputeFlocTrigger::kBrowserStart);
 }
 
@@ -155,7 +213,15 @@
   DCHECK(trigger != ComputeFlocTrigger::kBrowserStart ||
          !floc_computation_in_progress_);
 
-  // Skip computing as long as there's one still in progress.
+  // It's fine to skip computing as long as there's one in progress:
+  // 1) If the incoming computation was triggered by history deletion, then the
+  //    in-progress one must haven't got its history query result (if it would
+  //    reach that stage), so the history query result wouldn't contain the
+  //    deleted entries anyway.
+  // 2) If the incoming computation was triggered by scheduled update and is
+  //    ignored, we won't be losing the recomputing frequency, as the
+  //    in-progress one only occurs sooner and when it finishes a new
+  //    compute-floc task will be scheduled.
   if (floc_computation_in_progress_)
     return;
 
@@ -248,6 +314,13 @@
                        ? FlocId::CreateFromHistory(domains)
                        : FlocId();
 
+  if (floc_id.IsValid() &&
+      base::FeatureList::IsEnabled(features::kFlocIdBlocklistFiltering) &&
+      g_browser_process->floc_blocklist_service()->ShouldBlockFloc(
+          floc_id.ToUint64())) {
+    floc_id = FlocId();
+  }
+
   std::move(callback).Run(floc_id);
 }
 
diff --git a/chrome/browser/federated_learning/floc_id_provider_impl.h b/chrome/browser/federated_learning/floc_id_provider_impl.h
index 2021606e..6644694c 100644
--- a/chrome/browser/federated_learning/floc_id_provider_impl.h
+++ b/chrome/browser/federated_learning/floc_id_provider_impl.h
@@ -9,6 +9,7 @@
 #include "base/task/cancelable_task_tracker.h"
 #include "base/timer/timer.h"
 #include "chrome/browser/federated_learning/floc_id_provider.h"
+#include "components/federated_learning/floc_blocklist_service.h"
 #include "components/history/core/browser/history_service.h"
 #include "components/history/core/browser/history_service_observer.h"
 #include "components/sync/driver/sync_service_observer.h"
@@ -36,16 +37,21 @@
 //
 // When all the prerequisites are met, the floc will be computed by sim-hashing
 // navigation URL domains in the last 7 days; otherwise, an invalid floc will be
-// given.
+// given. However, the floc can be invalidated if it's in a blocklist.
 //
 // The floc will be first computed after sync & sync-history are enabled. After
-// each computation, another computation will be scheduled 24 hours later.
+// each computation, another computation will be scheduled 24 hours later. In
+// the event of history deletion, the floc will be recomputed immediately and
+// reset the timer of any currently scheduled computation to be 24 hours later.
 class FlocIdProviderImpl : public FlocIdProvider,
+                           public FlocBlocklistService::Observer,
+                           public history::HistoryServiceObserver,
                            public syncer::SyncServiceObserver {
  public:
   enum class ComputeFlocTrigger {
     kBrowserStart,
     kScheduledUpdate,
+    kHistoryDelete,
   };
 
   using CanComputeFlocCallback = base::OnceCallback<void(bool)>;
@@ -77,9 +83,21 @@
   // KeyedService:
   void Shutdown() override;
 
+  // history::HistoryServiceObserver
+  //
+  // On history deletion, recompute the floc if the current floc is speculated
+  // to be derived from the deleted history.
+  void OnURLsDeleted(history::HistoryService* history_service,
+                     const history::DeletionInfo& deletion_info) override;
+
+  // FlocBlocklistService::Observer
+  void OnBlocklistLoaded() override;
+
   // syncer::SyncServiceObserver:
   void OnStateChanged(syncer::SyncService* sync_service) override;
 
+  void MaybeTriggerFirstFlocComputation();
+
   void ComputeFloc(ComputeFlocTrigger trigger);
   void OnComputeFlocCompleted(ComputeFlocTrigger trigger, FlocId floc_id);
 
@@ -98,6 +116,9 @@
   bool floc_computation_in_progress_ = false;
   bool first_floc_computation_triggered_ = false;
 
+  bool first_blocklist_loaded_seen_ = false;
+  bool first_sync_history_enabled_seen_ = false;
+
   // For the swaa/nac/account_type permission, we will use a cached status to
   // avoid querying too often.
   bool cached_swaa_nac_account_enabled_ = false;
diff --git a/chrome/browser/federated_learning/floc_id_provider_unittest.cc b/chrome/browser/federated_learning/floc_id_provider_unittest.cc
index 5b2d5e4..4252c90 100644
--- a/chrome/browser/federated_learning/floc_id_provider_unittest.cc
+++ b/chrome/browser/federated_learning/floc_id_provider_unittest.cc
@@ -8,8 +8,10 @@
 #include "base/strings/strcat.h"
 #include "base/test/bind_test_util.h"
 #include "base/test/scoped_feature_list.h"
+#include "chrome/browser/browser_process.h"
 #include "chrome/browser/federated_learning/floc_remote_permission_service.h"
 #include "chrome/common/chrome_features.h"
+#include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
 #include "components/content_settings/core/browser/cookie_settings.h"
 #include "components/content_settings/core/common/pref_names.h"
@@ -83,6 +85,9 @@
   void SetUp() override {
     ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
 
+    TestingBrowserProcess::GetGlobal()->SetFlocBlocklistService(
+        std::make_unique<FlocBlocklistService>());
+
     history_service_ = std::make_unique<history::HistoryService>();
     history_service_->Init(
         history::TestHistoryDatabaseParamsForPath(temp_dir_.GetPath()));
@@ -104,6 +109,10 @@
     task_environment_.RunUntilIdle();
   }
 
+  void TearDown() override {
+    history_service_->RemoveObserver(floc_id_provider_.get());
+  }
+
   void CheckCanComputeFloc(
       FlocIdProviderImpl::CanComputeFlocCallback callback) {
     floc_id_provider_->CheckCanComputeFloc(std::move(callback));
@@ -114,6 +123,11 @@
     floc_id_provider_->IsSwaaNacAccountEnabled(std::move(callback));
   }
 
+  void OnURLsDeleted(history::HistoryService* history_service,
+                     const history::DeletionInfo& deletion_info) {
+    floc_id_provider_->OnURLsDeleted(history_service, deletion_info);
+  }
+
   void OnGetRecentlyVisitedURLsCompleted(
       FlocIdProviderImpl::ComputeFlocTrigger trigger,
       history::QueryResults results) {
@@ -125,6 +139,15 @@
         std::move(compute_floc_completed_callback), std::move(results));
   }
 
+  void ExpireHistoryBefore(base::Time end_time) {
+    base::RunLoop run_loop;
+    base::CancelableTaskTracker tracker;
+    history_service_->ExpireHistoryBeforeForTesting(
+        end_time, base::BindLambdaForTesting([&]() { run_loop.Quit(); }),
+        &tracker);
+    run_loop.Run();
+  }
+
   FlocId floc_id() const { return floc_id_provider_->floc_id_; }
 
   void set_floc_id(const FlocId& floc_id) const {
@@ -152,6 +175,11 @@
     fake_floc_remote_permission_service_->set_swaa_nac_account_enabled(enabled);
   }
 
+  void OnBlocklistLoaded(const std::unordered_set<uint64_t>& blocklist) {
+    g_browser_process->floc_blocklist_service()->OnBlocklistLoadResult(
+        blocklist);
+  }
+
  protected:
   content::BrowserTaskEnvironment task_environment_;
 
@@ -258,6 +286,65 @@
             floc_id().ToDebugHeaderValue());
 }
 
+TEST_F(FlocIdProviderUnitTest, HistoryDeleteAndScheduledUpdate) {
+  std::string domain1 = "foo.com";
+  std::string domain2 = "bar.com";
+
+  // Add a history entry with a timestamp exactly 7 days back from now.
+  history::HistoryAddPageArgs add_page_args;
+  add_page_args.url = GURL(base::StrCat({"https://www.", domain1}));
+  add_page_args.time = base::Time::Now() - base::TimeDelta::FromDays(7);
+  add_page_args.publicly_routable = true;
+  history_service_->AddPage(add_page_args);
+
+  // Add a history entry with a timestamp exactly 6 days back from now.
+  add_page_args.url = GURL(base::StrCat({"https://www.", domain2}));
+  add_page_args.time = base::Time::Now() - base::TimeDelta::FromDays(6);
+  history_service_->AddPage(add_page_args);
+
+  task_environment_.RunUntilIdle();
+
+  // Trigger the 1st floc computation.
+  test_sync_service_->SetTransportState(
+      syncer::SyncService::TransportState::ACTIVE);
+  test_sync_service_->FireStateChanged();
+
+  task_environment_.RunUntilIdle();
+
+  // Expect a floc id update notification.
+  ASSERT_EQ(1u, floc_id_provider_->floc_update_notification_count());
+  ASSERT_TRUE(floc_id().IsValid());
+  ASSERT_EQ(FlocId::CreateFromHistory({domain1, domain2}).ToDebugHeaderValue(),
+            floc_id().ToDebugHeaderValue());
+
+  // Advance the clock by 12 hours. Expect no floc id update notification.
+  task_environment_.FastForwardBy(base::TimeDelta::FromHours(12));
+  ASSERT_EQ(1u, floc_id_provider_->floc_update_notification_count());
+
+  // Expire the oldest history entry.
+  ExpireHistoryBefore(base::Time::Now() - base::TimeDelta::FromDays(7));
+  task_environment_.RunUntilIdle();
+
+  // Expect a floc id update notification as it was just recomputed due to the
+  // history deletion.
+  ASSERT_EQ(2u, floc_id_provider_->floc_update_notification_count());
+  ASSERT_TRUE(floc_id().IsValid());
+  ASSERT_EQ(FlocId::CreateFromHistory({domain2}).ToDebugHeaderValue(),
+            floc_id().ToDebugHeaderValue());
+
+  // Advance the clock by 23 hours. Expect no floc id update notification as the
+  // timer has been reset due to the recomputation from history deletion.
+  task_environment_.FastForwardBy(base::TimeDelta::FromHours(23));
+  ASSERT_EQ(2u, floc_id_provider_->floc_update_notification_count());
+
+  // Advance the clock by 1 hour. Expect an floc id update notification as the
+  // scheduled time is reached. Expect an invalid floc id as there is no history
+  // in the past 7 days.
+  task_environment_.FastForwardBy(base::TimeDelta::FromHours(1));
+  ASSERT_EQ(3u, floc_id_provider_->floc_update_notification_count());
+  ASSERT_FALSE(floc_id().IsValid());
+}
+
 TEST_F(FlocIdProviderUnitTest, ScheduledUpdateSameFloc_NoNotification) {
   std::string domain = "foo.com";
 
@@ -429,6 +516,97 @@
   EXPECT_EQ(sync_pb::UserEventSpecifics::FlocIdComputed::REFRESHED,
             event3.event_trigger());
   EXPECT_FALSE(event3.has_floc_id());
+
+  set_floc_id(FlocId(555));
+  floc_id_provider_->NotifyFlocUpdated(
+      FlocIdProviderImpl::ComputeFlocTrigger::kHistoryDelete);
+
+  ASSERT_EQ(4u, fake_user_event_service_->GetRecordedUserEvents().size());
+  const sync_pb::UserEventSpecifics& specifics4 =
+      fake_user_event_service_->GetRecordedUserEvents()[3];
+  EXPECT_EQ(specifics4.event_time_usec(),
+            base::Time::Now().ToDeltaSinceWindowsEpoch().InMicroseconds());
+  EXPECT_EQ(sync_pb::UserEventSpecifics::kFlocIdComputedEvent,
+            specifics4.event_case());
+
+  const sync_pb::UserEventSpecifics_FlocIdComputed& event4 =
+      specifics4.floc_id_computed_event();
+  EXPECT_EQ(sync_pb::UserEventSpecifics::FlocIdComputed::HISTORY_DELETE,
+            event4.event_trigger());
+  EXPECT_EQ(555ULL, event4.floc_id());
+}
+
+TEST_F(FlocIdProviderUnitTest, HistoryDelete_AllHistory) {
+  base::Time time = base::Time::Now() - base::TimeDelta::FromDays(9);
+
+  history::URLResult url_result(GURL("https://a.test"), time);
+  url_result.set_publicly_routable(true);
+
+  history::QueryResults query_results;
+  query_results.SetURLResults({url_result});
+
+  set_first_floc_computation_triggered(true);
+  set_floc_computation_in_progress(true);
+
+  OnGetRecentlyVisitedURLsCompleted(
+      FlocIdProviderImpl::ComputeFlocTrigger::kBrowserStart,
+      std::move(query_results));
+  ASSERT_TRUE(floc_id().IsValid());
+
+  OnURLsDeleted(history_service_.get(), history::DeletionInfo::ForAllHistory());
+  ASSERT_FALSE(floc_id().IsValid());
+}
+
+TEST_F(FlocIdProviderUnitTest, HistoryDelete_InvalidTimeRange) {
+  base::Time time = base::Time::Now() - base::TimeDelta::FromDays(9);
+
+  GURL url_a = GURL("https://a.test");
+
+  history::URLResult url_result(url_a, time);
+  url_result.set_publicly_routable(true);
+
+  history::QueryResults query_results;
+  query_results.SetURLResults({url_result});
+
+  set_first_floc_computation_triggered(true);
+  set_floc_computation_in_progress(true);
+
+  OnGetRecentlyVisitedURLsCompleted(
+      FlocIdProviderImpl::ComputeFlocTrigger::kBrowserStart,
+      std::move(query_results));
+  ASSERT_TRUE(floc_id().IsValid());
+
+  OnURLsDeleted(history_service_.get(),
+                history::DeletionInfo::ForUrls(
+                    {history::URLResult(url_a, base::Time())}, {}));
+  task_environment_.RunUntilIdle();
+  ASSERT_FALSE(floc_id().IsValid());
+}
+
+TEST_F(FlocIdProviderUnitTest, HistoryDelete_TimeRange) {
+  base::Time time = base::Time::Now() - base::TimeDelta::FromDays(9);
+
+  history::URLResult url_result(GURL("https://a.test"), time);
+  url_result.set_publicly_routable(true);
+
+  history::QueryResults query_results;
+  query_results.SetURLResults({url_result});
+
+  set_first_floc_computation_triggered(true);
+  set_floc_computation_in_progress(true);
+
+  OnGetRecentlyVisitedURLsCompleted(
+      FlocIdProviderImpl::ComputeFlocTrigger::kBrowserStart,
+      std::move(query_results));
+  ASSERT_TRUE(floc_id().IsValid());
+
+  history::DeletionInfo deletion_info(history::DeletionTimeRange(time, time),
+                                      false, {}, {},
+                                      base::Optional<std::set<GURL>>());
+
+  OnURLsDeleted(history_service_.get(), deletion_info);
+  task_environment_.RunUntilIdle();
+  ASSERT_FALSE(floc_id().IsValid());
 }
 
 TEST_F(FlocIdProviderUnitTest, HistoryEntriesWithPrivateIP) {
@@ -476,6 +654,103 @@
       floc_id().ToDebugHeaderValue());
 }
 
+TEST_F(FlocIdProviderUnitTest,
+       BlocklistFilteringEnabled_SyncHistoryEnabledFollowedByBlocklistLoaded) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndEnableFeature(features::kFlocIdBlocklistFiltering);
+
+  // Turn on sync & sync-history. The 1st floc computation should not be
+  // triggered as the blocklist hasn't been loaded yet.
+  test_sync_service_->SetTransportState(
+      syncer::SyncService::TransportState::ACTIVE);
+  test_sync_service_->FireStateChanged();
+
+  EXPECT_FALSE(first_floc_computation_triggered());
+
+  // Load the blocklist. The 1st floc computation should be triggered now as
+  // sync & sync-history are enabled the blocklist is loaded.
+  OnBlocklistLoaded({});
+
+  EXPECT_TRUE(first_floc_computation_triggered());
+}
+
+TEST_F(FlocIdProviderUnitTest,
+       BlocklistFilteringEnabled_BlocklistLoadedFollowedBySyncHistoryEnabled) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndEnableFeature(features::kFlocIdBlocklistFiltering);
+
+  // Load the blocklist. The 1st floc computation should not be
+  // triggered as sync & sync-history are not enabled yet.
+  OnBlocklistLoaded({});
+
+  EXPECT_FALSE(first_floc_computation_triggered());
+
+  // Turn on sync & sync-history. The 1st floc computation should be triggered
+  // now as sync & sync-history are enabled the blocklist is loaded.
+  test_sync_service_->SetTransportState(
+      syncer::SyncService::TransportState::ACTIVE);
+  test_sync_service_->FireStateChanged();
+
+  EXPECT_TRUE(first_floc_computation_triggered());
+}
+
+TEST_F(FlocIdProviderUnitTest, BlocklistFilteringEnabled_BlockedFloc) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndEnableFeature(features::kFlocIdBlocklistFiltering);
+
+  std::string domain = "foo.com";
+
+  history::HistoryAddPageArgs add_page_args;
+  add_page_args.url = GURL(base::StrCat({"https://www.", domain}));
+  add_page_args.time = base::Time::Now() - base::TimeDelta::FromDays(1);
+  add_page_args.publicly_routable = true;
+  history_service_->AddPage(add_page_args);
+
+  task_environment_.RunUntilIdle();
+
+  // Load the blocklist and turn on sync & sync-history to trigger the 1st floc
+  // computation.
+  std::unordered_set<uint64_t> blocklist;
+  OnBlocklistLoaded(blocklist);
+
+  test_sync_service_->SetTransportState(
+      syncer::SyncService::TransportState::ACTIVE);
+  test_sync_service_->FireStateChanged();
+
+  EXPECT_TRUE(first_floc_computation_triggered());
+
+  task_environment_.RunUntilIdle();
+
+  // Expect a floc id update notification. The floc should be equal to the
+  // sim-hash of the history.
+  ASSERT_EQ(1u, floc_id_provider_->floc_update_notification_count());
+  ASSERT_EQ(FlocId::CreateFromHistory({domain}).ToDebugHeaderValue(),
+            floc_id().ToDebugHeaderValue());
+
+  // Insert the current floc to blocklist and reload it.
+  blocklist.insert(FlocId::CreateFromHistory({domain}).ToUint64());
+  OnBlocklistLoaded(blocklist);
+
+  task_environment_.FastForwardBy(base::TimeDelta::FromDays(1));
+
+  // Expect a floc id update notification, with an invalid floc because was
+  // blocked.
+  ASSERT_EQ(2u, floc_id_provider_->floc_update_notification_count());
+  ASSERT_EQ(FlocId().ToDebugHeaderValue(), floc_id().ToDebugHeaderValue());
+
+  // Reset and reload the blocklist.
+  blocklist.clear();
+  OnBlocklistLoaded(blocklist);
+
+  task_environment_.FastForwardBy(base::TimeDelta::FromDays(1));
+
+  // Expect a floc id update notification. The floc should be equal to the
+  // sim-hash of the history.
+  ASSERT_EQ(3u, floc_id_provider_->floc_update_notification_count());
+  ASSERT_EQ(FlocId::CreateFromHistory({domain}).ToDebugHeaderValue(),
+            floc_id().ToDebugHeaderValue());
+}
+
 TEST_F(FlocIdProviderUnitTest, TurnSyncOffAndOn) {
   std::string domain = "foo.com";
 
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index ef53d17..cbdd3f6 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -141,7 +141,7 @@
   {
     "name": "app-service-intent-handling",
     "owners": [ "chromeos-apps-foundation-team@google.com" ],
-    "expiry_milestone": 85
+    "expiry_milestone": 87
   },
   {
     "name": "arc-application-zoom",
@@ -1295,6 +1295,11 @@
     "expiry_milestone": 76
   },
   {
+    "name": "enable-critical-persisted-tab-data",
+    "owners": [ "chrome-shopping@google.com" ],
+    "expiry_milestone": 94
+  },
+  {
     "name": "enable-cros-action-recorder",
     "owners": [ "charleszhao", "tby" ],
     "expiry_milestone": 90
@@ -2224,13 +2229,13 @@
   },
   {
     "name": "enable-vaapi-jpeg-image-decode-acceleration",
-    "owners": [ "chromeos-gfx@google.com" ],
-    "expiry_milestone": 83
+    "owners": [ "andrescj", "chromeos-gfx@google.com" ],
+    "expiry_milestone": 90
   },
   {
     "name": "enable-vaapi-webp-image-decode-acceleration",
-    "owners": [ "chromeos-gfx@google.com" ],
-    "expiry_milestone": 83
+    "owners": [ "andrescj", "chromeos-gfx@google.com" ],
+    "expiry_milestone": 90
   },
   {
     "name": "enable-virtual-keyboard",
@@ -3326,6 +3331,11 @@
     "expiry_milestone": 88
   },
   {
+    "name": "omnibox-local-zero-suggest-frecency-ranking",
+    "owners": [ "mahmadi", "chrome-omnibox-team@google.com" ],
+    "expiry_milestone": 89
+  },
+  {
     "name": "omnibox-max-url-matches",
     "owners": [ "orinj", "chrome-omnibox-team@google.com" ],
     "expiry_milestone": 92
@@ -4080,7 +4090,7 @@
   {
     "name": "show-overdraw-feedback",
     "owners": [ "andrescj", "chromeos-gfx@google.com" ],
-    "expiry_milestone": 85
+    "expiry_milestone": 88
   },
   {
     "name": "show-taps",
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index e7b36fd..5f6916d 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1549,6 +1549,11 @@
     "layout, similar to #omnibox-rich-entity-suggestions. Enabling this feature"
     "will also enable #omnibox-rich-entity-suggestions.";
 
+const char kOmniboxLocalZeroSuggestFrecencyRankingName[] =
+    "Frecency ranking for local history zero-prefix suggestions";
+const char kOmniboxLocalZeroSuggestFrecencyRankingDescription[] =
+    "Enable frecency ranking for local history zero-prefix suggestions.";
+
 const char kOmniboxMostVisitedTilesName[] = "Omnibox Most Visited Tiles";
 const char kOmniboxMostVisitedTilesDescription[] =
     "Display a list of frquently visited pages from history as a single row "
@@ -2663,6 +2668,11 @@
     "configurable threshold or where duplicates of Tabs exist. "
     "The threshold is configurable.";
 
+const char kCriticalPersistedTabDataName[] = "Enable CriticalPersistedTabData";
+const char kCriticalPersistedTabDataDescription[] =
+    "A new method of persisting Tab data across restarts has been devised "
+    "and implemented. This actives the new approach.";
+
 const char kContentIndexingDownloadHomeName[] =
     "Content indexing in download home";
 const char kContentIndexingDownloadHomeDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index bb7fada..e35a503 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -903,6 +903,9 @@
 extern const char kOmniboxLocalEntitySuggestionsName[];
 extern const char kOmniboxLocalEntitySuggestionsDescription[];
 
+extern const char kOmniboxLocalZeroSuggestFrecencyRankingName[];
+extern const char kOmniboxLocalZeroSuggestFrecencyRankingDescription[];
+
 extern const char kOmniboxMostVisitedTilesName[];
 extern const char kOmniboxMostVisitedTilesDescription[];
 
@@ -1551,6 +1554,9 @@
 extern const char kCloseTabSuggestionsName[];
 extern const char kCloseTabSuggestionsDescription[];
 
+extern const char kCriticalPersistedTabDataName[];
+extern const char kCriticalPersistedTabDataDescription[];
+
 extern const char kContentIndexingDownloadHomeName[];
 extern const char kContentIndexingDownloadHomeDescription[];
 
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
index a394142..17be1584 100644
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -116,6 +116,7 @@
     &kBentoOffline,
     &kCastDeviceFilter,
     &kCloseTabSuggestions,
+    &kCriticalPersistedTabData,
     &kCCTBackgroundTab,
     &kCCTClientDataHeader,
     &kCCTExternalLinkHandling,
@@ -310,7 +311,7 @@
     "AllowRemoteContextForNotifications", base::FEATURE_ENABLED_BY_DEFAULT};
 
 const base::Feature kAndroidPartnerCustomizationPhenotype{
-    "AndroidPartnerCustomizationPhenotype", base::FEATURE_DISABLED_BY_DEFAULT};
+    "AndroidPartnerCustomizationPhenotype", base::FEATURE_ENABLED_BY_DEFAULT};
 
 // TODO(rouslan): Remove this. (Currently used in
 // GooglePayPaymentAppFactory.java)
@@ -336,6 +337,9 @@
 const base::Feature kCloseTabSuggestions{"CloseTabSuggestions",
                                          base::FEATURE_DISABLED_BY_DEFAULT};
 
+const base::Feature kCriticalPersistedTabData{
+    "CriticalPersistedTabData", base::FEATURE_DISABLED_BY_DEFAULT};
+
 const base::Feature kCCTBackgroundTab{"CCTBackgroundTab",
                                       base::FEATURE_ENABLED_BY_DEFAULT};
 
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
index 0e3e5678..6eed644 100644
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -25,6 +25,7 @@
 extern const base::Feature kBackgroundTaskComponentUpdate;
 extern const base::Feature kBentoOffline;
 extern const base::Feature kCloseTabSuggestions;
+extern const base::Feature kCriticalPersistedTabData;
 extern const base::Feature kCastDeviceFilter;
 extern const base::Feature kCCTBackgroundTab;
 extern const base::Feature kCCTClientDataHeader;
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
index 36554381..089d2b2 100644
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -48,7 +48,7 @@
     private static Map<String, Boolean> sDefaults = new HashMap<String, Boolean>() {
         {
             put(ChromeFeatureList.ANDROID_MANAGED_BY_MENU_ITEM, true);
-            put(ChromeFeatureList.ANDROID_PARTNER_CUSTOMIZATION_PHENOTYPE, false);
+            put(ChromeFeatureList.ANDROID_PARTNER_CUSTOMIZATION_PHENOTYPE, true);
             put(ChromeFeatureList.CONDITIONAL_TAB_STRIP_ANDROID, false);
             put(ChromeFeatureList.HOMEPAGE_LOCATION_POLICY, false);
             put(ChromeFeatureList.SERVICE_MANAGER_FOR_DOWNLOAD, false);
@@ -71,6 +71,7 @@
             put(ChromeFeatureList.TAB_GROUPS_CONTINUATION_ANDROID, false);
             put(ChromeFeatureList.DUET_TABSTRIP_INTEGRATION_ANDROID, false);
             put(ChromeFeatureList.CLOSE_TAB_SUGGESTIONS, false);
+            put(ChromeFeatureList.CRITICAL_PERSISTED_TAB_DATA, false);
             put(ChromeFeatureList.INSTANT_START, false);
             put(ChromeFeatureList.TAB_GROUPS_CONTINUATION_ANDROID, false);
             put(ChromeFeatureList.TAB_TO_GTS_ANIMATION, false);
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
index d6a708e..abd6c601 100644
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -275,6 +275,7 @@
     public static final String CONTEXTUAL_SEARCH_TRANSLATIONS = "ContextualSearchTranslations";
     public static final String COOKIES_WITHOUT_SAME_SITE_MUST_BE_SECURE =
             "CookiesWithoutSameSiteMustBeSecure";
+    public static final String CRITICAL_PERSISTED_TAB_DATA = "CriticalPersistedTabData";
     public static final String DARKEN_WEBSITES_CHECKBOX_IN_THEMES_SETTING =
             "DarkenWebsitesCheckboxInThemesSetting";
     public static final String DECOUPLE_SYNC_FROM_ANDROID_MASTER_SYNC =
diff --git a/chrome/browser/image_fetcher/android/java/src/org/chromium/chrome/browser/image_fetcher/ImageFetcher.java b/chrome/browser/image_fetcher/android/java/src/org/chromium/chrome/browser/image_fetcher/ImageFetcher.java
index ca5e525..4889bc2d1 100644
--- a/chrome/browser/image_fetcher/android/java/src/org/chromium/chrome/browser/image_fetcher/ImageFetcher.java
+++ b/chrome/browser/image_fetcher/android/java/src/org/chromium/chrome/browser/image_fetcher/ImageFetcher.java
@@ -24,6 +24,7 @@
     public static final String ANSWER_SUGGESTIONS_UMA_CLIENT_NAME = "AnswerSuggestions";
     public static final String ASSISTANT_DETAILS_UMA_CLIENT_NAME = "AssistantDetails";
     public static final String ASSISTANT_INFO_BOX_UMA_CLIENT_NAME = "AssistantInfoBox";
+    public static final String CRYPTIDS_UMA_CLIENT_NAME = "Cryptids";
     public static final String ENTITY_SUGGESTIONS_UMA_CLIENT_NAME = "EntitySuggestions";
     public static final String FEED_UMA_CLIENT_NAME = "Feed";
     public static final String NTP_ANIMATED_LOGO_UMA_CLIENT_NAME = "NewTabPageAnimatedLogo";
diff --git a/chrome/browser/infobars/infobars_browsertest.cc b/chrome/browser/infobars/infobars_browsertest.cc
index 921c86a..86d6252b 100644
--- a/chrome/browser/infobars/infobars_browsertest.cc
+++ b/chrome/browser/infobars/infobars_browsertest.cc
@@ -40,6 +40,7 @@
 #include "chrome/browser/ui/startup/automation_infobar_delegate.h"
 #include "chrome/browser/ui/startup/bad_flags_prompt.h"
 #include "chrome/browser/ui/startup/google_api_keys_infobar_delegate.h"
+#include "chrome/browser/ui/startup/mac_system_infobar_delegate.h"
 #include "chrome/browser/ui/startup/obsolete_system_infobar_delegate.h"
 #include "chrome/browser/ui/tab_sharing/tab_sharing_infobar_delegate.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
@@ -193,6 +194,7 @@
       {"plugin_observer", IBD::PLUGIN_OBSERVER_INFOBAR_DELEGATE},
       {"file_access_disabled", IBD::FILE_ACCESS_DISABLED_INFOBAR_DELEGATE},
       {"keystone_promotion", IBD::KEYSTONE_PROMOTION_INFOBAR_DELEGATE_MAC},
+      {"mac_system", IBD::SYSTEM_INFOBAR_DELEGATE_MAC},
       {"collected_cookies", IBD::COLLECTED_COOKIES_INFOBAR_DELEGATE},
       {"installation_error", IBD::INSTALLATION_ERROR_INFOBAR_DELEGATE},
       {"bad_flags", IBD::BAD_FLAGS_INFOBAR_DELEGATE},
@@ -299,6 +301,14 @@
 #endif
       break;
 
+    case IBD::SYSTEM_INFOBAR_DELEGATE_MAC:
+#if defined(OS_MAC)
+      MacSystemInfoBarDelegate::Create(GetInfoBarService());
+#else
+      ADD_FAILURE() << "This infobar is not supported on this OS.";
+#endif
+      break;
+
     case IBD::COLLECTED_COOKIES_INFOBAR_DELEGATE:
       CollectedCookiesInfoBarDelegate::Create(GetInfoBarService());
       break;
@@ -436,6 +446,9 @@
 IN_PROC_BROWSER_TEST_F(InfoBarUiTest, InvokeUi_keystone_promotion) {
   ShowAndVerifyUi();
 }
+IN_PROC_BROWSER_TEST_F(InfoBarUiTest, InvokeUi_mac_system) {
+  ShowAndVerifyUi();
+}
 #endif
 
 IN_PROC_BROWSER_TEST_F(InfoBarUiTest, InvokeUi_collected_cookies) {
diff --git a/chrome/browser/lite_video/lite_video_decider.cc b/chrome/browser/lite_video/lite_video_decider.cc
index c3ced706..ecbf3997 100644
--- a/chrome/browser/lite_video/lite_video_decider.cc
+++ b/chrome/browser/lite_video/lite_video_decider.cc
@@ -110,36 +110,41 @@
   content::GetNetworkConnectionTracker()->RemoveNetworkConnectionObserver(this);
 }
 
-base::Optional<LiteVideoHint> LiteVideoDecider::CanApplyLiteVideo(
+void LiteVideoDecider::CanApplyLiteVideo(
     content::NavigationHandle* navigation_handle,
-    LiteVideoBlocklistReason* blocklist_reason) {
+    LiteVideoHintCallback callback) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  DCHECK(blocklist_reason);
-  if (blocklist_reason)
-    *blocklist_reason = LiteVideoBlocklistReason::kUnknown;
-
+  LiteVideoBlocklistReason blocklist_reason =
+      LiteVideoBlocklistReason::kUnknown;
   if (!IsLiteVideoAllowedForUser(Profile::FromBrowserContext(
           navigation_handle->GetWebContents()->GetBrowserContext()))) {
-    return base::nullopt;
+    std::move(callback).Run(base::nullopt, blocklist_reason);
+    return;
   }
 
   if (switches::ShouldOverrideLiteVideoDecision()) {
     // Return a default configured hint.
-    return LiteVideoHint(switches::GetDefaultDownlinkBandwidthKbps(),
-                         features::LiteVideoTargetDownlinkRTTLatency(),
-                         features::LiteVideoKilobytesToBufferBeforeThrottle(),
-                         features::LiteVideoMaxThrottlingDelay());
+    std::move(callback).Run(
+        LiteVideoHint(switches::GetDefaultDownlinkBandwidthKbps(),
+                      features::LiteVideoTargetDownlinkRTTLatency(),
+                      features::LiteVideoKilobytesToBufferBeforeThrottle(),
+                      features::LiteVideoMaxThrottlingDelay()),
+        blocklist_reason);
+    return;
   }
 
   if (!CanApplyOnCurrentNetworkConditions(is_cellular_network_,
                                           current_effective_connection_type_)) {
-    return base::nullopt;
+    std::move(callback).Run(base::nullopt, blocklist_reason);
+    return;
   }
 
   GURL url = navigation_handle->GetURL();
 
-  if (!url.SchemeIsHTTPOrHTTPS())
-    return base::nullopt;
+  if (!url.SchemeIsHTTPOrHTTPS()) {
+    std::move(callback).Run(base::nullopt, blocklist_reason);
+    return;
+  }
 
   // Reloads and Forward-Back navigations are considered opt-outs and are added
   // to the blocklist so that a host that is frequently reloaded on does not get
@@ -149,26 +154,29 @@
   if (is_reload || (navigation_handle->GetPageTransition() &
                     ui::PAGE_TRANSITION_FORWARD_BACK)) {
     user_blocklist_->AddNavigationToBlocklist(navigation_handle, true);
-    *blocklist_reason = is_reload
-                            ? LiteVideoBlocklistReason::kNavigationReload
-                            : LiteVideoBlocklistReason::kNavigationForwardBack;
+    blocklist_reason = is_reload
+                           ? LiteVideoBlocklistReason::kNavigationReload
+                           : LiteVideoBlocklistReason::kNavigationForwardBack;
     ScopedLiteVideoDecisionRecorder scoped_decision_recorder(
-        *blocklist_reason, navigation_handle->IsInMainFrame());
-    return base::nullopt;
+        blocklist_reason, navigation_handle->IsInMainFrame());
+    std::move(callback).Run(base::nullopt, blocklist_reason);
+    return;
   }
 
-  *blocklist_reason =
+  blocklist_reason =
       user_blocklist_->IsLiteVideoAllowedOnNavigation(navigation_handle);
   ScopedLiteVideoDecisionRecorder scoped_decision_recorder(
-      *blocklist_reason, navigation_handle->IsInMainFrame());
+      blocklist_reason, navigation_handle->IsInMainFrame());
 
   base::Optional<LiteVideoHint> hint =
       hint_cache_->GetHintForNavigationURL(url);
   if (hint)
     scoped_decision_recorder.set_has_hint_for_host(true);
 
-  if (*blocklist_reason != LiteVideoBlocklistReason::kAllowed || !hint)
-    return base::nullopt;
+  if (blocklist_reason != LiteVideoBlocklistReason::kAllowed || !hint) {
+    std::move(callback).Run(base::nullopt, blocklist_reason);
+    return;
+  }
 
   // The navigation will have the LiteVideo optimization triggered so
   // update the blocklist.
@@ -179,7 +187,7 @@
       : DidMediaRebuffer(
             navigation_handle->GetWebContents()->GetLastCommittedURL(),
             navigation_handle->GetURL(), false);
-  return hint;
+  std::move(callback).Run(hint, blocklist_reason);
 }
 
 void LiteVideoDecider::OnUserBlocklistedStatusChange(bool blocklisted) {
diff --git a/chrome/browser/lite_video/lite_video_decider.h b/chrome/browser/lite_video/lite_video_decider.h
index faf01ca..14600bf 100644
--- a/chrome/browser/lite_video/lite_video_decider.h
+++ b/chrome/browser/lite_video/lite_video_decider.h
@@ -22,6 +22,10 @@
 
 namespace lite_video {
 
+using LiteVideoHintCallback =
+    base::OnceCallback<void(base::Optional<LiteVideoHint> hint,
+                            LiteVideoBlocklistReason blocklist_reason)>;
+
 // The LiteVideoDecider makes the decision on whether LiteVideos should be
 // applied to a navigation and provides the parameters to use when
 // throttling media requests.
@@ -34,14 +38,13 @@
                    base::Clock* clock);
   ~LiteVideoDecider() override;
 
-  // Determine if the navigation can have the LiteVideo optimization
-  // applied and returns the LiteVideoHint to use for throttling if one exists.
-  // This also updates the blocklist based on the navigation provided and should
-  // be limited to one call per navigation. |blocklist_reason| will be
-  // populated, if applicable.
-  base::Optional<LiteVideoHint> CanApplyLiteVideo(
-      content::NavigationHandle* navigation_handle,
-      LiteVideoBlocklistReason* blocklist_reason);
+  // Determine if the navigation can have the LiteVideo optimization applied. It
+  // invokes |callback| with the blocklist result and a LiteVideoHint if
+  // available for the |navigation_handle|. This also updates the blocklist
+  // based on the navigation provided and should be limited to one call per
+  // navigation.
+  void CanApplyLiteVideo(content::NavigationHandle* navigation_handle,
+                         LiteVideoHintCallback callback);
 
   // Override the blocklist used by |this| for testing.
   void SetUserBlocklistForTesting(
diff --git a/chrome/browser/lite_video/lite_video_decider_unittest.cc b/chrome/browser/lite_video/lite_video_decider_unittest.cc
index ceabdf2..e75cd8b8 100644
--- a/chrome/browser/lite_video/lite_video_decider_unittest.cc
+++ b/chrome/browser/lite_video/lite_video_decider_unittest.cc
@@ -7,7 +7,9 @@
 #include <map>
 #include <utility>
 
+#include "base/bind.h"
 #include "base/optional.h"
+#include "base/run_loop.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/scoped_feature_list.h"
 #include "base/test/simple_test_clock.h"
@@ -99,18 +101,18 @@
     scoped_feature_list_.InitAndDisableFeature({::features::kLiteVideo});
   }
 
-  base::Optional<lite_video::LiteVideoHint> CanApplyOnSubframeNavigation(
-      const GURL& mainframe_url,
-      const GURL& subframe_url,
-      lite_video::LiteVideoBlocklistReason* blocklist_reason) {
+  void CanApplyOnSubframeNavigation(const GURL& mainframe_url,
+                                    const GURL& subframe_url) {
     // Needed so that a mainframe navigation exists.
     NavigateAndCommit(mainframe_url);
     content::RenderFrameHostTester* rfh_tester =
         content::RenderFrameHostTester::For(main_rfh());
     content::RenderFrameHost* subframe = rfh_tester->AppendChild("subframe");
     content::MockNavigationHandle navigation_handle(subframe_url, subframe);
-    return lite_video_decider()->CanApplyLiteVideo(&navigation_handle,
-                                                   blocklist_reason);
+    lite_video_decider()->CanApplyLiteVideo(
+        &navigation_handle,
+        base::BindOnce(&LiteVideoDeciderTest::OnHintAvailable,
+                       base::Unretained(this)));
   }
 
   void SeedLiteVideoHintCache(const GURL& gurl,
@@ -133,12 +135,31 @@
     return lite_video_decider_.get();
   }
 
+  void OnHintAvailable(base::Optional<lite_video::LiteVideoHint> hint,
+                       lite_video::LiteVideoBlocklistReason blocklist_reason) {
+    hint_ = hint;
+    blocklist_reason_ = blocklist_reason;
+  }
+
+  base::Optional<lite_video::LiteVideoHint> hint() { return hint_; }
+
+  lite_video::LiteVideoBlocklistReason blocklist_reason() {
+    return blocklist_reason_;
+  }
+
   void TearDown() override { content::RenderViewHostTestHarness::TearDown(); }
 
+  void RunUntilIdle() {
+    task_environment()->RunUntilIdle();
+    base::RunLoop().RunUntilIdle();
+  }
+
  private:
   base::test::ScopedFeatureList scoped_feature_list_;
   base::SimpleTestClock test_clock_;
   std::unique_ptr<lite_video::LiteVideoDecider> lite_video_decider_;
+  lite_video::LiteVideoBlocklistReason blocklist_reason_;
+  base::Optional<lite_video::LiteVideoHint> hint_;
 };
 
 TEST_F(LiteVideoDeciderTest, CanApplyOnNonHTTPOrHTTPSURL) {
@@ -147,13 +168,14 @@
   content::MockNavigationHandle navigation_handle(web_contents());
   navigation_handle.set_url(GURL("chrome:://about"));
   navigation_handle.set_page_transition(ui::PAGE_TRANSITION_TYPED);
-  lite_video::LiteVideoBlocklistReason blocklist_reason =
-      lite_video::LiteVideoBlocklistReason::kAllowed;
-  base::Optional<lite_video::LiteVideoHint> hint =
-      lite_video_decider()->CanApplyLiteVideo(&navigation_handle,
-                                              &blocklist_reason);
-  EXPECT_FALSE(hint);
-  EXPECT_EQ(blocklist_reason, lite_video::LiteVideoBlocklistReason::kUnknown);
+
+  lite_video_decider()->CanApplyLiteVideo(
+      &navigation_handle, base::BindOnce(&LiteVideoDeciderTest::OnHintAvailable,
+                                         base::Unretained(this)));
+
+  RunUntilIdle();
+  EXPECT_FALSE(hint());
+  EXPECT_EQ(blocklist_reason(), lite_video::LiteVideoBlocklistReason::kUnknown);
   histogram_tester.ExpectTotalCount(
       "LiteVideo.CanApplyLiteVideo.UserBlocklist.MainFrame", 0);
   histogram_tester.ExpectTotalCount(
@@ -169,12 +191,13 @@
   content::MockNavigationHandle navigation_handle(web_contents());
   navigation_handle.set_url(GURL("https://NoVideo.com"));
   navigation_handle.set_page_transition(ui::PAGE_TRANSITION_TYPED);
-  lite_video::LiteVideoBlocklistReason blocklist_reason;
-  base::Optional<lite_video::LiteVideoHint> hint =
-      lite_video_decider()->CanApplyLiteVideo(&navigation_handle,
-                                              &blocklist_reason);
-  EXPECT_FALSE(hint);
-  EXPECT_EQ(blocklist_reason,
+  lite_video_decider()->CanApplyLiteVideo(
+      &navigation_handle, base::BindOnce(&LiteVideoDeciderTest::OnHintAvailable,
+                                         base::Unretained(this)));
+
+  RunUntilIdle();
+  EXPECT_FALSE(hint());
+  EXPECT_EQ(blocklist_reason(),
             lite_video::LiteVideoBlocklistReason::kNavigationBlocklisted);
   histogram_tester.ExpectUniqueSample(
       "LiteVideo.CanApplyLiteVideo.UserBlocklist.MainFrame",
@@ -190,13 +213,12 @@
   content::MockNavigationHandle navigation_handle(web_contents());
   navigation_handle.set_url(GURL("https://NoVideo.com"));
   navigation_handle.set_page_transition(ui::PAGE_TRANSITION_TYPED);
-  lite_video::LiteVideoBlocklistReason blocklist_reason;
-  base::Optional<lite_video::LiteVideoHint> hint =
-      lite_video_decider()->CanApplyLiteVideo(&navigation_handle,
-                                              &blocklist_reason);
+  lite_video_decider()->CanApplyLiteVideo(
+      &navigation_handle, base::BindOnce(&LiteVideoDeciderTest::OnHintAvailable,
+                                         base::Unretained(this)));
 
-  EXPECT_FALSE(hint);
-  EXPECT_EQ(blocklist_reason, lite_video::LiteVideoBlocklistReason::kAllowed);
+  EXPECT_FALSE(hint());
+  EXPECT_EQ(blocklist_reason(), lite_video::LiteVideoBlocklistReason::kAllowed);
   histogram_tester.ExpectUniqueSample(
       "LiteVideo.CanApplyLiteVideo.UserBlocklist.MainFrame",
       lite_video::LiteVideoBlocklistReason::kAllowed, 1);
@@ -219,20 +241,19 @@
       /*max_throttling_delay=*/base::TimeDelta::FromMilliseconds(5000));
   SeedLiteVideoHintCache(url, seeded_hint);
 
-  lite_video::LiteVideoBlocklistReason blocklist_reason;
-  base::Optional<lite_video::LiteVideoHint> hint =
-      lite_video_decider()->CanApplyLiteVideo(&navigation_handle,
-                                              &blocklist_reason);
+  lite_video_decider()->CanApplyLiteVideo(
+      &navigation_handle, base::BindOnce(&LiteVideoDeciderTest::OnHintAvailable,
+                                         base::Unretained(this)));
 
-  ASSERT_TRUE(hint);
-  EXPECT_EQ(blocklist_reason, lite_video::LiteVideoBlocklistReason::kAllowed);
+  ASSERT_TRUE(hint());
+  EXPECT_EQ(blocklist_reason(), lite_video::LiteVideoBlocklistReason::kAllowed);
   EXPECT_EQ(seeded_hint.target_downlink_bandwidth_kbps(),
-            hint->target_downlink_bandwidth_kbps());
+            hint()->target_downlink_bandwidth_kbps());
   EXPECT_EQ(seeded_hint.target_downlink_rtt_latency(),
-            hint->target_downlink_rtt_latency());
+            hint()->target_downlink_rtt_latency());
   EXPECT_EQ(seeded_hint.kilobytes_to_buffer_before_throttle(),
-            hint->kilobytes_to_buffer_before_throttle());
-  EXPECT_EQ(seeded_hint.max_throttling_delay(), hint->max_throttling_delay());
+            hint()->kilobytes_to_buffer_before_throttle());
+  EXPECT_EQ(seeded_hint.max_throttling_delay(), hint()->max_throttling_delay());
   histogram_tester.ExpectUniqueSample(
       "LiteVideo.CanApplyLiteVideo.UserBlocklist.MainFrame",
       lite_video::LiteVideoBlocklistReason::kAllowed, 1);
@@ -257,12 +278,11 @@
       /*max_throttling_delay=*/base::TimeDelta::FromMilliseconds(5000));
   SeedLiteVideoHintCache(url, seeded_hint);
 
-  lite_video::LiteVideoBlocklistReason blocklist_reason;
-  base::Optional<lite_video::LiteVideoHint> hint =
-      lite_video_decider()->CanApplyLiteVideo(&navigation_handle,
-                                              &blocklist_reason);
-  EXPECT_FALSE(hint);
-  EXPECT_EQ(blocklist_reason, lite_video::LiteVideoBlocklistReason::kUnknown);
+  lite_video_decider()->CanApplyLiteVideo(
+      &navigation_handle, base::BindOnce(&LiteVideoDeciderTest::OnHintAvailable,
+                                         base::Unretained(this)));
+  EXPECT_FALSE(hint());
+  EXPECT_EQ(blocklist_reason(), lite_video::LiteVideoBlocklistReason::kUnknown);
   histogram_tester.ExpectTotalCount(
       "LiteVideo.CanApplyLiteVideo.UserBlocklist.MainFrame", 0);
   histogram_tester.ExpectTotalCount(
@@ -286,19 +306,16 @@
       /*max_throttling_delay=*/base::TimeDelta::FromMilliseconds(5000));
   SeedLiteVideoHintCache(url, seeded_hint);
 
-  lite_video::LiteVideoBlocklistReason blocklist_reason;
-  base::Optional<lite_video::LiteVideoHint> hint = CanApplyOnSubframeNavigation(
-      GURL("https://mainframe.com"), url, &blocklist_reason);
-
-  ASSERT_TRUE(hint);
-  EXPECT_EQ(blocklist_reason, lite_video::LiteVideoBlocklistReason::kAllowed);
+  CanApplyOnSubframeNavigation(GURL("https://mainframe.com"), url);
+  ASSERT_TRUE(hint());
+  EXPECT_EQ(blocklist_reason(), lite_video::LiteVideoBlocklistReason::kAllowed);
   EXPECT_EQ(seeded_hint.target_downlink_bandwidth_kbps(),
-            hint->target_downlink_bandwidth_kbps());
+            hint()->target_downlink_bandwidth_kbps());
   EXPECT_EQ(seeded_hint.target_downlink_rtt_latency(),
-            hint->target_downlink_rtt_latency());
+            hint()->target_downlink_rtt_latency());
   EXPECT_EQ(seeded_hint.kilobytes_to_buffer_before_throttle(),
-            hint->kilobytes_to_buffer_before_throttle());
-  EXPECT_EQ(seeded_hint.max_throttling_delay(), hint->max_throttling_delay());
+            hint()->kilobytes_to_buffer_before_throttle());
+  EXPECT_EQ(seeded_hint.max_throttling_delay(), hint()->max_throttling_delay());
   histogram_tester.ExpectUniqueSample(
       "LiteVideo.CanApplyLiteVideo.UserBlocklist.SubFrame",
       lite_video::LiteVideoBlocklistReason::kAllowed, 1);
@@ -324,12 +341,11 @@
       /*max_throttling_delay=*/base::TimeDelta::FromMilliseconds(5000));
   SeedLiteVideoHintCache(url, seeded_hint);
 
-  lite_video::LiteVideoBlocklistReason blocklist_reason;
-  base::Optional<lite_video::LiteVideoHint> hint =
-      lite_video_decider()->CanApplyLiteVideo(&navigation_handle,
-                                              &blocklist_reason);
-  EXPECT_FALSE(hint);
-  EXPECT_EQ(blocklist_reason,
+  lite_video_decider()->CanApplyLiteVideo(
+      &navigation_handle, base::BindOnce(&LiteVideoDeciderTest::OnHintAvailable,
+                                         base::Unretained(this)));
+  EXPECT_FALSE(hint());
+  EXPECT_EQ(blocklist_reason(),
             lite_video::LiteVideoBlocklistReason::kNavigationReload);
   histogram_tester.ExpectUniqueSample(
       "LiteVideo.CanApplyLiteVideo.UserBlocklist.MainFrame",
@@ -356,12 +372,11 @@
       /*max_throttling_delay=*/base::TimeDelta::FromMilliseconds(5000));
   SeedLiteVideoHintCache(url, seeded_hint);
 
-  lite_video::LiteVideoBlocklistReason blocklist_reason;
-  base::Optional<lite_video::LiteVideoHint> hint =
-      lite_video_decider()->CanApplyLiteVideo(&navigation_handle,
-                                              &blocklist_reason);
-  EXPECT_FALSE(hint);
-  EXPECT_EQ(blocklist_reason,
+  lite_video_decider()->CanApplyLiteVideo(
+      &navigation_handle, base::BindOnce(&LiteVideoDeciderTest::OnHintAvailable,
+                                         base::Unretained(this)));
+  EXPECT_FALSE(hint());
+  EXPECT_EQ(blocklist_reason(),
             lite_video::LiteVideoBlocklistReason::kNavigationForwardBack);
   histogram_tester.ExpectUniqueSample(
       "LiteVideo.CanApplyLiteVideo.UserBlocklist.MainFrame",
@@ -384,11 +399,10 @@
   navigation_handle.set_url(url);
   navigation_handle.set_page_transition(ui::PAGE_TRANSITION_TYPED);
 
-  lite_video::LiteVideoBlocklistReason blocklist_reason;
-  base::Optional<lite_video::LiteVideoHint> hint =
-      lite_video_decider()->CanApplyLiteVideo(&navigation_handle,
-                                              &blocklist_reason);
+  lite_video_decider()->CanApplyLiteVideo(
+      &navigation_handle, base::BindOnce(&LiteVideoDeciderTest::OnHintAvailable,
+                                         base::Unretained(this)));
 
-  ASSERT_TRUE(hint);
-  EXPECT_EQ(200, hint->target_downlink_bandwidth_kbps());
+  ASSERT_TRUE(hint());
+  EXPECT_EQ(200, hint()->target_downlink_bandwidth_kbps());
 }
diff --git a/chrome/browser/lite_video/lite_video_hint.h b/chrome/browser/lite_video/lite_video_hint.h
index 583e7fd..3fc6b18 100644
--- a/chrome/browser/lite_video/lite_video_hint.h
+++ b/chrome/browser/lite_video/lite_video_hint.h
@@ -34,10 +34,10 @@
   base::TimeDelta max_throttling_delay() const { return max_throttling_delay_; }
 
  private:
-  const int target_downlink_bandwidth_kbps_;
-  const base::TimeDelta target_downlink_rtt_latency_;
-  const int kilobytes_to_buffer_before_throttle_;
-  const base::TimeDelta max_throttling_delay_;
+  int target_downlink_bandwidth_kbps_;
+  base::TimeDelta target_downlink_rtt_latency_;
+  int kilobytes_to_buffer_before_throttle_;
+  base::TimeDelta max_throttling_delay_;
 };
 
 }  // namespace lite_video
diff --git a/chrome/browser/lite_video/lite_video_navigation_metrics.cc b/chrome/browser/lite_video/lite_video_navigation_metrics.cc
index 09add76..46ef427 100644
--- a/chrome/browser/lite_video/lite_video_navigation_metrics.cc
+++ b/chrome/browser/lite_video/lite_video_navigation_metrics.cc
@@ -23,4 +23,12 @@
   throttle_result_ = throttle_result;
 }
 
+void LiteVideoNavigationMetrics::SetDecision(LiteVideoDecision decision) {
+  decision_ = decision;
+}
+void LiteVideoNavigationMetrics::SetBlocklistReason(
+    LiteVideoBlocklistReason blocklist_reason) {
+  blocklist_reason_ = blocklist_reason;
+}
+
 }  // namespace lite_video
diff --git a/chrome/browser/lite_video/lite_video_navigation_metrics.h b/chrome/browser/lite_video/lite_video_navigation_metrics.h
index d9bf552..45b6558 100644
--- a/chrome/browser/lite_video/lite_video_navigation_metrics.h
+++ b/chrome/browser/lite_video/lite_video_navigation_metrics.h
@@ -58,6 +58,13 @@
   // Update the throttling result of the current navigation.
   void SetThrottleResult(LiteVideoThrottleResult throttle_result);
 
+  // Update the decision to made on applying LiteVideos to the current
+  // navigation.
+  void SetDecision(LiteVideoDecision decision);
+
+  // Update the blocklist reason for the current navigation.
+  void SetBlocklistReason(LiteVideoBlocklistReason blocklist_reason);
+
  private:
   int64_t nav_id_;
   LiteVideoDecision decision_;
diff --git a/chrome/browser/lite_video/lite_video_observer.cc b/chrome/browser/lite_video/lite_video_observer.cc
index c790692..ab4a12ec 100644
--- a/chrome/browser/lite_video/lite_video_observer.cc
+++ b/chrome/browser/lite_video/lite_video_observer.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/lite_video/lite_video_observer.h"
 
+#include "base/bind.h"
 #include "base/metrics/histogram_macros_local.h"
 #include "base/optional.h"
 #include "base/rand_util.h"
@@ -18,6 +19,8 @@
 #include "chrome/browser/lite_video/lite_video_util.h"
 #include "chrome/browser/profiles/profile.h"
 #include "content/public/browser/navigation_handle.h"
+#include "content/public/browser/render_frame_host.h"
+#include "content/public/browser/render_process_host.h"
 #include "content/public/browser/web_contents.h"
 #include "services/metrics/public/cpp/ukm_builders.h"
 #include "services/metrics/public/cpp/ukm_recorder.h"
@@ -80,29 +83,53 @@
 
   lite_video::LiteVideoBlocklistReason blocklist_reason =
       lite_video::LiteVideoBlocklistReason::kUnknown;
-  base::Optional<lite_video::LiteVideoHint> hint =
-      lite_video_decider_->CanApplyLiteVideo(navigation_handle,
-                                             &blocklist_reason);
-
-  MaybeUpdateCoinflipExperimentState(navigation_handle);
-
-  lite_video::LiteVideoDecision decision =
-      MakeLiteVideoDecision(navigation_handle, hint);
 
   if (navigation_handle->IsInMainFrame()) {
     FlushUKMMetrics();
     nav_metrics_ = lite_video::LiteVideoNavigationMetrics(
-        navigation_handle->GetNavigationId(), decision, blocklist_reason,
+        navigation_handle->GetNavigationId(),
+        lite_video::LiteVideoDecision::kUnknown, blocklist_reason,
         lite_video::LiteVideoThrottleResult::kThrottledWithoutStop);
   }
 
-  LOCAL_HISTOGRAM_BOOLEAN("LiteVideo.Navigation.HasHint", hint ? true : false);
+  MaybeUpdateCoinflipExperimentState(navigation_handle);
+  auto* render_frame_host = navigation_handle->GetRenderFrameHost();
+  if (!render_frame_host)
+    return;
+  lite_video_decider_->CanApplyLiteVideo(
+      navigation_handle,
+      base::BindOnce(&LiteVideoObserver::OnHintAvailable,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     content::GlobalFrameRoutingId(
+                         render_frame_host->GetProcess()->GetID(),
+                         render_frame_host->GetRoutingID())));
+}
 
-  if (decision == lite_video::LiteVideoDecision::kNotAllowed)
+void LiteVideoObserver::OnHintAvailable(
+    content::GlobalFrameRoutingId render_frame_host_routing_id,
+    base::Optional<lite_video::LiteVideoHint> hint,
+    lite_video::LiteVideoBlocklistReason blocklist_reason) {
+  auto* render_frame_host =
+      content::RenderFrameHost::FromID(render_frame_host_routing_id);
+  if (!render_frame_host)
     return;
 
-  content::RenderFrameHost* render_frame_host =
-      navigation_handle->GetRenderFrameHost();
+  lite_video::LiteVideoDecision decision = MakeLiteVideoDecision(hint);
+
+  LOCAL_HISTOGRAM_BOOLEAN("LiteVideo.Navigation.HasHint", hint ? true : false);
+
+  if (nav_metrics_ && render_frame_host->GetMainFrame()) {
+    nav_metrics_->SetDecision(decision);
+    nav_metrics_->SetBlocklistReason(blocklist_reason);
+  }
+
+  // Only proceed to passing hints if the decision is allowed.
+  if (decision != lite_video::LiteVideoDecision::kAllowed)
+    return;
+
+  if (!hint)
+    return;
+
   if (!render_frame_host || !render_frame_host->GetProcess())
     return;
 
@@ -125,7 +152,6 @@
 }
 
 lite_video::LiteVideoDecision LiteVideoObserver::MakeLiteVideoDecision(
-    content::NavigationHandle* navigation_handle,
     base::Optional<lite_video::LiteVideoHint> hint) const {
   if (hint) {
     return is_coinflip_holdback_ ? lite_video::LiteVideoDecision::kHoldback
diff --git a/chrome/browser/lite_video/lite_video_observer.h b/chrome/browser/lite_video/lite_video_observer.h
index e730ded7..48d6596 100644
--- a/chrome/browser/lite_video/lite_video_observer.h
+++ b/chrome/browser/lite_video/lite_video_observer.h
@@ -44,7 +44,6 @@
   // Determines the LiteVideoDecision based on |hint| and the coinflip
   // holdback state.
   lite_video::LiteVideoDecision MakeLiteVideoDecision(
-      content::NavigationHandle* navigation_handle,
       base::Optional<lite_video::LiteVideoHint> hint) const;
 
   // Records the metrics for LiteVideos applied to any frames associated with
@@ -56,6 +55,13 @@
   void MaybeUpdateCoinflipExperimentState(
       content::NavigationHandle* navigation_handle);
 
+  // Callback run after a hint and blocklist reason is available for use
+  // within the agent associated with |render_frame_host_routing_id|.
+  void OnHintAvailable(
+      content::GlobalFrameRoutingId render_frame_host_routing_id,
+      base::Optional<lite_video::LiteVideoHint> hint,
+      lite_video::LiteVideoBlocklistReason blocklist_reason);
+
   // The decider capable of making decisions about whether LiteVideos should be
   // applied and the params to use when throttling media requests.
   lite_video::LiteVideoDecider* lite_video_decider_ = nullptr;
@@ -70,6 +76,9 @@
   // commits.
   bool is_coinflip_holdback_ = false;
 
+  // Used to get a weak pointer to |this|.
+  base::WeakPtrFactory<LiteVideoObserver> weak_ptr_factory_{this};
+
   WEB_CONTENTS_USER_DATA_KEY_DECL();
 };
 
diff --git a/chrome/browser/lookalikes/lookalike_url_blocking_page.cc b/chrome/browser/lookalikes/lookalike_url_blocking_page.cc
index 000cc46..6d7c101d 100644
--- a/chrome/browser/lookalikes/lookalike_url_blocking_page.cc
+++ b/chrome/browser/lookalikes/lookalike_url_blocking_page.cc
@@ -56,7 +56,8 @@
     base::DictionaryValue* load_time_data) {
   CHECK(load_time_data);
 
-  PopulateLookalikeUrlBlockingPageStrings(load_time_data, safe_url_);
+  PopulateLookalikeUrlBlockingPageStrings(load_time_data, safe_url_,
+                                          request_url());
 }
 
 void LookalikeUrlBlockingPage::OnInterstitialClosing() {
diff --git a/chrome/browser/lookalikes/lookalike_url_navigation_throttle.cc b/chrome/browser/lookalikes/lookalike_url_navigation_throttle.cc
index fcf2f6a..18cae7a0 100644
--- a/chrome/browser/lookalikes/lookalike_url_navigation_throttle.cc
+++ b/chrome/browser/lookalikes/lookalike_url_navigation_throttle.cc
@@ -150,6 +150,11 @@
     return content::NavigationThrottle::PROCEED;
   }
 
+  // If the host is allowlisted by policy, don't show any warning.
+  if (IsAllowedByEnterprisePolicy(profile_->GetPrefs(), url)) {
+    return content::NavigationThrottle::PROCEED;
+  }
+
   // If this is a reload and if the current URL is the last URL of the stored
   // redirect chain, the interstitial was probably reloaded. Stop the reload and
   // navigate back to the original lookalike URL so that the whole throttle is
diff --git a/chrome/browser/lookalikes/lookalike_url_navigation_throttle_browsertest.cc b/chrome/browser/lookalikes/lookalike_url_navigation_throttle_browsertest.cc
index fb7c861..b5c19ac 100644
--- a/chrome/browser/lookalikes/lookalike_url_navigation_throttle_browsertest.cc
+++ b/chrome/browser/lookalikes/lookalike_url_navigation_throttle_browsertest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include "base/bind.h"
+#include "base/strings/pattern.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/metrics/histogram_tester.h"
@@ -15,6 +16,7 @@
 #include "chrome/browser/lookalikes/lookalike_url_blocking_page.h"
 #include "chrome/browser/lookalikes/lookalike_url_navigation_throttle.h"
 #include "chrome/browser/lookalikes/lookalike_url_service.h"
+#include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/reputation/safety_tip_test_utils.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_commands.h"
@@ -55,6 +57,9 @@
 const char kInterstitialInteractionMetric[] =
     "interstitial.lookalike.interaction";
 
+const char kConsoleMessage[] =
+    "Chrome has determined that * could be fake or fraudulent*";
+
 static std::unique_ptr<net::test_server::HttpResponse>
 NetworkErrorResponseHandler(const net::test_server::HttpRequest& request) {
   return std::unique_ptr<net::test_server::HttpResponse>(
@@ -92,23 +97,21 @@
   return !browser->location_bar_model()->GetFormattedFullURL().empty();
 }
 
+// Navigate to |url| and wait for the load to complete before returning.
 // Simulates a link click navigation. We don't use
 // ui_test_utils::NavigateToURL(const GURL&) because it simulates the user
 // typing the URL, causing the site to have a site engagement score of at
 // least LOW.
-void NavigateToURL(Browser* browser, const GURL& url) {
+void NavigateToURLSync(Browser* browser, const GURL& url) {
+  content::TestNavigationObserver navigation_observer(
+      browser->tab_strip_model()->GetActiveWebContents(), 1);
+
   NavigateParams params(browser, url, ui::PAGE_TRANSITION_LINK);
   params.initiator_origin = url::Origin::Create(GURL("about:blank"));
   params.disposition = WindowOpenDisposition::CURRENT_TAB;
   params.is_renderer_initiated = true;
   ui_test_utils::NavigateToURL(&params);
-}
 
-// Same as NavigateToUrl, but wait for the load to complete before returning.
-void NavigateToURLSync(Browser* browser, const GURL& url) {
-  content::TestNavigationObserver navigation_observer(
-      browser->tab_strip_model()->GetActiveWebContents(), 1);
-  NavigateToURL(browser, url);
   navigation_observer.Wait();
 }
 
@@ -116,6 +119,8 @@
 void LoadAndCheckInterstitialAt(Browser* browser, const GURL& url) {
   content::WebContents* web_contents =
       browser->tab_strip_model()->GetActiveWebContents();
+  content::WebContentsConsoleObserver console_observer(web_contents);
+  console_observer.SetPattern(kConsoleMessage);
 
   EXPECT_EQ(nullptr, GetCurrentInterstitial(web_contents));
 
@@ -123,6 +128,10 @@
   EXPECT_EQ(LookalikeUrlBlockingPage::kTypeForTesting,
             GetInterstitialType(web_contents));
   EXPECT_FALSE(IsUrlShowing(browser));
+
+  console_observer.Wait();
+  EXPECT_TRUE(
+      base::MatchPattern(console_observer.GetMessageAt(0u), kConsoleMessage));
 }
 
 void SendInterstitialCommand(content::WebContents* web_contents,
@@ -864,6 +873,18 @@
   CheckNoUkm();
 }
 
+// The site is allowed by enterprise policy.
+IN_PROC_BROWSER_TEST_P(LookalikeUrlNavigationThrottleBrowserTest,
+                       AllowedByPolicy) {
+  const GURL kNavigatedUrl = GetURL("xn--googl-fsa.com");
+  SetEnterpriseAllowlistForTesting(browser()->profile()->GetPrefs(),
+                                   {"xn--googl-fsa.com"});
+
+  SetEngagementScore(browser(), kNavigatedUrl, kLowEngagement);
+  TestInterstitialNotShown(browser(), kNavigatedUrl);
+  CheckNoUkm();
+}
+
 // Tests negative examples for all heuristics.
 IN_PROC_BROWSER_TEST_P(LookalikeUrlNavigationThrottleBrowserTest,
                        NonUniqueDomains_NoMatch) {
diff --git a/chrome/browser/media/feeds/media_feeds_browsertest.cc b/chrome/browser/media/feeds/media_feeds_browsertest.cc
index 0d663a5d..17cb76f 100644
--- a/chrome/browser/media/feeds/media_feeds_browsertest.cc
+++ b/chrome/browser/media/feeds/media_feeds_browsertest.cc
@@ -319,8 +319,11 @@
   {
     mojom::MediaFeedItemPtr expected_item = mojom::MediaFeedItem::New();
     expected_item->id = 1;
-    expected_item->name =
-        base::ASCIIToUTF16("Anatomy of a Web Media Experience");
+
+    const std::string name = "Anatomy of a Web Media Experience 😊";
+    ASSERT_TRUE(
+        base::UTF8ToUTF16(name.c_str(), name.size(), &expected_item->name));
+
     expected_item->type = mojom::MediaFeedItemType::kVideo;
     expected_item->author = mojom::Author::New();
     expected_item->author->name = "Google Chrome Developers";
diff --git a/chrome/browser/media/feeds/media_feeds_converter.cc b/chrome/browser/media/feeds/media_feeds_converter.cc
index 86e0071..0211657 100644
--- a/chrome/browser/media/feeds/media_feeds_converter.cc
+++ b/chrome/browser/media/feeds/media_feeds_converter.cc
@@ -1076,7 +1076,12 @@
 
   auto* name = GetProperty(item.get(), schema_org::property::kName);
   if (name && IsNonEmptyString(*name)) {
-    converted_item->name = base::ASCIIToUTF16(name->values->string_values[0]);
+    const auto value = name->values->string_values[0];
+    if (!base::UTF8ToUTF16(value.c_str(), value.size(),
+                           &converted_item->name)) {
+      Log("Invalid name.");
+      return false;
+    }
   } else {
     Log("Invalid name.");
     return false;
@@ -1252,10 +1257,7 @@
       if (!GetMediaFeedItem(embedded_item->values->entity_values[0],
                             converted_item.get(), &item_ids,
                             /*is_embedded_item=*/true)) {
-        std::string item_name = !converted_item->name.empty()
-                                    ? base::UTF16ToASCII(converted_item->name)
-                                    : "Unknown item";
-        Log("Item was invalid: " + item_name);
+        Log("Item was invalid");
         continue;
       }
 
@@ -1281,10 +1283,7 @@
     } else {
       if (!GetMediaFeedItem(item, converted_item.get(), &item_ids,
                             /*is_embedded_item=*/false)) {
-        std::string item_name = !converted_item->name.empty()
-                                    ? base::UTF16ToASCII(converted_item->name)
-                                    : "Unknown item";
-        Log("Item was invalid: " + item_name);
+        Log("Item was invalid");
         continue;
       }
     }
diff --git a/chrome/browser/media/feeds/media_feeds_service.cc b/chrome/browser/media/feeds/media_feeds_service.cc
index 1eb22ee..1143f0b7 100644
--- a/chrome/browser/media/feeds/media_feeds_service.cc
+++ b/chrome/browser/media/feeds/media_feeds_service.cc
@@ -22,6 +22,7 @@
 #include "chrome/browser/media/feeds/media_feeds_store.mojom.h"
 #include "chrome/browser/media/history/media_history_keyed_service.h"
 #include "chrome/browser/media/history/media_history_keyed_service_factory.h"
+#include "chrome/browser/media/kaleidoscope/kaleidoscope_prefs.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/common/pref_names.h"
 #include "components/pref_registry/pref_registry_syncable.h"
@@ -354,11 +355,23 @@
   if (!IsBackgroundFetchingEnabled())
     return;
 
-  GetMediaHistoryService()->GetMediaFeeds(
-      media_history::MediaHistoryKeyedService::GetMediaFeedsRequest::
-          CreateTopFeedsForFetch(kMaxTopFeedsToFetch, kTopFeedsMinWatchTime),
-      base::BindOnce(&MediaFeedsService::OnGotTopFeeds,
-                     weak_factory_.GetWeakPtr(), std::move(callback)));
+  // If the user has opted into auto selection of media feeds then we should get
+  // the top media feeds based on heuristics. Otherwise, we should fallback to
+  // feeds the user has opted into.
+  if (profile_->GetPrefs()->GetBoolean(
+          kaleidoscope::prefs::kKaleidoscopeAutoSelectMediaFeeds)) {
+    GetMediaHistoryService()->GetMediaFeeds(
+        media_history::MediaHistoryKeyedService::GetMediaFeedsRequest::
+            CreateTopFeedsForFetch(kMaxTopFeedsToFetch, kTopFeedsMinWatchTime),
+        base::BindOnce(&MediaFeedsService::OnGotTopFeeds,
+                       weak_factory_.GetWeakPtr(), std::move(callback)));
+  } else {
+    GetMediaHistoryService()->GetMediaFeeds(
+        media_history::MediaHistoryKeyedService::GetMediaFeedsRequest::
+            CreateSelectedFeedsForFetch(),
+        base::BindOnce(&MediaFeedsService::OnGotTopFeeds,
+                       weak_factory_.GetWeakPtr(), std::move(callback)));
+  }
 }
 
 void MediaFeedsService::OnGotTopFeeds(
diff --git a/chrome/browser/media/feeds/media_feeds_service_unittest.cc b/chrome/browser/media/feeds/media_feeds_service_unittest.cc
index ae1ab61..218db79 100644
--- a/chrome/browser/media/feeds/media_feeds_service_unittest.cc
+++ b/chrome/browser/media/feeds/media_feeds_service_unittest.cc
@@ -17,6 +17,7 @@
 #include "chrome/browser/media/feeds/media_feeds_store.mojom-shared.h"
 #include "chrome/browser/media/history/media_history_keyed_service.h"
 #include "chrome/browser/media/history/media_history_test_utils.h"
+#include "chrome/browser/media/kaleidoscope/kaleidoscope_prefs.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
 #include "chrome/test/base/testing_profile.h"
@@ -345,6 +346,11 @@
     return rv;
   }
 
+  void SetAutomaticSelectionEnabled() {
+    profile()->GetPrefs()->SetBoolean(
+        kaleidoscope::prefs::kKaleidoscopeAutoSelectMediaFeeds, true);
+  }
+
   safe_search_api::StubURLChecker* safe_search_checker() {
     return stub_url_checker_.get();
   }
@@ -2086,6 +2092,7 @@
 // FetchTopMediaFeeds should fetch a feed with enough watchtime on that origin
 // even if it hasn't been fetched before.
 TEST_F(MediaFeedsServiceTest, FetchTopMediaFeeds_SuccessNewFetch) {
+  SetAutomaticSelectionEnabled();
   base::HistogramTester histogram_tester;
 
   const GURL feed_url("https://www.google.com/feed");
@@ -2126,6 +2133,7 @@
 
 // Fetch top feeds should periodically fetch the feed from cache if available.
 TEST_F(MediaFeedsServiceTest, FetchTopMediaFeeds_SuccessFromCache) {
+  SetAutomaticSelectionEnabled();
   base::HistogramTester histogram_tester;
 
   const GURL feed_url("https://www.google.com/feed");
@@ -2173,6 +2181,7 @@
 // FetchTopMediaFeeds should back off if the feed fails to fetch. But after 24
 // hours, it should fetch regardless of failures, bypassing the cache.
 TEST_F(MediaFeedsServiceTest, FetchTopMediaFeeds_BacksOffFailedFetches) {
+  SetAutomaticSelectionEnabled();
   base::HistogramTester histogram_tester;
   const int times_to_fail = 10;
 
@@ -2230,6 +2239,7 @@
 // After 24 hours, FetchTopMediaFeeds should fetch the feed and bypass the
 // cache.
 TEST_F(MediaFeedsServiceTest, FetchTopMediaFeeds_SuccessBypassCache) {
+  SetAutomaticSelectionEnabled();
   base::HistogramTester histogram_tester;
 
   const GURL feed_url("https://www.google.com/feed");
@@ -2275,6 +2285,7 @@
 
 // After a feed reset, FetchTopMediaFeeds should fetch anyway.
 TEST_F(MediaFeedsServiceTest, FetchTopMediaFeeds_SuccessResetFeed) {
+  SetAutomaticSelectionEnabled();
   base::HistogramTester histogram_tester;
 
   const GURL feed_url("https://www.google.com/feed");
@@ -2320,6 +2331,7 @@
 // After enabling the pref, top feeds should fetch immediately and then again
 // after 15 minutes.
 TEST_F(MediaFeedsServiceTest, FetchTopMediaFeeds_SuccessRepeatsPeriodically) {
+  SetAutomaticSelectionEnabled();
   base::HistogramTester histogram_tester;
 
   const GURL feed_url("https://www.google.com/feed");
@@ -2360,4 +2372,42 @@
       MediaFeedsFetcher::kFetchSizeKbHistogramName, 15, 2);
 }
 
+// FetchTopMediaFeeds should fetch a feed with enough watchtime on that origin
+// even if it hasn't been fetched before.
+TEST_F(MediaFeedsServiceTest, FetchTopMediaFeeds_DisableAutoSelection) {
+  base::HistogramTester histogram_tester;
+
+  const GURL feed_url_a("https://www.google.com/feed");
+  const GURL feed_url_b("https://www.google.co.uk/feed");
+
+  // Store a couple of Media Feeds.
+  GetMediaFeedsService()->DiscoverMediaFeed(feed_url_a);
+  GetMediaFeedsService()->DiscoverMediaFeed(feed_url_b);
+  WaitForDB();
+
+  // The first feed we should opt into.
+  GetMediaHistoryService()->UpdateFeedUserStatus(
+      1, media_feeds::mojom::FeedUserStatus::kEnabled);
+  WaitForDB();
+
+  SetBackgroundFetchingEnabled(true);
+  task_environment()->RunUntilIdle();
+
+  // The first feed should be fetched and the second one should be ignored since
+  // the user has not enabled it.
+  ASSERT_TRUE(RespondToPendingFeedFetch(feed_url_a));
+  ASSERT_FALSE(RespondToPendingFeedFetch(feed_url_b));
+
+  auto feeds = GetMediaFeedsSync();
+  ASSERT_EQ(2u, feeds.size());
+  EXPECT_TRUE(feeds[0]->last_fetch_time_not_cache_hit);
+  EXPECT_EQ(media_feeds::mojom::FetchResult::kSuccess,
+            feeds[0]->last_fetch_result);
+  EXPECT_EQ(media_feeds::mojom::FetchResult::kNone,
+            feeds[1]->last_fetch_result);
+
+  histogram_tester.ExpectUniqueSample(
+      MediaFeedsFetcher::kFetchSizeKbHistogramName, 15, 1);
+}
+
 }  // namespace media_feeds
diff --git a/chrome/browser/media/feeds/media_feeds_store.mojom b/chrome/browser/media/feeds/media_feeds_store.mojom
index bfb3795f..46f3d3f 100644
--- a/chrome/browser/media/feeds/media_feeds_store.mojom
+++ b/chrome/browser/media/feeds/media_feeds_store.mojom
@@ -145,6 +145,9 @@
 
   // The user has opted out of seeing the feed.
   kDisabled = 1,
+
+  // The user has opted into seeing the feed.
+  kEnabled = 2,
 };
 
 // The type of the feed item. This enum is committed to storage so do not
diff --git a/chrome/browser/media/history/media_history_feeds_table.cc b/chrome/browser/media/history/media_history_feeds_table.cc
index 45c8c8d..87cdca26 100644
--- a/chrome/browser/media/history/media_history_feeds_table.cc
+++ b/chrome/browser/media/history/media_history_feeds_table.cc
@@ -120,6 +120,12 @@
         "mediaFeed (last_fetch_content_types, safe_search_result)");
   }
 
+  if (success) {
+    success = DB()->Execute(
+        "CREATE INDEX IF NOT EXISTS mediaFeed_user_status_index ON "
+        "mediaFeed (user_status)");
+  }
+
   if (!success) {
     ResetDB();
     LOG(ERROR) << "Failed to create media history feeds table.";
@@ -290,6 +296,15 @@
       statement.BindInt64(bind_index++,
                           static_cast<int>(*request.filter_by_type));
     }
+  } else if (request.type == MediaHistoryKeyedService::GetMediaFeedsRequest::
+                                 Type::kSelectedFeedsForFetch) {
+    sql.push_back("FROM mediaFeed WHERE user_status = ?");
+
+    statement.Assign(DB()->GetCachedStatement(
+        SQL_FROM_HERE, base::JoinString(sql, " ").c_str()));
+
+    statement.BindInt64(
+        0, static_cast<int>(media_feeds::mojom::FeedUserStatus::kEnabled));
   } else {
     sql.push_back("FROM mediaFeed");
 
@@ -773,4 +788,14 @@
   return statement.Run();
 }
 
+bool MediaHistoryFeedsTable::UpdateFeedUserStatus(
+    const int64_t feed_id,
+    media_feeds::mojom::FeedUserStatus status) {
+  sql::Statement statement(DB()->GetCachedStatement(
+      SQL_FROM_HERE, "UPDATE mediaFeed SET user_status = ? WHERE id = ?"));
+  statement.BindInt64(0, static_cast<int>(status));
+  statement.BindInt64(1, feed_id);
+  return statement.Run();
+}
+
 }  // namespace media_history
diff --git a/chrome/browser/media/history/media_history_feeds_table.h b/chrome/browser/media/history/media_history_feeds_table.h
index 3964c54..bc848aa 100644
--- a/chrome/browser/media/history/media_history_feeds_table.h
+++ b/chrome/browser/media/history/media_history_feeds_table.h
@@ -109,6 +109,10 @@
   // Stores the safe search result for |feed_id| and returns true if successful.
   bool StoreSafeSearchResult(int64_t feed_id,
                              media_feeds::mojom::SafeSearchResult result);
+
+  // Updates the user status and returns true if successful.
+  bool UpdateFeedUserStatus(const int64_t feed_id,
+                            media_feeds::mojom::FeedUserStatus status);
 };
 
 }  // namespace media_history
diff --git a/chrome/browser/media/history/media_history_keyed_service.cc b/chrome/browser/media/history/media_history_keyed_service.cc
index 4f5f5710..3c3a05a 100644
--- a/chrome/browser/media/history/media_history_keyed_service.cc
+++ b/chrome/browser/media/history/media_history_keyed_service.cc
@@ -418,6 +418,13 @@
   return request;
 }
 
+MediaHistoryKeyedService::GetMediaFeedsRequest
+MediaHistoryKeyedService::GetMediaFeedsRequest::CreateSelectedFeedsForFetch() {
+  GetMediaFeedsRequest request;
+  request.type = Type::kSelectedFeedsForFetch;
+  return request;
+}
+
 MediaHistoryKeyedService::GetMediaFeedsRequest::GetMediaFeedsRequest() =
     default;
 
@@ -516,6 +523,16 @@
   }
 }
 
+void MediaHistoryKeyedService::UpdateFeedUserStatus(
+    const int64_t feed_id,
+    media_feeds::mojom::FeedUserStatus status) {
+  if (auto* store = store_->GetForWrite()) {
+    store->db_task_runner_->PostTask(
+        FROM_HERE, base::BindOnce(&MediaHistoryStore::UpdateFeedUserStatus,
+                                  store, feed_id, status));
+  }
+}
+
 MediaHistoryKeyedService::MediaFeedFetchDetails::MediaFeedFetchDetails() =
     default;
 
diff --git a/chrome/browser/media/history/media_history_keyed_service.h b/chrome/browser/media/history/media_history_keyed_service.h
index 84c5a94..e7c3e54ba 100644
--- a/chrome/browser/media/history/media_history_keyed_service.h
+++ b/chrome/browser/media/history/media_history_keyed_service.h
@@ -247,7 +247,10 @@
       // Returns the top feeds to be displayed. These will be sorted by the
       // by audio+video watchtime descending and we will also populate the
       // |origin_audio_video_watchtime_percentile| field in |MediaFeedPtr|.
-      kTopFeedsForDisplay
+      kTopFeedsForDisplay,
+
+      // Returns the feeeds that have been selected by the user to be fetched.
+      kSelectedFeedsForFetch,
     };
 
     static GetMediaFeedsRequest CreateTopFeedsForFetch(
@@ -260,6 +263,8 @@
         bool fetched_items_min_should_be_safe,
         base::Optional<media_feeds::mojom::MediaFeedItemType> filter_by_type);
 
+    static GetMediaFeedsRequest CreateSelectedFeedsForFetch();
+
     GetMediaFeedsRequest();
     GetMediaFeedsRequest(const GetMediaFeedsRequest& t);
 
@@ -332,6 +337,10 @@
   void GetMediaFeedFetchDetails(const int64_t feed_id,
                                 GetMediaFeedFetchDetailsCallback callback);
 
+  // Updates the FeedUserStatus for a feed.
+  void UpdateFeedUserStatus(const int64_t feed_id,
+                            media_feeds::mojom::FeedUserStatus status);
+
  protected:
   friend class media_feeds::MediaFeedsService;
 
diff --git a/chrome/browser/media/history/media_history_store.cc b/chrome/browser/media/history/media_history_store.cc
index a139f14..96bad179 100644
--- a/chrome/browser/media/history/media_history_store.cc
+++ b/chrome/browser/media/history/media_history_store.cc
@@ -1196,4 +1196,26 @@
   return feeds_table_->GetFetchDetails(feed_id);
 }
 
+void MediaHistoryStore::UpdateFeedUserStatus(
+    const int64_t feed_id,
+    media_feeds::mojom::FeedUserStatus status) {
+  if (!CanAccessDatabase())
+    return;
+
+  if (!feeds_table_)
+    return;
+
+  if (!DB()->BeginTransaction()) {
+    DLOG(ERROR) << "Failed to begin the transaction.";
+    return;
+  }
+
+  if (!feeds_table_->UpdateFeedUserStatus(feed_id, status)) {
+    DB()->RollbackTransaction();
+    return;
+  }
+
+  DB()->CommitTransaction();
+}
+
 }  // namespace media_history
diff --git a/chrome/browser/media/history/media_history_store.h b/chrome/browser/media/history/media_history_store.h
index 71d00dc..dcfaa8c0 100644
--- a/chrome/browser/media/history/media_history_store.h
+++ b/chrome/browser/media/history/media_history_store.h
@@ -199,6 +199,9 @@
   base::Optional<MediaHistoryKeyedService::MediaFeedFetchDetails>
   GetMediaFeedFetchDetails(const int64_t feed_id);
 
+  void UpdateFeedUserStatus(const int64_t feed_id,
+                            media_feeds::mojom::FeedUserStatus status);
+
  private:
   friend class base::RefCountedThreadSafe<MediaHistoryStore>;
 
diff --git a/chrome/browser/media/history/media_history_store_unittest.cc b/chrome/browser/media/history/media_history_store_unittest.cc
index 0e53edf..2c9338e17 100644
--- a/chrome/browser/media/history/media_history_store_unittest.cc
+++ b/chrome/browser/media/history/media_history_store_unittest.cc
@@ -2957,6 +2957,40 @@
   }
 }
 
+TEST_P(MediaHistoryStoreFeedsTest, GetSelectedFeedsForFetch) {
+  const GURL feed_url_a("https://www.google.com/feed");
+  const GURL feed_url_b("https://www.google.co.uk/feed");
+  const GURL feed_url_c("https://www.google.co.tv/feed");
+
+  DiscoverMediaFeed(feed_url_a);
+  DiscoverMediaFeed(feed_url_b);
+  DiscoverMediaFeed(feed_url_c);
+  WaitForDB();
+
+  // If we are read only we should use -1 as a placeholder feed id because the
+  // feed will not have been stored. This is so we can run the rest of the test
+  // to ensure a no-op.
+  const int feed_id_a = IsReadOnly() ? -1 : GetMediaFeedsSync(service())[0]->id;
+  const int feed_id_b = IsReadOnly() ? -1 : GetMediaFeedsSync(service())[1]->id;
+
+  service()->UpdateFeedUserStatus(
+      feed_id_a, media_feeds::mojom::FeedUserStatus::kDisabled);
+  service()->UpdateFeedUserStatus(feed_id_b,
+                                  media_feeds::mojom::FeedUserStatus::kEnabled);
+  WaitForDB();
+
+  auto feeds = GetMediaFeedsSync(
+      service(), MediaHistoryKeyedService::GetMediaFeedsRequest::
+                     CreateSelectedFeedsForFetch());
+
+  if (IsReadOnly()) {
+    EXPECT_TRUE(feeds.empty());
+  } else {
+    ASSERT_EQ(1u, feeds.size());
+    EXPECT_EQ(feed_id_b, feeds[0]->id);
+  }
+}
+
 #endif  // !defined(OS_ANDROID)
 
 }  // namespace media_history
diff --git a/chrome/browser/media/kaleidoscope/kaleidoscope_data_provider_impl.cc b/chrome/browser/media/kaleidoscope/kaleidoscope_data_provider_impl.cc
index 19ccc53..76fcf2e 100644
--- a/chrome/browser/media/kaleidoscope/kaleidoscope_data_provider_impl.cc
+++ b/chrome/browser/media/kaleidoscope/kaleidoscope_data_provider_impl.cc
@@ -190,8 +190,15 @@
   prefs->SetBoolean(kaleidoscope::prefs::kKaleidoscopeAutoSelectMediaFeeds,
                     accepted_auto_select_media_feeds);
 
-  // TODO(b/154517281): Update the MediaFeeds service with the allowlisted
-  // feeds from |enabled_feed_ids| and |disabled_feed_ids|.
+  for (auto& feed_id : disabled_feed_ids) {
+    GetMediaHistoryService()->UpdateFeedUserStatus(
+        feed_id, media_feeds::mojom::FeedUserStatus::kDisabled);
+  }
+
+  for (auto& feed_id : enabled_feed_ids) {
+    GetMediaHistoryService()->UpdateFeedUserStatus(
+        feed_id, media_feeds::mojom::FeedUserStatus::kEnabled);
+  }
 }
 
 void KaleidoscopeDataProviderImpl::GetHighWatchTimeOrigins(
diff --git a/chrome/browser/media/router/BUILD.gn b/chrome/browser/media/router/BUILD.gn
index cbabb31a..7a41643 100644
--- a/chrome/browser/media/router/BUILD.gn
+++ b/chrome/browser/media/router/BUILD.gn
@@ -84,6 +84,9 @@
       "//components/paint_preview/buildflags",
       "//components/signin/public/base:signin_buildflags",
       "//components/translate/content/common",
+      "//extensions/browser",
+      "//extensions/buildflags",
+      "//extensions/common",
       "//mojo/public/cpp/bindings",
       "//ui/base:buildflags",
     ]
diff --git a/chrome/browser/media/router/media_router_metrics.cc b/chrome/browser/media/router/media_router_metrics.cc
index 275b66d9..01016e8 100644
--- a/chrome/browser/media/router/media_router_metrics.cc
+++ b/chrome/browser/media/router/media_router_metrics.cc
@@ -11,8 +11,9 @@
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_util.h"
 #include "base/time/default_clock.h"
+#include "chrome/common/media_router/media_route_provider_helper.h"
 #include "chrome/common/media_router/media_sink.h"
-#include "chrome/common/media_router/media_source.h"
+#include "extensions/common/constants.h"
 #include "url/gurl.h"
 #include "url/url_constants.h"
 
@@ -176,6 +177,8 @@
     "MediaRouter.Ui.FirstAction";
 const char MediaRouterMetrics::kHistogramUiIconStateAtInit[] =
     "MediaRouter.Ui.IconStateAtInit";
+constexpr char kHistogramPresentationRequestUrlBySink[] =
+    "MediaRouter.PresentationRequest.UrlBySink";
 
 // static
 void MediaRouterMetrics::RecordMediaRouterDialogOrigin(
@@ -338,4 +341,42 @@
                                        is_icon_pinned));
 }
 
+void MediaRouterMetrics::RecordPresentationRequestUrlBySink(
+    const MediaSource& source,
+    MediaRouteProviderId provider_id) {
+  PresentationUrlBySink value = PresentationUrlBySink::kUnknown;
+  // URLs that can be rendered in offscreen tabs (for cloud or Chromecast
+  // sinks), or on a wired display.
+  bool is_normal_url = source.url().SchemeIs(url::kHttpsScheme) ||
+                       source.url().SchemeIs(extensions::kExtensionScheme) ||
+                       source.url().SchemeIs(url::kFileScheme);
+  switch (provider_id) {
+    case MediaRouteProviderId::EXTENSION:
+      if (is_normal_url) {
+        value = PresentationUrlBySink::kNormalUrlToExtension;
+      }
+      break;
+    case MediaRouteProviderId::WIRED_DISPLAY:
+      if (is_normal_url) {
+        value = PresentationUrlBySink::kNormalUrlToWiredDisplay;
+      }
+      break;
+    case MediaRouteProviderId::CAST:
+      if (source.IsCastPresentationUrl()) {
+        value = PresentationUrlBySink::kCastUrlToChromecast;
+      } else if (is_normal_url) {
+        value = PresentationUrlBySink::kNormalUrlToChromecast;
+      }
+      break;
+    case MediaRouteProviderId::DIAL:
+      if (source.IsDialSource()) {
+        value = PresentationUrlBySink::kDialUrlToDial;
+      }
+      break;
+    case MediaRouteProviderId::UNKNOWN:
+      break;
+  }
+  base::UmaHistogramEnumeration(kHistogramPresentationRequestUrlBySink, value);
+}
+
 }  // namespace media_router
diff --git a/chrome/browser/media/router/media_router_metrics.h b/chrome/browser/media/router/media_router_metrics.h
index 9969723..4bd5965 100644
--- a/chrome/browser/media/router/media_router_metrics.h
+++ b/chrome/browser/media/router/media_router_metrics.h
@@ -12,6 +12,7 @@
 #include "chrome/browser/media/router/discovery/dial/dial_app_discovery_service.h"
 #include "chrome/browser/media/router/discovery/dial/safe_dial_device_description_parser.h"
 #include "chrome/browser/ui/media_router/media_cast_mode.h"
+#include "chrome/common/media_router/media_source.h"
 #include "media/base/container_names.h"
 
 class GURL;
@@ -19,6 +20,7 @@
 namespace media_router {
 
 enum class SinkIconType;
+enum MediaRouteProviderId;
 
 // NOTE: Do not renumber enums as that would confuse interpretation of
 // previously logged data. When making changes, also update the enum list
@@ -112,6 +114,23 @@
   kPresentationUrlTypeCount
 };
 
+// Records the possible ways a Presentation URL can be used to start a
+// presentation, both by the kind of URL and the type of the sink the URL will
+// be presented on.  "Normal" (https:, file:, or chrome-extension:) URLs are
+// typically implemented by loading them into an offscreen tab for streaming,
+// while Cast and DIAL URLs are sent directly to a compatible device.
+enum class PresentationUrlBySink {
+  kUnknown = 0,
+  kNormalUrlToChromecast = 1,
+  kNormalUrlToExtension = 2,
+  kNormalUrlToWiredDisplay = 3,
+  kCastUrlToChromecast = 4,
+  kDialUrlToDial = 5,
+  // Add new values immediately above this line.  Also update kMaxValue below
+  // and the enum of the same name in tools/metrics/histograms/enums.xml.
+  kMaxValue = kDialUrlToDial,
+};
+
 class MediaRouterMetrics {
  public:
   MediaRouterMetrics();
@@ -231,6 +250,11 @@
       MediaRouterDialogOpenOrigin activation_location,
       MediaCastMode cast_mode,
       bool is_icon_pinned);
+
+  // Records the type of Presentation URL and sink used to create a media route.
+  static void RecordPresentationRequestUrlBySink(
+      const MediaSource& source,
+      MediaRouteProviderId provider_id);
 };
 
 }  // namespace media_router
diff --git a/chrome/browser/media/router/media_router_metrics_unittest.cc b/chrome/browser/media/router/media_router_metrics_unittest.cc
index d8560bf..48ac2ad4 100644
--- a/chrome/browser/media/router/media_router_metrics_unittest.cc
+++ b/chrome/browser/media/router/media_router_metrics_unittest.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/macros.h"
 #include "base/metrics/histogram_macros.h"
+#include "base/strings/strcat.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/simple_test_clock.h"
 #include "base/time/time.h"
@@ -297,4 +298,43 @@
       MediaRouterMetrics::kHistogramCloudPrefAtInit);
 }
 
+TEST(MediaRouterMetricsTest, RecordPresentationRequestUrlBySink) {
+  MediaSource cast_source("cast:ABCD1234");
+  MediaSource dial_source(
+      GURL(base::StrCat({kCastDialPresentationUrlScheme, ":YouTube"})));
+  MediaSource presentation_url(GURL("https://www.example.com"));
+
+  base::HistogramTester tester;
+  MediaRouterMetrics::RecordPresentationRequestUrlBySink(
+      cast_source, MediaRouteProviderId::CAST);
+  MediaRouterMetrics::RecordPresentationRequestUrlBySink(
+      dial_source, MediaRouteProviderId::DIAL);
+  MediaRouterMetrics::RecordPresentationRequestUrlBySink(
+      presentation_url, MediaRouteProviderId::CAST);
+  MediaRouterMetrics::RecordPresentationRequestUrlBySink(
+      presentation_url, MediaRouteProviderId::WIRED_DISPLAY);
+  MediaRouterMetrics::RecordPresentationRequestUrlBySink(
+      presentation_url, MediaRouteProviderId::EXTENSION);
+  // DIAL devices don't support normal URLs, so this will get logged as
+  // kUnknown.
+  MediaRouterMetrics::RecordPresentationRequestUrlBySink(
+      presentation_url, MediaRouteProviderId::DIAL);
+
+  EXPECT_THAT(
+      tester.GetAllSamples("MediaRouter.PresentationRequest.UrlBySink"),
+      testing::UnorderedElementsAre(
+          Bucket(static_cast<int>(PresentationUrlBySink::kUnknown), 1),
+          Bucket(
+              static_cast<int>(PresentationUrlBySink::kNormalUrlToChromecast),
+              1),
+          Bucket(static_cast<int>(PresentationUrlBySink::kNormalUrlToExtension),
+                 1),
+          Bucket(
+              static_cast<int>(PresentationUrlBySink::kNormalUrlToWiredDisplay),
+              1),
+          Bucket(static_cast<int>(PresentationUrlBySink::kCastUrlToChromecast),
+                 1),
+          Bucket(static_cast<int>(PresentationUrlBySink::kDialUrlToDial), 1)));
+}
+
 }  // namespace media_router
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_impl.cc b/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
index 66509f2c..cfd475b9 100644
--- a/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
+++ b/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
@@ -305,6 +305,11 @@
 
   MediaRouterMetrics::RecordMediaSinkType(sink->icon_type());
   const MediaRouteProviderId provider_id = FixProviderId(sink->provider_id());
+  // Record which of the possible ways the sink may render the source's
+  // presentation URL (if it has one).
+  if (source.url().is_valid()) {
+    MediaRouterMetrics::RecordPresentationRequestUrlBySink(source, provider_id);
+  }
 
   const std::string presentation_id = MediaRouterBase::CreatePresentationId();
   auto mr_callback = base::BindOnce(
diff --git a/chrome/browser/metrics/ambient_mode_metrics_provider.cc b/chrome/browser/metrics/ambient_mode_metrics_provider.cc
new file mode 100644
index 0000000..1bde47db
--- /dev/null
+++ b/chrome/browser/metrics/ambient_mode_metrics_provider.cc
@@ -0,0 +1,28 @@
+// 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/metrics/ambient_mode_metrics_provider.h"
+
+#include "ash/public/cpp/ambient/ambient_client.h"
+#include "ash/public/cpp/ambient/ambient_prefs.h"
+#include "base/metrics/histogram_functions.h"
+#include "chrome/browser/profiles/profile_manager.h"
+#include "chromeos/constants/chromeos_features.h"
+#include "components/prefs/pref_service.h"
+
+AmbientModeMetricsProvider::AmbientModeMetricsProvider() = default;
+AmbientModeMetricsProvider::~AmbientModeMetricsProvider() = default;
+
+void AmbientModeMetricsProvider::ProvideCurrentSessionData(
+    metrics::ChromeUserMetricsExtension* uma_proto_unused) {
+  if (!chromeos::features::IsAmbientModeEnabled() ||
+      !ash::AmbientClient::Get()->IsAmbientModeAllowed()) {
+    return;
+  }
+
+  base::UmaHistogramBoolean(
+      "Ash.AmbientMode.Enabled",
+      ProfileManager::GetActiveUserProfile()->GetPrefs()->GetBoolean(
+          ash::ambient::prefs::kAmbientModeEnabled));
+}
diff --git a/chrome/browser/metrics/ambient_mode_metrics_provider.h b/chrome/browser/metrics/ambient_mode_metrics_provider.h
new file mode 100644
index 0000000..ccfac81
--- /dev/null
+++ b/chrome/browser/metrics/ambient_mode_metrics_provider.h
@@ -0,0 +1,25 @@
+// 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_METRICS_AMBIENT_MODE_METRICS_PROVIDER_H_
+#define CHROME_BROWSER_METRICS_AMBIENT_MODE_METRICS_PROVIDER_H_
+
+#include "components/metrics/metrics_provider.h"
+
+class AmbientModeMetricsProvider : public metrics::MetricsProvider {
+ public:
+  AmbientModeMetricsProvider();
+
+  AmbientModeMetricsProvider(const AmbientModeMetricsProvider&) = delete;
+  AmbientModeMetricsProvider& operator=(const AmbientModeMetricsProvider&) =
+      delete;
+
+  ~AmbientModeMetricsProvider() override;
+
+  // metrics::MetricsProvider:
+  void ProvideCurrentSessionData(
+      metrics::ChromeUserMetricsExtension* uma_proto_unused) override;
+};
+
+#endif  // CHROME_BROWSER_METRICS_AMBIENT_MODE_METRICS_PROVIDER_H_
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc
index 2b457973..6d8e12c8 100644
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -145,9 +145,9 @@
 #if defined(OS_CHROMEOS)
 #include "chrome/browser/chromeos/printing/printer_metrics_provider.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "chrome/browser/metrics/ambient_mode_metrics_provider.h"
 #include "chrome/browser/metrics/assistant_service_metrics_provider.h"
 #include "chrome/browser/metrics/chromeos_metrics_provider.h"
-#include "chrome/browser/metrics/cros_healthd_metrics_provider.h"
 #include "chrome/browser/signin/signin_status_metrics_provider_chromeos.h"
 #include "components/metrics/structured/structured_metrics_provider.h"
 #endif
@@ -709,9 +709,6 @@
           metrics::MetricsLogUploader::UMA));
 
   metrics_service_->RegisterMetricsProvider(
-      std::make_unique<CrosHealthdMetricsProvider>());
-
-  metrics_service_->RegisterMetricsProvider(
       std::make_unique<SigninStatusMetricsProviderChromeOS>());
 
   // Record default UMA state as opt-out for all Chrome OS users, if not
@@ -730,6 +727,9 @@
 
   metrics_service_->RegisterMetricsProvider(
       std::make_unique<AssistantServiceMetricsProvider>());
+
+  metrics_service_->RegisterMetricsProvider(
+      std::make_unique<AmbientModeMetricsProvider>());
 #endif  // defined(OS_CHROMEOS)
 
 #if !defined(OS_CHROMEOS)
diff --git a/chrome/browser/metrics/chrome_metrics_service_client_unittest.cc b/chrome/browser/metrics/chrome_metrics_service_client_unittest.cc
index 8416f76..df9b3c9 100644
--- a/chrome/browser/metrics/chrome_metrics_service_client_unittest.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client_unittest.cc
@@ -176,9 +176,10 @@
 #endif  // BUILDFLAG(ENABLE_PLUGINS)
 
 #if defined(OS_CHROMEOS)
-  // AssistantServiceMetricsProvider, CrosHealthdMetricsProvider,
-  // ChromeOSMetricsProvider, SigninStatusMetricsProviderChromeOS,
-  // PrinterMetricsProvider, and HashedLoggingMetricsProvider.
+  // AmbientModeMetricsProvider, AssistantServiceMetricsProvider,
+  // ChromeOSMetricsProvider,
+  // SigninStatusMetricsProviderChromeOS, PrinterMetricsProvider, and
+  // HashedLoggingMetricsProvider.
   expected_providers += 6;
 #endif  // defined(OS_CHROMEOS)
 
diff --git a/chrome/browser/nearby_sharing/constants.h b/chrome/browser/nearby_sharing/constants.h
index 01086d34..5c4bd38 100644
--- a/chrome/browser/nearby_sharing/constants.h
+++ b/chrome/browser/nearby_sharing/constants.h
@@ -24,4 +24,12 @@
 constexpr base::TimeDelta kInvalidateDelay =
     base::TimeDelta::FromMilliseconds(500);
 
+// Time between successive progress updates.
+constexpr base::TimeDelta kMinProgressUpdateFrequency =
+    base::TimeDelta::FromMilliseconds(100);
+
+// If total size of all attachments is larger than this limit, online share will
+// be disabled even if it would be allowed by the user.
+constexpr int64_t kOnlineFileSizeLimitBytes = 25 * 1024 * 1024;  // 25MB
+
 #endif  // CHROME_BROWSER_NEARBY_SHARING_CONSTANTS_H_
diff --git a/chrome/browser/nearby_sharing/fake_nearby_connections_manager.cc b/chrome/browser/nearby_sharing/fake_nearby_connections_manager.cc
index 46d56523..b1d1b4d 100644
--- a/chrome/browser/nearby_sharing/fake_nearby_connections_manager.cc
+++ b/chrome/browser/nearby_sharing/fake_nearby_connections_manager.cc
@@ -28,7 +28,7 @@
 
 void FakeNearbyConnectionsManager::StopAdvertising() {
   DCHECK(IsAdvertising());
-  DCHECK(!IsShutdown());
+  DCHECK(!is_shutdown());
   advertising_listener_ = nullptr;
   advertising_data_usage_ = DataUsage::kUnknown;
   advertising_power_level_ = PowerLevel::kUnknown;
@@ -44,7 +44,7 @@
 
 void FakeNearbyConnectionsManager::StopDiscovery() {
   DCHECK(IsDiscovering());
-  DCHECK(!IsShutdown());
+  DCHECK(!is_shutdown());
   discovery_listener_ = nullptr;
   // TODO(alexchau): Implement.
 }
@@ -55,26 +55,28 @@
     base::Optional<std::vector<uint8_t>> bluetooth_mac_address,
     DataUsage data_usage,
     NearbyConnectionCallback callback) {
-  DCHECK(!IsShutdown());
-  // TODO(alexchau): Implement.
+  DCHECK(!is_shutdown());
+  connected_data_usage_ = data_usage;
+  std::move(callback).Run(connection_);
 }
 
 void FakeNearbyConnectionsManager::Disconnect(const std::string& endpoint_id) {
-  DCHECK(!IsShutdown());
+  DCHECK(!is_shutdown());
   // TODO(alexchau): Implement.
 }
 
 void FakeNearbyConnectionsManager::Send(const std::string& endpoint_id,
                                         PayloadPtr payload,
                                         PayloadStatusListener* listener) {
-  DCHECK(!IsShutdown());
-  // TODO(alexchau): Implement.
+  DCHECK(!is_shutdown());
+  if (send_payload_callback_)
+    send_payload_callback_.Run(std::move(payload));
 }
 
 void FakeNearbyConnectionsManager::RegisterPayloadStatusListener(
     int64_t payload_id,
     PayloadStatusListener* listener) {
-  DCHECK(!IsShutdown());
+  DCHECK(!is_shutdown());
   // TODO(alexchau): Implement.
 }
 
@@ -82,31 +84,31 @@
     int64_t payload_id,
     const base::FilePath& file_path,
     ConnectionsCallback callback) {
-  DCHECK(!IsShutdown());
+  DCHECK(!is_shutdown());
   // TODO(alexchau): Implement.
 }
 
 FakeNearbyConnectionsManager::Payload*
 FakeNearbyConnectionsManager::GetIncomingPayload(int64_t payload_id) {
-  DCHECK(!IsShutdown());
+  DCHECK(!is_shutdown());
   // TODO(alexchau): Implement.
   return nullptr;
 }
 
 void FakeNearbyConnectionsManager::Cancel(int64_t payload_id) {
-  DCHECK(!IsShutdown());
+  DCHECK(!is_shutdown());
   // TODO(alexchau): Implement.
 }
 
 void FakeNearbyConnectionsManager::ClearIncomingPayloads() {
-  DCHECK(!IsShutdown());
+  DCHECK(!is_shutdown());
   // TODO(alexchau): Implement.
 }
 
 base::Optional<std::vector<uint8_t>>
 FakeNearbyConnectionsManager::GetRawAuthenticationToken(
     const std::string& endpoint_id) {
-  DCHECK(!IsShutdown());
+  DCHECK(!is_shutdown());
 
   auto iter = endpoint_auth_tokens_.find(endpoint_id);
   if (iter != endpoint_auth_tokens_.end())
@@ -143,27 +145,16 @@
   discovery_listener_->OnEndpointLost(endpoint_id);
 }
 
-bool FakeNearbyConnectionsManager::IsAdvertising() {
+bool FakeNearbyConnectionsManager::IsAdvertising() const {
   return advertising_listener_ != nullptr;
 }
 
-bool FakeNearbyConnectionsManager::IsDiscovering() {
+bool FakeNearbyConnectionsManager::IsDiscovering() const {
   return discovery_listener_ != nullptr;
 }
 
-bool FakeNearbyConnectionsManager::IsShutdown() {
-  return is_shutdown_;
-}
-
-DataUsage FakeNearbyConnectionsManager::GetAdvertisingDataUsage() {
-  return advertising_data_usage_;
-}
-
-PowerLevel FakeNearbyConnectionsManager::GetAdvertisingPowerLevel() {
-  return advertising_power_level_;
-}
-
 bool FakeNearbyConnectionsManager::DidUpgradeBandwidth(
-    const std::string& endpoint_id) {
-  return (upgrade_bandwidth_endpoint_ids_.count(endpoint_id) > 0);
+    const std::string& endpoint_id) const {
+  return upgrade_bandwidth_endpoint_ids_.find(endpoint_id) !=
+         upgrade_bandwidth_endpoint_ids_.end();
 }
diff --git a/chrome/browser/nearby_sharing/fake_nearby_connections_manager.h b/chrome/browser/nearby_sharing/fake_nearby_connections_manager.h
index ed25f32..ef12bde 100644
--- a/chrome/browser/nearby_sharing/fake_nearby_connections_manager.h
+++ b/chrome/browser/nearby_sharing/fake_nearby_connections_manager.h
@@ -11,9 +11,12 @@
 #include <utility>
 #include <vector>
 
+#include "base/callback.h"
 #include "chrome/browser/nearby_sharing/nearby_connections_manager.h"
 #include "chrome/services/sharing/public/mojom/nearby_connections.mojom.h"
 
+class NearbyConnection;
+
 // Fake NearbyConnectionsManager for testing.
 class FakeNearbyConnectionsManager
     : public NearbyConnectionsManager,
@@ -65,12 +68,23 @@
   void OnEndpointLost(const std::string& endpoint_id) override;
 
   // Testing methods
-  bool IsAdvertising();
-  bool IsDiscovering();
-  bool IsShutdown();
-  DataUsage GetAdvertisingDataUsage();
-  PowerLevel GetAdvertisingPowerLevel();
-  bool DidUpgradeBandwidth(const std::string& endpoint_id);
+  bool IsAdvertising() const;
+  bool IsDiscovering() const;
+  bool DidUpgradeBandwidth(const std::string& endpoint_id) const;
+
+  bool is_shutdown() const { return is_shutdown_; }
+  DataUsage advertising_data_usage() const { return advertising_data_usage_; }
+  PowerLevel advertising_power_level() const {
+    return advertising_power_level_;
+  }
+  void set_nearby_connection(NearbyConnection* connection) {
+    connection_ = connection;
+  }
+  DataUsage connected_data_usage() const { return connected_data_usage_; }
+  void set_send_payload_callback(
+      base::RepeatingCallback<void(PayloadPtr payload)> callback) {
+    send_payload_callback_ = std::move(callback);
+  }
 
  private:
   IncomingConnectionListener* advertising_listener_ = nullptr;
@@ -80,6 +94,9 @@
   PowerLevel advertising_power_level_ = PowerLevel::kUnknown;
   std::set<std::string> upgrade_bandwidth_endpoint_ids_;
   std::map<std::string, std::vector<uint8_t>> endpoint_auth_tokens_;
+  NearbyConnection* connection_ = nullptr;
+  DataUsage connected_data_usage_ = DataUsage::kUnknown;
+  base::RepeatingCallback<void(PayloadPtr payload)> send_payload_callback_;
 };
 
 #endif  // CHROME_BROWSER_NEARBY_SHARING_FAKE_NEARBY_CONNECTIONS_MANAGER_H_
diff --git a/chrome/browser/nearby_sharing/logging/logging.h b/chrome/browser/nearby_sharing/logging/logging.h
index 36b3a3b9..a4c28c8c 100644
--- a/chrome/browser/nearby_sharing/logging/logging.h
+++ b/chrome/browser/nearby_sharing/logging/logging.h
@@ -1,3 +1,7 @@
+// 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_NEARBY_SHARING_LOGGING_LOGGING_H_
 #define CHROME_BROWSER_NEARBY_SHARING_LOGGING_LOGGING_H_
 
@@ -7,7 +11,7 @@
 
 // Use the NS_LOG() macro for all logging related to Nearby Sharing so the debug
 // page can reflect all logs related to this feature in the internal debug WebUI
-// (chrome://nearby-sharing-internals).
+// (chrome://nearby-internals).
 #define NS_LOG(severity) \
   ScopedLogMessage(__FILE__, __LINE__, logging::LOG_##severity).stream()
 
diff --git a/chrome/browser/nearby_sharing/mock_nearby_sharing_service.h b/chrome/browser/nearby_sharing/mock_nearby_sharing_service.h
index 7425b305..4c19f85c 100644
--- a/chrome/browser/nearby_sharing/mock_nearby_sharing_service.h
+++ b/chrome/browser/nearby_sharing/mock_nearby_sharing_service.h
@@ -32,15 +32,13 @@
               UnregisterReceiveSurface,
               (TransferUpdateCallback*),
               (override));
-  MOCK_METHOD(void,
+  MOCK_METHOD(StatusCodes,
               SendText,
-              (const ShareTarget&, std::string, StatusCodesCallback),
+              (const ShareTarget&, std::string),
               (override));
-  MOCK_METHOD(void,
+  MOCK_METHOD(StatusCodes,
               SendFiles,
-              (const ShareTarget&,
-               const std::vector<base::FilePath>&,
-               StatusCodesCallback),
+              (const ShareTarget&, const std::vector<base::FilePath>&),
               (override));
   MOCK_METHOD(void,
               Accept,
diff --git a/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager.cc b/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager.cc
index 89f68fa..91cde05b 100644
--- a/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager.cc
+++ b/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager.cc
@@ -106,14 +106,9 @@
 
   select_share_target_callback_ = std::move(callback);
   // TODO(crbug.com/1099710): Call correct method and pass attachments.
-  nearby_sharing_service_->SendText(
-      iter->second, "Example Text",
-      base::BindOnce(&NearbyPerSessionDiscoveryManager::OnSend,
-                     weak_ptr_factory_.GetWeakPtr()));
-}
+  NearbySharingService::StatusCodes status =
+      nearby_sharing_service_->SendText(iter->second, "Example Text");
 
-void NearbyPerSessionDiscoveryManager::OnSend(
-    NearbySharingService::StatusCodes status) {
   // Nothing to do if the result has been returned already.
   if (!select_share_target_callback_)
     return;
diff --git a/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager.h b/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager.h
index b26bf19f..bee8e7c 100644
--- a/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager.h
+++ b/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager.h
@@ -43,11 +43,6 @@
                          SelectShareTargetCallback callback) override;
 
  private:
-  // Called as a result of NearbySharingService::Send() to indicate if the
-  // transfer has been initiated successfully. OnTransferUpdate() will be called
-  // multiple times as the transfer progresses.
-  void OnSend(NearbySharingService::StatusCodes status);
-
   // Unregisters this class from the NearbySharingService.
   void UnregisterSendSurface();
 
diff --git a/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager_unittest.cc b/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager_unittest.cc
index e6ba17b0..30e80ed 100644
--- a/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager_unittest.cc
+++ b/chrome/browser/nearby_sharing/nearby_per_session_discovery_manager_unittest.cc
@@ -177,12 +177,11 @@
   EXPECT_CALL(callback, Run(_, _, _)).Times(0);
 
   // TODO(crbug.com/1099710): Call correct method and pass attachments.
-  EXPECT_CALL(sharing_service(), SendText(_, _, _))
+  EXPECT_CALL(sharing_service(), SendText(_, _))
       .WillOnce(testing::Invoke(
-          [&share_target](const ShareTarget& target, std::string text,
-                          NearbySharingService::StatusCodesCallback callback) {
+          [&share_target](const ShareTarget& target, std::string text) {
             EXPECT_EQ(share_target.id, target.id);
-            std::move(callback).Run(NearbySharingService::StatusCodes::kOk);
+            return NearbySharingService::StatusCodes::kOk;
           }));
 
   manager().SelectShareTarget(share_target.id, callback.Get());
@@ -206,12 +205,11 @@
                   testing::Eq(base::nullopt), testing::IsFalse()));
 
   // TODO(crbug.com/1099710): Call correct method and pass attachments.
-  EXPECT_CALL(sharing_service(), SendText(_, _, _))
+  EXPECT_CALL(sharing_service(), SendText(_, _))
       .WillOnce(testing::Invoke(
-          [&share_target](const ShareTarget& target, std::string text,
-                          NearbySharingService::StatusCodesCallback callback) {
+          [&share_target](const ShareTarget& target, std::string text) {
             EXPECT_EQ(share_target.id, target.id);
-            std::move(callback).Run(NearbySharingService::StatusCodes::kError);
+            return NearbySharingService::StatusCodes::kError;
           }));
 
   manager().SelectShareTarget(share_target.id, callback.Get());
@@ -233,6 +231,10 @@
   EXPECT_CALL(callback, Run(nearby_share::mojom::SelectShareTargetResult::kOk,
                             testing::Eq(base::nullopt), testing::IsFalse()));
 
+  // TODO(crbug.com/1099710): Call correct method and pass attachments.
+  EXPECT_CALL(sharing_service(), SendText(_, _))
+      .WillOnce(testing::Return(NearbySharingService::StatusCodes::kOk));
+
   manager().SelectShareTarget(share_target.id, callback.Get());
 
   auto metadata =
@@ -260,6 +262,10 @@
   EXPECT_CALL(callback, Run(nearby_share::mojom::SelectShareTargetResult::kOk,
                             testing::Eq(token), testing::IsTrue()));
 
+  // TODO(crbug.com/1099710): Call correct method and pass attachments.
+  EXPECT_CALL(sharing_service(), SendText(_, _))
+      .WillOnce(testing::Return(NearbySharingService::StatusCodes::kOk));
+
   manager().SelectShareTarget(share_target.id, callback.Get());
 
   auto metadata =
diff --git a/chrome/browser/nearby_sharing/nearby_sharing_service.h b/chrome/browser/nearby_sharing/nearby_sharing_service.h
index f897f4819..3e17452 100644
--- a/chrome/browser/nearby_sharing/nearby_sharing_service.h
+++ b/chrome/browser/nearby_sharing/nearby_sharing_service.h
@@ -88,14 +88,12 @@
       TransferUpdateCallback* transfer_callback) = 0;
 
   // Sends text to the remote |share_target|.
-  virtual void SendText(const ShareTarget& share_target,
-                        std::string text,
-                        StatusCodesCallback status_codes_callback) = 0;
+  virtual StatusCodes SendText(const ShareTarget& share_target,
+                               std::string text) = 0;
 
   // Sends files to the remote |share_target|.
-  virtual void SendFiles(const ShareTarget& share_target,
-                         const std::vector<base::FilePath>& files,
-                         StatusCodesCallback status_codes_callback) = 0;
+  virtual StatusCodes SendFiles(const ShareTarget& share_target,
+                                const std::vector<base::FilePath>& files) = 0;
 
   // Accepts incoming share from the remote |share_target|.
   virtual void Accept(const ShareTarget& share_target,
diff --git a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc
index c9dc27d..4dc7549 100644
--- a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc
+++ b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc
@@ -7,6 +7,7 @@
 #include <utility>
 
 #include "base/bind.h"
+#include "base/files/file.h"
 #include "base/logging.h"
 #include "base/numerics/checked_math.h"
 #include "base/strings/stringprintf.h"
@@ -30,10 +31,12 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/services/sharing/public/cpp/advertisement.h"
+#include "chrome/services/sharing/public/cpp/conversions.h"
 #include "chrome/services/sharing/public/mojom/nearby_connections_types.mojom.h"
 #include "components/prefs/pref_service.h"
 #include "content/public/browser/download_manager.h"
 #include "content/public/browser/storage_partition.h"
+#include "crypto/random.h"
 #include "device/bluetooth/bluetooth_adapter_factory.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 #include "ui/base/idle/idle.h"
@@ -96,10 +99,14 @@
   return std::string(certificate->id().begin(), certificate->id().end());
 }
 
-std::string ToFourDigitString(const std::vector<uint8_t>& bytes) {
+base::Optional<std::string> ToFourDigitString(
+    const base::Optional<std::vector<uint8_t>>& bytes) {
+  if (!bytes)
+    return base::nullopt;
+
   int hash = 0;
   int multiplier = 1;
-  for (auto byte : bytes) {
+  for (uint8_t byte : *bytes) {
     hash = (hash + byte * multiplier) % kHashModulo;
     multiplier = (multiplier * kHashBaseMultiplier) % kHashModulo;
   }
@@ -112,6 +119,42 @@
   return free_space < storage_required;
 }
 
+bool DoAttachmentsExceedThreshold(const ShareTarget& share_target,
+                                  int64_t threshold) {
+  for (const auto& attachment : share_target.text_attachments) {
+    if (attachment.size() > threshold)
+      return false;
+
+    threshold -= attachment.size();
+  }
+
+  for (const auto& attachment : share_target.file_attachments) {
+    if (attachment.size() > threshold)
+      return false;
+
+    threshold -= attachment.size();
+  }
+
+  return true;
+}
+
+DataUsage CheckFileSizeForDataUsagePreference(DataUsage client_preference,
+                                              const ShareTarget& share_target) {
+  if (client_preference == DataUsage::kOffline)
+    return client_preference;
+
+  if (DoAttachmentsExceedThreshold(share_target, kOnlineFileSizeLimitBytes))
+    return DataUsage::kOffline;
+
+  return client_preference;
+}
+
+int64_t GeneratePayloadId() {
+  int64_t payload_id = 0;
+  crypto::RandBytes(&payload_id, sizeof(payload_id));
+  return payload_id;
+}
+
 }  // namespace
 
 NearbySharingServiceImpl::NearbySharingServiceImpl(
@@ -295,6 +338,15 @@
     return StatusCodes::kError;
   }
 
+  if (is_sending_files_) {
+    UnregisterReceiveSurface(transfer_callback);
+    NS_LOG(VERBOSE)
+        << __func__
+        << ": Ignore registering (and unregistering if registered) receive "
+           "surface, because we're currently sending files.";
+    return StatusCodes::kTransferAlreadyInProgress;
+  }
+
   if (foreground_receive_callbacks_.HasObserver(transfer_callback) ||
       background_receive_callbacks_.HasObserver(transfer_callback)) {
     NS_LOG(VERBOSE) << __func__
@@ -371,18 +423,27 @@
   return StatusCodes::kOk;
 }
 
-void NearbySharingServiceImpl::NearbySharingServiceImpl::SendText(
+NearbySharingServiceImpl::StatusCodes NearbySharingServiceImpl::SendText(
     const ShareTarget& share_target,
-    std::string text,
-    StatusCodesCallback status_codes_callback) {
-  std::move(status_codes_callback).Run(StatusCodes::kOk);
+    std::string text) {
+  ShareTarget share_target_copy = share_target;
+  share_target_copy.text_attachments.emplace_back(TextAttachment::Type::kText,
+                                                  text);
+  return SendAttachments(share_target_copy);
 }
 
-void NearbySharingServiceImpl::SendFiles(
+NearbySharingServiceImpl::StatusCodes NearbySharingServiceImpl::SendFiles(
     const ShareTarget& share_target,
-    const std::vector<base::FilePath>& files,
-    StatusCodesCallback status_codes_callback) {
-  std::move(status_codes_callback).Run(StatusCodes::kOk);
+    const std::vector<base::FilePath>& files) {
+  ShareTarget share_target_copy = share_target;
+  for (const base::FilePath& file_path : files) {
+    // TODO(crbug.com/1085067): Get proper file name, size, type and mime type.
+    share_target_copy.file_attachments.emplace_back(
+        /*file_name=*/std::string(), FileAttachment::Type::kUnknown,
+        /*size=*/0, file_path,
+        /*mime_type=*/std::string());
+  }
+  return SendAttachments(share_target_copy);
 }
 
 void NearbySharingServiceImpl::Accept(
@@ -1142,6 +1203,38 @@
   }
 }
 
+void NearbySharingServiceImpl::OnOutgoingTransferUpdate(
+    const ShareTarget& share_target,
+    TransferMetadata metadata) {
+  if (metadata.is_final_status()) {
+    is_connecting_ = false;
+    OnTransferComplete();
+  } else if (metadata.status() == TransferMetadata::Status::kMediaDownloading ||
+             metadata.status() ==
+                 TransferMetadata::Status::kAwaitingLocalConfirmation) {
+    is_connecting_ = false;
+    OnTransferStarted(/*is_incoming=*/false);
+  }
+
+  bool has_foreground_send_surface =
+      foreground_send_transfer_callbacks_.might_have_observers();
+  base::ObserverList<TransferUpdateCallback>& transfer_callbacks =
+      has_foreground_send_surface ? foreground_send_transfer_callbacks_
+                                  : background_send_transfer_callbacks_;
+
+  for (TransferUpdateCallback& callback : transfer_callbacks)
+    callback.OnTransferUpdate(share_target, metadata);
+
+  if (has_foreground_send_surface && metadata.is_final_status()) {
+    last_outgoing_metadata_ = base::nullopt;
+  } else {
+    last_outgoing_metadata_ =
+        std::make_pair(share_target, TransferMetadataBuilder::Clone(metadata)
+                                         .set_is_original(false)
+                                         .build());
+  }
+}
+
 void NearbySharingServiceImpl::OnTransferComplete() {
   is_receiving_files_ = false;
   is_transferring_ = false;
@@ -1149,9 +1242,14 @@
 
   NS_LOG(VERBOSE) << __func__
                   << ": NearbySharing state change transfer finished";
-  // TODO(himanshujaju) - Check if we need to delay InvalidateSurfaceState()
-  // similar to GmsCore impl.
-  InvalidateSurfaceState();
+  // TODO(himanshujaju): Check if we need to delay InvalidateSurfaceState() for
+  // 500ms similar to GmsCore impl.
+  // Post a task as InvalidateSurfaceState() might invalidate ShareTargetInfo
+  // object that are still in use.
+  base::SequencedTaskRunnerHandle::Get()->PostTask(
+      FROM_HERE,
+      base::BindOnce(&NearbySharingServiceImpl::InvalidateSurfaceState,
+                     weak_ptr_factory_.GetWeakPtr()));
 }
 
 void NearbySharingServiceImpl::OnTransferStarted(bool is_incoming) {
@@ -1221,11 +1319,298 @@
 
 NearbySharingService::StatusCodes NearbySharingServiceImpl::SendPayloads(
     const ShareTarget& share_target) {
-  // TODO(crbug.com/1085067) - Implement.
+  NS_LOG(VERBOSE) << __func__ << ": Preparing to send payloads to "
+                  << share_target.device_name;
+  ShareTargetInfo* info = GetShareTargetInfo(share_target);
+  if (!info || !info->connection()) {
+    NS_LOG(WARNING) << "Failed to send payload due to missing connection.";
+    return StatusCodes::kOutOfOrderApiCall;
+  }
+
+  OnOutgoingTransferUpdate(
+      share_target,
+      TransferMetadataBuilder()
+          .set_token(info->token())
+          .set_status(TransferMetadata::Status::kAwaitingRemoteAcceptance)
+          .build());
+
+  if (!info->endpoint_id()) {
+    OnOutgoingTransferUpdate(share_target,
+                             TransferMetadataBuilder()
+                                 .set_status(TransferMetadata::Status::kFailed)
+                                 .build());
+    info->connection()->Close();
+    NS_LOG(WARNING) << "Failed to send payload due to missing endpoint id.";
+    return StatusCodes::kOutOfOrderApiCall;
+  }
+
+  ReceiveConnectionResponse(share_target);
+  return StatusCodes::kOk;
+}
+
+NearbySharingService::StatusCodes NearbySharingServiceImpl::SendAttachments(
+    const ShareTarget& share_target) {
+  if (!is_scanning_) {
+    NS_LOG(WARNING)
+        << __func__
+        << ": Failed to send file to remote ShareTarget. Not scanning.";
+    return StatusCodes::kError;
+  }
+
+  // |is_scanning_| means at least one send transfer callback.
+  DCHECK(foreground_send_transfer_callbacks_.might_have_observers() ||
+         background_send_transfer_callbacks_.might_have_observers());
+  // |is_scanning_| and |is_transferring_| are mutually exclusive.
+  DCHECK(!is_transferring_);
+
+  ShareTargetInfo* info = GetShareTargetInfo(share_target);
+  if (!info || !info->endpoint_id()) {
+    // TODO(crbug.com/1119276): Support scanning for unknown share targets.
+    NS_LOG(WARNING)
+        << __func__
+        << ": Failed to send file to remote ShareTarget. Unknown ShareTarget.";
+    return StatusCodes::kError;
+  }
+
+  if (!CreatePayloads(share_target)) {
+    NS_LOG(WARNING) << __func__
+                    << ": Failed to send file to remote ShareTarget. Failed to "
+                       "create payloads.";
+    return StatusCodes::kError;
+  }
+
+  // For sending advertisement from scanner, the request advertisement should
+  // always be visible to everyone.
+  base::Optional<std::vector<uint8_t>> endpoint_info =
+      CreateEndpointInfo(local_device_data_manager_->GetDeviceName());
+  if (!endpoint_info) {
+    NS_LOG(WARNING) << __func__ << ": Could not create local endpoint info.";
+    return StatusCodes::kError;
+  }
+
+  OnTransferStarted(/*is_incoming=*/false);
+  is_connecting_ = true;
+  InvalidateSendSurfaceState();
+
+  // Send process initialized successfully, from now on status updated will be
+  // sent out via OnOutgoingTransferUpdate().
+  OnOutgoingTransferUpdate(
+      share_target, TransferMetadataBuilder()
+                        .set_status(TransferMetadata::Status::kConnecting)
+                        .build());
+
+  base::Optional<std::vector<uint8_t>> bluetooth_mac_address =
+      GetBluetoothMacAddress(share_target);
+
+  DataUsage adjusted_data_usage = CheckFileSizeForDataUsagePreference(
+      settings_.GetDataUsage(), share_target);
+
+  // TODO(crbug.com/1111458): Add preferred transfer type.
+  // TODO(crbug.com/1085067): Add timeout
+  nearby_connections_manager_->Connect(
+      std::move(*endpoint_info), *info->endpoint_id(),
+      std::move(bluetooth_mac_address), adjusted_data_usage,
+      base::BindOnce(&NearbySharingServiceImpl::OnOutgoingConnection,
+                     weak_ptr_factory_.GetWeakPtr(), share_target));
 
   return StatusCodes::kOk;
 }
 
+void NearbySharingServiceImpl::OnOutgoingConnection(
+    const ShareTarget& share_target,
+    NearbyConnection* connection) {
+  OutgoingShareTargetInfo* info = GetOutgoingShareTargetInfo(share_target);
+  if (!info || !info->endpoint_id() || !connection) {
+    NS_LOG(WARNING) << __func__
+                    << ": Failed to initate connection to share target "
+                    << share_target.device_name;
+    OnOutgoingTransferUpdate(share_target,
+                             TransferMetadataBuilder()
+                                 .set_status(TransferMetadata::Status::kFailed)
+                                 .build());
+    return;
+  }
+
+  info->set_connection(connection);
+
+  connection->SetDisconnectionListener(base::BindOnce(
+      &NearbySharingServiceImpl::OnOutgoingConnectionDisconnected,
+      weak_ptr_factory_.GetWeakPtr(), share_target));
+
+  base::Optional<std::string> four_digit_token =
+      ToFourDigitString(nearby_connections_manager_->GetRawAuthenticationToken(
+          *info->endpoint_id()));
+
+  RunPairedKeyVerification(
+      share_target, *info->endpoint_id(),
+      base::BindOnce(
+          &NearbySharingServiceImpl::OnOutgoingConnectionKeyVerificationDone,
+          weak_ptr_factory_.GetWeakPtr(), share_target,
+          std::move(four_digit_token)));
+}
+
+void NearbySharingServiceImpl::SendIntroduction(
+    const ShareTarget& share_target,
+    base::Optional<std::string> four_digit_token) {
+  // We successfully connected! Now lets build up Payloads for all the files we
+  // want to send them. We won't send any just yet, but we'll send the Payload
+  // IDs in our our introduction frame so that they know what to expect if they
+  // accept.
+  NS_LOG(VERBOSE) << __func__ << ": Preparing to send introduction to "
+                  << share_target.device_name;
+
+  NearbyConnection* connection = GetConnection(share_target);
+  if (!connection) {
+    NS_LOG(WARNING) << __func__ << ": No NearbyConnection tied to "
+                    << share_target.device_name;
+    return;
+  }
+
+  if (!foreground_send_transfer_callbacks_.might_have_observers() &&
+      !background_send_transfer_callbacks_.might_have_observers()) {
+    connection->Close();
+    NS_LOG(WARNING) << __func__ << ": No transfer callbacks, disconnecting.";
+    return;
+  }
+
+  // Build the introduction.
+  auto introduction = std::make_unique<sharing::nearby::IntroductionFrame>();
+  NS_LOG(VERBOSE) << __func__ << ": Sending attachments to "
+                  << share_target.device_name;
+
+  // Write introduction of file payloads.
+  for (const auto& file : share_target.file_attachments) {
+    base::Optional<int64_t> payload_id = GetAttachmentPayloadId(file.id());
+    if (!payload_id) {
+      NS_LOG(VERBOSE) << __func__ << ": Skipping unknown file attachment";
+      continue;
+    }
+    auto* file_metadata = introduction->add_file_metadata();
+    file_metadata->set_id(file.id());
+    file_metadata->set_name(file.file_name());
+    file_metadata->set_payload_id(*payload_id);
+    file_metadata->set_type(sharing::ConvertFileMetadataType(file.type()));
+    file_metadata->set_mime_type(file.mime_type());
+    file_metadata->set_size(file.size());
+  }
+
+  // Write introduction of text payloads.
+  for (const auto& text : share_target.text_attachments) {
+    base::Optional<int64_t> payload_id = GetAttachmentPayloadId(text.id());
+    if (!payload_id) {
+      NS_LOG(VERBOSE) << __func__ << ": Skipping unknown text attachment";
+      continue;
+    }
+    auto* text_metadata = introduction->add_text_metadata();
+    text_metadata->set_id(text.id());
+    text_metadata->set_text_title(text.text_title());
+    text_metadata->set_type(sharing::ConvertTextMetadataType(text.type()));
+    text_metadata->set_size(text.size());
+    text_metadata->set_payload_id(*payload_id);
+  }
+
+  if (introduction->file_metadata_size() == 0 &&
+      introduction->text_metadata_size() == 0) {
+    NS_LOG(WARNING) << __func__
+                    << ": No payloads tied to transfer, disconnecting.";
+    OnOutgoingTransferUpdate(share_target,
+                             TransferMetadataBuilder()
+                                 .set_status(TransferMetadata::Status::kFailed)
+                                 .build());
+    connection->Close();
+    return;
+  }
+
+  // Write the introduction to the remote device.
+  sharing::nearby::Frame frame;
+  frame.mutable_v1()->set_allocated_introduction(introduction.release());
+
+  std::vector<uint8_t> data(frame.ByteSize());
+  frame.SerializeToArray(data.data(), frame.ByteSize());
+  connection->Write(std::move(data));
+
+  // We've successfully written the introduction, so we now have to wait for the
+  // remote side to accept.
+  NS_LOG(VERBOSE) << __func__ << ": Successfully wrote the introduction frame";
+
+  mutual_acceptance_timeout_alarm_.Reset(base::BindOnce(
+      &NearbySharingServiceImpl::OnOutgoingMutualAcceptanceTimeout,
+      weak_ptr_factory_.GetWeakPtr(), share_target));
+
+  base::SequencedTaskRunnerHandle::Get()->PostDelayedTask(
+      FROM_HERE, base::BindOnce(mutual_acceptance_timeout_alarm_.callback()),
+      kReadResponseFrameTimeout);
+
+  OnOutgoingTransferUpdate(
+      share_target,
+      TransferMetadataBuilder()
+          .set_status(TransferMetadata::Status::kAwaitingLocalConfirmation)
+          .set_token(four_digit_token)
+          .build());
+}
+
+bool NearbySharingServiceImpl::CreatePayloads(const ShareTarget& share_target) {
+  OutgoingShareTargetInfo* info = GetOutgoingShareTargetInfo(share_target);
+  if (!info || !share_target.has_attachments())
+    return false;
+
+  if (!info->file_payloads().empty() || !info->text_payloads().empty()) {
+    // We may have already created the payloads in the case of retry, so we can
+    // skip this step.
+    return false;
+  }
+
+  info->set_file_payloads(CreateFilePayloads(share_target.file_attachments));
+  info->set_text_payloads(CreateTextPayloads(share_target.text_attachments));
+
+  return !info->file_payloads().empty() || !info->text_payloads().empty();
+}
+
+std::vector<location::nearby::connections::mojom::PayloadPtr>
+NearbySharingServiceImpl::CreateFilePayloads(
+    const std::vector<FileAttachment>& attachments) {
+  std::vector<location::nearby::connections::mojom::PayloadPtr> payloads;
+  payloads.reserve(attachments.size());
+  for (const FileAttachment& attachment : attachments) {
+    if (!attachment.file_path()) {
+      NS_LOG(VERBOSE) << __func__ << ": Skipping file attachment without path";
+      continue;
+    }
+
+    // TODO(crbug.com/1085067): Open attachment.file_path() async here.
+    base::File file;
+
+    int64_t payload_id = GeneratePayloadId();
+    SetAttachmentPayloadId(attachment, payload_id);
+    payloads.push_back(location::nearby::connections::mojom::Payload::New(
+        payload_id,
+        location::nearby::connections::mojom::PayloadContent::NewFile(
+            location::nearby::connections::mojom::FilePayload::New(
+                std::move(file)))));
+  }
+  return payloads;
+}
+
+std::vector<location::nearby::connections::mojom::PayloadPtr>
+NearbySharingServiceImpl::CreateTextPayloads(
+    const std::vector<TextAttachment>& attachments) {
+  std::vector<location::nearby::connections::mojom::PayloadPtr> payloads;
+  payloads.reserve(attachments.size());
+  for (const TextAttachment& attachment : attachments) {
+    const std::string& body = attachment.text_body();
+    std::vector<uint8_t> bytes(body.begin(), body.end());
+
+    int64_t payload_id = GeneratePayloadId();
+    SetAttachmentPayloadId(attachment, payload_id);
+    payloads.push_back(location::nearby::connections::mojom::Payload::New(
+        payload_id,
+        location::nearby::connections::mojom::PayloadContent::NewBytes(
+            location::nearby::connections::mojom::BytesPayload::New(
+                std::move(bytes)))));
+  }
+  return payloads;
+}
+
 void NearbySharingServiceImpl::WriteResponse(
     NearbyConnection& connection,
     sharing::nearby::ConnectionResponseFrame::Status status) {
@@ -1364,38 +1749,55 @@
   connection->SetDisconnectionListener(
       base::BindOnce(&NearbySharingServiceImpl::UnregisterShareTarget,
                      weak_ptr_factory_.GetWeakPtr(), *share_target));
+
+  base::Optional<std::string> four_digit_token = ToFourDigitString(
+      nearby_connections_manager_->GetRawAuthenticationToken(endpoint_id));
+
+  RunPairedKeyVerification(
+      *share_target, endpoint_id,
+      base::BindOnce(
+          &NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone,
+          weak_ptr_factory_.GetWeakPtr(), *share_target,
+          std::move(four_digit_token)));
+}
+
+void NearbySharingServiceImpl::RunPairedKeyVerification(
+    const ShareTarget& share_target,
+    const std::string& endpoint_id,
+    base::OnceCallback<void(
+        PairedKeyVerificationRunner::PairedKeyVerificationResult)> callback) {
   base::Optional<std::vector<uint8_t>> token =
       nearby_connections_manager_->GetRawAuthenticationToken(endpoint_id);
   if (!token) {
     NS_LOG(VERBOSE) << __func__
                     << ": Failed to read authentication token from endpoint - "
                     << endpoint_id;
-    OnIncomingConnectionKeyVerificationDone(
-        std::move(*share_target), std::move(token),
+    std::move(callback).Run(
         PairedKeyVerificationRunner::PairedKeyVerificationResult::kFail);
     return;
   }
 
+  ShareTargetInfo* share_target_info = GetShareTargetInfo(share_target);
+  DCHECK(share_target_info);
+
   share_target_info->set_frames_reader(std::make_unique<IncomingFramesReader>(
-      process_manager_, profile_, connection));
+      process_manager_, profile_, share_target_info->connection()));
 
   bool restrict_to_contacts =
+      share_target.is_incoming &&
       advertising_power_level_ != PowerLevel::kHighPower;
   share_target_info->set_key_verification_runner(
       std::make_unique<PairedKeyVerificationRunner>(
-          *share_target, endpoint_id, *token, connection,
+          share_target, endpoint_id, *token, share_target_info->connection(),
           share_target_info->certificate(), GetCertificateManager(),
           settings_.GetVisibility(), restrict_to_contacts,
           share_target_info->frames_reader(), kReadFramesTimeout));
-  share_target_info->key_verification_runner()->Run(base::BindOnce(
-      &NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone,
-      weak_ptr_factory_.GetWeakPtr(), std::move(*share_target),
-      std::move(token)));
+  share_target_info->key_verification_runner()->Run(std::move(callback));
 }
 
 void NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone(
     ShareTarget share_target,
-    base::Optional<std::vector<uint8_t>> token,
+    base::Optional<std::string> four_digit_token,
     PairedKeyVerificationRunner::PairedKeyVerificationResult result) {
   ShareTargetInfo* info = GetShareTargetInfo(share_target);
   if (!info || !info->connection() || !info->endpoint_id()) {
@@ -1403,14 +1805,10 @@
     return;
   }
 
-  base::Optional<std::string> token_string;
-  if (token)
-    token_string = ToFourDigitString(*token);
-
   switch (result) {
     case PairedKeyVerificationRunner::PairedKeyVerificationResult::kFail:
-      NS_LOG(VERBOSE) << __func__
-                      << ": Paired key handshake failed, disconnecting.";
+      NS_LOG(VERBOSE) << __func__ << ": Paired key handshake failed for target "
+                      << share_target.device_name << ". Disconnecting.";
       info->connection()->Close();
       return;
 
@@ -1419,7 +1817,7 @@
                       << ": Paired key handshake succeeded for target - "
                       << share_target.device_name;
       nearby_connections_manager_->UpgradeBandwidth(*info->endpoint_id());
-      ReceiveIntroduction(share_target, /*token=*/base::nullopt);
+      ReceiveIntroduction(share_target, /*four_digit_token=*/base::nullopt);
       break;
 
     case PairedKeyVerificationRunner::PairedKeyVerificationResult::kUnable:
@@ -1430,16 +1828,77 @@
       if (advertising_power_level_ == PowerLevel::kHighPower)
         nearby_connections_manager_->UpgradeBandwidth(*info->endpoint_id());
 
-      if (token_string)
-        info->set_token(*token_string);
+      if (four_digit_token)
+        info->set_token(*four_digit_token);
 
-      ReceiveIntroduction(share_target, std::move(token_string));
+      ReceiveIntroduction(share_target, std::move(four_digit_token));
       break;
 
     case PairedKeyVerificationRunner::PairedKeyVerificationResult::kUnknown:
-      NS_LOG(VERBOSE)
-          << __func__
-          << ": Unknown PairedKeyVerificationResult, disconnecting.";
+      NS_LOG(VERBOSE) << __func__
+                      << ": Unknown PairedKeyVerificationResult for target "
+                      << share_target.device_name << ". Disconnecting.";
+      info->connection()->Close();
+      break;
+  }
+}
+
+void NearbySharingServiceImpl::OnOutgoingConnectionKeyVerificationDone(
+    const ShareTarget& share_target,
+    base::Optional<std::string> four_digit_token,
+    PairedKeyVerificationRunner::PairedKeyVerificationResult result) {
+  ShareTargetInfo* info = GetShareTargetInfo(share_target);
+  if (!info || !info->connection())
+    return;
+
+  // TODO(crbug.com/1119279): Check if we need to set this to false for
+  // Advanced Protection users.
+  bool sender_skips_confirmation = true;
+
+  switch (result) {
+    case PairedKeyVerificationRunner::PairedKeyVerificationResult::kFail:
+      NS_LOG(VERBOSE) << __func__ << ": Paired key handshake failed for target "
+                      << share_target.device_name << ". Disconnecting.";
+      OnOutgoingTransferUpdate(
+          share_target, TransferMetadataBuilder()
+                            .set_status(TransferMetadata::Status::kFailed)
+                            .build());
+      info->connection()->Close();
+      return;
+
+    case PairedKeyVerificationRunner::PairedKeyVerificationResult::kSuccess:
+      NS_LOG(VERBOSE) << __func__
+                      << ": Paired key handshake succeeded for target - "
+                      << share_target.device_name;
+      SendIntroduction(share_target, /*four_digit_token=*/base::nullopt);
+      SendPayloads(share_target);
+      return;
+
+    case PairedKeyVerificationRunner::PairedKeyVerificationResult::kUnable:
+      NS_LOG(VERBOSE) << __func__
+                      << ": Unable to verify paired key encryption when "
+                         "initating connection to target - "
+                      << share_target.device_name;
+
+      if (four_digit_token)
+        info->set_token(*four_digit_token);
+
+      if (sender_skips_confirmation) {
+        NS_LOG(VERBOSE) << __func__
+                        << ": Sender-side verification is disabled. Skipping "
+                           "token comparison with "
+                        << share_target.device_name;
+        SendIntroduction(share_target, /*four_digit_token=*/base::nullopt);
+        SendPayloads(share_target);
+      } else {
+        SendIntroduction(share_target, std::move(four_digit_token));
+      }
+      return;
+
+    case PairedKeyVerificationRunner::PairedKeyVerificationResult::kUnknown:
+      NS_LOG(VERBOSE) << __func__
+                      << ": Unknown PairedKeyVerificationResult for target "
+                      << share_target.device_name << ". Disconnecting.";
       info->connection()->Close();
       break;
   }
@@ -1458,7 +1917,7 @@
 
 void NearbySharingServiceImpl::ReceiveIntroduction(
     ShareTarget share_target,
-    base::Optional<std::string> token) {
+    base::Optional<std::string> four_digit_token) {
   NS_LOG(INFO) << __func__ << ": Receiving introduction from "
                << share_target.device_name;
   ShareTargetInfo* info = GetShareTargetInfo(share_target);
@@ -1468,13 +1927,13 @@
       sharing::mojom::V1Frame::Tag::INTRODUCTION,
       base::BindOnce(&NearbySharingServiceImpl::OnReceivedIntroduction,
                      weak_ptr_factory_.GetWeakPtr(), std::move(share_target),
-                     std::move(token)),
+                     std::move(four_digit_token)),
       kReadFramesTimeout);
 }
 
 void NearbySharingServiceImpl::OnReceivedIntroduction(
     ShareTarget share_target,
-    base::Optional<std::string> token,
+    base::Optional<std::string> four_digit_token,
     base::Optional<sharing::mojom::V1FramePtr> frame) {
   ShareTargetInfo* info = GetShareTargetInfo(share_target);
   if (!info || !info->connection()) {
@@ -1555,7 +2014,8 @@
   }
 
   if (file_size_sum.ValueOrDie() == 0) {
-    OnStorageCheckCompleted(std::move(share_target), std::move(token),
+    OnStorageCheckCompleted(std::move(share_target),
+                            std::move(four_digit_token),
                             /*is_out_of_storage=*/false);
     return;
   }
@@ -1571,12 +2031,146 @@
                      file_size_sum.ValueOrDie()),
       base::BindOnce(&NearbySharingServiceImpl::OnStorageCheckCompleted,
                      weak_ptr_factory_.GetWeakPtr(), std::move(share_target),
-                     std::move(token)));
+                     std::move(four_digit_token)));
+}
+
+void NearbySharingServiceImpl::ReceiveConnectionResponse(
+    ShareTarget share_target) {
+  NS_LOG(VERBOSE) << __func__ << ": Receiving response frame from "
+                  << share_target.device_name;
+  ShareTargetInfo* info = GetShareTargetInfo(share_target);
+  DCHECK(info && info->connection());
+
+  info->frames_reader()->ReadFrame(
+      sharing::mojom::V1Frame::Tag::CONNECTION_RESPONSE,
+      base::BindOnce(&NearbySharingServiceImpl::OnReceiveConnectionResponse,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(share_target)),
+      kReadResponseFrameTimeout);
+}
+
+void NearbySharingServiceImpl::OnReceiveConnectionResponse(
+    ShareTarget share_target,
+    base::Optional<sharing::mojom::V1FramePtr> frame) {
+  OutgoingShareTargetInfo* info = GetOutgoingShareTargetInfo(share_target);
+  if (!info || !info->connection()) {
+    NS_LOG(WARNING) << __func__
+                    << ": Ignore received connection response, due to no "
+                       "connection established.";
+    return;
+  }
+  NearbyConnection* connection = info->connection();
+
+  if (!frame) {
+    NS_LOG(WARNING)
+        << __func__
+        << ": Failed to read a response from the remote device. Disconnecting.";
+    OnOutgoingTransferUpdate(share_target,
+                             TransferMetadataBuilder()
+                                 .set_status(TransferMetadata::Status::kFailed)
+                                 .build());
+    connection->Close();
+    return;
+  }
+
+  mutual_acceptance_timeout_alarm_.Cancel();
+
+  NS_LOG(VERBOSE) << __func__
+                  << ": Successfully read the connection response frame.";
+
+  sharing::mojom::ConnectionResponseFramePtr response =
+      std::move((*frame)->get_connection_response());
+  switch (response->status) {
+    case sharing::mojom::ConnectionResponseFrame::Status::kAccept: {
+      info->frames_reader()->ReadFrame(base::BindOnce(
+          &NearbySharingServiceImpl::OnFrameRead,
+          weak_ptr_factory_.GetWeakPtr(), std::move(share_target)));
+
+      OnOutgoingTransferUpdate(
+          share_target, TransferMetadataBuilder()
+                            .set_status(TransferMetadata::Status::kInProgress)
+                            .build());
+
+      // TODO(himanshujaju) - Implement payload tracker.
+      // PayloadTracker tracker = new PayloadTracker(shareTarget, callback);
+      NearbyConnectionsManager::PayloadStatusListener* tracker = nullptr;
+
+      for (auto& payload : info->ExtractTextPayloads()) {
+        nearby_connections_manager_->Send(*info->endpoint_id(),
+                                          std::move(payload), tracker);
+      }
+      for (auto& payload : info->ExtractFilePayloads()) {
+        nearby_connections_manager_->Send(*info->endpoint_id(),
+                                          std::move(payload), tracker);
+      }
+      NS_LOG(VERBOSE)
+          << __func__
+          << ": The connection was accepted. Payloads are now being sent.";
+      break;
+    }
+    case sharing::mojom::ConnectionResponseFrame::Status::kReject:
+      OnOutgoingTransferUpdate(
+          share_target, TransferMetadataBuilder()
+                            .set_status(TransferMetadata::Status::kRejected)
+                            .build());
+      connection->Close();
+      NS_LOG(VERBOSE)
+          << __func__
+          << ": The connection was rejected. The connection has been closed.";
+      break;
+    case sharing::mojom::ConnectionResponseFrame::Status::kNotEnoughSpace:
+      OnOutgoingTransferUpdate(
+          share_target,
+          TransferMetadataBuilder()
+              .set_status(TransferMetadata::Status::kNotEnoughSpace)
+              .build());
+      connection->Close();
+      NS_LOG(VERBOSE)
+          << __func__
+          << ": The connection was rejected because the remote device "
+             "does not have enough space for our attachments. The "
+             "connection has been closed.";
+      break;
+    case sharing::mojom::ConnectionResponseFrame::Status::
+        kUnsupportedAttachmentType:
+      OnOutgoingTransferUpdate(
+          share_target,
+          TransferMetadataBuilder()
+              .set_status(TransferMetadata::Status::kUnsupportedAttachmentType)
+              .build());
+      connection->Close();
+      NS_LOG(VERBOSE)
+          << __func__
+          << ": The connection was rejected because the remote device "
+             "does not support the attachments we were sending. The "
+             "connection has been closed.";
+      break;
+    case sharing::mojom::ConnectionResponseFrame::Status::kTimedOut:
+      OnOutgoingTransferUpdate(
+          share_target, TransferMetadataBuilder()
+                            .set_status(TransferMetadata::Status::kTimedOut)
+                            .build());
+      connection->Close();
+      NS_LOG(VERBOSE)
+          << __func__
+          << ": The connection was rejected because the remote device "
+             "timed out. The connection has been closed.";
+      break;
+    default:
+      OnOutgoingTransferUpdate(
+          share_target, TransferMetadataBuilder()
+                            .set_status(TransferMetadata::Status::kFailed)
+                            .build());
+      connection->Close();
+      NS_LOG(VERBOSE)
+          << __func__
+          << ": The connection failed. The connection has been closed.";
+      break;
+  }
 }
 
 void NearbySharingServiceImpl::OnStorageCheckCompleted(
     ShareTarget share_target,
-    base::Optional<std::string> token,
+    base::Optional<std::string> four_digit_token,
     bool is_out_of_storage) {
   if (is_out_of_storage) {
     Fail(share_target, TransferMetadata::Status::kNotEnoughSpace);
@@ -1606,7 +2200,7 @@
       share_target,
       TransferMetadataBuilder()
           .set_status(TransferMetadata::Status::kAwaitingLocalConfirmation)
-          .set_token(std::move(token))
+          .set_token(std::move(four_digit_token))
           .build());
 
   if (!incoming_share_target_info_map_.count(share_target.id)) {
@@ -1689,6 +2283,16 @@
   UnregisterShareTarget(share_target);
 }
 
+void NearbySharingServiceImpl::OnOutgoingConnectionDisconnected(
+    const ShareTarget& share_target) {
+  OnOutgoingTransferUpdate(
+      share_target,
+      TransferMetadataBuilder()
+          .set_status(TransferMetadata::Status::kAwaitingRemoteAcceptanceFailed)
+          .build());
+  UnregisterShareTarget(share_target);
+}
+
 void NearbySharingServiceImpl::OnIncomingMutualAcceptanceTimeout(
     const ShareTarget& share_target) {
   DCHECK(share_target.is_incoming);
@@ -1701,6 +2305,25 @@
   Fail(share_target, TransferMetadata::Status::kTimedOut);
 }
 
+void NearbySharingServiceImpl::OnOutgoingMutualAcceptanceTimeout(
+    const ShareTarget& share_target) {
+  DCHECK(!share_target.is_incoming);
+
+  NS_LOG(VERBOSE)
+      << __func__
+      << ": Outgoing mutual acceptance timed out, closing connection for "
+      << share_target.device_name;
+
+  OnOutgoingTransferUpdate(share_target,
+                           TransferMetadataBuilder()
+                               .set_status(TransferMetadata::Status::kTimedOut)
+                               .build());
+
+  NearbyConnection* connection = GetConnection(share_target);
+  if (connection)
+    connection->Close();
+}
+
 base::Optional<ShareTarget> NearbySharingServiceImpl::CreateShareTarget(
     const std::string& endpoint_id,
     const sharing::mojom::AdvertisementPtr& advertisement,
@@ -1791,6 +2414,28 @@
   return share_target_info ? share_target_info->connection() : nullptr;
 }
 
+base::Optional<std::vector<uint8_t>>
+NearbySharingServiceImpl::GetBluetoothMacAddress(
+    const ShareTarget& share_target) {
+  ShareTargetInfo* info = GetShareTargetInfo(share_target);
+  if (!info)
+    return base::nullopt;
+
+  const base::Optional<NearbyShareDecryptedPublicCertificate>& certificate =
+      info->certificate();
+  if (!certificate ||
+      !certificate->unencrypted_metadata().has_bluetooth_mac_address()) {
+    return base::nullopt;
+  }
+
+  std::string mac_address =
+      certificate->unencrypted_metadata().bluetooth_mac_address();
+  if (mac_address.size() != 6)
+    return base::nullopt;
+
+  return std::vector<uint8_t>(mac_address.begin(), mac_address.end());
+}
+
 void NearbySharingServiceImpl::ClearOutgoingShareTargetInfoMap() {
   // TODO(crbug.com/1085068) close file payloads
   outgoing_share_target_info_map_.clear();
diff --git a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h
index e242629d..08161b0 100644
--- a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h
+++ b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h
@@ -78,12 +78,10 @@
                                      ReceiveSurfaceState state) override;
   StatusCodes UnregisterReceiveSurface(
       TransferUpdateCallback* transfer_callback) override;
-  void SendText(const ShareTarget& share_target,
-                std::string text,
-                StatusCodesCallback status_codes_callback) override;
-  void SendFiles(const ShareTarget& share_target,
-                 const std::vector<base::FilePath>& files,
-                 StatusCodesCallback status_codes_callback) override;
+  StatusCodes SendText(const ShareTarget& share_target,
+                       std::string text) override;
+  StatusCodes SendFiles(const ShareTarget& share_target,
+                        const std::vector<base::FilePath>& files) override;
   void Accept(const ShareTarget& share_target,
               StatusCodesCallback status_codes_callback) override;
   void Reject(const ShareTarget& share_target,
@@ -164,6 +162,18 @@
   StatusCodes ReceivePayloads(const ShareTarget& share_target);
   StatusCodes SendPayloads(const ShareTarget& share_target);
 
+  StatusCodes SendAttachments(const ShareTarget& share_target);
+  void OnOutgoingConnection(const ShareTarget& share_target,
+                            NearbyConnection* connection);
+  void SendIntroduction(const ShareTarget& share_target,
+                        base::Optional<std::string> four_digit_token);
+
+  bool CreatePayloads(const ShareTarget& share_target);
+  std::vector<location::nearby::connections::mojom::PayloadPtr>
+  CreateFilePayloads(const std::vector<FileAttachment>& attachments);
+  std::vector<location::nearby::connections::mojom::PayloadPtr>
+  CreateTextPayloads(const std::vector<TextAttachment>& attachments);
+
   void WriteResponse(
       NearbyConnection& connection,
       sharing::nearby::ConnectionResponseFrame::Status reponse_status);
@@ -178,24 +188,39 @@
       sharing::mojom::AdvertisementPtr advertisement);
   void OnIncomingTransferUpdate(const ShareTarget& share_target,
                                 TransferMetadata metadata);
+  void OnOutgoingTransferUpdate(const ShareTarget& share_target,
+                                TransferMetadata metadata);
   void CloseConnection(const ShareTarget& share_target);
   void OnIncomingDecryptedCertificate(
       const std::string& endpoint_id,
       sharing::mojom::AdvertisementPtr advertisement,
       ShareTarget placeholder_share_target,
       base::Optional<NearbyShareDecryptedPublicCertificate> certificate);
+  void RunPairedKeyVerification(
+      const ShareTarget& share_target,
+      const std::string& endpoint_id,
+      base::OnceCallback<void(
+          PairedKeyVerificationRunner::PairedKeyVerificationResult)> callback);
   void OnIncomingConnectionKeyVerificationDone(
       ShareTarget share_target,
-      base::Optional<std::vector<uint8_t>> token,
+      base::Optional<std::string> four_digit_token,
+      PairedKeyVerificationRunner::PairedKeyVerificationResult result);
+  void OnOutgoingConnectionKeyVerificationDone(
+      const ShareTarget& share_target,
+      base::Optional<std::string> four_digit_token,
       PairedKeyVerificationRunner::PairedKeyVerificationResult result);
   void RefreshUIOnDisconnection(ShareTarget share_target);
   void ReceiveIntroduction(ShareTarget share_target,
-                           base::Optional<std::string> token);
+                           base::Optional<std::string> four_digit_token);
   void OnReceivedIntroduction(ShareTarget share_target,
-                              base::Optional<std::string> token,
+                              base::Optional<std::string> four_digit_token,
                               base::Optional<sharing::mojom::V1FramePtr> frame);
+  void ReceiveConnectionResponse(ShareTarget share_target);
+  void OnReceiveConnectionResponse(
+      ShareTarget share_target,
+      base::Optional<sharing::mojom::V1FramePtr> frame);
   void OnStorageCheckCompleted(ShareTarget share_target,
-                               base::Optional<std::string> token,
+                               base::Optional<std::string> four_digit_token,
                                bool is_out_of_storage);
   void OnFrameRead(ShareTarget share_target,
                    base::Optional<sharing::mojom::V1FramePtr> frame);
@@ -203,8 +228,11 @@
       const sharing::mojom::CertificateInfoFramePtr& certificate_frame);
 
   void OnIncomingConnectionDisconnected(const ShareTarget& share_target);
+  void OnOutgoingConnectionDisconnected(const ShareTarget& share_target);
 
   void OnIncomingMutualAcceptanceTimeout(const ShareTarget& share_target);
+  void OnOutgoingMutualAcceptanceTimeout(const ShareTarget& share_target);
+
   base::Optional<ShareTarget> CreateShareTarget(
       const std::string& endpoint_id,
       const sharing::mojom::AdvertisementPtr& advertisement,
@@ -221,6 +249,8 @@
       const ShareTarget& share_target);
 
   NearbyConnection* GetConnection(const ShareTarget& share_target);
+  base::Optional<std::vector<uint8_t>> GetBluetoothMacAddress(
+      const ShareTarget& share_target);
 
   void ClearOutgoingShareTargetInfoMap();
   void SetAttachmentPayloadId(const Attachment& attachment, int64_t payload_id);
diff --git a/chrome/browser/nearby_sharing/nearby_sharing_service_impl_unittest.cc b/chrome/browser/nearby_sharing/nearby_sharing_service_impl_unittest.cc
index 15e5413..1adcfce4 100644
--- a/chrome/browser/nearby_sharing/nearby_sharing_service_impl_unittest.cc
+++ b/chrome/browser/nearby_sharing/nearby_sharing_service_impl_unittest.cc
@@ -9,13 +9,16 @@
 #include <string>
 #include <utility>
 
+#include "base/barrier_closure.h"
 #include "base/bind.h"
 #include "base/containers/span.h"
+#include "base/files/file_util.h"
 #include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/system/sys_info.h"
 #include "base/test/bind_test_util.h"
 #include "base/test/scoped_feature_list.h"
+#include "base/threading/thread_restrictions.h"
 #include "chrome/browser/browser_features.h"
 #include "chrome/browser/download/chrome_download_manager_delegate.h"
 #include "chrome/browser/download/download_core_service_factory.h"
@@ -179,6 +182,7 @@
 const char kServiceId[] = "NearbySharing";
 const char kDeviceName[] = "test_device_name";
 const char kEndpointId[] = "test_endpoint_id";
+const char kTextPayload[] = "Test text payload";
 
 const std::vector<uint8_t> kValidV1EndpointInfo = {
     0, 0, 0, 0,  0,   0,   0,   0,   0,  0,   0,  0,  0,   0,
@@ -196,6 +200,13 @@
     0x02, 0x21, 0x00, 0xd4, 0xe1, 0x1d, 0x14, 0xcb, 0x58, 0xf7, 0x02, 0xd5,
     0xab, 0x48, 0xe2, 0x2f, 0xcb, 0xc0, 0x53, 0x41, 0x06, 0x50, 0x65, 0x95,
     0x19, 0xa9, 0x22, 0x92, 0x00, 0x42, 0x01, 0x26, 0x25, 0xcb, 0x8c};
+const std::vector<uint8_t> kOutgoingConnectionSignedData = {
+    0x30, 0x45, 0x02, 0x21, 0x00, 0xf9, 0xc9, 0xa8, 0x89, 0x96, 0x6e, 0x5c,
+    0xea, 0x0a, 0x60, 0x37, 0x3a, 0x84, 0x7d, 0xf5, 0x31, 0x82, 0x74, 0xb9,
+    0xde, 0x3f, 0x64, 0x1b, 0xff, 0x4f, 0x54, 0x31, 0x1f, 0x9e, 0x63, 0x68,
+    0xca, 0x02, 0x20, 0x52, 0x43, 0x46, 0xa7, 0x6f, 0xcb, 0x96, 0x50, 0x86,
+    0xfd, 0x6f, 0x9f, 0x7e, 0x50, 0xa7, 0xa0, 0x9b, 0xdf, 0xae, 0x79, 0x42,
+    0x47, 0xd9, 0x60, 0x71, 0x91, 0x7a, 0xbb, 0x81, 0x9b, 0x0d, 0x2e};
 
 sharing::mojom::FramePtr GetValidIntroductionFrame() {
   std::vector<sharing::mojom::TextMetadataPtr> mojo_text_metadatas;
@@ -226,6 +237,46 @@
   return mojo_frame;
 }
 
+sharing::mojom::FramePtr GetConnectionResponseFrame(
+    sharing::mojom::ConnectionResponseFrame::Status status) {
+  sharing::mojom::V1FramePtr mojo_v1frame = sharing::mojom::V1Frame::New();
+  mojo_v1frame->set_connection_response(
+      sharing::mojom::ConnectionResponseFrame::New(status));
+
+  sharing::mojom::FramePtr mojo_frame = sharing::mojom::Frame::New();
+  mojo_frame->set_v1(std::move(mojo_v1frame));
+  return mojo_frame;
+}
+
+int64_t GetFreeSpaceInDownloadPath(Profile* profile) {
+  base::ScopedAllowBlockingForTesting allow_blocking;
+  base::FilePath file_path =
+      DownloadPrefs::FromDownloadManager(
+          content::BrowserContext::GetDownloadManager(profile))
+          ->DownloadPath();
+  int64_t free_space = base::SysInfo::AmountOfFreeDiskSpace(file_path);
+
+  // Might return -1 for failure.
+  if (free_space < 0)
+    free_space = 0;
+
+  return free_space;
+}
+
+base::FilePath CreateTestFile(const std::string& content) {
+  base::ScopedAllowBlockingForTesting allow_blocking;
+  base::FilePath path;
+  EXPECT_TRUE(base::CreateTemporaryFile(&path));
+  base::File file(path, base::File::Flags::FLAG_CREATE_ALWAYS |
+                            base::File::Flags::FLAG_READ |
+                            base::File::Flags::FLAG_WRITE);
+  EXPECT_TRUE(file.WriteAndCheck(
+      /*offset=*/0, base::as_bytes(base::make_span(content))));
+  EXPECT_TRUE(file.Flush());
+  file.Close();
+  return path;
+}
+
 class NearbySharingServiceImplTest : public testing::Test {
  public:
   NearbySharingServiceImplTest()
@@ -267,6 +318,9 @@
     EXPECT_CALL(mock_nearby_process_manager(),
                 GetOrStartNearbySharingDecoder(testing::_))
         .WillRepeatedly(testing::Return(&mock_decoder_));
+
+    // From now on we don't allow any blocking tasks anymore.
+    disallow_blocking_ = std::make_unique<base::ScopedDisallowBlocking>();
   }
 
   void TearDown() override {
@@ -368,6 +422,7 @@
   }
 
   void SetUpKeyVerification(
+      bool is_incoming,
       sharing::mojom::PairedKeyResultFrame::Status status) {
     SetVisibility(nearby_share::mojom::Visibility::kAllContacts);
 
@@ -377,13 +432,15 @@
     EXPECT_CALL(mock_decoder_,
                 DecodeFrame(testing::Eq(encryption_bytes), testing::_))
         .WillOnce(testing::Invoke(
-            [](const std::vector<uint8_t>& data,
-               MockNearbySharingDecoder::DecodeFrameCallback callback) {
+            [is_incoming](
+                const std::vector<uint8_t>& data,
+                MockNearbySharingDecoder::DecodeFrameCallback callback) {
               sharing::mojom::V1FramePtr mojo_v1frame =
                   sharing::mojom::V1Frame::New();
               mojo_v1frame->set_paired_key_encryption(
                   sharing::mojom::PairedKeyEncryptionFrame::New(
-                      kIncomingConnectionSignedData,
+                      is_incoming ? kIncomingConnectionSignedData
+                                  : kOutgoingConnectionSignedData,
                       kPrivateCertificateHashAuthToken));
               sharing::mojom::FramePtr mojo_frame =
                   sharing::mojom::Frame::New();
@@ -449,6 +506,19 @@
     connection_.AppendReadableData(bytes);
   }
 
+  void SendConnectionResponse(
+      sharing::mojom::ConnectionResponseFrame::Status status) {
+    std::string intro = "connection_result_frame";
+    std::vector<uint8_t> bytes(intro.begin(), intro.end());
+    EXPECT_CALL(mock_decoder_, DecodeFrame(testing::Eq(bytes), testing::_))
+        .WillOnce(testing::Invoke(
+            [=](const std::vector<uint8_t>& data,
+                MockNearbySharingDecoder::DecodeFrameCallback callback) {
+              std::move(callback).Run(GetConnectionResponseFrame(status));
+            }));
+    connection_.AppendReadableData(bytes);
+  }
+
   ShareTarget SetUpIncomingConnection(
       NiceMock<MockTransferUpdateCallback>& callback) {
     fake_nearby_connections_manager_->SetRawAuthenticationToken(kEndpointId,
@@ -471,7 +541,8 @@
           run_loop.Quit();
         }));
 
-    SetUpKeyVerification(sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
+    SetUpKeyVerification(/*is_incoming=*/true,
+                         sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
     SetUpForegroundReceiveSurface(callback);
     service_->OnIncomingConnection(kEndpointId, kValidV1EndpointInfo,
                                    &connection_);
@@ -485,6 +556,54 @@
     return share_target;
   }
 
+  ShareTarget SetUpOutgoingShareTarget(
+      MockTransferUpdateCallback& transfer_callback,
+      MockShareTargetDiscoveredCallback& discovery_callback) {
+    SetUpKeyVerification(/*is_incoming=*/false,
+                         sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
+
+    fake_nearby_connections_manager_->SetRawAuthenticationToken(kEndpointId,
+                                                                kToken);
+    fake_nearby_connections_manager_->set_nearby_connection(&connection_);
+
+    return DiscoverShareTarget(transfer_callback, discovery_callback);
+  }
+
+  ShareTarget DiscoverShareTarget(
+      MockTransferUpdateCallback& transfer_callback,
+      MockShareTargetDiscoveredCallback& discovery_callback) {
+    ui::ScopedSetIdleState unlocked(ui::IDLE_STATE_IDLE);
+    SetConnectionType(net::NetworkChangeNotifier::CONNECTION_WIFI);
+
+    // Ensure decoder parses a valid endpoint advertisement.
+    SetUpAdvertisementDecoder(kValidV1EndpointInfo,
+                              /*return_empty_advertisement=*/false);
+
+    // Start discovering, to ensure a discovery listener is registered.
+    base::RunLoop run_loop;
+    EXPECT_EQ(
+        NearbySharingService::StatusCodes::kOk,
+        service_->RegisterSendSurface(&transfer_callback, &discovery_callback,
+                                      SendSurfaceState::kForeground));
+    EXPECT_TRUE(fake_nearby_connections_manager_->IsDiscovering());
+
+    ShareTarget discovered_target;
+    // Discover a new endpoint, with fields set up a valid certificate.
+    EXPECT_CALL(discovery_callback, OnShareTargetDiscovered)
+        .WillOnce([&run_loop, &discovered_target](ShareTarget share_target) {
+          discovered_target = share_target;
+          run_loop.Quit();
+        });
+    fake_nearby_connections_manager_->OnEndpointFound(
+        kEndpointId,
+        location::nearby::connections::mojom::DiscoveredEndpointInfo::New(
+            kValidV1EndpointInfo, kServiceId));
+    ProcessLatestPublicCertificateDecryption(/*expected_num_calls=*/1,
+                                             /*success=*/true);
+    run_loop.Run();
+    return discovered_target;
+  }
+
   sharing::nearby::Frame GetWrittenFrame() {
     std::vector<uint8_t> data = connection_.GetWrittenData();
     sharing::nearby::Frame frame;
@@ -512,6 +631,30 @@
     EXPECT_EQ(status, frame.v1().connection_response().status());
   }
 
+  void ExpectIntroductionFrame() {
+    sharing::nearby::Frame frame = GetWrittenFrame();
+    ASSERT_TRUE(frame.has_v1());
+    ASSERT_TRUE(frame.v1().has_introduction());
+  }
+
+  void ExpectTransferUpdates(
+      MockTransferUpdateCallback& transfer_callback,
+      const ShareTarget& target,
+      const std::vector<TransferMetadata::Status>& updates,
+      base::OnceClosure callback) {
+    auto barrier = base::BarrierClosure(updates.size(), std::move(callback));
+    auto& expectation =
+        EXPECT_CALL(transfer_callback, OnTransferUpdate).Times(updates.size());
+    for (TransferMetadata::Status status : updates) {
+      expectation.WillOnce(testing::Invoke(
+          [=](const ShareTarget& share_target, TransferMetadata metadata) {
+            EXPECT_EQ(target.id, share_target.id);
+            EXPECT_EQ(status, metadata.status());
+            barrier.Run();
+          }));
+    }
+  }
+
  protected:
   FakeNearbyShareLocalDeviceDataManager* local_device_data_manager() {
     EXPECT_EQ(1u, local_device_data_manager_factory_.instances().size());
@@ -544,6 +687,7 @@
   FakeNearbyShareContactManager::Factory contact_manager_factory_;
   FakeNearbyShareCertificateManager::Factory certificate_manager_factory_;
   std::unique_ptr<NotificationDisplayServiceTester> notification_tester_;
+  std::unique_ptr<base::ScopedDisallowBlocking> disallow_blocking_;
   std::unique_ptr<NearbySharingServiceImpl> service_;
   std::unique_ptr<FakeFastInitiationManagerFactory>
       fast_initiation_manager_factory_;
@@ -597,6 +741,25 @@
     : public NearbySharingServiceImplTest,
       public testing::WithParamInterface<InvalidSendSurfaceTestData> {};
 
+using ResponseFrameStatus = sharing::mojom::ConnectionResponseFrame::Status;
+
+struct SendFailureTestData {
+  ResponseFrameStatus response_status;
+  TransferMetadata::Status expected_status;
+} kSendFailureTestData[] = {
+    {ResponseFrameStatus::kReject, TransferMetadata::Status::kRejected},
+    {ResponseFrameStatus::kNotEnoughSpace,
+     TransferMetadata::Status::kNotEnoughSpace},
+    {ResponseFrameStatus::kUnsupportedAttachmentType,
+     TransferMetadata::Status::kUnsupportedAttachmentType},
+    {ResponseFrameStatus::kTimedOut, TransferMetadata::Status::kTimedOut},
+    {ResponseFrameStatus::kUnknown, TransferMetadata::Status::kFailed},
+};
+
+class NearbySharingServiceImplSendFailureTest
+    : public NearbySharingServiceImplTest,
+      public testing::WithParamInterface<SendFailureTestData> {};
+
 }  // namespace
 
 TEST_F(NearbySharingServiceImplTest, AddsNearbyProcessObserver) {
@@ -614,7 +777,7 @@
   SetConnectionType(net::NetworkChangeNotifier::CONNECTION_WIFI);
   prefs_.SetBoolean(prefs::kNearbySharingEnabledPrefName, false);
   service_->FlushMojoForTesting();
-  EXPECT_TRUE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_TRUE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest, StartFastInitiationAdvertising) {
@@ -792,7 +955,7 @@
   // EXPECT_EQ(NearbySharingService::StatusCodes::kTransferAlreadyInProgress,
   //           RegisterSendSurface(SendSurfaceState::kForeground));
   // EXPECT_FALSE(fake_nearby_connections_manager_->IsDiscovering());
-  // EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  // EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -806,7 +969,7 @@
       service_->RegisterSendSurface(&transfer_callback, &discovery_callback,
                                     SendSurfaceState::kBackground));
   EXPECT_FALSE(fake_nearby_connections_manager_->IsDiscovering());
-  EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -978,7 +1141,7 @@
       service_->RegisterSendSurface(&transfer_callback, &discovery_callback,
                                     SendSurfaceState::kForeground));
   EXPECT_FALSE(fake_nearby_connections_manager_->IsDiscovering());
-  EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 INSTANTIATE_TEST_SUITE_P(NearbySharingServiceImplTest,
@@ -997,7 +1160,7 @@
       service_->RegisterSendSurface(&transfer_callback, &discovery_callback,
                                     SendSurfaceState::kForeground));
   EXPECT_FALSE(fake_nearby_connections_manager_->IsDiscovering());
-  EXPECT_TRUE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_TRUE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1015,7 +1178,7 @@
   prefs_.SetBoolean(prefs::kNearbySharingEnabledPrefName, false);
   service_->FlushMojoForTesting();
   EXPECT_FALSE(fake_nearby_connections_manager_->IsDiscovering());
-  EXPECT_TRUE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_TRUE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest, UnregisterSendSurfaceStopsDiscovering) {
@@ -1033,7 +1196,7 @@
       NearbySharingService::StatusCodes::kOk,
       service_->UnregisterSendSurface(&transfer_callback, &discovery_callback));
   EXPECT_FALSE(fake_nearby_connections_manager_->IsDiscovering());
-  EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1077,7 +1240,7 @@
   EXPECT_EQ(result, NearbySharingService::StatusCodes::kOk);
   EXPECT_TRUE(fake_nearby_connections_manager_->IsAdvertising());
   EXPECT_EQ(PowerLevel::kHighPower,
-            fake_nearby_connections_manager_->GetAdvertisingPowerLevel());
+            fake_nearby_connections_manager_->advertising_power_level());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1092,7 +1255,7 @@
   EXPECT_EQ(result, NearbySharingService::StatusCodes::kOk);
   EXPECT_TRUE(fake_nearby_connections_manager_->IsAdvertising());
   EXPECT_EQ(PowerLevel::kLowPower,
-            fake_nearby_connections_manager_->GetAdvertisingPowerLevel());
+            fake_nearby_connections_manager_->advertising_power_level());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1137,7 +1300,7 @@
       &callback, NearbySharingService::ReceiveSurfaceState::kForeground);
   EXPECT_EQ(result, NearbySharingService::StatusCodes::kOk);
   EXPECT_FALSE(fake_nearby_connections_manager_->IsAdvertising());
-  EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1154,14 +1317,14 @@
   EXPECT_EQ(result, NearbySharingService::StatusCodes::kOk);
   EXPECT_TRUE(fake_nearby_connections_manager_->IsAdvertising());
   EXPECT_EQ(DataUsage::kOffline,
-            fake_nearby_connections_manager_->GetAdvertisingDataUsage());
+            fake_nearby_connections_manager_->advertising_data_usage());
 
   prefs_.SetInteger(prefs::kNearbySharingDataUsageName,
                     static_cast<int>(DataUsage::kOnline));
   service_->FlushMojoForTesting();
   EXPECT_TRUE(fake_nearby_connections_manager_->IsAdvertising());
   EXPECT_EQ(DataUsage::kOnline,
-            fake_nearby_connections_manager_->GetAdvertisingDataUsage());
+            fake_nearby_connections_manager_->advertising_data_usage());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1184,7 +1347,7 @@
       &callback, NearbySharingService::ReceiveSurfaceState::kForeground);
   EXPECT_EQ(result, NearbySharingService::StatusCodes::kOk);
   EXPECT_FALSE(fake_nearby_connections_manager_->IsAdvertising());
-  EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest, WifiRegisterReceiveSurfaceIsAdvertising) {
@@ -1254,7 +1417,7 @@
       &callback, NearbySharingService::ReceiveSurfaceState::kForeground);
   EXPECT_EQ(result, NearbySharingService::StatusCodes::kOk);
   EXPECT_FALSE(fake_nearby_connections_manager_->IsAdvertising());
-  EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1268,7 +1431,7 @@
       &callback, NearbySharingService::ReceiveSurfaceState::kForeground);
   EXPECT_EQ(result, NearbySharingService::StatusCodes::kOk);
   EXPECT_FALSE(fake_nearby_connections_manager_->IsAdvertising());
-  EXPECT_TRUE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_TRUE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1284,7 +1447,7 @@
   prefs_.SetBoolean(prefs::kNearbySharingEnabledPrefName, false);
   service_->FlushMojoForTesting();
   EXPECT_FALSE(fake_nearby_connections_manager_->IsAdvertising());
-  EXPECT_TRUE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_TRUE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1312,7 +1475,7 @@
       &callback, NearbySharingService::ReceiveSurfaceState::kBackground);
   EXPECT_EQ(result, NearbySharingService::StatusCodes::kOk);
   EXPECT_FALSE(fake_nearby_connections_manager_->IsAdvertising());
-  EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1332,7 +1495,7 @@
                     static_cast<int>(Visibility::kNoOne));
   service_->FlushMojoForTesting();
   EXPECT_FALSE(fake_nearby_connections_manager_->IsAdvertising());
-  EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1347,7 +1510,7 @@
       &callback, NearbySharingService::ReceiveSurfaceState::kBackground);
   EXPECT_EQ(result, NearbySharingService::StatusCodes::kOk);
   EXPECT_FALSE(fake_nearby_connections_manager_->IsAdvertising());
-  EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 
   prefs_.SetInteger(prefs::kNearbySharingBackgroundVisibilityName,
                     static_cast<int>(Visibility::kSelectedContacts));
@@ -1420,7 +1583,7 @@
       service_->UnregisterReceiveSurface(&callback);
   EXPECT_EQ(result2, NearbySharingService::StatusCodes::kOk);
   EXPECT_FALSE(fake_nearby_connections_manager_->IsAdvertising());
-  EXPECT_FALSE(fake_nearby_connections_manager_->IsShutdown());
+  EXPECT_FALSE(fake_nearby_connections_manager_->is_shutdown());
 }
 
 TEST_F(NearbySharingServiceImplTest,
@@ -1462,7 +1625,8 @@
   NiceMock<MockTransferUpdateCallback> callback;
   EXPECT_CALL(callback, OnTransferUpdate(testing::_, testing::_)).Times(0);
 
-  SetUpKeyVerification(sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
+  SetUpKeyVerification(/*is_incoming=*/true,
+                       sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
   SetUpForegroundReceiveSurface(callback);
   service_->OnIncomingConnection(kEndpointId, kValidV1EndpointInfo,
                                  &connection_);
@@ -1508,7 +1672,8 @@
         run_loop.Quit();
       }));
 
-  SetUpKeyVerification(sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
+  SetUpKeyVerification(/*is_incoming=*/true,
+                       sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
   SetUpForegroundReceiveSurface(callback);
   service_->OnIncomingConnection(kEndpointId, kValidV1EndpointInfo,
                                  &connection_);
@@ -1559,7 +1724,8 @@
         run_loop.Quit();
       }));
 
-  SetUpKeyVerification(sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
+  SetUpKeyVerification(/*is_incoming=*/true,
+                       sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
   SetUpForegroundReceiveSurface(callback);
   service_->OnIncomingConnection(kEndpointId, kValidV1EndpointInfo,
                                  &connection_);
@@ -1617,15 +1783,7 @@
   SetUpAdvertisementDecoder(kValidV1EndpointInfo,
                             /*return_empty_advertisement=*/false);
 
-  base::FilePath file_path =
-      DownloadPrefs::FromDownloadManager(
-          content::BrowserContext::GetDownloadManager(profile_))
-          ->DownloadPath();
-  int64_t free_space = base::SysInfo::AmountOfFreeDiskSpace(file_path);
-
-  // Might return -1 for failure.
-  if (free_space < 0)
-    free_space = 0;
+  int64_t free_space = GetFreeSpaceInDownloadPath(profile_);
 
   // Set a huge file size in introduction frame to go out of storage.
   std::string intro = "introduction_frame";
@@ -1681,7 +1839,8 @@
         run_loop.Quit();
       }));
 
-  SetUpKeyVerification(sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
+  SetUpKeyVerification(/*is_incoming=*/true,
+                       sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
   SetUpForegroundReceiveSurface(callback);
   service_->OnIncomingConnection(kEndpointId, kValidV1EndpointInfo,
                                  &connection_);
@@ -1754,7 +1913,8 @@
         run_loop.Quit();
       }));
 
-  SetUpKeyVerification(sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
+  SetUpKeyVerification(/*is_incoming=*/true,
+                       sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
   SetUpForegroundReceiveSurface(callback);
   service_->OnIncomingConnection(kEndpointId, kValidV1EndpointInfo,
                                  &connection_);
@@ -1802,7 +1962,8 @@
         run_loop.Quit();
       }));
 
-  SetUpKeyVerification(sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
+  SetUpKeyVerification(/*is_incoming=*/true,
+                       sharing::mojom::PairedKeyResultFrame_Status::kSuccess);
   SetUpForegroundReceiveSurface(callback);
   service_->OnIncomingConnection(kEndpointId, kValidV1EndpointInfo,
                                  &connection_);
@@ -1954,7 +2115,8 @@
         run_loop.Quit();
       }));
 
-  SetUpKeyVerification(sharing::mojom::PairedKeyResultFrame_Status::kUnable);
+  SetUpKeyVerification(/*is_incoming=*/true,
+                       sharing::mojom::PairedKeyResultFrame_Status::kUnable);
   SetUpForegroundReceiveSurface(callback);
 
   service_->OnIncomingConnection(kEndpointId, kValidV1EndpointInfo,
@@ -2007,7 +2169,8 @@
         run_loop.Quit();
       }));
 
-  SetUpKeyVerification(sharing::mojom::PairedKeyResultFrame_Status::kUnable);
+  SetUpKeyVerification(/*is_incoming=*/true,
+                       sharing::mojom::PairedKeyResultFrame_Status::kUnable);
 
   NearbySharingService::StatusCodes result = service_->RegisterReceiveSurface(
       &callback, NearbySharingService::ReceiveSurfaceState::kBackground);
@@ -2040,7 +2203,8 @@
   SetConnectionType(net::NetworkChangeNotifier::CONNECTION_WIFI);
   NiceMock<MockTransferUpdateCallback> callback;
 
-  SetUpKeyVerification(sharing::mojom::PairedKeyResultFrame_Status::kFail);
+  SetUpKeyVerification(/*is_incoming=*/true,
+                       sharing::mojom::PairedKeyResultFrame_Status::kFail);
   SetUpForegroundReceiveSurface(callback);
 
   // Ensures that introduction is never received for failed key verification.
@@ -2089,3 +2253,273 @@
   // To avoid UAF in OnIncomingTransferUpdate().
   service_->UnregisterReceiveSurface(&callback);
 }
+
+TEST_F(NearbySharingServiceImplTest, RegisterReceiveSurfaceWhileSending) {
+  MockTransferUpdateCallback transfer_callback;
+  MockShareTargetDiscoveredCallback discovery_callback;
+  ShareTarget target =
+      SetUpOutgoingShareTarget(transfer_callback, discovery_callback);
+
+  base::RunLoop run_loop;
+  ExpectTransferUpdates(transfer_callback, target,
+                        {TransferMetadata::Status::kConnecting,
+                         TransferMetadata::Status::kAwaitingLocalConfirmation,
+                         TransferMetadata::Status::kAwaitingRemoteAcceptance},
+                        run_loop.QuitClosure());
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kOk,
+            service_->SendText(target, kTextPayload));
+  run_loop.Run();
+
+  NearbySharingService::StatusCodes result = service_->RegisterReceiveSurface(
+      &transfer_callback,
+      NearbySharingService::ReceiveSurfaceState::kForeground);
+  EXPECT_EQ(result,
+            NearbySharingService::StatusCodes::kTransferAlreadyInProgress);
+
+  service_->UnregisterSendSurface(&transfer_callback, &discovery_callback);
+}
+
+TEST_F(NearbySharingServiceImplTest, SendText_AlreadySending) {
+  MockTransferUpdateCallback transfer_callback;
+  MockShareTargetDiscoveredCallback discovery_callback;
+  ShareTarget target =
+      SetUpOutgoingShareTarget(transfer_callback, discovery_callback);
+
+  base::RunLoop run_loop;
+  ExpectTransferUpdates(transfer_callback, target,
+                        {TransferMetadata::Status::kConnecting,
+                         TransferMetadata::Status::kAwaitingLocalConfirmation,
+                         TransferMetadata::Status::kAwaitingRemoteAcceptance},
+                        run_loop.QuitClosure());
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kOk,
+            service_->SendText(target, kTextPayload));
+  run_loop.Run();
+
+  // We're now in the sending state, try to send again should fail
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kError,
+            service_->SendText(target, kTextPayload));
+
+  service_->UnregisterSendSurface(&transfer_callback, &discovery_callback);
+}
+
+TEST_F(NearbySharingServiceImplTest, SendText_WithoutScanning) {
+  ShareTarget target;
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kError,
+            service_->SendText(target, kTextPayload));
+}
+
+TEST_F(NearbySharingServiceImplTest, SendText_UnknownTarget) {
+  MockTransferUpdateCallback transfer_callback;
+  MockShareTargetDiscoveredCallback discovery_callback;
+  DiscoverShareTarget(transfer_callback, discovery_callback);
+
+  ShareTarget target;
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kError,
+            service_->SendText(target, kTextPayload));
+  service_->UnregisterSendSurface(&transfer_callback, &discovery_callback);
+}
+
+TEST_F(NearbySharingServiceImplTest, SendText_FailedCreateEndpointInfo) {
+  // Set name with too many characters.
+  local_device_data_manager()->SetDeviceName(std::string(300, 'a'));
+
+  MockTransferUpdateCallback transfer_callback;
+  MockShareTargetDiscoveredCallback discovery_callback;
+  ShareTarget target =
+      DiscoverShareTarget(transfer_callback, discovery_callback);
+
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kError,
+            service_->SendText(target, kTextPayload));
+
+  service_->UnregisterSendSurface(&transfer_callback, &discovery_callback);
+}
+
+TEST_F(NearbySharingServiceImplTest, SendText_FailedToConnect) {
+  MockTransferUpdateCallback transfer_callback;
+  MockShareTargetDiscoveredCallback discovery_callback;
+  // Call DiscoverShareTarget() instead of SetUpOutgoingShareTarget() as we want
+  // to fail before key verification is done.
+  ShareTarget target =
+      DiscoverShareTarget(transfer_callback, discovery_callback);
+
+  base::RunLoop run_loop;
+  ExpectTransferUpdates(transfer_callback, target,
+                        {TransferMetadata::Status::kConnecting,
+                         TransferMetadata::Status::kFailed},
+                        run_loop.QuitClosure());
+
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kOk,
+            service_->SendText(target, kTextPayload));
+  run_loop.Run();
+
+  service_->UnregisterSendSurface(&transfer_callback, &discovery_callback);
+}
+
+TEST_F(NearbySharingServiceImplTest, SendText_FailedKeyVerification) {
+  MockTransferUpdateCallback transfer_callback;
+  MockShareTargetDiscoveredCallback discovery_callback;
+  ShareTarget target =
+      DiscoverShareTarget(transfer_callback, discovery_callback);
+
+  base::RunLoop run_loop;
+  ExpectTransferUpdates(
+      transfer_callback, target,
+      {TransferMetadata::Status::kConnecting, TransferMetadata::Status::kFailed,
+       // TODO(crbug.com/1085067): Filter updates after the first final one.
+       TransferMetadata::Status::kAwaitingRemoteAcceptanceFailed},
+      run_loop.QuitClosure());
+
+  SetUpKeyVerification(/*is_incoming=*/false,
+                       sharing::mojom::PairedKeyResultFrame_Status::kFail);
+  fake_nearby_connections_manager_->SetRawAuthenticationToken(kEndpointId,
+                                                              kToken);
+  fake_nearby_connections_manager_->set_nearby_connection(&connection_);
+
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kOk,
+            service_->SendText(target, kTextPayload));
+  run_loop.Run();
+
+  service_->UnregisterSendSurface(&transfer_callback, &discovery_callback);
+}
+
+TEST_F(NearbySharingServiceImplTest, SendText_UnableToVerifyKey) {
+  MockTransferUpdateCallback transfer_callback;
+  MockShareTargetDiscoveredCallback discovery_callback;
+  ShareTarget target =
+      DiscoverShareTarget(transfer_callback, discovery_callback);
+
+  base::RunLoop run_loop;
+  ExpectTransferUpdates(transfer_callback, target,
+                        {TransferMetadata::Status::kConnecting,
+                         TransferMetadata::Status::kAwaitingLocalConfirmation,
+                         TransferMetadata::Status::kAwaitingRemoteAcceptance},
+                        run_loop.QuitClosure());
+
+  SetUpKeyVerification(/*is_incoming=*/false,
+                       sharing::mojom::PairedKeyResultFrame_Status::kUnable);
+  fake_nearby_connections_manager_->SetRawAuthenticationToken(kEndpointId,
+                                                              kToken);
+  fake_nearby_connections_manager_->set_nearby_connection(&connection_);
+
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kOk,
+            service_->SendText(target, kTextPayload));
+  run_loop.Run();
+
+  service_->UnregisterSendSurface(&transfer_callback, &discovery_callback);
+}
+
+TEST_P(NearbySharingServiceImplSendFailureTest, SendText_RemoteFailure) {
+  MockTransferUpdateCallback transfer_callback;
+  MockShareTargetDiscoveredCallback discovery_callback;
+  ShareTarget target =
+      SetUpOutgoingShareTarget(transfer_callback, discovery_callback);
+
+  base::RunLoop introduction_run_loop;
+  ExpectTransferUpdates(transfer_callback, target,
+                        {TransferMetadata::Status::kConnecting,
+                         TransferMetadata::Status::kAwaitingLocalConfirmation,
+                         TransferMetadata::Status::kAwaitingRemoteAcceptance},
+                        introduction_run_loop.QuitClosure());
+
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kOk,
+            service_->SendText(target, kTextPayload));
+  introduction_run_loop.Run();
+
+  // Verify data sent to the remote device so far.
+  ExpectPairedKeyEncryptionFrame();
+  ExpectPairedKeyResultFrame();
+  ExpectIntroductionFrame();
+
+  // We're now waiting for the remote device to respond with the accept result.
+  base::RunLoop reject_run_loop;
+  ExpectTransferUpdates(
+      transfer_callback, target,
+      {GetParam().expected_status,
+       // TODO(crbug.com/1085067): Filter updates after the first final one.
+       TransferMetadata::Status::kAwaitingRemoteAcceptanceFailed},
+      reject_run_loop.QuitClosure());
+
+  // Cancel the transfer by rejecting it.
+  SendConnectionResponse(GetParam().response_status);
+  reject_run_loop.Run();
+
+  EXPECT_TRUE(connection_.IsClosed());
+
+  service_->UnregisterSendSurface(&transfer_callback, &discovery_callback);
+}
+
+INSTANTIATE_TEST_SUITE_P(NearbySharingServiceImplSendFailureTest,
+                         NearbySharingServiceImplSendFailureTest,
+                         testing::ValuesIn(kSendFailureTestData));
+
+TEST_F(NearbySharingServiceImplTest, SendText_Success) {
+  MockTransferUpdateCallback transfer_callback;
+  MockShareTargetDiscoveredCallback discovery_callback;
+  ShareTarget target =
+      SetUpOutgoingShareTarget(transfer_callback, discovery_callback);
+
+  base::RunLoop introduction_run_loop;
+  ExpectTransferUpdates(transfer_callback, target,
+                        {TransferMetadata::Status::kConnecting,
+                         TransferMetadata::Status::kAwaitingLocalConfirmation,
+                         TransferMetadata::Status::kAwaitingRemoteAcceptance},
+                        introduction_run_loop.QuitClosure());
+
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kOk,
+            service_->SendText(target, kTextPayload));
+  introduction_run_loop.Run();
+
+  // Verify data sent to the remote device so far.
+  ExpectPairedKeyEncryptionFrame();
+  ExpectPairedKeyResultFrame();
+  ExpectIntroductionFrame();
+
+  // Expect the text payload to be sent in the end.
+  base::RunLoop payload_run_loop;
+  fake_nearby_connections_manager_->set_send_payload_callback(
+      base::BindLambdaForTesting(
+          [&](NearbyConnectionsManager::PayloadPtr payload) {
+            ASSERT_TRUE(payload->content->is_bytes());
+            std::vector<uint8_t> bytes = payload->content->get_bytes()->bytes;
+            std::string sent = std::string(bytes.begin(), bytes.end());
+            EXPECT_EQ(kTextPayload, sent);
+            payload_run_loop.Quit();
+          }));
+
+  // We're now waiting for the remote device to respond with the accept result.
+  base::RunLoop accept_run_loop;
+  ExpectTransferUpdates(transfer_callback, target,
+                        {TransferMetadata::Status::kInProgress},
+                        accept_run_loop.QuitClosure());
+
+  // Kick off send process by accepting the transfer from the remote device.
+  SendConnectionResponse(
+      sharing::mojom::ConnectionResponseFrame::Status::kAccept);
+
+  accept_run_loop.Run();
+  payload_run_loop.Run();
+
+  service_->UnregisterSendSurface(&transfer_callback, &discovery_callback);
+}
+
+TEST_F(NearbySharingServiceImplTest, SendFiles) {
+  MockTransferUpdateCallback transfer_callback;
+  MockShareTargetDiscoveredCallback discovery_callback;
+  ShareTarget target =
+      SetUpOutgoingShareTarget(transfer_callback, discovery_callback);
+
+  base::FilePath path = CreateTestFile("Example file");
+
+  base::RunLoop run_loop;
+  ExpectTransferUpdates(transfer_callback, target,
+                        {TransferMetadata::Status::kConnecting,
+                         TransferMetadata::Status::kAwaitingLocalConfirmation,
+                         TransferMetadata::Status::kAwaitingRemoteAcceptance},
+                        run_loop.QuitClosure());
+
+  EXPECT_EQ(NearbySharingServiceImpl::StatusCodes::kOk,
+            service_->SendFiles(target, {path}));
+  run_loop.Run();
+
+  service_->UnregisterSendSurface(&transfer_callback, &discovery_callback);
+}
diff --git a/chrome/browser/nearby_sharing/outgoing_share_target_info.cc b/chrome/browser/nearby_sharing/outgoing_share_target_info.cc
index d7172da..bb5c8ff7 100644
--- a/chrome/browser/nearby_sharing/outgoing_share_target_info.cc
+++ b/chrome/browser/nearby_sharing/outgoing_share_target_info.cc
@@ -13,3 +13,13 @@
     OutgoingShareTargetInfo&&) = default;
 
 OutgoingShareTargetInfo::~OutgoingShareTargetInfo() = default;
+
+std::vector<OutgoingShareTargetInfo::PayloadPtr>
+OutgoingShareTargetInfo::ExtractTextPayloads() {
+  return std::move(text_payloads_);
+}
+
+std::vector<OutgoingShareTargetInfo::PayloadPtr>
+OutgoingShareTargetInfo::ExtractFilePayloads() {
+  return std::move(file_payloads_);
+}
diff --git a/chrome/browser/nearby_sharing/outgoing_share_target_info.h b/chrome/browser/nearby_sharing/outgoing_share_target_info.h
index 5d111e1..18b5b73 100644
--- a/chrome/browser/nearby_sharing/outgoing_share_target_info.h
+++ b/chrome/browser/nearby_sharing/outgoing_share_target_info.h
@@ -46,6 +46,9 @@
     file_payloads_ = std::move(payloads);
   }
 
+  std::vector<PayloadPtr> ExtractTextPayloads();
+  std::vector<PayloadPtr> ExtractFilePayloads();
+
  private:
   base::Optional<std::string> obfuscated_gaia_id_;
   std::vector<PayloadPtr> text_payloads_;
diff --git a/chrome/browser/nearby_sharing/payload_tracker.cc b/chrome/browser/nearby_sharing/payload_tracker.cc
new file mode 100644
index 0000000..afd4072
--- /dev/null
+++ b/chrome/browser/nearby_sharing/payload_tracker.cc
@@ -0,0 +1,155 @@
+// 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/nearby_sharing/payload_tracker.h"
+
+#include "base/callback.h"
+#include "chrome/browser/nearby_sharing/constants.h"
+#include "chrome/browser/nearby_sharing/logging/logging.h"
+#include "chrome/browser/nearby_sharing/transfer_metadata_builder.h"
+
+PayloadTracker::PayloadTracker(
+    const ShareTarget& share_target,
+    const base::flat_map<int64_t, AttachmentInfo>& attachment_info_map,
+    base::RepeatingCallback<void(ShareTarget, TransferMetadata)>
+        update_callback)
+    : share_target_(share_target),
+      update_callback_(std::move(update_callback)) {
+  total_download_size_ = 0;
+
+  for (const auto& file : share_target.file_attachments) {
+    auto it = attachment_info_map.find(file.id());
+    if (it == attachment_info_map.end() || !it->second.payload_id) {
+      NS_LOG(WARNING)
+          << __func__
+          << ": Failed to retrieve payload for file attachment id - "
+          << file.id();
+      continue;
+    }
+
+    payload_state_.emplace(*it->second.payload_id, State(file.size()));
+    total_download_size_ += file.size();
+  }
+
+  for (const auto& text : share_target.text_attachments) {
+    auto it = attachment_info_map.find(text.id());
+    if (it == attachment_info_map.end() || !it->second.payload_id) {
+      NS_LOG(WARNING)
+          << __func__
+          << ": Failed to retrieve payload for text  attachment id - "
+          << text.id();
+      continue;
+    }
+
+    payload_state_.emplace(*it->second.payload_id, State(text.size()));
+    total_download_size_ += text.size();
+  }
+}
+
+PayloadTracker::~PayloadTracker() = default;
+
+void PayloadTracker::OnStatusUpdate(PayloadTransferUpdatePtr update) {
+  auto it = payload_state_.find(update->payload_id);
+  if (it == payload_state_.end())
+    return;
+
+  it->second.amount_downloaded = update->bytes_transferred;
+  it->second.status = update->status;
+
+  NS_LOG(VERBOSE) << __func__ << ": Payload id " << update->payload_id
+                  << " has status " << update->status;
+  OnTransferUpdate();
+}
+
+void PayloadTracker::OnTransferUpdate() {
+  if (IsComplete()) {
+    NS_LOG(VERBOSE) << __func__ << ": All payloads are complete.";
+    update_callback_.Run(share_target_,
+                         TransferMetadataBuilder()
+                             .set_status(TransferMetadata::Status::kComplete)
+                             .build());
+    return;
+  }
+
+  if (IsCancelled()) {
+    NS_LOG(VERBOSE) << __func__ << ": Payloads cancelled.";
+    update_callback_.Run(share_target_,
+                         TransferMetadataBuilder()
+                             .set_status(TransferMetadata::Status::kCancelled)
+                             .build());
+    return;
+  }
+
+  if (HasFailed()) {
+    NS_LOG(VERBOSE) << __func__ << ": Payloads failed.";
+    update_callback_.Run(share_target_,
+                         TransferMetadataBuilder()
+                             .set_status(TransferMetadata::Status::kFailed)
+                             .build());
+    return;
+  }
+
+  double percent = CalculateProgressPercent();
+  int current_progress = static_cast<int>(percent * 100);
+  base::Time current_time = base::Time::Now();
+
+  if (current_progress == last_update_progress_ ||
+      (current_time - last_update_timestamp_) < kMinProgressUpdateFrequency) {
+    return;
+  }
+
+  NS_LOG(VERBOSE) << __func__ << ": Payloads are in progress at " << percent
+                  << " percent.";
+  last_update_progress_ = current_progress;
+  last_update_timestamp_ = current_time;
+
+  update_callback_.Run(share_target_,
+                       TransferMetadataBuilder()
+                           .set_status(TransferMetadata::Status::kInProgress)
+                           .set_progress(percent)
+                           .build());
+}
+
+bool PayloadTracker::IsComplete() {
+  for (const auto& state : payload_state_) {
+    if (state.second.status !=
+        location::nearby::connections::mojom::PayloadStatus::kSuccess) {
+      return false;
+    }
+  }
+  return true;
+}
+
+bool PayloadTracker::IsCancelled() {
+  for (const auto& state : payload_state_) {
+    if (state.second.status ==
+        location::nearby::connections::mojom::PayloadStatus::kCanceled) {
+      return true;
+    }
+  }
+  return false;
+}
+
+bool PayloadTracker::HasFailed() {
+  for (const auto& state : payload_state_) {
+    if (state.second.status ==
+        location::nearby::connections::mojom::PayloadStatus::kFailure) {
+      return true;
+    }
+  }
+  return false;
+}
+
+double PayloadTracker::CalculateProgressPercent() {
+  if (!total_download_size_) {
+    NS_LOG(WARNING) << __func__ << ": Total attachment size is 0";
+    return 100.0;
+  }
+
+  uint64_t total_downloaded = 0;
+  for (const auto& state : payload_state_)
+    total_downloaded += state.second.amount_downloaded;
+
+  return (100.0 * total_downloaded) / total_download_size_;
+}
diff --git a/chrome/browser/nearby_sharing/payload_tracker.h b/chrome/browser/nearby_sharing/payload_tracker.h
new file mode 100644
index 0000000..d47f79e
--- /dev/null
+++ b/chrome/browser/nearby_sharing/payload_tracker.h
@@ -0,0 +1,60 @@
+// 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_NEARBY_SHARING_PAYLOAD_TRACKER_H_
+#define CHROME_BROWSER_NEARBY_SHARING_PAYLOAD_TRACKER_H_
+
+#include "base/callback_forward.h"
+#include "base/containers/flat_map.h"
+#include "base/time/time.h"
+#include "chrome/browser/nearby_sharing/attachment_info.h"
+#include "chrome/browser/nearby_sharing/nearby_connections_manager.h"
+#include "chrome/browser/nearby_sharing/share_target.h"
+#include "chrome/browser/nearby_sharing/transfer_metadata.h"
+#include "chrome/services/sharing/public/mojom/nearby_connections_types.mojom.h"
+
+class PayloadTracker : public NearbyConnectionsManager::PayloadStatusListener {
+ public:
+  PayloadTracker(
+      const ShareTarget& share_target,
+      const base::flat_map<int64_t, AttachmentInfo>& attachment_info_map,
+      base::RepeatingCallback<void(ShareTarget, TransferMetadata)>
+          update_callback);
+  ~PayloadTracker() override;
+
+  // NearbyConnectionsManager::PayloadStatusListener:
+  void OnStatusUpdate(PayloadTransferUpdatePtr update) override;
+
+ private:
+  struct State {
+    explicit State(int64_t total_size) : total_size(total_size) {}
+    ~State() = default;
+
+    uint64_t amount_downloaded = 0;
+    const uint64_t total_size;
+    location::nearby::connections::mojom::PayloadStatus status =
+        location::nearby::connections::mojom::PayloadStatus::kInProgress;
+  };
+
+  void OnTransferUpdate();
+
+  bool IsComplete();
+  bool IsCancelled();
+  bool HasFailed();
+
+  double CalculateProgressPercent();
+
+  ShareTarget share_target_;
+  base::RepeatingCallback<void(ShareTarget, TransferMetadata)> update_callback_;
+
+  // Map of payload id to state of payload.
+  std::map<int64_t, State> payload_state_;
+
+  uint64_t total_download_size_;
+
+  int last_update_progress_ = 0;
+  base::Time last_update_timestamp_;
+};
+
+#endif  // CHROME_BROWSER_NEARBY_SHARING_PAYLOAD_TRACKER_H_
diff --git a/chrome/browser/nearby_sharing/payload_tracker_unittest.cc b/chrome/browser/nearby_sharing/payload_tracker_unittest.cc
new file mode 100644
index 0000000..97cd0ec
--- /dev/null
+++ b/chrome/browser/nearby_sharing/payload_tracker_unittest.cc
@@ -0,0 +1,221 @@
+// 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/nearby_sharing/payload_tracker.h"
+
+#include <memory>
+
+#include "base/test/mock_callback.h"
+#include "chrome/browser/nearby_sharing/constants.h"
+#include "chrome/browser/nearby_sharing/transfer_metadata_builder.h"
+#include "content/public/test/browser_task_environment.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace {
+// Total number of attachments.
+constexpr int kAttachmentCount = 4;
+
+// Size of each attachment.
+constexpr int kTotalSize = 10;
+
+}  // namespace
+
+MATCHER_P(MetadataMatcher, expected_metadata, "") {
+  return expected_metadata.status() == arg.status() &&
+         expected_metadata.progress() == arg.progress();
+}
+
+class PayloadTrackerTest : public testing::Test {
+ public:
+  using MockUpdateCallback = base::MockCallback<
+      base::RepeatingCallback<void(ShareTarget, TransferMetadata)>>;
+
+  PayloadTrackerTest()
+      : task_environment_(base::test::TaskEnvironment::TimeSource::MOCK_TIME) {}
+  ~PayloadTrackerTest() override = default;
+
+  void SetUp() override {
+    for (int i = 0; i < kAttachmentCount / 2; i++) {
+      FileAttachment file(/*file_name=*/"file.jpg",
+                          FileAttachment::Type::kImage, kTotalSize,
+                          /*file_path=*/base::nullopt,
+                          /*mime_type=*/"example");
+
+      AttachmentInfo info;
+      info.payload_id = i;
+      attachment_info_map_.emplace(file.id(), std::move(info));
+
+      share_target_.file_attachments.push_back(std::move(file));
+    }
+
+    for (int i = kAttachmentCount / 2; i < kAttachmentCount; i++) {
+      TextAttachment text(TextAttachment::Type::kText, "text body.");
+
+      AttachmentInfo info;
+      info.payload_id = i;
+      attachment_info_map_.emplace(text.id(), std::move(info));
+
+      share_target_.text_attachments.push_back(std::move(text));
+    }
+
+    // This attachment is not added to |attachment_info_map_|.
+    TextAttachment text(TextAttachment::Type::kText, "text body.");
+    share_target_.text_attachments.push_back(std::move(text));
+
+    payload_tracker_ = std::make_unique<PayloadTracker>(
+        share_target_, attachment_info_map_, callback_.Get());
+  }
+
+  MockUpdateCallback& callback() { return callback_; }
+
+  void MarkSuccessful(int payload_id) {
+    UpdatePayloadStatus(
+        payload_id,
+        location::nearby::connections::mojom::PayloadStatus::kSuccess);
+  }
+
+  void MarkCancelled(int payload_id) {
+    UpdatePayloadStatus(
+        payload_id,
+        location::nearby::connections::mojom::PayloadStatus::kCanceled);
+  }
+
+  void MarkFailure(int payload_id) {
+    UpdatePayloadStatus(
+        payload_id,
+        location::nearby::connections::mojom::PayloadStatus::kFailure);
+  }
+
+  void WaitBetweenUpdates() {
+    task_environment_.FastForwardBy(kMinProgressUpdateFrequency);
+  }
+
+ private:
+  void UpdatePayloadStatus(
+      int payload_id,
+      location::nearby::connections::mojom::PayloadStatus status) {
+    location::nearby::connections::mojom::PayloadTransferUpdatePtr payload =
+        location::nearby::connections::mojom::PayloadTransferUpdate::New(
+            payload_id, status,
+            /*total_bytes=*/kTotalSize, /*bytes_transferred=*/kTotalSize);
+    payload_tracker_->OnStatusUpdate(std::move(payload));
+  }
+
+  content::BrowserTaskEnvironment task_environment_;
+  ShareTarget share_target_;
+  base::flat_map<int64_t, AttachmentInfo> attachment_info_map_;
+  MockUpdateCallback callback_;
+  std::unique_ptr<PayloadTracker> payload_tracker_;
+};
+
+// Tests update callback when all payloads are completed.
+TEST_F(PayloadTrackerTest, PayloadsComplete_Successful) {
+  EXPECT_CALL(
+      callback(),
+      Run(testing::_,
+          MetadataMatcher(TransferMetadataBuilder()
+                              .set_status(TransferMetadata::Status::kInProgress)
+                              .set_progress(25)
+                              .build())));
+  EXPECT_CALL(
+      callback(),
+      Run(testing::_,
+          MetadataMatcher(TransferMetadataBuilder()
+                              .set_status(TransferMetadata::Status::kInProgress)
+                              .set_progress(50)
+                              .build())));
+  EXPECT_CALL(
+      callback(),
+      Run(testing::_,
+          MetadataMatcher(TransferMetadataBuilder()
+                              .set_status(TransferMetadata::Status::kInProgress)
+                              .set_progress(75)
+                              .build())));
+  EXPECT_CALL(
+      callback(),
+      Run(testing::_,
+          MetadataMatcher(TransferMetadataBuilder()
+                              .set_status(TransferMetadata::Status::kComplete)
+                              .build())));
+
+  for (int payload_id = 0; payload_id < kAttachmentCount; payload_id++) {
+    MarkSuccessful(payload_id);
+    WaitBetweenUpdates();
+  }
+}
+
+// Tests update callback when one of the payload fails.
+TEST_F(PayloadTrackerTest, PayloadsComplete_PartialFailure) {
+  EXPECT_CALL(
+      callback(),
+      Run(testing::_,
+          MetadataMatcher(TransferMetadataBuilder()
+                              .set_status(TransferMetadata::Status::kFailed)
+                              .build())));
+
+  MarkFailure(/*payload_id=*/0);
+}
+
+// Tests update callback when one of the payload gets cancelled.
+TEST_F(PayloadTrackerTest, PayloadsComplete_PartialCancelled) {
+  EXPECT_CALL(
+      callback(),
+      Run(testing::_,
+          MetadataMatcher(TransferMetadataBuilder()
+                              .set_status(TransferMetadata::Status::kCancelled)
+                              .build())));
+
+  MarkCancelled(/*payload_id=*/1);
+}
+
+// Tests update callback when the payloads are still being received.
+TEST_F(PayloadTrackerTest, PayloadsInProgress) {
+  EXPECT_CALL(
+      callback(),
+      Run(testing::_,
+          MetadataMatcher(TransferMetadataBuilder()
+                              .set_status(TransferMetadata::Status::kInProgress)
+                              .set_progress(25)
+                              .build())));
+
+  MarkSuccessful(/*payload_id=*/0);
+}
+
+// Tests update callback when a status update is received, but there is no
+// change in the percentage of received data.
+TEST_F(PayloadTrackerTest, MultipleInProgressUpdates_SamePercentage) {
+  EXPECT_CALL(
+      callback(),
+      Run(testing::_,
+          MetadataMatcher(TransferMetadataBuilder()
+                              .set_status(TransferMetadata::Status::kInProgress)
+                              .set_progress(25)
+                              .build())));
+
+  MarkSuccessful(/*payload_id=*/0);
+  WaitBetweenUpdates();
+  MarkSuccessful(/*payload_id=*/0);
+}
+
+// Tests update callback when a status update is received in almost the same
+// time as the last update.
+TEST_F(PayloadTrackerTest, MultipleInProgressUpdates_HighFrequency) {
+  EXPECT_CALL(
+      callback(),
+      Run(testing::_,
+          MetadataMatcher(TransferMetadataBuilder()
+                              .set_status(TransferMetadata::Status::kInProgress)
+                              .set_progress(25)
+                              .build())));
+
+  MarkSuccessful(/*payload_id=*/0);
+  MarkSuccessful(/*payload_id=*/1);
+}
+
+// Tests update callback when a status update for an unknown payload.
+TEST_F(PayloadTrackerTest, StatusUpdateForUnknownPayload) {
+  EXPECT_CALL(callback(), Run(testing::_, testing::_)).Times(0);
+
+  MarkSuccessful(/*payload_id=*/4);
+}
diff --git a/chrome/browser/nearby_sharing/share_target_discovered_callback.h b/chrome/browser/nearby_sharing/share_target_discovered_callback.h
index ac9d938..4d87248 100644
--- a/chrome/browser/nearby_sharing/share_target_discovered_callback.h
+++ b/chrome/browser/nearby_sharing/share_target_discovered_callback.h
@@ -11,9 +11,9 @@
 // Reports newly discovered devices.
 class ShareTargetDiscoveredCallback : public base::CheckedObserver {
  public:
-  virtual void OnShareTargetDiscovered(ShareTarget shareTarget) = 0;
+  virtual void OnShareTargetDiscovered(ShareTarget share_target) = 0;
 
-  virtual void OnShareTargetLost(ShareTarget shareTarget) = 0;
+  virtual void OnShareTargetLost(ShareTarget share_target) = 0;
 };
 
 #endif  // CHROME_BROWSER_NEARBY_SHARING_SHARE_TARGET_DISCOVERED_CALLBACK_H_
diff --git a/chrome/browser/nearby_sharing/share_target_info.h b/chrome/browser/nearby_sharing/share_target_info.h
index d44c8ce..bf335dc 100644
--- a/chrome/browser/nearby_sharing/share_target_info.h
+++ b/chrome/browser/nearby_sharing/share_target_info.h
@@ -12,6 +12,7 @@
 #include "chrome/browser/nearby_sharing/certificates/nearby_share_decrypted_public_certificate.h"
 #include "chrome/browser/nearby_sharing/incoming_frames_reader.h"
 #include "chrome/browser/nearby_sharing/paired_key_verification_runner.h"
+#include "chrome/browser/nearby_sharing/payload_tracker.h"
 
 class NearbyConnection;
 
@@ -65,6 +66,12 @@
     key_verification_runner_ = std::move(key_verification_runner);
   }
 
+  PayloadTracker* payload_tracker() { return payload_tracker_.get(); }
+
+  void set_payload_tracker(std::unique_ptr<PayloadTracker> payload_tracker) {
+    payload_tracker_ = std::move(payload_tracker);
+  }
+
  private:
   base::Optional<std::string> endpoint_id_;
   base::Optional<NearbyShareDecryptedPublicCertificate> certificate_;
@@ -72,6 +79,7 @@
   base::Optional<std::string> token_;
   std::unique_ptr<IncomingFramesReader> frames_reader_;
   std::unique_ptr<PairedKeyVerificationRunner> key_verification_runner_;
+  std::unique_ptr<PayloadTracker> payload_tracker_;
 };
 
 #endif  // CHROME_BROWSER_NEARBY_SHARING_SHARE_TARGET_INFO_H_
diff --git a/chrome/browser/nearby_sharing/transfer_metadata.h b/chrome/browser/nearby_sharing/transfer_metadata.h
index 5859fab..74cf94d9b 100644
--- a/chrome/browser/nearby_sharing/transfer_metadata.h
+++ b/chrome/browser/nearby_sharing/transfer_metadata.h
@@ -46,6 +46,8 @@
   TransferMetadata& operator=(const TransferMetadata&);
 
   Status status() const { return status_; }
+
+  // Returns transfer progress as percentage.
   float progress() const { return progress_; }
 
   // Represents the UKey2 token from Nearby Connection. base::nullopt if no
diff --git a/chrome/browser/nearby_sharing/transfer_update_callback.h b/chrome/browser/nearby_sharing/transfer_update_callback.h
index 3d582bd..adba4cad 100644
--- a/chrome/browser/nearby_sharing/transfer_update_callback.h
+++ b/chrome/browser/nearby_sharing/transfer_update_callback.h
@@ -9,11 +9,11 @@
 #include "chrome/browser/nearby_sharing/share_target.h"
 #include "chrome/browser/nearby_sharing/transfer_metadata.h"
 
-// Reports the transfer status for an ongoing transfer with a |ShareTarget|.
+// Reports the transfer status for an ongoing transfer with a |share_target|.
 class TransferUpdateCallback : public base::CheckedObserver {
  public:
-  virtual void OnTransferUpdate(const ShareTarget& shareTarget,
-                                const TransferMetadata& transferMetadata) = 0;
+  virtual void OnTransferUpdate(const ShareTarget& share_target,
+                                const TransferMetadata& transfer_metadata) = 0;
 };
 
 #endif  // CHROME_BROWSER_NEARBY_SHARING_TRANSFER_UPDATE_CALLBACK_H_
diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chrome_report_sender.cc
index 95dee58..761c040c 100644
--- a/chrome/browser/net/chrome_report_sender.cc
+++ b/chrome/browser/net/chrome_report_sender.cc
@@ -88,6 +88,7 @@
   resource_request->url = report_uri;
   resource_request->method = "POST";
   resource_request->load_flags = net::ReportSender::kLoadFlags;
+  resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
 
   auto loader = network::SimpleURLLoader::Create(std::move(resource_request),
                                                  traffic_annotation);
diff --git a/chrome/browser/net/chrome_report_sender.h b/chrome/browser/net/chrome_report_sender.h
index c06b11f6..5ecee62b 100644
--- a/chrome/browser/net/chrome_report_sender.h
+++ b/chrome/browser/net/chrome_report_sender.h
@@ -17,7 +17,7 @@
 }
 
 // Similar to net::ReportSender but uses network::SimpleURLLoader under the
-// hood.
+// hood. Reports sent with this function do not save or send credentials.
 void SendReport(
     scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
     net::NetworkTrafficAnnotationTag traffic_annotation,
diff --git a/chrome/browser/net/chrome_report_sender_unittest.cc b/chrome/browser/net/chrome_report_sender_unittest.cc
new file mode 100644
index 0000000..4649e126
--- /dev/null
+++ b/chrome/browser/net/chrome_report_sender_unittest.cc
@@ -0,0 +1,135 @@
+// 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/net/chrome_report_sender.h"
+
+#include <vector>
+
+#include "base/bind_helpers.h"
+#include "base/memory/scoped_refptr.h"
+#include "content/public/test/browser_task_environment.h"
+#include "net/base/load_flags.h"
+#include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
+#include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "services/network/public/mojom/url_loader.mojom.h"
+#include "services/network/public/mojom/url_response_head.mojom.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace {
+
+// A fake SharedURLLoaderFactory that always returns 200 OK.
+class FakeSharedURLLoaderFactory : public network::SharedURLLoaderFactory {
+ public:
+  FakeSharedURLLoaderFactory() = default;
+
+  const std::vector<network::ResourceRequest> resource_requests() {
+    return resource_requests_;
+  }
+
+ private:
+  ~FakeSharedURLLoaderFactory() override = default;
+
+  // network::SharedURLLoaderFactory
+  void CreateLoaderAndStart(
+      mojo::PendingReceiver<network::mojom::URLLoader> receiver,
+      int32_t routing_id,
+      int32_t request_id,
+      uint32_t options,
+      const network::ResourceRequest& url_request,
+      mojo::PendingRemote<network::mojom::URLLoaderClient> client,
+      const net::MutableNetworkTrafficAnnotationTag& traffic_annotation)
+      override {
+    resource_requests_.push_back(url_request);
+    mojo::Remote<network::mojom::URLLoaderClient> client_remote(
+        std::move(client));
+    auto head = network::mojom::URLResponseHead::New();
+    head->headers =
+        net::HttpResponseHeaders::TryToCreate("HTTP/1.1 200 OK\n\n");
+    head->mime_type = "text/html";
+    client_remote->OnReceiveResponse(std::move(head));
+    client_remote->OnComplete(network::URLLoaderCompletionStatus());
+  }
+
+  void Clone(mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver)
+      override {
+    NOTREACHED();
+  }
+
+  std::unique_ptr<network::PendingSharedURLLoaderFactory> Clone() override {
+    NOTREACHED();
+    return nullptr;
+  }
+
+  std::vector<network::ResourceRequest> resource_requests_;
+};
+
+}  // namespace
+
+TEST(ChromeReportSenderTest, DoesNotSaveOrSendCookies) {
+  content::BrowserTaskEnvironment task_environment;
+  scoped_refptr<FakeSharedURLLoaderFactory> test_loader_factory =
+      base::MakeRefCounted<FakeSharedURLLoaderFactory>();
+  GURL report_url("https://example.com/");
+
+  base::RunLoop run_loop;
+  SendReport(test_loader_factory, TRAFFIC_ANNOTATION_FOR_TESTS, report_url,
+             "application/octet-stream", "report contents",
+             run_loop.QuitClosure(), base::DoNothing());
+  run_loop.Run();
+
+  ASSERT_EQ(test_loader_factory->resource_requests().size(), 1u);
+  EXPECT_EQ(test_loader_factory->resource_requests()[0].credentials_mode,
+            network::mojom::CredentialsMode::kOmit);
+}
+
+TEST(ChromeReportSenderTest, UploadsToUrl) {
+  content::BrowserTaskEnvironment task_environment;
+  scoped_refptr<FakeSharedURLLoaderFactory> test_loader_factory =
+      base::MakeRefCounted<FakeSharedURLLoaderFactory>();
+  GURL report_url("https://example.com/");
+
+  base::RunLoop run_loop;
+  SendReport(test_loader_factory, TRAFFIC_ANNOTATION_FOR_TESTS, report_url,
+             "application/octet-stream", "report contents",
+             run_loop.QuitClosure(), base::DoNothing());
+  run_loop.Run();
+
+  ASSERT_EQ(test_loader_factory->resource_requests().size(), 1u);
+  EXPECT_EQ(test_loader_factory->resource_requests()[0].url, report_url);
+}
+
+TEST(ChromeReportSenderTest, UsesPostMethod) {
+  content::BrowserTaskEnvironment task_environment;
+  scoped_refptr<FakeSharedURLLoaderFactory> test_loader_factory =
+      base::MakeRefCounted<FakeSharedURLLoaderFactory>();
+  GURL report_url("https://example.com/");
+
+  base::RunLoop run_loop;
+  SendReport(test_loader_factory, TRAFFIC_ANNOTATION_FOR_TESTS, report_url,
+             "application/octet-stream", "report contents",
+             run_loop.QuitClosure(), base::DoNothing());
+  run_loop.Run();
+
+  ASSERT_EQ(test_loader_factory->resource_requests().size(), 1u);
+  EXPECT_EQ(test_loader_factory->resource_requests()[0].method,
+            net::HttpRequestHeaders::kPostMethod);
+}
+
+TEST(ChromeReportSenderTest, SkipsCache) {
+  content::BrowserTaskEnvironment task_environment;
+  scoped_refptr<FakeSharedURLLoaderFactory> test_loader_factory =
+      base::MakeRefCounted<FakeSharedURLLoaderFactory>();
+  GURL report_url("https://example.com/");
+
+  base::RunLoop run_loop;
+  SendReport(test_loader_factory, TRAFFIC_ANNOTATION_FOR_TESTS, report_url,
+             "application/octet-stream", "report contents",
+             run_loop.QuitClosure(), base::DoNothing());
+  run_loop.Run();
+
+  ASSERT_EQ(test_loader_factory->resource_requests().size(), 1u);
+  EXPECT_EQ(test_loader_factory->resource_requests()[0].load_flags,
+            net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE);
+}
diff --git a/chrome/browser/net/dns_probe_service_factory.cc b/chrome/browser/net/dns_probe_service_factory.cc
index 31331501..aca02f2 100644
--- a/chrome/browser/net/dns_probe_service_factory.cc
+++ b/chrome/browser/net/dns_probe_service_factory.cc
@@ -81,7 +81,6 @@
       net::IPEndPoint(net::IPAddress(kGooglePublicDns2),
                       net::dns_protocol::kDefaultPort)};
   overrides.attempts = 1;
-  overrides.randomize_ports = false;
   overrides.secure_dns_mode = net::DnsConfig::SecureDnsMode::OFF;
   return overrides;
 }
@@ -234,7 +233,6 @@
   net::DnsConfigOverrides current_config_overrides;
   current_config_overrides.search = std::vector<std::string>();
   current_config_overrides.attempts = 1;
-  current_config_overrides.randomize_ports = false;
 
   if (current_config_secure_dns_mode_ ==
       net::DnsConfig::SecureDnsMode::SECURE) {
diff --git a/chrome/browser/net/dns_probe_service_factory_unittest.cc b/chrome/browser/net/dns_probe_service_factory_unittest.cc
index a734403..c8574bfb 100644
--- a/chrome/browser/net/dns_probe_service_factory_unittest.cc
+++ b/chrome/browser/net/dns_probe_service_factory_unittest.cc
@@ -315,8 +315,6 @@
   EXPECT_EQ(0u, overrides.search->size());
   EXPECT_TRUE(overrides.attempts.has_value());
   EXPECT_EQ(1, overrides.attempts.value());
-  EXPECT_TRUE(overrides.randomize_ports.has_value());
-  EXPECT_FALSE(overrides.randomize_ports.value());
 
   EXPECT_TRUE(overrides.secure_dns_mode.has_value());
   EXPECT_EQ(net::DnsConfig::SecureDnsMode::OFF,
@@ -341,8 +339,6 @@
   EXPECT_EQ(0u, overrides.search->size());
   EXPECT_TRUE(overrides.attempts.has_value());
   EXPECT_EQ(1, overrides.attempts.value());
-  EXPECT_TRUE(overrides.randomize_ports.has_value());
-  EXPECT_FALSE(overrides.randomize_ports.value());
 
   EXPECT_TRUE(overrides.secure_dns_mode.has_value());
   EXPECT_EQ(net::DnsConfig::SecureDnsMode::SECURE,
diff --git a/chrome/browser/net/trial_comparison_cert_verifier_controller_unittest.cc b/chrome/browser/net/trial_comparison_cert_verifier_controller_unittest.cc
index 3cc9e4d4..22e07b41 100644
--- a/chrome/browser/net/trial_comparison_cert_verifier_controller_unittest.cc
+++ b/chrome/browser/net/trial_comparison_cert_verifier_controller_unittest.cc
@@ -347,7 +347,7 @@
   std::vector<std::string> full_reports;
   reporting_service_test_helper()->WaitForRequestsDestroyed(
       ReportExpectation::Successful({{"127.0.0.1", RetryStatus::NOT_RETRIED}}),
-      &full_reports);
+      &full_reports, nullptr);
 
   ASSERT_EQ(1U, full_reports.size());
 
@@ -449,7 +449,7 @@
   reporting_service_test_helper()->WaitForRequestsDestroyed(
       ReportExpectation::Successful({{"127.0.0.1", RetryStatus::NOT_RETRIED},
                                      {"127.0.0.2", RetryStatus::NOT_RETRIED}}),
-      &full_reports);
+      &full_reports, nullptr);
 
   ASSERT_EQ(2U, full_reports.size());
 
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 41964c6f..0a9ef7e 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
@@ -11,6 +11,7 @@
 
 #include "base/check_op.h"
 #include "base/feature_list.h"
+#include "base/metrics/field_trial_params.h"
 #include "base/notreached.h"
 #include "base/rand_util.h"
 #include "base/strings/strcat.h"
@@ -1156,7 +1157,9 @@
     content::RenderFrameHost* render_frame_host,
     FrameData* frame_data) {
   DCHECK(render_frame_host);
-  if (!frame_data->MaybeTriggerHeavyAdIntervention())
+  FrameData::HeavyAdAction action =
+      frame_data->MaybeTriggerHeavyAdIntervention();
+  if (action == FrameData::HeavyAdAction::kNone)
     return;
 
   // Don't trigger the heavy ad intervention on reloads. Gate this behind the
@@ -1164,13 +1167,19 @@
   // trigger new navigations to the site to test it).
   if (heavy_ad_privacy_mitigations_enabled_) {
     UMA_HISTOGRAM_BOOLEAN(kIgnoredByReloadHistogramName, page_load_is_reload_);
-    if (page_load_is_reload_)
+    // Skip firing the intervention, but mark that an action occurred on the
+    // frame.
+    if (page_load_is_reload_) {
+      frame_data->set_heavy_ad_action(FrameData::HeavyAdAction::kIgnored);
       return;
+    }
   }
 
   // Check to see if we are allowed to activate on this host.
-  if (IsBlocklisted())
+  if (IsBlocklisted()) {
+    frame_data->set_heavy_ad_action(FrameData::HeavyAdAction::kIgnored);
     return;
+  }
 
   // We should always unload the root of the ad subtree. Find the
   // RenderFrameHost of the root ad frame associated with |frame_data|.
@@ -1186,40 +1195,35 @@
                                   frame_data->root_frame_tree_node_id()) {
     render_frame_host = render_frame_host->GetParent();
   }
-  if (!render_frame_host)
+  if (!render_frame_host) {
+    frame_data->set_heavy_ad_action(FrameData::HeavyAdAction::kIgnored);
     return;
+  }
 
   // Ensure that this RenderFrameHost is a subframe.
   DCHECK(render_frame_host->GetParent());
 
-  // We already have a heavy ad at this point so we can query the field trial
-  // params safely.
-  bool will_report_adframe =
-      base::FeatureList::IsEnabled(features::kHeavyAdInterventionWarning);
-  bool will_unload_adframe =
-      base::FeatureList::IsEnabled(features::kHeavyAdIntervention);
+  frame_data->set_heavy_ad_action(action);
 
-  if (will_report_adframe) {
-    // Add an inspector issue for the root of the ad subtree.
-    render_frame_host->ReportHeavyAdIssue(
-        will_unload_adframe
-            ? blink::mojom::HeavyAdResolutionStatus::kHeavyAdBlocked
-            : blink::mojom::HeavyAdResolutionStatus::kHeavyAdWarning,
-        GetHeavyAdReason(frame_data->heavy_ad_status_with_noise()));
+  // Add an inspector issue for the root of the ad subtree.
+  render_frame_host->ReportHeavyAdIssue(
+      action == FrameData::HeavyAdAction::kUnload
+          ? blink::mojom::HeavyAdResolutionStatus::kHeavyAdBlocked
+          : blink::mojom::HeavyAdResolutionStatus::kHeavyAdWarning,
+      GetHeavyAdReason(frame_data->heavy_ad_status_with_policy()));
 
-    // Report to all child frames that will be unloaded. Once all reports are
-    // queued, the frame will be unloaded. Because the IPC messages are ordered
-    // wrt to each frames unload, we do not need to wait before loading the
-    // error page. Reports will be added to ReportingObserver queues
-    // synchronously when the IPC message is handled, which guarantees they will
-    // be available in the the unload handler.
-    const char kReportId[] = "HeavyAdIntervention";
-    std::string report_message =
-        GetHeavyAdReportMessage(*frame_data, will_unload_adframe);
-    for (content::RenderFrameHost* reporting_frame :
-         render_frame_host->GetFramesInSubtree()) {
-      reporting_frame->SendInterventionReport(kReportId, report_message);
-    }
+  // Report to all child frames that will be unloaded. Once all reports are
+  // queued, the frame will be unloaded. Because the IPC messages are ordered
+  // wrt to each frames unload, we do not need to wait before loading the
+  // error page. Reports will be added to ReportingObserver queues
+  // synchronously when the IPC message is handled, which guarantees they will
+  // be available in the the unload handler.
+  const char kReportId[] = "HeavyAdIntervention";
+  std::string report_message = GetHeavyAdReportMessage(
+      *frame_data, action == FrameData::HeavyAdAction::kUnload);
+  for (content::RenderFrameHost* reporting_frame :
+       render_frame_host->GetFramesInSubtree()) {
+    reporting_frame->SendInterventionReport(kReportId, report_message);
   }
 
   // Report intervention to the blocklist.
@@ -1237,12 +1241,12 @@
 
   ADS_HISTOGRAM("HeavyAds.InterventionType2", UMA_HISTOGRAM_ENUMERATION,
                 FrameData::FrameVisibility::kAnyVisibility,
-                frame_data->heavy_ad_status_with_noise());
+                frame_data->heavy_ad_status_with_policy());
   ADS_HISTOGRAM("HeavyAds.InterventionType2", UMA_HISTOGRAM_ENUMERATION,
                 frame_data->visibility(),
-                frame_data->heavy_ad_status_with_noise());
+                frame_data->heavy_ad_status_with_policy());
 
-  if (!will_unload_adframe)
+  if (action != FrameData::HeavyAdAction::kUnload)
     return;
 
   // Record heavy ad network size only when an ad is unloaded as a result of
diff --git a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_unittest.cc
index 2a6db35..173fc65 100644
--- a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_unittest.cc
@@ -2389,6 +2389,69 @@
       FrameData::HeavyAdStatus::kNone, 1);
 }
 
+// Tests that each configurable unload policy allows the intervention to trigger
+// on the correct frames.
+TEST_F(AdsPageLoadMetricsObserverTest, HeavyAdPolicyProvided) {
+  struct {
+    // |policy| maps to a FrameData::HeavyAdUnloadPolicy.
+    std::string policy;
+    bool exceed_network;
+    bool exceed_cpu;
+    bool intervention_expected;
+  } kTestCases[] = {
+      {"0" /* policy */, false /* exceed_network */, false /* exceed_cpu */,
+       false /* intervention_expected */},
+      {"0" /* policy */, true /* exceed_network */, false /* exceed_cpu */,
+       true /* intervention_expected */},
+      {"0" /* policy */, false /* exceed_network */, true /* exceed_cpu */,
+       false /* intervention_expected */},
+      {"0" /* policy */, true /* exceed_network */, true /* exceed_cpu */,
+       true /* intervention_expected */},
+      {"1" /* policy */, false /* exceed_network */, false /* exceed_cpu */,
+       false /* intervention_expected */},
+      {"1" /* policy */, true /* exceed_network */, false /* exceed_cpu */,
+       false /* intervention_expected */},
+      {"1" /* policy */, false /* exceed_network */, true /* exceed_cpu */,
+       true /* intervention_expected */},
+      {"1" /* policy */, true /* exceed_network */, true /* exceed_cpu */,
+       true /* intervention_expected */},
+      {"2" /* policy */, false /* exceed_network */, false /* exceed_cpu */,
+       false /* intervention_expected */},
+      {"2" /* policy */, true /* exceed_network */, false /* exceed_cpu */,
+       true /* intervention_expected */},
+      {"2" /* policy */, false /* exceed_network */, true /* exceed_cpu */,
+       true /* intervention_expected */},
+  };
+
+  for (const auto& test_case : kTestCases) {
+    base::test::ScopedFeatureList feature_list;
+    feature_list.InitAndEnableFeatureWithParameters(
+        features::kHeavyAdIntervention, {{"kUnloadPolicy", test_case.policy}});
+    RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl);
+    RenderFrameHost* ad_frame = CreateAndNavigateSubFrame(kAdUrl, main_frame);
+
+    ErrorPageWaiter waiter(web_contents());
+    if (test_case.exceed_network) {
+      ResourceDataUpdate(ad_frame, ResourceCached::kNotCached,
+                         (heavy_ad_thresholds::kMaxNetworkBytes / 1024) + 1);
+    }
+    if (test_case.exceed_cpu) {
+      OnCpuTimingUpdate(ad_frame, base::TimeDelta::FromMilliseconds(
+                                      heavy_ad_thresholds::kMaxCpuTime + 1));
+    }
+
+    // We should either see an error page if the intervention happened, or not
+    // see any reports.
+    if (test_case.intervention_expected) {
+      waiter.WaitForError();
+    } else {
+      EXPECT_FALSE(HasInterventionReportsAfterFlush(ad_frame));
+    }
+
+    blocklist()->ClearBlockList(base::Time::Min(), base::Time::Max());
+  }
+}
+
 TEST_F(AdsPageLoadMetricsObserverTest,
        HeavyAdPageNavigated_FrameMarkedAsNotRemoved) {
   base::test::ScopedFeatureList feature_list;
@@ -2667,25 +2730,6 @@
             1);
 }
 
-TEST_F(AdsPageLoadMetricsObserverTest, HeavyAdReportingDisabled_NoReportSent) {
-  base::test::ScopedFeatureList feature_list;
-  feature_list.InitWithFeatures({features::kHeavyAdIntervention},
-                                {features::kHeavyAdInterventionWarning});
-
-  RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl);
-  RenderFrameHost* ad_frame = CreateAndNavigateSubFrame(kAdUrl, main_frame);
-
-  ErrorPageWaiter waiter(web_contents());
-
-  // Load enough bytes to trigger the intervention.
-  ResourceDataUpdate(ad_frame, ResourceCached::kNotCached,
-                     (heavy_ad_thresholds::kMaxNetworkBytes / 1024) + 1);
-
-  EXPECT_FALSE(HasInterventionReportsAfterFlush(ad_frame));
-
-  waiter.WaitForError();
-}
-
 TEST_F(AdsPageLoadMetricsObserverTest, NoFirstContentfulPaint_NotRecorded) {
   RenderFrameHost* main_frame = NavigateMainFrame(kNonAdUrl);
   RenderFrameHost* ad_frame = CreateAndNavigateSubFrame(kAdUrl, main_frame);
diff --git a/chrome/browser/page_load_metrics/observers/ad_metrics/frame_data.cc b/chrome/browser/page_load_metrics/observers/ad_metrics/frame_data.cc
index f6a4eef..80c3f35 100644
--- a/chrome/browser/page_load_metrics/observers/ad_metrics/frame_data.cc
+++ b/chrome/browser/page_load_metrics/observers/ad_metrics/frame_data.cc
@@ -9,6 +9,7 @@
 #include <string>
 
 #include "base/feature_list.h"
+#include "base/metrics/field_trial_params.h"
 #include "chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer.h"
 #include "chrome/common/chrome_features.h"
 #include "content/public/browser/render_frame_host.h"
@@ -29,6 +30,11 @@
 // visible.
 const int kMinimumVisibleFrameArea = 25;
 
+// Controls what types of heavy ads will be unloaded by the intervention.
+const base::FeatureParam<int> kHeavyAdUnloadPolicyParam = {
+    &features::kHeavyAdIntervention, "kUnloadPolicy",
+    static_cast<int>(FrameData::HeavyAdUnloadPolicy::kAll)};
+
 }  // namespace
 
 // static
@@ -183,28 +189,57 @@
   }
 }
 
-bool FrameData::MaybeTriggerHeavyAdIntervention() {
+FrameData::HeavyAdAction FrameData::MaybeTriggerHeavyAdIntervention() {
+  // TODO(johnidel): This method currently does a lot of heavy lifting: tracking
+  // noised and unnoised metrics, determining feature action, and branching
+  // based on configuration. Consider splitting this out and letting AdsPLMO do
+  // more of the feature specific logic.
+  //
+  // If the intervention has already performed an action on this frame, do not
+  // perform another. Metrics will have been calculated already.
   if (user_activation_status_ == UserActivationStatus::kReceivedActivation ||
-      heavy_ad_status_with_noise_ != HeavyAdStatus::kNone)
-    return false;
-
-  if (heavy_ad_status_ == HeavyAdStatus::kNone) {
-    heavy_ad_status_ =
-        ComputeHeavyAdStatus(false /* use_network_threshold_noise */);
+      heavy_ad_action_ != HeavyAdAction::kNone) {
+    return HeavyAdAction::kNone;
   }
 
-  heavy_ad_status_with_noise_ =
-      ComputeHeavyAdStatus(true /* use_network_threshold_noise */);
+  // Update heavy ad related metrics. Metrics are reported for all thresholds,
+  // regardless of unload policy.
+  if (heavy_ad_status_ == HeavyAdStatus::kNone) {
+    heavy_ad_status_ = ComputeHeavyAdStatus(
+        false /* use_network_threshold_noise */, HeavyAdUnloadPolicy::kAll);
+  }
+  if (heavy_ad_status_with_noise_ == HeavyAdStatus::kNone) {
+    heavy_ad_status_with_noise_ = ComputeHeavyAdStatus(
+        true /* use_network_threshold_noise */, HeavyAdUnloadPolicy::kAll);
+  }
+
+  // Only activate the field trial if there is a heavy ad. Getting the feature
+  // param value activates the trial, so we cannot limit activating the trial
+  // based on the HeavyAdUnloadPolicy. Therefore, we just use a heavy ad of any
+  // type as a gate for activating trial.
   if (heavy_ad_status_with_noise_ == HeavyAdStatus::kNone)
-    return false;
+    return HeavyAdAction::kNone;
+
+  heavy_ad_status_with_policy_ = ComputeHeavyAdStatus(
+      true /* use_network_threshold_noise */,
+      static_cast<HeavyAdUnloadPolicy>(kHeavyAdUnloadPolicyParam.Get()));
+
+  if (heavy_ad_status_with_policy_ == HeavyAdStatus::kNone)
+    return HeavyAdAction::kNone;
 
   // Only check if the feature is enabled once we have a heavy ad. This is done
   // to ensure that any experiment for this feature will only be comparing
   // groups who have seen a heavy ad.
-  return base::FeatureList::IsEnabled(features::kHeavyAdIntervention) ||
-         base::FeatureList::IsEnabled(features::kHeavyAdInterventionWarning);
-}
+  if (!base::FeatureList::IsEnabled(features::kHeavyAdIntervention)) {
+    // If the intervention is not enabled, we return whether reporting is
+    // enabled.
+    return base::FeatureList::IsEnabled(features::kHeavyAdInterventionWarning)
+               ? HeavyAdAction::kReport
+               : HeavyAdAction::kNone;
+  }
 
+  return HeavyAdAction::kUnload;
+}
 
 base::TimeDelta FrameData::GetActivationCpuUsage(
     UserActivationStatus status) const {
@@ -346,23 +381,30 @@
 }
 
 FrameData::HeavyAdStatus FrameData::ComputeHeavyAdStatus(
-    bool use_network_threshold_noise) const {
-  // Check if the frame meets the peak CPU usage threshold.
-  if (peak_windowed_cpu_percent_ >=
-      heavy_ad_thresholds::kMaxPeakWindowedPercent) {
-    return HeavyAdStatus::kPeakCpu;
+    bool use_network_threshold_noise,
+    HeavyAdUnloadPolicy policy) const {
+  if (policy == HeavyAdUnloadPolicy::kCpuOnly ||
+      policy == HeavyAdUnloadPolicy::kAll) {
+    // Check if the frame meets the peak CPU usage threshold.
+    if (peak_windowed_cpu_percent_ >=
+        heavy_ad_thresholds::kMaxPeakWindowedPercent) {
+      return HeavyAdStatus::kPeakCpu;
+    }
+
+    // Check if the frame meets the absolute CPU time threshold.
+    if (GetTotalCpuUsage().InMilliseconds() >= heavy_ad_thresholds::kMaxCpuTime)
+      return HeavyAdStatus::kTotalCpu;
   }
 
-  // Check if the frame meets the absolute CPU time threshold.
-  if (GetTotalCpuUsage().InMilliseconds() >= heavy_ad_thresholds::kMaxCpuTime)
-    return HeavyAdStatus::kTotalCpu;
+  if (policy == HeavyAdUnloadPolicy::kNetworkOnly ||
+      policy == HeavyAdUnloadPolicy::kAll) {
+    size_t network_threshold =
+        heavy_ad_thresholds::kMaxNetworkBytes +
+        (use_network_threshold_noise ? heavy_ad_network_threshold_noise_ : 0);
 
-  size_t network_threshold =
-      heavy_ad_thresholds::kMaxNetworkBytes +
-      (use_network_threshold_noise ? heavy_ad_network_threshold_noise_ : 0);
-
-  // Check if the frame meets the network threshold, possible including noise.
-  if (network_bytes_ >= network_threshold)
-    return HeavyAdStatus::kNetwork;
+    // Check if the frame meets the network threshold, possible including noise.
+    if (network_bytes_ >= network_threshold)
+      return HeavyAdStatus::kNetwork;
+  }
   return HeavyAdStatus::kNone;
 }
diff --git a/chrome/browser/page_load_metrics/observers/ad_metrics/frame_data.h b/chrome/browser/page_load_metrics/observers/ad_metrics/frame_data.h
index f932488..9a1cb71 100644
--- a/chrome/browser/page_load_metrics/observers/ad_metrics/frame_data.h
+++ b/chrome/browser/page_load_metrics/observers/ad_metrics/frame_data.h
@@ -85,6 +85,27 @@
     kMaxValue = kPeakCpu,
   };
 
+  // Controls what values of HeavyAdStatus will be cause an unload due to the
+  // intervention.
+  enum class HeavyAdUnloadPolicy {
+    kNetworkOnly = 0,
+    kCpuOnly = 1,
+    kAll = 2,
+  };
+
+  // Represents how a frame should be treated by the heavy ad intervention.
+  enum class HeavyAdAction {
+    // Nothing should be done, i.e. the ad is not heavy or the intervention is
+    // not enabled.
+    kNone = 0,
+    // The ad should be reported as heavy.
+    kReport = 1,
+    // The ad should be reported and unloaded.
+    kUnload = 2,
+    // The frame was ignored, i.e. the blocklist was full or page is a reload.
+    kIgnored = 3,
+  };
+
   // These values are persisted to logs. Entries should not be renumbered and
   // numeric values should never be reused. For any additions, also update the
   // corresponding PageEndReason enum in enums.xml.
@@ -158,11 +179,11 @@
   // |update_time|.
   void UpdateCpuUsage(base::TimeTicks update_time, base::TimeDelta update);
 
-  // Returns whether the heavy ad intervention was triggered on this frame.
+  // Returns how the frame should be treated by the heavy ad intervention.
   // This intervention is triggered when the frame is considered heavy, has not
   // received user gesture, and the intervention feature is enabled. This
-  // returns true the first time the criteria is met, and false afterwards.
-  bool MaybeTriggerHeavyAdIntervention();
+  // returns an action the first time the criteria is met, and false afterwards.
+  HeavyAdAction MaybeTriggerHeavyAdIntervention();
 
   // Get the cpu usage for the appropriate activation period.
   base::TimeDelta GetActivationCpuUsage(UserActivationStatus status) const;
@@ -263,6 +284,14 @@
     return heavy_ad_status_with_noise_;
   }
 
+  HeavyAdStatus heavy_ad_status_with_policy() const {
+    return heavy_ad_status_with_policy_;
+  }
+
+  void set_heavy_ad_action(HeavyAdAction heavy_ad_action) {
+    heavy_ad_action_ = heavy_ad_action;
+  }
+
  private:
   // Time updates for the frame with a timestamp indicating when they arrived.
   // Used for windowed cpu load reporting.
@@ -280,8 +309,10 @@
   // the heavy ad intervention and returns the type of threshold hit if any.
   // If |use_network_threshold_noise| is set,
   // |heavy_ad_network_threshold_noise_| is added to the network threshold when
+  // computing the status. |policy| controls which thresholds are used when
   // computing the status.
-  HeavyAdStatus ComputeHeavyAdStatus(bool use_network_threshold_noise) const;
+  HeavyAdStatus ComputeHeavyAdStatus(bool use_network_threshold_noise,
+                                     HeavyAdUnloadPolicy policy) const;
 
   // The frame tree node id of root frame of the subtree that |this| is
   // tracking information for.
@@ -363,6 +394,14 @@
   // intervention.
   HeavyAdStatus heavy_ad_status_with_noise_;
 
+  // Same as |heavy_ad_status_with_noise_| but selectively uses thresholds based
+  // on a field trial param. This status is used to control when the
+  // intervention fires.
+  HeavyAdStatus heavy_ad_status_with_policy_ = HeavyAdStatus::kNone;
+
+  // The action taken on this frame by the heavy ad intervention if any.
+  HeavyAdAction heavy_ad_action_ = HeavyAdAction::kNone;
+
   // Number of bytes of noise that should be added to the network threshold.
   const int heavy_ad_network_threshold_noise_;
 
diff --git a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckBridge.java b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckBridge.java
index 079ca279..5189616 100644
--- a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckBridge.java
+++ b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckBridge.java
@@ -45,6 +45,13 @@
          * @param status The current status of the password check.
          */
         void onPasswordCheckStatusChanged(@PasswordCheckUIStatus int status);
+
+        /**
+         * Called during a check when a credential has finished being processed.
+         * @param alreadyProcessed Number of credentials that the check already processed.
+         * @param remainingInQueue Number of credentials that still need to be processed.
+         */
+        void onPasswordCheckProgressChanged(int alreadyProcessed, int remainingInQueue);
     }
 
     PasswordCheckBridge(PasswordCheckObserver passwordCheckObserver) {
@@ -57,14 +64,14 @@
     // TODO(crbug.com/1102025): Add call from native.
     void onCompromisedCredentialFound(String signonRealm, GURL origin, String username,
             String displayOrigin, String displayUsername, String password, String passwordChangeUrl,
-            String associatedApp, boolean hasScript) {
+            String associatedApp, long creationTime, boolean hasScript) {
         assert signonRealm != null;
         assert displayOrigin != null;
         assert username != null;
         assert password != null;
         mPasswordCheckObserver.onCompromisedCredentialFound(new CompromisedCredential(signonRealm,
                 origin, username, displayOrigin, displayUsername, password, passwordChangeUrl,
-                associatedApp, true, false, hasScript));
+                associatedApp, creationTime, true, false, hasScript));
     }
 
     @CalledByNative
@@ -83,13 +90,18 @@
     }
 
     @CalledByNative
+    void onPasswordCheckProgressChanged(int alreadyProcessed, int remainingInQueue) {
+        mPasswordCheckObserver.onPasswordCheckProgressChanged(alreadyProcessed, remainingInQueue);
+    }
+
+    @CalledByNative
     private static void insertCredential(CompromisedCredential[] credentials, int index,
             String signonRealm, GURL origin, String username, String displayOrigin,
             String displayUsername, String password, String passwordChangeUrl, String associatedApp,
-            boolean leaked, boolean phished, boolean hasScript) {
+            long creationTime, boolean leaked, boolean phished, boolean hasScript) {
         credentials[index] = new CompromisedCredential(signonRealm, origin, username, displayOrigin,
-                displayUsername, password, passwordChangeUrl, associatedApp, leaked, phished,
-                hasScript);
+                displayUsername, password, passwordChangeUrl, associatedApp, creationTime, leaked,
+                phished, hasScript);
     }
 
     /**
diff --git a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckImpl.java b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckImpl.java
index 70b29ac..a985eae 100644
--- a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckImpl.java
+++ b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckImpl.java
@@ -76,6 +76,13 @@
     }
 
     @Override
+    public void onPasswordCheckProgressChanged(int alreadyProcessed, int remainingInQueue) {
+        for (Observer obs : mObserverList) {
+            obs.onPasswordCheckProgressChanged(alreadyProcessed, remainingInQueue);
+        }
+    }
+
+    @Override
     public void updateCredential(CompromisedCredential credential, String newPassword) {
         mPasswordCheckBridge.updateCredential(credential, newPassword);
     }
diff --git a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMediator.java b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMediator.java
index d85596f9..9d8c0c1 100644
--- a/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMediator.java
+++ b/chrome/browser/password_check/android/internal/java/src/org/chromium/chrome/browser/password_check/PasswordCheckMediator.java
@@ -32,6 +32,11 @@
 import org.chromium.ui.modelutil.MVCListAdapter.ListItem;
 import org.chromium.ui.modelutil.PropertyModel;
 
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+
 /**
  * Contains the logic for the PasswordCheck component. It sets the state of the model and reacts to
  * events like clicks.
@@ -43,6 +48,7 @@
     private PropertyModel mModel;
     private PasswordCheckComponentUi.Delegate mDelegate;
     private Runnable mLaunchCheckupInAccount;
+    private HashSet<CompromisedCredential> mPreCheckSet;
 
     PasswordCheckMediator(PasswordCheckChangePasswordHelper changePasswordDelegate,
             PasswordCheckReauthenticationHelper reauthenticationHelper) {
@@ -76,6 +82,10 @@
         }
         CompromisedCredential[] credentials = getPasswordCheck().getCompromisedCredentials();
         assert credentials != null;
+
+        List<CompromisedCredential> credentialsList = Arrays.asList(credentials);
+        sortCredentials(credentialsList);
+
         ListModel<ListItem> items = mModel.get(ITEMS);
         if (items.size() == 0) {
             items.add(new ListItem(PasswordCheckProperties.ItemType.HEADER,
@@ -87,7 +97,8 @@
         }
         if (items.size() > 1) items.removeRange(1, items.size() - 1);
 
-        for (CompromisedCredential credential : credentials) {
+        updateStatusHeaderWhenCredentialsChange();
+        for (CompromisedCredential credential : credentialsList) {
             items.add(createEntryForCredential(credential));
         }
     }
@@ -128,15 +139,17 @@
         }
     }
 
-    void onPasswordCheckProgressChanged(Pair<Integer, Integer> progress) {
+    @Override
+    public void onPasswordCheckProgressChanged(int alreadyProcessed, int remainingInQueue) {
         ListModel<ListItem> items = mModel.get(ITEMS);
         assert items.size() >= 1;
-        assert progress.first >= 0;
-        assert progress.second >= progress.first;
+        assert alreadyProcessed >= 0;
+        assert remainingInQueue >= 0;
 
         PropertyModel header = items.get(0).model;
         header.set(CHECK_STATUS, PasswordCheckUIStatus.RUNNING);
-        header.set(CHECK_PROGRESS, progress);
+        header.set(
+                CHECK_PROGRESS, new Pair<>(alreadyProcessed, alreadyProcessed + remainingInQueue));
         header.set(CHECK_TIMESTAMP, null);
         header.set(COMPROMISED_CREDENTIALS_COUNT, null);
     }
@@ -146,6 +159,7 @@
         assert leakedCredential != null;
         ListModel<ListItem> items = mModel.get(ITEMS);
         assert items.size() >= 1 : "Needs to initialize list with header before adding items!";
+        updateStatusHeaderWhenCredentialsChange();
         items.add(createEntryForCredential(leakedCredential));
     }
 
@@ -218,6 +232,17 @@
         mChangePasswordDelegate.launchCctWithScript(credential);
     }
 
+    private void updateStatusHeaderWhenCredentialsChange() {
+        ListModel<ListItem> items = mModel.get(ITEMS);
+        assert items.size() >= 1;
+
+        PropertyModel header = items.get(0).model;
+        if (header.get(CHECK_STATUS) == PasswordCheckUIStatus.IDLE) {
+            header.set(COMPROMISED_CREDENTIALS_COUNT,
+                    Integer.valueOf(getPasswordCheck().getCompromisedCredentialsCount()));
+        }
+    }
+
     private void runCheck() {
         getPasswordCheck().startCheck();
     }
@@ -240,4 +265,43 @@
                         .with(CREDENTIAL_HANDLER, this)
                         .build());
     }
+
+    private void sortCredentials(List<CompromisedCredential> credentials) {
+        if (mPreCheckSet == null) {
+            mPreCheckSet = new HashSet<>(credentials);
+        }
+
+        Collections.sort(credentials, (CompromisedCredential lhs, CompromisedCredential rhs) -> {
+            // Phished credentials should always appear first.
+            if (lhs.isPhished() != rhs.isPhished()) {
+                return lhs.isPhished() ? -1 : 1;
+            }
+
+            boolean lhsInitial = mPreCheckSet.contains(lhs);
+            boolean rhsInitial = mPreCheckSet.contains(rhs);
+            // If one is the in initial set and the other one isn't, then the credential in
+            // the initial set goes first.
+            if (lhsInitial != rhsInitial) {
+                return lhsInitial ? -1 : 1;
+            }
+
+            // If they are both in the initial set, the most recent credential should appear first.
+            if (lhsInitial && rhsInitial && lhs.getCreationTime() != rhs.getCreationTime()) {
+                return -Long.compare(lhs.getCreationTime(), rhs.getCreationTime());
+            }
+
+            // If they both are not in the initial set, the older credential should appear
+            // first.
+            if (!lhsInitial && !rhsInitial && lhs.getCreationTime() != rhs.getCreationTime()) {
+                return Long.compare(lhs.getCreationTime(), rhs.getCreationTime());
+            }
+
+            // In case of creation time equality, order alphabetically (first by origin,
+            // then by username), so that the list remains stable.
+            int originComparisonResult = lhs.getDisplayOrigin().compareTo(rhs.getDisplayOrigin());
+            int usernameComparisonResult =
+                    lhs.getDisplayUsername().compareTo(rhs.getDisplayUsername());
+            return originComparisonResult == 0 ? usernameComparisonResult : originComparisonResult;
+        });
+    }
 }
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_af.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_af.xtb
index de98603..a50e5aa 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_af.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_af.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Bevind dat dit data skend</translation>
 <translation id="7808889146555843082">As hierdie wagwoord uitgevee word, sal dit nie jou rekening op <ph name="SITE" /> uitvee nie. Verander jou wagwoord of vee jou rekening op <ph name="SITE" /> uit om dit veilig te hou van ander.</translation>
 <translation id="808894953321890993">Verander wagwoord</translation>
-<translation id="8465887663773496448">Chrome kon nie alle wagwoorde nagaan nie. Probeer môre weer of gaan wagwoorde in jou Google-rekening na.</translation>
+<translation id="8399282673057829204">Bekyk wagwoord</translation>
 <translation id="8603820497269504141">Chrome kan jou wagwoorde nagaan as jy met jou Google-rekening aanmeld.</translation>
 <translation id="8798925345090498040">Chrome kon nie alle wagwoorde nagaan nie. Probeer môre weer.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_am.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_am.xtb
index ba36fab..aa150e4 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_am.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_am.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">በውሂብ ጥሰት ላይ ተገኝቷል</translation>
 <translation id="7808889146555843082">ይህን የይለፍ ቃል መሰረዝ <ph name="SITE" /> ላይ መለያዎን አይሰርዘውም። መለያዎን ከሌሎች ለመጠበቅ የይለፍ ቃልዎን ይቀይሩት ወይም <ph name="SITE" /> ላይ መለያዎን ይሰርዙት።</translation>
 <translation id="808894953321890993">የይለፍ ቃል ለውጥ</translation>
-<translation id="8465887663773496448">Chrome ሁሉንም የይለፍ ቃላት ማረጋገጥ አልቻለም። ነገ እንደገና ይሞክሩ ወይም የGoogle መለያዎን የይለፍ ቃላት ይፈትሹ።</translation>
 <translation id="8603820497269504141">Chrome በእርስዎ የGoogle መለያ በሚገቡበት ጊዜ የእርስዎን የይለፍ ቃላትን ሊፈትሽ ይችላል።</translation>
 <translation id="8798925345090498040">Chrome ሁሉንም የይለፍ ቃላት ማረጋገጥ አልቻለም። ነገ እንደገና ይሞክሩ።</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ar.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ar.xtb
index a2e2b7d..126d183 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ar.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ar.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">تم العثور عليها في عملية اختراق البيانات.</translation>
 <translation id="7808889146555843082">لن يؤدي حذف كلمة المرور هذه إلى حذف حسابك على <ph name="SITE" />. لذا يُرجى تغيير كلمة المرور أو حذف حسابك على <ph name="SITE" /> لحمايته من الآخرين.</translation>
 <translation id="808894953321890993">تغيير كلمة المرور</translation>
-<translation id="8465887663773496448">‏تعذّر على متصفِّح Chrome التحقّق من جميع كلمات المرور. يُرجى إعادة المحاولة غدًا أو التحقّق من كلمات المرور في حسابك على Google.</translation>
 <translation id="8603820497269504141">‏لا يستطيع Chrome التحقّق من كلمات المرور إلا عند تسجيل الدخول باستخدام حسابك على Google.</translation>
 <translation id="8798925345090498040">‏تعذّر على متصفِّح Chrome التحقّق من جميع كلمات المرور. يُرجى إعادة المحاولة غدًا.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_as.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_as.xtb
index 0a4e679..9692fcd4 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_as.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_as.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">ডাটা উলংঘন হোৱা দেখা গৈছিল</translation>
 <translation id="7808889146555843082">এই পাছৱর্ডটো মচাৰ ফলত <ph name="SITE" />ত থকা আপোনাৰ একাউণ্টটো মচি পেলোৱা নহ’ব। অন্য লোকসকলৰ পৰা আপোনাৰ একাউণ্টটো সুৰক্ষিত কৰিবলৈ আপোনাৰ পাছৱর্ড সলনি কৰক অথবা <ph name="SITE" />ত আপোনাৰ একাউণ্টটো মচক।</translation>
 <translation id="808894953321890993">পাছৱৰ্ড সলনি কৰক</translation>
-<translation id="8465887663773496448">Chromeএ সকলো পাছৱৰ্ড পৰীক্ষা কৰিব নোৱাৰিলে। কাইলৈ পুনৰ চেষ্টা কৰক অথবা আপোনাৰ Google একাউণ্টত পাছৱর্ডসমূহ পৰীক্ষা কৰক।</translation>
 <translation id="8603820497269504141">আপুনি আপোনাৰ Google একাউণ্টটোৰ জৰিয়তে ছাইন ইন কৰোঁতে Chromeএ আপোনাৰ পাছৱর্ডসমূহ পৰীক্ষা কৰিব পাৰে।</translation>
 <translation id="8798925345090498040">Chromeএ সকলো পাছৱৰ্ড পৰীক্ষা কৰিব নোৱাৰিলে। কাইলৈ পুনৰ চেষ্টা কৰক।</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_az.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_az.xtb
index 32ac116..a31244ce 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_az.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_az.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Verilənlərin təhlükəsizliyinin pozulması halı aşkarlanıb</translation>
 <translation id="7808889146555843082">Bu parolu sildikdə <ph name="SITE" /> saytında hesabınız silinməyəcək. Hesabınızı digərlərindən qorumaq üçün parolunuzu dəyişin, ya da onu <ph name="SITE" /> saytından silin.</translation>
 <translation id="808894953321890993">Parolu dəyişin</translation>
-<translation id="8465887663773496448">Chrome bütün parolları yoxlaya bilmədi. Sabah yenidən cəhd edin və ya Google Hesabınızda parolları yoxlayın.</translation>
 <translation id="8603820497269504141">Google Hesabınız ilə daxil olduqda Chrome parollarınızı yoxlaya bilər.</translation>
 <translation id="8798925345090498040">Chrome bütün parolları yoxlaya bilmədi. Sabah yenidən cəhd edin.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_be.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_be.xtb
index e26d8e78..d3bac18 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_be.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_be.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Раскрыты пры ўцечцы даных</translation>
 <translation id="7808889146555843082">Пры выдаленні гэтага пароля ўліковы запіс на сайце <ph name="SITE" /> не выдаліцца. Каб абараніць свой уліковы запіс (на <ph name="SITE" />), выдаліце яго або змяніце пароль.</translation>
 <translation id="808894953321890993">Змяніць пароль</translation>
-<translation id="8465887663773496448">Браўзеру Chrome не ўдалося праверыць усе паролі. Паўтарыце спробу заўтра або праверце паролі ва Уліковым запісе Google.</translation>
 <translation id="8603820497269504141">Chrome зможа праверыць паролі толькі пасля таго, як вы ўвойдзеце ва Уліковы запіс Google.</translation>
 <translation id="8798925345090498040">Браўзеру Chrome не ўдалося праверыць усе паролі. Паўтарыце спробу заўтра.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bg.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bg.xtb
index 605585d..d2e16eb1 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bg.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bg.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Разкрита при нарушение на сигурността на данните</translation>
 <translation id="7808889146555843082">Изтриването на тази парола няма да премахне профила ви за <ph name="SITE" />. За да го защитите от други хора, променете паролата си или изтрийте профила си за <ph name="SITE" />.</translation>
 <translation id="808894953321890993">Промяна на паролата</translation>
-<translation id="8465887663773496448">Chrome не успя да провери всички пароли. Опитайте отново утре или ги проверете в профила си в Google.</translation>
 <translation id="8603820497269504141">Chrome може да проверява паролите ви, когато влизате с профила си в Google.</translation>
 <translation id="8798925345090498040">Chrome не успя да провери всички пароли. Опитайте отново утре.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bn.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bn.xtb
index e06e2ba..75c3376 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bn.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bn.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">ডেটার নিরাপত্তা লঙ্ঘন দেখা গেছে</translation>
 <translation id="7808889146555843082">এই পাসওয়ার্ডটি মুছে দিলেও, <ph name="SITE" />-এ থাকা আপনার অ্যাকাউন্ট মুছে যাবে না। অন্যদের কাছ থেকে গোপন রাখতে, <ph name="SITE" />-এ আপনার দেওয়া পাসওয়ার্ড পরিবর্তন করুন বা অ্যাকাউন্ট মুছে দিন।</translation>
 <translation id="808894953321890993">পাসওয়ার্ড পরিবর্তন করুন</translation>
-<translation id="8465887663773496448">Chrome সব পাসওয়ার্ড চেক করতে পারেনি। আগামীকাল আবার চেষ্টা করুন অথবা আপনার Google অ্যাকাউন্টের পাসওয়ার্ড চেক করে দেখুন।</translation>
 <translation id="8603820497269504141">আপনার Google অ্যাকাউন্ট দিয়ে সাইন-ইন করলে Chrome পাসওয়ার্ড চেক করে দেখতে পারবে।</translation>
 <translation id="8798925345090498040">Chrome সব পাসওয়ার্ড চেক করতে পারেনি। আগামীকাল আবার চেষ্টা করে দেখুন।</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bs.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bs.xtb
index 467bf47b..1078bcf7 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bs.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_bs.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Pronađeno u narušavanju podataka</translation>
 <translation id="7808889146555843082">Brisanjem ove lozinke se neće izbrisati vaš račun na web lokaciji <ph name="SITE" />. Promijenite lozinku ili izbrišite račun na web lokaciji <ph name="SITE" /> da ga zaštitite od drugih.</translation>
 <translation id="808894953321890993">Promijenite lozinku</translation>
-<translation id="8465887663773496448">Chrome nije mogao provjeriti sve lozinke. Pokušajte ponovo sutra ili provjerite lozinke na Google računu.</translation>
+<translation id="8399282673057829204">Prikaži zaporku</translation>
 <translation id="8603820497269504141">Chrome može provjeravati vaše lozinke kada se prijavite pomoću Google računa.</translation>
 <translation id="8798925345090498040">Chrome nije mogao provjeriti sve lozinke. Pokušajte ponovo sutra.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ca.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ca.xtb
index 566cdf9..51d483b 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ca.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ca.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">S'ha trobat en una violació de les dades</translation>
 <translation id="7808889146555843082">Encara que suprimeixis aquesta contrasenya, no se suprimirà el teu compte de <ph name="SITE" />. Canvia la contrasenya o suprimeix el teu compte de <ph name="SITE" /> per protegir-lo dels altres.</translation>
 <translation id="808894953321890993">Canvia la contrasenya</translation>
-<translation id="8465887663773496448">Chrome no ha pogut comprovar totes les contrasenyes. Torna-ho a provar demà o comprova les contrasenyes desades al teu Compte de Google.</translation>
+<translation id="8399282673057829204">Mostra la contrasenya</translation>
 <translation id="8603820497269504141">Chrome pot comprovar les teves contrasenyes quan inicies la sessió amb el Compte de Google.</translation>
 <translation id="8798925345090498040">Chrome no ha pogut comprovar totes les contrasenyes. Torna-ho a provar demà.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_cs.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_cs.xtb
index 7a730fb..36b9620 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_cs.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_cs.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Nalezeno v porušení zabezpečení údajů</translation>
 <translation id="7808889146555843082">Odstraněním tohoto hesla nesmažete svůj účet na webu <ph name="SITE" />. Pokud chcete ochránit svá data, změňte své heslo nebo účet na <ph name="SITE" /> smažte.</translation>
 <translation id="808894953321890993">Změnit heslo</translation>
-<translation id="8465887663773496448">Chromu se nepodařilo zkontrolovat všechna hesla. Zkuste to znovu zítra, případně hesla zkontrolujte v účtu Google.</translation>
 <translation id="8603820497269504141">Když se přihlásíte k účtu Google, může vám Chrome kontrolovat hesla</translation>
 <translation id="8798925345090498040">Chromu se nepodařilo zkontrolovat všechna hesla. Zkuste to znovu zítra.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_da.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_da.xtb
index 571ced5..1428644 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_da.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_da.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Blev fundet i et brud på datasikkerheden</translation>
 <translation id="7808889146555843082">Fjernelse af denne adgangskode sletter ikke din konto på <ph name="SITE" />. Skift din adgangskode, eller slet din konto på <ph name="SITE" /> for at beskytte den mod andre.</translation>
 <translation id="808894953321890993">Skift adgangskode</translation>
-<translation id="8465887663773496448">Chrome kunne ikke tjekke alle adgangskoder. Prøv igen i morgen, eller tjek adgangskoder på din Google-konto.</translation>
+<translation id="8399282673057829204">Se adgangskode</translation>
 <translation id="8603820497269504141">Chrome kan tjekke dine adgangskoder, når du er logget ind med din Google-konto.</translation>
 <translation id="8798925345090498040">Chrome kunne ikke tjekke alle adgangskoder. Prøv igen i morgen.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_de.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_de.xtb
index 60f9459..ce061cc1 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_de.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_de.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Bei Datenpanne entdeckt</translation>
 <translation id="7808889146555843082">Durch das Entfernen dieses Passworts wird Ihr <ph name="SITE" />-Konto nicht gelöscht. Ändern Sie Ihr Passwort oder löschen Sie Ihr Konto auf <ph name="SITE" />, um das Konto gegen unbefugten Zugriff zu schützen.</translation>
 <translation id="808894953321890993">Passwort ändern</translation>
-<translation id="8465887663773496448">Chrome konnte nicht alle Passwörter prüfen. Versuchen Sie es morgen noch einmal oder prüfen Sie die Passwörter in Ihrem Google-Konto.</translation>
 <translation id="8603820497269504141">Chrome kann Ihre Passwörter prüfen, wenn Sie sich mit Ihrem Google-Konto anmelden.</translation>
 <translation id="8798925345090498040">Chrome konnte nicht alle Passwörter prüfen. Versuchen Sie es morgen noch einmal.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_el.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_el.xtb
index 28e7408..772711a0 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_el.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_el.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Βρέθηκε σε παραβίαση δεδομένων</translation>
 <translation id="7808889146555843082">Η κατάργηση αυτού του κωδικού πρόσβασης δεν θα διαγράψει τον λογαριασμό σας στον ιστότοπο <ph name="SITE" />. Αλλάξτε τον κωδικό πρόσβασης ή διαγράψτε τον λογαριασμό σας στον ιστότοπο <ph name="SITE" /> για να τον διατηρήσετε ασφαλή.</translation>
 <translation id="808894953321890993">Αλλαγή κωδικού πρόσβασης</translation>
-<translation id="8465887663773496448">Το Chrome δεν μπόρεσε να ελέγξει όλους τους κωδικούς πρόσβασης. Δοκιμάστε ξανά αύριο ή ελέγξτε τους κωδικούς πρόσβασης στον Λογαριασμό σας Google.</translation>
+<translation id="8399282673057829204">Προβολή κωδικού πρόσβασης</translation>
 <translation id="8603820497269504141">Το Chrome μπορεί να ελέγξει τους κωδικούς πρόσβασής σας όταν συνδέεστε με τον Λογαριασμό σας Google.</translation>
 <translation id="8798925345090498040">Το Chrome δεν μπόρεσε να ελέγξει όλους τους κωδικούς πρόσβασης. Δοκιμάστε ξανά αύριο.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_en-GB.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_en-GB.xtb
index 05a3c300..4d6bde8 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_en-GB.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_en-GB.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Found in data breach</translation>
 <translation id="7808889146555843082">Deleting this password will not delete your account on <ph name="SITE" />. Change your password or delete your account on <ph name="SITE" /> to keep it safe from others.</translation>
 <translation id="808894953321890993">Change password</translation>
-<translation id="8465887663773496448">Chrome couldn't check all passwords. Try again tomorrow or check passwords in your Google Account.</translation>
+<translation id="8399282673057829204">View password</translation>
 <translation id="8603820497269504141">Chrome can check your passwords when you sign in with your Google Account.</translation>
 <translation id="8798925345090498040">Chrome couldn't check all passwords. Try again tomorrow.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_es-419.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_es-419.xtb
index fe25952a..14c2bc4 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_es-419.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_es-419.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Se encontró en una violación de la seguridad de los datos</translation>
 <translation id="7808889146555843082">Si borras esta contraseña, no se quitará tu cuenta de <ph name="SITE" />. Cambia la contraseña o quita la cuenta de <ph name="SITE" /> para protegerla.</translation>
 <translation id="808894953321890993">Cambiar contraseña</translation>
-<translation id="8465887663773496448">Chrome no pudo verificar todas las contraseñas. Vuelve a intentarlo mañana o verifica las contraseñas guardadas en tu Cuenta de Google.</translation>
 <translation id="8603820497269504141">Chrome puede revisar las contraseñas solo cuando accedes con tu Cuenta de Google.</translation>
 <translation id="8798925345090498040">Chrome no pudo verificar todas las contraseñas. Vuelve a intentarlo mañana.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_es.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_es.xtb
index 819d6cb..70caaad 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_es.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_es.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Encontrada en una quiebra de seguridad de datos</translation>
 <translation id="7808889146555843082">Aunque quites esta contraseña, no se eliminará tu cuenta de <ph name="SITE" />. Cambia la contraseña o elimina tu cuenta de <ph name="SITE" /> para protegerla de otros.</translation>
 <translation id="808894953321890993">Cambiar contraseña</translation>
-<translation id="8465887663773496448">Chrome no ha podido comprobar todas las contraseñas. Vuelve a intentarlo mañana o comprueba las contraseñas en tu cuenta de Google.</translation>
 <translation id="8603820497269504141">Chrome puede comprobar tus contraseñas si inicias sesión con tu cuenta de Google.</translation>
 <translation id="8798925345090498040">Chrome no ha podido comprobar todas las contraseñas. Vuelve a intentarlo mañana.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_et.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_et.xtb
index 58de954..ef328752 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_et.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_et.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Ilmnes andmetega seotud rikkumises</translation>
 <translation id="7808889146555843082">Selle parooli eemaldamisel ei kustutata teie kontot saidil <ph name="SITE" />. Muutke oma parooli või kustutage saidil <ph name="SITE" /> olev konto, et parooli kaitsta.</translation>
 <translation id="808894953321890993">Muuda parooli</translation>
-<translation id="8465887663773496448">Chrome'il ei õnnestunud kõiki paroole kontrollida. Proovige homme uuesti või kontrollige oma Google'i kontol paroole.</translation>
+<translation id="8399282673057829204">Kuva parool</translation>
 <translation id="8603820497269504141">Chrome saab teie paroole kontrollida siis, kui logite sisse oma Google'i kontoga.</translation>
 <translation id="8798925345090498040">Chrome'il ei õnnestunud kõiki paroole kontrollida. Proovige homme uuesti.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_eu.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_eu.xtb
index b358a62..ff2713c 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_eu.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_eu.xtb
@@ -6,14 +6,17 @@
 <translation id="1599766761352751884">Pasahitzak egiaztatzen (<ph name="ANALYSED_PASSWORDS" />/<ph name="TOTAL_PASSWORDS" />)…</translation>
 <translation id="1713125606790339209">Kontu hauen pasahitzak hirugarren baten isilpekotasun-urratzearen eraginpean egon dira edo webgune engainagarri batean erabili dira. Kontuak babesteko, aldatu pasahitzok berehala.</translation>
 <translation id="2224120951664717045">Chrome-k jakinarazpen bat bidaliko dizu arriskuan dagoen pasahitz batekin hasten duzunean saioa.</translation>
+<translation id="2369870139632127592">Pasahitza aldatzeko, desblokeatu gailua</translation>
 <translation id="2388655922303272221">Aldatu eskuz</translation>
 <translation id="2670599755795384625">Berrabiarazi pasahitzaren egiaztapena</translation>
 <translation id="2775140325783767197">Chrome-k ezin ditu egiaztatu pasahitzak. Egiaztatu Internetera konektatuta zaudela.</translation>
 <translation id="3533694711092285624">Ez dago pasahitzik gordeta. Chrome-k pasahitzak egiazta ditzake gorde ondoren.</translation>
 <translation id="3568945271227339929">Ez dago pasahitzik arriskuan</translation>
 <translation id="3918034518766455210">Pasahitzen azken egiaztapena: <ph name="TIME_SINCE_LAST_CHECK" /></translation>
+<translation id="5254370105662291020">Pasahitza ikusteko, desblokeatu gailua</translation>
 <translation id="543338862236136125">Editatu pasahitza</translation>
 <translation id="5539342724706569402">Webgune engainagarri batean idatzi duzu</translation>
+<translation id="5840081916976222104">Aldatu pasahitza aplikazioan</translation>
 <translation id="6342069812937806050">Oraintxe</translation>
 <translation id="6407955178761087876">Utzi Google-ren Laguntzailea eginbideari pasahitza aldatzen</translation>
 <translation id="686366188661646310">Pasahitza ezabatu nahi duzu?</translation>
@@ -23,7 +26,6 @@
 <translation id="7744192722284567281">Datuen isilpekotasuna urratu den batean aurkitu da</translation>
 <translation id="7808889146555843082">Pasahitza ezabatzen baduzu ere, ez da ezabatuko <ph name="SITE" /> webguneko kontua. <ph name="SITE" /> domeinuko kontua babestuta mantentzeko, ezaba ezazu edo alda iezaiozu pasahitza.</translation>
 <translation id="808894953321890993">Aldatu pasahitza</translation>
-<translation id="8465887663773496448">Chrome-k ezin izan ditu egiaztatu pasahitz guztiak. Saiatu berriro bihar edo egiaztatu pasahitzak Google-ko kontuan.</translation>
 <translation id="8603820497269504141">Google-ko kontu batekin saioa hasten duzunean egiazta ditzake Chrome-k pasahitzak.</translation>
 <translation id="8798925345090498040">Chrome-k ezin izan ditu egiaztatu pasahitz guztiak. Saiatu berriro bihar.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fa.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fa.xtb
index 4f4be0d..2fba639 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fa.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fa.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">در نقض داده پیدا شد</translation>
 <translation id="7808889146555843082">حذف این گذرواژه باعث حذف شدن حساب شما در <ph name="SITE" /> نمی‌شود. برای ایمن نگه‌داشتن گذرواژه‌تان، آن را تغییر دهید یا حساب‌تان را در <ph name="SITE" /> حذف کنید.</translation>
 <translation id="808894953321890993">تغییر گذرواژه</translation>
-<translation id="8465887663773496448">‏Chrome نمی‌تواند همه گذرواژه‌هایتان را بررسی کند. فردا دوباره امتحان کنید یا گذرواژه‌ها را در «حساب Google» خود بررسی کنید.</translation>
 <translation id="8603820497269504141">‏Chrome زمانی می‌تواند گذرواژه‌هایتان را بررسی کند که با «حساب Google» خود به سیستم وارد شوید.</translation>
 <translation id="8798925345090498040">‏Chrome نمی‌تواند همه گذرواژه‌هایتان را بررسی کند. فردا دوباره امتحان کنید.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fi.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fi.xtb
index 03898156..1d6b94ee 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fi.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fi.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Kuului tietosuojaloukkaukseen</translation>
 <translation id="7808889146555843082">Vaikka poistat salasanan, tiliäsi (<ph name="SITE" />) ei poisteta. Vaihda salasana tai poista tili (<ph name="SITE" />), jotta se pysyy turvassa muilta.</translation>
 <translation id="808894953321890993">Vaihda salasana</translation>
-<translation id="8465887663773496448">Chrome ei voinut tarkistaa kaikkia salasanoja. Yritä uudelleen huomenna tai tarkista salasanat Google-tililtä.</translation>
 <translation id="8603820497269504141">Chrome voi tarkistaa salasanasi, kun kirjaudut sisään Google-tililläsi.</translation>
 <translation id="8798925345090498040">Chrome ei voinut tarkistaa kaikkia salasanoja. Yritä uudelleen huomenna.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fil.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fil.xtb
index e33f1f13..11f9862 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fil.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fil.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Nakita sa paglabag sa data</translation>
 <translation id="7808889146555843082">Kapag na-delete ang password na ito, hindi ide-delete ang iyong account sa <ph name="SITE" />. Palitan ang iyong password o i-delete ang account mo sa <ph name="SITE" /> para mapanatili itong ligtas mula sa iba.</translation>
 <translation id="808894953321890993">Palitan ang password</translation>
-<translation id="8465887663773496448">Hindi masuri ng Chrome ang lahat ng password. Subukan ulit bukas o suriin ang mga password sa iyong Google Account.</translation>
 <translation id="8603820497269504141">Matitingnan ng Chrome ang iyong mga password kapag nag-sign in ka gamit ang Google Account mo.</translation>
 <translation id="8798925345090498040">Hindi masuri ng Chrome ang lahat ng password. Subukan ulit bukas.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fr-CA.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fr-CA.xtb
index 2003196c..6af76fe 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fr-CA.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fr-CA.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Trouvé dans une violation de données</translation>
 <translation id="7808889146555843082">Supprimer ce mot de passe ne supprimera pas également votre compte sur <ph name="SITE" />. Changez votre mot de passe ou supprimez votre compte sur <ph name="SITE" /> pour le protéger des autres.</translation>
 <translation id="808894953321890993">Changer le mot de passe</translation>
-<translation id="8465887663773496448">Chrome n'a pas pu vérifier tous les mots de passe. Réessayez demain ou vérifiez les mots de passe dans votre compte Google.</translation>
 <translation id="8603820497269504141">Chrome peut vérifier vos mots de passe lorsque vous vous connectez avec votre compte Google.</translation>
 <translation id="8798925345090498040">Chrome n'a pas pu vérifier tous les mots de passe. Réessayez demain.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fr.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fr.xtb
index bbb4311..36877da9 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fr.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_fr.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Détecté lors d'une violation des données</translation>
 <translation id="7808889146555843082">La suppression de ce mot de passe n'entraînera pas la suppression de votre compte sur <ph name="SITE" />. Modifiez votre mot de passe ou supprimez votre compte sur <ph name="SITE" /> pour le protéger des autres utilisateurs.</translation>
 <translation id="808894953321890993">Modifier le mot de passe</translation>
-<translation id="8465887663773496448">Chrome n'a pas pu vérifier tous les mots de passe. Réessayez demain ou vérifiez les mots de passe enregistrés dans votre compte Google.</translation>
 <translation id="8603820497269504141">Chrome peut vérifier vos mots de passe lorsque vous vous connectez à votre compte Google.</translation>
 <translation id="8798925345090498040">Chrome n'a pas pu vérifier tous les mots de passe. Réessayez demain.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_gl.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_gl.xtb
index 8925644..59100c4 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_gl.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_gl.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">O contrasinal viuse implicado nunha violación da seguranza dos datos</translation>
 <translation id="7808889146555843082">Ao eliminar este contrasinal non se eliminará a túa conta de <ph name="SITE" />. Cambia o contrasinal ou elimina a túa conta en <ph name="SITE" /> para protexela doutras persoas.</translation>
 <translation id="808894953321890993">Cambiar contrasinal</translation>
-<translation id="8465887663773496448">Chrome non puido comprobar todos os contrasinais. Podes tentalo de novo mañá ou ben comprobar os contrasinais da túa Conta de Google.</translation>
 <translation id="8603820497269504141">Chrome pode comprobar os teus contrasinais cando inicies sesión coa túa Conta de Google.</translation>
 <translation id="8798925345090498040">Chrome non puido comprobar todos os contrasinais. Téntao de novo mañá.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_gu.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_gu.xtb
index 97322dbb..01630f3 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_gu.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_gu.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">ડેટા ઉલ્લંઘનમાં મળ્યો</translation>
 <translation id="7808889146555843082">આ પાસવર્ડ ડિલીટ કરવાથી <ph name="SITE" /> પરનું તમારું એકાઉન્ટ ડિલીટ થશે નહીં. <ph name="SITE" /> પરનું તમારું એકાઉન્ટ ડિલીટ કરો અથવા તમારો પાસવર્ડ બદલો કે જેથી તેને અન્ય લોકોથી સુરક્ષિત રાખી શકાય.</translation>
 <translation id="808894953321890993">પાસવર્ડ બદલો</translation>
-<translation id="8465887663773496448">Chrome બધા પાસવર્ડ ચેક કરી શક્યું નથી. આવતી કાલે ફરી પ્રયાસ કરજો અથવા તમારા Google એકાઉન્ટમાંના પાસવર્ડ ચેક કરો.</translation>
 <translation id="8603820497269504141">જ્યારે તમે તમારા Google એકાઉન્ટ વડે સાઇન ઇન કરો ત્યારે Chrome તમારા પાસવર્ડ ચેક કરી શકે છે.</translation>
 <translation id="8798925345090498040">Chrome બધા પાસવર્ડ ચેક કરી શક્યું નથી. આવતી કાલે ફરી પ્રયાસ કરો.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hi.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hi.xtb
index c72a26c..b8c66a84 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hi.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hi.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">यह पासवर्ड आपके हैक हो चुके डेटा में शामिल है</translation>
 <translation id="7808889146555843082">इस पासवर्ड को मिटाने से, आपका <ph name="SITE" /> वाला खाता नहीं मिटेगा. दूसरों से सुरक्षित रखने के लिए, अपना पासवर्ड बदलें या अपना <ph name="SITE" /> वाला खाता मिटाएं.</translation>
 <translation id="808894953321890993">पासवर्ड बदलें</translation>
-<translation id="8465887663773496448">Chrome सभी पासवर्ड की जांच नहीं कर सका. कल कोशिश करें या अपने Google खाते में सेव किए गए पासवर्ड की जांच करें.</translation>
 <translation id="8603820497269504141">आप जब अपने Google खाते से साइन इन करते हैं, तब Chrome आपके पासवर्ड की जांच कर सकता है</translation>
 <translation id="8798925345090498040">Chrome सभी पासवर्ड की जांच नहीं कर सका. कल कोशिश करें.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hr.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hr.xtb
index 02c2b5a..fc44f220 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hr.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hr.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Pronađeno u povredi podataka</translation>
 <translation id="7808889146555843082">Brisanjem zaporke neće se izbrisati vaš račun na <ph name="SITE" />. Izmijenite zaporku ili izbrišite račun na <ph name="SITE" /> da biste ga zaštitili od drugih.</translation>
 <translation id="808894953321890993">Promjena zaporke</translation>
-<translation id="8465887663773496448">Chrome nije uspio provjeriti sve zaporke. Pokušajte ponovno sutra ili provjerite zaporke na svojem Google računu.</translation>
+<translation id="8399282673057829204">Prikaži zaporku</translation>
 <translation id="8603820497269504141">Chrome može provjeriti vaše zaporke kad se prijavite Google računom.</translation>
 <translation id="8798925345090498040">Chrome nije uspio provjeriti sve zaporke. Pokušajte ponovo sutra.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hu.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hu.xtb
index 9906cea..f5b2105 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hu.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hu.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Megtalálható adatvédelmi incidensben</translation>
 <translation id="7808889146555843082">A jelszó eltávolításával nem törli fiókját a következő domainről: <ph name="SITE" />. Ha szeretné megőrizni fiókja biztonságát, módosítsa a jelszót, vagy törölje a fiókot a(z) <ph name="SITE" /> domainről.</translation>
 <translation id="808894953321890993">Jelszó módosítása</translation>
-<translation id="8465887663773496448">A Chrome nem tudta ellenőrizni az összes jelszót. Próbálja újra holnap, vagy ellenőrizze jelszavait a Google-fiókjában.</translation>
 <translation id="8603820497269504141">A Chrome ellenőrizni tudja a mentett jelszavakat, ha Ön bejelentkezik Google-fiókjával.</translation>
 <translation id="8798925345090498040">A Chrome nem tudta ellenőrizni az összes jelszót. Próbálja újra holnap.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hy.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hy.xtb
index 99822d11..3f1b40e0 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hy.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_hy.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Հայտնաբերվել է տվյալների արտահոսքում</translation>
 <translation id="7808889146555843082">Եթե հեռացնեք այս գաղտնաբառը, ձեր հաշիվը չի ջնջվի <ph name="SITE" /> կայքից։ Անվտանգության նկատառումներով փոխեք գաղտնաբառը կամ ջնջեք հաշիվը <ph name="SITE" /> կայքում։</translation>
 <translation id="808894953321890993">Փոխել գաղտնաբառը</translation>
-<translation id="8465887663773496448">Chrome-ին չհաջողվեց ստուգել բոլոր գաղտնաբառերը։ Վաղը նորից փորձեք կամ գաղտնաբառերը ստուգեք ձեր Google հաշվում։</translation>
 <translation id="8603820497269504141">Chrome-ը կարող է ստուգել ձեր գաղտնաբառերը, երբ մտնեք ձեր Google հաշիվ։</translation>
 <translation id="8798925345090498040">Chrome-ին չհաջողվեց ստուգել բոլոր գաղտնաբառերը։ Վաղը նորից փորձեք։</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_id.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_id.xtb
index b73b06f..614951b 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_id.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_id.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Ditemukan di pelanggaran data</translation>
 <translation id="7808889146555843082">Menghapus sandi ini tidak akan menghapus akun Anda di <ph name="SITE" />. Ubah sandi Anda atau hapus akun Anda di <ph name="SITE" /> untuk menjaganya tetap aman dari orang lain.</translation>
 <translation id="808894953321890993">Ubah sandi</translation>
-<translation id="8465887663773496448">Chrome tidak dapat memeriksa semua sandi. Coba lagi besok atau periksa sandi di Akun Google Anda.</translation>
 <translation id="8603820497269504141">Chrome dapat memeriksa sandi saat Anda login dengan Akun Google.</translation>
 <translation id="8798925345090498040">Chrome tidak dapat memeriksa semua sandi. Coba lagi besok.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_is.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_is.xtb
index 539e24e..d970b1a 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_is.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_is.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Fannst í öryggisbroti</translation>
 <translation id="7808889146555843082">Reikningnum þínum á <ph name="SITE" /> verður ekki eytt þó að þessu aðgangsorði verði eytt. Breyttu aðgangsorðinu eða eyddu reikningnum þínum á <ph name="SITE" /> til að halda honum öruggum fyrir öðrum.</translation>
 <translation id="808894953321890993">Breyta aðgangsorði</translation>
-<translation id="8465887663773496448">Chrome gat ekki athugað öll aðgangsorð. Reyndu aftur á morgun eða athugaðu aðgangsorð á Google reikningnum þínum.</translation>
+<translation id="8399282673057829204">Sýna aðgangsorð</translation>
 <translation id="8603820497269504141">Chrome getur athugað aðgangsorðin þín þegar þú skráir þig inn með Google reikningnum þínum.</translation>
 <translation id="8798925345090498040">Chrome gat ekki athugað öll aðgangsorð. Reyndu aftur á morgun.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_it.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_it.xtb
index e9a15ca..fc25c58e 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_it.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_it.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Rilevata in una violazione dei dati</translation>
 <translation id="7808889146555843082">L'eliminazione di questa password non comporta l'eliminazione del tuo account su <ph name="SITE" />. Cambia la password o elimina il tuo account su <ph name="SITE" /> per proteggerlo dagli altri.</translation>
 <translation id="808894953321890993">Cambia password</translation>
-<translation id="8465887663773496448">Chrome non ha potuto controllare tutte le password. Riprova domani oppure controlla le password nel tuo Account Google.</translation>
 <translation id="8603820497269504141">Chrome può controllare le tue password quando accedi con il tuo Account Google.</translation>
 <translation id="8798925345090498040">Chrome non ha potuto controllare tutte le password. Riprova domani.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_iw.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_iw.xtb
index 19ef4fb..8cef4d54 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_iw.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_iw.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">נמצאה בפרצה באבטחת מידע</translation>
 <translation id="7808889146555843082">מחיקת הסיסמה הזו לא תגרום למחיקת החשבון שלך באתר <ph name="SITE" />. כדי למנוע את החשיפה של הסיסמה, כדאי לשנות אותה או למחוק את החשבון שלך ב-<ph name="SITE" />.</translation>
 <translation id="808894953321890993">שינוי הסיסמה</translation>
-<translation id="8465887663773496448">‏Chrome לא הצליח לבדוק את כל הסיסמאות. אפשר לנסות שוב מחר או לבדוק את הסיסמאות בחשבון Google.</translation>
 <translation id="8603820497269504141">‏Chrome יכול לבדוק את הסיסמאות כשנכנסים באמצעות חשבון Google.</translation>
 <translation id="8798925345090498040">‏Chrome לא הצליח לבדוק את כל הסיסמאות. אפשר לנסות שוב מחר.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ja.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ja.xtb
index fc997bc7..68b50b93 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ja.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ja.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">データ侵害で漏洩</translation>
 <translation id="7808889146555843082">このパスワードを削除しても、<ph name="SITE" /> のアカウントは削除されません。セキュリティを確保するため、パスワードを変更するか、<ph name="SITE" /> のアカウントを削除してください。</translation>
 <translation id="808894953321890993">パスワードの変更</translation>
-<translation id="8465887663773496448">Chrome ですべてのパスワードを確認できませんでした。明日もう一度お試しいただくか、Google アカウント内のパスワードをご確認ください。</translation>
 <translation id="8603820497269504141">Google アカウントでログインすると、Chrome でパスワードを確認できるようになります。</translation>
 <translation id="8798925345090498040">Chrome ですべてのパスワードを確認できませんでした。明日もう一度お試しください。</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ka.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ka.xtb
index 98601b7..274dd98 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ka.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ka.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">დაფიქსირდა პერსონალურ მონაცემთა გაჟონვისას</translation>
 <translation id="7808889146555843082">ამ პაროლის წაშლის შემთხვევაში თქვენი ანგარიში <ph name="SITE" />-ზე არ წაიშლება. თქვენი პაროლი სხვის ხელში რომ არ აღმოჩნდეს, შეცვალეთ ან წაშალეთ ის <ph name="SITE" />-ზე.</translation>
 <translation id="808894953321890993">პაროლის შეცვლა</translation>
-<translation id="8465887663773496448">Chrome-მა ვერ შეამოწმა ყველა პაროლი. ცადეთ ხვალ, ან შეამოწმეთ პაროლები თქვენი Google ანგარიშიდან.</translation>
 <translation id="8603820497269504141">პაროლების Chrome-ის მეშვეობით შესამოწმებლად შედით სისტემაში თქვენი Google ანგარიშით.</translation>
 <translation id="8798925345090498040">Chrome-მა ვერ შეამოწმა ყველა პაროლი. ცადეთ ხვალ.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_kk.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_kk.xtb
index 4ccc5fcf..d00dff88 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_kk.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_kk.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Деректер қолды болғанда табылды</translation>
 <translation id="7808889146555843082">Құпия сөзді жойсаңыз, <ph name="SITE" /> сайтындағы есептік жазбаңыз жойылмайды. Деректерді қорғау үшін құпия сөзіңізді өзгертіңіз немесе <ph name="SITE" /> сайтындағы есептік жазбаны жойыңыз.</translation>
 <translation id="808894953321890993">Кұпия сөзді өзгерту</translation>
-<translation id="8465887663773496448">Chrome барлық құпия сөзді тексере алмады. Ертең қайталап көріңіз немесе құпия сөздерді Google есептік жазбасында тексеріңіз.</translation>
 <translation id="8603820497269504141">Google есептік жазбаңызбен кіргенде, Chrome сіздің құпия сөздеріңізді тексере алады.</translation>
 <translation id="8798925345090498040">Chrome барлық құпия сөзді тексере алмады. Ертең қайталап көріңіз.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_km.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_km.xtb
index d8c4830..2ed8a4a 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_km.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_km.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">រកឃើញនៅក្នុងការបែកធ្លាយ​ទិន្នន័យ​</translation>
 <translation id="7808889146555843082">ការលុបពាក្យសម្ងាត់នេះ​នឹងមិន​លុបគណនីរបស់អ្នក​នៅលើ <ph name="SITE" />​ ទេ។ ផ្លាស់ប្ដូរពាក្យសម្ងាត់របស់អ្នក ឬលុបគណនីរបស់អ្នក​នៅលើ <ph name="SITE" /> ដើម្បីរក្សាឱ្យវាមានសុវត្ថិភាពពីអ្នកដទៃ។</translation>
 <translation id="808894953321890993">ប្ដូរ​ពាក្យ​សម្ងាត់</translation>
-<translation id="8465887663773496448">Chrome មិនអាចពិនិត្យពាក្យសម្ងាត់ទាំងអស់បានទេ។ សូមព្យាយាមម្ដងទៀតនៅថ្ងៃស្អែក ឬពិនិត្យពាក្យសម្ងាត់នៅក្នុងគណនី Google របស់អ្នក។</translation>
 <translation id="8603820497269504141">Chrome អាចពិនិត្យពាក្យសម្ងាត់របស់អ្នក នៅពេលអ្នកចូល​ដោយប្រើគណនី Google របស់អ្នក។</translation>
 <translation id="8798925345090498040">Chrome មិនអាចពិនិត្យពាក្យសម្ងាត់ទាំងអស់បានទេ។ សូម​ព្យាយាម​ម្ដងទៀតនៅថ្ងៃស្អែក។</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_kn.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_kn.xtb
index ca131e8a..8bb5a1ba 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_kn.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_kn.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">ಡೇಟಾ ಉಲ್ಲಂಘಿಸಿದವುಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಕಂಡುಬಂದಿದೆ</translation>
 <translation id="7808889146555843082">ಈ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಅಳಿಸುವುದರಿಂದ <ph name="SITE" /> ನಲ್ಲಿ ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಅಳಿಸಲಾಗುವುದಿಲ್ಲ. <ph name="SITE" /> ನಲ್ಲಿ ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಇತರರಿಂದ ರಕ್ಷಿಸಲು, ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಬದಲಾಯಿಸಿ ಅಥವಾ ಖಾತೆಯನ್ನು ಅಳಿಸಿ.</translation>
 <translation id="808894953321890993">ಪಾಸ್‌ವರ್ಡ್ ಬದಲಿಸಿ</translation>
-<translation id="8465887663773496448">ಎಲ್ಲಾ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು Chrome ಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ನಾಳೆ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ ಅಥವಾ ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿರುವ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.</translation>
 <translation id="8603820497269504141">ನೀವು Google ಖಾತೆಯ ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿದಾಗ, Chrome ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಬಹುದು.</translation>
 <translation id="8798925345090498040">ಎಲ್ಲಾ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು Chrome ಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ನಾಳೆ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ko.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ko.xtb
index 86c4d951..d386edc 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ko.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ko.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">정보 유출에 포함됨</translation>
 <translation id="7808889146555843082">비밀번호를 삭제해도 <ph name="SITE" /> 계정은 삭제되지 않습니다. 비밀번호를 변경하거나 <ph name="SITE" /> 계정을 삭제하여 보안을 유지하세요.</translation>
 <translation id="808894953321890993">비밀번호 변경</translation>
-<translation id="8465887663773496448">Chrome에서 일부 비밀번호를 확인할 수 없습니다. 내일 다시 시도하거나 Google 계정에서 비밀번호를 확인하세요.</translation>
 <translation id="8603820497269504141">Google 계정으로 로그인하면 Chrome에서 비밀번호를 확인할 수 있습니다.</translation>
 <translation id="8798925345090498040">Chrome에서 일부 비밀번호를 확인할 수 없습니다. 내일 다시 시도해 보세요.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ky.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ky.xtb
index e79cc6d..e31031f 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ky.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ky.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Сырсөз уурдалды</translation>
 <translation id="7808889146555843082">Бул сырсөздү жок кылуу менен, <ph name="SITE" /> аккаунтуңуз жок кылынбайт. <ph name="SITE" /> аккаунтуңузду башкалардан коргоо үчүн сырсөздү өзгөртүңүз же аккаунтуңузду жок кылыңыз.</translation>
 <translation id="808894953321890993">Сызсөздү өзгөртүү</translation>
-<translation id="8465887663773496448">Chrome бардык сырсөздөрдү текшере алган жок. Эртең кайра аракет кылыңыз же Google аккаунтуңуздагы сырсөздөрдү текшериңиз.</translation>
 <translation id="8603820497269504141">Google аккаунтуңуз менен киргенде Chrome сырсөздөрүңүздү текшерет.</translation>
 <translation id="8798925345090498040">Chrome бардык сырсөздөрдү текшере алган жок. Эртең кайталап көрүңүз.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lo.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lo.xtb
index 7ff23d1..aeb2c8e 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lo.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lo.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">ພົບເຫັນໃນການລະເມີດຂໍ້ມູນ</translation>
 <translation id="7808889146555843082">ການລຶບລະຫັດຜ່ານນີ້ຈະບໍ່ລຶບບັນຊີຂອງທ່ານໃນ <ph name="SITE" />. ການປ່ຽນລະຫັດຜ່ານຂອງທ່ານ ຫຼື ລຶບບັນຊີຂອງທ່ານໃນ <ph name="SITE" /> ເພື່ອຮັກສາໃຫ້ມັນປອດໄພຈາກຄົນອື່ນ.</translation>
 <translation id="808894953321890993">ປ່ຽນລະຫັດຜ່ານ</translation>
-<translation id="8465887663773496448">Chrome ບໍ່ສາມາດກວດລະຫັດຜ່ານທັງໝົດໄດ້. ລອງໃໝ່ໃນມື້ອື່ນ ຫຼື ກວດລະຫັດຜ່ານໃນບັນຊີ Google ຂອງທ່ານ.</translation>
+<translation id="8399282673057829204">ເບິ່ງລະຫັດຜ່ານ</translation>
 <translation id="8603820497269504141">Chrome ສາມາດກວດເບິ່ງລະຫັດຜ່ານຂອງທ່ານ ເມື່ອທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີ Google ຂອງທ່ານໄດ້.</translation>
 <translation id="8798925345090498040">Chrome ບໍ່ສາມາດກວດລະຫັດຜ່ານທັງໝົດໄດ້. ກະລຸນາລອງໃໝ່ໃນມື້ອື່ນ.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lt.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lt.xtb
index a7e7914..f9c3203 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lt.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lt.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Rasta duomenų saugos pažeidime</translation>
 <translation id="7808889146555843082">Ištrynus šį slaptažodį jūsų paskyra svetainėje <ph name="SITE" /> nebus ištrinta. Pakeiskite slaptažodį arba ištrinkite paskyrą domene <ph name="SITE" />, kad apsaugotumėte ją nuo kitų.</translation>
 <translation id="808894953321890993">Keisti slaptažodį</translation>
-<translation id="8465887663773496448">„Chrome“ nepavyko patikrinti visų slaptažodžių. Bandykite dar kartą rytoj arba patikrinkite slaptažodžius „Google“ paskyroje.</translation>
 <translation id="8603820497269504141">„Chrome“ gali tikrinti jūsų slaptažodžius, kai prisijungiate naudodami „Google“ paskyrą.</translation>
 <translation id="8798925345090498040">„Chrome“ nepavyko patikrinti visų slaptažodžių. Rytoj bandykite dar kartą.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lv.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lv.xtb
index 0915c6b..c5da944 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lv.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_lv.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Atklāta datu pārkāpuma dēļ</translation>
 <translation id="7808889146555843082">Izdzēšot šo paroli, netiks dzēsts jūsu konts vietnē <ph name="SITE" />. Nomainiet savu paroli vai dzēsiet savu kontu vietnē <ph name="SITE" />, lai aizsargātu to no citām personām.</translation>
 <translation id="808894953321890993">Mainīt paroli</translation>
-<translation id="8465887663773496448">Pārlūkprogrammā Chrome nevarēja pārbaudīt visas paroles. Mēģiniet vēlreiz rīt vai pārbaudiet paroles savā Google kontā.</translation>
 <translation id="8603820497269504141">Pārlūkprogrammā Chrome var pārbaudīt jūsu paroles, ja esat pierakstījies savā Google kontā.</translation>
 <translation id="8798925345090498040">Pārlūkprogrammā Chrome nevarēja pārbaudīt visas paroles. Rit mēģiniet vēlreiz.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mk.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mk.xtb
index b2e476d05..fc5e8ed 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mk.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mk.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Откриена при упад во податоци</translation>
 <translation id="7808889146555843082">Со бришењето на лозинкава нема да се избрише вашата сметка на <ph name="SITE" />. Променете ја лозинката или избришете ја сметката на <ph name="SITE" /> за да ја заштитите од другите.</translation>
 <translation id="808894953321890993">Промени лозинка</translation>
-<translation id="8465887663773496448">Chrome не можеше да ги провери сите лозинки. Обидете се пак утре или проверете ги лозинките во сметката на Google.</translation>
 <translation id="8603820497269504141">Chrome може да ги проверува вашите лозинки кога ќе се најавите со вашата сметка на Google.</translation>
 <translation id="8798925345090498040">Chrome не можеше да ги провери сите лозинки. Обидете се повторно утре.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ml.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ml.xtb
index 4b91dcd..2a6c742 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ml.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ml.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">ഡാറ്റാ ലംഘനത്തിൽ കണ്ടെത്തി</translation>
 <translation id="7808889146555843082">ഈ പാസ്‌വേഡ് ഇല്ലാതാക്കുന്നത് <ph name="SITE" /> -ലെ നിങ്ങളുടെ അക്കൗണ്ട് ഇല്ലാതാക്കില്ല. നിങ്ങളുടെ <ph name="SITE" /> -ലെ അക്കൗണ്ട് മറ്റുള്ളവരിൽ നിന്ന് സുരക്ഷിതമായി സൂക്ഷിക്കാൻ അതിന്റെ പാസ്‌വേഡ് മാറ്റുകയോ അത് ഇല്ലാതാക്കുകയോ ചെയ്യുക.</translation>
 <translation id="808894953321890993">പാസ്‌വേഡ് മാറ്റുക</translation>
-<translation id="8465887663773496448">എല്ലാ പാസ്‌വേഡുകളും Chrome-ന് പരിശോധിക്കാനായില്ല. നാളെ വീണ്ടും ശ്രമിക്കുക അല്ലെങ്കിൽ നിങ്ങളുടെ Google അക്കൗണ്ടിലെ പാസ്‌വേഡുകൾ പരിശോധിക്കുക.</translation>
 <translation id="8603820497269504141">നിങ്ങളുടെ Google അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുമ്പോൾ, Chrome-ന് നിങ്ങളുടെ പാസ്‌വേഡുകൾ പരിശോധിക്കാനാവും.</translation>
 <translation id="8798925345090498040">എല്ലാ പാസ്‌വേഡുകളും Chrome-ന് പരിശോധിക്കാനായില്ല. നാളെ വീണ്ടും ശ്രമിക്കുക.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mn.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mn.xtb
index 302d09d..dabdf632 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mn.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mn.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Өгөгдлийн зөрчилд олдсон</translation>
 <translation id="7808889146555843082">Энэ нууц үгийг устгасан ч <ph name="SITE" /> дээрх таны бүртгэл устахгүй. <ph name="SITE" /> дээрх нууц үгээ өөрчлөн, эсвэл бүртгэлээ устган бусдаас хамгаална уу.</translation>
 <translation id="808894953321890993">Нууц үгийг солих</translation>
-<translation id="8465887663773496448">Chrome бүх нууц үгийг шалгаж чадсангүй. Маргааш дахин оролдоно уу, эсвэл өөрийн Google Бүртгэл дэх нууц үгсийг шалгана уу.</translation>
 <translation id="8603820497269504141">Таныг Google Бүртгэлээрээ нэвтрэх үед Chrome таны нууц үгсийг шалгах боломжтой.</translation>
 <translation id="8798925345090498040">Chrome бүх нууц үгийг шалгаж чадсангүй. Маргааш дахин оролдоно уу.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mr.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mr.xtb
index c614dc9..b41b89f5 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mr.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_mr.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">डेटा भंग करत असल्याचे आढळले</translation>
 <translation id="7808889146555843082">हा पासवर्ड हटवल्यामुळे तुमचे <ph name="SITE" /> वरील खाते हटवले जाणार नाही. तुमचे खाते इतरांपासून सुरक्षित ठेवण्यासाठी, त्‍याचा <ph name="SITE" /> वरील पासवर्ड बदला किंवा तुमचे त्‍यावरील खाते हटवा.</translation>
 <translation id="808894953321890993">पासवर्ड बदला</translation>
-<translation id="8465887663773496448">Chrome ला सर्व पासवर्ड तपासता आले नाहीत. उद्या पुन्हा प्रयत्न करा किंवा तुमच्या Google खाते यामध्ये पासवर्ड तपासा.</translation>
 <translation id="8603820497269504141">तुम्ही तुमचे Google खाते वापरून साइन इन करता तेव्हा, Chrome तुमचे पासवर्ड तपासू शकते.</translation>
 <translation id="8798925345090498040">Chrome ला सर्व पासवर्ड तपासता आले नाहीत. उद्या पुन्हा प्रयत्न करा.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ms.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ms.xtb
index 6dbe399..7f00bc3 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ms.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ms.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Ditemukan dalam pelanggaran data</translation>
 <translation id="7808889146555843082">Pemadaman kata laluan ini tidak akan memadamkan akaun anda pada <ph name="SITE" />. Tukar kata laluan anda atau padamkan akaun anda pada <ph name="SITE" /> untuk melindungi kata laluan itu daripada orang lain.</translation>
 <translation id="808894953321890993">Tukar kata laluan</translation>
-<translation id="8465887663773496448">Chrome tidak dapat menyemak semua kata laluan. Cuba lagi esok atau semak kata laluan dalam Akaun Google anda.</translation>
 <translation id="8603820497269504141">Chrome boleh menyemak kata laluan anda apabila anda log masuk menggunakan Akaun Google anda.</translation>
 <translation id="8798925345090498040">Chrome tidak dapat menyemak semua kata laluan. Cuba lagi esok.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_my.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_my.xtb
index d7694f7..b521ff4e 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_my.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_my.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">ဒေတာကျိုးပေါက်မှုတွင် တွေ့ထားသည်</translation>
 <translation id="7808889146555843082">ဤစကားဝှက်ကို ဖျက်ခြင်းဖြင့် <ph name="SITE" /> ရှိ သင့်အကောင့်ကို ဖျက်မည်မဟုတ်ပါ။ အခြားသူများ၏ ရန်မှကာကွယ်ရန် သင့်စကားဝှက်ကို ပြောင်းပါ သို့မဟုတ် <ph name="SITE" /> ရှိ သင့်အကောင့်ကို ဖျက်ပါ။</translation>
 <translation id="808894953321890993">စကားဝှက် ပြောင်းရန်</translation>
-<translation id="8465887663773496448">Chrome က စကားဝှက်အားလုံးကို စစ်ဆေး၍မရပါ။ မနက်ဖြန် ထပ်စမ်းကြည့်ပါ သို့မဟုတ် သင်၏ Google Account ရှိ စကားဝှက်များကို စစ်ဆေးပါ။</translation>
 <translation id="8603820497269504141">သင်၏ Google Account နှင့် လက်မှတ်ထိုးဝင်သည့်အခါ Chrome က သင့်စကားဝှက်များကို စစ်ဆေးနိုင်သည်။</translation>
 <translation id="8798925345090498040">Chrome က စကားဝှက်အားလုံးကို စစ်ဆေး၍မရပါ။ မနက်ဖြန် ထပ်စမ်းကြည့်ပါ။</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ne.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ne.xtb
index ad9ea8b..bd599336 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ne.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ne.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">डेटा चोरीको घटनामा फेला परेको</translation>
 <translation id="7808889146555843082">तपाईंले यो पासवर्ड मेटाउनुभयो भने <ph name="SITE" /> मा रहेको तपाईंको खाता मेटिने छैन। <ph name="SITE" /> मा रहेको तपाईंको खाता अन्य मान्छेहरूबाट सुरक्षित राख्न आफ्नो पासवर्ड परिवर्तन गर्नुहोस् वा उक्त खाता मेटाउनुहोस्।</translation>
 <translation id="808894953321890993">पासवर्ड परिवर्तन गर्नुहोस्‌</translation>
-<translation id="8465887663773496448">Chrome ले सबै पासवर्डहरू जाँच्न सकेन। भोलि फेरि प्रयास गर्नुहोस् वा आफ्नो Google खातामा रहेका पासवर्डहरू जाँच्नुहोस्</translation>
 <translation id="8603820497269504141">तपाईंले आफ्नो Google खातामा साइन इन गरेपछि मात्र Chrome ले तपाईंका पासवर्डहरूको जाँच गर्न सक्छ।</translation>
 <translation id="8798925345090498040">Chrome ले सबै पासवर्डहरू जाँच्न सकेन। भोलि फेरि प्रयास गर्नुहोस्।</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_nl.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_nl.xtb
index 740c74b2..554f9ea 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_nl.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_nl.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Gevonden in een gegevenslek</translation>
 <translation id="7808889146555843082">Als je dit wachtwoord verwijdert, wordt je account op <ph name="SITE" /> niet verwijderd. Wijzig je wachtwoord of verwijder je account in <ph name="SITE" /> om het te beschermen.</translation>
 <translation id="808894953321890993">Wachtwoord wijzigen</translation>
-<translation id="8465887663773496448">Chrome kan niet alle wachtwoorden checken. Probeer het morgen opnieuw of check de wachtwoorden in je Google-account.</translation>
 <translation id="8603820497269504141">Chrome kan je wachtwoorden controleren als je inlogt met je Google-account.</translation>
 <translation id="8798925345090498040">Chrome kan niet alle wachtwoorden checken. Probeer het morgen opnieuw.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_no.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_no.xtb
index 88f551e8..b7ee302 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_no.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_no.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Funnet i databrudd</translation>
 <translation id="7808889146555843082">Sletting av dette passordet sletter ikke kontoen din på <ph name="SITE" />. Endre passordet eller slett kontoen på <ph name="SITE" /> for å beskytte den mot andre.</translation>
 <translation id="808894953321890993">Endre passord</translation>
-<translation id="8465887663773496448">Chrome kunne ikke sjekke alle passordene. Prøv på nytt i morgen, eller sjekk passordene i Google-kontoen din.</translation>
 <translation id="8603820497269504141">Chrome kan sjekke passordene dine når du logger på med Google-kontoen din.</translation>
 <translation id="8798925345090498040">Chrome kunne ikke sjekke alle passordene. Prøv på nytt i morgen.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_or.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_or.xtb
index 22cf4e57..33afbe4a 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_or.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_or.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">ଡାଟା ଚୋରିରେ ପାସୱାର୍ଡ ମିଳିଛି</translation>
 <translation id="7808889146555843082">ଏହି ପାସୱାର୍ଡ ଡିଲିଟ୍ କରିବା ଦ୍ଵାରା <ph name="SITE" />ରେ ଥିବା ଆପଣଙ୍କ ଆକାଉଣ୍ଟ ଡିଲିଟ୍ ହେବ ନାହିଁ। ଆପଣଙ୍କ ପାସୱାର୍ଡ ପରିବର୍ତ୍ତନ କରନ୍ତୁ କିମ୍ବା <ph name="SITE" />ରେ ଥିବା ଆପଣଙ୍କ ଆକାଉଣ୍ଟକୁ ଅନ୍ୟମାନଙ୍କ ଠାରୁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ଏହାକୁ ଡିଲିଟ୍ କରନ୍ତୁ।</translation>
 <translation id="808894953321890993">ପାସ୍‌ୱାର୍ଡ ବଦଳାନ୍ତୁ</translation>
-<translation id="8465887663773496448">Chrome ସମସ୍ତ ପାସୱାର୍ଡକୁ ଯାଞ୍ଚ କରିପାରିଲା ନାହିଁ। ଆସନ୍ତାକାଲି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ କିମ୍ବା ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରେ ପାସୱାର୍ଡଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରନ୍ତୁ।</translation>
 <translation id="8603820497269504141">ଆପଣ ଆପଣଙ୍କର Google ଆକାଉଣ୍ଟ ମାଧ୍ୟମରେ ସାଇନ୍ ଇନ୍ କଲେ, Chrome ଆପଣଙ୍କ ପାସୱାର୍ଡଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରିପାରିବ।</translation>
 <translation id="8798925345090498040">Chrome ସମସ୍ତ ପାସୱାର୍ଡକୁ ଯାଞ୍ଚ କରିପାରିଲା ନାହିଁ। ଆସନ୍ତାକାଲି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pa.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pa.xtb
index c2847045..d3fcc77 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pa.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pa.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">ਡਾਟਾ ਉਲੰਘਣਾ ਵਿੱਚ ਮਿਲਿਆ</translation>
 <translation id="7808889146555843082">ਇਸ ਪਾਸਵਰਡ ਨੂੰ ਮਿਟਾਉਣ ਨਾਲ <ph name="SITE" /> 'ਤੇ ਤੁਹਾਡੇ ਖਾਤੇ ਨੂੰ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾਵੇਗਾ। ਇਸਨੂੰ ਹੋਰਾਂ ਤੋਂ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਲਈ ਆਪਣਾ ਪਾਸਵਰਡ ਬਦਲੋ ਜਾਂ <ph name="SITE" /> 'ਤੇ ਆਪਣਾ ਖਾਤਾ ਮਿਟਾਓ।</translation>
 <translation id="808894953321890993">ਪਾਸਵਰਡ ਬਦਲੋ</translation>
-<translation id="8465887663773496448">Chrome ਸਾਰੇ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਕੱਲ੍ਹ ਨੂੰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜਾਂ ਆਪਣੇ Google ਖਾਤੇ ਵਿੱਚ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਕਰੋ।</translation>
 <translation id="8603820497269504141">ਤੁਹਾਡੇ ਵੱਲੋਂ ਆਪਣੇ Google ਖਾਤੇ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨ 'ਤੇ Chrome ਤੁਹਾਡੇ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦਾ ਹੈ।</translation>
 <translation id="8798925345090498040">Chrome ਸਾਰੇ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਕੱਲ੍ਹ ਨੂੰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pl.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pl.xtb
index 5c1cee2..42071be 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pl.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pl.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Doszło do naruszenia bezpieczeństwa danych</translation>
 <translation id="7808889146555843082">Usunięcie tego hasła nie spowoduje usunięcia Twojego konta w serwisie <ph name="SITE" />. Aby uniemożliwić innym osobom dostęp do konta w serwisie <ph name="SITE" />, usuń je lub zmień do niego hasło.</translation>
 <translation id="808894953321890993">Zmień hasło</translation>
-<translation id="8465887663773496448">Przeglądarce Chrome nie udało się sprawdzić wszystkich haseł. Spróbuj ponownie jutro lub sprawdź hasła na koncie Google.</translation>
+<translation id="8399282673057829204">Wyświetl hasło</translation>
 <translation id="8603820497269504141">Chrome może sprawdzić Twoje hasła, gdy zalogujesz się na swoje konto Google.</translation>
 <translation id="8798925345090498040">Przeglądarce Chrome nie udało się sprawdzić wszystkich haseł. Spróbuj ponownie jutro.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pt-BR.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pt-BR.xtb
index ad118b5..7d34036 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pt-BR.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pt-BR.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Encontrada em uma violação de dados</translation>
 <translation id="7808889146555843082">Remover a senha não excluirá a conta em <ph name="SITE" />. Mude a senha ou exclua a conta em <ph name="SITE" /> para protegê-la.</translation>
 <translation id="808894953321890993">Alterar senha</translation>
-<translation id="8465887663773496448">Não foi possível verificar todas as senhas com o Chrome. Tente novamente amanhã ou verifique-as na sua Conta do Google.</translation>
 <translation id="8603820497269504141">O Chrome pode verificar suas senhas quando você faz login com sua Conta do Google.</translation>
 <translation id="8798925345090498040">Não foi possível verificar todas as senhas com o Chrome. Tente novamente amanhã.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pt-PT.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pt-PT.xtb
index b8e0668..eed75a63 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pt-PT.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_pt-PT.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Encontrada numa violação de dados</translation>
 <translation id="7808889146555843082">Eliminar esta palavra-passe não elimina a sua conta em <ph name="SITE" />. Altere a palavra-passe ou elimine a sua conta em <ph name="SITE" /> para a manter protegida contra terceiros.</translation>
 <translation id="808894953321890993">Alterar palavra-passe</translation>
-<translation id="8465887663773496448">O Chrome não conseguiu verificar todas as palavras-passe. Tente novamente amanhã ou verifique as palavras-passe na sua Conta Google.</translation>
+<translation id="8399282673057829204">Ver palavra-passe</translation>
 <translation id="8603820497269504141">O Chrome pode verificar as suas palavras-passe quando inicia sessão com a sua Conta Google.</translation>
 <translation id="8798925345090498040">O Chrome não conseguiu verificar todas as palavras-passe. Tente novamente amanhã.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ro.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ro.xtb
index 8f03441..8c9383d 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ro.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ro.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">S-a găsit în urma încălcării securității datelor</translation>
 <translation id="7808889146555843082">Prin ștergerea acestei parole, nu va fi șters și contul de pe <ph name="SITE" />. Schimbă-ți parola sau șterge contul din <ph name="SITE" /> ca să nu poată fi accesat de alte persoane.</translation>
 <translation id="808894953321890993">Schimbă parola</translation>
-<translation id="8465887663773496448">Chrome nu a putut verifica toate parolele. Încearcă din nou mâine sau verifică parolele din Contul Google.</translation>
 <translation id="8603820497269504141">Chrome poate să îți verifice parolele atunci când te conectezi folosind Contul Google.</translation>
 <translation id="8798925345090498040">Chrome nu a putut verifica toate parolele. Încearcă din nou mâine.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ru.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ru.xtb
index 915a576..b0e83f8 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ru.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ru.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Раскрыт при утечке данных</translation>
 <translation id="7808889146555843082">Это действие не приведет к удалению вашего аккаунта на сайте <ph name="SITE" />. Чтобы защитить от злоумышленников свои данные на сайте <ph name="SITE" />, удалите аккаунт или измените пароль.</translation>
 <translation id="808894953321890993">Сменить пароль</translation>
-<translation id="8465887663773496448">Браузеру Chrome не удается проверить все пароли. Повторите попытку завтра или проверьте пароли в аккаунте Google.</translation>
 <translation id="8603820497269504141">Chrome сможет проверить ваши пароли, когда вы войдете в аккаунт Google.</translation>
 <translation id="8798925345090498040">Браузеру Chrome не удается проверить все пароли. Повторите попытку завтра.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_si.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_si.xtb
index a3c4c3b..19bd6fcb 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_si.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_si.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">දත්ත කඩ කිරීම තුළ හමු විය</translation>
 <translation id="7808889146555843082">මෙම මුරපදය මැකීම <ph name="SITE" /> මත ඔබේ ගිණුම මකන්නේ නැත. එය අන් අයගෙන් ආරක්ෂිතව තබා ගැනීමට ඔබේ මුරපදය වෙනස් කරන්න, නැති නම් <ph name="SITE" /> මත ඔබේ ගිණුම මකන්න.</translation>
 <translation id="808894953321890993">මුරපදය වෙනස් කරන්න</translation>
-<translation id="8465887663773496448">Chrome හට සියලු මුරපද පරීක්ෂා කළ නොහැකි විය. හෙට නැවත උත්සාහ කරන්න, නැති නම් ඔබේ Google ගිණුම තුළ මුරපද පරීක්ෂා කරන්න.</translation>
+<translation id="8399282673057829204">මුරපදය බලන්න</translation>
 <translation id="8603820497269504141">ඔබ ඔබේ Google ගිණුම මඟින් පුරන විට Chrome ඔබේ මුරපද පරීක්‍ෂා කළ හැක.</translation>
 <translation id="8798925345090498040">Chrome හට සියලු මුරපද පරීක්ෂා කළ නොහැකි විය. හෙට නැවත උත්සාහ කරන්න.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sk.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sk.xtb
index a645d1b..02c4be64c3 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sk.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sk.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Nájdené v rámci porušenia ochrany údajov</translation>
 <translation id="7808889146555843082">Odstránením tohto hesla nevymažete svoj účet na webe <ph name="SITE" />. Ak chcete svoj účet chrániť pred ostatnými, odstráňte ho na webe <ph name="SITE" /> alebo zmeňte svoje heslo.</translation>
 <translation id="808894953321890993">Zmeniť heslo</translation>
-<translation id="8465887663773496448">Chromu sa nepodarilo skontrolovať všetky heslá. Skúste to znova zajtra alebo skontrolujte heslá vo svojom účte Google.</translation>
 <translation id="8603820497269504141">Keď sa prihlásite pomocou účtu Google, Chrome môže skontrolovať vaše heslá.</translation>
 <translation id="8798925345090498040">Chromu sa nepodarilo skontrolovať všetky heslá. Skúste to znova zajtra.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sl.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sl.xtb
index 2dec902..7d01db6 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sl.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sl.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Najdeno pri podatkovni kršitvi</translation>
 <translation id="7808889146555843082">Če izbrišete to geslo, ne izbrišete računa na <ph name="SITE" />. Če želite račun zaščititi pred drugimi, spremenite geslo ali izbrišite račun na <ph name="SITE" />.</translation>
 <translation id="808894953321890993">Sprememba gesla</translation>
-<translation id="8465887663773496448">Chromu ni uspelo preveriti vseh gesel. Poskusite znova jutri ali preverite gesla v računu Google.</translation>
 <translation id="8603820497269504141">Chrome lahko preveri vaša gesla, ko se prijavite z računom Google.</translation>
 <translation id="8798925345090498040">Chromu ni uspelo preveriti vseh gesel. Poskusite znova jutri.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sq.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sq.xtb
index 3e6a186c..1b74540 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sq.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sq.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">U gjet në një nxjerrje të paautorizuar të të dhënave</translation>
 <translation id="7808889146555843082">Fshirja e këtij fjalëkalimi nuk do ta fshijë llogarinë tënde në <ph name="SITE" />. Ndrysho fjalëkalimin ose fshi llogarinë tënde në <ph name="SITE" /> për ta mbajtur të sigurt nga të tjerët.</translation>
 <translation id="808894953321890993">Ndrysho fjalëkalimin</translation>
-<translation id="8465887663773496448">Chrome nuk mund t'i kontrollonte të gjitha fjalëkalimet. Provo përsëri nesër ose kontrollo fjalëkalimet në "Llogarinë tënde të Google".</translation>
 <translation id="8603820497269504141">Chrome mund t'i kontrollojë fjalëkalimet e tua kur të identifikohesh me "Llogarinë tënde të Google".</translation>
 <translation id="8798925345090498040">Chrome nuk mund t'i kontrollonte të gjitha fjalëkalimet. Provo përsëri nesër.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sr-Latn.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sr-Latn.xtb
index 568f42b..f9f8ebac 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sr-Latn.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sr-Latn.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Pronađeno u upadu u podatke</translation>
 <translation id="7808889146555843082">Brisanjem ove lozinke nećete izbrisati nalog na <ph name="SITE" />. Promenite lozinku ili izbrišite nalog na <ph name="SITE" /> da biste ga zaštitili od drugih.</translation>
 <translation id="808894953321890993">Promeni lozinku</translation>
-<translation id="8465887663773496448">Chrome nije uspeo da proveri sve lozinke. Probajte ponovo sutra ili proverite lozinke na Google nalogu.</translation>
+<translation id="8399282673057829204">Prikaži lozinku</translation>
 <translation id="8603820497269504141">Chrome može da vam proverava lozinke kada se prijavite pomoću Google naloga.</translation>
 <translation id="8798925345090498040">Chrome nije uspeo da proveri sve lozinke. Probajte ponovo sutra.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sr.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sr.xtb
index 6442035..06714f62 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sr.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sr.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Пронађено у упаду у податке</translation>
 <translation id="7808889146555843082">Брисањем ове лозинке нећете избрисати налог на <ph name="SITE" />. Промените лозинку или избришите налог на <ph name="SITE" /> да бисте га заштитили од других.</translation>
 <translation id="808894953321890993">Промени лозинку</translation>
-<translation id="8465887663773496448">Chrome није успео да провери све лозинке. Пробајте поново сутра или проверите лозинке на Google налогу.</translation>
+<translation id="8399282673057829204">Прикажи лозинку</translation>
 <translation id="8603820497269504141">Chrome може да вам проверава лозинке када се пријавите помоћу Google налога.</translation>
 <translation id="8798925345090498040">Chrome није успео да провери све лозинке. Пробајте поново сутра.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sv.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sv.xtb
index 34b4c4c..aef106a7 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sv.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sv.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Upptäckt i ett dataintrång</translation>
 <translation id="7808889146555843082">Att ta bort det här lösenordet innebär inte att ditt konto på <ph name="SITE" /> raderas. Skydda kontot genom att ändra lösenordet eller ta bort ditt konto på <ph name="SITE" />.</translation>
 <translation id="808894953321890993">Ändra lösenord</translation>
-<translation id="8465887663773496448">Chrome kunde inte kontrollera alla lösenord. Försök igen i morgon eller kontrollera lösenorden i ditt Google-konto.</translation>
 <translation id="8603820497269504141">Chrome kan kontrollera dina lösenord när du loggar in med Google-kontot.</translation>
 <translation id="8798925345090498040">Chrome kunde inte kontrollera alla lösenord. Försök igen i morgon.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sw.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sw.xtb
index db13c09..fa6e96b 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sw.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_sw.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Limepatikana kwenye tukio la ufichuzi haramu wa data</translation>
 <translation id="7808889146555843082">Hatua ya kufuta nenosiri hili haitafuta akaunti yako kwenye <ph name="SITE" />. Badilisha nenosiri au futa akaunti yako kwenye <ph name="SITE" /> ili uilinde dhidi ya watu wengine.</translation>
 <translation id="808894953321890993">Badilisha nenosiri</translation>
-<translation id="8465887663773496448">Chrome imeshindwa kukagua manenosiri yote. Jaribu tena kesho au ukague manenosiri katika Akaunti yako ya Google.</translation>
+<translation id="8399282673057829204">Angalia nenosiri</translation>
 <translation id="8603820497269504141">Chrome inaweza kukagua manenosiri yako unapoingia ukitumia Akaunti yako ya Google.</translation>
 <translation id="8798925345090498040">Chrome imeshindwa kukagua manenosiri yote. Jaribu tena kesho.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ta.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ta.xtb
index 782b2de..ef779ea 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ta.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ta.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">தரவு மீறலில் உள்ளது</translation>
 <translation id="7808889146555843082">இந்தக் கடவுச்சொல்லை நீக்கினால் <ph name="SITE" /> டொமைனில் உள்ள உங்கள் கணக்கு நீக்கப்படாது. <ph name="SITE" /> டொமைனில் உள்ள உங்கள் கணக்கைப் பிறரிடமிருந்து பாதுகாக்க, உங்கள் கடவுச்சொல்லை மாற்றவும் அல்லது உங்கள் கணக்கை நீக்கவும்.</translation>
 <translation id="808894953321890993">கடவுச்சொல்லை மாற்று</translation>
-<translation id="8465887663773496448">Chrome உலாவியால் கடவுச்சொற்கள் அனைத்தையும் சரிபார்க்க முடியவில்லை. நாளை முயலவும் அல்லது உங்கள் Google கணக்கில் கடவுச்சொற்களைச் சரிபார்க்கவும்.</translation>
 <translation id="8603820497269504141">Google கணக்கைப் பயன்படுத்தி நீங்கள் உள்நுழையும்போது Chromeமால் உங்கள் கடவுச்சொற்களைச் சரிபார்க்க முடியும்.</translation>
 <translation id="8798925345090498040">Chrome உலாவியால் கடவுச்சொற்கள் அனைத்தையும் சரிபார்க்க முடியவில்லை. நாளை முயலவும்.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_te.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_te.xtb
index ba4e6b16..caaddca3 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_te.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_te.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">డేటా ఉల్లంఘనలో కనుగొనబడింది</translation>
 <translation id="7808889146555843082">ఈ పాస్‌వర్డ్‌ను తొలగించడం వలన <ph name="SITE" />లో మీ ఖాతా తొలగించబడదు. మీ ఖాతాను ఇతరుల నుండి కాపాడుకోవడానికి, మీ పాస్‌వర్డ్‌ను మార్చండి లేదా <ph name="SITE" />లో దానిని తొలగించండి.</translation>
 <translation id="808894953321890993">పాస్‌వర్డ్‌ను మార్చు</translation>
-<translation id="8465887663773496448">Chrome అన్ని పాస్‌వర్డ్‌లను తనిఖీ చేయలేకపోయింది. రేపు మళ్లీ ట్రై చేయండి లేదా మీ Google ఖాతాలో పాస్‌వర్డ్‌లను తనిఖీ చేయండి.</translation>
 <translation id="8603820497269504141">మీరు మీ Google ఖాతాతో సైన్ ఇన్ చేసి ఉన్నప్పుడు Chrome మీ పాస్‌వర్డ్‌లను చెక్ చేయగలుగుతుంది.</translation>
 <translation id="8798925345090498040">Chrome అన్ని పాస్‌వర్డ్‌లను తనిఖీ చేయలేకపోయింది. రేపు మళ్లీ ట్రై చేయండి.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_th.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_th.xtb
index e8e2700..f0f31e5 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_th.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_th.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">พบในการละเมิดข้อมูล</translation>
 <translation id="7808889146555843082">การลบรหัสผ่านนี้จะไม่ลบบัญชีของคุณใน <ph name="SITE" /> เปลี่ยนรหัสผ่านหรือลบบัญชีของคุณใน <ph name="SITE" /> เพื่อให้ปลอดภัยจากบุคคลอื่น</translation>
 <translation id="808894953321890993">เปลี่ยนรหัสผ่าน</translation>
-<translation id="8465887663773496448">Chrome ตรวจสอบรหัสผ่านได้ไม่ครบทั้งหมด โปรดลองอีกครั้งในวันพรุ่งนี้หรือตรวจสอบรหัสผ่านในบัญชี Google</translation>
+<translation id="8399282673057829204">ดูรหัสผ่าน</translation>
 <translation id="8603820497269504141">Chrome จะตรวจสอบรหัสผ่านได้เมื่อคุณลงชื่อเข้าใช้ด้วยบัญชี Google</translation>
 <translation id="8798925345090498040">Chrome ตรวจสอบรหัสผ่านได้ไม่ครบทั้งหมด โปรดลองอีกครั้งในวันพรุ่งนี้</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_tr.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_tr.xtb
index 92ab7e0..09c0fcf 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_tr.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_tr.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Veri ihlali kapsamında bulundu</translation>
 <translation id="7808889146555843082">Bu şifre kaldırıldığında <ph name="SITE" /> üzerindeki hesabınız silinmez. <ph name="SITE" /> üzerindeki hesabınıza başka kişilerin ulaşmaması için şifrenizi değiştirin veya hesabı silin.</translation>
 <translation id="808894953321890993">Şifreyi değiştir</translation>
-<translation id="8465887663773496448">Chrome, şifrelerin tümünü kontrol edemedi. Yarın tekrar deneyin veya Google Hesabınızdaki şifreleri kontrol edin.</translation>
 <translation id="8603820497269504141">Chrome, Google Hesabınızla oturum açtığınızda şifrelerinizi kontrol edebilir.</translation>
 <translation id="8798925345090498040">Chrome, şifrelerin tümünü kontrol edemedi. Yarın tekrar deneyin.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_uk.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_uk.xtb
index 901e6974..b1d4f944 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_uk.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_uk.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Знайдено в порушеннях безпеки даних</translation>
 <translation id="7808889146555843082">Якщо видалити цей пароль, ваш обліковий запис на сайті <ph name="SITE" /> залишиться. Змініть пароль або видаліть обліковий запис на сайті <ph name="SITE" />, щоб захистити його.</translation>
 <translation id="808894953321890993">Змінити пароль</translation>
-<translation id="8465887663773496448">Chrome не вдалося перевірити всі паролі. Повторіть спробу завтра або перевірте паролі в обліковому записі Google.</translation>
 <translation id="8603820497269504141">Chrome зможе перевірити ваші паролі, коли ви ввійдете у свій обліковий запис Google.</translation>
 <translation id="8798925345090498040">Chrome не вдалося перевірити всі паролі. Повторіть спробу завтра.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ur.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ur.xtb
index 35a6b62..f5889b2 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ur.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_ur.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">ڈیٹا کی خلاف ورزی میں ملا</translation>
 <translation id="7808889146555843082">اس پاس ورڈ کو حذف کرنے سے آپ کا اکاؤنٹ <ph name="SITE" /> سے حذف نہیں ہوگا۔ اپنا اکاؤنٹ دوسروں سے محفوظ رکھنے کیلئے اپنا پاس ورڈ تبدیل کریں یا <ph name="SITE" /> سے اپنا اکاؤنٹ حذف کریں۔</translation>
 <translation id="808894953321890993">پاس ورڈ تبدیل کریں</translation>
-<translation id="8465887663773496448">‏Chrome سبھی پاس ورڈز چیک نہیں کر سکا۔ کل دوبارہ کوشش کریں یا اپنے Google اکاؤنٹ میں پاس ورڈز چیک کریں۔</translation>
 <translation id="8603820497269504141">‏جب آپ اپنے Google اکاؤنٹ سے سائن ان ہوتے ہیں تو Chrome آپ کے پاس ورڈز کو چیک کر سکتا ہے</translation>
 <translation id="8798925345090498040">‏Chrome سبھی پاس ورڈز چیک نہیں کر سکا۔ کل دوبارہ کوشش کریں۔</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_uz.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_uz.xtb
index 2d8fb53..c371b09 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_uz.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_uz.xtb
@@ -26,7 +26,7 @@
 <translation id="7744192722284567281">Oshkor qilingan axborotlarda bor</translation>
 <translation id="7808889146555843082">Bu parol olib tashlangani bilan <ph name="SITE" /> hisobingiz oʻchib ketmaydi. Boshqalardan himoyalash maqsadida <ph name="SITE" /> hisobingiz parolini almashtiring yoki olib tashlang.</translation>
 <translation id="808894953321890993">Parolni almashtirish</translation>
-<translation id="8465887663773496448">Chrome ayrim parollarni tekshira olmadi. Ertaga qaytadan urining yoki Google hisobingizdagi parollarni tekshiring.</translation>
+<translation id="8399282673057829204">Parolni ochish</translation>
 <translation id="8603820497269504141">Google hisobingizga kirsangiz, Chrome parollaringizni tekshira oladi.</translation>
 <translation id="8798925345090498040">Chrome ayrim parollarni tekshira olmadi. Ertaga qayta urining.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_vi.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_vi.xtb
index c2990279d..29ed2705 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_vi.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_vi.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Phát hiện mật khẩu bị rò rỉ</translation>
 <translation id="7808889146555843082">Thao tác xóa mật khẩu này sẽ không xóa tài khoản của bạn trên <ph name="SITE" />. Hãy đổi mật khẩu hoặc xóa tài khoản của bạn trên <ph name="SITE" /> để giữ an toàn cho tài khoản của bạn.</translation>
 <translation id="808894953321890993">Đổi mật khẩu</translation>
-<translation id="8465887663773496448">Chrome không thể kiểm tra một số mật khẩu. Hãy thử lại vào ngày mai hoặc kiểm tra các mật khẩu trong Tài khoản Google của bạn.</translation>
 <translation id="8603820497269504141">Chrome có thể kiểm tra mật khẩu khi bạn đăng nhập bằng Tài khoản Google của mình.</translation>
 <translation id="8798925345090498040">Chrome không thể kiểm tra một số mật khẩu. Hãy thử lại vào ngày mai.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-CN.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-CN.xtb
index 52918b2..26e39958 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-CN.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-CN.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">遭遇了数据泄露</translation>
 <translation id="7808889146555843082">删除此密码不会删除您在 <ph name="SITE" /> 上的帐号。如需保护您在 <ph name="SITE" /> 上的帐号免遭他人盗用,请更改您的密码或删除该帐号。</translation>
 <translation id="808894953321890993">更改密码</translation>
-<translation id="8465887663773496448">Chrome 无法检查所有密码。请明天再试,或者检查您的 Google 帐号中的密码。</translation>
 <translation id="8603820497269504141">您需要先登录 Google 帐号才能使用 Chrome 的密码检查功能。</translation>
 <translation id="8798925345090498040">Chrome 无法检查所有密码。请明天再试。</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-HK.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-HK.xtb
index 866d605..aad7d5e 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-HK.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-HK.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">發生資料外洩事件</translation>
 <translation id="7808889146555843082">刪除此密碼不會刪除您在 <ph name="SITE" /> 的帳戶。請變更密碼或刪除您在 <ph name="SITE" /> 的帳戶,以免被他人盜用。</translation>
 <translation id="808894953321890993">變更密碼</translation>
-<translation id="8465887663773496448">Chrome 無法檢查所有密碼。請明天再試,或檢查 Google 帳戶中的密碼。</translation>
 <translation id="8603820497269504141">Chrome 可在您使用 Google 帳戶登入時檢查密碼。</translation>
 <translation id="8798925345090498040">Chrome 無法檢查所有密碼。請明天再試。</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-TW.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-TW.xtb
index 52be233..f662b5ca 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-TW.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zh-TW.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">發生資料侵害事件</translation>
 <translation id="7808889146555843082">刪除這組密碼並不會刪除你的 <ph name="SITE" /> 帳戶。請變更密碼或刪除你的 <ph name="SITE" /> 帳戶,以避免遭到他人盜用。</translation>
 <translation id="808894953321890993">變更密碼</translation>
-<translation id="8465887663773496448">Chrome 無法檢查所有密碼,請明天再試,或檢查 Google 帳戶中的密碼。</translation>
 <translation id="8603820497269504141">如果你使用 Google 帳戶登入,Chrome 可以檢查你的密碼。</translation>
 <translation id="8798925345090498040">Chrome 無法檢查所有密碼,請明天再試。</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zu.xtb b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zu.xtb
index 73e7ffe7..276df04 100644
--- a/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zu.xtb
+++ b/chrome/browser/password_check/android/internal/java/strings/translations/android_password_check_strings_zu.xtb
@@ -26,7 +26,6 @@
 <translation id="7744192722284567281">Kutholakele ekukhuphuleni isivumelwano sedatha</translation>
 <translation id="7808889146555843082">Ukususa le phasiwedi ngeke kususe i-akhawunti yakho ku-<ph name="SITE" />. Shintsha iphasiwedi yakho noma susa i-akhawunti yakho ku-<ph name="SITE" /> ukuze uyigcine iphephile kwabanye.</translation>
 <translation id="808894953321890993">Shintsha iphasiwedi</translation>
-<translation id="8465887663773496448">I-Chrome ayikwazanga ukuhlola wonke amaphasiwedi. Zama futhi kusasa noma hlola amaphasiwedi ku-Akhawunti yakho ye-Google.</translation>
 <translation id="8603820497269504141">I-Chrome ingahlola amaphasiwedi akho uma ungena ngemvume nge-Akhawunti yakho ye-Google.</translation>
 <translation id="8798925345090498040">I-Chrome ayikwazanga ukuhlola wonke amaphasiwedi. Zama futhi kusasa.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/CompromisedCredential.java b/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/CompromisedCredential.java
index be62b7f2..ac321aa9 100644
--- a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/CompromisedCredential.java
+++ b/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/CompromisedCredential.java
@@ -30,6 +30,7 @@
                     final String password = in.readString();
                     final String passwordChangeUrl = in.readString();
                     final String associatedApp = in.readString();
+                    final long creationTime = in.readLong();
                     boolean[] boolArguments = new boolean[3];
                     in.readBooleanArray(boolArguments);
                     final boolean leaked = boolArguments[0];
@@ -37,8 +38,8 @@
                     final boolean hasScript = boolArguments[2];
 
                     return new CompromisedCredential(signonRealm, origin, username, displayOrigin,
-                            displayUsername, password, passwordChangeUrl, associatedApp, leaked,
-                            phished, hasScript);
+                            displayUsername, password, passwordChangeUrl, associatedApp,
+                            creationTime, leaked, phished, hasScript);
                 }
 
                 @Override
@@ -55,6 +56,7 @@
     private final String mPassword;
     private final String mPasswordChangeUrl;
     private final String mAssociatedApp;
+    private final long mCreationTime;
     private final boolean mLeaked;
     private final boolean mPhished;
     private final boolean mHasScript;
@@ -69,12 +71,16 @@
      * @param password The compromised password.
      * @param passwordChangeUrl A URL that links to the password change form of the affected site.
      * @param associatedApp The associated app if the password originates from it.
+     * @param creationTime The time at which the compromised credential was created, which is the
+     *        time at which the compromised credential was first found to be compromised during
+     *        a check.
      * @param phished True iff the credential was entered on an unsafe site.
      * @param hasScript True iff the credential can be automatically fixed.
      */
     public CompromisedCredential(String signonRealm, GURL origin, String username,
             String displayOrigin, String displayUsername, String password, String passwordChangeUrl,
-            String associatedApp, boolean leaked, boolean phished, boolean hasScript) {
+            String associatedApp, long creationTime, boolean leaked, boolean phished,
+            boolean hasScript) {
         assert origin != null : "Credential origin is null! Pass an empty one instead.";
         assert signonRealm != null;
         assert passwordChangeUrl != null : "Change URL may be empty but not null!";
@@ -91,6 +97,7 @@
         mPassword = password;
         mPasswordChangeUrl = passwordChangeUrl;
         mAssociatedApp = associatedApp;
+        mCreationTime = creationTime;
         mLeaked = leaked;
         mPhished = phished;
         mHasScript = hasScript;
@@ -121,6 +128,9 @@
     public String getAssociatedApp() {
         return mAssociatedApp;
     }
+    public long getCreationTime() {
+        return mCreationTime;
+    }
     public String getPasswordChangeUrl() {
         return mPasswordChangeUrl;
     }
@@ -144,8 +154,9 @@
                 && mDisplayUsername.equals(that.mDisplayUsername)
                 && mPassword.equals(that.mPassword)
                 && mPasswordChangeUrl.equals(that.mPasswordChangeUrl)
-                && mAssociatedApp.equals(that.mAssociatedApp) && mLeaked == that.mLeaked
-                && mPhished == that.mPhished && mHasScript == that.mHasScript;
+                && mAssociatedApp.equals(that.mAssociatedApp) && mCreationTime == that.mCreationTime
+                && mLeaked == that.mLeaked && mPhished == that.mPhished
+                && mHasScript == that.mHasScript;
     }
 
     @Override
@@ -155,15 +166,15 @@
                 + ", username='" + mUsername + '\'' + ", displayOrigin='" + mDisplayOrigin + '\''
                 + ", displayUsername='" + mDisplayUsername + '\'' + ", password='" + mPassword
                 + '\'' + ", passwordChangeUrl='" + mPasswordChangeUrl + '\'' + ", associatedApp='"
-                + mAssociatedApp + '\'' + ", leaked=" + mLeaked + ", phished=" + mPhished
-                + ", hasScript=" + mHasScript + '}';
+                + mAssociatedApp + '\'' + ", creationTime=" + mCreationTime + ", leaked=" + mLeaked
+                + ", phished=" + mPhished + ", hasScript=" + mHasScript + '}';
     }
 
     @Override
     public int hashCode() {
         return Objects.hash(mSignonRealm, mOrigin.getPossiblyInvalidSpec(), mUsername,
                 mDisplayOrigin, mDisplayUsername, mPassword, mPasswordChangeUrl, mAssociatedApp,
-                mLeaked, mPhished, mHasScript);
+                mCreationTime, mLeaked, mPhished, mHasScript);
     }
 
     @Override
@@ -176,6 +187,7 @@
         parcel.writeString(mPassword);
         parcel.writeString(mPasswordChangeUrl);
         parcel.writeString(mAssociatedApp);
+        parcel.writeLong(mCreationTime);
         parcel.writeBooleanArray(new boolean[] {mLeaked, mPhished, mHasScript});
     }
 
diff --git a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheck.java b/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheck.java
index 3062144e..0cc4776ca 100644
--- a/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheck.java
+++ b/chrome/browser/password_check/android/java/src/org/chromium/chrome/browser/password_check/PasswordCheck.java
@@ -38,6 +38,13 @@
          * @param leakedCredential The newly found leaked credential.
          */
         void onCompromisedCredentialFound(CompromisedCredential leakedCredential);
+
+        /**
+         * Called during a check when a credential has finished being processed.
+         * @param alreadyProcessed Number of credentials that the check already processed.
+         * @param remainingInQueue Number of credentials that still need to be processed.
+         */
+        void onPasswordCheckProgressChanged(int alreadyProcessed, int remainingInQueue);
     }
 
     /**
diff --git a/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckEditViewTest.java b/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckEditViewTest.java
index 5aad37c3..ab99d15 100644
--- a/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckEditViewTest.java
+++ b/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckEditViewTest.java
@@ -68,7 +68,7 @@
     private static final CompromisedCredential ANA =
             new CompromisedCredential("https://some-url.com/signin",
                     new GURL("https://some-url.com/"), "Ana", "some-url.com", "Ana", "password",
-                    "https://some-url.com/.well-known/change-password", "", true, false, false);
+                    "https://some-url.com/.well-known/change-password", "", 1, true, false, false);
 
     private PasswordCheckEditFragmentView mPasswordCheckEditView;
 
diff --git a/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java b/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java
index 3d6e8e4..ded4a6f90 100644
--- a/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java
+++ b/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java
@@ -98,23 +98,23 @@
     private static final CompromisedCredential ANA =
             new CompromisedCredential("https://some-url.com/signin",
                     new GURL("https://some-url.com/"), "Ana", "some-url.com", "Ana", "password",
-                    "https://some-url.com/.well-known/change-password", "", true, false, false);
+                    "https://some-url.com/.well-known/change-password", "", 1, true, false, false);
     private static final CompromisedCredential PHISHED =
             new CompromisedCredential("http://example.com/signin", new GURL("http://example.com/"),
                     "", "http://example.com", "(No username)", "DoSomething",
-                    "http://example.com/.well-known/change-password", "", false, true, false);
+                    "http://example.com/.well-known/change-password", "", 1, false, true, false);
     private static final CompromisedCredential LEAKED =
             new CompromisedCredential("https://some-other-url.com/signin",
                     new GURL("https://some-other-url.com/"), "AZiegler", "some-other-url.com",
-                    "AZiegler", "N0M3rcy", "", "com.other.package", true, false, false);
+                    "AZiegler", "N0M3rcy", "", "com.other.package", 1, true, false, false);
     private static final CompromisedCredential LEAKED_AND_PHISHED =
             new CompromisedCredential("https://super-important.com/signin",
                     new GURL("https://super-important.com/"), "HSong", "super-important.com",
-                    "HSong", "N3rfTh1s", "", "com.important.super", true, true, false);
+                    "HSong", "N3rfTh1s", "", "com.important.super", 1, true, true, false);
     private static final CompromisedCredential SCRIPTED =
             new CompromisedCredential("https://script.com/signin", new GURL("https://script.com/"),
                     "Charlie", "script.com", "Charlie", "secret",
-                    "https://script.com/.well-known/change-password", "", true, false, true);
+                    "https://script.com/.well-known/change-password", "", 1, true, false, true);
 
     private static final int LEAKS_COUNT = 2;
 
diff --git a/chrome/browser/password_check/android/junit/src/org/chromium/chrome/browser/password_check/PasswordCheckControllerTest.java b/chrome/browser/password_check/android/junit/src/org/chromium/chrome/browser/password_check/PasswordCheckControllerTest.java
index 9775db94..ed79602 100644
--- a/chrome/browser/password_check/android/junit/src/org/chromium/chrome/browser/password_check/PasswordCheckControllerTest.java
+++ b/chrome/browser/password_check/android/junit/src/org/chromium/chrome/browser/password_check/PasswordCheckControllerTest.java
@@ -33,6 +33,7 @@
 import static org.chromium.chrome.browser.password_check.PasswordCheckProperties.HeaderProperties.UNKNOWN_PROGRESS;
 import static org.chromium.chrome.browser.password_check.PasswordCheckProperties.ITEMS;
 import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.ERROR_OFFLINE;
+import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.ERROR_UNKNOWN;
 import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.IDLE;
 import static org.chromium.chrome.browser.password_check.PasswordCheckUIStatus.RUNNING;
 
@@ -72,10 +73,10 @@
 public class PasswordCheckControllerTest {
     private static final CompromisedCredential ANA =
             new CompromisedCredential("https://m.a.xyz/signin", mock(GURL.class), "Ana", "m.a.xyz",
-                    "Ana", "password", "", "xyz.a.some.package", true, false, false);
+                    "Ana", "password", "", "xyz.a.some.package", 2, true, false, false);
     private static final CompromisedCredential BOB = new CompromisedCredential(
             "http://www.b.ch/signin", mock(GURL.class), "", "http://www.b.ch", "(No username)",
-            "DoneSth", "http://www.b.ch/.well-known/change-password", "", true, false, true);
+            "DoneSth", "http://www.b.ch/.well-known/change-password", "", 1, true, false, true);
 
     @Rule
     public TestRule mFeaturesProcessorRule = new Features.JUnitProcessor();
@@ -165,7 +166,9 @@
     @Test
     public void testUpdateProgressHeader() {
         assertRunningHeader(mModel.get(ITEMS).get(0), UNKNOWN_PROGRESS);
-        mMediator.onPasswordCheckProgressChanged(PROGRESS_UPDATE);
+        int already_processed = PROGRESS_UPDATE.first;
+        int remaining_in_queue = PROGRESS_UPDATE.second - already_processed;
+        mMediator.onPasswordCheckProgressChanged(already_processed, remaining_in_queue);
         assertRunningHeader(mModel.get(ITEMS).get(0), PROGRESS_UPDATE);
     }
 
@@ -262,6 +265,136 @@
     }
 
     @Test
+    public void testIdleStatusUpdatedOnCredentialsFetchCompleted() {
+        // Set initial status to IDLE with no compromised credentials.
+        when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(0);
+        mMediator.onPasswordCheckStatusChanged(IDLE);
+        assertThat(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT), is(0));
+
+        // Add 2 compromised credentials.
+        when(mPasswordCheck.getCompromisedCredentials())
+                .thenReturn(new CompromisedCredential[] {ANA, BOB});
+        when(mPasswordCheck.areScriptsRefreshed()).thenReturn(true);
+        when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(2);
+        mMediator.onCompromisedCredentialsFetchCompleted();
+        assertThat(mModel.get(ITEMS).size(), is(3)); // Header + existing credentials.
+
+        // Check the compromised credentials count updated.
+        assertThat(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT), is(2));
+    }
+
+    @Test
+    public void testNotIdleStatusNotUpdatedOnCredentialsFetchCompleted() {
+        mMediator.onPasswordCheckStatusChanged(RUNNING);
+        assertNull(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT));
+
+        // Add ANA while the check is running.
+        when(mPasswordCheck.getCompromisedCredentials())
+                .thenReturn(new CompromisedCredential[] {ANA});
+        when(mPasswordCheck.areScriptsRefreshed()).thenReturn(true);
+        when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(1);
+        mMediator.onCompromisedCredentialsFetchCompleted();
+        assertThat(mModel.get(ITEMS).size(), is(2)); // Header + existing credentials.
+
+        // Check the compromised credential count did not update.
+        assertNull(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT));
+    }
+
+    @Test
+    public void testIdleStatusUpdatedOnCredentialFound() {
+        // Set initial status to IDLE with no compromised credentials.
+        when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(0);
+        mMediator.onPasswordCheckStatusChanged(IDLE);
+        assertThat(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT), is(0));
+
+        // Add ANA to the compromised credentials.
+        when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(1);
+        mMediator.onCompromisedCredentialFound(ANA);
+        assertThat(mModel.get(ITEMS).size(), is(2)); // Header + existing credentials.
+
+        // Check the compromised credentials count updated.
+        assertThat(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT), is(1));
+    }
+
+    @Test
+    public void testNotIdleStatusNotUpdatedOnCredentialFound() {
+        mMediator.onPasswordCheckStatusChanged(ERROR_UNKNOWN);
+        assertNull(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT));
+
+        // Add ANA after the check has failed.
+        when(mPasswordCheck.getCompromisedCredentialsCount()).thenReturn(1);
+        mMediator.onCompromisedCredentialFound(ANA);
+        assertThat(mModel.get(ITEMS).size(), is(2)); // Header + existing credentials.
+
+        // Check the compromised credentials count did not update.
+        assertNull(mModel.get(ITEMS).get(0).model.get(COMPROMISED_CREDENTIALS_COUNT));
+    }
+
+    @Test
+    public void testSortsInitialSetOfCredentals() {
+        mMediator.onPasswordCheckStatusChanged(IDLE);
+
+        CompromisedCredential phishedEarly = makeCredential("example.com", "alice", 1, false, true);
+        CompromisedCredential phishedLeakedLate = makeCredential("test.com", "bob", 3, true, true);
+        CompromisedCredential leakedEarly = makeCredential("example.org", "alice", 2, true, false);
+        CompromisedCredential leakedLate = makeCredential("site.com", "john", 4, true, false);
+
+        when(mPasswordCheck.areScriptsRefreshed()).thenReturn(true);
+        when(mPasswordCheck.getCompromisedCredentials())
+                .thenReturn(new CompromisedCredential[] {
+                        phishedEarly, leakedEarly, leakedLate, phishedLeakedLate});
+        mMediator.onCompromisedCredentialsFetchCompleted();
+
+        assertThat(mModel.get(ITEMS).size(), is(5));
+        assertThat(
+                mModel.get(ITEMS).get(1).model.get(COMPROMISED_CREDENTIAL), is(phishedLeakedLate));
+        assertThat(mModel.get(ITEMS).get(2).model.get(COMPROMISED_CREDENTIAL), is(phishedEarly));
+        assertThat(mModel.get(ITEMS).get(3).model.get(COMPROMISED_CREDENTIAL), is(leakedLate));
+        assertThat(mModel.get(ITEMS).get(4).model.get(COMPROMISED_CREDENTIAL), is(leakedEarly));
+    }
+
+    @Test
+    public void testSortsAppendedCredentials() {
+        mMediator.onPasswordCheckStatusChanged(IDLE);
+
+        CompromisedCredential phishedEarly = makeCredential("example.com", "alice", 1, false, true);
+        CompromisedCredential phishedLeakedLate = makeCredential("test.com", "bob", 3, true, true);
+        CompromisedCredential leakedEarly = makeCredential("example.org", "alice", 2, true, false);
+        CompromisedCredential leakedLate = makeCredential("site.com", "john", 4, true, false);
+
+        when(mPasswordCheck.areScriptsRefreshed()).thenReturn(true);
+
+        // Send the initial set of credentials (to simulate loading them from disk).
+        when(mPasswordCheck.getCompromisedCredentials())
+                .thenReturn(new CompromisedCredential[] {
+                        phishedEarly, leakedEarly, leakedLate, phishedLeakedLate});
+        mMediator.onCompromisedCredentialsFetchCompleted();
+
+        // Send an updated list simulating credentials found in the current check.
+        CompromisedCredential leakedNewEarly1 =
+                makeCredential("example.com", "john", 5, true, false);
+        CompromisedCredential leakedNewEarly2 = makeCredential("test.com", "john", 5, true, false);
+        CompromisedCredential leakedNewLate = makeCredential("site.org", "alice", 6, true, false);
+        when(mPasswordCheck.getCompromisedCredentials())
+                .thenReturn(new CompromisedCredential[] {phishedEarly, leakedEarly, leakedLate,
+                        leakedNewEarly2, leakedNewLate, leakedNewEarly1, phishedLeakedLate});
+        mMediator.onCompromisedCredentialsFetchCompleted();
+
+        // Expect that the order of the original set has been maintained and that the newly found
+        // leaked credentials appear at the end in ascending order of creation time (or in ascending
+        // alphabetical order for equal times).
+        assertThat(mModel.get(ITEMS).size(), is(8));
+        assertThat(
+                mModel.get(ITEMS).get(1).model.get(COMPROMISED_CREDENTIAL), is(phishedLeakedLate));
+        assertThat(mModel.get(ITEMS).get(2).model.get(COMPROMISED_CREDENTIAL), is(phishedEarly));
+        assertThat(mModel.get(ITEMS).get(3).model.get(COMPROMISED_CREDENTIAL), is(leakedLate));
+        assertThat(mModel.get(ITEMS).get(4).model.get(COMPROMISED_CREDENTIAL), is(leakedEarly));
+        assertThat(mModel.get(ITEMS).get(5).model.get(COMPROMISED_CREDENTIAL), is(leakedNewEarly1));
+        assertThat(mModel.get(ITEMS).get(6).model.get(COMPROMISED_CREDENTIAL), is(leakedNewEarly2));
+        assertThat(mModel.get(ITEMS).get(7).model.get(COMPROMISED_CREDENTIAL), is(leakedNewLate));
+    }
+
+    @Test
     public void testRemovingElementTriggersDelegate() {
         // Removing sets a valid handler:
         mMediator.onRemove(ANA);
@@ -322,4 +455,10 @@
         assertNotNull(header.model.get(RESTART_BUTTON_ACTION));
         assertNotNull(header.model.get(LAUNCH_ACCOUNT_CHECKUP_ACTION));
     }
+
+    private CompromisedCredential makeCredential(
+            String origin, String username, long creationTime, boolean leaked, boolean phished) {
+        return new CompromisedCredential(origin, mock(GURL.class), username, origin, username,
+                "password", origin, new String(), creationTime, leaked, phished, false);
+    }
 }
diff --git a/chrome/browser/password_check/android/password_check_bridge.cc b/chrome/browser/password_check/android/password_check_bridge.cc
index f40eadaa..ce960e4f 100644
--- a/chrome/browser/password_check/android/password_check_bridge.cc
+++ b/chrome/browser/password_check/android/password_check_bridge.cc
@@ -85,6 +85,7 @@
         base::android::ConvertUTF8ToJavaString(env,
                                                credential.change_password_url),
         base::android::ConvertUTF8ToJavaString(env, credential.package_name),
+        credential.create_time.ToJavaTime(),
         (credential.compromise_type ==
          password_manager::CompromiseTypeFlags::kCredentialLeaked),
         (credential.compromise_type ==
@@ -148,3 +149,11 @@
       base::android::AttachCurrentThread(), java_bridge_,
       static_cast<int>(status));
 }
+
+void PasswordCheckBridge::OnPasswordCheckProgressChanged(
+    int already_processed,
+    int remaining_in_queue) {
+  Java_PasswordCheckBridge_onPasswordCheckProgressChanged(
+      base::android::AttachCurrentThread(), java_bridge_, already_processed,
+      remaining_in_queue);
+}
diff --git a/chrome/browser/password_check/android/password_check_bridge.h b/chrome/browser/password_check/android/password_check_bridge.h
index df43f74..536be7a 100644
--- a/chrome/browser/password_check/android/password_check_bridge.h
+++ b/chrome/browser/password_check/android/password_check_bridge.h
@@ -81,6 +81,11 @@
   void OnPasswordCheckStatusChanged(
       password_manager::PasswordCheckUIStatus status) override;
 
+  // Called by the check manager during a running check, every time a credential
+  // has finished being processed.
+  void OnPasswordCheckProgressChanged(int already_processed,
+                                      int remaining_in_queue) override;
+
  private:
   // The corresponding java object.
   base::android::ScopedJavaGlobalRef<jobject> java_bridge_;
diff --git a/chrome/browser/password_check/android/password_check_manager.cc b/chrome/browser/password_check/android/password_check_manager.cc
index 63c4fbf..eef97491 100644
--- a/chrome/browser/password_check/android/password_check_manager.cc
+++ b/chrome/browser/password_check/android/password_check_manager.cc
@@ -15,6 +15,7 @@
 #include "components/password_manager/core/browser/password_manager_client.h"
 #include "components/password_manager/core/browser/password_manager_util.h"
 #include "components/password_manager/core/browser/ui/compromised_credentials_manager.h"
+#include "components/password_manager/core/browser/well_known_change_password_util.h"
 #include "components/password_manager/core/common/password_manager_features.h"
 #include "components/password_manager/core/common/password_manager_pref_names.h"
 #include "components/prefs/pref_service.h"
@@ -25,22 +26,12 @@
 
 namespace {
 
-constexpr char kWellKnownUrlPath[] = ".well-known/change-password";
-
 base::string16 GetDisplayUsername(const base::string16& username) {
   return username.empty()
              ? l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_EMPTY_LOGIN)
              : username;
 }
 
-std::string CreateChangeUrl(const GURL& url) {
-  if (base::FeatureList::IsEnabled(
-          password_manager::features::kWellKnownChangePassword)) {
-    return url.GetOrigin().spec() + kWellKnownUrlPath;
-  }
-  return url.GetOrigin().spec();
-}
-
 }  // namespace
 
 using autofill::PasswordForm;
@@ -82,12 +73,16 @@
   // empty list.
   saved_passwords_presenter_.Init();
   compromised_credentials_manager_.Init();
+  if (!ShouldOfferAutomaticPasswordChange()) {
+    // Ensure that scripts are treated as initialized if they are unnecessary.
+    FulfillPrecondition(kScriptsCachePrewarmed);
+  }
 }
 
 PasswordCheckManager::~PasswordCheckManager() = default;
 
 void PasswordCheckManager::StartCheck() {
-  if (!is_initialized_ || !AreScriptsRefreshed()) {
+  if (!IsPreconditionFulfilled(kAll)) {
     was_start_requested_ = true;
     return;
   }
@@ -95,6 +90,12 @@
   // The request is being handled, so reset the boolean.
   was_start_requested_ = false;
   is_check_running_ = true;
+
+  progress_ = std::make_unique<PasswordCheckProgress>();
+  for (const auto& password : saved_passwords_presenter_.GetSavedPasswords())
+    progress_->IncrementCounts(password);
+  observer_->OnPasswordCheckProgressChanged(progress_->already_processed(),
+                                            progress_->remaining_in_queue());
   bulk_leak_check_service_adapter_.StartBulkLeakCheck();
 }
 
@@ -139,11 +140,28 @@
   compromised_credentials_manager_.RemoveCompromisedCredential(credential);
 }
 
+PasswordCheckManager::PasswordCheckProgress::PasswordCheckProgress() = default;
+PasswordCheckManager::PasswordCheckProgress::~PasswordCheckProgress() = default;
+
+void PasswordCheckManager::PasswordCheckProgress::IncrementCounts(
+    const autofill::PasswordForm& password) {
+  ++remaining_in_queue_;
+  ++counts_[password];
+}
+
+void PasswordCheckManager::PasswordCheckProgress::OnProcessed(
+    const password_manager::LeakCheckCredential& credential) {
+  auto it = counts_.find(credential);
+  const int num_matching = it != counts_.end() ? it->second : 0;
+  already_processed_ += num_matching;
+  remaining_in_queue_ -= num_matching;
+}
+
 void PasswordCheckManager::OnSavedPasswordsChanged(
     password_manager::SavedPasswordsPresenter::SavedPasswordsView passwords) {
-  if (!is_initialized_) {
+  if (!IsPreconditionFulfilled(kSavedPasswordsAvailable)) {
     observer_->OnSavedPasswordsFetched(passwords.size());
-    is_initialized_ = true;
+    FulfillPrecondition(kSavedPasswordsAvailable);
   }
 
   if (passwords.empty()) {
@@ -161,7 +179,9 @@
 void PasswordCheckManager::OnCompromisedCredentialsChanged(
     password_manager::CompromisedCredentialsManager::CredentialsView
         credentials) {
-  if (!AreScriptsRefreshed()) {
+  if (AreScriptsRefreshed()) {
+    FulfillPrecondition(kKnownCredentialsFetched);
+  } else {
     credentials_count_to_notify_ = credentials.size();
   }
   observer_->OnCompromisedCredentialsChanged(credentials.size());
@@ -176,6 +196,7 @@
   }
 
   if (state != State::kRunning) {
+    progress_.reset();
     is_check_running_ = false;
   }
 
@@ -185,7 +206,9 @@
 void PasswordCheckManager::OnCredentialDone(
     const password_manager::LeakCheckCredential& credential,
     password_manager::IsLeaked is_leaked) {
-  // TODO(crbug.com/1092444): Advance progress.
+  progress_->OnProcessed(credential);
+  observer_->OnPasswordCheckProgressChanged(progress_->already_processed(),
+                                            progress_->remaining_in_queue());
   if (is_leaked) {
     // TODO(crbug.com/1092444): Trigger single-credential update.
     compromised_credentials_manager_.SaveCompromisedCredential(credential);
@@ -231,7 +254,8 @@
             url_formatter::kFormatUrlOmitTrivialSubdomains |
             url_formatter::kFormatUrlTrimAfterHost,
         net::UnescapeRule::SPACES, nullptr, nullptr, nullptr);
-    ui_credential.change_password_url = CreateChangeUrl(ui_credential.url);
+    ui_credential.change_password_url =
+        password_manager::CreateChangePasswordUrl(ui_credential.url).spec();
   }
 
   return ui_credential;
@@ -275,22 +299,22 @@
 }
 
 bool PasswordCheckManager::AreScriptsRefreshed() const {
-  return are_scripts_refreshed_ || !ShouldOfferAutomaticPasswordChange();
+  return IsPreconditionFulfilled(kScriptsCachePrewarmed);
 }
 
 void PasswordCheckManager::RefreshScripts() {
   if (!ShouldOfferAutomaticPasswordChange()) {
+    FulfillPrecondition(kScriptsCachePrewarmed);
     return;
   }
 
-  are_scripts_refreshed_ = false;
+  ResetPrecondition(kScriptsCachePrewarmed);
   password_script_fetcher_->RefreshScriptsIfNecessary(base::BindOnce(
       &PasswordCheckManager::OnScriptsFetched, base::Unretained(this)));
 }
 
 void PasswordCheckManager::OnScriptsFetched() {
-  are_scripts_refreshed_ = true;
-
+  FulfillPrecondition(kScriptsCachePrewarmed);
   if (credentials_count_to_notify_.has_value()) {
     // Inform the UI about compromised credentials another time because it was
     // not allowed to generate UI before the availability of password scripts is
@@ -317,3 +341,18 @@
   return base::FeatureList::IsEnabled(
       password_manager::features::kPasswordChangeInSettings);
 }
+
+bool PasswordCheckManager::IsPreconditionFulfilled(
+    CheckPreconditions condition) const {
+  return (fulfilled_preconditions_ & condition) == condition;
+}
+
+void PasswordCheckManager::FulfillPrecondition(CheckPreconditions condition) {
+  fulfilled_preconditions_ |= condition;
+  if (was_start_requested_)
+    StartCheck();
+}
+
+void PasswordCheckManager::ResetPrecondition(CheckPreconditions condition) {
+  fulfilled_preconditions_ &= !condition;
+}
diff --git a/chrome/browser/password_check/android/password_check_manager.h b/chrome/browser/password_check/android/password_check_manager.h
index 928567b1..e841406 100644
--- a/chrome/browser/password_check/android/password_check_manager.h
+++ b/chrome/browser/password_check/android/password_check_manager.h
@@ -32,6 +32,8 @@
     virtual void OnCompromisedCredentialsChanged(int count) = 0;
     virtual void OnPasswordCheckStatusChanged(
         password_manager::PasswordCheckUIStatus status) = 0;
+    virtual void OnPasswordCheckProgressChanged(int already_processed,
+                                                int remaining_in_queue) = 0;
   };
 
   struct CompromisedCredentialForUI : password_manager::CredentialWithPassword {
@@ -98,6 +100,55 @@
   PasswordCheckManager& operator=(PasswordCheckManager&&) = delete;
 
  private:
+  // Helps to track which preconditions are fulfilled.
+  enum CheckPreconditions {
+    // No preconditions have been fulfilled.
+    kNone = 0,
+    // Saved passwords can be accessed.
+    kSavedPasswordsAvailable = 1 << 0,
+    // Sites with available Scripts are fetched.
+    kScriptsCachePrewarmed = 1 << 1,
+    // Already known compromised credentials were loaded.
+    kKnownCredentialsFetched = 1 << 2,
+    // All preconditions have been fulfilled.
+    kAll = kSavedPasswordsAvailable | kScriptsCachePrewarmed |
+           kKnownCredentialsFetched,
+  };
+
+  // Class remembering the state required to update the progress of an ongoing
+  // Password Check.
+  class PasswordCheckProgress {
+   public:
+    PasswordCheckProgress();
+    ~PasswordCheckProgress();
+
+    size_t remaining_in_queue() const { return remaining_in_queue_; }
+    size_t already_processed() const { return already_processed_; }
+
+    // Increments the counts corresponding to `password`. Intended to be called
+    // for each credential that is passed to the bulk check.
+    void IncrementCounts(const autofill::PasswordForm& password);
+
+    // Updates the counts after a `credential` has been processed by the bulk
+    // check.
+    void OnProcessed(const password_manager::LeakCheckCredential& credential);
+
+   private:
+    // Count variables needed to correctly show the progress of the check to the
+    // user. `already_processed_` contains the number of credentials that have
+    // been checked already, while `remaining_in_queue_` remembers how many
+    // passwords still need to be checked.
+    // Since the bulk leak check tries to be as efficient as possible, it
+    // performs a deduplication step before starting to check passwords. In this
+    // step it canonicalizes each credential, and only processes the
+    // combinations that are unique. Since this number likely does not match the
+    // total number of saved passwords, we remember in `counts_` how many saved
+    // passwords a given canonicalized credential corresponds to.
+    size_t already_processed_ = 0;
+    size_t remaining_in_queue_ = 0;
+    std::map<password_manager::CanonicalizedCredential, size_t> counts_;
+  };
+
   // password_manager::SavedPasswordsPresenter::Observer:
   void OnSavedPasswordsChanged(
       password_manager::SavedPasswordsPresenter::SavedPasswordsView passwords)
@@ -139,6 +190,15 @@
   // Callback when PasswordScriptsFetcher's cache has been warmed up.
   void OnScriptsFetched();
 
+  // Returns true if the passed |condition| was already met.
+  bool IsPreconditionFulfilled(CheckPreconditions condition) const;
+
+  // Marks the passed |condition| as fulfilled and runs a check if applicable.
+  void FulfillPrecondition(CheckPreconditions condition);
+
+  // Resets the passed |condition| so that it's expected to happen again.
+  void ResetPrecondition(CheckPreconditions condition);
+
   // Obsever being notified of UI-relevant events.
   // It must outlive `this`.
   Observer* observer_ = nullptr;
@@ -146,6 +206,9 @@
   // The profile for which the passwords are checked.
   Profile* profile_ = nullptr;
 
+  // Object storing the progress of a running password check.
+  std::unique_ptr<PasswordCheckProgress> progress_;
+
   // Handle to the password store, powering both `saved_passwords_presenter_`
   // and `compromised_credentials_manager_`.
   scoped_refptr<password_manager::PasswordStore> password_store_ =
@@ -175,8 +238,8 @@
           BulkLeakCheckServiceFactory::GetForProfile(profile_),
           profile_->GetPrefs()};
 
-  // This is true when the saved passwords have been fetched from the store.
-  bool is_initialized_ = false;
+  // The check can be run only of this is CheckPreconditions::kAll;
+  int fulfilled_preconditions_ = CheckPreconditions::kNone;
 
   // Whether the check start was requested.
   bool was_start_requested_ = false;
@@ -184,9 +247,6 @@
   // Whether a check is currently running.
   bool is_check_running_ = false;
 
-  // Whether scripts refreshement is finished.
-  bool are_scripts_refreshed_ = false;
-
   // Latest number of changed compromised credentials while script fetching
   // was running. If `credentials_count_to_notify_` has value, after scripts are
   // fetched `onCompromisedCredentials` should be called.
diff --git a/chrome/browser/password_check/android/password_check_manager_unittest.cc b/chrome/browser/password_check/android/password_check_manager_unittest.cc
index ee33cfa..76d7e3a 100644
--- a/chrome/browser/password_check/android/password_check_manager_unittest.cc
+++ b/chrome/browser/password_check/android/password_check_manager_unittest.cc
@@ -44,6 +44,7 @@
 using password_manager::TestPasswordStore;
 using password_manager::prefs::kLastTimePasswordCheckCompleted;
 using testing::_;
+using testing::AtLeast;
 using testing::ElementsAre;
 using testing::Field;
 using testing::Invoke;
@@ -59,6 +60,7 @@
 namespace {
 
 constexpr char kExampleCom[] = "https://example.com";
+constexpr char kExampleOrg[] = "http://www.example.org";
 constexpr char kExampleApp[] = "com.example.app";
 
 constexpr char kUsername1[] = "alice";
@@ -76,6 +78,8 @@
               OnPasswordCheckStatusChanged,
               (password_manager::PasswordCheckUIStatus),
               (override));
+
+  MOCK_METHOD(void, OnPasswordCheckProgressChanged, (int, int), (override));
 };
 
 class MockPasswordScriptsFetcher
@@ -273,6 +277,28 @@
   RunUntilIdle();
 }
 
+TEST_F(PasswordCheckManagerTest, RunCheckAfterLastInitialization) {
+  EXPECT_CALL(mock_observer(), OnPasswordCheckStatusChanged(_))
+      .Times(AtLeast(1));
+  EXPECT_CALL(mock_observer(), OnSavedPasswordsFetched(1));
+  store().AddLogin(MakeSavedPassword(kExampleCom, kUsername1));
+  InitializeManager();
+
+  // Initialization is incomplete, so check shouldn't run.
+  manager().StartCheck();  // Try to start a check — has no immediate effect.
+  service()->set_state_and_notify(State::kIdle);
+  // Since check hasn't started, the last completion time should remain 0.
+  EXPECT_EQ(0.0, manager().GetLastCheckTimestamp().ToDoubleT());
+
+  // Complete pending initialization. The check should run now.
+  EXPECT_CALL(mock_observer(), OnCompromisedCredentialsChanged(0))
+      .Times(AtLeast(1));
+  RunUntilIdle();
+  service()->set_state_and_notify(State::kIdle);  // Complete check, if any.
+  // Check should have started and the last completion time be non-zero.
+  EXPECT_NE(0.0, manager().GetLastCheckTimestamp().ToDoubleT());
+}
+
 TEST_F(PasswordCheckManagerTest, CorrectlyCreatesUIStructForSiteCredential) {
   InitializeManager();
   store().AddLogin(MakeSavedPassword(kExampleCom, kUsername1));
@@ -390,3 +416,23 @@
           base::nullopt, "https://example.com/",
           CompromiseTypeFlags::kCredentialLeaked, /*has_script=*/true)));
 }
+
+TEST_F(PasswordCheckManagerTest, UpdatesProgressCorrectly) {
+  InitializeManager();
+  store().AddLogin(MakeSavedPassword(kExampleCom, kUsername1, kPassword1));
+  store().AddLogin(MakeSavedPassword(kExampleOrg, kUsername1, kPassword1));
+  store().AddLogin(MakeSavedPassword(kExampleCom, kUsername2));
+  RunUntilIdle();
+
+  EXPECT_CALL(mock_observer(), OnPasswordCheckProgressChanged(0, 3));
+  manager().StartCheck();
+
+  // Expect that 2 credentials were processed, even if there is only one
+  // reply, because of the deduplication logic.
+  EXPECT_CALL(mock_observer(), OnPasswordCheckProgressChanged(2, 1));
+  static_cast<password_manager::BulkLeakCheckDelegateInterface*>(service())
+      ->OnFinishedCredential(
+          password_manager::LeakCheckCredential(base::ASCIIToUTF16(kUsername1),
+                                                base::ASCIIToUTF16(kPassword1)),
+          password_manager::IsLeaked(false));
+}
diff --git a/chrome/browser/payments/BUILD.gn b/chrome/browser/payments/BUILD.gn
index d7c0ffb..d3a3705 100644
--- a/chrome/browser/payments/BUILD.gn
+++ b/chrome/browser/payments/BUILD.gn
@@ -27,6 +27,7 @@
     "payment_request_can_make_payment_event_browsertest.cc",
     "payment_request_minimal_ui_browsertest.cc",
     "sec_fetch_site_browsertest.cc",
+    "secure_payment_confirmation_browsertest.cc",
     "two_payment_requests_browsertest.cc",
   ]
 
diff --git a/chrome/browser/payments/secure_payment_confirmation_browsertest.cc b/chrome/browser/payments/secure_payment_confirmation_browsertest.cc
new file mode 100644
index 0000000..77c502e
--- /dev/null
+++ b/chrome/browser/payments/secure_payment_confirmation_browsertest.cc
@@ -0,0 +1,66 @@
+// 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 "base/command_line.h"
+#include "chrome/test/payments/payment_request_platform_browsertest_base.h"
+#include "content/public/common/content_switches.h"
+#include "content/public/test/browser_test.h"
+#include "content/public/test/browser_test_utils.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace payments {
+namespace {
+
+static constexpr char kInvokePaymentRequest[] =
+    "getStatusForMethodData([{"
+    "  supportedMethods: 'secure-payment-confirmation',"
+    "  data: {"
+    "    action: 'authenticate',"
+    "    instrumentId: 'x',"
+    "    networkData: Uint8Array.from('x', c => c.charCodeAt(0)),"
+    "    timeout: 60000,"
+    "    fallbackUrl: 'https://fallback.example/url'"
+    "}}])";
+
+class SecurePaymentConfirmationTest
+    : public PaymentRequestPlatformBrowserTestBase {
+ public:
+  void SetUpCommandLine(base::CommandLine* command_line) override {
+    PaymentRequestPlatformBrowserTestBase::SetUpCommandLine(command_line);
+    command_line->AppendSwitch(
+        switches::kEnableExperimentalWebPlatformFeatures);
+  }
+};
+
+IN_PROC_BROWSER_TEST_F(SecurePaymentConfirmationTest, PaymentSheetShowsApp) {
+  NavigateTo("a.com", "/payment_handler_status.html");
+  ResetEventWaiterForSingleEvent(TestEvent::kAppListReady);
+
+  // ExecJs starts executing JavaScript and immediately returns, not waiting for
+  // any promise to return.
+  EXPECT_TRUE(content::ExecJs(GetActiveWebContents(), kInvokePaymentRequest));
+
+  WaitForObservedEvent();
+  ASSERT_FALSE(test_controller()->app_descriptions().empty());
+  EXPECT_EQ(1u, test_controller()->app_descriptions().size());
+  EXPECT_EQ("Stub label", test_controller()->app_descriptions().front().label);
+}
+
+// Intentionally do not enable the "SecurePaymentConfirmation" Blink runtime
+// feature.
+class SecurePaymentConfirmationDisabledTest
+    : public PaymentRequestPlatformBrowserTestBase {};
+
+IN_PROC_BROWSER_TEST_F(SecurePaymentConfirmationDisabledTest,
+                       PaymentMethodNotSupported) {
+  NavigateTo("a.com", "/payment_handler_status.html");
+
+  // EvalJs waits for JavaScript promise to resolve.
+  EXPECT_EQ(
+      "The payment method \"secure-payment-confirmation\" is not supported.",
+      content::EvalJs(GetActiveWebContents(), kInvokePaymentRequest));
+}
+
+}  // namespace
+}  // namespace payments
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index c291249..174d0dc5 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -1347,6 +1347,9 @@
   { key::kInsecureFormsWarningsEnabled,
     prefs::kMixedFormsWarningsEnabled,
     base::Value::Type::BOOLEAN },
+  { key::kLookalikeWarningAllowlistDomains,
+    prefs::kLookalikeWarningAllowlistDomains,
+    base::Value::Type::LIST },
 
 #if defined(OS_ANDROID)
   { key::kCCTToSDialogEnabled,
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index e94c6e317..a2d024c 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -108,6 +108,7 @@
 #include "components/language/content/browser/geo_language_provider.h"
 #include "components/language/content/browser/ulp_language_code_locator/ulp_language_code_locator.h"
 #include "components/language/core/browser/language_prefs.h"
+#include "components/lookalikes/core/lookalike_url_util.h"
 #include "components/metrics/metrics_pref_names.h"
 #include "components/network_time/network_time_tracker.h"
 #include "components/ntp_snippets/content_suggestions_service.h"
@@ -301,7 +302,6 @@
 #include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
 #include "chrome/browser/chromeos/net/network_throttling_observer.h"
-#include "chrome/browser/chromeos/platform_keys/key_permissions/key_permissions.h"
 #include "chrome/browser/chromeos/plugin_vm/plugin_vm_pref_names.h"
 #include "chrome/browser/chromeos/policy/app_install_event_log_manager_wrapper.h"
 #include "chrome/browser/chromeos/policy/app_install_event_logger.h"
@@ -902,6 +902,7 @@
   ImportantSitesUtil::RegisterProfilePrefs(registry);
   IncognitoModePrefs::RegisterProfilePrefs(registry);
   language::LanguagePrefs::RegisterProfilePrefs(registry);
+  lookalikes::RegisterProfilePrefs(registry);
   MediaCaptureDevicesDispatcher::RegisterProfilePrefs(registry);
   MediaDeviceIDSalt::RegisterProfilePrefs(registry);
   MediaEngagementService::RegisterProfilePrefs(registry);
@@ -1063,7 +1064,6 @@
   chromeos::first_run::RegisterProfilePrefs(registry);
   chromeos::file_system_provider::RegisterProfilePrefs(registry);
   chromeos::KerberosCredentialsManager::RegisterProfilePrefs(registry);
-  chromeos::platform_keys::KeyPermissions::RegisterProfilePrefs(registry);
   chromeos::multidevice_setup::MultiDeviceSetupService::RegisterProfilePrefs(
       registry);
   chromeos::MultiProfileUserController::RegisterProfilePrefs(registry);
diff --git a/chrome/browser/privacy/secure_dns_bridge.cc b/chrome/browser/privacy/secure_dns_bridge.cc
index e8aaf15..15ea13b 100644
--- a/chrome/browser/privacy/secure_dns_bridge.cc
+++ b/chrome/browser/privacy/secure_dns_bridge.cc
@@ -167,7 +167,6 @@
   net::DnsConfigOverrides overrides;
   overrides.search = std::vector<std::string>();
   overrides.attempts = 1;
-  overrides.randomize_ports = false;
   overrides.secure_dns_mode = net::DnsConfig::SecureDnsMode::SECURE;
   secure_dns::ApplyTemplate(&overrides,
                             base::android::ConvertJavaStringToUTF8(jtemplate));
diff --git a/chrome/browser/privacy_budget/identifiability_study_state.cc b/chrome/browser/privacy_budget/identifiability_study_state.cc
index 6b0a5e8b..9057888 100644
--- a/chrome/browser/privacy_budget/identifiability_study_state.cc
+++ b/chrome/browser/privacy_budget/identifiability_study_state.cc
@@ -117,6 +117,11 @@
 }
 
 // static
+void IdentifiabilityStudyState::ResetStateForTesting() {
+  blink::IdentifiabilityStudySettings::ResetStateForTesting();
+}
+
+// static
 void IdentifiabilityStudyState::InitializeGlobalStudySettings() {
   blink::IdentifiabilityStudySettings::SetGlobalProvider(
       std::make_unique<PrivacyBudgetSettingsProvider>());
diff --git a/chrome/browser/privacy_budget/identifiability_study_state.h b/chrome/browser/privacy_budget/identifiability_study_state.h
index 04aa2c8..c452cd8e 100644
--- a/chrome/browser/privacy_budget/identifiability_study_state.h
+++ b/chrome/browser/privacy_budget/identifiability_study_state.h
@@ -59,6 +59,10 @@
   // Calling this method may alter the state of the study settings.
   bool ShouldSampleSurface(blink::IdentifiableSurface surface);
 
+  // Should be called from unit-tests if multiple IdentifiabilityStudyState
+  // instances are to be constructed.
+  static void ResetStateForTesting();
+
   // A knob that we can use to split data sets from different versions of the
   // implementation where the differences could have material effects on the
   // data distribution.
diff --git a/chrome/browser/privacy_budget/privacy_budget_ukm_entry_filter_unittest.cc b/chrome/browser/privacy_budget/privacy_budget_ukm_entry_filter_unittest.cc
index 9962aa8..606e3e8 100644
--- a/chrome/browser/privacy_budget/privacy_budget_ukm_entry_filter_unittest.cc
+++ b/chrome/browser/privacy_budget/privacy_budget_ukm_entry_filter_unittest.cc
@@ -8,6 +8,7 @@
 
 #include "base/containers/flat_map.h"
 #include "base/template_util.h"
+#include "chrome/browser/privacy_budget/identifiability_study_state.h"
 #include "chrome/common/privacy_budget/scoped_privacy_budget_config.h"
 #include "components/prefs/testing_pref_service.h"
 #include "services/metrics/public/cpp/ukm_builders.h"
@@ -35,9 +36,9 @@
 
 }  // namespace
 
-// TODO(crbug.com/1117358) Flaky
 TEST(PrivacyBudgetUkmEntryFilterStandaloneTest,
-     DISABLED_BlocksIdentifiabilityMetricsByDefault) {
+     BlocksIdentifiabilityMetricsByDefault) {
+  IdentifiabilityStudyState::ResetStateForTesting();
   TestingPrefServiceSimple pref_service;
   prefs::RegisterPrivacyBudgetPrefs(pref_service.registry());
   auto settings = std::make_unique<IdentifiabilityStudyState>(&pref_service);
@@ -55,8 +56,8 @@
 }
 
 // TODO(crbug.com/1117358) Flaky
-TEST(PrivacyBudgetUkmEntryFilterStandaloneTest,
-     DISABLED_AllowsOtherMetricsByDefault) {
+TEST(PrivacyBudgetUkmEntryFilterStandaloneTest, AllowsOtherMetricsByDefault) {
+  IdentifiabilityStudyState::ResetStateForTesting();
   TestingPrefServiceSimple pref_service;
   prefs::RegisterPrivacyBudgetPrefs(pref_service.registry());
   auto settings = std::make_unique<IdentifiabilityStudyState>(&pref_service);
diff --git a/chrome/browser/profiles/profile_avatar_icon_util.cc b/chrome/browser/profiles/profile_avatar_icon_util.cc
index fdd12bef..23758537 100644
--- a/chrome/browser/profiles/profile_avatar_icon_util.cc
+++ b/chrome/browser/profiles/profile_avatar_icon_util.cc
@@ -616,8 +616,10 @@
 gfx::Image GetPlaceholderAvatarIconWithColors(SkColor fill_color,
                                               SkColor stroke_color,
                                               int size) {
+  const gfx::VectorIcon& person_icon =
+      size >= 40 ? kPersonFilledPaddedLargeIcon : kPersonFilledPaddedSmallIcon;
   gfx::ImageSkia icon_without_background = gfx::CreateVectorIcon(
-      gfx::IconDescription(kPersonOutlinePaddedIcon, size, stroke_color));
+      gfx::IconDescription(person_icon, size, stroke_color));
   gfx::ImageSkia icon_with_background(
       std::make_unique<ImageWithBackgroundSource>(icon_without_background,
                                                   fill_color),
diff --git a/chrome/browser/push_messaging/push_messaging_app_identifier.cc b/chrome/browser/push_messaging/push_messaging_app_identifier.cc
index a801aa85..2366d59 100644
--- a/chrome/browser/push_messaging/push_messaging_app_identifier.cc
+++ b/chrome/browser/push_messaging/push_messaging_app_identifier.cc
@@ -252,6 +252,10 @@
 
 PushMessagingAppIdentifier::~PushMessagingAppIdentifier() {}
 
+bool PushMessagingAppIdentifier::IsExpired() const {
+  return (expiration_time_) ? *expiration_time_ < base::Time::Now() : false;
+}
+
 void PushMessagingAppIdentifier::PersistToPrefs(Profile* profile) const {
   DCheckValid();
 
diff --git a/chrome/browser/push_messaging/push_messaging_app_identifier.h b/chrome/browser/push_messaging/push_messaging_app_identifier.h
index d7e9dac..76ca595 100644
--- a/chrome/browser/push_messaging/push_messaging_app_identifier.h
+++ b/chrome/browser/push_messaging/push_messaging_app_identifier.h
@@ -104,6 +104,8 @@
     expiration_time_ = expiration_time;
   }
 
+  bool IsExpired() const;
+
   base::Optional<base::Time> expiration_time() const {
     DCHECK(!is_null());
     return expiration_time_;
diff --git a/chrome/browser/push_messaging/push_messaging_service_impl.cc b/chrome/browser/push_messaging/push_messaging_service_impl.cc
index 4c4cc55..b080bde 100644
--- a/chrome/browser/push_messaging/push_messaging_service_impl.cc
+++ b/chrome/browser/push_messaging/push_messaging_service_impl.cc
@@ -202,8 +202,59 @@
 
   PushMessagingServiceImpl* push_service =
       PushMessagingServiceFactory::GetForProfile(profile);
-  if (push_service)
+  if (push_service) {
     push_service->IncreasePushSubscriptionCount(count, false /* is_pending */);
+    push_service->RemoveExpiredSubscriptions();
+  }
+}
+
+void PushMessagingServiceImpl::RemoveExpiredSubscriptions() {
+  if (!base::FeatureList::IsEnabled(
+          features::kPushSubscriptionWithExpirationTime)) {
+    return;
+  }
+
+  base::RepeatingClosure barrier_closure = base::BarrierClosure(
+      PushMessagingAppIdentifier::GetCount(profile_),
+      remove_expired_subscriptions_callback_for_testing_.is_null()
+          ? base::DoNothing()
+          : std::move(remove_expired_subscriptions_callback_for_testing_));
+
+  for (const auto& identifier : PushMessagingAppIdentifier::GetAll(profile_)) {
+    if (!identifier.IsExpired()) {
+      base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, barrier_closure);
+      continue;
+    }
+    content::BrowserThread::PostBestEffortTask(
+        FROM_HERE, base::ThreadTaskRunnerHandle::Get(),
+        base::BindOnce(
+            &PushMessagingServiceImpl::UnexpectedChange,
+            weak_factory_.GetWeakPtr(), identifier,
+            blink::mojom::PushUnregistrationReason::SUBSCRIPTION_EXPIRED,
+            barrier_closure));
+  }
+}
+
+void PushMessagingServiceImpl::UnexpectedChange(
+    PushMessagingAppIdentifier identifier,
+    blink::mojom::PushUnregistrationReason reason,
+    base::OnceClosure completed_closure) {
+  auto unsubscribe_closure =
+      base::BindOnce(&PushMessagingServiceImpl::UnexpectedUnsubscribe,
+                     weak_factory_.GetWeakPtr(), identifier, reason,
+                     base::BindOnce(&UnregisterCallbackToClosure,
+                                    std::move(completed_closure)));
+  if (base::FeatureList::IsEnabled(features::kPushSubscriptionChangeEvent)) {
+    // Find old subscription and fire a `pushsubscriptionchange` event
+    GetPushSubscriptionFromAppIdentifier(
+        identifier,
+        base::BindOnce(&PushMessagingServiceImpl::FirePushSubscriptionChange,
+                       weak_factory_.GetWeakPtr(), identifier,
+                       std::move(unsubscribe_closure),
+                       nullptr /* new_subscription */));
+  } else {
+    std::move(unsubscribe_closure).Run();
+  }
 }
 
 PushMessagingServiceImpl::PushMessagingServiceImpl(Profile* profile)
@@ -985,7 +1036,7 @@
                        weak_factory_.GetWeakPtr(), was_subscribed);
 #if defined(OS_ANDROID)
     // On Android the backend is different, and requires the original sender_id.
-    // DidGetSenderIdUnsubscribePermissionRevoked and
+    // DidGetSenderIdUnexpectedUnsubscribe and
     // DidDeleteServiceWorkerRegistration sometimes call us with an empty one.
     if (sender_id.empty()) {
       std::move(unregister_callback).Run(gcm::GCMClient::INVALID_PARAMETER);
@@ -1135,26 +1186,15 @@
       continue;
     }
 
-    auto unsubscribe_closure = base::BindOnce(
-        &PushMessagingServiceImpl::UnsubscribePermissionRevoked,
-        weak_factory_.GetWeakPtr(), app_identifier,
-        base::BindOnce(&UnregisterCallbackToClosure, barrier_closure));
-    // Fire pushsubscriptionchange and then unsubscribe if flag enabled
-    if (base::FeatureList::IsEnabled(features::kPushSubscriptionChangeEvent)) {
-      GetPushSubscriptionFromAppIdentifier(
-          app_identifier,
-          base::BindOnce(&PushMessagingServiceImpl::FirePushSubscriptionChange,
-                         weak_factory_.GetWeakPtr(), app_identifier,
-                         std::move(unsubscribe_closure),
-                         nullptr /* new_subscription */));
-    } else {
-      std::move(unsubscribe_closure).Run();
-    }
+    UnexpectedChange(app_identifier,
+                     blink::mojom::PushUnregistrationReason::PERMISSION_REVOKED,
+                     barrier_closure);
   }
 }
 
-void PushMessagingServiceImpl::UnsubscribePermissionRevoked(
+void PushMessagingServiceImpl::UnexpectedUnsubscribe(
     const PushMessagingAppIdentifier& app_identifier,
+    blink::mojom::PushUnregistrationReason reason,
     UnregisterCallback unregister_callback) {
   // When `pushsubscriptionchange` is supported by default, get |sender_id| from
   // GetPushSubscriptionFromAppIdentifier callback and do not get the info from
@@ -1165,19 +1205,19 @@
         !PushMessagingAppIdentifier::UseInstanceID(app_identifier.app_id());
 #endif
     if (need_sender_id) {
-      GetSenderId(profile_, app_identifier.origin(),
-                  app_identifier.service_worker_registration_id(),
-                  base::BindOnce(&PushMessagingServiceImpl::
-                                     DidGetSenderIdUnsubscribePermissionRevoked,
-                                 weak_factory_.GetWeakPtr(), app_identifier,
-                                 std::move(unregister_callback)));
-    } else {
-      UnsubscribeInternal(
-          blink::mojom::PushUnregistrationReason::PERMISSION_REVOKED,
-          app_identifier.origin(),
+      GetSenderId(
+          profile_, app_identifier.origin(),
           app_identifier.service_worker_registration_id(),
-          app_identifier.app_id(), std::string() /* sender_id */,
-          std::move(unregister_callback));
+          base::BindOnce(
+              &PushMessagingServiceImpl::DidGetSenderIdUnexpectedUnsubscribe,
+              weak_factory_.GetWeakPtr(), app_identifier, reason,
+              std::move(unregister_callback)));
+    } else {
+      UnsubscribeInternal(reason, app_identifier.origin(),
+                          app_identifier.service_worker_registration_id(),
+                          app_identifier.app_id(),
+                          std::string() /* sender_id */,
+                          std::move(unregister_callback));
     }
 }
 
@@ -1264,8 +1304,9 @@
   RecordPushSubcriptionChangeStatus(status);
 }
 
-void PushMessagingServiceImpl::DidGetSenderIdUnsubscribePermissionRevoked(
+void PushMessagingServiceImpl::DidGetSenderIdUnexpectedUnsubscribe(
     const PushMessagingAppIdentifier& app_identifier,
+    blink::mojom::PushUnregistrationReason reason,
     UnregisterCallback callback,
     const std::string& sender_id) {
   // Unsubscribe the PushMessagingAppIdentifier with the push service.
@@ -1275,10 +1316,9 @@
   // Android, Unsubscribe will just delete the app identifier to block future
   // messages.
   // TODO(johnme): Auto-unregister before SW DB is cleared (crbug.com/402458).
-  UnsubscribeInternal(
-      blink::mojom::PushUnregistrationReason::PERMISSION_REVOKED,
-      app_identifier.origin(), app_identifier.service_worker_registration_id(),
-      app_identifier.app_id(), sender_id, std::move(callback));
+  UnsubscribeInternal(reason, app_identifier.origin(),
+                      app_identifier.service_worker_registration_id(),
+                      app_identifier.app_id(), sender_id, std::move(callback));
 }
 
 void PushMessagingServiceImpl::SetContentSettingChangedCallbackForTesting(
@@ -1308,6 +1348,11 @@
 
 // Helper methods --------------------------------------------------------------
 
+void PushMessagingServiceImpl::SetRemoveExpiredSubscriptionsCallbackForTesting(
+    base::OnceClosure closure) {
+  remove_expired_subscriptions_callback_for_testing_ = std::move(closure);
+}
+
 std::string PushMessagingServiceImpl::NormalizeSenderInfo(
     const std::string& application_server_key) const {
   if (!IsVapidKey(application_server_key))
diff --git a/chrome/browser/push_messaging/push_messaging_service_impl.h b/chrome/browser/push_messaging/push_messaging_service_impl.h
index 353732d9..6ae77b77 100644
--- a/chrome/browser/push_messaging/push_messaging_service_impl.h
+++ b/chrome/browser/push_messaging/push_messaging_service_impl.h
@@ -70,6 +70,9 @@
   explicit PushMessagingServiceImpl(Profile* profile);
   ~PushMessagingServiceImpl() override;
 
+  // Check and remove subscriptions that are expired when |this| is initialized
+  void RemoveExpiredSubscriptions();
+
   // Gets the permission status for the given |origin|.
   blink::mojom::PermissionStatus GetPermissionStatus(const GURL& origin,
                                                      bool user_visible);
@@ -150,6 +153,8 @@
       base::RepeatingClosure callback);
   void SetServiceWorkerDatabaseWipedCallbackForTesting(
       base::RepeatingClosure callback);
+  void SetRemoveExpiredSubscriptionsCallbackForTesting(
+      base::OnceClosure closure);
 
  private:
   friend class PushMessagingBrowserTest;
@@ -251,15 +256,6 @@
 
   // OnContentSettingChanged methods -------------------------------------------
 
-  void UnsubscribePermissionRevoked(
-      const PushMessagingAppIdentifier& app_identifier,
-      UnregisterCallback unregister_callback);
-
-  void DidGetSenderIdUnsubscribePermissionRevoked(
-      const PushMessagingAppIdentifier& app_identifier,
-      UnregisterCallback callback,
-      const std::string& sender_id);
-
   void GetPushSubscriptionFromAppIdentifier(
       const PushMessagingAppIdentifier& app_identifier,
       base::OnceCallback<void(blink::mojom::PushSubscriptionPtr)> callback);
@@ -280,6 +276,25 @@
       const std::vector<uint8_t>& auth);
 
   // Helper methods ------------------------------------------------------------
+
+  // The subscription given in |identifier| will be unsubscribed (and a
+  // `pushsubscriptionchange` event fires if
+  // features::kPushSubscriptionChangeEvent is enabled)
+  // |completed_closure|
+  void UnexpectedChange(PushMessagingAppIdentifier identifier,
+                        blink::mojom::PushUnregistrationReason reason,
+                        base::OnceClosure completed_closure);
+
+  void UnexpectedUnsubscribe(const PushMessagingAppIdentifier& app_identifier,
+                             blink::mojom::PushUnregistrationReason reason,
+                             UnregisterCallback unregister_callback);
+
+  void DidGetSenderIdUnexpectedUnsubscribe(
+      const PushMessagingAppIdentifier& app_identifier,
+      blink::mojom::PushUnregistrationReason reason,
+      UnregisterCallback callback,
+      const std::string& sender_id);
+
   void FirePushSubscriptionChangeCallback(
       const PushMessagingAppIdentifier& app_identifier,
       blink::mojom::PushEventStatus status);
@@ -334,6 +349,7 @@
   base::Closure content_setting_changed_callback_for_testing_;
   base::Closure service_worker_unregistered_callback_for_testing_;
   base::Closure service_worker_database_wiped_callback_for_testing_;
+  base::OnceClosure remove_expired_subscriptions_callback_for_testing_;
 
   PushMessagingNotificationManager notification_manager_;
 
diff --git a/chrome/browser/push_messaging/push_messaging_service_unittest.cc b/chrome/browser/push_messaging/push_messaging_service_unittest.cc
index 1f65df5..f0c6c3d 100644
--- a/chrome/browser/push_messaging/push_messaging_service_unittest.cc
+++ b/chrome/browser/push_messaging/push_messaging_service_unittest.cc
@@ -14,12 +14,14 @@
 #include "base/optional.h"
 #include "base/run_loop.h"
 #include "base/stl_util.h"
+#include "base/test/scoped_feature_list.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/time/time.h"
 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
 #include "chrome/browser/gcm/gcm_profile_service_factory.h"
 #include "chrome/browser/permissions/permission_manager_factory.h"
 #include "chrome/browser/push_messaging/push_messaging_app_identifier.h"
+#include "chrome/browser/push_messaging/push_messaging_features.h"
 #include "chrome/browser/push_messaging/push_messaging_service_factory.h"
 #include "chrome/browser/push_messaging/push_messaging_service_impl.h"
 #include "chrome/test/base/testing_profile.h"
@@ -29,6 +31,7 @@
 #include "components/gcm_driver/fake_gcm_profile_service.h"
 #include "components/gcm_driver/gcm_profile_service.h"
 #include "components/permissions/permission_manager.h"
+#include "content/public/common/content_features.h"
 #include "content/public/test/browser_task_environment.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/mojom/push_messaging/push_messaging_status.mojom.h"
@@ -144,6 +147,67 @@
     *payload_out = std::move(payload);
   }
 
+  class TestPushSubscription {
+   public:
+    std::string subscription_id_;
+    GURL endpoint_;
+    base::Optional<base::Time> expiration_time_;
+    std::vector<uint8_t> p256dh_;
+    std::vector<uint8_t> auth_;
+    TestPushSubscription(const std::string& subscription_id,
+                         const GURL& endpoint,
+                         const base::Optional<base::Time>& expiration_time,
+                         const std::vector<uint8_t>& p256dh,
+                         const std::vector<uint8_t>& auth)
+        : subscription_id_(subscription_id),
+          endpoint_(endpoint),
+          expiration_time_(expiration_time),
+          p256dh_(p256dh),
+          auth_(auth) {}
+    TestPushSubscription() = default;
+  };
+
+  void Subscribe(PushMessagingServiceImpl* push_service,
+                 const GURL& origin,
+                 TestPushSubscription* subscription = nullptr) {
+    std::string subscription_id;
+    GURL endpoint;
+    base::Optional<base::Time> expiration_time;
+    std::vector<uint8_t> p256dh, auth;
+
+    base::RunLoop run_loop;
+
+    auto options = blink::mojom::PushSubscriptionOptions::New();
+    options->user_visible_only = true;
+    options->application_server_key = std::vector<uint8_t>(
+        kTestSenderId,
+        kTestSenderId + sizeof(kTestSenderId) / sizeof(char) - 1);
+
+    push_service->SubscribeFromWorker(
+        origin, kTestServiceWorkerId, std::move(options),
+        base::BindOnce(&PushMessagingServiceTest::DidRegister,
+                       base::Unretained(this), &subscription_id, &endpoint,
+                       &expiration_time, &p256dh, &auth,
+                       run_loop.QuitClosure()));
+
+    EXPECT_EQ(0u, subscription_id.size());  // this must be asynchronous
+
+    run_loop.Run();
+
+    ASSERT_GT(subscription_id.size(), 0u);
+    ASSERT_TRUE(endpoint.is_valid());
+    ASSERT_GT(endpoint.spec().size(), 0u);
+    ASSERT_GT(p256dh.size(), 0u);
+    ASSERT_GT(auth.size(), 0u);
+
+    if (subscription) {
+      subscription->subscription_id_ = subscription_id;
+      subscription->endpoint_ = endpoint;
+      subscription->p256dh_ = p256dh;
+      subscription->auth_ = auth;
+    }
+  }
+
  protected:
   PushMessagingTestingProfile* profile() { return &profile_; }
 
@@ -167,36 +231,10 @@
   ASSERT_EQ(blink::mojom::PermissionStatus::GRANTED,
             push_service->GetPermissionStatus(origin, true));
 
-  std::string subscription_id;
-  GURL endpoint;
-  base::Optional<base::Time> expiration_time;
-  std::vector<uint8_t> p256dh, auth;
-
-  base::RunLoop run_loop;
-
   // (2) Subscribe for Push Messaging, and verify that we've got the required
   // information in order to be able to create encrypted messages.
-  auto options = blink::mojom::PushSubscriptionOptions::New();
-  options->user_visible_only = true;
-  options->application_server_key = std::vector<uint8_t>(
-      kTestSenderId, kTestSenderId + sizeof(kTestSenderId) / sizeof(char) - 1);
-
-  push_service->SubscribeFromWorker(
-      origin, kTestServiceWorkerId, std::move(options),
-      base::BindOnce(&PushMessagingServiceTest::DidRegister,
-                     base::Unretained(this), &subscription_id, &endpoint,
-                     &expiration_time, &p256dh, &auth, run_loop.QuitClosure()));
-
-  EXPECT_EQ(0u, subscription_id.size());  // this must be asynchronous
-
-  run_loop.Run();
-
-  ASSERT_GT(subscription_id.size(), 0u);
-  ASSERT_TRUE(endpoint.is_valid());
-  ASSERT_GT(endpoint.spec().size(), 0u);
-  ASSERT_GT(p256dh.size(), 0u);
-  ASSERT_GT(auth.size(), 0u);
-  ASSERT_EQ(expiration_time, base::nullopt);
+  TestPushSubscription subscription;
+  Subscribe(push_service, origin, &subscription);
 
   // (3) Encrypt a message using the public key and authentication secret that
   // are associated with the subscription.
@@ -206,8 +244,10 @@
 
   ASSERT_TRUE(gcm::CreateEncryptedPayloadForTesting(
       kTestPayload,
-      base::StringPiece(reinterpret_cast<char*>(p256dh.data()), p256dh.size()),
-      base::StringPiece(reinterpret_cast<char*>(auth.data()), auth.size()),
+      base::StringPiece(reinterpret_cast<char*>(subscription.p256dh_.data()),
+                        subscription.p256dh_.size()),
+      base::StringPiece(reinterpret_cast<char*>(subscription.auth_.data()),
+                        subscription.auth_.size()),
       &message));
 
   ASSERT_GT(message.raw_data.size(), 0u);
@@ -271,3 +311,47 @@
 
   EXPECT_EQ(p256dh, push_service->NormalizeSenderInfo(p256dh));
 }
+
+TEST_F(PushMessagingServiceTest, RemoveExpiredSubscriptions) {
+  // (1) Enable push subscriptions with expiration time and
+  // `pushsubscriptionchange` events
+  base::test::ScopedFeatureList scoped_feature_list_;
+  scoped_feature_list_.InitWithFeatures(
+      /* enabled features */
+      {features::kPushSubscriptionWithExpirationTime,
+       features::kPushSubscriptionChangeEvent},
+      /* disabled features */
+      {});
+
+  // (2) Set up push service and test origin
+  PushMessagingServiceImpl* push_service = profile()->GetPushMessagingService();
+  ASSERT_TRUE(push_service);
+  const GURL origin(kTestOrigin);
+
+  // (3) Subscribe origin to push service and find corresponding
+  // |app_identifier|
+  Subscribe(push_service, origin);
+  PushMessagingAppIdentifier app_identifier =
+      PushMessagingAppIdentifier::FindByServiceWorker(profile(), origin,
+                                                      kTestServiceWorkerId);
+  ASSERT_FALSE(app_identifier.is_null());
+
+  // (4) Manually set the time as expired, save the time in preferences
+  app_identifier.set_expiration_time(base::Time::UnixEpoch());
+  app_identifier.PersistToPrefs(profile());
+  ASSERT_EQ(1u, PushMessagingAppIdentifier::GetCount(profile()));
+
+  // (3) Remove all expired subscriptions
+  base::RunLoop run_loop;
+  push_service->SetRemoveExpiredSubscriptionsCallbackForTesting(
+      run_loop.QuitClosure());
+  push_service->RemoveExpiredSubscriptions();
+  run_loop.Run();
+
+  // (5) We expect the subscription to be deleted
+  ASSERT_EQ(0u, PushMessagingAppIdentifier::GetCount(profile()));
+  PushMessagingAppIdentifier deleted_identifier =
+      PushMessagingAppIdentifier::FindByAppId(profile(),
+                                              app_identifier.app_id());
+  EXPECT_TRUE(deleted_identifier.is_null());
+}
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 4a50496..da15575 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -2627,7 +2627,7 @@
 
   std::vector<base::string16> types;
   ui::Clipboard::GetForCurrentThread()->ReadAvailableTypes(
-      ui::ClipboardBuffer::kCopyPaste, /* data_dst = */ nullptr, &types);
+      ui::ClipboardBuffer::kCopyPaste, CreateDataEndpoint().get(), &types);
   return !types.empty();
 }
 
@@ -2637,7 +2637,7 @@
 
   return ui::Clipboard::GetForCurrentThread()->IsFormatAvailable(
       ui::ClipboardFormatType::GetPlainTextType(),
-      ui::ClipboardBuffer::kCopyPaste, /* data_dst = */ nullptr);
+      ui::ClipboardBuffer::kCopyPaste, CreateDataEndpoint().get());
 }
 
 bool RenderViewContextMenu::IsPrintPreviewEnabled() const {
@@ -2684,7 +2684,7 @@
 }
 
 std::unique_ptr<ui::ClipboardDataEndpoint>
-RenderViewContextMenu::CreateDataEndpoint() {
+RenderViewContextMenu::CreateDataEndpoint() const {
   RenderFrameHost* render_frame_host = GetRenderFrameHost();
   if (render_frame_host) {
     return std::make_unique<ui::ClipboardDataEndpoint>(
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.h b/chrome/browser/renderer_context_menu/render_view_context_menu.h
index 9da13ac1..140c038 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.h
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.h
@@ -199,7 +199,7 @@
   void AppendSharedClipboardItem();
   void AppendQRCodeGeneratorItem(bool for_image, bool draw_icon);
 
-  std::unique_ptr<ui::ClipboardDataEndpoint> CreateDataEndpoint();
+  std::unique_ptr<ui::ClipboardDataEndpoint> CreateDataEndpoint() const;
 
   // Command enabled query functions.
   bool IsReloadEnabled() const;
diff --git a/chrome/browser/reputation/reputation_service.cc b/chrome/browser/reputation/reputation_service.cc
index 76bb167..23e46f1 100644
--- a/chrome/browser/reputation/reputation_service.cc
+++ b/chrome/browser/reputation/reputation_service.cc
@@ -70,9 +70,15 @@
 
 // Returns whether or not the Safety Tip should be suppressed for the given URL.
 // Checks SafeBrowsing-style permutations of |url| against the component updater
-// allowlist and returns whether the URL is explicitly allowed. Fails closed, so
-// that warnings are suppressed if the component is unavailable.
-bool ShouldSuppressWarning(const GURL& url) {
+// allowlist, as well as any enterprise-set allowlisting of the hostname, and
+// returns whether the URL is explicitly allowed. Fails closed, so that warnings
+// are suppressed if the component is unavailable.
+bool ShouldSuppressWarning(Profile* profile, const GURL& url) {
+  // Check any policy-set allowlist.
+  if (IsAllowedByEnterprisePolicy(profile->GetPrefs(), url)) {
+    return true;
+  }
+
   auto* proto = GetSafetyTipsRemoteConfigProto();
   if (!proto) {
     // This happens when the component hasn't downloaded yet. This should only
@@ -165,7 +171,7 @@
   // 0. Server-side warning suppression.
   // If the URL is on the allowlist list, do nothing else. This is only used to
   // mitigate false positives, so no further processing should be done.
-  if (ShouldSuppressWarning(url)) {
+  if (ShouldSuppressWarning(profile_, url)) {
     done_checking_reputation_status = true;
   }
 
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bg.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bg.xtb
index 8aed8d3..a71e815 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bg.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bg.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Предисловие</translation>
 <translation id="6697092096875747123">Предишният разгъващ се списък</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{удивителен знак}other{# удивителни знака}}</translation>
-<translation id="6710213216561001401">Предишна</translation>
+<translation id="6710213216561001401">Предишно</translation>
 <translation id="6714813999819678458">Предишното заглавие от второ ниво</translation>
 <translation id="6730312624811567147">Използвайте Търсене и стрелка за наляво или надясно за Home или End; Търсене, Control и стрелка за наляво или надясно за Control Home или Control End; Търсене и стрелка за нагоре или надолу за Page Up или Page Down</translation>
 <translation id="6736510033526053669">разделът е създаден</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bn.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bn.xtb
index 90e188b..574e63c 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bn.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bn.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">মুখবন্ধ</translation>
 <translation id="6697092096875747123">পূর্ববর্তী কম্বো বাক্স</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{টি বিস্ময়সূচক চিহ্ন}one{#টি বিস্ময়সূচক চিহ্ন}other{#টি বিস্ময়সূচক চিহ্ন}}</translation>
-<translation id="6710213216561001401">পূর্ববর্তী</translation>
+<translation id="6710213216561001401">আগের</translation>
 <translation id="6714813999819678458">পূর্ববর্তী স্তর ২ শিরোনাম</translation>
 <translation id="6730312624811567147">'হোম' বা 'এন্ড'-এ যেতে সার্চের সাথে বাম অথবা ডানদিকের তীরচিহ্ন বোতামটি টিপুন, কন্ট্রোল হোম অথবা এন্ডের জন্য সার্চ কন্ট্রোলের সাথে বাম অথবা ডানদিকের তীরচিহ্ন বোতামটি টিপুন, পেজ আপ ও পেজ ডাউনের জন্য সার্চের সাথে উপরের বা নিচের তীরচিহ্ন বোতামটি টিপুন</translation>
 <translation id="6736510033526053669">ট্যাব তৈরি করা হয়েছে</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_de.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_de.xtb
index c052a83b..85cdd46 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_de.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_de.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Vorbemerkung</translation>
 <translation id="6697092096875747123">Vorheriges Kombinationsfeld</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{Ausrufezeichen}other{# Ausrufezeichen}}</translation>
-<translation id="6710213216561001401">Zurück</translation>
+<translation id="6710213216561001401">Vorherige Einreichung</translation>
 <translation id="6714813999819678458">Vorherige Überschrift der Ebene 2</translation>
 <translation id="6730312624811567147">Drücken Sie die Suchtaste in Verbindung mit dem Links- oder Rechtspfeil für "Pos1" oder "Ende", die Suchtaste in Verbindung mit der Steuerungstaste und dem Links- oder Rechtspfeil für "Steuerung-Pos1" oder "Steuerung-Ende" und die Suchtaste in Verbindung mit dem Aufwärts- oder Abwärtspfeil für "Bild auf" oder "Bild ab"</translation>
 <translation id="6736510033526053669">Tab erstellt</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fil.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fil.xtb
index bd7182b..400b978 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fil.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fil.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Preface</translation>
 <translation id="6697092096875747123">Nakaraang combo box</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{tandang-padamdam}one{# tandang-padamdam}other{# na tandang-padamdam}}</translation>
-<translation id="6710213216561001401">Nakaraan</translation>
+<translation id="6710213216561001401">Nauna</translation>
 <translation id="6714813999819678458">Nakaraang heading sa antas 2</translation>
 <translation id="6730312624811567147">Gamitin ang Maghanap Pakaliwa o Pakanan para sa Home o End, Maghanap ng Kontrol Pakaliwa o Pakanan para sa Control Home o End, at Maghanap Pataas o Pababa para sa Page Up o Down</translation>
 <translation id="6736510033526053669">nagawa ang tab</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_it.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_it.xtb
index afbe639..85e9754d 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_it.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_it.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Prefazione</translation>
 <translation id="6697092096875747123">Casella combinata precedente</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{punto esclamativo}other{# punti esclamativi}}</translation>
-<translation id="6710213216561001401">Indietro</translation>
+<translation id="6710213216561001401">Precedente</translation>
 <translation id="6714813999819678458">Intestazione livello 2 precedente</translation>
 <translation id="6730312624811567147">Utilizza il tasto per la ricerca con freccia sinistra o destra per HOME oppure FINE, il tasto per la ricerca, CTRL, freccia sinistra o destra per CTRL HOME oppure FINE, il tasto per la ricerca e freccia su o giù per Pagina su o Pagina giù</translation>
 <translation id="6736510033526053669">scheda creata</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kn.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kn.xtb
index ffff34e..11c5901 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kn.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kn.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">ಮುನ್ನುಡಿ</translation>
 <translation id="6697092096875747123">ಹಿಂದಿನ ಕಾಂಬೊ ಬಾಕ್ಸ್</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{ಆಶ್ಚರ್ಯಸೂಚಕ }one{# ಆಶ್ಚರ್ಯಸೂಚಕಗಳು}other{# ಆಶ್ಚರ್ಯಸೂಚಕಗಳು}}</translation>
-<translation id="6710213216561001401">ಹಿಂದೆ</translation>
+<translation id="6710213216561001401">ಹಿಂದಿನದು</translation>
 <translation id="6714813999819678458">ಹಿಂದಿನ ಹಂತದ 2 ಶಿರೋನಾಮೆ</translation>
 <translation id="6730312624811567147">ಹೋಮ್ ಅಥವಾ ಎಂಡ್‌ಗಾಗಿ ಹುಡುಕಾಟ ಎಡ ಅಥವಾ ಬಲ, ಕಂಟ್ರೋಲ್ ಹೋಮ್ ಅಥವಾ ಎಂಡ್‌ಗಾಗಿ ಹುಡುಕಾಟ ಕಂಟ್ರೋಲ್ ಎಡ ಅಥವಾ ಬಲ, ಪುಟ ಮೇಲೆ ಅಥವಾ ಕೆಳಗೆ ಮಾಡಲು ಹುಡುಕಾಟ ಮೇಲೆ ಅಥವಾ ಕೆಳಗೆ ಬಳಸಿ</translation>
 <translation id="6736510033526053669">ಟ್ಯಾಬ್ ರಚಿಸಲಾಗಿದೆ</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lt.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lt.xtb
index 715459e7..e8890bf 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lt.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lt.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Įvadas</translation>
 <translation id="6697092096875747123">Ankstesnis išskleidžiamasis sąrašas</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{šauktukas}one{# šauktukas}few{# šauktukai}many{# šauktuko}other{# šauktukų}}</translation>
-<translation id="6710213216561001401">Ankstesnis</translation>
+<translation id="6710213216561001401">Ankstesnė</translation>
 <translation id="6714813999819678458">Ankstesnė 2 lygio antraštė</translation>
 <translation id="6730312624811567147">Naudokite paieškos klavišą ir rodyklę į kairę arba į dešinę, norėdami atlikti klavišo „Home“ ar „End“ funkcijas; „Search Control“ ir rodyklę į kairę arba į dešinę, norėdami atlikti klavišo „Control Home“ ar „End“ funkcijas; paieškos klavišą ir rodyklę į viršų arba į apačią, norėdami atlikti klavišo „Page Up“ ar „Page Down“ funkcijas</translation>
 <translation id="6736510033526053669">skirtukas sukurtas</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pl.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pl.xtb
index 248824a9..2f4ec6f 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pl.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pl.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Wstęp</translation>
 <translation id="6697092096875747123">Poprzednie pole złożone</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{wykrzyknik}few{# wykrzykniki}many{# wykrzykników}other{# wykrzyknika}}</translation>
-<translation id="6710213216561001401">Wstecz</translation>
+<translation id="6710213216561001401">Poprzedni</translation>
 <translation id="6714813999819678458">Poprzedni nagłówek poziomu 2</translation>
 <translation id="6730312624811567147">Klawisz wyszukiwania i strzałka w lewo lub prawo to klawisz Home lub End. Klawisz wyszukiwania, Control i strzałka w lewo lub prawo to Control z klawiszem Home lub End. Klawisz wyszukiwania i strzałka w górę lub w dół to klawisz Page Up lub Page Down</translation>
 <translation id="6736510033526053669">karta została utworzona</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pt-BR.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pt-BR.xtb
index a62f4a3..40cfc0c 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pt-BR.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pt-BR.xtb
@@ -653,7 +653,7 @@
 <translation id="6082768461603900813">Navegação básica</translation>
 <translation id="609281021724813947">Nenhum controle deslizante anterior</translation>
 <translation id="6100239002225743044">Subir uma linha</translation>
-<translation id="6118126368611144850">Apps para Android no Chrome. Se a Play Store estiver instalada no seu dispositivo, dê uma olhada no ChromeVox com aplicativos para Android. Teste o suporte experimental fazendo o download do Google Chrome Canary na Play Store.</translation>
+<translation id="6118126368611144850">Apps Android no Chrome. Se a Play Store estiver instalada no seu dispositivo, dê uma olhada no ChromeVox com aplicativos para Android. Teste o suporte experimental fazendo o download do Google Chrome Canary na Play Store.</translation>
 <translation id="611827076493383239">vtd</translation>
 <translation id="6122013438240733403">btn</translation>
 <translation id="6132506484792346370">Uma caixa de listagem ou uma caixa de combinação</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sk.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sk.xtb
index cfa4471..33498ef 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sk.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sk.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Predslov</translation>
 <translation id="6697092096875747123">Predchádzajúce rozbaľovacie pole</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{výkričník}few{# výkričníky}many{# výkričníka}other{# výkričníkov}}</translation>
-<translation id="6710213216561001401">Dozadu</translation>
+<translation id="6710213216561001401">Späť</translation>
 <translation id="6714813999819678458">Predchádzajúci nadpis 2. úrovne</translation>
 <translation id="6730312624811567147">Kombinácia klávesov Hľadať + šípka doľava alebo doprava slúži ako Home alebo End, kombinácia Hľadať + Ctrl + šípka doľava alebo doprava funguje ako Ctrl Home alebo Ctrl End, kombinácia klávesov Hľadať + šípka nahor alebo nadol slúži ako Page Up alebo Page Down</translation>
 <translation id="6736510033526053669">karta sa vytvorila</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sl.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sl.xtb
index 6a06e74..8f91d9e 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sl.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sl.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Predgovor</translation>
 <translation id="6697092096875747123">Prejšnje kombinirano polje</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{klicaj}one{# klicaj}two{# klicaja}few{# klicaji}other{# klicajev}}</translation>
-<translation id="6710213216561001401">Nazaj</translation>
+<translation id="6710213216561001401">Prejšnji</translation>
 <translation id="6714813999819678458">Prejšnji naslov na ravni 2</translation>
 <translation id="6730312624811567147">Uporabite tipko za iskanje in levo ali desno za tipko Home ali End, tipko za iskanje, tipko Control in levo ali desno za tipko Control in Home ali End, tipko za iskanje in gor ali dol za tipko Page Up ali Down</translation>
 <translation id="6736510033526053669">zavihek ustvarjen</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sw.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sw.xtb
index 11b10c0..790774e8d 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sw.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sw.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Dibaji</translation>
 <translation id="6697092096875747123">Kikasha mseto kilichotangulia</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{alama hisi}other{alama hisi #}}</translation>
-<translation id="6710213216561001401">Iliyotangulia</translation>
+<translation id="6710213216561001401">Iliyopita</translation>
 <translation id="6714813999819678458">Kichwa cha ngazi ya 2 kilichotangulia</translation>
 <translation id="6730312624811567147">Tumia kitufe cha 'Search Left' au 'Search Right' badala ya 'Home' au 'End', 'Search Control Left' au 'Search Control Right' badala ya 'Control Home' au 'Control End', 'Search Up' au 'Search Down' badala ya 'Page Up' au 'Page Down'</translation>
 <translation id="6736510033526053669">kichupo kimeundwa</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_uk.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_uk.xtb
index da2af94db..98eb6b5 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_uk.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_uk.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Передмова</translation>
 <translation id="6697092096875747123">Попереднє комбіноване вікно</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{знак оклику}one{# знак оклику}few{# знаки оклику}many{# знаків оклику}other{# знаку оклику}}</translation>
-<translation id="6710213216561001401">Попереднє</translation>
+<translation id="6710213216561001401">Назад</translation>
 <translation id="6714813999819678458">Попередній заголовок рівня 2</translation>
 <translation id="6730312624811567147">Використовуйте комбінацію клавіші пошуку зі стрілкою праворуч або ліворуч як клавішу Home або End, комбінацію клавіш пошуку та Control зі стрілкою праворуч чи ліворуч як клавіші Control Home або End, а клавішу пошуку зі стрілкою вгору чи вниз – як клавіші Page Up або Page Down</translation>
 <translation id="6736510033526053669">вкладку створено</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 4b4fdc52..7131434 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_vi.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_vi.xtb
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">Lời nói đầu</translation>
 <translation id="6697092096875747123">Hộp kết hợp trước</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{dấu chấm than}other{# dấu chấm than}}</translation>
-<translation id="6710213216561001401">Trước đó</translation>
+<translation id="6710213216561001401">Trước</translation>
 <translation id="6714813999819678458">Tiêu đề cấp 2 trước</translation>
 <translation id="6730312624811567147">Sử dụng tổ hợp phím Tìm kiếm Mũi tên trái hoặc phải để thay thế phím Home hoặc End, Tìm kiếm Control Mũi tên trái hoặc Mũi tên phải để thay thế phím Control Home hoặc End, Tìm kiếm Mũi tên lên hoặc xuống để thay thế phím Page Up hoặc Down</translation>
 <translation id="6736510033526053669">thẻ đã được tạo</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 e08fafc..6708807 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
@@ -717,7 +717,7 @@
 <translation id="6696967141280706829">序言</translation>
 <translation id="6697092096875747123">上一个组合框</translation>
 <translation id="6702609185760332517">{COUNT,plural, =1{1 个感叹号}other{# 个感叹号}}</translation>
-<translation id="6710213216561001401">上一个</translation>
+<translation id="6710213216561001401">上一项</translation>
 <translation id="6714813999819678458">上一个2级标题</translation>
 <translation id="6730312624811567147">使用搜索键+向左箭头键或搜索键+向右箭头键代替 Home 键或 End 键,使用搜索键+Ctrl+向左箭头键或搜索键+Ctrl+向右箭头键代替 Ctrl+Home 或 Ctrl+End,使用搜索键+向上箭头键或搜索键+向下箭头键代替 PageUp 键或 PageDown 键</translation>
 <translation id="6736510033526053669">已打开标签页</translation>
diff --git a/chrome/browser/resources/chromeos/internet_config_dialog/BUILD.gn b/chrome/browser/resources/chromeos/internet_config_dialog/BUILD.gn
index 1e2776b..3d01b49c 100644
--- a/chrome/browser/resources/chromeos/internet_config_dialog/BUILD.gn
+++ b/chrome/browser/resources/chromeos/internet_config_dialog/BUILD.gn
@@ -29,9 +29,12 @@
     "//ui/webui/resources/js:assert",
     "//ui/webui/resources/js:i18n_behavior",
   ]
-  externs_list = chrome_extension_public_externs + [
-                   "$externs_path/chrome_send.js",
-                   "$externs_path/networking_private.js",
-                 ]
+
+  externs_list = [
+    # TODO(crbug/1081815): Use autogenerated files instead of chrome_extensions.
+    "$externs_path/chrome_extensions.js",
+    "$externs_path/chrome_send.js",
+    "$externs_path/networking_private.js",
+  ]
   extra_sources = [ "$interfaces_path/networking_private_interface.js" ]
 }
diff --git a/chrome/browser/resources/feedback/js/feedback.js b/chrome/browser/resources/feedback/js/feedback.js
index 5eeed5d..f3394a6 100644
--- a/chrome/browser/resources/feedback/js/feedback.js
+++ b/chrome/browser/resources/feedback/js/feedback.js
@@ -512,67 +512,71 @@
               true /* useAppWindow */);
         }
 
-        const legalHelpPageUrlElement = $('legal-help-page-url');
-        if (legalHelpPageUrlElement) {
-          setupLinkHandlers(
-              legalHelpPageUrlElement, FEEDBACK_LEGAL_HELP_URL,
-              false /* useAppWindow */);
-        }
+        // The following URLs don't open on login screen, so hide them.
+        // TODO(crbug.com/1116383): Find a solution to display them properly.
+        if (feedbackInfo.flow != chrome.feedbackPrivate.FeedbackFlow.LOGIN) {
+          const legalHelpPageUrlElement = $('legal-help-page-url');
+          if (legalHelpPageUrlElement) {
+            setupLinkHandlers(
+                legalHelpPageUrlElement, FEEDBACK_LEGAL_HELP_URL,
+                false /* useAppWindow */);
+          }
 
-        const privacyPolicyUrlElement = $('privacy-policy-url');
-        if (privacyPolicyUrlElement) {
-          setupLinkHandlers(
-              privacyPolicyUrlElement, FEEDBACK_PRIVACY_POLICY_URL,
-              false /* useAppWindow */);
-        }
+          const privacyPolicyUrlElement = $('privacy-policy-url');
+          if (privacyPolicyUrlElement) {
+            setupLinkHandlers(
+                privacyPolicyUrlElement, FEEDBACK_PRIVACY_POLICY_URL,
+                false /* useAppWindow */);
+          }
 
-        const termsOfServiceUrlElement = $('terms-of-service-url');
-        if (termsOfServiceUrlElement) {
-          setupLinkHandlers(
-              termsOfServiceUrlElement, FEEDBACK_TERM_OF_SERVICE_URL,
-              false /* useAppWindow */);
-        }
+          const termsOfServiceUrlElement = $('terms-of-service-url');
+          if (termsOfServiceUrlElement) {
+            setupLinkHandlers(
+                termsOfServiceUrlElement, FEEDBACK_TERM_OF_SERVICE_URL,
+                false /* useAppWindow */);
+          }
 
-        const bluetoothLogsInfoLinkElement = $('bluetooth-logs-info-link');
-        if (bluetoothLogsInfoLinkElement) {
-          bluetoothLogsInfoLinkElement.onclick = function(e) {
-            e.preventDefault();
-
-            chrome.app.window.create(
-                '/html/bluetooth_logs_info.html',
-                {width: 400, height: 120, resizable: false},
-                function(appWindow) {
-                  appWindow.contentWindow.onload = function() {
-                    i18nTemplate.process(
-                        appWindow.contentWindow.document, loadTimeData);
-                  };
-                });
-
-            bluetoothLogsInfoLinkElement.onauxclick = function(e) {
+          const bluetoothLogsInfoLinkElement = $('bluetooth-logs-info-link');
+          if (bluetoothLogsInfoLinkElement) {
+            bluetoothLogsInfoLinkElement.onclick = function(e) {
               e.preventDefault();
+
+              chrome.app.window.create(
+                  '/html/bluetooth_logs_info.html',
+                  {width: 400, height: 120, resizable: false},
+                  function(appWindow) {
+                    appWindow.contentWindow.onload = function() {
+                      i18nTemplate.process(
+                          appWindow.contentWindow.document, loadTimeData);
+                    };
+                  });
+
+              bluetoothLogsInfoLinkElement.onauxclick = function(e) {
+                e.preventDefault();
+              };
             };
-          };
-        }
+          }
 
-        const assistantLogsInfoLinkElement = $('assistant-logs-info-link');
-        if (assistantLogsInfoLinkElement) {
-          assistantLogsInfoLinkElement.onclick = function(e) {
-            e.preventDefault();
-
-            chrome.app.window.create(
-                '/html/assistant_logs_info.html',
-                {width: 400, height: 120, resizable: false, frame: 'none'},
-                function(appWindow) {
-                  appWindow.contentWindow.onload = function() {
-                    i18nTemplate.process(
-                        appWindow.contentWindow.document, loadTimeData);
-                  };
-                });
-
-            assistantLogsInfoLinkElement.onauxclick = function(e) {
+          const assistantLogsInfoLinkElement = $('assistant-logs-info-link');
+          if (assistantLogsInfoLinkElement) {
+            assistantLogsInfoLinkElement.onclick = function(e) {
               e.preventDefault();
+
+              chrome.app.window.create(
+                  '/html/assistant_logs_info.html',
+                  {width: 400, height: 120, resizable: false, frame: 'none'},
+                  function(appWindow) {
+                    appWindow.contentWindow.onload = function() {
+                      i18nTemplate.process(
+                          appWindow.contentWindow.document, loadTimeData);
+                    };
+                  });
+
+              assistantLogsInfoLinkElement.onauxclick = function(e) {
+                e.preventDefault();
+              };
             };
-          };
+          }
         }
 
         // Make sure our focus starts on the description field.
diff --git a/chrome/browser/resources/media/media_feeds.js b/chrome/browser/resources/media/media_feeds.js
index 09dd4022..0e91bc2 100644
--- a/chrome/browser/resources/media/media_feeds.js
+++ b/chrome/browser/resources/media/media_feeds.js
@@ -105,6 +105,8 @@
         td.textContent = 'Auto';
       } else if (data == mediaFeeds.mojom.FeedUserStatus.kDisabled) {
         td.textContent = 'Disabled';
+      } else if (data == mediaFeeds.mojom.FeedUserStatus.kEnabled) {
+        td.textContent = 'Enabled';
       }
     } else if (key === 'lastFetchResult') {
       // Format a FetchResult.
diff --git a/chrome/browser/resources/nearby_internals/contact_object.html b/chrome/browser/resources/nearby_internals/contact_object.html
index bba12bd..37f1910 100644
--- a/chrome/browser/resources/nearby_internals/contact_object.html
+++ b/chrome/browser/resources/nearby_internals/contact_object.html
@@ -59,11 +59,9 @@
     </cr-expand-button>
   </div>
   <iron-collapse opened="[[contentExpanded_]]">
-    <p class="expanded-element-title">Contact Records:
-      <p class="expanded-element">[[item.contactRecords]]</p>
-    </p>
-    <p class="expanded-element-title">Allowed Contact Ids:
-      <p class="expanded-element">[[item.allowedIds]]</p>
-    </p>
+    <p class="expanded-element-title">Contact Records:</p>
+    <p class="expanded-element">[[item.contactRecords]]</p>
+    <p class="expanded-element-title">Allowed Contact Ids:</p>
+    <p class="expanded-element">[[item.allowedIds]]</p>
   </iron-collapse>
 </div>
diff --git a/chrome/browser/resources/nearby_internals/contact_tab.html b/chrome/browser/resources/nearby_internals/contact_tab.html
index 9f4ec6741..700ce29 100644
--- a/chrome/browser/resources/nearby_internals/contact_tab.html
+++ b/chrome/browser/resources/nearby_internals/contact_tab.html
@@ -18,7 +18,7 @@
     id="clearButton" disabled="[[!contactList_.length]]">
  Clear Messages
 </cr-button>
-<doom-repeat items="[[contactList_]]" as="contact" id="contact-list"
+<dom-repeat items="[[contactList_]]" as="contact" id="contact-list"
     hidden="[[!contactList_.length]]">
   <template>
     <contact-object item="[[contact]]">
diff --git a/chrome/browser/resources/nearby_internals/logging_tab.html b/chrome/browser/resources/nearby_internals/logging_tab.html
index 3bfb9b6..8048e0ecb 100644
--- a/chrome/browser/resources/nearby_internals/logging_tab.html
+++ b/chrome/browser/resources/nearby_internals/logging_tab.html
@@ -7,6 +7,7 @@
     display: flex;
     flex-direction: column;
     height: 100%;
+    white-space: pre-wrap;
   }
 
   log-object {
diff --git a/chrome/browser/resources/nearby_internals/nearby_ui_trigger_browser_proxy.js b/chrome/browser/resources/nearby_internals/nearby_ui_trigger_browser_proxy.js
index b17eb159..b3597d6 100644
--- a/chrome/browser/resources/nearby_internals/nearby_ui_trigger_browser_proxy.js
+++ b/chrome/browser/resources/nearby_internals/nearby_ui_trigger_browser_proxy.js
@@ -21,9 +21,10 @@
    * Invokes the NearbyShare service's SendText() method for the input
    * ShareTarget |id|
    * @param {string} id
+   * @return {!Promise<!StatusCode>}
    */
   sendText(id) {
-    chrome.send('sendText', [id]);
+    return sendWithPromise('sendText', id);
   }
 
   /**
diff --git a/chrome/browser/resources/nearby_internals/ui_trigger_tab.js b/chrome/browser/resources/nearby_internals/ui_trigger_tab.js
index fd10bc5..0efa0b4 100644
--- a/chrome/browser/resources/nearby_internals/ui_trigger_tab.js
+++ b/chrome/browser/resources/nearby_internals/ui_trigger_tab.js
@@ -147,7 +147,8 @@
    * @private
    */
   onSendTextClicked_() {
-    this.browserProxy_.sendText(this.selectedShareTargetId_);
+    this.browserProxy_.sendText(this.selectedShareTargetId_)
+        .then(statusCode => this.onStatusCodeReturned_(statusCode));
   },
 
   /**
diff --git a/chrome/browser/resources/pdf/pdf_viewer.html b/chrome/browser/resources/pdf/pdf_viewer.html
index 5c4671b..853b0dd7 100644
--- a/chrome/browser/resources/pdf/pdf_viewer.html
+++ b/chrome/browser/resources/pdf/pdf_viewer.html
@@ -15,12 +15,13 @@
 
   #sidenav-container {
     overflow: hidden;
-    transition: width 250ms ease-out, visibility 250ms;
+    transition: width 250ms cubic-bezier(.6, 0, 0, 1), visibility 250ms;
     visibility: visible;
     width: var(--viewer-pdf-sidenav-width);
   }
 
   #sidenav-container[closed] {
+    transition: width 200ms cubic-bezier(.6, 0, 0, 1), visibility 200ms;
     visibility: hidden;
     width: 0;
   }
diff --git a/chrome/browser/resources/settings/about_page/about_page_browser_proxy.js b/chrome/browser/resources/settings/about_page/about_page_browser_proxy.js
index 3725f44..13dbc68 100644
--- a/chrome/browser/resources/settings/about_page/about_page_browser_proxy.js
+++ b/chrome/browser/resources/settings/about_page/about_page_browser_proxy.js
@@ -25,6 +25,7 @@
  * @typedef {{
  *   currentChannel: BrowserChannel,
  *   targetChannel: BrowserChannel,
+ *   isLts: boolean,
  * }}
  */
 let ChannelInfo;
@@ -120,9 +121,14 @@
 cr.define('settings', function() {
   /**
    * @param {!BrowserChannel} channel
+   * @param {boolean} isLts
    * @return {string}
    */
-  function browserChannelToI18nId(channel) {
+  function browserChannelToI18nId(channel, isLts) {
+    if (isLts) {
+      return 'aboutChannelLongTermStable';
+    }
+
     switch (channel) {
       case BrowserChannel.BETA:
         return 'aboutChannelBeta';
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/BUILD.gn b/chrome/browser/resources/settings/chromeos/internet_page/BUILD.gn
index b48ce0b0..4b6a012 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/BUILD.gn
+++ b/chrome/browser/resources/settings/chromeos/internet_page/BUILD.gn
@@ -169,7 +169,10 @@
 }
 
 js_library("cellular_setup_dialog") {
-  deps = [ "//ui/webui/resources/cr_elements/cr_dialog:cr_dialog" ]
+  deps = [
+    "//ui/webui/resources/cr_components/chromeos/cellular_setup",
+    "//ui/webui/resources/cr_elements/cr_dialog:cr_dialog",
+  ]
 }
 
 # TODO: Uncomment as the Polymer3 migration makes progress.
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.html b/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.html
index 2c620a4..f9e5c272 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.html
@@ -1,5 +1,6 @@
 <link rel="import" href="chrome://resources/html/polymer.html">
 
+<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_setup.html">
 <link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
 <link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
 
@@ -11,9 +12,7 @@
     <cr-dialog id="dialog">
       <div slot="title">$i18n{cellularSetupDialogTitle}</div>
       <div slot="body">
-        <!-- TODO(crbug/1093185): Fix - embedding CellularSetup currently causes
-            settings to open with Error code: RESULT_CODE_KILLED_BAD_MESSAGE-->
-        <!-- <cellular-setup></cellular-setup> -->
+        <cellular-setup></cellular-setup>
       </div>
     </cr-dialog>
   </template>
diff --git a/chrome/browser/resources/settings/chromeos/os_about_page/detailed_build_info.js b/chrome/browser/resources/settings/chromeos/os_about_page/detailed_build_info.js
index 439123c..8908880 100644
--- a/chrome/browser/resources/settings/chromeos/os_about_page/detailed_build_info.js
+++ b/chrome/browser/resources/settings/chromeos/os_about_page/detailed_build_info.js
@@ -63,7 +63,8 @@
       // Display the target channel for the 'Currently on' message.
       this.currentlyOnChannelText_ = this.i18n(
           'aboutCurrentlyOnChannel',
-          this.i18n(settings.browserChannelToI18nId(info.targetChannel)));
+          this.i18n(
+              settings.browserChannelToI18nId(info.targetChannel, info.isLts)));
     });
   },
 
@@ -114,7 +115,8 @@
     const buildInfo = {
       'application_label': loadTimeData.getString('aboutBrowserVersion'),
       'platform': this.versionInfo_.osVersion,
-      'aboutChannelLabel': this.channelInfo_.targetChannel,
+      'aboutChannelLabel': this.channelInfo_.targetChannel +
+          (this.channelInfo_.isLts ? ' (trusted tester)' : ''),
       'firmware_version': this.versionInfo_.osFirmware,
       'aboutIsArcStatusTitle': loadTimeData.getBoolean('aboutIsArcEnabled'),
       'arc_label': this.versionInfo_.arcVersion,
diff --git a/chrome/browser/resources/settings/chromeos/os_about_page/os_about_page.js b/chrome/browser/resources/settings/chromeos/os_about_page/os_about_page.js
index da8a863..fc6961af 100644
--- a/chrome/browser/resources/settings/chromeos/os_about_page/os_about_page.js
+++ b/chrome/browser/resources/settings/chromeos/os_about_page/os_about_page.js
@@ -54,6 +54,12 @@
     /** @private {!BrowserChannel} */
     targetChannel_: String,
 
+    /** @private */
+    isLts_: {
+      type: Boolean,
+      value: false,
+    },
+
     /** @private {?RegulatoryInfo} */
     regulatoryInfo_: Object,
 
@@ -176,6 +182,7 @@
     this.aboutBrowserProxy_.getChannelInfo().then(info => {
       this.currentChannel_ = info.currentChannel;
       this.targetChannel_ = info.targetChannel;
+      this.isLts_ = info.isLts;
       this.startListening_();
     });
 
@@ -335,8 +342,8 @@
         if (this.currentChannel_ != this.targetChannel_) {
           return this.i18nAdvanced('aboutUpgradeUpdatingChannelSwitch', {
             substitutions: [
-              this.i18nAdvanced(
-                  settings.browserChannelToI18nId(this.targetChannel_)),
+              this.i18nAdvanced(settings.browserChannelToI18nId(
+                  this.targetChannel_, this.isLts_)),
               progressPercent
             ]
           });
diff --git a/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box.html b/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box.html
index db15d25..23e75654 100644
--- a/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box.html
+++ b/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box.html
@@ -91,9 +91,7 @@
       }
 
       iron-dropdown {
-        left: 0;
         margin-top: 74px;
-        right: 0;
       }
 
       iron-dropdown [slot='dropdown-content'] {
diff --git a/chrome/browser/resources/settings/chromeos/os_toolbar/os_toolbar.html b/chrome/browser/resources/settings/chromeos/os_toolbar/os_toolbar.html
index d06aeab..da9e1df2 100644
--- a/chrome/browser/resources/settings/chromeos/os_toolbar/os_toolbar.html
+++ b/chrome/browser/resources/settings/chromeos/os_toolbar/os_toolbar.html
@@ -59,6 +59,10 @@
         width: var(--settings-menu-width);
       }
 
+      :host([narrow]) #leftSpacer {
+        width: 20px;
+      }
+
       cr-icon-button {
         --cr-icon-button-fill-color: currentColor;
         --cr-icon-button-size: 32px;
@@ -78,6 +82,8 @@
       :host([narrow]) #centeredContent {
         position: absolute;
         width: 100%;
+        /* #centeredContent should always be below #leftContent */
+        z-index: -1;
       }
 
       :host([narrow]:not([showing-search_])) #centeredContent {
diff --git a/chrome/browser/safe_browsing/android/services_delegate_android.cc b/chrome/browser/safe_browsing/android/services_delegate_android.cc
index 750af80..c859d4b 100644
--- a/chrome/browser/safe_browsing/android/services_delegate_android.cc
+++ b/chrome/browser/safe_browsing/android/services_delegate_android.cc
@@ -12,6 +12,7 @@
 #include "chrome/browser/safe_browsing/telemetry/telemetry_service.h"
 #include "components/safe_browsing/android/remote_database_manager.h"
 #include "components/safe_browsing/buildflags.h"
+#include "components/safe_browsing/core/features.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/download_manager.h"
@@ -84,9 +85,14 @@
     content::DownloadManager* download_manager) {}
 
 void ServicesDelegateAndroid::StartOnIOThread(
-    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+    scoped_refptr<network::SharedURLLoaderFactory> sb_url_loader_factory,
+    scoped_refptr<network::SharedURLLoaderFactory> browser_url_loader_factory,
     const V4ProtocolConfig& v4_config) {
-  database_manager_->StartOnIOThread(url_loader_factory, v4_config);
+  if (base::FeatureList::IsEnabled(kSafeBrowsingRemoveCookies)) {
+    database_manager_->StartOnIOThread(browser_url_loader_factory, v4_config);
+  } else {
+    database_manager_->StartOnIOThread(sb_url_loader_factory, v4_config);
+  }
 }
 
 void ServicesDelegateAndroid::StopOnIOThread(bool shutdown) {
diff --git a/chrome/browser/safe_browsing/android/services_delegate_android.h b/chrome/browser/safe_browsing/android/services_delegate_android.h
index 3deffea3..9ec31dcc 100644
--- a/chrome/browser/safe_browsing/android/services_delegate_android.h
+++ b/chrome/browser/safe_browsing/android/services_delegate_android.h
@@ -37,7 +37,8 @@
   void AddDownloadManager(content::DownloadManager* download_manager) override;
 
   void StartOnIOThread(
-      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      scoped_refptr<network::SharedURLLoaderFactory> sb_url_loader_factory,
+      scoped_refptr<network::SharedURLLoaderFactory> browser_url_loader_factory,
       const V4ProtocolConfig& v4_config) override;
   void StopOnIOThread(bool shutdown) override;
 
diff --git a/chrome/browser/safe_browsing/certificate_reporting_service_browsertest.cc b/chrome/browser/safe_browsing/certificate_reporting_service_browsertest.cc
index dc94615f..f96e97a 100644
--- a/chrome/browser/safe_browsing/certificate_reporting_service_browsertest.cc
+++ b/chrome/browser/safe_browsing/certificate_reporting_service_browsertest.cc
@@ -38,6 +38,7 @@
 #include "content/public/test/test_utils.h"
 #include "net/dns/mock_host_resolver.h"
 #include "net/test/embedded_test_server/embedded_test_server.h"
+#include "services/network/public/cpp/resource_request.h"
 #include "url/scheme_host_port.h"
 
 using certificate_reporting_test_utils::CertificateReportingServiceTestHelper;
@@ -717,4 +718,29 @@
       2 /* submitted */, 0 /* failed */, 1 /* successful */, 0 /* dropped */);
 }
 
+IN_PROC_BROWSER_TEST_F(CertificateReportingServiceBrowserTest,
+                       OmitsCredentials) {
+  SetExpectedHistogramCountOnTeardown(0);
+
+  certificate_reporting_test_utils::SetCertReportingOptIn(
+      browser(), certificate_reporting_test_utils::EXTENDED_REPORTING_OPT_IN);
+  // Make all reports succeed.
+  test_helper()->SetFailureMode(certificate_reporting_test_utils::
+                                    ReportSendingResult::REPORTS_SUCCESSFUL);
+
+  // Trigger a report
+  std::vector<network::ResourceRequest> full_requests;
+  SendReport("report0");
+  test_helper()->WaitForRequestsDestroyed(
+      ReportExpectation::Successful({{"report0", RetryStatus::NOT_RETRIED}}),
+      nullptr, &full_requests);
+
+  ASSERT_EQ(full_requests.size(), 1u);
+  EXPECT_EQ(full_requests[0].credentials_mode,
+            network::mojom::CredentialsMode::kOmit);
+  // report0 was successfully submitted.
+  event_histogram_tester()->SetExpectedValues(
+      1 /* submitted */, 0 /* failed */, 1 /* successful */, 0 /* dropped */);
+}
+
 }  // namespace safe_browsing
diff --git a/chrome/browser/safe_browsing/certificate_reporting_service_factory.cc b/chrome/browser/safe_browsing/certificate_reporting_service_factory.cc
index b726182..a319d929 100644
--- a/chrome/browser/safe_browsing/certificate_reporting_service_factory.cc
+++ b/chrome/browser/safe_browsing/certificate_reporting_service_factory.cc
@@ -5,12 +5,14 @@
 #include "chrome/browser/safe_browsing/certificate_reporting_service_factory.h"
 
 #include "base/bind_helpers.h"
+#include "base/feature_list.h"
 #include "base/time/default_clock.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/safe_browsing/certificate_reporting_service.h"
 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
 #include "components/keyed_service/content/browser_context_dependency_manager.h"
+#include "components/safe_browsing/core/features.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 
 namespace {
@@ -70,7 +72,7 @@
 
 void CertificateReportingServiceFactory::SetURLLoaderFactoryForTesting(
     scoped_refptr<network::SharedURLLoaderFactory> factory) {
-  url_loader_factory_ = factory;
+  test_url_loader_factory_ = factory;
 }
 
 CertificateReportingServiceFactory::CertificateReportingServiceFactory()
@@ -87,20 +89,27 @@
 CertificateReportingServiceFactory::~CertificateReportingServiceFactory() {}
 
 KeyedService* CertificateReportingServiceFactory::BuildServiceInstanceFor(
-    content::BrowserContext* profile) const {
+    content::BrowserContext* browser_context) const {
   safe_browsing::SafeBrowsingService* safe_browsing_service =
       g_browser_process->safe_browsing_service();
   // In unit tests the safe browsing service can be null, if this happens,
   // return null instead of crashing.
   if (!safe_browsing_service)
     return nullptr;
+  Profile* profile = Profile::FromBrowserContext(browser_context);
+  scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory;
+  if (test_url_loader_factory_.get()) {
+    url_loader_factory = test_url_loader_factory_;
+  } else if (base::FeatureList::IsEnabled(
+                 safe_browsing::kSafeBrowsingRemoveCookies)) {
+    url_loader_factory = profile->GetURLLoaderFactory();
+  } else {
+    url_loader_factory = safe_browsing_service->GetURLLoaderFactory();
+  }
   return new CertificateReportingService(
-      safe_browsing_service,
-      url_loader_factory_.get() ? url_loader_factory_
-                                : safe_browsing_service->GetURLLoaderFactory(),
-      static_cast<Profile*>(profile), server_public_key_,
-      server_public_key_version_, max_queued_report_count_, queued_report_ttl_,
-      clock_, service_reset_callback_);
+      safe_browsing_service, url_loader_factory, static_cast<Profile*>(profile),
+      server_public_key_, server_public_key_version_, max_queued_report_count_,
+      queued_report_ttl_, clock_, service_reset_callback_);
 }
 
 content::BrowserContext*
diff --git a/chrome/browser/safe_browsing/certificate_reporting_service_factory.h b/chrome/browser/safe_browsing/certificate_reporting_service_factory.h
index 5fb3e1ce..5a4810e 100644
--- a/chrome/browser/safe_browsing/certificate_reporting_service_factory.h
+++ b/chrome/browser/safe_browsing/certificate_reporting_service_factory.h
@@ -61,7 +61,7 @@
   base::TimeDelta queued_report_ttl_;
   size_t max_queued_report_count_;
   base::Callback<void()> service_reset_callback_;
-  scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
+  scoped_refptr<network::SharedURLLoaderFactory> test_url_loader_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(CertificateReportingServiceFactory);
 };
diff --git a/chrome/browser/safe_browsing/certificate_reporting_service_test_utils.cc b/chrome/browser/safe_browsing/certificate_reporting_service_test_utils.cc
index b41e194f..5d329ec6 100644
--- a/chrome/browser/safe_browsing/certificate_reporting_service_test_utils.cc
+++ b/chrome/browser/safe_browsing/certificate_reporting_service_test_utils.cc
@@ -16,6 +16,7 @@
 #include "content/public/test/test_utils.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "net/http/http_response_headers.h"
+#include "services/network/public/cpp/resource_request.h"
 #include "services/network/public/mojom/url_response_head.mojom.h"
 #include "services/network/test/test_utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -50,13 +51,16 @@
 void WaitReports(
     certificate_reporting_test_utils::RequestObserver* observer,
     const certificate_reporting_test_utils::ReportExpectation& expectation,
-    std::vector<std::string>* full_reports) {
+    std::vector<std::string>* full_reports,
+    std::vector<network::ResourceRequest>* full_requests) {
   observer->Wait(expectation.num_reports());
   EXPECT_EQ(expectation.successful_reports, observer->successful_reports());
   EXPECT_EQ(expectation.failed_reports, observer->failed_reports());
   EXPECT_EQ(expectation.delayed_reports, observer->delayed_reports());
   if (full_reports)
     *full_reports = observer->full_reports();
+  if (full_requests)
+    *full_requests = observer->full_requests();
   observer->ClearObservedReports();
 }
 
@@ -88,13 +92,15 @@
   }
 }
 
-void RequestObserver::OnRequest(const std::string& serialized_report,
+void RequestObserver::OnRequest(const network::ResourceRequest& url_request,
+                                const std::string& serialized_report,
                                 ReportSendingResult report_type) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   CertificateErrorReport report;
   EXPECT_TRUE(report.InitializeFromString(serialized_report));
 
   full_reports_.push_back(serialized_report);
+  full_requests_.push_back(url_request);
 
   switch (report_type) {
     case REPORTS_SUCCESSFUL:
@@ -143,6 +149,11 @@
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   return full_reports_;
 }
+const std::vector<network::ResourceRequest>& RequestObserver::full_requests()
+    const {
+  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+  return full_requests_;
+}
 
 void RequestObserver::ClearObservedReports() {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
@@ -150,6 +161,7 @@
   failed_reports_.clear();
   delayed_reports_.clear();
   full_reports_.clear();
+  full_requests_.clear();
 }
 
 ReportExpectation::ReportExpectation() {}
@@ -228,7 +240,8 @@
   EXPECT_EQ(REPORTS_DELAY, expected_report_result_);
   if (delayed_client_) {
     SendResponse(std::move(delayed_client_), delayed_result_ == REPORTS_FAIL);
-    request_destroyed_observer_.OnRequest(delayed_report_, delayed_result_);
+    request_destroyed_observer_.OnRequest(delayed_request_, delayed_report_,
+                                          delayed_result_);
   }
 }
 
@@ -243,24 +256,28 @@
 
 void CertificateReportingServiceTestHelper::WaitForRequestsCreated(
     const ReportExpectation& expectation) {
-  WaitReports(&request_created_observer_, expectation, nullptr);
+  WaitReports(&request_created_observer_, expectation, nullptr, nullptr);
 }
 
 void CertificateReportingServiceTestHelper::WaitForRequestsCreated(
     const ReportExpectation& expectation,
-    std::vector<std::string>* full_reports) {
-  WaitReports(&request_created_observer_, expectation, full_reports);
+    std::vector<std::string>* full_reports,
+    std::vector<network::ResourceRequest>* full_requests) {
+  WaitReports(&request_created_observer_, expectation, full_reports,
+              full_requests);
 }
 
 void CertificateReportingServiceTestHelper::WaitForRequestsDestroyed(
     const ReportExpectation& expectation) {
-  WaitReports(&request_destroyed_observer_, expectation, nullptr);
+  WaitReports(&request_destroyed_observer_, expectation, nullptr, nullptr);
 }
 
 void CertificateReportingServiceTestHelper::WaitForRequestsDestroyed(
     const ReportExpectation& expectation,
-    std::vector<std::string>* full_reports) {
-  WaitReports(&request_destroyed_observer_, expectation, full_reports);
+    std::vector<std::string>* full_reports,
+    std::vector<network::ResourceRequest>* full_requests) {
+  WaitReports(&request_destroyed_observer_, expectation, full_reports,
+              full_requests);
 }
 
 void CertificateReportingServiceTestHelper::ExpectNoRequests(
@@ -308,12 +325,12 @@
     const net::MutableNetworkTrafficAnnotationTag& traffic_annotation) {
   const std::string serialized_report =
       GetReportContents(url_request, server_private_key_);
-  request_created_observer_.OnRequest(serialized_report,
+  request_created_observer_.OnRequest(url_request, serialized_report,
                                       expected_report_result_);
 
   if (expected_report_result_ == REPORTS_FAIL) {
     SendResponse(std::move(client), true);
-    request_destroyed_observer_.OnRequest(serialized_report,
+    request_destroyed_observer_.OnRequest(url_request, serialized_report,
                                           expected_report_result_);
     return;
   }
@@ -322,12 +339,13 @@
     DCHECK(!delayed_client_) << "Supports only one delayed request at a time";
     delayed_client_ = std::move(client);
     delayed_report_ = serialized_report;
+    delayed_request_ = url_request;
     delayed_result_ = expected_report_result_;
     return;
   }
 
   SendResponse(std::move(client), false);
-  request_destroyed_observer_.OnRequest(serialized_report,
+  request_destroyed_observer_.OnRequest(url_request, serialized_report,
                                         expected_report_result_);
 }
 
diff --git a/chrome/browser/safe_browsing/certificate_reporting_service_test_utils.h b/chrome/browser/safe_browsing/certificate_reporting_service_test_utils.h
index b5e43ab..09cef82 100644
--- a/chrome/browser/safe_browsing/certificate_reporting_service_test_utils.h
+++ b/chrome/browser/safe_browsing/certificate_reporting_service_test_utils.h
@@ -15,6 +15,7 @@
 #include "content/public/test/browser_task_environment.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
+#include "services/network/public/cpp/resource_request.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 #include "services/network/public/mojom/url_loader.mojom-forward.h"
 
@@ -74,7 +75,8 @@
 
   // Called when a request created or destroyed, depending on whichever one this
   // class observes.
-  void OnRequest(const std::string& serialized_report,
+  void OnRequest(const network::ResourceRequest& url_request,
+                 const std::string& serialized_report,
                  ReportSendingResult report_type);
 
   // These must be called on the UI thread.
@@ -82,6 +84,7 @@
   const ObservedReportMap& failed_reports() const;
   const ObservedReportMap& delayed_reports() const;
   const std::vector<std::string>& full_reports() const;
+  const std::vector<network::ResourceRequest>& full_requests() const;
   void ClearObservedReports();
 
  private:
@@ -94,6 +97,7 @@
   ObservedReportMap delayed_reports_;
 
   std::vector<std::string> full_reports_;
+  std::vector<network::ResourceRequest> full_requests_;
 };
 
 // Class to wait for the CertificateReportingService to reset.
@@ -130,11 +134,15 @@
   void ResumeDelayedRequest();
 
   void WaitForRequestsCreated(const ReportExpectation& expectation);
-  void WaitForRequestsCreated(const ReportExpectation& expectation,
-                              std::vector<std::string>* full_reports);
+  void WaitForRequestsCreated(
+      const ReportExpectation& expectation,
+      std::vector<std::string>* full_reports,
+      std::vector<network::ResourceRequest>* full_requests);
   void WaitForRequestsDestroyed(const ReportExpectation& expectation);
-  void WaitForRequestsDestroyed(const ReportExpectation& expectation,
-                                std::vector<std::string>* full_reports);
+  void WaitForRequestsDestroyed(
+      const ReportExpectation& expectation,
+      std::vector<std::string>* full_reports,
+      std::vector<network::ResourceRequest>* full_requests);
 
   // Checks that all requests are destroyed and that there are no in-flight
   // reports in |service|.
@@ -168,6 +176,7 @@
 
   mojo::PendingRemote<network::mojom::URLLoaderClient> delayed_client_;
   std::string delayed_report_;
+  network::ResourceRequest delayed_request_;
   ReportSendingResult delayed_result_;
 
   RequestObserver request_created_observer_;
diff --git a/chrome/browser/safe_browsing/chrome_enterprise_url_lookup_service_unittest.cc b/chrome/browser/safe_browsing/chrome_enterprise_url_lookup_service_unittest.cc
index d4722a7..50b3e54c 100644
--- a/chrome/browser/safe_browsing/chrome_enterprise_url_lookup_service_unittest.cc
+++ b/chrome/browser/safe_browsing/chrome_enterprise_url_lookup_service_unittest.cc
@@ -143,7 +143,8 @@
 
   // |request_callback| should not be called if the verdict is already cached.
   EXPECT_CALL(request_callback, Run(_, _)).Times(0);
-  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true, _));
+  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true,
+                                     /* is_cached_response */ true, _));
 
   task_environment_.RunUntilIdle();
 }
@@ -174,7 +175,8 @@
           }),
       response_callback.Get());
 
-  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true, _));
+  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true,
+                                     /* is_cached_response */ false, _));
 
   task_environment_.RunUntilIdle();
 
diff --git a/chrome/browser/safe_browsing/safe_browsing_service.cc b/chrome/browser/safe_browsing/safe_browsing_service.cc
index 9912863b..3bbba59b 100644
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc
@@ -297,7 +297,9 @@
 
 void SafeBrowsingService::StartOnIOThread(
     std::unique_ptr<network::PendingSharedURLLoaderFactory>
-        url_loader_factory) {
+        sb_url_loader_factory,
+    std::unique_ptr<network::PendingSharedURLLoaderFactory>
+        browser_url_loader_factory) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   if (enabled_)
     return;
@@ -307,7 +309,9 @@
   V4ProtocolConfig v4_config = GetV4ProtocolConfig();
 
   services_delegate_->StartOnIOThread(
-      network::SharedURLLoaderFactory::Create(std::move(url_loader_factory)),
+      network::SharedURLLoaderFactory::Create(std::move(sb_url_loader_factory)),
+      network::SharedURLLoaderFactory::Create(
+          std::move(browser_url_loader_factory)),
       v4_config);
 }
 
@@ -331,7 +335,9 @@
       base::BindOnce(
           &SafeBrowsingService::StartOnIOThread, this,
           std::make_unique<network::CrossThreadPendingSharedURLLoaderFactory>(
-              GetURLLoaderFactory())));
+              GetURLLoaderFactory()),
+          std::make_unique<network::CrossThreadPendingSharedURLLoaderFactory>(
+              g_browser_process->shared_url_loader_factory())));
 }
 
 void SafeBrowsingService::Stop(bool shutdown) {
diff --git a/chrome/browser/safe_browsing/safe_browsing_service.h b/chrome/browser/safe_browsing/safe_browsing_service.h
index 7a9faf1..9dfec72 100644
--- a/chrome/browser/safe_browsing/safe_browsing_service.h
+++ b/chrome/browser/safe_browsing/safe_browsing_service.h
@@ -223,10 +223,16 @@
 
   void SetDatabaseManagerForTest(SafeBrowsingDatabaseManager* database_manager);
 
-  // Called to initialize objects that are used on the io_thread.  This may be
+  // Called to initialize objects that are used on the io_thread. This may be
   // called multiple times during the life of the SafeBrowsingService.
+  // |sb_url_loader_factory| is a SharedURLLoaderFactory attached to the Safe
+  // Browsing NetworkContexts, and |browser_url_loader_factory| is attached to
+  // the global browser process.
+  // TODO(crbug.com/1049833): Remove the sb_url_loader_factory here.
   void StartOnIOThread(std::unique_ptr<network::PendingSharedURLLoaderFactory>
-                           url_loader_factory);
+                           sb_url_loader_factory,
+                       std::unique_ptr<network::PendingSharedURLLoaderFactory>
+                           browser_url_loader_factory);
 
   // Called to stop or shutdown operations on the io_thread. This may be called
   // multiple times to stop during the life of the SafeBrowsingService. If
diff --git a/chrome/browser/safe_browsing/services_delegate.h b/chrome/browser/safe_browsing/services_delegate.h
index 84e2640a..f37cb7f 100644
--- a/chrome/browser/safe_browsing/services_delegate.h
+++ b/chrome/browser/safe_browsing/services_delegate.h
@@ -118,8 +118,12 @@
 #if !defined(OS_ANDROID)
   virtual DownloadProtectionService* GetDownloadService() = 0;
 #endif
+
+  // Takes a SharedURLLoaderFactory with the Safe Browsing NetworkContext and
+  // one from the BrowserProcess.
   virtual void StartOnIOThread(
-      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      scoped_refptr<network::SharedURLLoaderFactory> sb_url_loader_factory,
+      scoped_refptr<network::SharedURLLoaderFactory> browser_url_loader_factory,
       const V4ProtocolConfig& v4_config) = 0;
   virtual void StopOnIOThread(bool shutdown) = 0;
 
diff --git a/chrome/browser/safe_browsing/services_delegate_desktop.cc b/chrome/browser/safe_browsing/services_delegate_desktop.cc
index 3c8d6c5a..e576bb2c 100644
--- a/chrome/browser/safe_browsing/services_delegate_desktop.cc
+++ b/chrome/browser/safe_browsing/services_delegate_desktop.cc
@@ -10,6 +10,7 @@
 #include "base/command_line.h"
 #include "base/memory/ptr_util.h"
 #include "base/strings/string_util.h"
+#include "chrome/browser/browser_process.h"
 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
 #include "chrome/browser/history/history_service_factory.h"
 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
@@ -18,6 +19,7 @@
 #include "components/keyed_service/core/service_access_type.h"
 #include "components/safe_browsing/buildflags.h"
 #include "components/safe_browsing/core/db/v4_local_database_manager.h"
+#include "components/safe_browsing/core/features.h"
 #include "components/safe_browsing/core/verdict_cache_manager.h"
 #include "content/public/browser/browser_thread.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
@@ -168,9 +170,14 @@
 }
 
 void ServicesDelegateDesktop::StartOnIOThread(
-    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+    scoped_refptr<network::SharedURLLoaderFactory> sb_url_loader_factory,
+    scoped_refptr<network::SharedURLLoaderFactory> browser_url_loader_factory,
     const V4ProtocolConfig& v4_config) {
-  database_manager_->StartOnIOThread(url_loader_factory, v4_config);
+  if (base::FeatureList::IsEnabled(kSafeBrowsingRemoveCookies)) {
+    database_manager_->StartOnIOThread(browser_url_loader_factory, v4_config);
+  } else {
+    database_manager_->StartOnIOThread(sb_url_loader_factory, v4_config);
+  }
 }
 
 void ServicesDelegateDesktop::StopOnIOThread(bool shutdown) {
diff --git a/chrome/browser/safe_browsing/services_delegate_desktop.h b/chrome/browser/safe_browsing/services_delegate_desktop.h
index 89d0067a..52a2a75 100644
--- a/chrome/browser/safe_browsing/services_delegate_desktop.h
+++ b/chrome/browser/safe_browsing/services_delegate_desktop.h
@@ -45,7 +45,8 @@
   DownloadProtectionService* GetDownloadService() override;
 
   void StartOnIOThread(
-      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      scoped_refptr<network::SharedURLLoaderFactory> sb_url_loader_factory,
+      scoped_refptr<network::SharedURLLoaderFactory> browser_url_loader_factory,
       const V4ProtocolConfig& v4_config) override;
   void StopOnIOThread(bool shutdown) override;
 
diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java b/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java
index fae1534..d938500 100644
--- a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java
+++ b/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java
@@ -360,6 +360,9 @@
     @Override
     public void onCompromisedCredentialFound(CompromisedCredential leakedCredential) {}
 
+    @Override
+    public void onPasswordCheckProgressChanged(int alreadyProcessed, int remainingInQueue) {}
+
     /** Cancels any pending callbacks and registered observers.  */
     public void destroy() {
         cancelCallbacks();
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotCoordinator.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotCoordinator.java
index fb6ee1f..f1a090ea8 100644
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotCoordinator.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotCoordinator.java
@@ -66,7 +66,7 @@
             launchEditor();
         } else if (sInstallAttempts < MAX_INSTALL_ATTEMPTS) {
             sInstallAttempts++;
-            installEditor(true);
+            installEditor(true, /* onSuccessRunnable= */ null);
         } else {
             launchSharesheet();
         }
@@ -95,17 +95,19 @@
 
     /**
      * Runnable friendly helper function to retry the installation after going to the fallback.
+     * @param onSuccess. Runnable to run on success.
      */
-    protected void retryInstallEditor() {
-        installEditor(false);
+    protected void retryInstallEditor(Runnable onSuccess) {
+        installEditor(false, onSuccess);
     }
 
     /**
      * Installs the DFM and shows UI (i.e. toasts and a retry dialog) informing the
      * user of the installation status.
      * @param showFallback The fallback will be shown on a unsuccessful installation.
+     * @param onSuccessRunnable the runnable to run on a succesfful install.
      */
-    private void installEditor(boolean showFallback) {
+    private void installEditor(boolean showFallback, Runnable onSuccessRunnable) {
         final ModuleInstallUi ui = new ModuleInstallUi(
                 mTab, R.string.image_editor_module_title, new ModuleInstallUi.FailureUiListener() {
                     @Override
@@ -113,7 +115,7 @@
                         if (retry) {
                             // User initiated retries are not counted toward the maximum number
                             // of install attempts per session.
-                            installEditor(showFallback);
+                            installEditor(showFallback, onSuccessRunnable);
                         } else if (showFallback) {
                             launchSharesheet();
                         }
@@ -124,6 +126,9 @@
         ImageEditorModuleProvider.maybeInstallModule((success) -> {
             if (success) {
                 ui.showInstallSuccessUi();
+                if (onSuccessRunnable != null) {
+                    onSuccessRunnable.run();
+                }
                 launchEditor();
             } else if (showFallback) {
                 launchSharesheet();
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetCoordinator.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetCoordinator.java
index 9f960fb..8d713d7 100644
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetCoordinator.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetCoordinator.java
@@ -7,6 +7,7 @@
 import android.content.Context;
 import android.graphics.Bitmap;
 
+import org.chromium.base.Callback;
 import org.chromium.chrome.browser.share.share_sheet.ChromeOptionShareCallback;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.ui.modelutil.PropertyKey;
@@ -33,11 +34,11 @@
      * @param screenshotShareSheetView the view for the screenshot share sheet.
      * @param tab The tab that launched this screenshot.
      * @param shareSheetCallback The callback to be called on share.
-     * @param deleteRunanble The runnable to be called on retry.
+     * @param installCallback The callback to be called on retry.
      */
     public ScreenshotShareSheetCoordinator(Context context, Bitmap screenshot,
             Runnable deleteRunnable, ScreenshotShareSheetView screenshotShareSheetView, Tab tab,
-            ChromeOptionShareCallback shareSheetCallback, Runnable installCallback) {
+            ChromeOptionShareCallback shareSheetCallback, Callback<Runnable> installCallback) {
         ArrayList<PropertyKey> allProperties =
                 new ArrayList<>(Arrays.asList(ScreenshotShareSheetViewProperties.ALL_KEYS));
         mModel = new PropertyModel(allProperties);
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetDialog.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetDialog.java
index 8a7649cd..426dd4c2 100644
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetDialog.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetDialog.java
@@ -12,6 +12,7 @@
 
 import androidx.appcompat.app.AlertDialog;
 
+import org.chromium.base.Callback;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.share.share_sheet.ChromeOptionShareCallback;
 import org.chromium.chrome.browser.tab.Tab;
@@ -23,10 +24,9 @@
     private Context mContext;
     private ScreenshotShareSheetView mDialogView;
     private Bitmap mScreenshot;
-    private Runnable mDeleteRunnable;
     private Tab mTab;
-    private ChromeOptionShareCallback mShareCallback;
-    private Runnable mInstallCallback;
+    private ChromeOptionShareCallback mChromeOptionShareCallback;
+    private Callback<Runnable> mInstallCallback;
 
     /**
      * The ScreenshotShareSheetDialog constructor.
@@ -36,17 +36,17 @@
     /**
      * Initialize the dialog outside of the constructor as fragments require default constructor.
      * @param screenshot The screenshot image to show.
-     * @param deleteRunnable The function to call on delete.
      * @param tab The shared tab.
-     * @param shareSheetCoordnator the base share sheet coordinator
+     * @param chromeOptionShareCallback the callback to trigger on share.
+     * @param installCallback the callback to trigger on install.
      */
-    public void init(Bitmap screenshot, Runnable deleteRunnable, Tab tab,
-            ChromeOptionShareCallback shareSheetCallback, Runnable installCallback) {
+    public void init(Bitmap screenshot, Tab tab,
+            ChromeOptionShareCallback chromeOptionShareCallback,
+            Callback<Runnable> installCallback) {
         mScreenshot = screenshot;
-        mDeleteRunnable = deleteRunnable;
         mInstallCallback = installCallback;
         mTab = tab;
-        mShareCallback = shareSheetCallback;
+        mChromeOptionShareCallback = chromeOptionShareCallback;
     }
 
     @Override
@@ -64,9 +64,9 @@
                         R.layout.screenshot_share_sheet, null);
         builder.setView(screenshotShareSheetView);
 
-        ScreenshotShareSheetCoordinator shareCoordinator =
-                new ScreenshotShareSheetCoordinator(mContext, mScreenshot, mDeleteRunnable,
-                        screenshotShareSheetView, mTab, mShareCallback, mInstallCallback);
+        ScreenshotShareSheetCoordinator shareCoordinator = new ScreenshotShareSheetCoordinator(
+                mContext, mScreenshot, this::dismiss, screenshotShareSheetView, mTab,
+                mChromeOptionShareCallback, mInstallCallback);
         return builder.create();
     }
 }
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetDialogCoordinator.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetDialogCoordinator.java
index aa70bba..79b5f12 100644
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetDialogCoordinator.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetDialogCoordinator.java
@@ -8,6 +8,7 @@
 import android.app.FragmentManager;
 import android.graphics.Bitmap;
 
+import org.chromium.base.Callback;
 import org.chromium.chrome.browser.share.share_sheet.ChromeOptionShareCallback;
 import org.chromium.chrome.browser.tab.Tab;
 /**
@@ -23,13 +24,17 @@
      *
      * @param context The context to use for user permissions.
      * @param screenshot The screenshot to be shared.
+     * @param tab The shared tab.
+     * @param chromeOptionShareCallback the callback to trigger on share.
+     * @param installCallback the callback to trigger on install.
      */
     public ScreenshotShareSheetDialogCoordinator(Activity activity, Bitmap screenshot, Tab tab,
-            ChromeOptionShareCallback shareCallback, Runnable installCallback) {
+            ChromeOptionShareCallback chromeOptionShareCallback,
+            Callback<Runnable> installCallback) {
         mFragmentManager = activity.getFragmentManager();
         mScreenshot = screenshot;
         mDialog = new ScreenshotShareSheetDialog();
-        mDialog.init(mScreenshot, this::dismiss, tab, shareCallback, installCallback);
+        mDialog.init(mScreenshot, tab, chromeOptionShareCallback, installCallback);
     }
 
     /**
@@ -38,11 +43,4 @@
     protected void showShareSheet() {
         mDialog.show(mFragmentManager, null);
     }
-
-    /**
-     * Dismiss the main dialog.
-     */
-    public void dismiss() {
-        mDialog.dismiss();
-    }
 }
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediator.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediator.java
index b6dbed81..a6a0655 100644
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediator.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediator.java
@@ -26,8 +26,8 @@
     private final PropertyModel mModel;
     private final Context mContext;
     private final Runnable mSaveRunnable;
-    private final Runnable mDeleteRunnable;
-    private final Runnable mInstallRunnable;
+    private final Runnable mCloseDialogRunnable;
+    private final Callback<Runnable> mInstallCallback;
     private final ChromeOptionShareCallback mChromeOptionShareCallback;
 
     private final Tab mTab;
@@ -36,22 +36,24 @@
      * The ScreenshotShareSheetMediator constructor.
      * @param context The context to use.
      * @param propertyModel The property model to use to communicate with views.
-     * @param deleteRunnable The action to take when cancel or delete is called.
+     * @param closeDialogRunnable The action to take to close the dialog.
      * @param saveRunnable The action to take when save is called.
      * @param tab The tab that originated this screenshot.
      * @param chromeOptionShareCallback The callback to share a screenshot via the share sheet.
-     * @param installRunnable The action to take when install is called.
+     * @param installCallback The action to take when install is called, will call runnable on
+     *         success.
      */
     ScreenshotShareSheetMediator(Context context, PropertyModel propertyModel,
-            Runnable deleteRunnable, Runnable saveRunnable, Tab tab,
-            ChromeOptionShareCallback chromeOptionShareCallback, Runnable installRunnable) {
-        mDeleteRunnable = deleteRunnable;
+            Runnable closeDialogRunnable, Runnable saveRunnable, Tab tab,
+            ChromeOptionShareCallback chromeOptionShareCallback,
+            Callback<Runnable> installCallback) {
+        mCloseDialogRunnable = closeDialogRunnable;
         mSaveRunnable = saveRunnable;
         mContext = context;
         mModel = propertyModel;
         mTab = tab;
         mChromeOptionShareCallback = chromeOptionShareCallback;
-        mInstallRunnable = installRunnable;
+        mInstallCallback = installCallback;
         mModel.set(ScreenshotShareSheetViewProperties.NO_ARG_OPERATION_LISTENER,
                 operation -> { performNoArgOperation(operation); });
     }
@@ -67,11 +69,11 @@
             share();
         } else if (NoArgOperation.SAVE == operation) {
             mSaveRunnable.run();
-            mDeleteRunnable.run();
+            mCloseDialogRunnable.run();
         } else if (NoArgOperation.DELETE == operation) {
-            mDeleteRunnable.run();
+            mCloseDialogRunnable.run();
         } else if (NoArgOperation.INSTALL == operation) {
-            mInstallRunnable.run();
+            mInstallCallback.onResult(mCloseDialogRunnable);
         }
     }
 
@@ -102,7 +104,7 @@
         };
 
         generateTemporaryUriFromBitmap(mContext, title, bitmap, callback);
-        mDeleteRunnable.run();
+        mCloseDialogRunnable.run();
     }
 
     protected void generateTemporaryUriFromBitmap(
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
index ee8ac5d..a807ffd 100644
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
@@ -9,6 +9,7 @@
 import android.content.ClipboardManager;
 import android.content.Context;
 import android.text.TextUtils;
+import android.view.View;
 
 import androidx.appcompat.content.res.AppCompatResources;
 
@@ -96,21 +97,60 @@
     /**
      * Encapsulates a {@link PropertyModel} and the {@link ContentType}s it should be shown for.
      */
-    private static class FirstPartyOption {
-        private final PropertyModel mPropertyModel;
-        private final Collection<Integer> mContentTypes;
+    private class FirstPartyOption {
+        final Collection<Integer> mContentTypes;
+        final PropertyModel mPropertyModel;
 
-        FirstPartyOption(PropertyModel propertyModel, Collection<Integer> contentTypes) {
-            mPropertyModel = propertyModel;
+        /**
+         * Should only be used when the default property model constructed in the builder does not
+         * fit the feature's needs. This should be rare.
+         *
+         * @param model Property model for the first party option.
+         * @param contentTypes Content types to trigger for.
+         */
+        FirstPartyOption(PropertyModel model, Collection<Integer> contentTypes) {
+            mPropertyModel = model;
             mContentTypes = contentTypes;
         }
+    }
 
-        PropertyModel getPropertyModel() {
-            return mPropertyModel;
+    private class FirstPartyOptionBuilder {
+        private int mIcon;
+        private int mIconLabel;
+        private String mFeatureNameForMetrics;
+        private Callback<View> mOnClickCallback;
+        private final Integer[] mContentTypesInBuilder;
+
+        FirstPartyOptionBuilder(Integer... contentTypes) {
+            mContentTypesInBuilder = contentTypes;
         }
 
-        Collection<Integer> getContentTypes() {
-            return mContentTypes;
+        FirstPartyOptionBuilder setIcon(int icon, int iconLabel) {
+            mIcon = icon;
+            mIconLabel = iconLabel;
+            return this;
+        }
+
+        FirstPartyOptionBuilder setFeatureNameForMetrics(String featureName) {
+            mFeatureNameForMetrics = featureName;
+            return this;
+        }
+
+        FirstPartyOptionBuilder setOnClickCallback(Callback<View> onClickCallback) {
+            mOnClickCallback = onClickCallback;
+            return this;
+        }
+
+        FirstPartyOption build() {
+            PropertyModel model = ShareSheetPropertyModelBuilder.createPropertyModel(
+                    AppCompatResources.getDrawable(mActivity, mIcon),
+                    mActivity.getResources().getString(mIconLabel), (view) -> {
+                        RecordUserAction.record(mFeatureNameForMetrics);
+                        recordTimeToShare(mShareStartTime);
+                        mBottomSheetController.hideContent(mBottomSheetContent, true);
+                        mOnClickCallback.onResult(view);
+                    });
+            return new FirstPartyOption(model, Arrays.asList(mContentTypesInBuilder));
         }
     }
 
@@ -124,8 +164,8 @@
     List<PropertyModel> getPropertyModels(Set<Integer> contentTypes) {
         List<PropertyModel> propertyModels = new ArrayList<>();
         for (FirstPartyOption firstPartyOption : mOrderedFirstPartyOptions) {
-            if (!Collections.disjoint(contentTypes, firstPartyOption.getContentTypes())) {
-                propertyModels.add(firstPartyOption.getPropertyModel());
+            if (!Collections.disjoint(contentTypes, firstPartyOption.mContentTypes)) {
+                propertyModels.add(firstPartyOption.mPropertyModel);
             }
         }
         return propertyModels;
@@ -195,62 +235,53 @@
     }
 
     private FirstPartyOption createCopyLinkFirstPartyOption() {
-        PropertyModel propertyModel = ShareSheetPropertyModelBuilder.createPropertyModel(
-                AppCompatResources.getDrawable(mActivity, R.drawable.ic_content_copy_black),
-                mActivity.getResources().getString(R.string.sharing_copy_url), (view) -> {
-                    RecordUserAction.record("SharingHubAndroid.CopyURLSelected");
-                    recordTimeToShare(mShareStartTime);
-                    mBottomSheetController.hideContent(mBottomSheetContent, true);
+        return new FirstPartyOptionBuilder(
+                ContentType.LINK_PAGE_VISIBLE, ContentType.LINK_PAGE_NOT_VISIBLE)
+                .setIcon(R.drawable.ic_content_copy_black, R.string.sharing_copy_url)
+                .setFeatureNameForMetrics("SharingHubAndroid.CopyURLSelected")
+                .setOnClickCallback((view) -> {
                     ClipboardManager clipboard = (ClipboardManager) mActivity.getSystemService(
                             Context.CLIPBOARD_SERVICE);
                     clipboard.setPrimaryClip(
                             ClipData.newPlainText(mShareParams.getTitle(), mShareParams.getUrl()));
                     Toast.makeText(mActivity, R.string.link_copied, Toast.LENGTH_SHORT).show();
-                });
-        return new FirstPartyOption(propertyModel,
-                Arrays.asList(ContentType.LINK_PAGE_VISIBLE, ContentType.LINK_PAGE_NOT_VISIBLE));
+                })
+                .build();
     }
 
     private FirstPartyOption createCopyImageFirstPartyOption() {
-        PropertyModel propertyModel = ShareSheetPropertyModelBuilder.createPropertyModel(
-                AppCompatResources.getDrawable(mActivity, R.drawable.ic_content_copy_black),
-                mActivity.getResources().getString(R.string.sharing_copy_image), (view) -> {
-                    RecordUserAction.record("SharingHubAndroid.CopyImageSelected");
-                    recordTimeToShare(mShareStartTime);
-                    mBottomSheetController.hideContent(mBottomSheetContent, true);
+        return new FirstPartyOptionBuilder(ContentType.IMAGE)
+                .setIcon(R.drawable.ic_content_copy_black, R.string.sharing_copy_image)
+                .setFeatureNameForMetrics("SharingHubAndroid.CopyImageSelected")
+                .setOnClickCallback((view) -> {
                     if (!mShareParams.getFileUris().isEmpty()) {
                         Clipboard.getInstance().setImageUri(mShareParams.getFileUris().get(0));
                         Toast.makeText(mActivity, R.string.image_copied, Toast.LENGTH_SHORT).show();
                     }
-                });
-        return new FirstPartyOption(propertyModel, Arrays.asList(ContentType.IMAGE));
+                })
+                .build();
     }
 
     private FirstPartyOption createCopyTextFirstPartyOption() {
-        PropertyModel propertyModel = ShareSheetPropertyModelBuilder.createPropertyModel(
-                AppCompatResources.getDrawable(mActivity, R.drawable.ic_content_copy_black),
-                mActivity.getResources().getString(R.string.sharing_copy_text), (view) -> {
-                    RecordUserAction.record("SharingHubAndroid.CopyTextSelected");
-                    recordTimeToShare(mShareStartTime);
-                    mBottomSheetController.hideContent(mBottomSheetContent, true);
+        return new FirstPartyOptionBuilder(ContentType.TEXT, ContentType.HIGHLIGHTED_TEXT)
+                .setIcon(R.drawable.ic_content_copy_black, R.string.sharing_copy_text)
+                .setFeatureNameForMetrics("SharingHubAndroid.CopyTextSelected")
+                .setOnClickCallback((view) -> {
                     ClipboardManager clipboard = (ClipboardManager) mActivity.getSystemService(
                             Context.CLIPBOARD_SERVICE);
                     clipboard.setPrimaryClip(
                             ClipData.newPlainText(mShareParams.getTitle(), mShareParams.getText()));
                     Toast.makeText(mActivity, R.string.text_copied, Toast.LENGTH_SHORT).show();
-                });
-        return new FirstPartyOption(
-                propertyModel, Arrays.asList(ContentType.TEXT, ContentType.HIGHLIGHTED_TEXT));
+                })
+                .build();
     }
 
     private FirstPartyOption createSendTabToSelfFirstPartyOption() {
-        PropertyModel propertyModel = ShareSheetPropertyModelBuilder.createPropertyModel(
-                AppCompatResources.getDrawable(mActivity, R.drawable.send_tab),
-                mActivity.getResources().getString(R.string.send_tab_to_self_share_activity_title),
-                (view) -> {
-                    RecordUserAction.record("SharingHubAndroid.SendTabToSelfSelected");
-                    recordTimeToShare(mShareStartTime);
-                    mBottomSheetController.hideContent(mBottomSheetContent, true);
+        return new FirstPartyOptionBuilder(
+                ContentType.LINK_PAGE_VISIBLE, ContentType.LINK_PAGE_NOT_VISIBLE, ContentType.IMAGE)
+                .setIcon(R.drawable.send_tab, R.string.send_tab_to_self_share_activity_title)
+                .setFeatureNameForMetrics("SharingHubAndroid.SendTabToSelfSelected")
+                .setOnClickCallback((view) -> {
                     SendTabToSelfShareActivity.actionHandler(mActivity, mUrl,
                             mShareParams.getTitle(),
                             mTabProvider.get()
@@ -259,54 +290,41 @@
                                     .getVisibleEntry()
                                     .getTimestamp(),
                             mBottomSheetController);
-                });
-        return new FirstPartyOption(propertyModel,
-                Arrays.asList(ContentType.LINK_PAGE_VISIBLE, ContentType.LINK_PAGE_NOT_VISIBLE,
-                        ContentType.IMAGE));
+                })
+                .build();
     }
 
     private FirstPartyOption createQrCodeFirstPartyOption() {
-        PropertyModel propertyModel = ShareSheetPropertyModelBuilder.createPropertyModel(
-                AppCompatResources.getDrawable(mActivity, R.drawable.qr_code),
-                mActivity.getResources().getString(R.string.qr_code_share_icon_label), (view) -> {
-                    RecordUserAction.record("SharingHubAndroid.QRCodeSelected");
-                    recordTimeToShare(mShareStartTime);
-                    mBottomSheetController.hideContent(mBottomSheetContent, true);
+        return new FirstPartyOptionBuilder(
+                ContentType.LINK_PAGE_VISIBLE, ContentType.LINK_PAGE_NOT_VISIBLE, ContentType.IMAGE)
+                .setIcon(R.drawable.qr_code, R.string.qr_code_share_icon_label)
+                .setFeatureNameForMetrics("SharingHubAndroid.QRCodeSelected")
+                .setOnClickCallback((view) -> {
                     QrCodeCoordinator qrCodeCoordinator = new QrCodeCoordinator(mActivity, mUrl);
                     qrCodeCoordinator.show();
-                });
-        return new FirstPartyOption(propertyModel,
-                Arrays.asList(ContentType.LINK_PAGE_VISIBLE, ContentType.LINK_PAGE_NOT_VISIBLE,
-                        ContentType.IMAGE));
+                })
+                .build();
     }
 
     private FirstPartyOption createPrintingFirstPartyOption() {
-        PropertyModel propertyModel = ShareSheetPropertyModelBuilder.createPropertyModel(
-                AppCompatResources.getDrawable(mActivity, R.drawable.sharing_print),
-                mActivity.getResources().getString(R.string.print_share_activity_title), (view) -> {
-                    RecordUserAction.record("SharingHubAndroid.PrintSelected");
-                    recordTimeToShare(mShareStartTime);
-                    mBottomSheetController.hideContent(mBottomSheetContent, true);
-                    mPrintTabCallback.onResult(mTabProvider.get());
-                });
-        return new FirstPartyOption(
-                propertyModel, Collections.singleton(ContentType.LINK_PAGE_VISIBLE));
+        return new FirstPartyOptionBuilder(ContentType.LINK_PAGE_VISIBLE)
+                .setIcon(R.drawable.sharing_print, R.string.print_share_activity_title)
+                .setFeatureNameForMetrics("SharingHubAndroid.PrintSelected")
+                .setOnClickCallback((view) -> { mPrintTabCallback.onResult(mTabProvider.get()); })
+                .build();
     }
 
     private FirstPartyOption createHighlightsFirstPartyOption() {
-        PropertyModel propertyModel = ShareSheetPropertyModelBuilder.createPropertyModel(
-                AppCompatResources.getDrawable(mActivity, R.drawable.link),
-                mActivity.getResources().getString(R.string.sharing_highlights),
-                (currentActivity) -> {
-                    RecordUserAction.record("SharingHubAndroid.LinkToTextSelected");
-                    recordTimeToShare(mShareStartTime);
+        return new FirstPartyOptionBuilder(ContentType.HIGHLIGHTED_TEXT)
+                .setIcon(R.drawable.link, R.string.sharing_highlights)
+                .setFeatureNameForMetrics("SharingHubAndroid.LinkToTextSelected")
+                .setOnClickCallback((view) -> {
                     LinkToTextCoordinator linkToTextCoordinator = new LinkToTextCoordinator(
                             mActivity, mTabProvider.get().getWindowAndroid(),
-                            mChromeOptionShareCallback, mUrl, mShareParams.getText());
-                    mBottomSheetController.hideContent(mBottomSheetContent, true);
-                });
-        return new FirstPartyOption(
-                propertyModel, Collections.singleton(ContentType.HIGHLIGHTED_TEXT));
+                            mChromeOptionShareCallback, mShareParams.getUrl(),
+                            mShareParams.getText());
+                })
+                .build();
     }
 
     /**
diff --git a/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediatorUnitTest.java b/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediatorUnitTest.java
index ec4765b..7750e9f 100644
--- a/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediatorUnitTest.java
+++ b/chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediatorUnitTest.java
@@ -53,7 +53,7 @@
     Runnable mSaveRunnable;
 
     @Mock
-    Runnable mInstallRunnable;
+    Callback<Runnable> mInstallRunnable;
 
     @Mock
     Activity mContext;
@@ -71,9 +71,10 @@
 
         MockScreenshotShareSheetMediator(Context context, PropertyModel propertyModel,
                 Runnable deleteRunnable, Runnable saveRunnable, Tab tab,
-                ChromeOptionShareCallback chromeOptionShareCallback, Runnable installRunnable) {
+                ChromeOptionShareCallback chromeOptionShareCallback,
+                Callback<Runnable> installCallback) {
             super(context, propertyModel, deleteRunnable, saveRunnable, tab,
-                    chromeOptionShareCallback, installRunnable);
+                    chromeOptionShareCallback, installCallback);
         }
         @Override
         protected void generateTemporaryUriFromBitmap(
@@ -150,7 +151,7 @@
                 mModel.get(ScreenshotShareSheetViewProperties.NO_ARG_OPERATION_LISTENER);
         callback.onResult(ScreenshotShareSheetViewProperties.NoArgOperation.INSTALL);
 
-        verify(mInstallRunnable).run();
+        verify(mInstallRunnable).onResult(any());
     }
 
     @After
diff --git a/chrome/browser/signin/dice_response_handler.cc b/chrome/browser/signin/dice_response_handler.cc
index e22e333..f5ac5c21 100644
--- a/chrome/browser/signin/dice_response_handler.cc
+++ b/chrome/browser/signin/dice_response_handler.cc
@@ -33,6 +33,12 @@
 #include "google_apis/gaia/google_service_auth_error.h"
 
 const int kDiceTokenFetchTimeoutSeconds = 10;
+// Timeout for locking the account reconcilor when
+// there was OAuth outage in Dice.
+const int kLockAccountReconcilorTimeoutHours = 12;
+
+const base::Feature kSupportOAuthOutageInDice{
+    "SupportOAuthOutageInDice", base::FEATURE_DISABLED_BY_DEFAULT};
 
 namespace {
 
@@ -226,9 +232,9 @@
     case signin::DiceAction::SIGNIN: {
       const signin::DiceResponseParams::AccountInfo& info =
           dice_params.signin_info->account_info;
-      ProcessDiceSigninHeader(info.gaia_id, info.email,
-                              dice_params.signin_info->authorization_code,
-                              std::move(delegate));
+      ProcessDiceSigninHeader(
+          info.gaia_id, info.email, dice_params.signin_info->authorization_code,
+          dice_params.signin_info->no_authorization_code, std::move(delegate));
       return;
     }
     case signin::DiceAction::ENABLE_SYNC: {
@@ -252,11 +258,30 @@
   return token_fetchers_.size();
 }
 
+void DiceResponseHandler::OnTimeoutUnlockReconcilor() {
+  lock_.reset();
+}
+
 void DiceResponseHandler::ProcessDiceSigninHeader(
     const std::string& gaia_id,
     const std::string& email,
     const std::string& authorization_code,
+    bool no_authorization_code,
     std::unique_ptr<ProcessDiceHeaderDelegate> delegate) {
+  if (no_authorization_code) {
+    if (base::FeatureList::IsEnabled(kSupportOAuthOutageInDice)) {
+      lock_ = std::make_unique<AccountReconcilor::Lock>(account_reconcilor_);
+      // If there is already another lock, the timer will be reset and
+      // we'll wait another full timeout.
+      timer_.Start(
+          FROM_HERE,
+          base::TimeDelta::FromHours(kLockAccountReconcilorTimeoutHours),
+          base::BindOnce(&DiceResponseHandler::OnTimeoutUnlockReconcilor,
+                         base::Unretained(this)));
+    }
+    return;
+  }
+
   DCHECK(!gaia_id.empty());
   DCHECK(!email.empty());
   DCHECK(!authorization_code.empty());
diff --git a/chrome/browser/signin/dice_response_handler.h b/chrome/browser/signin/dice_response_handler.h
index e934d159..9b9724a 100644
--- a/chrome/browser/signin/dice_response_handler.h
+++ b/chrome/browser/signin/dice_response_handler.h
@@ -30,6 +30,9 @@
 
 // Exposed for testing.
 extern const int kDiceTokenFetchTimeoutSeconds;
+// Exposed for testing.
+extern const int kLockAccountReconcilorTimeoutHours;
+extern const base::Feature kSupportOAuthOutageInDice;
 
 // Delegate interface for processing a dice request.
 class ProcessDiceHeaderDelegate {
@@ -132,6 +135,7 @@
       const std::string& gaia_id,
       const std::string& email,
       const std::string& authorization_code,
+      bool no_authorization_code,
       std::unique_ptr<ProcessDiceHeaderDelegate> delegate);
 
   // Process the Dice enable sync action.
@@ -152,6 +156,8 @@
                               bool is_under_advanced_protection);
   void OnTokenExchangeFailure(DiceTokenFetcher* token_fetcher,
                               const GoogleServiceAuthError& error);
+  // Called to unlock the reconcilor after a SLO outage.
+  void OnTimeoutUnlockReconcilor();
 
   SigninClient* signin_client_;
   signin::IdentityManager* identity_manager_;
@@ -159,6 +165,10 @@
   AboutSigninInternals* about_signin_internals_;
   base::FilePath profile_path_;
   std::vector<std::unique_ptr<DiceTokenFetcher>> token_fetchers_;
+  // Lock the account reconcilor for kLockAccountReconcilorTimeoutHours
+  // when there was OAuth outage in Dice.
+  std::unique_ptr<AccountReconcilor::Lock> lock_;
+  base::OneShotTimer timer_;
 
   DISALLOW_COPY_AND_ASSIGN(DiceResponseHandler);
 };
diff --git a/chrome/browser/signin/dice_response_handler_unittest.cc b/chrome/browser/signin/dice_response_handler_unittest.cc
index 340e869..1d6f3075 100644
--- a/chrome/browser/signin/dice_response_handler_unittest.cc
+++ b/chrome/browser/signin/dice_response_handler_unittest.cc
@@ -15,6 +15,7 @@
 #include "base/memory/ref_counted.h"
 #include "base/notreached.h"
 #include "base/scoped_observer.h"
+#include "base/test/scoped_feature_list.h"
 #include "base/test/task_environment.h"
 #include "base/time/time.h"
 #include "chrome/test/base/testing_profile.h"
@@ -262,6 +263,115 @@
           .is_under_advanced_protection);
 }
 
+// Checks that the account reconcilor is blocked when where was OAuth
+// outage in Dice, and unblocked after the timeout.
+TEST_F(DiceResponseHandlerTest, SupportOAuthOutageInDice) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(kSupportOAuthOutageInDice);
+  DiceResponseParams dice_params = MakeDiceParams(DiceAction::SIGNIN);
+  dice_params.signin_info->authorization_code.clear();
+  dice_params.signin_info->no_authorization_code = true;
+  dice_response_handler_->ProcessDiceHeader(
+      dice_params, std::make_unique<TestProcessDiceHeaderDelegate>(this));
+  // Check that the reconcilor was blocked and not unblocked before timeout.
+  EXPECT_EQ(1, reconcilor_blocked_count_);
+  EXPECT_EQ(0, reconcilor_unblocked_count_);
+  task_environment_.FastForwardBy(
+      base::TimeDelta::FromHours(kLockAccountReconcilorTimeoutHours + 1));
+  // Check that the reconcilor was unblocked.
+  EXPECT_EQ(1, reconcilor_unblocked_count_);
+  EXPECT_EQ(1, reconcilor_blocked_count_);
+}
+
+// Check that after receiving two headers with no authorization code,
+// timeout still restarts.
+TEST_F(DiceResponseHandlerTest, CheckTimersDuringOutageinDice) {
+  ASSERT_GT(kLockAccountReconcilorTimeoutHours, 3);
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(kSupportOAuthOutageInDice);
+  // Create params for the first header with no authorization code.
+  DiceResponseParams dice_params_1 = MakeDiceParams(DiceAction::SIGNIN);
+  dice_params_1.signin_info->authorization_code.clear();
+  dice_params_1.signin_info->no_authorization_code = true;
+  dice_response_handler_->ProcessDiceHeader(
+      dice_params_1, std::make_unique<TestProcessDiceHeaderDelegate>(this));
+  // Check that the reconcilor was blocked and not unblocked before timeout.
+  EXPECT_EQ(1, reconcilor_blocked_count_);
+  EXPECT_EQ(0, reconcilor_unblocked_count_);
+  // Wait half of the timeout.
+  task_environment_.FastForwardBy(
+      base::TimeDelta::FromHours(kLockAccountReconcilorTimeoutHours / 2));
+  // Create params for the second header with no authorization code.
+  DiceResponseParams dice_params_2 = MakeDiceParams(DiceAction::SIGNIN);
+  dice_params_2.signin_info->authorization_code.clear();
+  dice_params_2.signin_info->no_authorization_code = true;
+  dice_response_handler_->ProcessDiceHeader(
+      dice_params_2, std::make_unique<TestProcessDiceHeaderDelegate>(this));
+  task_environment_.FastForwardBy(base::TimeDelta::FromHours(
+      (kLockAccountReconcilorTimeoutHours + 1) / 2 + 1));
+  // Check that the reconcilor was not unblocked after the first timeout
+  // passed, timer should be restarted after getting the second header.
+  EXPECT_EQ(1, reconcilor_blocked_count_);
+  EXPECT_EQ(0, reconcilor_unblocked_count_);
+  task_environment_.FastForwardBy(
+      base::TimeDelta::FromHours((kLockAccountReconcilorTimeoutHours + 1) / 2));
+  // Check that the reconcilor was unblocked.
+  EXPECT_EQ(1, reconcilor_blocked_count_);
+  EXPECT_EQ(1, reconcilor_unblocked_count_);
+}
+
+// Check that signin works normally (the token is fetched and added to chrome)
+// on valid headers after getting a no_authorization_code header.
+TEST_F(DiceResponseHandlerTest, CheckSigninAfterOutageInDice) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(kSupportOAuthOutageInDice);
+  // Create params for the header with no authorization code.
+  DiceResponseParams dice_params_1 = MakeDiceParams(DiceAction::SIGNIN);
+  dice_params_1.signin_info->authorization_code.clear();
+  dice_params_1.signin_info->no_authorization_code = true;
+  dice_response_handler_->ProcessDiceHeader(
+      dice_params_1, std::make_unique<TestProcessDiceHeaderDelegate>(this));
+  // Create params for the valid header with an authorization code.
+  DiceResponseParams dice_params_2 = MakeDiceParams(DiceAction::SIGNIN);
+  const auto& account_info_2 = dice_params_2.signin_info->account_info;
+  CoreAccountId account_id_2 = identity_manager()->PickAccountIdForAccount(
+      account_info_2.gaia_id, account_info_2.email);
+  EXPECT_FALSE(identity_manager()->HasAccountWithRefreshToken(account_id_2));
+  dice_response_handler_->ProcessDiceHeader(
+      dice_params_2, std::make_unique<TestProcessDiceHeaderDelegate>(this));
+  // Check that the reconcilor was blocked and not unblocked before timeout.
+  EXPECT_EQ(1, reconcilor_blocked_count_);
+  EXPECT_EQ(0, reconcilor_unblocked_count_);
+  // Check that a GaiaAuthFetcher has been created.
+  GaiaAuthConsumer* consumer = signin_client_.GetAndClearConsumer();
+  ASSERT_THAT(consumer, testing::NotNull());
+  // Simulate GaiaAuthFetcher success.
+  consumer->OnClientOAuthSuccess(GaiaAuthConsumer::ClientOAuthResult(
+      "refresh_token", "access_token", 10, false /* is_child_account */,
+      true /* is_advanced_protection*/));
+  // Check that the token has been inserted in the token service.
+  EXPECT_TRUE(identity_manager()->HasAccountWithRefreshToken(account_id_2));
+  EXPECT_TRUE(auth_error_email_.empty());
+  EXPECT_EQ(GoogleServiceAuthError::NONE, auth_error_.state());
+  // Check HandleTokenExchangeSuccess parameters.
+  EXPECT_EQ(token_exchange_account_id_, account_id_2);
+  EXPECT_TRUE(token_exchange_is_new_account_);
+  EXPECT_EQ(1, reconcilor_blocked_count_);
+  EXPECT_EQ(0, reconcilor_unblocked_count_);
+  // Check that the AccountInfo::is_under_advanced_protection is set.
+  EXPECT_TRUE(
+      identity_manager()
+          ->FindExtendedAccountInfoForAccountWithRefreshTokenByAccountId(
+              account_id_2)
+          .value()
+          .is_under_advanced_protection);
+  task_environment_.FastForwardBy(
+      base::TimeDelta::FromHours(kLockAccountReconcilorTimeoutHours + 1));
+  // Check that the reconcilor was unblocked.
+  EXPECT_EQ(1, reconcilor_unblocked_count_);
+  EXPECT_EQ(1, reconcilor_blocked_count_);
+}
+
 // Checks that a SIGNIN action triggers a token exchange request when the
 // account is in authentication error.
 TEST_F(DiceResponseHandlerTest, Reauth) {
diff --git a/chrome/browser/spellchecker/spellcheck_service.cc b/chrome/browser/spellchecker/spellcheck_service.cc
index 91f757a..ea9b6e9 100644
--- a/chrome/browser/spellchecker/spellcheck_service.cc
+++ b/chrome/browser/spellchecker/spellcheck_service.cc
@@ -416,19 +416,19 @@
   const base::ListValue* forced_dictionaries =
       prefs->GetList(spellcheck::prefs::kSpellCheckForcedDictionaries);
 
-  // Build a lookup of blacklisted dictionaries to skip loading them.
-  const base::ListValue* blacklisted_dictionaries =
+  // Build a lookup of blocked dictionaries to skip loading them.
+  const base::ListValue* blocked_dictionaries =
       prefs->GetList(spellcheck::prefs::kSpellCheckBlocklistedDictionaries);
-  std::unordered_set<std::string> blacklisted_dictionaries_lookup;
-  for (const auto& blacklisted_dict : blacklisted_dictionaries->GetList()) {
-    blacklisted_dictionaries_lookup.insert(blacklisted_dict.GetString());
+  std::unordered_set<std::string> blocked_dictionaries_lookup;
+  for (const auto& blocked_dict : blocked_dictionaries->GetList()) {
+    blocked_dictionaries_lookup.insert(blocked_dict.GetString());
   }
 
   // Merge both lists of dictionaries. Use a set to avoid duplicates.
   std::set<std::string> dictionaries;
   for (const auto& dictionary_value : user_dictionaries->GetList()) {
-    if (blacklisted_dictionaries_lookup.find(dictionary_value.GetString()) ==
-        blacklisted_dictionaries_lookup.end())
+    if (blocked_dictionaries_lookup.find(dictionary_value.GetString()) ==
+        blocked_dictionaries_lookup.end())
       dictionaries.insert(dictionary_value.GetString());
   }
   for (const auto& dictionary_value : forced_dictionaries->GetList()) {
diff --git a/chrome/browser/sync/test/integration/single_client_typed_urls_sync_test.cc b/chrome/browser/sync/test/integration/single_client_typed_urls_sync_test.cc
index 5efa1e14..cf6e52f8 100644
--- a/chrome/browser/sync/test/integration/single_client_typed_urls_sync_test.cc
+++ b/chrome/browser/sync/test/integration/single_client_typed_urls_sync_test.cc
@@ -3,7 +3,6 @@
 // found in the LICENSE file.
 
 #include "base/macros.h"
-#include "chrome/browser/sessions/session_service.h"
 #include "chrome/browser/sync/test/integration/sync_test.h"
 #include "chrome/browser/sync/test/integration/typed_urls_helper.h"
 #include "chrome/browser/sync/test/integration/updated_progress_marker_checker.h"
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
index da4b9655..389d47e 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
@@ -108,6 +108,11 @@
     String getUrlString();
 
     /**
+     * @return Parameters that should be used for a lazily loaded Tab.  May be null.
+     */
+    LoadUrlParams getPendingLoadParams();
+
+    /**
      * @return The URL that is loaded in the current tab. This may not be the same as
      *         the last committed URL if a new navigation is in progress.
      */
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
index 1d107bc6..661bd55 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
@@ -18,7 +18,10 @@
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.TabLaunchType;
 import org.chromium.chrome.browser.tab.WebContentsState;
+import org.chromium.chrome.browser.tab.WebContentsStateBridge;
 import org.chromium.chrome.browser.tab.proto.CriticalPersistedTabData.CriticalPersistedTabDataProto;
+import org.chromium.content_public.browser.LoadUrlParams;
+import org.chromium.content_public.common.Referrer;
 import org.chromium.url.GURL;
 
 import java.nio.ByteBuffer;
@@ -67,6 +70,8 @@
     private ObserverList<CriticalPersistedTabDataObserver> mObservers =
             new ObserverList<CriticalPersistedTabDataObserver>();
 
+    private boolean mIsStorageRetrievalEnabled;
+
     private CriticalPersistedTabData(Tab tab) {
         super(tab,
                 PersistedTabDataConfiguration.get(CriticalPersistedTabData.class, tab.isIncognito())
@@ -89,10 +94,13 @@
      * @param persistedTabDataId identifier for {@link PersistedTabData} in storage
      */
     @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
-    CriticalPersistedTabData(Tab tab, int parentId, int rootId, long timestampMillis,
-            WebContentsState webContentsState, int contentStateVersion, String openerAppId,
-            int themeColor, @Nullable @TabLaunchType Integer launchTypeAtCreation) {
+    CriticalPersistedTabData(Tab tab, String url, String title, int parentId, int rootId,
+            long timestampMillis, WebContentsState webContentsState, int contentStateVersion,
+            String openerAppId, int themeColor,
+            @Nullable @TabLaunchType Integer launchTypeAtCreation) {
         this(tab);
+        mUrl = url == null || url.isEmpty() ? GURL.emptyGURL() : new GURL(url);
+        mTitle = title;
         mParentId = parentId;
         mRootId = rootId;
         mTimestampMillis = timestampMillis;
@@ -149,17 +157,56 @@
                 tab, CriticalPersistedTabData.class, () -> { return build(tab); });
     }
 
+    /**
+     * Synchronously restore serialized {@link CriticalPersistedTabData}
+     * @param tabId identifier for the {@link Tab}
+     * @param isIncognito true if the {@link Tab} is incognito
+     * @return serialized {@link CriticalPersistedTabData}
+     * TODO(crbug.com/1119452) rethink CriticalPersistedTabData contract
+     */
+    public static byte[] restore(int tabId, boolean isIncognito) {
+        PersistedTabDataConfiguration config =
+                PersistedTabDataConfiguration.get(CriticalPersistedTabData.class, isIncognito);
+        return config.storage.restore(tabId, config.id);
+    }
+
+    /**
+     * Asynchronously restore serialized {@link CriticalPersistedTabData}
+     * @param tabId identifier for the {@link Tab}
+     * @param isIncognito true if the {@link Tab} is incognito
+     * @param callback the serialized {@link CriticalPersistedTabData} is passed back in
+     */
+    public static void restore(int tabId, boolean isIncognito, Callback<byte[]> callback) {
+        PersistedTabDataConfiguration config =
+                PersistedTabDataConfiguration.get(CriticalPersistedTabData.class, isIncognito);
+        config.storage.restore(tabId, config.id, callback);
+    }
+
+    /**
+     * @param tab {@link Tab} associated with the {@link CriticalPersistedTabData}
+     * @param serialized {@link CriticalPersistedTabData} in serialized form
+     * @param isCriticalPersistedTabDataEnabled true if CriticalPersistedData is enabled
+     * as the storage/retrieval method
+     */
+    public static void build(Tab tab, byte[] serialized, boolean isStorageRetrievalEnabled) {
+        CriticalPersistedTabData res = PersistedTabData.build(tab, (data, storage, id) -> {
+            return new CriticalPersistedTabData(tab, data, storage, id);
+        }, serialized, CriticalPersistedTabData.class);
+        res.mIsStorageRetrievalEnabled = isStorageRetrievalEnabled;
+    }
+
     @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
     public static CriticalPersistedTabData build(Tab tab) {
         // CriticalPersistedTabData is initialized with default values
         CriticalPersistedTabData criticalPersistedTabData =
-                new CriticalPersistedTabData(tab, Tab.INVALID_TAB_ID, tab.getId(),
+                new CriticalPersistedTabData(tab, "", "", Tab.INVALID_TAB_ID, tab.getId(),
                         INVALID_TIMESTAMP, null, -1, "", UNSPECIFIED_THEME_COLOR, null);
+        criticalPersistedTabData.save();
         return criticalPersistedTabData;
     }
 
     @Override
-    boolean deserialize(byte[] bytes) {
+    boolean deserialize(@Nullable byte[] bytes) {
         try {
             CriticalPersistedTabDataProto criticalPersistedTabDataProto =
                     CriticalPersistedTabDataProto.parseFrom(bytes);
@@ -169,8 +216,13 @@
             byte[] webContentsStateBytes =
                     criticalPersistedTabDataProto.getWebContentsStateBytes().toByteArray();
             mWebContentsState =
-                    new WebContentsState(ByteBuffer.allocate(webContentsStateBytes.length));
+                    new WebContentsState(ByteBuffer.allocateDirect(webContentsStateBytes.length));
             mWebContentsState.buffer().put(webContentsStateBytes);
+            mWebContentsState.setVersion(WebContentsState.CONTENTS_STATE_CURRENT_VERSION);
+            mUrl = mWebContentsState.getVirtualUrlFromState() == null
+                    ? GURL.emptyGURL()
+                    : new GURL(mWebContentsState.getVirtualUrlFromState());
+            mTitle = mWebContentsState.getDisplayTitleFromState();
             mContentStateVersion = criticalPersistedTabDataProto.getContentStateVersion();
             mOpenerAppId = criticalPersistedTabDataProto.getOpenerAppId();
             mThemeColor = criticalPersistedTabDataProto.getThemeColor();
@@ -231,7 +283,10 @@
     }
 
     private static CriticalPersistedTabDataProto.LaunchTypeAtCreation getLaunchType(
-            @TabLaunchType int protoLaunchType) {
+            @Nullable @TabLaunchType Integer protoLaunchType) {
+        if (protoLaunchType == null) {
+            return CriticalPersistedTabDataProto.LaunchTypeAtCreation.UNKNOWN;
+        }
         switch (protoLaunchType) {
             case TabLaunchType.FROM_LINK:
                 return CriticalPersistedTabDataProto.LaunchTypeAtCreation.FROM_LINK;
@@ -271,13 +326,46 @@
         }
     }
 
+    private static WebContentsState getWebContentsStateFromTab(Tab tab) {
+        // Native call returns null when buffer allocation needed to serialize the state failed.
+        ByteBuffer buffer = getWebContentsStateAsByteBuffer(tab);
+        if (buffer == null) return null;
+
+        WebContentsState state = new WebContentsState(buffer);
+        state.setVersion(WebContentsState.CONTENTS_STATE_CURRENT_VERSION);
+        return state;
+    }
+
+    /** Returns an ByteBuffer representing the state of the Tab's WebContents. */
+    private static ByteBuffer getWebContentsStateAsByteBuffer(Tab tab) {
+        LoadUrlParams pendingLoadParams = tab.getPendingLoadParams();
+        if (pendingLoadParams == null) {
+            return WebContentsStateBridge.getContentsStateAsByteBuffer(tab.getWebContents());
+        } else {
+            Referrer referrer = pendingLoadParams.getReferrer();
+            return WebContentsStateBridge.createSingleNavigationStateAsByteBuffer(
+                    pendingLoadParams.getUrl(), referrer != null ? referrer.getUrl() : null,
+                    // Policy will be ignored for null referrer url, 0 is just a placeholder.
+                    referrer != null ? referrer.getPolicy() : 0,
+                    pendingLoadParams.getInitiatorOrigin(), tab.isIncognito());
+        }
+    }
+
+    @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
     @Override
-    byte[] serialize() {
+    public byte[] serialize() {
+        WebContentsState webContentsState = mWebContentsState;
+        if (webContentsState == null) {
+            webContentsState = getWebContentsStateFromTab(mTab);
+        }
         return CriticalPersistedTabDataProto.newBuilder()
                 .setParentId(mParentId)
                 .setRootId(mRootId)
                 .setTimestampMillis(mTimestampMillis)
-                .setWebContentsStateBytes(ByteString.copyFrom(mWebContentsState.buffer().array()))
+                .setWebContentsStateBytes(webContentsState == null
+                                ? ByteString.EMPTY
+                                : ByteString.copyFrom(
+                                        getContentStateByteArray(webContentsState.buffer())))
                 .setContentStateVersion(mContentStateVersion)
                 .setOpenerAppId(mOpenerAppId)
                 .setThemeColor(mThemeColor)
@@ -286,13 +374,19 @@
                 .toByteArray();
     }
 
+    protected static byte[] getContentStateByteArray(ByteBuffer buffer) {
+        byte[] contentsStateBytes = new byte[buffer.limit()];
+        buffer.rewind();
+        buffer.get(contentsStateBytes);
+        return contentsStateBytes;
+    }
+
     // TODO(crbug.com/1113814) remove save() override
     @Override
     public void save() {
-        mTab.setIsTabStateDirty(true);
-        // super.save() will be called when we start saving serialized CriticalPersistedTabData
-        // files. The first part of the migraiton is to move Tab fields to CriticalPersistedTabData
-        // without saving (i.e. as a regular UserData object).
+        if (mIsStorageRetrievalEnabled) {
+            super.save();
+        }
     }
 
     /**
@@ -306,6 +400,16 @@
         super.save();
     }
 
+    /**
+     * Delete {@link CriticalPersistedTabData} in storage
+     */
+    @Override
+    public void delete() {
+        if (mIsStorageRetrievalEnabled) {
+            super.delete();
+        }
+    }
+
     @Override
     public void destroy() {}
 
@@ -321,6 +425,7 @@
      */
     public void setTitle(String title) {
         mTitle = title;
+        save();
     }
 
     /**
@@ -336,6 +441,7 @@
      */
     public void setUrl(GURL url) {
         mUrl = url;
+        save();
     }
 
     /**
@@ -362,6 +468,7 @@
         for (CriticalPersistedTabDataObserver observer : mObservers) {
             observer.onRootIdChanged(mTab, rootId);
         }
+        mTab.setIsTabStateDirty(true);
         save();
     }
 
@@ -377,6 +484,7 @@
      */
     public void setParentId(int parentId) {
         mParentId = parentId;
+        save();
     }
 
     /**
@@ -392,6 +500,7 @@
      */
     public void setTimestampMillis(long timestamp) {
         mTimestampMillis = timestamp;
+        save();
     }
 
     /**
@@ -403,6 +512,7 @@
 
     public void setWebContentsState(WebContentsState webContentsState) {
         mWebContentsState = webContentsState;
+        save();
     }
 
     /**
@@ -435,6 +545,7 @@
 
     public void setLaunchTypeAtCreation(@Nullable @TabLaunchType Integer launchTypeAtCreation) {
         mTabLaunchTypeAtCreation = launchTypeAtCreation;
+        save();
     }
 
     /**
@@ -452,4 +563,9 @@
     public void removeObserver(CriticalPersistedTabDataObserver criticalPersistedTabDataObserver) {
         mObservers.removeObserver(criticalPersistedTabDataObserver);
     }
+
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    protected void setIsStorageRetrievalEnabled(boolean isStorageRetrievalEnabled) {
+        mIsStorageRetrievalEnabled = isStorageRetrievalEnabled;
+    }
 }
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/FilePersistedTabDataStorage.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/FilePersistedTabDataStorage.java
index 4f09726..c0325d7 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/FilePersistedTabDataStorage.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/FilePersistedTabDataStorage.java
@@ -92,6 +92,12 @@
 
     @MainThread
     @Override
+    public byte[] restore(int tabId, String dataId) {
+        return new FileRestoreRequest(tabId, dataId, null).executeSyncTask();
+    }
+
+    @MainThread
+    @Override
     public void delete(int tabId, String dataId) {
         delete(tabId, dataId, NO_OP_CALLBACK);
     }
@@ -117,7 +123,7 @@
     /**
      * Request for saving, restoring and deleting {@link PersistedTabData}
      */
-    private abstract class StorageRequest {
+    private abstract class StorageRequest<T> {
         protected final int mTabId;
         protected final String mDataId;
         protected final File mFile;
@@ -144,6 +150,11 @@
          */
         abstract AsyncTask getAsyncTask();
 
+        /**
+         * Execute the task synchronously
+         */
+        abstract T executeSyncTask();
+
         @Override
         public boolean equals(Object other) {
             if (this == other) return true;
@@ -169,7 +180,7 @@
      * Request to save {@link PersistedTabData}
      */
     @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
-    protected class FileSaveRequest extends StorageRequest {
+    protected class FileSaveRequest extends StorageRequest<Void> {
         private byte[] mData;
         private Callback<Integer> mCallback;
 
@@ -185,34 +196,39 @@
         }
 
         @Override
+        public Void executeSyncTask() {
+            FileOutputStream outputStream = null;
+            boolean success = false;
+            try {
+                outputStream = new FileOutputStream(mFile);
+                outputStream.write(mData);
+                success = true;
+            } catch (FileNotFoundException e) {
+                Log.e(TAG,
+                        String.format(Locale.ENGLISH,
+                                "FileNotFoundException while attempting to save file %s "
+                                        + "Details: %s",
+                                mFile, e.getMessage()));
+            } catch (IOException e) {
+                Log.e(TAG,
+                        String.format(Locale.ENGLISH,
+                                "IOException while attempting to save for file %s. "
+                                        + " Details: %s",
+                                mFile, e.getMessage()));
+            } finally {
+                StreamUtil.closeQuietly(outputStream);
+            }
+            RecordHistogram.recordBooleanHistogram(
+                    "Tabs.PersistedTabData.Storage.Save." + getUmaTag(), success);
+            return null;
+        }
+
+        @Override
         public AsyncTask getAsyncTask() {
             return new AsyncTask<Void>() {
                 @Override
                 protected Void doInBackground() {
-                    FileOutputStream outputStream = null;
-                    boolean success = false;
-                    try {
-                        outputStream = new FileOutputStream(mFile);
-                        outputStream.write(mData);
-                        success = true;
-                    } catch (FileNotFoundException e) {
-                        Log.e(TAG,
-                                String.format(Locale.ENGLISH,
-                                        "FileNotFoundException while attempting to save file %s "
-                                                + "Details: %s",
-                                        mFile, e.getMessage()));
-                    } catch (IOException e) {
-                        Log.e(TAG,
-                                String.format(Locale.ENGLISH,
-                                        "IOException while attempting to save for file %s. "
-                                                + " Details: %s",
-                                        mFile, e.getMessage()));
-                    } finally {
-                        StreamUtil.closeQuietly(outputStream);
-                    }
-                    RecordHistogram.recordBooleanHistogram(
-                            "Tabs.PersistedTabData.Storage.Save." + getUmaTag(), success);
-                    return null;
+                    return executeSyncTask();
                 }
 
                 @Override
@@ -234,7 +250,7 @@
     /**
      * Request to delete a saved {@link PersistedTabData}
      */
-    private class FileDeleteRequest extends StorageRequest {
+    private class FileDeleteRequest extends StorageRequest<Void> {
         private byte[] mData;
         private Callback<Integer> mCallback;
 
@@ -248,23 +264,28 @@
         }
 
         @Override
+        public Void executeSyncTask() {
+            boolean exists = mFile.exists();
+            RecordHistogram.recordBooleanHistogram(
+                    "Tabs.PersistedTabData.Storage.Exists." + getUmaTag(), exists);
+            if (!exists) {
+                return null;
+            }
+            boolean success = mFile.delete();
+            RecordHistogram.recordBooleanHistogram(
+                    "Tabs.PersistedTabData.Storage.Delete." + getUmaTag(), success);
+            if (!success) {
+                Log.e(TAG, String.format(Locale.ENGLISH, "Error deleting file %s", mFile));
+            }
+            return null;
+        }
+
+        @Override
         public AsyncTask getAsyncTask() {
             return new AsyncTask<Void>() {
                 @Override
                 protected Void doInBackground() {
-                    boolean exists = mFile.exists();
-                    RecordHistogram.recordBooleanHistogram(
-                            "Tabs.PersistedTabData.Storage.Exists." + getUmaTag(), exists);
-                    if (!exists) {
-                        return null;
-                    }
-                    boolean success = mFile.delete();
-                    RecordHistogram.recordBooleanHistogram(
-                            "Tabs.PersistedTabData.Storage.Delete." + getUmaTag(), success);
-                    if (!success) {
-                        Log.e(TAG, String.format(Locale.ENGLISH, "Error deleting file %s", mFile));
-                    }
-                    return null;
+                    return executeSyncTask();
                 }
 
                 @Override
@@ -285,7 +306,7 @@
     /**
      * Request to restore saved serialized {@link PersistedTabData}
      */
-    private class FileRestoreRequest extends StorageRequest {
+    private class FileRestoreRequest extends StorageRequest<byte[]> {
         private Callback<byte[]> mCallback;
 
         /**
@@ -300,32 +321,37 @@
         }
 
         @Override
+        public byte[] executeSyncTask() {
+            boolean success = false;
+            byte[] res = null;
+            try {
+                AtomicFile atomicFile = new AtomicFile(mFile);
+                res = atomicFile.readFully();
+                success = true;
+            } catch (FileNotFoundException e) {
+                Log.e(TAG,
+                        String.format(Locale.ENGLISH,
+                                "FileNotFoundException while attempting to restore "
+                                        + " %s. Details: %s",
+                                mFile, e.getMessage()));
+            } catch (IOException e) {
+                Log.e(TAG,
+                        String.format(Locale.ENGLISH,
+                                "IOException while attempting to restore "
+                                        + "%s. Details: %s",
+                                mFile, e.getMessage()));
+            }
+            RecordHistogram.recordBooleanHistogram(
+                    "Tabs.PersistedTabData.Storage.Restore." + getUmaTag(), success);
+            return res;
+        }
+
+        @Override
         public AsyncTask getAsyncTask() {
             return new AsyncTask<byte[]>() {
                 @Override
                 protected byte[] doInBackground() {
-                    boolean success = false;
-                    byte[] res = null;
-                    try {
-                        AtomicFile atomicFile = new AtomicFile(mFile);
-                        res = atomicFile.readFully();
-                        success = true;
-                    } catch (FileNotFoundException e) {
-                        Log.e(TAG,
-                                String.format(Locale.ENGLISH,
-                                        "FileNotFoundException while attempting to restore "
-                                                + " %s. Details: %s",
-                                        mFile, e.getMessage()));
-                    } catch (IOException e) {
-                        Log.e(TAG,
-                                String.format(Locale.ENGLISH,
-                                        "IOException while attempting to restore "
-                                                + "%s. Details: %s",
-                                        mFile, e.getMessage()));
-                    }
-                    RecordHistogram.recordBooleanHistogram(
-                            "Tabs.PersistedTabData.Storage.Restore." + getUmaTag(), success);
-                    return res;
+                    return executeSyncTask();
                 }
 
                 @Override
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/MockPersistedTabDataStorage.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/MockPersistedTabDataStorage.java
index 3edc52f..90ddc20 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/MockPersistedTabDataStorage.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/MockPersistedTabDataStorage.java
@@ -37,6 +37,12 @@
         }
     }
 
+    // Unused
+    @Override
+    public byte[] restore(int tabId, String tabDataId) {
+        return null;
+    }
+
     @Override
     public void delete(int tabId, String tabDataId) {
         mStorage.remove(getKey(tabId));
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabData.java
index e1bf160c..9797c74 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabData.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabData.java
@@ -61,6 +61,23 @@
     }
 
     /**
+     * Build {@link PersistedTabData} from serialized form
+     * @param tab associated with {@link PersistedTabData}
+     * @param factory method for creating {@link PersistedTabData}
+     * @param data serialized {@link PersistedTabData}
+     * @param clazz {@link PersistedTabData} class
+     * @return deserialized {@link PersistedTabData}
+     */
+    protected static <T extends PersistedTabData> T build(
+            Tab tab, PersistedTabDataFactory<T> factory, byte[] data, Class<T> clazz) {
+        PersistedTabDataConfiguration config =
+                PersistedTabDataConfiguration.get(clazz, tab.isIncognito());
+        T persistedTabData = factory.create(data, config.storage, config.id);
+        setUserData(tab, clazz, persistedTabData);
+        return persistedTabData;
+    }
+
+    /**
      * Asynchronously acquire a {@link PersistedTabData}
      * for a {@link Tab}
      * @param tab {@link Tab} {@link PersistedTabData} is being acquired for.
@@ -160,7 +177,7 @@
      * Save {@link PersistedTabData} to storage
      * @param callback callback indicating success/failure
      */
-    @VisibleForTesting
+    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
     protected void save() {
         mPersistedTabDataStorage.save(mTab.getId(), mPersistedTabDataId, serializeAndLog());
     }
@@ -171,6 +188,7 @@
     abstract byte[] serialize();
 
     private byte[] serializeAndLog() {
+        // TODO(crbug.com/1119856) Add trace events
         byte[] res = serialize();
         RecordHistogram.recordBooleanHistogram(
                 "Tabs.PersistedTabData.Serialize." + getUmaTag(), res != null);
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorage.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorage.java
index 55638d5..cbf0302 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorage.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorage.java
@@ -27,6 +27,13 @@
     /**
      * @param tabId identifier for the {@link Tab}
      * @param tabDataId unique identifier representing the type of {@link PersistedTabData}
+     * @return serialized {@link PersitsedTabData}
+     */
+    byte[] restore(int tabId, String tabDataId);
+
+    /**
+     * @param tabId identifier for the {@link Tab}
+     * @param tabDataId unique identifier representing the type of {@link PersistedTabData}
      */
     void delete(int tabId, String tabDataId);
 
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java
index 0669fbc..761e5c1 100644
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java
@@ -42,9 +42,11 @@
      * from disk.
      * @param state    The tab state that the tab can be restored from.
      * @param id       The id to give the new tab.
+     * @param criticalPersistedTabData serialized {@link CriticalPersistedTabData}
      * @param index    The index for where to place the tab.
      */
-    public abstract Tab createFrozenTab(TabState state, int id, int index);
+    public abstract Tab createFrozenTab(
+            TabState state, byte[] serializedCriticalPersistedTabData, int id, int index);
 
     /**
      * Creates a new tab and loads the specified URL in it. This is a convenience method for
diff --git a/chrome/browser/task_manager/providers/web_contents/tool_tag.cc b/chrome/browser/task_manager/providers/web_contents/tool_tag.cc
new file mode 100644
index 0000000..1727b227
--- /dev/null
+++ b/chrome/browser/task_manager/providers/web_contents/tool_tag.cc
@@ -0,0 +1,24 @@
+// 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/task_manager/providers/web_contents/tool_tag.h"
+
+#include <memory>
+
+#include "chrome/browser/task_manager/providers/web_contents/tool_task.h"
+#include "content/public/browser/web_contents.h"
+
+namespace task_manager {
+
+std::unique_ptr<RendererTask> ToolTag::CreateTask(
+    WebContentsTaskProvider*) const {
+  return std::make_unique<ToolTask>(web_contents(), tool_name_);
+}
+
+ToolTag::ToolTag(content::WebContents* web_contents, int tool_name)
+    : WebContentsTag(web_contents), tool_name_(tool_name) {}
+
+ToolTag::~ToolTag() = default;
+
+}  // namespace task_manager
diff --git a/chrome/browser/task_manager/providers/web_contents/tool_tag.h b/chrome/browser/task_manager/providers/web_contents/tool_tag.h
new file mode 100644
index 0000000..daa4a896
--- /dev/null
+++ b/chrome/browser/task_manager/providers/web_contents/tool_tag.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_TASK_MANAGER_PROVIDERS_WEB_CONTENTS_TOOL_TAG_H_
+#define CHROME_BROWSER_TASK_MANAGER_PROVIDERS_WEB_CONTENTS_TOOL_TAG_H_
+
+#include "chrome/browser/task_manager/providers/web_contents/tool_task.h"
+#include "chrome/browser/task_manager/providers/web_contents/web_contents_tag.h"
+
+namespace task_manager {
+
+// Defines a concrete UserData type for WebContents owned by extensions.
+class ToolTag : public WebContentsTag {
+ public:
+  ~ToolTag() override;
+  ToolTag(const ToolTag&) = delete;
+  ToolTag& operator=(const ToolTag&) = delete;
+
+  // task_manager::WebContentsTag:
+  std::unique_ptr<RendererTask> CreateTask(
+      WebContentsTaskProvider*) const override;
+
+ private:
+  friend class WebContentsTags;
+
+  ToolTag(content::WebContents* web_contents, int tool_name);
+
+  // The string ID of the name of this tool.
+  const int tool_name_;
+};
+
+}  // namespace task_manager
+
+#endif  // CHROME_BROWSER_TASK_MANAGER_PROVIDERS_WEB_CONTENTS_TOOL_TAG_H_
diff --git a/chrome/browser/task_manager/providers/web_contents/tool_task.cc b/chrome/browser/task_manager/providers/web_contents/tool_task.cc
new file mode 100644
index 0000000..fc8fcd3
--- /dev/null
+++ b/chrome/browser/task_manager/providers/web_contents/tool_task.cc
@@ -0,0 +1,39 @@
+// 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/task_manager/providers/web_contents/tool_task.h"
+
+#include "chrome/grit/generated_resources.h"
+#include "chrome/grit/theme_resources.h"
+#include "ui/base/l10n/l10n_util.h"
+
+namespace task_manager {
+
+namespace {
+
+base::string16 GetTitle(int tool_name) {
+  return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_TOOL_PREFIX,
+                                    l10n_util::GetStringUTF16(tool_name));
+}
+
+}  // namespace
+
+gfx::ImageSkia* ToolTask::s_icon_ = nullptr;
+
+ToolTask::ToolTask(content::WebContents* web_contents, int tool_name)
+    : RendererTask(GetTitle(tool_name),
+                   FetchIcon(IDR_PLUGINS_FAVICON, &s_icon_),
+                   web_contents) {}
+
+ToolTask::~ToolTask() = default;
+
+void ToolTask::UpdateTitle() {
+  // The title never needs to change.
+}
+
+void ToolTask::UpdateFavicon() {
+  // The icon never needs to change.
+}
+
+}  // namespace task_manager
diff --git a/chrome/browser/task_manager/providers/web_contents/tool_task.h b/chrome/browser/task_manager/providers/web_contents/tool_task.h
new file mode 100644
index 0000000..6c4e2905
--- /dev/null
+++ b/chrome/browser/task_manager/providers/web_contents/tool_task.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 CHROME_BROWSER_TASK_MANAGER_PROVIDERS_WEB_CONTENTS_TOOL_TASK_H_
+#define CHROME_BROWSER_TASK_MANAGER_PROVIDERS_WEB_CONTENTS_TOOL_TASK_H_
+
+#include "chrome/browser/task_manager/providers/web_contents/renderer_task.h"
+
+namespace task_manager {
+
+// Defines a task manager representation for WebContents that are created for
+// various UI tools.
+class ToolTask : public RendererTask {
+ public:
+  ToolTask(content::WebContents* web_contents, int tool_name);
+  ~ToolTask() override;
+  ToolTask(const ToolTask&) = delete;
+  ToolTask& operator=(const ToolTask&) = delete;
+
+  // task_manager::RendererTask:
+  void UpdateTitle() override;
+  void UpdateFavicon() override;
+
+ private:
+  static gfx::ImageSkia* s_icon_;
+};
+
+}  // namespace task_manager
+
+#endif  // CHROME_BROWSER_TASK_MANAGER_PROVIDERS_WEB_CONTENTS_TOOL_TASK_H_
diff --git a/chrome/browser/task_manager/web_contents_tags.cc b/chrome/browser/task_manager/web_contents_tags.cc
index c2d762b..4005a7b 100644
--- a/chrome/browser/task_manager/web_contents_tags.cc
+++ b/chrome/browser/task_manager/web_contents_tags.cc
@@ -22,6 +22,7 @@
 #include "chrome/browser/task_manager/providers/web_contents/prerender_tag.h"
 #include "chrome/browser/task_manager/providers/web_contents/printing_tag.h"
 #include "chrome/browser/task_manager/providers/web_contents/tab_contents_tag.h"
+#include "chrome/browser/task_manager/providers/web_contents/tool_tag.h"
 #include "chrome/browser/task_manager/providers/web_contents/web_contents_tags_manager.h"
 #endif  // !defined(OS_ANDROID)
 
@@ -167,6 +168,18 @@
 }
 
 // static
+void WebContentsTags::CreateForToolContents(content::WebContents* web_contents,
+                                            int tool_name) {
+#if !defined(OS_ANDROID)
+  if (!WebContentsTag::FromWebContents(web_contents)) {
+    TagWebContents(web_contents,
+                   base::WrapUnique(new ToolTag(web_contents, tool_name)),
+                   WebContentsTag::kTagKey);
+  }
+#endif  // !defined(OS_ANDROID)
+}
+
+// static
 void WebContentsTags::ClearTag(content::WebContents* web_contents) {
 #if !defined(OS_ANDROID)
   // Some callers may clear the tag of a contents that is currently untagged
diff --git a/chrome/browser/task_manager/web_contents_tags.h b/chrome/browser/task_manager/web_contents_tags.h
index 7cf2f2a0..5d98a8f8 100644
--- a/chrome/browser/task_manager/web_contents_tags.h
+++ b/chrome/browser/task_manager/web_contents_tags.h
@@ -85,6 +85,14 @@
   // owned by |web_contents|.
   static void CreateForPortal(content::WebContents* web_contents);
 
+  // Tag a WebContents created for a tool so that it shows up in the task
+  // manager. Calling this function creates a ToolTag, and attaches it to
+  // |web_contents|. If an instance is already attached, this does nothing. The
+  // resulting tag does not have to be cleaned up by the caller, as it is owned
+  // by |web_contents|. |tool_name| is the string ID of the name of the tool.
+  static void CreateForToolContents(content::WebContents* web_contents,
+                                    int tool_name);
+
   // Clears the task-manager tag, created by any of the above functions, from
   // the given |web_contents| if any.
   // Clearing the tag is necessary only when you need to re-tag an existing
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 74acab3..83105f2 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -386,6 +386,7 @@
     "//chrome/browser/ui/webui/interventions_internals:mojo_bindings",
     "//chrome/browser/ui/webui/new_tab_page:mojo_bindings",
     "//chrome/browser/ui/webui/omnibox:mojo_bindings",
+    "//chrome/browser/ui/webui/read_later:mojo_bindings",
     "//chrome/browser/ui/webui/tab_search:mojo_bindings",
     "//chrome/browser/ui/webui/usb_internals:mojo_bindings",
     "//chrome/common",
@@ -1387,6 +1388,10 @@
       "webui/policy_indicator_localized_strings_provider.h",
       "webui/profile_info_watcher.cc",
       "webui/profile_info_watcher.h",
+      "webui/read_later/read_later_page_handler.cc",
+      "webui/read_later/read_later_page_handler.h",
+      "webui/read_later/read_later_ui.cc",
+      "webui/read_later/read_later_ui.h",
       "webui/sanitized_image_source.cc",
       "webui/sanitized_image_source.h",
       "webui/settings/about_handler.cc",
@@ -1857,6 +1862,8 @@
       "ash/chrome_screenshot_grabber_test_observer.h",
       "ash/chrome_shell_delegate.cc",
       "ash/chrome_shell_delegate.h",
+      "ash/clipboard_image_model_factory_impl.cc",
+      "ash/clipboard_image_model_factory_impl.h",
       "ash/clipboard_util.cc",
       "ash/clipboard_util.h",
       "ash/holding_space/holding_space_keyed_service.cc",
@@ -1946,7 +1953,6 @@
       "ash/launcher/shelf_spinner_item_controller.h",
       "ash/login_screen_client.cc",
       "ash/login_screen_client.h",
-      "ash/login_screen_shown_observer.h",
       "ash/media_client_impl.cc",
       "ash/media_client_impl.h",
       "ash/multi_user/multi_profile_support.cc",
@@ -2936,6 +2942,8 @@
       "content_settings/media_authorization_wrapper_test.h",
       "content_settings/media_authorization_wrapper_test.mm",
       "find_bar/find_bar_platform_helper_mac.mm",
+      "startup/mac_system_infobar_delegate.cc",
+      "startup/mac_system_infobar_delegate.h",
       "views/apps/chrome_app_window_client_views_mac.mm",
       "views/certificate_viewer_mac_views.mm",
       "views/dropdown_bar_host_mac.mm",
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
index 983726a56..70e6c10 100644
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1679,9 +1679,12 @@
       <message name="IDS_HINT_SYNC_AUTH_ERROR" desc="Hint message to resolve sync auth error.">
         Sign in again to start sync
       </message>
-      <message name="IDS_HINT_SYNC_RETRIEVE_KEYS" desc="Hint message to resolve sync encryption error.">
+      <message name="IDS_HINT_SYNC_RETRIEVE_KEYS_LEGACY" desc="Hint message to resolve sync encryption error.">
         Fix now
       </message>
+      <message name="IDS_HINT_SYNC_RETRIEVE_KEYS" desc="Hint message to resolve sync encryption error.">
+        Error syncing passwords
+      </message>
       <message name="IDS_HINT_PASSPHRASE_REQUIRED" desc="Hint message to resolve passphrase required error.">
         Enter your passphrase to start sync
       </message>
@@ -1711,6 +1714,9 @@
       <message name="IDS_SYNC_SETUP_INCOMPLETE_ERROR_CARD_CONFIRM_BUTTON" desc="Positive button text for advanced sync interrupted error in sync error cards.">
         Confirm sync
       </message>
+      <message name="IDS_SYNC_SETUP_INCOMPLETE_ERROR_CARD_CANCEL_BUTTON" desc="Negative button text for advanced sync interrupted error in sync error cards. This button turns off Sync.">
+        Cancel sync setup
+      </message>
       <message name="IDS_TRUSTED_VAULT_ERROR_CARD_BUTTON" desc="Button text for trusted vault error in sync error cards.">
         Unlock with Screen Lock
       </message>
@@ -3075,6 +3081,9 @@
       <message name="IDS_CONTEXTUAL_SEARCH_QUICK_ACTION_CAPTION_GENERIC_WEBSITE" desc="Caption displayed in the Contextual Search bar prompting the user to navigate to a web page.">
         Go to page
       </message>
+      <message name="IDS_CONTEXTUAL_SEARCH_IPH_ENABLE" desc="An in-product-help message for the Touch to Search feature on Chrome Android. The message encourages users to let Google Search servers have access to the page content to get better translations.">
+        To get better translations, let Google Search use the current page
+      </message>
       <message name="IDS_CONTEXTUAL_SEARCH_IPH_ENTITY" desc="An in-product-help message for the Tap to Search feature on Chrome Android. The message encourages users to open a panel that contains search results for the word or phrase they tapped on.">
         See instant search results in this panel
       </message>
@@ -3372,8 +3381,8 @@
       <message name="IDS_TWA_QUALITY_ENFORCEMENT_VIOLATION_ERROR" desc="Text shown on a toast when TWA violation 404.">
         <ph name="ERROR_CODE">%1$s<ex>404</ex></ph> on <ph name="VIOLATED_URL">%2$s<ex>https://example.com/</ex></ph>
       </message>
-      <message name="IDS_TWA_QUALITY_ENFORCEMENT_VIOLATION_ASSERT_LINK" desc="Text shown on a toast when TWA violate the quality enforcement criteria: digital assert link verification failed.">
-        Digital assert links verification failed on <ph name="VIOLATED_URL">%1$s<ex>https://example.com/</ex></ph>
+      <message name="IDS_TWA_QUALITY_ENFORCEMENT_VIOLATION_ASSET_LINK" desc="Text shown on a toast when TWA violate the quality enforcement criteria: digital asset link verification failed.">
+        Digital asset links verification failed on <ph name="VIOLATED_URL">%1$s<ex>https://example.com/</ex></ph>
       </message>
       <message name="IDS_TWA_QUALITY_ENFORCEMENT_VIOLATION_OFFLINE" desc="Text shown on a toast when TWA violate the quality enforcement criteria: page unavailable offline.">
         Page unavailable offline: <ph name="VIOLATED_URL">%1$s<ex>https://example.com/</ex></ph>
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_CONTEXTUAL_SEARCH_IPH_ENABLE.png.sha1 b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_CONTEXTUAL_SEARCH_IPH_ENABLE.png.sha1
new file mode 100644
index 0000000..292ead2
--- /dev/null
+++ b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_CONTEXTUAL_SEARCH_IPH_ENABLE.png.sha1
@@ -0,0 +1 @@
+08067fe02c6a052825d055566f5cc5053af80552
\ No newline at end of file
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_HINT_SYNC_RETRIEVE_KEYS.png.sha1 b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_HINT_SYNC_RETRIEVE_KEYS.png.sha1
index d3cadf6b..15dbe2e 100644
--- a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_HINT_SYNC_RETRIEVE_KEYS.png.sha1
+++ b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_HINT_SYNC_RETRIEVE_KEYS.png.sha1
@@ -1 +1 @@
-4f2e743dff46b212f4c688b74a6956206c58d426
\ No newline at end of file
+db6a020704f635af736f9724f5de4f072c33e8f2
\ No newline at end of file
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_HINT_SYNC_RETRIEVE_KEYS_LEGACY.png.sha1 b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_HINT_SYNC_RETRIEVE_KEYS_LEGACY.png.sha1
new file mode 100644
index 0000000..4602127
--- /dev/null
+++ b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_HINT_SYNC_RETRIEVE_KEYS_LEGACY.png.sha1
@@ -0,0 +1 @@
+4f2e743dff46b212f4c688b74a6956206c58d426
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_SYNC_SETUP_INCOMPLETE_ERROR_CARD_CANCEL_BUTTON.png.sha1 b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_SYNC_SETUP_INCOMPLETE_ERROR_CARD_CANCEL_BUTTON.png.sha1
new file mode 100644
index 0000000..a15e72f
--- /dev/null
+++ b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_SYNC_SETUP_INCOMPLETE_ERROR_CARD_CANCEL_BUTTON.png.sha1
@@ -0,0 +1 @@
+5cffa109f7e1342aee38d93b7231229553f2d1fd
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_TWA_QUALITY_ENFORCEMENT_VIOLATION_ASSERT_LINK.png.sha1 b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_TWA_QUALITY_ENFORCEMENT_VIOLATION_ASSET_LINK.png.sha1
similarity index 100%
rename from chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_TWA_QUALITY_ENFORCEMENT_VIOLATION_ASSERT_LINK.png.sha1
rename to chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_TWA_QUALITY_ENFORCEMENT_VIOLATION_ASSET_LINK.png.sha1
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 c42a7b1..13cf094d 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Wag tans vir nog 'n aflaai …</translation>
 <translation id="5865733239029070421">Stuur gebruikstatistieke en omvalverslae outomaties na Google</translation>
 <translation id="5869522115854928033">Gestoorde wagwoorde</translation>
+<translation id="5872013926720995826">Kon nie digitalebateskakels op <ph name="VIOLATED_URL" /> verifieer nie</translation>
 <translation id="5876056640971328065">Onderbreek video</translation>
 <translation id="5884076754568147479">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</translation>
 <translation id="5919204609460789179">Dateer <ph name="PRODUCT_NAME" /> op om sinkronisering te begin</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> op <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Wysig boekmerk</translation>
 <translation id="6406506848690869874">Sinkronisering</translation>
+<translation id="6410883413783534063">Maak oortjies oop om verskillende bladsye op dieselfde tyd te besoek</translation>
 <translation id="6412673304250309937">Vergelyk URL'e met 'n lys onveilige werwe wat in Chrome geberg word. As 'n werf probeer om jou wagwoord te steel, of wanneer jy 'n skadelike lêer aflaai, sal Chrome dalk ook URL'e, insluitend stukkies bladsyinhoud, na Veiligblaai toe stuur.</translation>
 <translation id="641643625718530986">Druk tans uit …</translation>
 <translation id="6427112570124116297">Vertaal die Web</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">In Ligte modus laai Chrome bladsye vinniger en gebruik tot 60 persent minder data.</translation>
 <translation id="7333031090786104871">Voeg steeds vorige werf by</translation>
 <translation id="7340958967809483333">Opsies vir Ontdek</translation>
+<translation id="7352651011704765696">Iets het verkeerd geloop</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Deel 1 gekose item}other{Deel # gekose items}}</translation>
 <translation id="7359002509206457351">Toegang tot betaalmetodes</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Deursoek jou kontakte</translation>
 <translation id="869891660844655955">Vervaldatum</translation>
 <translation id="8712637175834984815">Het dit</translation>
+<translation id="8725066075913043281">Probeer weer</translation>
 <translation id="8748850008226585750">Inhoud word versteek</translation>
 <translation id="8751914237388039244">Kies 'n prent</translation>
 <translation id="8758557275681689734">Sien al jou oop oortjies</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
index f92c7b17..f59abee 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> በ<ph name="VIOLATED_URL" /> ላይ</translation>
 <translation id="6404511346730675251">ዕልባት አርትዕ</translation>
 <translation id="6406506848690869874">አመሳስል</translation>
+<translation id="6410883413783534063">በተመሳሳይ ጊዜ የተለያዩ ገጾችን ለመጎብኘት ትሮችን ይክፈቱ</translation>
 <translation id="6412673304250309937">በChrome ላይ የተከማቹ ድህንነታቸው ያልተጠበቁ ጣቢያዎች ዝርዝር ጋር ዩአርኤሎችን ይፈትሻል። አንድ ጣቢያ የእርስዎን የይለፍ ቃል ለመስረቅ ከሞከረ ወይም ጎጂ ፋይል ካወረደ Chrome እንዲሁም የገጽ ይዘትን ክፍሎችም ጨምሮ ዩአርኤሎችን ወደ የጥንቃቄ አሰሳ መላክ ሊልክ ይችላል።</translation>
 <translation id="641643625718530986">አትም…</translation>
 <translation id="6427112570124116297">ድሩን ያስተርጉሙ</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">በቀላል ሁነታ ላይ Chrome ገጾችን በበለጠ ፍጥነት የሚጭን ሲሆን እስከ 60 በመቶ ያነሰ ውሂብ ይጠቀማል።</translation>
 <translation id="7333031090786104871">አሁንም ቀዳሚ ጣቢያን በማከል ላይ</translation>
 <translation id="7340958967809483333">ለምርምር አማራጮች</translation>
+<translation id="7352651011704765696">የሆነ ችግር ተፈጥሯል</translation>
 <translation id="7352939065658542140">ቪድዮ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 የተመረጠ ንጥል አጋራ}one{# የተመረጡ ንጥሎችን አጋራ}other{# የተመረጡ ንጥሎችን አጋራ}}</translation>
 <translation id="7359002509206457351">የመዳረሻ መክፈያ ዘዴዎች</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">እውቂያዎችዎን ይፈልጉ</translation>
 <translation id="869891660844655955">የሚያበቀበት ጊዜ</translation>
 <translation id="8712637175834984815">ገባኝ</translation>
+<translation id="8725066075913043281">እንደገና ይሞክሩ</translation>
 <translation id="8748850008226585750">ይዘቶች ተደብቀዋል</translation>
 <translation id="8751914237388039244">ምስል ይምረጡ</translation>
 <translation id="8758557275681689734">ሁሉንም የእርስዎ ክፍት ትሮች ይመልከቱ</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 43c4245..42e48d2 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> في <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">تعديل الإشارة المرجعية</translation>
 <translation id="6406506848690869874">المزامنة</translation>
+<translation id="6410883413783534063">يمكنك فتح علامات تبويب لزيارة صفحات مختلفة في آنٍ واحد.</translation>
 <translation id="6412673304250309937">‏يعمل على التحقّق من عناوين URL التي تحتوي على قائمة بمواقع إلكترونية غير آمنة مُخزّنة في Chrome. وإذا حاول موقع إلكتروني سرقة كلمة المرور أو إذا نزّلت ملفًا ضارًا، قد يرسل متصفّح Chrome أيضًا عناوين URL تتضمّن أجزاء من محتوى الصفحة إلى "التصفّح الآمن".</translation>
 <translation id="641643625718530986">طباعة…</translation>
 <translation id="6427112570124116297">ترجمة الموقع الإلكتروني</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">‏في الوضع البسيط، يُحمِّل Chrome الصفحات بشكلٍ أسرع ويستخدم بيانات أقل بنسبة تصل إلى 60 بالمائة.</translation>
 <translation id="7333031090786104871">لا تزال عملية إضافة الموقع الإلكتروني السابق جارية</translation>
 <translation id="7340958967809483333">خيارات الاقتراحات</translation>
+<translation id="7352651011704765696">حدث خطأ ما</translation>
 <translation id="7352939065658542140">فيديو</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{مشاركة عنصر واحد محدد}zero{مشاركة # عنصر محدد}two{مشاركة عنصرين (#) محددين}few{مشاركة # عناصر محددة}many{مشاركة # عنصرًا محددًا}other{مشاركة # عنصر محدد}}</translation>
 <translation id="7359002509206457351">الوصول إلى طرق الدفع</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">البحث في جهات الاتصال</translation>
 <translation id="869891660844655955">تاريخ انتهاء الصلاحية</translation>
 <translation id="8712637175834984815">تم</translation>
+<translation id="8725066075913043281">أعد المحاولة</translation>
 <translation id="8748850008226585750">المحتوى مخفي</translation>
 <translation id="8751914237388039244">اختيار صورة</translation>
 <translation id="8758557275681689734">الاطّلاع على جميع علامات التبويب المفتوحة</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 c4b1e431..24b01230 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
@@ -702,6 +702,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" />ত <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">বুকমার্ক সম্পাদনা কৰক</translation>
 <translation id="6406506848690869874">ছিংক কৰক</translation>
+<translation id="6410883413783534063">একে সময়তে বেলেগ বেলেগ পৃষ্ঠালৈ যাবলৈ টেবসমূহ খোলক</translation>
 <translation id="6412673304250309937">Chromeত ষ্ট'ৰ কৰি ৰখা অসুৰক্ষিত ছাইটসমূহৰ এখন সূচীৰ সৈতে URLসমূহ পৰীক্ষা কৰে। যদি কোনোবা ছাইটে আপোনাৰ পাছৱর্ড চুৰি কৰিবলৈ চেষ্টা কৰে অথবা আপুনি কোনো ক্ষতিকাৰক ফাইল ডাউনল'ড কৰাৰ সময়ত Chromeএ পৃষ্ঠাৰ সমলৰ বিটসমূহকে ধৰি URLসমূহ সুৰক্ষিত ব্ৰাউজিঙলৈ পঠিয়াব পাৰে।</translation>
 <translation id="641643625718530986">প্ৰিণ্ট কৰক…</translation>
 <translation id="6427112570124116297">ৱেবটো অনুবাদ কৰক</translation>
@@ -818,6 +819,7 @@
 <translation id="7328017930301109123">লাইট ম'ডত Chromeএ পৃষ্ঠা খৰতকীয়াকৈ ল'ড কৰে আৰু ৬০ শতাংশলৈকে কম ডেটা ব্যৱহাৰ কৰে।</translation>
 <translation id="7333031090786104871">এতিয়াও পূৰ্বৱৰ্তী ছাইট যোগ কৰি থকা হৈছে</translation>
 <translation id="7340958967809483333">Discoverৰ বিকল্পসমূহ</translation>
+<translation id="7352651011704765696">কিবা সমস্যা হৈছে</translation>
 <translation id="7352939065658542140">ভিডিঅ’</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{বাছনি কৰা ১টা বস্তু শ্বেয়াৰ কৰক}one{বাছনি কৰা #টা বস্তু শ্বেয়াৰ কৰক}other{বাছনি কৰা #টা বস্তু শ্বেয়াৰ কৰক}}</translation>
 <translation id="7359002509206457351">পৰিশোধৰ পদ্ধতি এক্সেছ কৰক</translation>
@@ -1009,6 +1011,7 @@
 <translation id="868929229000858085">সম্পৰ্কসূচীত থকা ব্যক্তি সন্ধান কৰক</translation>
 <translation id="869891660844655955">ম্যাদ উকলাৰ তাৰিখ</translation>
 <translation id="8712637175834984815">বুজি পালোঁ</translation>
+<translation id="8725066075913043281">আকৌ চেষ্টা কৰক</translation>
 <translation id="8748850008226585750">সমল লুকাই ৰখা হৈছে</translation>
 <translation id="8751914237388039244">কোনো প্ৰতিচ্ছবি বাছনি কৰক</translation>
 <translation id="8758557275681689734">আপোনাৰ সকলো খোলা থকা টেব চাওক</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb
index d4de154..b2c6b06a 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb
@@ -701,6 +701,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> üzrə <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">Əlfəcinə düzəliş edin</translation>
 <translation id="6406506848690869874">Sinx</translation>
+<translation id="6410883413783534063">Müxtəlif səhifələrə eyni vaxtda daxil olmaq üçün tabları açın</translation>
 <translation id="6412673304250309937">URL'ləri Chrome'da saxlanılan təhlükəli saytların siyahısı ilə yoxlayır. Sayt parolunuzu oğurlamağa çalışdıqda və ya zərərli fayl endirdiyinizdə Chrome səhifə məzmunundan kiçik nümunələr də daxil olmaqla, URL'ləri Təhlükəsiz Baxışa göndərə bilər.</translation>
 <translation id="641643625718530986">Çap edin...</translation>
 <translation id="6427112570124116297">Vebi tərcümə edin</translation>
@@ -819,6 +820,7 @@
 <translation id="7328017930301109123">Layt rejimində Chrome səhifələri daha tez yükləyir və dataya 60 faizədək qənaət edir.</translation>
 <translation id="7333031090786104871">Əvvəlki sayt hələ əlavə olunur</translation>
 <translation id="7340958967809483333">"Kəşf edin" üçün seçimlər</translation>
+<translation id="7352651011704765696">Xəta oldu</translation>
 <translation id="7352939065658542140">VİDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Seçilmiş 1 elementi paylaşın}other{Seçilmiş # elementi paylaşın}}</translation>
 <translation id="7359002509206457351">Ödəniş üsullarına daxil olun</translation>
@@ -1011,6 +1013,7 @@
 <translation id="868929229000858085">Kontaktlarda axtarın</translation>
 <translation id="869891660844655955">Bitmə tarixi</translation>
 <translation id="8712637175834984815">Anladım</translation>
+<translation id="8725066075913043281">Yenidən cəhd edin</translation>
 <translation id="8748850008226585750">Məzmun gizlidir</translation>
 <translation id="8751914237388039244">Şəkil seçin</translation>
 <translation id="8758557275681689734">Bütün açıq tabellərinizə baxın</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb
index 04a236e..87b46bd 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb
@@ -702,6 +702,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> на <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Змяніце закладку</translation>
 <translation id="6406506848690869874">Сінхранізаваць</translation>
+<translation id="6410883413783534063">Каб праглядаць некалькі старонак адначасова, карыстайцеся ўкладкамі</translation>
 <translation id="6412673304250309937">Правярае, ці знаходзяцца URL-адрасы ў спісе небяспечных сайтаў, захаваным у Chrome. Пры спробе сайта выкрасці пароль або пры спампоўванні шкоднага файла браўзер Chrome можа таксама адпраўляць у Бяспечны прагляд URL-адрасы, уключаючы фрагменты змесціва старонкі.</translation>
 <translation id="641643625718530986">Друк…</translation>
 <translation id="6427112570124116297">Пераклад вэб-старонак</translation>
@@ -820,6 +821,7 @@
 <translation id="7328017930301109123">У спрошчаным рэжыме Chrome загружае старонкі хутчэй і зніжае выкарыстанне трафіка максімум на 60 працэнтаў.</translation>
 <translation id="7333031090786104871">Ідзе дадаванне папярэдняга сайта</translation>
 <translation id="7340958967809483333">Параметры рэкамендацый</translation>
+<translation id="7352651011704765696">Нешта пайшло не так</translation>
 <translation id="7352939065658542140">ВІДЭА</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Абагуліць 1 выбраны элемент}one{Абагуліць # выбраны элемент}few{Абагуліць # выбраныя элементы}many{Абагуліць # выбраных элементаў}other{Абагуліць # выбранага элемента}}</translation>
 <translation id="7359002509206457351">Доступ да спосабаў аплаты</translation>
@@ -1012,6 +1014,7 @@
 <translation id="868929229000858085">Пошук у кантактах</translation>
 <translation id="869891660844655955">Тэрмін дзеяння</translation>
 <translation id="8712637175834984815">Зразумела</translation>
+<translation id="8725066075913043281">Паўтарыць спробу</translation>
 <translation id="8748850008226585750">Змесціва схавана</translation>
 <translation id="8751914237388039244">Выберыце відарыс</translation>
 <translation id="8758557275681689734">Праглядайце ўсе адкрытыя ўкладкі</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
index 92d4c222f..8a730c3 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> на адрес <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Редактиране на отметката</translation>
 <translation id="6406506848690869874">Синхронизиранe</translation>
+<translation id="6410883413783534063">Отворете няколко раздела, за да посетите различни страници едновременно</translation>
 <translation id="6412673304250309937">Проверка на URL адресите в съхраняван в Chrome списък с опасни сайтове. Ако сайт се опита да открадне паролата ви или изтеглите опасен файл от сайт, Chrome може също така да изпрати до „Безопасно сърфиране“ URL адресите и част от съдържанието на страницата.</translation>
 <translation id="641643625718530986">Печат…</translation>
 <translation id="6427112570124116297">Превод на всичко в мрежата</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">Управление на синхронизираните данни</translation>
 <translation id="6699370405921460408">Сървърите на Google ще оптимизират посещаваните от вас страници.</translation>
 <translation id="670498945988402717">Проверено вчера</translation>
-<translation id="6710213216561001401">Предишна</translation>
+<translation id="6710213216561001401">Предишно</translation>
 <translation id="671481426037969117">Таймерът ви за <ph name="FQDN" /> изтече и ще се стартира отново утре.</translation>
 <translation id="6738867403308150051">Изтегля се…</translation>
 <translation id="6767294960381293877">Списъкът с устройства, с които да се сподели даден раздел, е отворен на половин височина.</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">В олекотения режим на Chrome страниците се зареждат по-бързо и се използват до 60 процента по-малко данни.</translation>
 <translation id="7333031090786104871">Още се добавя предишният сайт</translation>
 <translation id="7340958967809483333">Опции за Discover</translation>
+<translation id="7352651011704765696">Нещо се обърка</translation>
 <translation id="7352939065658542140">ВИДЕОКЛИП</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Споделяне на 1 избран елемент}other{Споделяне на # избрани елемента}}</translation>
 <translation id="7359002509206457351">Достъп до начините на плащане</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Търсене в контактите ви</translation>
 <translation id="869891660844655955">Дата на валидност</translation>
 <translation id="8712637175834984815">Разбрах</translation>
+<translation id="8725066075913043281">Опитайте отново</translation>
 <translation id="8748850008226585750">Съдържанието е скрито</translation>
 <translation id="8751914237388039244">Изберете изображение</translation>
 <translation id="8758557275681689734">Преглед на всички отворени раздели</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
index c0d0099..0145075 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
@@ -705,6 +705,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" />-এ <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">বুকমার্ক সম্পাদনা করুন</translation>
 <translation id="6406506848690869874">সিঙ্ক</translation>
+<translation id="6410883413783534063">ট্যাবগুলি খুলে রাখুন যাতে একই সাথে বিভিন্ন পৃষ্ঠাতে যেতে পারেন</translation>
 <translation id="6412673304250309937">Chrome-এ স্টোর করা নিরাপদ নয় এমন সাইটের তালিকা থেকে সাইটগুলির ইউআরএল পরীক্ষা করে দেখে। যদি কোনও সাইট আপনার পাসওয়ার্ড চুরি করার চেষ্টা করে বা আপনি কোনও ক্ষতিকারক ফাইল ডাউনলোড করলে, Safe Browsing-এ Chrome পৃষ্ঠার কিছু কন্টেন্ট সহ ইউআরএলও হয়ত পাঠাতে পারে।</translation>
 <translation id="641643625718530986">প্রিন্ট...</translation>
 <translation id="6427112570124116297">ওয়েবের কন্টেন্ট অনুবাদ করুন</translation>
@@ -757,7 +758,7 @@
 <translation id="6698801883190606802">সিঙ্ক হওয়া ডেটা পরিচালনা করুন</translation>
 <translation id="6699370405921460408">আপনি যে পৃষ্ঠাগুলিতে যান সেগুলি Google সার্ভার অপ্টিমাইজ করবে।</translation>
 <translation id="670498945988402717">গতকাল চেক করা হয়েছে</translation>
-<translation id="6710213216561001401">পূর্ববর্তী</translation>
+<translation id="6710213216561001401">আগের</translation>
 <translation id="671481426037969117">আপনার <ph name="FQDN" /> টাইমারের মেয়াদ পেরিয়ে গেছে। আগামীকাল আবার এটি শুরু হবে।</translation>
 <translation id="6738867403308150051">ডাউনলোড হচ্ছে...</translation>
 <translation id="6767294960381293877">ট্যাব শেয়ার করা যাবে এমন ডিভাইসের সূচি অর্ধেক স্ক্রিন জুড়ে খোলা হয়েছে।</translation>
@@ -823,6 +824,7 @@
 <translation id="7328017930301109123">লাইট মোডে, Chrome আরও দ্রুত পৃষ্ঠা লোড করে এবং ৬০ শতাংশ পর্যন্ত কম ডেটা ব্যবহার করে।</translation>
 <translation id="7333031090786104871">এখনও পূর্বের সাইট যোগ করছে</translation>
 <translation id="7340958967809483333">Discover-এর বিকল্প</translation>
+<translation id="7352651011704765696">কিছু সমস্যা হয়েছে</translation>
 <translation id="7352939065658542140">ভিডিও</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{১টি নির্বাচিত আইটেম শেয়ার করুন}one{#টি নির্বাচিত আইটেম শেয়ার করুন}other{#টি নির্বাচিত আইটেম শেয়ার করুন}}</translation>
 <translation id="7359002509206457351">পেমেন্টের পদ্ধতি অ্যাক্সেস করুন</translation>
@@ -1015,6 +1017,7 @@
 <translation id="868929229000858085">আপনার পরিচিতি সার্চ করুন</translation>
 <translation id="869891660844655955">মেয়াদকাল সমাপ্তির তারিখ</translation>
 <translation id="8712637175834984815">বুঝেছি</translation>
+<translation id="8725066075913043281">আবার চেষ্টা করুন</translation>
 <translation id="8748850008226585750">সামগ্রী লুকানো আছে</translation>
 <translation id="8751914237388039244">একটি ছবি বেছে নিন</translation>
 <translation id="8758557275681689734">আপনার সবকটি ট্যাব দেখুন</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 79acfec..bf6836e 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Čekanje drugog preuzimanja…</translation>
 <translation id="5865733239029070421">Automatski šalje Googleu statistiku korištenja i izvještaje o padovima aplikacije</translation>
 <translation id="5869522115854928033">Sačuvane lozinke</translation>
+<translation id="5872013926720995826">Potvrda veza na digitalna prava nije uspjela za <ph name="VIOLATED_URL" /></translation>
 <translation id="5876056640971328065">Pauziranje videozapisa</translation>
 <translation id="5884076754568147479">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</translation>
 <translation id="5919204609460789179">Ažurirajte proizvod <ph name="PRODUCT_NAME" /> da započnete sinhronizaciju</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> na <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Uredite oznaku</translation>
 <translation id="6406506848690869874">Sinhronizacija</translation>
+<translation id="6410883413783534063">Otvorite kartice da istovremeno posjetite različite stranice</translation>
 <translation id="6412673304250309937">Provjerava URL-ove s listom nesigurnih web lokacija pohranjenih u Chromeu. Ako web lokacija pokuša ukrasti vašu lozinku, ili kada preuzimate štetan fajl, Chrome može slati i URL-ove, uključujući dijelove sadržaja stranice, u Sigurno pregledanje.</translation>
 <translation id="641643625718530986">Štampaj…</translation>
 <translation id="6427112570124116297">Prevedite web</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">U jednostavnom načinu rada, Chrome učitava stranice brže i koristi do 60 procenata manje podataka.</translation>
 <translation id="7333031090786104871">Prethodna web lokacija se još uvijek dodaje</translation>
 <translation id="7340958967809483333">Opcije za Discover</translation>
+<translation id="7352651011704765696">Nešto nije uredu</translation>
 <translation id="7352939065658542140">VIDEOZAPIS</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Dijelite 1 odabranu stavku}one{Dijelite # odabranu stavku}few{Dijelite # odabrane stavke}other{Dijelite # odabranih stavki}}</translation>
 <translation id="7359002509206457351">Pristup načinima plaćanja</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Pretražite kontakte</translation>
 <translation id="869891660844655955">Datum isteka</translation>
 <translation id="8712637175834984815">Razumijem</translation>
+<translation id="8725066075913043281">Pokušaj ponovo</translation>
 <translation id="8748850008226585750">Sadržaj je sakriven</translation>
 <translation id="8751914237388039244">Odaberite sliku</translation>
 <translation id="8758557275681689734">Prikaz svih otvorenih kartica</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 d57e47c..431e2b5 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">S'està esperant que finalitzi una altra baixada…</translation>
 <translation id="5865733239029070421">Envia automàticament a Google estadístiques d'ús i informes d'error</translation>
 <translation id="5869522115854928033">Contrasenyes desades</translation>
+<translation id="5872013926720995826">La verificació d'enllaços d'asserció digital ha fallat a <ph name="VIOLATED_URL" /></translation>
 <translation id="5876056640971328065">Posa en pausa el vídeo</translation>
 <translation id="5884076754568147479">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</translation>
 <translation id="5919204609460789179">Actualitza <ph name="PRODUCT_NAME" /> per iniciar la sincronització</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> a <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Edita l'adreça d'interès</translation>
 <translation id="6406506848690869874">Sincronització</translation>
+<translation id="6410883413783534063">Obre pestanyes per visitar diverses pàgines al mateix temps</translation>
 <translation id="6412673304250309937">Compara els URL amb una llista de llocs web no segurs emmagatzemada a Chrome. Si un lloc web prova de robar-te la contrasenya o si baixes un fitxer maliciós, és possible que Chrome també n'enviï els URL, inclosos fragments de contingut de les pàgines, a Navegació segura.</translation>
 <translation id="641643625718530986">Imprimeix…</translation>
 <translation id="6427112570124116297">Tradueix el web</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">En el mode bàsic, Chrome carrega les pàgines més ràpidament i utilitza fins a un 60 per cent menys de dades.</translation>
 <translation id="7333031090786104871">Encara s'hi està afegint el lloc anterior</translation>
 <translation id="7340958967809483333">Opcions per a Discover</translation>
+<translation id="7352651011704765696">S'ha produït un error</translation>
 <translation id="7352939065658542140">VÍDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Comparteix 1 element seleccionat}other{Comparteix # elements seleccionats}}</translation>
 <translation id="7359002509206457351">Accedeix a les formes de pagament</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Cerca als contactes</translation>
 <translation id="869891660844655955">Data de caducitat</translation>
 <translation id="8712637175834984815">Entesos</translation>
+<translation id="8725066075913043281">Torna-ho a provar</translation>
 <translation id="8748850008226585750">Contingut amagat</translation>
 <translation id="8751914237388039244">Selecciona una imatge</translation>
 <translation id="8758557275681689734">Mostra totes les pestanyes obertes</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 c876d6a..dd229d73 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> na webu <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Upravit záložku</translation>
 <translation id="6406506848690869874">Synchronizace</translation>
+<translation id="6410883413783534063">Pomocí karet můžete mít otevřených několik různých stránek najednou</translation>
 <translation id="6412673304250309937">Kontroluje adresy URL oproti seznamu nebezpečných webů uloženému v Chromu. Pokud se web pokusí odcizit vám heslo nebo když stáhnete škodlivý soubor, může Chrome Bezpečnému prohlížení odeslat také adresy URL, včetně částí obsahu stránky.</translation>
 <translation id="641643625718530986">Tisk…</translation>
 <translation id="6427112570124116297">Přeložte si web</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Ve zjednodušeném režimu načítá Chrome stránky rychleji a používá až o 60 procent méně dat.</translation>
 <translation id="7333031090786104871">Předchozí web se stále přidává</translation>
 <translation id="7340958967809483333">Možnosti funkce Objevit</translation>
+<translation id="7352651011704765696">Něco se pokazilo</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Sdílet 1 vybranou položku}few{Sdílet # vybrané položky}many{Sdílet # vybrané položky}other{Sdílet # vybraných položek}}</translation>
 <translation id="7359002509206457351">Poskytnout přístup k platební metodám</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Vyhledat v kontaktech</translation>
 <translation id="869891660844655955">Datum vypršení platnosti</translation>
 <translation id="8712637175834984815">Hotovo</translation>
+<translation id="8725066075913043281">Zkusit znovu</translation>
 <translation id="8748850008226585750">Skrytý obsah</translation>
 <translation id="8751914237388039244">Vybrat obrázek</translation>
 <translation id="8758557275681689734">Zobrazení všech otevřených karet</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 95ee13c..6384099 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Venter på en anden download…</translation>
 <translation id="5865733239029070421">Sender automatisk brugsstatistikker og nedbrudsrapporter til Google</translation>
 <translation id="5869522115854928033">Gemte adgangskoder</translation>
+<translation id="5872013926720995826">Links til digitale påstande blev ikke bekræftet på <ph name="VIOLATED_URL" /></translation>
 <translation id="5876056640971328065">Sæt video på pause</translation>
 <translation id="5884076754568147479">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</translation>
 <translation id="5919204609460789179">Opdater <ph name="PRODUCT_NAME" /> for at starte synkroniseringen</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> på <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Rediger bogmærke</translation>
 <translation id="6406506848690869874">Synkronisering</translation>
+<translation id="6410883413783534063">Åbn faner for at besøge forskellige sider på samme tid</translation>
 <translation id="6412673304250309937">Tjekker webadresser ift. en liste over usikre websites, der er gemt i Chrome. Hvis et website forsøger at stjæle din adgangskode, eller når du downloader en skadelig fil, sender Chrome muligvis også webadresser, bl.a. mindre mængder sideindhold, til Beskyttet browsing.</translation>
 <translation id="641643625718530986">Udskriv…</translation>
 <translation id="6427112570124116297">Oversæt på nettet</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">Chrome indlæser sider hurtigere og bruger op til 60 procent mindre data i Lite-tilstand.</translation>
 <translation id="7333031090786104871">Det forrige website er stadig ved at blive tilføjet</translation>
 <translation id="7340958967809483333">Indstillinger for Discover</translation>
+<translation id="7352651011704765696">Der opstod en fejl</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Del 1 valgt element}one{Del # valgt element}other{Del # valgte elementer}}</translation>
 <translation id="7359002509206457351">Adgang til betalingsmetoder</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Søg blandt dine kontakter</translation>
 <translation id="869891660844655955">Udløbsdato</translation>
 <translation id="8712637175834984815">Forstået</translation>
+<translation id="8725066075913043281">Forsøg igen</translation>
 <translation id="8748850008226585750">Indholdet er skjult</translation>
 <translation id="8751914237388039244">Vælg et billede</translation>
 <translation id="8758557275681689734">Se alle dine åbne faner</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
index ea7360e..b1e8fd7 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> auf <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Lesezeichen bearbeiten</translation>
 <translation id="6406506848690869874">Synchronisierung</translation>
+<translation id="6410883413783534063">Öffnen Sie Tabs, um mehrere Seiten gleichzeitig zu besuchen</translation>
 <translation id="6412673304250309937">Prüft URLs anhand einer Liste unsicherer Websites, die in Chrome gespeichert wird. Wenn eine Website versucht, Ihr Passwort zu stehlen, oder wenn Sie eine schädliche Datei herunterladen, kann Chrome auch URLs, einschließlich Teile von Seiteninhalten, an Safe Browsing senden.</translation>
 <translation id="641643625718530986">Drucken...</translation>
 <translation id="6427112570124116297">Das Web übersetzen</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">Synchronisierte Daten verwalten</translation>
 <translation id="6699370405921460408">Google-Server optimieren die Seiten, die Sie besuchen.</translation>
 <translation id="670498945988402717">Gestern geprüft</translation>
-<translation id="6710213216561001401">Zurück</translation>
+<translation id="6710213216561001401">Vorherige Einreichung</translation>
 <translation id="671481426037969117">Ihr <ph name="FQDN" />-Timer ist abgelaufen. Morgen startet er neu.</translation>
 <translation id="6738867403308150051">Wird heruntergeladen...</translation>
 <translation id="6767294960381293877">Die Liste von Geräten, mit denen ein Tab geteilt werden kann, ist halb geöffnet.</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Im Lite-Modus werden Seiten schneller in Chrome geladen und es werden bis zu 60 Prozent weniger Daten verbraucht.</translation>
 <translation id="7333031090786104871">Vorherige Website wird noch hinzugefügt</translation>
 <translation id="7340958967809483333">Optionen für Discover</translation>
+<translation id="7352651011704765696">Ein Problem ist aufgetreten.</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 ausgewähltes Element teilen}other{# ausgewählte Elemente teilen}}</translation>
 <translation id="7359002509206457351">Auf Zahlungsmethoden zugreifen</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Kontakte durchsuchen</translation>
 <translation id="869891660844655955">Ablaufdatum</translation>
 <translation id="8712637175834984815">Alles klar</translation>
+<translation id="8725066075913043281">Erneut versuchen</translation>
 <translation id="8748850008226585750">Inhalte ausgeblendet</translation>
 <translation id="8751914237388039244">Bild auswählen</translation>
 <translation id="8758557275681689734">Alle geöffneten Tabs ansehen</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 dd69edb3..e8d98e95 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Αναμονή για άλλη λήψη…</translation>
 <translation id="5865733239029070421">Αποστέλλει αυτόματα στατιστικά στοιχεία χρήσης και αναφορές σφαλμάτων στην Google</translation>
 <translation id="5869522115854928033">Αποθηκευμένοι κωδικοί πρόσβασης</translation>
+<translation id="5872013926720995826">Η επαλήθευση Συνδέσμων ψηφιακών στοιχείων απέτυχε στο <ph name="VIOLATED_URL" /></translation>
 <translation id="5876056640971328065">Παύση βίντεο</translation>
 <translation id="5884076754568147479">Για να σας βοηθήσει να ολοκληρώνετε τις εργασίες σας, η Google θα λάβει τα URL και το περιεχόμενο των ιστοτόπων στους οποίους χρησιμοποιείτε τον Βοηθό, καθώς και τις πληροφορίες που υποβάλετε μέσω του Βοηθού.</translation>
 <translation id="5919204609460789179">Ενημερώστε το <ph name="PRODUCT_NAME" /> για να ξεκινήσει ο συγχρονισμός</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Επεξεργασία σελιδοδείκτη</translation>
 <translation id="6406506848690869874">Συγχρονισμός</translation>
+<translation id="6410883413783534063">Ανοίξτε καρτέλες για να επισκεφτείτε διαφορετικές σελίδες ταυτόχρονα.</translation>
 <translation id="6412673304250309937">Ελέγχει αν τα URL περιλαμβάνονται στην λίστα μη ασφαλών ιστοτόπων που είναι αποθηκευμένη στο Chrome. Εάν ένας ιστότοπος προσπαθήσει να κλέψει τον κωδικό σας ή όταν κάνετε λήψη ενός επιβλαβούς αρχείου, το Chrome μπορεί επίσης να στείλει URL, καθώς και τμήματα του περιεχομένου της σελίδας, στην Ασφαλή περιήγηση.</translation>
 <translation id="641643625718530986">Εκτύπωση…</translation>
 <translation id="6427112570124116297">Μετάφραση ιστού</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">Στη λειτουργία Lite, το Chrome φορτώνει σελίδες πιο γρήγορα και χρησιμοποιεί έως και 60 τοις εκατό λιγότερα δεδομένα.</translation>
 <translation id="7333031090786104871">Η προσθήκη του προηγούμενου ιστοτόπου δεν έχει ολοκληρωθεί</translation>
 <translation id="7340958967809483333">Επιλογές για Discover</translation>
+<translation id="7352651011704765696">Παρουσιάστηκε κάποιο πρόβλημα</translation>
 <translation id="7352939065658542140">ΒΙΝΤΕΟ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Κοινοποίηση 1 επιλεγμένου στοιχείου}other{Κοινοποίηση # επιλεγμένων στοιχείων}}</translation>
 <translation id="7359002509206457351">Πρόσβαση σε τρόπους πληρωμής</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Αναζήτηση στις επαφές σας</translation>
 <translation id="869891660844655955">Ημερομηνία λήξης</translation>
 <translation id="8712637175834984815">Κατάλαβα!</translation>
+<translation id="8725066075913043281">Προσπαθήστε ξανά</translation>
 <translation id="8748850008226585750">Κρυφό περιεχόμενο</translation>
 <translation id="8751914237388039244">Επιλογή εικόνας</translation>
 <translation id="8758557275681689734">Δείτε όλες τις ανοιχτές καρτέλες</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 a853864..8ee65cb5 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Waiting for another download…</translation>
 <translation id="5865733239029070421">Automatically sends usage statistics and crash reports to Google</translation>
 <translation id="5869522115854928033">Saved passwords</translation>
+<translation id="5872013926720995826">Digital assert link verification failed on <ph name="VIOLATED_URL" /></translation>
 <translation id="5876056640971328065">Pause video</translation>
 <translation id="5884076754568147479">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</translation>
 <translation id="5919204609460789179">Update <ph name="PRODUCT_NAME" /> to start sync</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> on <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Edit bookmark</translation>
 <translation id="6406506848690869874">Sync</translation>
+<translation id="6410883413783534063">Open tabs to visit different pages at the same time</translation>
 <translation id="6412673304250309937">Checks URLs with a list of unsafe sites stored in Chrome. If a site tries to steal your password, or when you download a harmful file, Chrome may also send URLs, including bits of page content, to Safe Browsing.</translation>
 <translation id="641643625718530986">Print…</translation>
 <translation id="6427112570124116297">Translate the Web</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">In Lite mode, Chrome loads pages faster and uses up to 60 per cent less data.</translation>
 <translation id="7333031090786104871">Still adding previous site</translation>
 <translation id="7340958967809483333">Options for Discover</translation>
+<translation id="7352651011704765696">Something went wrong</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Share 1 selected item}other{Share # selected items}}</translation>
 <translation id="7359002509206457351">Access payment methods</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Search your contacts</translation>
 <translation id="869891660844655955">Expiry date</translation>
 <translation id="8712637175834984815">Got it</translation>
+<translation id="8725066075913043281">Try again</translation>
 <translation id="8748850008226585750">Contents hidden</translation>
 <translation id="8751914237388039244">Select an image</translation>
 <translation id="8758557275681689734">See all your open tabs</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 a549a2e..8c65b7f 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> de <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Editar marcador</translation>
 <translation id="6406506848690869874">Sincronización</translation>
+<translation id="6410883413783534063">Abre pestañas para visitar diferentes páginas al mismo tiempo</translation>
 <translation id="6412673304250309937">Revisa las URL con una lista de sitios no seguros almacenados en Chrome. Si un sitio intenta robar tu contraseña, o cuando descargas un archivo dañino, es posible que Chrome también envíe las URL, con partes del contenido de la página, a la Navegación segura.</translation>
 <translation id="641643625718530986">Imprimir…</translation>
 <translation id="6427112570124116297">Traduce la Web</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">En el modo lite, Chrome carga las páginas más rápido y usa hasta un 60 por ciento menos de datos.</translation>
 <translation id="7333031090786104871">Aún se está agregando el sitio anterior</translation>
 <translation id="7340958967809483333">Opciones para Descubre</translation>
+<translation id="7352651011704765696">Se produjo un error</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Comparte 1 elemento seleccionado}other{Comparte # elementos seleccionados}}</translation>
 <translation id="7359002509206457351">Acceder a formas de pago</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Busca entre tus contactos</translation>
 <translation id="869891660844655955">Fecha de vencimiento</translation>
 <translation id="8712637175834984815">Entendido</translation>
+<translation id="8725066075913043281">Intentar nuevamente</translation>
 <translation id="8748850008226585750">Contenidos ocultos</translation>
 <translation id="8751914237388039244">Seleccionar una imagen</translation>
 <translation id="8758557275681689734">Mira todas tus pestañas abiertas</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 09a58673..daa9fd5d 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609">Error <ph name="ERROR_CODE" /> en <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Editar marcador</translation>
 <translation id="6406506848690869874">Sincronización</translation>
+<translation id="6410883413783534063">Abre pestañas para visitar varias páginas al mismo tiempo</translation>
 <translation id="6412673304250309937">Comprueba las URL guardadas en Chrome con una lista de sitios web que no son seguros. Si un sitio web intenta robarte la contraseña o te descargas un archivo dañino, puede que Chrome también envíe URL, así como fragmentos de contenido de la página, a Navegación Segura.</translation>
 <translation id="641643625718530986">Imprimir…</translation>
 <translation id="6427112570124116297">Traduce la Web</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">En el modo básico, Chrome carga las páginas más rápido y reduce el uso de datos hasta un 60 por ciento.</translation>
 <translation id="7333031090786104871">Aún se está añadiendo el sitio web anterior</translation>
 <translation id="7340958967809483333">Opciones de Discover</translation>
+<translation id="7352651011704765696">Se ha producido un problema</translation>
 <translation id="7352939065658542140">VÍDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Compartir 1 elemento seleccionado}other{Compartir # elementos seleccionados}}</translation>
 <translation id="7359002509206457351">Acceder a métodos de pago</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Buscar en tus contactos</translation>
 <translation id="869891660844655955">Fecha de caducidad</translation>
 <translation id="8712637175834984815">Listo</translation>
+<translation id="8725066075913043281">Volver a intentarlo</translation>
 <translation id="8748850008226585750">Contenidos ocultos</translation>
 <translation id="8751914237388039244">Selecciona una imagen</translation>
 <translation id="8758557275681689734">Consulta todas las pestañas abiertas</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 94c7b44..06db298 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Teise allalaadimise ootamine …</translation>
 <translation id="5865733239029070421">Google'ile saadetakse automaatselt kasutusstatistikat ja krahhiaruandeid</translation>
 <translation id="5869522115854928033">Salvestatud paroolid</translation>
+<translation id="5872013926720995826">Digitaalse kinnituse linkide kinnitamine URL-il <ph name="VIOLATED_URL" /> ebaõnnestus</translation>
 <translation id="5876056640971328065">Video peatamine</translation>
 <translation id="5884076754568147479">Selleks et aidata teil toiminguid teha, saadetakse Google'ile nende saitide URL-id ja sisu, millel assistenti kasutate, ning teave, mille assistendi kaudu esitate</translation>
 <translation id="5919204609460789179">Sünkroonimise alustamiseks värskendage teenust <ph name="PRODUCT_NAME" /></translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> saidil <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Muuda järjehoidjat</translation>
 <translation id="6406506848690869874">Sünkroonimine</translation>
+<translation id="6410883413783534063">Avage vahelehti, et samal ajal eri lehti külastada</translation>
 <translation id="6412673304250309937">Kontrollib URL-e Chrome'i talletatud ohtlike saitide loendi alusel. Kui sait üritab teie parooli varastada või laadite alla kahjuliku faili, võib Chrome saata URL-id ja lehe sisu osad teenusesse Google'i ohutu sirvimine.</translation>
 <translation id="641643625718530986">Printimine ...</translation>
 <translation id="6427112570124116297">Veebi tõlkimine</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">Lihtsustatud režiimis laadib Chrome lehti kiiremini ja kasutab kuni 60 protsenti vähem andmemahtu.</translation>
 <translation id="7333031090786104871">Eelmist saiti alles lisatakse</translation>
 <translation id="7340958967809483333">Funktsiooni Discover valikud</translation>
+<translation id="7352651011704765696">Midagi läks valesti</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Jaga 1 valitud üksust}other{Jaga # valitud üksust}}</translation>
 <translation id="7359002509206457351">Makseviisidele juurdepääsemine</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Otsige kontaktide hulgast</translation>
 <translation id="869891660844655955">Aegumiskuupäev</translation>
 <translation id="8712637175834984815">Selge</translation>
+<translation id="8725066075913043281">Proovi uuesti</translation>
 <translation id="8748850008226585750">Sisu on peidetud</translation>
 <translation id="8751914237388039244">Kujutise valimine</translation>
 <translation id="8758557275681689734">Kuvab kõik avatud vahelehed</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 ff224bbd9..87953fb 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
@@ -451,6 +451,7 @@
 <translation id="4605958867780575332">Kendu da elementua: <ph name="ITEM_TITLE" /></translation>
 <translation id="4616150815774728855">Ireki <ph name="WEBAPK_NAME" /></translation>
 <translation id="4634124774493850572">Erabili pasahitza</translation>
+<translation id="4640331037679501949">{NUM_PASSWORDS,plural, =1{1 pasahitz dago arriskuan}other{# pasahitz daude arriskuan}}</translation>
 <translation id="4650364565596261010">Sistemaren balio lehenetsia</translation>
 <translation id="465657074423018424">Arakatze seguruak webgune arriskutsuen aurka babesten zaitu. Hura desaktibatuz gero, ibili tentuz arakatzean, bereziki pasahitzak idatzi baino lehen.</translation>
 <translation id="4662373422909645029">Goitizenak ezin du eduki zenbakirik</translation>
@@ -702,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> (<ph name="VIOLATED_URL" />)</translation>
 <translation id="6404511346730675251">Editatu laster-marka</translation>
 <translation id="6406506848690869874">Sinkronizazioa</translation>
+<translation id="6410883413783534063">Erabili fitxak aldi berean webgune bat baino gehiago ikusteko</translation>
 <translation id="6412673304250309937">URLak Chrome-n gordetako webgune ez-seguruen zerrendan dauden ala ez egiaztatzen du. Webguneren bat pasahitza lapurtzen saiatzen bada, edo fitxategi kaltegarriren bat deskargatzen baduzu, baliteke Chrome-k URLak ere bidaltzea (orriko edukiaren zati batzuk barne) Arakatze segurua eginbideari.</translation>
 <translation id="641643625718530986">Inprimatu…</translation>
 <translation id="6427112570124116297">Itzuli web-orria</translation>
@@ -820,6 +822,7 @@
 <translation id="7328017930301109123">Oinarrizko moduari esker, Chrome-k bizkorrago kargatzen ditu orriak, datuen ehuneko 60raino aurreztuta.</translation>
 <translation id="7333031090786104871">Oraindik gehitzen ari da aurreko webgunea</translation>
 <translation id="7340958967809483333">Discover-en aukerak</translation>
+<translation id="7352651011704765696">Arazoren bat izan da</translation>
 <translation id="7352939065658542140">BIDEOA</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Partekatu hautatutako elementua}other{Partekatu hautatutako # elementuak}}</translation>
 <translation id="7359002509206457351">Atzitu ordainketa-metodoak</translation>
@@ -1012,6 +1015,7 @@
 <translation id="868929229000858085">Bilatu kontaktuak</translation>
 <translation id="869891660844655955">Iraungitze-data</translation>
 <translation id="8712637175834984815">Ados</translation>
+<translation id="8725066075913043281">Saiatu berriro</translation>
 <translation id="8748850008226585750">Ezkutatuta dago edukia</translation>
 <translation id="8751914237388039244">Hautatu irudi bat</translation>
 <translation id="8758557275681689734">Ikusi irekita dauden fitxa guztiak</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
index 917a5c0..8dd64f4 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> در <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">ویرایش نشانک</translation>
 <translation id="6406506848690869874">همگام‌سازی</translation>
+<translation id="6410883413783534063">برای بازدید هم‌زمان از صفحه‌های مختلف، چند برگه باز کنید</translation>
 <translation id="6412673304250309937">‏نشانی‌های وب را با فهرست سایت‌های ناامنی که در Chrome ذخیره شده است مقایسه می‌کند. اگر سایتی تلاش کند گذرواژه شما را به‌سرقت ببرد، یا وقتی فایل مخربی بارگیری می‌کنید، Chrome ممکن است نشانی‌های وب را نیز به همراه بخش‌های کوچکی از محتوای صفحه، به «مرور ایمن» ارسال کند.</translation>
 <translation id="641643625718530986">چاپ...</translation>
 <translation id="6427112570124116297">وب را ترجمه کنید</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">‏در «حالت ساده»، Chrome صفحه‌ها را سریع‌تر بار می‌کند و تا ۶۰ درصد مصرف داده را کاهش می‌دهد.</translation>
 <translation id="7333031090786104871">همچنان درحال افزودن سایت قبلی</translation>
 <translation id="7340958967809483333">گزینه‌های «یافته‌ها»</translation>
+<translation id="7352651011704765696">مشکلی پیش آمد</translation>
 <translation id="7352939065658542140">ویدیو</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{اشتراک‌گذاری ۱ مورد انتخاب‌شده}one{اشتراک‌گذاری # مورد انتخاب‌شده}other{اشتراک‌گذاری # مورد انتخاب‌شده}}</translation>
 <translation id="7359002509206457351">دسترسی به روش‌های پرداخت</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">جستجوی مخاطبین</translation>
 <translation id="869891660844655955">تاریخ انقضا</translation>
 <translation id="8712637175834984815">متوجه شدم</translation>
+<translation id="8725066075913043281">سعی مجدد</translation>
 <translation id="8748850008226585750">محتوا پنهان است</translation>
 <translation id="8751914237388039244">تصویری انتخاب کنید</translation>
 <translation id="8758557275681689734">دیدن همه برگه‌های باز</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
index 796d0b5..9ba363b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" />, <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Muokkaa kirjanmerkkiä</translation>
 <translation id="6406506848690869874">Synkronointi</translation>
+<translation id="6410883413783534063">Avaa välilehtiä, jotta voit selata useita sivuja yhtä aikaa</translation>
 <translation id="6412673304250309937">Tarkistaa URL-osoitteet Chromeen tallennetun vaarallisten sivustojen luettelon avulla. Jos sivusto yrittää varastaa salasanaasi tai jos lataat haitallisen tiedoston, Chrome voi myös lähettää Selaussuojan tarkistettavaksi URL-osoitteita, mukaan lukien osia sivujen sisällöstä.</translation>
 <translation id="641643625718530986">Tulosta…</translation>
 <translation id="6427112570124116297">Käännä verkon sisältö</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Yksinkertaistetussa tilassa Chrome lataa sivuja nopeammin ja käyttää jopa 60 prosenttia vähemmän dataa.</translation>
 <translation id="7333031090786104871">Edellisen sivuston lisääminen kesken</translation>
 <translation id="7340958967809483333">Discover-asetukset</translation>
+<translation id="7352651011704765696">Tapahtui jokin virhe</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Jaa 1 valittu kohde}other{Jaa # valittua kohdetta}}</translation>
 <translation id="7359002509206457351">Pääsy maksutapoihin</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Hae yhteystiedoistasi</translation>
 <translation id="869891660844655955">Vanhenemispäivämäärä</translation>
 <translation id="8712637175834984815">Ymmärretty</translation>
+<translation id="8725066075913043281">Yritä uudelleen</translation>
 <translation id="8748850008226585750">Sisältö piilotettu</translation>
 <translation id="8751914237388039244">Valitse kuva</translation>
 <translation id="8758557275681689734">Katso kaikki avoimet välilehdet</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
index a507be67..52c2285 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> sa <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">I-edit ang bookmark</translation>
 <translation id="6406506848690869874">Pag-sync</translation>
+<translation id="6410883413783534063">Magbukas ng mga tab para mabisita ang iba't ibang page nang sabay-sabay</translation>
 <translation id="6412673304250309937">Sinusuri ang mga URL sa pamamagitan ng listahan ng mga hindi ligtas na site na naka-store sa Chrome. Kung susubukan ng site na nakawin ang iyong password, o kapag nag-download ka ng mapaminsalang file, posible ring magpadala ang Chrome sa Ligtas na Pag-browse ng mga URL, kabilang ang ilang content ng page</translation>
 <translation id="641643625718530986">I-print…</translation>
 <translation id="6427112570124116297">I-translate ang Web</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">Pamahalaan ang na-sync na data</translation>
 <translation id="6699370405921460408">Io-optimize ng mga server ng Google ang mga page na binibisita mo.</translation>
 <translation id="670498945988402717">Nagsuri kahapon</translation>
-<translation id="6710213216561001401">Nakaraan</translation>
+<translation id="6710213216561001401">Nauna</translation>
 <translation id="671481426037969117">Natapos na ang iyong timer ng <ph name="FQDN" />. Magsisimula itong muli bukas.</translation>
 <translation id="6738867403308150051">Nagda-download...</translation>
 <translation id="6767294960381293877">Nakabukas ang listahan ng mga device kung saan magbabahagi ng tab nang kalahati ang taas.</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Sa Lite mode, mas mabilis na nilo-load ng Chrome ang mga page at mas kaunti nang 60 porsyento ang ginagamit nitong data.</translation>
 <translation id="7333031090786104871">Nagdaragdag pa rin ng nakaraang site</translation>
 <translation id="7340958967809483333">Mga opsyon para sa Discover</translation>
+<translation id="7352651011704765696">Nagkaroon ng problema</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Ibahagi ang 1 piniling item}one{Ibahagi ang # piniling item}other{Ibahagi ang # na piniling item}}</translation>
 <translation id="7359002509206457351">I-access ang mga paraan ng pagbabayad</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Maghanap sa iyong mga contact</translation>
 <translation id="869891660844655955">Expiration date</translation>
 <translation id="8712637175834984815">Nakuha ko</translation>
+<translation id="8725066075913043281">Muling subukan</translation>
 <translation id="8748850008226585750">Nakatago ang mga content</translation>
 <translation id="8751914237388039244">Pumili ng larawan</translation>
 <translation id="8758557275681689734">Tingnan ang lahat ng iyong nakabukas na tab</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 e3c7d6b90..ee26516 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> sur <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Modifier le favori</translation>
 <translation id="6406506848690869874">Synchronisation</translation>
+<translation id="6410883413783534063">Ouvrez des onglets pour visiter différentes pages en même temps</translation>
 <translation id="6412673304250309937">Il vérifie les URL en fonction d'une liste de sites non sécuritaires stockée dans Chrome. Si un site tente de voler votre mot de passe ou si vous téléchargez un fichier dangereux, Chrome peut également envoyer les URL concernées, y compris des extraits du contenu de pages, à la navigation sécurisée.</translation>
 <translation id="641643625718530986">Imprimer...</translation>
 <translation id="6427112570124116297">Traduisez le Web</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">En mode simplifié, Chrome charge les pages plus vite et utilise jusqu'à 60 pour cent moins de données.</translation>
 <translation id="7333031090786104871">Ajout du site précédent toujours en cours…</translation>
 <translation id="7340958967809483333">Options pour Découvertes</translation>
+<translation id="7352651011704765696">Une erreur s’est produite</translation>
 <translation id="7352939065658542140">VIDÉO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Partager 1 élément sélectionné}one{Partager # élément sélectionné}other{Partager # éléments sélectionnés}}</translation>
 <translation id="7359002509206457351">Accéder aux modes de paiement</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Effectuez une recherche dans vos contacts</translation>
 <translation id="869891660844655955">Date d'expiration</translation>
 <translation id="8712637175834984815">OK</translation>
+<translation id="8725066075913043281">Réessayer</translation>
 <translation id="8748850008226585750">Contenus masqués</translation>
 <translation id="8751914237388039244">Sélectionner une image</translation>
 <translation id="8758557275681689734">Afficher tous vos onglets ouverts</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 9cd4d25..74bd06e4 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> sur <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Modifier le favori</translation>
 <translation id="6406506848690869874">Synchronisation</translation>
+<translation id="6410883413783534063">Utilisez les onglets pour consulter plusieurs pages en même temps</translation>
 <translation id="6412673304250309937">Il vérifie les URL d'après une liste de sites dangereux stockée dans Chrome. Si un site tente de voler votre mot de passe ou si vous téléchargez un fichier dangereux, Chrome peut également envoyer les URL concernées, y compris des extraits du contenu de pages, à la fonctionnalité de navigation sécurisée.</translation>
 <translation id="641643625718530986">Imprimer…</translation>
 <translation id="6427112570124116297">Traduire le Web</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">En mode simplifié, Chrome charge les pages plus rapidement et consomme jusqu'à 60 pour cent de données en moins.</translation>
 <translation id="7333031090786104871">L'ajout du site précédent est toujours en cours</translation>
 <translation id="7340958967809483333">Options pour Discover</translation>
+<translation id="7352651011704765696">Un problème est survenu</translation>
 <translation id="7352939065658542140">VIDÉO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Partager 1 élément sélectionné}one{Partager # élément sélectionné}other{Partager # éléments sélectionnés}}</translation>
 <translation id="7359002509206457351">Accéder aux modes de paiement</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Rechercher des contacts</translation>
 <translation id="869891660844655955">Date d'expiration</translation>
 <translation id="8712637175834984815">OK</translation>
+<translation id="8725066075913043281">Réessayer</translation>
 <translation id="8748850008226585750">Contenu masqué</translation>
 <translation id="8751914237388039244">Sélectionner une image</translation>
 <translation id="8758557275681689734">Afficher tous vos onglets ouverts</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb
index 57e0f84..aeaa1c21 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> o <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Editar marcador</translation>
 <translation id="6406506848690869874">Sincronización</translation>
+<translation id="6410883413783534063">Abre pestanas para visitar páxinas diferentes ao mesmo tempo</translation>
 <translation id="6412673304250309937">Comproba enderezos URL cunha lista de sitios non seguros almacenada en Chrome. Se un sitio tenta roubarche o contrasinal ou se descargas un ficheiro daniño, Chrome tamén pode comprobar os enderezos URL, entre os que se inclúen fragmentos de contido das páxinas, a través da función Navegación segura.</translation>
 <translation id="641643625718530986">Imprimir...</translation>
 <translation id="6427112570124116297">Traduce a Web</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">No modo básico, Chrome carga as páxinas máis rápido e usa un 60 por cento menos de datos.</translation>
 <translation id="7333031090786104871">Aínda se está engadindo o sitio anterior</translation>
 <translation id="7340958967809483333">Opcións de Discover</translation>
+<translation id="7352651011704765696">Produciuse un erro</translation>
 <translation id="7352939065658542140">VÍDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Compartir 1 elemento seleccionado}other{Compartir # elementos seleccionados}}</translation>
 <translation id="7359002509206457351">Acceso a métodos de pago</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Busca nos teus contactos</translation>
 <translation id="869891660844655955">Data de vencemento</translation>
 <translation id="8712637175834984815">De acordo</translation>
+<translation id="8725066075913043281">Tentar de novo</translation>
 <translation id="8748850008226585750">Contido oculto</translation>
 <translation id="8751914237388039244">Selecciona unha imaxe</translation>
 <translation id="8758557275681689734">Ver todas as pestanas abertas</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
index f67dc6e4..96fb254 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> પર <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">બુકમાર્કમાં ફેરફાર કરો</translation>
 <translation id="6406506848690869874">સમન્વયન</translation>
+<translation id="6410883413783534063">એકસાથે વિભિન્ન પેજની મુલાકાત લેવા માટે ટૅબ ખોલો</translation>
 <translation id="6412673304250309937">URLsને Chromeમાં સંગ્રહિત અસુરક્ષિત સાઇટની સૂચિ સાથે ચેક કરે છે. જો કોઈ સાઇટ તમારો પાસવર્ડ ચોરી કરવાનો પ્રયાસ કરે અથવા તમે કોઈ નુકસાનકારક ફાઇલ ડાઉનલોડ કરો, ત્યારે Chrome પેજ કન્ટેન્ટના બિટની સાથોસાથ URLs પણ Safe Browsingને મોકલી શકે છે.</translation>
 <translation id="641643625718530986">પ્રિન્ટ…</translation>
 <translation id="6427112570124116297">વેબનો અનુવાદ કરો</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">લાઇટ મોડમાં, Chrome પેજને વધુ ઝડપથી લોડ કરે છે અને તે 60 ટકા ઓછા ડેટાનો ઉપયોગ કરે છે.</translation>
 <translation id="7333031090786104871">હજીપણ પાછલી સાઇટ ઉમેરી રહ્યાં છે</translation>
 <translation id="7340958967809483333">Discover માટેના વિકલ્પો</translation>
+<translation id="7352651011704765696">કંઈક ખોટું થયું હતું</translation>
 <translation id="7352939065658542140">વીડિયો</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{પસંદ કરેલ 1 આઇટમ શેર કરો}one{પસંદ કરેલ # આઇટમ શેર કરો}other{પસંદ કરેલ # આઇટમ શેર કરો}}</translation>
 <translation id="7359002509206457351">ચુકવણી પદ્ધતિઓને ઍક્સેસ કરો</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">તમારા સંપર્કો શોધો</translation>
 <translation id="869891660844655955">સમાપ્તિ તારીખ</translation>
 <translation id="8712637175834984815">સમજાઈ ગયું</translation>
+<translation id="8725066075913043281">ફરી પ્રયાસ કરો</translation>
 <translation id="8748850008226585750">સામગ્રીઓ છુપાવેલ છે</translation>
 <translation id="8751914237388039244">છબી પસંદ કરો</translation>
 <translation id="8758557275681689734">તમારા બધા ખુલ્લા ટૅબ જુઓ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
index 8e0e835..b9dc4038 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> पर <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">बुकमार्क में बदलाव करें</translation>
 <translation id="6406506848690869874">सिंक</translation>
+<translation id="6410883413783534063">एक ही समय में अलग-अलग पेजों पर जाने के लिए कई टैब खोलें</translation>
 <translation id="6412673304250309937">Chrome में पहले से सेव असुरक्षित साइटों के साथ यूआरएल की जांच करता है. अगर कोई साइट आपका पासवर्ड चुराने की कोशिश करती है या आप कोई नुकसान पहुंचाने वाली फ़ाइल डाउनलोड करते हैं, तो Chrome सुरक्षित ब्राउज़िंग की सेवा को उनका यूआरएल भेजता है. यूआरएल के साथ इनमें उन पेज की कुछ सामग्री भी शामिल होती है.</translation>
 <translation id="641643625718530986">प्रिंट करें…</translation>
 <translation id="6427112570124116297">वेब का अनुवाद करें</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">'लाइट मोड' में, Chrome पेजों को ज़्यादा तेज़ी से लोड करता है और 60 प्रतिशत तक कम डेटा इस्तेमाल करता है.</translation>
 <translation id="7333031090786104871">पिछली साइट अब भी जोड़ी जा रही है</translation>
 <translation id="7340958967809483333">'डिस्कवर' के लिए विकल्प</translation>
+<translation id="7352651011704765696">कुछ गलत हुआ</translation>
 <translation id="7352939065658542140">वीडियो</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 चयनित आइटम शेयर करें}one{# चयनित आइटम शेयर करें}other{# चयनित आइटम शेयर करें}}</translation>
 <translation id="7359002509206457351">भुगतान के तरीकों को ऐक्सेस करें</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">अपने संपर्क खोजें</translation>
 <translation id="869891660844655955">समय समाप्ति तारीख</translation>
 <translation id="8712637175834984815">समझ लिया</translation>
+<translation id="8725066075913043281">फिर से कोशिश करें</translation>
 <translation id="8748850008226585750">छिपी हुई सामग्री</translation>
 <translation id="8751914237388039244">इमेज चुनें</translation>
 <translation id="8758557275681689734">सभी खुले हुए टैब देखें</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 66c54718..01fc43d 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Čekanje na još jedno preuzimanje…</translation>
 <translation id="5865733239029070421">Automatski šalje Googleu statistiku upotrebe i izvješća o rušenju</translation>
 <translation id="5869522115854928033">Spremljene zaporke</translation>
+<translation id="5872013926720995826">Potvrda veza na digitalna prava nije uspjela za <ph name="VIOLATED_URL" /></translation>
 <translation id="5876056640971328065">Pauziraj videozapis</translation>
 <translation id="5884076754568147479">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</translation>
 <translation id="5919204609460789179">Ažurirajte <ph name="PRODUCT_NAME" /> za pokretanje sinkronizacije</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Uredi oznaku</translation>
 <translation id="6406506848690869874">Sinkronizacija</translation>
+<translation id="6410883413783534063">Otvorite kartice da biste istovremeno posjetili različite stranice</translation>
 <translation id="6412673304250309937">Provjerava URL-ove s popisom nesigurnih web-lokacija pohranjenih u Chromeu. Ako neka web-lokacija pokuša ukrasti vašu zaporku ili ako preuzmete štetnu datoteku, Chrome također može poslati URL-ove, uključujući dijelove sadržaja web-stranice, Sigurnom pregledavanju.</translation>
 <translation id="641643625718530986">Ispis…</translation>
 <translation id="6427112570124116297">Prijevod weba</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">U Jednostavnom načinu Chrome učitava stranice brže i smanjuje podatkovni promet do 60 posto.</translation>
 <translation id="7333031090786104871">I dalje se dodaje prethodna web-lokacija</translation>
 <translation id="7340958967809483333">Opcije za Discover</translation>
+<translation id="7352651011704765696">Nešto nije u redu</translation>
 <translation id="7352939065658542140">VIDEOZAPIS</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Dijeljenje 1 odabrane stavke}one{Dijeljenje # odabrane stavke}few{Dijeljenje # odabrane stavke}other{Dijeljenje # odabranih stavki}}</translation>
 <translation id="7359002509206457351">Pristup načinima plaćanja</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Pretraživanje kontakata</translation>
 <translation id="869891660844655955">Datum isteka</translation>
 <translation id="8712637175834984815">Shvaćam</translation>
+<translation id="8725066075913043281">Pokušajte ponovo</translation>
 <translation id="8748850008226585750">Sadržaj je skriven</translation>
 <translation id="8751914237388039244">Odaberite sliku</translation>
 <translation id="8758557275681689734">Prikaz svih vaših otvorenih kartica</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
index 51d1b85..dc4afc0 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" />, <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Könyvjelző szerkesztése</translation>
 <translation id="6406506848690869874">Szinkronizálás</translation>
+<translation id="6410883413783534063">Lapok megnyitásával egyszerre több oldalt is felkereshet.</translation>
 <translation id="6412673304250309937">Ellenőrzi az URL-eket a Chrome-ban a nem biztonságos webhelyekről tárolt lista alapján. Ha egy webhely megpróbálja ellopni az Ön jelszavát, illetve ha Ön ártalmas fájlt tölt le, akkor a Chrome elküldheti az URL-eket is (az oldaltartalmak részleteivel együtt) a Biztonságos Böngészésnek.</translation>
 <translation id="641643625718530986">Nyomtatás…</translation>
 <translation id="6427112570124116297">Lefordíthatja az internetet</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Lite módban a Chrome gyorsabban betölti az oldalakat, és akár 60 százalékkal kisebb adatforgalmat generál.</translation>
 <translation id="7333031090786104871">Az előző webhely hozzáadása még folyamatban van</translation>
 <translation id="7340958967809483333">A Discover beállításai</translation>
+<translation id="7352651011704765696">Valami nem működik</translation>
 <translation id="7352939065658542140">VIDEÓ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 kijelölt elem megosztása}other{# kijelölt elem megosztása}}</translation>
 <translation id="7359002509206457351">Hozzáférés a fizetési módokhoz</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Keresés a névjegyek között</translation>
 <translation id="869891660844655955">Lejárati dátum</translation>
 <translation id="8712637175834984815">Sikerült</translation>
+<translation id="8725066075913043281">Újrapróbálás</translation>
 <translation id="8748850008226585750">Tartalom elrejtve</translation>
 <translation id="8751914237388039244">Válasszon képet</translation>
 <translation id="8758557275681689734">Az összes megnyitott ablak megtekintése</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb
index 8d4e0b5b..b54d621 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" />՝ <ph name="VIOLATED_URL" /> էջում</translation>
 <translation id="6404511346730675251">Փոփոխել էջանիշը</translation>
 <translation id="6406506848690869874">Համաժամացում</translation>
+<translation id="6410883413783534063">Միաժամանակ մի քանի էջեր այցելելու համար ներդիրներ բացեք</translation>
 <translation id="6412673304250309937">Ստուգում է URL-ները Chrome-ում պահված վտանգավոր կայքերի ցանկի միջոցով։ Եթե կայքը փորձում է գողանալ ձեր գաղտնաբառը, կամ երբ վնասակար ֆայլ եք ներբեռնում, Chrome-ը կարող է ուղարկել URL-ն ու էջի բովանդակությունը՝ անվտանգ դիտարկման միջոցով ստուգելու համար։</translation>
 <translation id="641643625718530986">Տպել…</translation>
 <translation id="6427112570124116297">Թարգմանեք կայքերը</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Lite ռեժիմում Chrome-ն ավելի արագ է բեռնում էջերը և օգտագործում է մինչև 60 տոկոս պակաս թրաֆիկ:</translation>
 <translation id="7333031090786104871">Դեռ նախորդ կայքն է ավելացվում</translation>
 <translation id="7340958967809483333">Discover-ի կարգավորումներ</translation>
+<translation id="7352651011704765696">Ինչ-որ սխալ տեղի ունեցավ</translation>
 <translation id="7352939065658542140">ՏԵՍԱՆՅՈՒԹ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Հրապարակել ընտրված 1 տարրը}one{Share # selected items}other{Հրապարակել ընտրված # տարրերը}}</translation>
 <translation id="7359002509206457351">Վճարման եղանակների հասանելիություն</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Որոնեք կոնտակտներ</translation>
 <translation id="869891660844655955">Սպառման ժամկետ</translation>
 <translation id="8712637175834984815">Պատրաստ է</translation>
+<translation id="8725066075913043281">Փորձել կրկին</translation>
 <translation id="8748850008226585750">Բովանդակությունը թաքցված է</translation>
 <translation id="8751914237388039244">Ընտրեք պատկեր</translation>
 <translation id="8758557275681689734">Բոլոր բաց ներդիրների դիտում</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
index 5a34946..d780a069a 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
@@ -451,7 +451,7 @@
 <translation id="4605958867780575332">Item yang dihapus: <ph name="ITEM_TITLE" /></translation>
 <translation id="4616150815774728855">Buka <ph name="WEBAPK_NAME" /></translation>
 <translation id="4634124774493850572">Gunakan sandi</translation>
-<translation id="4640331037679501949">{NUM_PASSWORDS,plural, =1{1 sandi yang telah dibobol}other{# sandi yang telah dibobol}}</translation>
+<translation id="4640331037679501949">{NUM_PASSWORDS,plural, =1{1 sandi telah dibobol}other{# sandi telah dibobol}}</translation>
 <translation id="4650364565596261010">Default sistem</translation>
 <translation id="465657074423018424">Safe Browsing melindungi Anda dari situs yang menipu. Jika dinonaktifkan, Anda harus lebih berhati-hati saat menjelajah, terutama sebelum memasukkan sandi.</translation>
 <translation id="4662373422909645029">Nama panggilan tidak boleh berisi angka</translation>
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> di <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Edit bookmark</translation>
 <translation id="6406506848690869874">Sinkronisasi</translation>
+<translation id="6410883413783534063">Buka tab untuk mengunjungi halaman yang berbeda secara bersamaan</translation>
 <translation id="6412673304250309937">Memeriksa kesesuaian URL dengan daftar situs tidak aman yang disimpan di Chrome. Jika situs berusaha mencuri sandi Anda, atau jika Anda mendownload file berbahaya, Chrome mungkin juga mengirim URL, termasuk bit konten halaman, ke Safe Browsing.</translation>
 <translation id="641643625718530986">Cetak...</translation>
 <translation id="6427112570124116297">Terjemahkan Web</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Dalam mode Ringan, Chrome memuat halaman lebih cepat dan menghemat data hingga 60 persen.</translation>
 <translation id="7333031090786104871">Masih menambahkan situs sebelumnya</translation>
 <translation id="7340958967809483333">Opsi untuk Discover</translation>
+<translation id="7352651011704765696">Ada yang tidak beres</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Bagikan 1 item yang dipilih}other{Bagikan # item yang dipilih}}</translation>
 <translation id="7359002509206457351">Akses metode pembayaran</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Telusuri kontak Anda</translation>
 <translation id="869891660844655955">Masa berlaku</translation>
 <translation id="8712637175834984815">Mengerti</translation>
+<translation id="8725066075913043281">Coba lagi</translation>
 <translation id="8748850008226585750">Konten tersembunyi</translation>
 <translation id="8751914237388039244">Pilih gambar</translation>
 <translation id="8758557275681689734">Lihat semua tab yang terbuka</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 b8326c5..3f9e653 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Bíður eftir öðru niðurhali…</translation>
 <translation id="5865733239029070421">Sendir sjálfkrafa talnagögn um notkun og tilkynningar um hrun til Google</translation>
 <translation id="5869522115854928033">Vistuð aðgangsorð</translation>
+<translation id="5872013926720995826">Staðfesting tengla stafrænna eigna mistókst á <ph name="VIOLATED_URL" /></translation>
 <translation id="5876056640971328065">Gera hlé á spilun</translation>
 <translation id="5884076754568147479">Google fær vefslóðir og innihald vefsvæða þar sem þú notar hjálparann, auk upplýsinga sem þú sendir með hjálparanum, til að hjálpa þér að ljúka við verkefni</translation>
 <translation id="5919204609460789179">Uppfærðu <ph name="PRODUCT_NAME" /> til að hefja samstillingu</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> á <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Breyta bókamerki</translation>
 <translation id="6406506848690869874">Samstilling</translation>
+<translation id="6410883413783534063">Opnaðu flipa til að skoða mismunandi síður samtímis</translation>
 <translation id="6412673304250309937">Ber vefslóðir saman við lista yfir óörugg vefsvæði sem er vistaður í Chrome. Ef vefsvæði reynir að stela aðgangsorðinu þínu, eða ef þú sækir skaðlega skrá, gæti Chrome einnig sent vefslóðir í Örugga vefskoðun, þar á meðal hluta af innihaldi síðna.</translation>
 <translation id="641643625718530986">Prenta...</translation>
 <translation id="6427112570124116297">Þýða vefinn</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">Í léttútgáfu hleður Chrome síðum hraðar og notar allt að 60 prósentum minna gagnamagn.</translation>
 <translation id="7333031090786104871">Er enn að bæta fyrra vefsvæði við</translation>
 <translation id="7340958967809483333">Valkostir fyrir Tillögur</translation>
+<translation id="7352651011704765696">Eitthvað fór úrskeiðis</translation>
 <translation id="7352939065658542140">MYNDSKEIÐ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Deila 1 völdu atriði}one{Deila # völdu atriði}other{Deila # völdum atriðum}}</translation>
 <translation id="7359002509206457351">Fá aðgang að greiðslumátum</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Leita í tengiliðum</translation>
 <translation id="869891660844655955">Lokadagsetning</translation>
 <translation id="8712637175834984815">Ég skil</translation>
+<translation id="8725066075913043281">Reyna aftur</translation>
 <translation id="8748850008226585750">Innihald falið</translation>
 <translation id="8751914237388039244">Veldu mynd</translation>
 <translation id="8758557275681689734">Sjáðu alla opna flipa</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
index a6d79d3..cd439815 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> su <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Modifica preferito</translation>
 <translation id="6406506848690869874">Sincronizzazione</translation>
+<translation id="6410883413783534063">Apri più schede per visitare pagine diverse contemporaneamente</translation>
 <translation id="6412673304250309937">Verifica gli URL con un elenco di siti non sicuri archiviati in Chrome. Se un sito cerca di rubare la tua password o se scarichi un file dannoso, Chrome potrebbe inviare anche gli URL, inclusi bit e contenuti di pagina, a Navigazione sicura.</translation>
 <translation id="641643625718530986">Stampa…</translation>
 <translation id="6427112570124116297">Traduci il Web</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">Gestisci dati sincronizzati</translation>
 <translation id="6699370405921460408">I server di Google ottimizzeranno le pagine che visiti.</translation>
 <translation id="670498945988402717">Eseguito ieri</translation>
-<translation id="6710213216561001401">Indietro</translation>
+<translation id="6710213216561001401">Precedente</translation>
 <translation id="671481426037969117">Il timer di <ph name="FQDN" /> è scaduto. Verrà riavviato domani.</translation>
 <translation id="6738867403308150051">Download in corso…</translation>
 <translation id="6767294960381293877">Elenco di dispositivi con cui condividere una scheda aperto nella parte inferiore dello schermo.</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Nella modalità Lite, Chrome carica le pagine più rapidamente e utilizza fino al 60 percento di dati in meno.</translation>
 <translation id="7333031090786104871">Aggiunta del sito precedente ancora in corso</translation>
 <translation id="7340958967809483333">Opzioni per Discover</translation>
+<translation id="7352651011704765696">Si è verificato un problema</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Condividi 1 elemento selezionato}other{Condividi # elementi selezionati}}</translation>
 <translation id="7359002509206457351">Accedi ai metodi di pagamento</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Cerca nei contatti</translation>
 <translation id="869891660844655955">Data di scadenza</translation>
 <translation id="8712637175834984815">Fatto</translation>
+<translation id="8725066075913043281">Riprova</translation>
 <translation id="8748850008226585750">Contenuti nascosti</translation>
 <translation id="8751914237388039244">Seleziona un'immagine</translation>
 <translation id="8758557275681689734">Visualizza tutte le schede aperte</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
index 5fc96a4..5da847e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> בכתובת <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">ערוך סימניה</translation>
 <translation id="6406506848690869874">סנכרון</translation>
+<translation id="6410883413783534063">ניתן לפתוח כרטיסיות כדי להיכנס אל דפים שונים בו-זמנית</translation>
 <translation id="6412673304250309937">‏המערכת בודקת כתובות URL ששמורות ב-Chrome ומכילות רשימות של אתרים לא בטוחים. אם אתר מסוים מנסה לגנוב סיסמה או אם המערכת מזהה הורדה של קובץ מזיק, Chrome עשוי גם לשלוח כתובות URL לבדיקה באמצעות 'גלישה בטוחה'. הנתונים שנשלחים לבדיקה כוללים ביטים מהתוכן של הדף.</translation>
 <translation id="641643625718530986">הדפסה…</translation>
 <translation id="6427112570124116297">תרגום התוכן באינטרנט</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">‏במצב טעינה מהירה, Chrome טוען דפים מהר יותר ומפחית את השימוש בנתונים בשיעור של עד 60 אחוזים.</translation>
 <translation id="7333031090786104871">עדיין מוסיף את האתר הקודם</translation>
 <translation id="7340958967809483333">‏אפשרויות של Discover</translation>
+<translation id="7352651011704765696">משהו השתבש</translation>
 <translation id="7352939065658542140">סרטון</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{שתף פריט אחד שנבחר}two{שתף # פריטים שנבחרו}many{שתף # פריטים שנבחרו}other{שתף # פריטים שנבחרו}}</translation>
 <translation id="7359002509206457351">גישה לאמצעי תשלום</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">חיפוש באנשי הקשר</translation>
 <translation id="869891660844655955">תאריך תפוגה</translation>
 <translation id="8712637175834984815">הבנתי</translation>
+<translation id="8725066075913043281">נסה שוב</translation>
 <translation id="8748850008226585750">התוכן מוסתר</translation>
 <translation id="8751914237388039244">בחירת תמונה</translation>
 <translation id="8758557275681689734">צפייה בכל הכרטיסיות הפתוחות</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 27f7813..168fec7 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" />(<ph name="VIOLATED_URL" />)</translation>
 <translation id="6404511346730675251">ブックマークを編集</translation>
 <translation id="6406506848690869874">同期</translation>
+<translation id="6410883413783534063">タブを開くと、さまざまなページに同時にアクセスできます</translation>
 <translation id="6412673304250309937">Chrome に保存されている安全でないサイトのリストと URL を照合します。サイトがパスワードを不正に取得しようとしている場合や、ユーザーが安全でないファイルをダウンロードしようとした場合は、URL とページ コンテンツの一部をセーフ ブラウジングに送信することがあります。</translation>
 <translation id="641643625718530986">印刷...</translation>
 <translation id="6427112570124116297">ウェブの翻訳</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">ライトモードを使用すると、Chrome でページの読み込みが高速化され、データ使用量も最大 60 パーセント抑えることができます。</translation>
 <translation id="7333031090786104871">前のサイトを追加中です</translation>
 <translation id="7340958967809483333">Discover のオプション</translation>
+<translation id="7352651011704765696">問題が発生しました</translation>
 <translation id="7352939065658542140">動画</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 件の選択されたアイテムを共有します}other{# 件の選択されたアイテムを共有します}}</translation>
 <translation id="7359002509206457351">お支払い方法へのアクセス</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">連絡先を検索</translation>
 <translation id="869891660844655955">有効期限</translation>
 <translation id="8712637175834984815">閉じる</translation>
+<translation id="8725066075913043281">やり直し</translation>
 <translation id="8748850008226585750">メッセージは非表示です</translation>
 <translation id="8751914237388039244">画像を選択</translation>
 <translation id="8758557275681689734">開いているタブをすべて表示</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 d690916..0570a158 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> (<ph name="VIOLATED_URL" />)</translation>
 <translation id="6404511346730675251">სანიშნის რედაქტირება</translation>
 <translation id="6406506848690869874">სინქრონიზაცია</translation>
+<translation id="6410883413783534063">გახსენით ვებგვერდები ჩანართებში, რათა სხვადასხვა ვებგვერდს ერთდროულად ეწვიოთ</translation>
 <translation id="6412673304250309937">შეამოწმებს URL-ების თანხვედრას Chrome-ში შენახულ არაუსაფრთხო საიტების სიასთან. საიტის მიერ პაროლის მოპარვის მცდელობის ან თქვენ მიერ საზიანო ფაილის ჩამოტვირთვის შემთხვევაში Chrome-ის მიერ Safe Browsing-ს გაეგზავნება URL-ები და შესაბამისი გვერდის კონტენტის გარკვეული ნაწილი.</translation>
 <translation id="641643625718530986">ბეჭდვა…</translation>
 <translation id="6427112570124116297">თარგმნეთ ვებ-კონტენტი</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Lite რეჟიმში Chrome უფრო სწრაფად ტვირთავს გვერდებს და 60 პროცენტით ნაკლებ ტრაფიკს მოიხმარს.</translation>
 <translation id="7333031090786104871">ჯერ კიდევ მიმდინარეობს წინა საიტის დამატება</translation>
 <translation id="7340958967809483333">Discover-ის ვარიანტები</translation>
+<translation id="7352651011704765696">რაღაც არასწორად წარიმართა</translation>
 <translation id="7352939065658542140">ვიდეო</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 არჩეული ერთეულის გაზიარება}other{# არჩეული ერთეულის გაზიარება}}</translation>
 <translation id="7359002509206457351">გადახდის მეთოდებზე წვდომა</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">თქვენს კონტაქტებში ძიება</translation>
 <translation id="869891660844655955">ვადის გასვლის თარიღი</translation>
 <translation id="8712637175834984815">კარგი</translation>
+<translation id="8725066075913043281">ხელახლა სცადეთ</translation>
 <translation id="8748850008226585750">შიგთავსი დამალულია</translation>
 <translation id="8751914237388039244">აირჩიეთ სურათი</translation>
 <translation id="8758557275681689734">ყველა გახსნილი ჩანართის ნახვა</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 1df7364..6505a7b 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" />: <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Бетбелгіні өзгерту</translation>
 <translation id="6406506848690869874">Синхрондау</translation>
+<translation id="6410883413783534063">Бір мезгілде түрлі беттерге кіру үшін қойындыларды ашыңыз.</translation>
 <translation id="6412673304250309937">Chrome браузерінде сақталған қауіпсіз емес сайттар тізімімен URL сілтемелерін салыстырып тексереді. Егер сайт құпия сөзіңізді ұрлағысы келсе немесе сіз зиянды файл жүктеп алған кезде, Chrome браузері URL мекенжайларын, сонымен қатар бет мазмұны бөліктерін, "Қауіпсіз шолу" функциясына жіберуі мүмкін.</translation>
 <translation id="641643625718530986">Басып шығару…</translation>
 <translation id="6427112570124116297">Веб-беттерді басқа тілге аудару</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Lite режимінде Chrome беттерді жылдамырақ жүктейді және трафикті 60 пайызға дейін аз жұмсайды.</translation>
 <translation id="7333031090786104871">Алдыңғы сайт әлі енгізілуде</translation>
 <translation id="7340958967809483333">Discover опциялары</translation>
+<translation id="7352651011704765696">Бірнәрсе дұрыс емес</translation>
 <translation id="7352939065658542140">БЕЙНЕ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Таңдалған 1 элементті бөлісу}other{Таңдалған # элементті бөлісу}}</translation>
 <translation id="7359002509206457351">Төлеу әдістерін көру</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Контактілеріңізді іздеңіз</translation>
 <translation id="869891660844655955">Аяқталу мерзімі</translation>
 <translation id="8712637175834984815">Түсінікті</translation>
+<translation id="8725066075913043281">Әрекетті қайталау</translation>
 <translation id="8748850008226585750">Мазмұны жасырылған</translation>
 <translation id="8751914237388039244">Кескін таңдау</translation>
 <translation id="8758557275681689734">Ашық қойындылардың барлығын көру</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb
index 85ac31f..4d738183 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> នៅលើ <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">កែប្រែចំណាំ</translation>
 <translation id="6406506848690869874">សមកាលកម្ម</translation>
+<translation id="6410883413783534063">បើក​ផ្ទាំងនានា ដើម្បី​ចូលមើល​ទំព័រ​ផ្សេងៗ​ក្នុងពេលតែមួយ</translation>
 <translation id="6412673304250309937">ពិនិត្យ URL ធៀបនឹងបញ្ជីគេហទំព័រគ្មានសុវត្ថិភាព ដែលរក្សាទុកនៅក្នុង Chrome។ ប្រសិនបើគេហទំព័រណាមួយ​ព្យាយាមលួចពាក្យសម្ងាត់របស់អ្នក ឬនៅពេលអ្នកទាញយក​ឯកសារដែលអាចបង្កគ្រោះថ្នាក់នោះ Chrome ក៏ប្រហែលជាបញ្ជូន URL រួមជាមួយផ្នែកនៃខ្លឹមសារទំព័រ ទៅការរុករកដោយសុវត្ថិភាពផងដែរ។</translation>
 <translation id="641643625718530986">បោះពុម្ព…</translation>
 <translation id="6427112570124116297">បកប្រែ​គេហទំព័រ</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">នៅក្នុង​មុខងារស្រាល Chrome ផ្ទុកទំព័រ​រហ័សជាងមុន និងប្រើទិន្នន័យ​តិចជាងមុន​រហូតដល់ 60 ភាគរយ។</translation>
 <translation id="7333031090786104871">កំពុង​បញ្ចូល​ទំព័រ​ពីមុន​នៅឡើយ</translation>
 <translation id="7340958967809483333">ជម្រើសសម្រាប់ Discover</translation>
+<translation id="7352651011704765696">មានបញ្ហាអ្វីមួយកើតឡើង</translation>
 <translation id="7352939065658542140">វីដេអូ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{ចែករំលែកធាតុដែលបានជ្រើសរើស 1}other{ចែករំលែកធាតុដែលបានជ្រើសរើស #}}</translation>
 <translation id="7359002509206457351">ចូលប្រើ​វិធី​បង់ប្រាក់</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">ស្វែងរក​ទំនាក់ទំនង​របស់អ្នក</translation>
 <translation id="869891660844655955">កាលបរិច្ឆេទការផុតកំណត់</translation>
 <translation id="8712637175834984815">យល់ហើយ</translation>
+<translation id="8725066075913043281">ព្យាយាមម្តងទៀត</translation>
 <translation id="8748850008226585750">បានលាក់មាតិកា</translation>
 <translation id="8751914237388039244">ជ្រើសរើស​រូបភាព</translation>
 <translation id="8758557275681689734">មើលផ្ទាំង​ដែលបើក​ទាំងអស់​របស់អ្នក</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
index a48dc509..fb6ebee 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> ನಲ್ಲಿ <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳನ್ನು ಎಡಿಟ್ ಮಾಡಿ</translation>
 <translation id="6406506848690869874">ಸಿಂಕ್</translation>
+<translation id="6410883413783534063">ಒಂದೇ ಸಮಯದಲ್ಲಿ ಬೇರೆಬೇರೆ ಪುಟಗಳಿಗೆ ಭೇಟಿ ನೀಡಲು ಟ್ಯಾಬ್‌ಗಳನ್ನು ತೆರೆಯಿರಿ</translation>
 <translation id="6412673304250309937">Chrome ನಲ್ಲಿ ಸಂಗ್ರಹಣೆ ಮಾಡಲಾಗಿರುವ ಅಸುರಕ್ಷಿತ ಸೈಟ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಬಳಸಿ, URL ಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಯಾವುದಾದರೂ ಸೈಟ್, ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಕದಿಯಲು ಪ್ರಯತ್ನಿಸಿದರೆ ಅಥವಾ ನೀವು ಹಾನಿಕಾರಕ ಫೈಲ್ ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದಾಗ, ಪುಟದ ಕಂಟೆಂಟ್‌ನ ತುಣುಕುಗಳನ್ನು ಒಳಗೊಂಡ URL ಗಳನ್ನು ಸಹ Chrome, ಸುರಕ್ಷಿತ ಬ್ರೌಸಿಂಗ್‌ಗೆ ಕಳುಹಿಸಬಹುದು.</translation>
 <translation id="641643625718530986">ಮುದ್ರಿಸು...</translation>
 <translation id="6427112570124116297">ವೆಬ್ ಅನ್ನು ಅನುವಾದಿಸಿ</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">ಸಿಂಕ್‌ ಮಾಡಲಾದ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="6699370405921460408">ನೀವು ಭೇಟಿ ಮಾಡುವ ಪುಟಗಳನ್ನು Google ಸರ್ವರ್‌ಗಳು ಆಪ್ಟಿಮೈಸ್ ಮಾಡುತ್ತವೆ.</translation>
 <translation id="670498945988402717">ನಿನ್ನೆ ಪರಿಶೀಲಿಸಲಾಗಿದೆ</translation>
-<translation id="6710213216561001401">ಹಿಂದೆ</translation>
+<translation id="6710213216561001401">ಹಿಂದಿನದು</translation>
 <translation id="671481426037969117">ನಿಮ್ಮ <ph name="FQDN" /> ಟೈಮರ್ ಅವಧಿ ಮುಗಿದಿದೆ. ಅದು ನಾಳೆ ಮತ್ತೊಮ್ಮೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.</translation>
 <translation id="6738867403308150051">ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ…</translation>
 <translation id="6767294960381293877">ಟ್ಯಾಬ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಬೇಕಾದ ಸಾಧನಗಳ ಪಟ್ಟಿಯನ್ನು ಅರ್ಧ ಎತ್ತರದಲ್ಲಿ ತೆರೆಯಲಾಗಿದೆ.</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">ಲೈಟ್ ಮೋಡ್‍ನಲ್ಲಿ, Chrome ವೇಗವಾಗಿ ಪುಟಗಳನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಡೇಟಾವನ್ನು ಸುಮಾರು ಶೇಕಡಾ 60 ರಷ್ಟು ಕಡಿಮೆ ಬಳಸುತ್ತದೆ.</translation>
 <translation id="7333031090786104871">ಇನ್ನೂ ಹಿಂದಿನ ಸೈಟ್ ಅನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="7340958967809483333">Discover ಗಾಗಿ ಆಯ್ಕೆಗಳು</translation>
+<translation id="7352651011704765696">ಯಾವುದೋ ತಪ್ಪು ಸಂಭವಿಸಿದೆ</translation>
 <translation id="7352939065658542140">ವೀಡಿಯೊ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{ಆಯ್ಕೆಮಾಡಲಾದ 1 ಐಟಂ ಹಂಚಿಕೊಳ್ಳಿ}one{ಆಯ್ಕೆಮಾಡಲಾದ # ಐಟಂಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಿ}other{ಆಯ್ಕೆಮಾಡಲಾದ # ಐಟಂಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಿ}}</translation>
 <translation id="7359002509206457351">ಪಾವತಿ ವಿಧಾನಗಳನ್ನು ಪ್ರವೇಶಿಸಿ</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ಹುಡುಕಿ</translation>
 <translation id="869891660844655955">ಅವಧಿ ಮುಗಿಯುವ ದಿನಾಂಕ</translation>
 <translation id="8712637175834984815">ಅರ್ಥವಾಯಿತು</translation>
+<translation id="8725066075913043281">ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ</translation>
 <translation id="8748850008226585750">ವಿಷಯಗಳನ್ನು ಮರೆಮಾಡಲಾಗಿದೆ</translation>
 <translation id="8751914237388039244">ಚಿತ್ರವನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="8758557275681689734">ನಿಮ್ಮ ಎಲ್ಲಾ ತೆರೆದ ಟ್ಯಾಬ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
index 4b0a6e4..dca02a7 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" />에 <ph name="ERROR_CODE" /> 오류 발생</translation>
 <translation id="6404511346730675251">북마크 수정</translation>
 <translation id="6406506848690869874">동기화</translation>
+<translation id="6410883413783534063">탭을 열어 동시에 다른 페이지를 방문합니다.</translation>
 <translation id="6412673304250309937">Chrome에 저장된 안전하지 않은 사이트 목록을 사용하여 URL을 검사합니다. 사이트에서 사용자의 비밀번호를 도용하려고 하거나 사용자가 유해한 파일을 다운로드하는 경우, Chrome에서 페이지 콘텐츠 일부를 비롯한 URL을 세이프 브라우징 서비스에 보낼 수 있습니다.</translation>
 <translation id="641643625718530986">인쇄…</translation>
 <translation id="6427112570124116297">웹 번역</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Chrome의 라이트 모드를 사용하면 페이지가 더 빠르게 로드되고 데이터가 최대 60퍼센트 절약됩니다.</translation>
 <translation id="7333031090786104871">아직 이전 사이트 추가 중</translation>
 <translation id="7340958967809483333">디스커버용 옵션</translation>
+<translation id="7352651011704765696">문제가 발생한 경우</translation>
 <translation id="7352939065658542140">동영상</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{선택한 1개 항목 공유}other{선택한 #개 항목 공유}}</translation>
 <translation id="7359002509206457351">결제 수단 액세스</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">연락처 검색</translation>
 <translation id="869891660844655955">유효기간</translation>
 <translation id="8712637175834984815">확인</translation>
+<translation id="8725066075913043281">다시 시도하세요</translation>
 <translation id="8748850008226585750">숨겨진 콘텐츠</translation>
 <translation id="8751914237388039244">이미지 선택</translation>
 <translation id="8758557275681689734">열려 있는 탭 모두 보기</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb
index 676887134..c57cfe8 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> – <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">Кыстарманы түзөтүү</translation>
 <translation id="6406506848690869874">Шайкештирүү</translation>
+<translation id="6410883413783534063">Бир учурда бир нече барактарга баш багуу үчүн өтмөктөрдү ачыңыз</translation>
 <translation id="6412673304250309937">Chrome'догу кооптуу сайттардын тизмесиндеги URL даректерин текшерет. Эгер сайт сырсөзүңүздү уурдоого аракет кылса же кооптуу файлды жүктөп алсаңыз, Chrome URL даректерди, анын ичинде барактардагы мазмунду Коопсуз серептөөгө жөнөтүшү мүмкүн.</translation>
 <translation id="641643625718530986">Басып чыгаруу…</translation>
 <translation id="6427112570124116297">Вебди которуу</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Жөнөкөй режимде Chrome барактарды ылдамыраак жүктөп, 60 пайызга чейин азыраак трафик сарптайт.</translation>
 <translation id="7333031090786104871">Мурунку сайт дагы эле кошулуп жатат</translation>
 <translation id="7340958967809483333">Сунуштардын параметрлери</translation>
+<translation id="7352651011704765696">Бир жерден ката кетти</translation>
 <translation id="7352939065658542140">ВИДЕО</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Тандалган 1 нерсени бөлүшүү}other{Тандалган # нерсени бөлүшүү}}</translation>
 <translation id="7359002509206457351">Төлөм ыкмаларын көрүү</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Байланыштарыңызды издеңиз</translation>
 <translation id="869891660844655955">Мөөнөтү аяктай турган күн</translation>
 <translation id="8712637175834984815">Түшүндүм</translation>
+<translation id="8725066075913043281">Кайра аракет кылып көрүү</translation>
 <translation id="8748850008226585750">Жашырылган мазмундар</translation>
 <translation id="8751914237388039244">Сүрөт тандоо</translation>
 <translation id="8758557275681689734">Бардык ачык өтмөктөрдү көрүү</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb
index 171e892..115568c 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">ກຳລັງລໍຖ້າການດາວໂຫຼດອື່ນຢູ່...</translation>
 <translation id="5865733239029070421">ສົ່ງສະຖິຕິການໃຊ້ ແລະ ລາຍງານການຂັດຂ້ອງໃຫ້ Google ໂດຍອັດຕະໂນມັດ</translation>
 <translation id="5869522115854928033">ລະ​ຫັດ​ຜ່ານ​ທີ່ບັນທຶກໄວ້</translation>
+<translation id="5872013926720995826">ການຢັ້ງຢືນລິ້ງດິຈິຕອນໃນ <ph name="VIOLATED_URL" /> ບໍ່ສຳເລັດ</translation>
 <translation id="5876056640971328065">ຢຸດວິດີໂອໄວ້ຊົ່ວຄາວ</translation>
 <translation id="5884076754568147479">ເພື່ອຊ່ວຍທ່ານເຮັດສຳເລັດໜ້າວຽກ, Google ຈະໄດ້ຮັບ URL ແລະ ເນື້ອຫາຂອງເວັບໄຊທີ່ທ່ານໃຊ້ຜູ້ຊ່ວຍ, ພ້ອມກັບຂໍ້ມູນທີ່ທ່ານສົ່ງຜ່ານຜູ້ຊ່ວຍ</translation>
 <translation id="5919204609460789179">ອັບເດດ <ph name="PRODUCT_NAME" /> ເພື່ອເລີ່ມການຊິ້ງຂໍ້ມູນ</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> ໃນ <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">ແກ້​ໄຂບຸກມາກສ໌</translation>
 <translation id="6406506848690869874">ຊິງຄ໌</translation>
+<translation id="6410883413783534063">ເປີດແຖບເພື່ອເຂົ້າເບິ່ງໜ້າຕ່າງໆໄດ້ພ້ອມກັນ</translation>
 <translation id="6412673304250309937">ກວດສອບ URL ກັບລາຍການເວັບໄຊທີ່ບໍ່ປອດໄພທີ່ເກັບໄວ້ໃນ Chrome. ຖ້າເວັບໄຊພະຍາຍາມລັກເອົາລະຫັດຜ່ານຂອງທ່ານ ຫຼື ເມື່ອທ່ານດາວໂຫຼດໄຟລ໌ອັນຕະລາຍ, Chrome ອາດຈະສົ່ງ URL, ຮວມທັງເນື້ອຫາບາງສ່ວນໃນໜ້າໄປໃຫ້ Safe Browsing.</translation>
 <translation id="641643625718530986">ພິມ</translation>
 <translation id="6427112570124116297">ແປເວັບໄຊ</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">ໃນໂໝດ Lite, Chrome ໂຫຼດໜ້າເວັບໄດ້ໄວກວ່າ ແລະ ປະຢັດອິນເຕີເນັດໄດ້ສູງສຸດ 60 ເປີເຊັນ.</translation>
 <translation id="7333031090786104871">ຍັງກຳລັງເພີ່ມເວັບໄຊກ່ອນໜ້ານີ້ຢູ່</translation>
 <translation id="7340958967809483333">ຕົວເລືອກສຳລັບ Discover</translation>
+<translation id="7352651011704765696">ມີ​ບາງ​ອັນ​ຜິດ​ພາດ</translation>
 <translation id="7352939065658542140">ວິດີໂອ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{ແບ່ງປັນ 1 ລາຍການທີ່ເລືອກ}other{ແບ່ງປັນ # ລາຍການທີ່ເລືອກ}}</translation>
 <translation id="7359002509206457351">ເຂົ້າເຖິງວິທີການຈ່າຍເງິນ</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">ຊອກຫາລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານ</translation>
 <translation id="869891660844655955">ວັນ​ຫມົດ​ອາ​ຍຸ</translation>
 <translation id="8712637175834984815">ເຂົ້າໃຈແລ້ວ</translation>
+<translation id="8725066075913043281">ລອງໃໝ່ອີກ</translation>
 <translation id="8748850008226585750">ເນື້ອຫາຖືກເຊື່ອງໄວ້</translation>
 <translation id="8751914237388039244">ເລືອກຮູບ</translation>
 <translation id="8758557275681689734">ເບິ່ງແຖບທີ່ເປີດຢູ່ຂອງທ່ານທັງໝົດ</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 9be92b65..d4d4bb9 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Redaguoti žymę</translation>
 <translation id="6406506848690869874">Sinchronizavimas</translation>
+<translation id="6410883413783534063">Atidarykite skirtukus ir vienu metu lankykitės skirtinguose puslapiuose</translation>
 <translation id="6412673304250309937">Tikrinami URL pagal nesaugių svetainių sąrašą, saugomą naršyklėje „Chrome“. Jei svetainė bando pavogti slaptažodį ar atsisiuntėte žalingą failą, „Chrome“ taip pat gali siųsti URL, įskaitant puslapio turinio dalis, Saugaus naršymo funkcijai.</translation>
 <translation id="641643625718530986">Spausdinti…</translation>
 <translation id="6427112570124116297">Žiniatinklio vertimas</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">Tvarkykite sinchronizuotus duomenis</translation>
 <translation id="6699370405921460408">„Google“ serveriai optimizuos puslapius, kuriuose lankotės.</translation>
 <translation id="670498945988402717">Tikrinta vakar</translation>
-<translation id="6710213216561001401">Ankstesnis</translation>
+<translation id="6710213216561001401">Ankstesnė</translation>
 <translation id="671481426037969117"><ph name="FQDN" /> laikmatis sustojo. Jis vėl bus paleistas rytoj.</translation>
 <translation id="6738867403308150051">Atsisiunčiama...</translation>
 <translation id="6767294960381293877">Įrenginių, su kuriais reikia bendrinti skirtuką, sąrašas atidarytas (pusė aukščio).</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Kai įjungtas supaprastintasis režimas, sistemoje „Chrome“ puslapiai įkeliami sparčiau ir naudojama iki 60 proc. mažiau duomenų.</translation>
 <translation id="7333031090786104871">Vis dar pridedama ankstesnė svetainė</translation>
 <translation id="7340958967809483333">„Discover“ parinktys</translation>
+<translation id="7352651011704765696">Kažkas negerai</translation>
 <translation id="7352939065658542140">VAIZDO ĮRAŠAS</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Bendrinti 1 pasirinktą elementą}one{Bendrinti # pasirinktą elementą}few{Bendrinti # pasirinktus elementus}many{Bendrinti # pasirinkto elemento}other{Bendrinti # pasirinktų elementų}}</translation>
 <translation id="7359002509206457351">Prieiga prie mokėjimo metodų</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Ieškokite savo kontaktuose</translation>
 <translation id="869891660844655955">Galiojimo data</translation>
 <translation id="8712637175834984815">Supratau</translation>
+<translation id="8725066075913043281">Bandyti dar kartą</translation>
 <translation id="8748850008226585750">Turinys paslėptas</translation>
 <translation id="8751914237388039244">Pasirinkti vaizdą</translation>
 <translation id="8758557275681689734">ŽR. visus atidarytus skirtukus</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
index cf2695d..27445ba 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609">Kļūda <ph name="ERROR_CODE" /> vietnē <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Rediģēt grāmatzīmi</translation>
 <translation id="6406506848690869874">Sinhronizācija</translation>
+<translation id="6410883413783534063">Atveriet cilnes, lai vienlaikus apmeklētu vairākas lapas</translation>
 <translation id="6412673304250309937">Vietrāži URL tiek pārbaudīti, salīdzinot ar nedrošu vietņu sarakstu, kas glabājas pārlūkprogrammā Chrome. Ja kādā vietnē tiek mēģināts nozagt jūsu paroli vai ja jūs lejupielādējat kaitīgu failu, Chrome var nosūtīt attiecīgo URL un lapas satura fragmentus uz funkciju Droša pārlūkošana.</translation>
 <translation id="641643625718530986">Drukāt...</translation>
 <translation id="6427112570124116297">Iztulkojiet tīmekli</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Vienkāršotajā režīmā Chrome ielādē lapas ātrāk un patērē pat par 60 procentiem mazāk datu.</translation>
 <translation id="7333031090786104871">Joprojām notiek iepriekšējās vietnes pievienošana</translation>
 <translation id="7340958967809483333">Discover iespējas</translation>
+<translation id="7352651011704765696">Radās problēma</translation>
 <translation id="7352939065658542140">VIDEOKLIPS</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Kopīgot 1 atlasīto vienumu}zero{Kopīgot # atlasītos vienumus}one{Kopīgot # atlasīto vienumu}other{Kopīgot # atlasītos vienumus}}</translation>
 <translation id="7359002509206457351">Piekļuve maksājumu veidiem</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Meklējiet kontaktpersonas</translation>
 <translation id="869891660844655955">Derīguma termiņš</translation>
 <translation id="8712637175834984815">Sapratu!</translation>
+<translation id="8725066075913043281">Mēģināt vēlreiz</translation>
 <translation id="8748850008226585750">Saturs paslēpts</translation>
 <translation id="8751914237388039244">Attēla atlase</translation>
 <translation id="8758557275681689734">Visu atvērto ciļņu skatīšana</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 d25ab75..a61e048 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> на <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Измени обележувач</translation>
 <translation id="6406506848690869874">Синхронизација</translation>
+<translation id="6410883413783534063">Отворете картички за да посетувате различни страници во исто време</translation>
 <translation id="6412673304250309937">Ги проверува URL-адресите во список со небезбедни сајтови меморирани во Chrome. Ако некој сајт се обиде да ви ја украде лозинката или кога ќе преземете штетна датотека, Chrome може да испрати и URL-адреси, вклучувајќи и делови од содржините на страницата, во „Безбедно прелистување“.</translation>
 <translation id="641643625718530986">Печати...</translation>
 <translation id="6427112570124116297">Преведете го интернетот</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Во Lite-режим, Chrome побрзо ги вчитува страниците и користи до 60 проценти помалку интернет.</translation>
 <translation id="7333031090786104871">Сè уште се додава претходниот сајт</translation>
 <translation id="7340958967809483333">Опции за Discover</translation>
+<translation id="7352651011704765696">Нешто не е во ред</translation>
 <translation id="7352939065658542140">ВИДЕО</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Споделете 1 избрана ставка}one{Споделете # избрана ставка}other{Споделете # избрани ставки}}</translation>
 <translation id="7359002509206457351">Пристап до начините на плаќање</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Пребарајте ги контактите</translation>
 <translation id="869891660844655955">Рок на важност</translation>
 <translation id="8712637175834984815">Сфатив</translation>
+<translation id="8725066075913043281">Обидете се повторно</translation>
 <translation id="8748850008226585750">Содржината е скриена</translation>
 <translation id="8751914237388039244">Изберете слика</translation>
 <translation id="8758557275681689734">Видете ги сите отворени картички</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 2356f19..eff9951e 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> -ൽ <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">ബുക്ക്‌മാർക്ക് എഡിറ്റ് ചെയ്യുക</translation>
 <translation id="6406506848690869874">Sync</translation>
+<translation id="6410883413783534063">ഒരേ സമയം വ്യത്യസ്‌ത പേജുകൾ സന്ദർശിക്കാൻ ടാബുകൾ തുറക്കുക</translation>
 <translation id="6412673304250309937">Chrome-ൽ സംഭരിച്ചിരിക്കുന്ന സുരക്ഷിതമല്ലാത്ത സൈറ്റുകളുടെ ലിസ്റ്റ് ഉപയോഗിച്ച് URL-കൾ പരിശോധിക്കുന്നു. ഒരു സൈറ്റ് നിങ്ങളുടെ പാസ്‌വേഡ് മോഷ്‌ടിക്കാൻ ശ്രമിക്കുമ്പോഴോ നിങ്ങൾ ഒരു ദോഷകരമായ ഫയൽ ഡൗൺലോഡ് ചെയ്യുമ്പോഴോ, പേജ് ഉള്ളടക്കത്തിന്റെ ബിറ്റുകൾ ഉൾപ്പെടെയുള്ള URL-കളും Chrome സുരക്ഷിത ബ്രൗസിംഗിലേക്ക് അയച്ചേക്കാം.</translation>
 <translation id="641643625718530986">പ്രിന്‍റ് ചെയ്യുക…</translation>
 <translation id="6427112570124116297">വെബ് വിവർത്തനം ചെയ്യുക</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">ലൈറ്റ് മോഡിൽ, Chrome 60 ശതമാനം വരെ കുറവ് ഡാറ്റ ഉപയോഗിക്കുകയും പേജുകൾ വേഗത്തിൽ ലോഡ് ചെയ്യുകയും ചെയ്യുന്നു.</translation>
 <translation id="7333031090786104871">ഇപ്പോഴും മുമ്പത്തെ സൈറ്റ് ചേർത്തുകൊണ്ടിരിക്കുകയാണ്</translation>
 <translation id="7340958967809483333">Discover-നുള്ള ഓപ്ഷനുകൾ</translation>
+<translation id="7352651011704765696">എന്തോ കുഴപ്പം സംഭവിച്ചു</translation>
 <translation id="7352939065658542140">വീഡിയോ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{തിരഞ്ഞെടുത്ത ഒരു ഇനം പങ്കിടുക}other{തിരഞ്ഞെടുത്ത # ഇനങ്ങൾ പങ്കിടുക}}</translation>
 <translation id="7359002509206457351">പേയ്മെന്റ് രീതികൾ ആക്‌സസ് ചെയ്യുക</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">നിങ്ങളുടെ കോൺടാക്‌റ്റുകൾ തിരയുക</translation>
 <translation id="869891660844655955">കാലഹരണപ്പെടല്‍‌ തീയതി</translation>
 <translation id="8712637175834984815">മനസ്സിലായി</translation>
+<translation id="8725066075913043281">വീണ്ടും ശ്രമിക്കുക</translation>
 <translation id="8748850008226585750">കോൺടാക്‌റ്റുകൾ മറച്ചു</translation>
 <translation id="8751914237388039244">ഒരു ചിത്രം തിരഞ്ഞെടുക്കുക</translation>
 <translation id="8758557275681689734">നിങ്ങളുടെ തുറന്നിരിക്കുന്ന ടാബുകൾ എല്ലാം കാണുക</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb
index f94a298..1cf801d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb
@@ -702,6 +702,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> дээрх <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">Хадгалагдсан хуудсыг засах</translation>
 <translation id="6406506848690869874">Sync</translation>
+<translation id="6410883413783534063">Өөр хуудаснуудад нэгэн зэрэг зочлохын тулд табуудыг нээнэ үү</translation>
 <translation id="6412673304250309937">URL-г Chrome-д хадгалсан аюултай сайтын жагсаалттай харьцуулж шалгадаг. Хэрэв сайт таны нууц үгийг хулгайлах гэж оролдвол эсвэл таныг аюултай файл татах үед Chrome нь хуудасны бага зэрэг контентын хамт URL-г Аюулгүй хайлт руу мөн илгээж болзошгүй.</translation>
 <translation id="641643625718530986">Хэвлэх...</translation>
 <translation id="6427112570124116297">Вэбийг орчуулах</translation>
@@ -820,6 +821,7 @@
 <translation id="7328017930301109123">Lite горимд байх үед Chrome хуудсыг илүү хурдан ачаалж, 60 хувь хүртэлх бага дата ашигладаг.</translation>
 <translation id="7333031090786104871">Өмнөх сайтыг нэмж байна</translation>
 <translation id="7340958967809483333">Discover-н сонголт</translation>
+<translation id="7352651011704765696">Алдаа гарсан байна</translation>
 <translation id="7352939065658542140">ВИДЕО</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Сонгосон 1 зүйлийг хуваалцах}other{Сонгосон # зүйлийг хуваалцах }}</translation>
 <translation id="7359002509206457351">Төлбөрийн хэрэгсэлд хандах</translation>
@@ -1012,6 +1014,7 @@
 <translation id="868929229000858085">Харилцагчдаа хайх</translation>
 <translation id="869891660844655955">Дуусах хугацаа</translation>
 <translation id="8712637175834984815">Ойлголоо</translation>
+<translation id="8725066075913043281">Дахин оролдож үзнэ үү.</translation>
 <translation id="8748850008226585750">Агуулгыг нуусан</translation>
 <translation id="8751914237388039244">Зураг сонгох</translation>
 <translation id="8758557275681689734">Нээлттэй бүх табаа харах</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
index f5ac889..d8d8fd3 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> वरील <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">बुकमार्क संपादित करा</translation>
 <translation id="6406506848690869874">Sync</translation>
+<translation id="6410883413783534063">एकाच वेळी वेगवेगळ्या पेजना भेट देण्यासाठी टॅब उघडा</translation>
 <translation id="6412673304250309937">Chrome मध्ये स्टोअर केलेल्या असुरक्षित साइटच्या सूचीमध्ये URL तपासतो. साइटने तुमचा पासवर्ड चोरण्याचा प्रयत्न केल्यास किंवा तुम्ही हानीकारक फाइल डाउनलोड केल्यावर, Chrome, पेज आशयाच्या भागांसह, URL सुरक्षित ब्राउझिंग कडे पाठवू शकतो.</translation>
 <translation id="641643625718530986">प्रिंट करा...</translation>
 <translation id="6427112570124116297">वेबचे भाषांतर करा</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">लाइट मोडमध्ये, Chrome पेज आणखी जलद लोड करते आणि ६० टक्के पर्यंत कमी डेटा वापरते.</translation>
 <translation id="7333031090786104871">अद्याप मागील साइट जोडत आहे</translation>
 <translation id="7340958967809483333">Discover चे पर्याय</translation>
+<translation id="7352651011704765696">काहीतरी चूक झाली</translation>
 <translation id="7352939065658542140">व्हिडिओ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 निवडलेला आयटम शेअर करा}other{# निवडलेले आयटम शेअर करा}}</translation>
 <translation id="7359002509206457351">पेमेंट पद्धती अ‍ॅक्सेस करा</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">तुमचे संपर्क शोधा</translation>
 <translation id="869891660844655955">कालावधी समाप्ती तारीख</translation>
 <translation id="8712637175834984815">समजले</translation>
+<translation id="8725066075913043281">पुन्हा प्रयत्न करा</translation>
 <translation id="8748850008226585750">सामग्री लपविली</translation>
 <translation id="8751914237388039244">इमेज निवडा</translation>
 <translation id="8758557275681689734">तुमचे सर्व उघडे टॅब पहा</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
index 147d900..259ded1 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> pada <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Edit penanda halaman</translation>
 <translation id="6406506848690869874">Segerak</translation>
+<translation id="6410883413783534063">Buka tab untuk melawati halaman yang berlainan pada masa yang sama</translation>
 <translation id="6412673304250309937">Semak URL melalui perbandingan dengan senarai tapak tidak selamat yang disimpan dalam Chrome. Jika tapak cuba mencuri kata laluan anda atau apabila anda memuat turun fail yang berbahaya, Chrome juga mungkin menghantar URL, termasuk sedikit kandungan halaman, kepada Penyemakan Imbas Selamat.</translation>
 <translation id="641643625718530986">Cetak…</translation>
 <translation id="6427112570124116297">Terjemah Web</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Dalam mod Ringkas, Chrome memuatkan halaman lebih pantas dan mengurangkan penggunaan data sehingga 60 peratus.</translation>
 <translation id="7333031090786104871">Masih menambahkan tapak yang terdahulu</translation>
 <translation id="7340958967809483333">Pilihan untuk Discover</translation>
+<translation id="7352651011704765696">Kesilapan telah berlaku</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Kongsi 1 item yang dipilih}other{Kongsi # item yang dipilih}}</translation>
 <translation id="7359002509206457351">Akses kaedah pembayaran</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Cari dalam kenalan anda</translation>
 <translation id="869891660844655955">Tarikh tamat tempoh</translation>
 <translation id="8712637175834984815">Faham</translation>
+<translation id="8725066075913043281">Cuba lagi</translation>
 <translation id="8748850008226585750">Kandungan tersembunyi</translation>
 <translation id="8751914237388039244">Pilih imej</translation>
 <translation id="8758557275681689734">Lihat semua tab terbuka anda</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb
index c859034a..072a0c2 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb
@@ -702,6 +702,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> ရှိ <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">စာညှပ် တည်းဖြတ်ရန်</translation>
 <translation id="6406506848690869874">ထပ်တူပြုမည်</translation>
+<translation id="6410883413783534063">စာမျက်နှာအမျိုးမျိုး တစ်ပြိုင်နက်ဝင်ကြည့်ရန် တဘ်များကိုဖွင့်ပါ</translation>
 <translation id="6412673304250309937">Chrome တွင် သိမ်းဆည်းထားသော လုံခြုံမှုမရှိသည့် ဝဘ်ဆိုက်များ၏ URL များကို စစ်ဆေးပေးသည်။ ဝဘ်ဆိုက်တစ်ခုက သင့်စကားဝှက်ကို ခိုးယူရန် ကြိုးပမ်းလာပါက သို့မဟုတ် အန္တရာယ်ရှိသည့်ဖိုင်တစ်ခုကို သင်ဒေါင်းလုဒ်လုပ်သည့်အခါ Chrome သည် Safe Browsing သို့ URL များအပြင် ဝဘ်ဆိုက်ပါ အကြောင်းအရာအချို့ကို ပို့နိုင်သည်။</translation>
 <translation id="641643625718530986">ပရင့်…</translation>
 <translation id="6427112570124116297">ဝဘ်ကို ဘာသာပြန်ခြင်း</translation>
@@ -820,6 +821,7 @@
 <translation id="7328017930301109123">'အပေါ့စားမုဒ်' တွင် Chrome သည် စာမျက်နှာများကို ပိုမိုမြန်ဆန်စွာဖွင့်ပြီး ဒေတာကို ၆၀ ရာခိုင်နှုန်းအထိ လျှော့သုံးပါသည်။</translation>
 <translation id="7333031090786104871">ယခင်ဆိုက်ကို ထည့်သွင်းနေဆဲဖြစ်သည်</translation>
 <translation id="7340958967809483333">Discover အတွက် ရွေးစရာများ</translation>
+<translation id="7352651011704765696">တစ်ခုခု မှားနေပြီ</translation>
 <translation id="7352939065658542140">ဗီဒီယို</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{ရွေးချယ်ထားသည့် အကြောင်းအရာ ၁ ခုကို မျှဝေရန်}other{ရွေးချယ်ထားသည့် အကြောင်းအရာ # ခုကို မျှဝေရန်}}</translation>
 <translation id="7359002509206457351">ငွေပေးချေနည်းလမ်းများ ကြည့်ခွင့်</translation>
@@ -1012,6 +1014,7 @@
 <translation id="868929229000858085">သင်၏အဆက်အသွယ်များကို ရှာရန်</translation>
 <translation id="869891660844655955">သက်တမ်း ကုန်ဆုံးရက်</translation>
 <translation id="8712637175834984815">ရပါပြီ!</translation>
+<translation id="8725066075913043281">ထပ် စမ်းကြည့်ရန်</translation>
 <translation id="8748850008226585750">အကြောင်းအရာများကို ဝှက်ထားသည်</translation>
 <translation id="8751914237388039244">ပုံတစ်ပုံ ရွေးပါ</translation>
 <translation id="8758557275681689734">သင်ဖွင့်ထားသည့် တဘ်များအားလုံးကို ကြည့်ရန်</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 74fea95..ff2d0e4 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
@@ -702,6 +702,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> मा <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">बुकमार्क सम्पादन गर्नुहोस्</translation>
 <translation id="6406506848690869874">समक्रमण</translation>
+<translation id="6410883413783534063">एकै पटक विभिन्न पृष्ठहरूमा जान बेग्लाबेग्लै ट्याबहरू खोल्नुहोस्</translation>
 <translation id="6412673304250309937">Chrome मा भण्डारण गरिएका असुरक्षित साइटको सूची जाँच गरी URL हरू सुरक्षित छन् वा छैनन् भन्ने कुरा यकिन गर्छ। कुनै साइटले तपाईंको पासवर्ड चोरी गर्न खोज्दा वा तपाईंले कुनै हानिकारक फाइल डाउनलोड गर्दा Chrome ले पृष्ठका केही सामग्रीसहित URL हरूलाई सुरक्षित ब्राउजिङमा पठाउन पनि सक्छ।</translation>
 <translation id="641643625718530986">प्रिन्ट गर्नुहोस्...</translation>
 <translation id="6427112570124116297">वेब अनुवाद गर्नुहोस्</translation>
@@ -820,6 +821,7 @@
 <translation id="7328017930301109123">लाइट मोडमा हुँदा Chrome ले पृष्ठहरू अझ छिटो लोड गर्नुका साथै ६० प्रतिशतसम्म कम डेटा प्रयोग गर्छ।</translation>
 <translation id="7333031090786104871">अघिल्लो साइट अझै थपिँदै</translation>
 <translation id="7340958967809483333">Discover का विकल्पहरू</translation>
+<translation id="7352651011704765696">केही गल्ती भयो</translation>
 <translation id="7352939065658542140">भिडियो</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{चयन गरिएको १ वस्तु सेयर गर्नुहोस्}other{चयन गरिएका # वस्तुहरू सेयर गर्नुहोस्}}</translation>
 <translation id="7359002509206457351">भुक्तानी विधिहरूमाथि पहुँच राख्नुहोस्</translation>
@@ -1012,6 +1014,7 @@
 <translation id="868929229000858085">आफ्ना सम्पर्कहरू खोज्नुहोस्</translation>
 <translation id="869891660844655955">समाप्ति मिति</translation>
 <translation id="8712637175834984815">भयो</translation>
+<translation id="8725066075913043281">पुन: प्रयास गर्नुहोस्</translation>
 <translation id="8748850008226585750">सामग्रीहरू लुकाइएका छन्</translation>
 <translation id="8751914237388039244">कुनै छवि छनौट गर्नुहोस्‌</translation>
 <translation id="8758557275681689734">आफ्ना सबै खुला ट्याबहरू हेर्नुहोस्</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
index ba75cac7..34b2e115 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> op <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Bookmark bewerken</translation>
 <translation id="6406506848690869874">Synchronisatie</translation>
+<translation id="6410883413783534063">Open tabbladen om verschillende pagina's tegelijk te bezoeken</translation>
 <translation id="6412673304250309937">Controleert URL's aan de hand van een lijst met onveilige sites die is opgeslagen in Chrome. Als een site je wachtwoord probeert te stelen of als je een schadelijk bestand downloadt, kan Chrome ook URL's, inclusief delen van de paginacontent, naar Safe Browsing sturen.</translation>
 <translation id="641643625718530986">Afdrukken…</translation>
 <translation id="6427112570124116297">Laat webpagina's vertalen</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">In de Lite-versie van Chrome worden pagina's sneller geladen en wordt tot wel 60 procent minder data verbruikt.</translation>
 <translation id="7333031090786104871">Nog steeds bezig met toevoegen van vorige site</translation>
 <translation id="7340958967809483333">Opties voor Discover</translation>
+<translation id="7352651011704765696">Er is iets misgegaan</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 geselecteerd item delen}other{# geselecteerde items delen}}</translation>
 <translation id="7359002509206457351">Toegang tot betaalmethoden</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Zoek in je contacten</translation>
 <translation id="869891660844655955">Vervaldatum</translation>
 <translation id="8712637175834984815">Begrepen</translation>
+<translation id="8725066075913043281">Opnieuw proberen</translation>
 <translation id="8748850008226585750">Content verborgen</translation>
 <translation id="8751914237388039244">Een afbeelding selecteren</translation>
 <translation id="8758557275681689734">Al je geopende tabbladen bekijken</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 2038e25..92bdedb 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> på <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Rediger bokmerket</translation>
 <translation id="6406506848690869874">Synkroniser</translation>
+<translation id="6410883413783534063">Åpne faner for å besøke ulike sider samtidig</translation>
 <translation id="6412673304250309937">Kontrollerer nettadresser opp mot en liste i Chrome over utrygge nettsteder. Hvis nettsteder prøver å stjele passordet ditt, eller når du laster ned skadelige filer, kan Chrome også sende nettadresser, inkludert deler av sideinnholdet, til Safe Browsing.</translation>
 <translation id="641643625718530986">Skriv ut</translation>
 <translation id="6427112570124116297">Oversett nettet</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">I forenklet modus laster Chrome inn sider raskere og bruker opptil 60 prosent mindre data.</translation>
 <translation id="7333031090786104871">Holder fortsatt på å legge til det forrige nettstedet</translation>
 <translation id="7340958967809483333">Alternativer for Discover</translation>
+<translation id="7352651011704765696">Noe gikk galt</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Del 1 valgt element}other{Del # valgte elementer}}</translation>
 <translation id="7359002509206457351">Gå til betalingsmåter</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Søk i kontaktene dine</translation>
 <translation id="869891660844655955">Utløpsdato</translation>
 <translation id="8712637175834984815">Skjønner</translation>
+<translation id="8725066075913043281">Prøv igjen</translation>
 <translation id="8748850008226585750">Innholdet er skjult</translation>
 <translation id="8751914237388039244">Velg et bilde</translation>
 <translation id="8758557275681689734">Se alle åpne faner</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
index c8babf6..cad2b1f1 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
@@ -702,6 +702,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" />ରେ <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">ବୁକ୍‍ମାର୍କ ଏଡିଟ୍ କରନ୍ତୁ</translation>
 <translation id="6406506848690869874">ସିଙ୍କ୍‌ କରନ୍ତୁ</translation>
+<translation id="6410883413783534063">ଏକା ସମୟରେ ବିଭିନ୍ନ ପୃଷ୍ଠାକୁ ଭିଜିଟ୍‍ କରିବା ପାଇଁ ଟାବଗୁଡ଼ିକ ଖୋଲନ୍ତୁ</translation>
 <translation id="6412673304250309937">Chromeରେ ଷ୍ଟୋର୍ କରାଯାଇଥିବା ଅସୁରକ୍ଷିତ ସାଇଟଗୁଡ଼ିକର ଏକ ତାଲିକା ସହିତ URLଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରେ। ଯଦି କୌଣସି ସାଇଟ୍ ଆପଣଙ୍କ ପାସୱାର୍ଡ ଚୋରି କରିବାକୁ ଚେଷ୍ଟା କରେ କିମ୍ବା ଆପଣ ଏକ କ୍ଷତିକାରକ ଫାଇଲ୍ ଡାଉନଲୋଡ୍ କଲେ, ପୃଷ୍ଠାର କିଛି ବିଷୟବସ୍ତୁ ସହିତ URLଗୁଡ଼ିକୁ ମଧ୍ୟ Chrome ସେଫ୍ ବ୍ରାଉଜିଂକୁ ପଠାଇପାରେ।</translation>
 <translation id="641643625718530986">ପ୍ରିଣ୍ଟ କରନ୍ତୁ…</translation>
 <translation id="6427112570124116297">ୱେବ୍ ଅନୁବାଦ କରନ୍ତୁ</translation>
@@ -820,6 +821,7 @@
 <translation id="7328017930301109123">ଲାଇଟ୍ ମୋଡ୍‌ରେ, Chrome ପୃଷ୍ଠାଗୁଡ଼ିକୁ ଦ୍ରୁତତର ଭାବରେ ଲୋଡ୍ କରେ ଏବଂ 60 ପ୍ରତିଶତ ପର୍ଯ୍ୟନ୍ତ କମ୍ ଡାଟା ବ୍ୟବହାର କରେ।</translation>
 <translation id="7333031090786104871">ପୂର୍ବର ସାଇଟ୍‍ ଏବେ ମଧ୍ୟ ଯୋଗ କରୁଛି</translation>
 <translation id="7340958967809483333">Discover ପାଇଁ ବିକଳ୍ପଗୁଡ଼ିକ</translation>
+<translation id="7352651011704765696">କିଛି ଭୁଲ୍ ହୋଇଛି</translation>
 <translation id="7352939065658542140">ଭିଡିଓ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1ଟି ଚୟନିତ ଆଇଟମ୍ ସେୟାର୍ କରନ୍ତୁ}other{#ଟି ଚୟନିତ ଆଇଟମ୍ ସେୟାର୍ କରନ୍ତୁ}}</translation>
 <translation id="7359002509206457351">ପେମେଣ୍ଟ ପଦ୍ଧତି ଆକ୍ସେସ୍ କରନ୍ତୁ</translation>
@@ -1012,6 +1014,7 @@
 <translation id="868929229000858085">ଆପଣଙ୍କର ଯୋଗାଯୋଗ ସନ୍ଧାନ କରନ୍ତୁ</translation>
 <translation id="869891660844655955">ମିଆଦ ଶେଷ ହେଉଥିବା ତାରିଖ</translation>
 <translation id="8712637175834984815">ବୁଝିଗଲି</translation>
+<translation id="8725066075913043281">ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ</translation>
 <translation id="8748850008226585750">ଲୁଚାଯାଇଥିବା ବିଷୟବସ୍ତୁ</translation>
 <translation id="8751914237388039244">ଗୋଟିଏ ଛବି ଚୟନ କରନ୍ତୁ</translation>
 <translation id="8758557275681689734">ଆପଣଙ୍କର ଖୋଲା ଥିବା ସମସ୍ତ ଟାବ୍ ଦେଖନ୍ତୁ</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 fda074be..2c045e4 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> 'ਤੇ <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">ਬੁੱਕਮਾਰਕ ਸੰਪਾਦਿਤ ਕਰੋ</translation>
 <translation id="6406506848690869874">ਸਿੰਕ ਕਰੋ</translation>
+<translation id="6410883413783534063">ਇੱਕੋ ਵੇਲੇ ਵੱਖ-ਵੱਖ ਪੰਨਿਆਂ 'ਤੇ ਜਾਣ ਲਈ ਟੈਬਾਂ ਖੋਲ੍ਹੋ</translation>
 <translation id="6412673304250309937">Chrome ਵਿੱਚ ਸਟੋਰ ਕੀਤੀਆਂ ਅਸੁਰੱਖਿਅਤ ਸਾਈਟਾਂ ਦੀ ਸੂਚੀ ਦੇ ਨਾਲ URL ਦੀ ਜਾਂਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਜੇ ਕੋਈ ਸਾਈਟ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਨੂੰ ਚੋਰੀ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ ਜਾਂ ਜਦੋਂ ਤੁਸੀਂ ਕੋਈ ਨੁਕਸਾਨਦੇਹ ਫ਼ਾਈਲ ਡਾਊਨਲੋਡ ਕਰਦੇ ਹੋ, ਤਾਂ Chrome ਸੁਰੱਖਿਅਤ ਬ੍ਰਾਊਜ਼ਿੰਗ ਨੂੰ ਪੰਨੇ ਦੀ ਥੋੜ੍ਹੀ ਸਮੱਗਰੀ ਸਮੇਤ URL ਵੀ ਭੇਜ ਸਕਦਾ ਹੈ।</translation>
 <translation id="641643625718530986">ਪ੍ਰਿੰਟ…</translation>
 <translation id="6427112570124116297">ਵੈੱਬ ਦਾ ਅਨੁਵਾਦ ਕਰੋ</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">ਲਾਈਟ ਮੋਡ ਵਿੱਚ, Chrome ਵਧੇਰੇ ਤੇਜ਼ੀ ਨਾਲ ਪੰਨੇ ਲੋਡ ਕਰਦਾ ਹੈ ਅਤੇ 60 ਪ੍ਰਤੀਸ਼ਤ ਤੱਕ ਘੱਟ ਡਾਟਾ ਵਰਤਦਾ ਹੈ।</translation>
 <translation id="7333031090786104871">ਹਾਲੇ ਪਿਛਲੀ ਸਾਈਟ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="7340958967809483333">'ਡਿਸਕਵਰ' ਲਈ ਵਿਕਲਪ</translation>
+<translation id="7352651011704765696">ਕੁਝ ਗ਼ਲਤ ਹੋਇਆ ਸੀ</translation>
 <translation id="7352939065658542140">ਵੀਡੀਓ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 ਚੁਣੀ ਗਈ ਆਈਟਮ ਸਾਂਝੀ ਕਰੋ}one{# ਚੁਣੀਆਂ ਗਈਆਂ ਆਈਟਮਾਂ ਸਾਂਝੀਆਂ ਕਰੋ}other{# ਚੁਣੀਆਂ ਗਈਆਂ ਆਈਟਮਾਂ ਸਾਂਝੀਆਂ ਕਰੋ}}</translation>
 <translation id="7359002509206457351">ਭੁਗਤਾਨ ਵਿਧੀਆਂ ਤੱਕ ਪਹੁੰਚ</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">ਆਪਣੇ ਸੰਪਰਕ ਖੋਜੋ</translation>
 <translation id="869891660844655955">ਮਿਆਦ ਪੁੱਗਣ ਦੀ ਤਾਰੀਖ</translation>
 <translation id="8712637175834984815">ਸਮਝ ਲਿਆ</translation>
+<translation id="8725066075913043281">ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ</translation>
 <translation id="8748850008226585750">ਸਮੱਗਰੀਆਂ ਲੁਕੀਆਂ ਹੋਈਆਂ ਹਨ</translation>
 <translation id="8751914237388039244">ਇੱਕ ਚਿੱਤਰ ਚੁਣੋ</translation>
 <translation id="8758557275681689734">ਆਪਣੀਆਂ ਸਾਰੀਆਂ ਖੁੱਲ੍ਹੀਆਂ ਟੈਬਾਂ ਦੇਖੋ</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 3a679f9..a27f1b9 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Czekam na inny plik do pobrania…</translation>
 <translation id="5865733239029070421">Automatycznie przesyła do Google statystyki użytkowania i raporty o awariach</translation>
 <translation id="5869522115854928033">Zapisane hasła</translation>
+<translation id="5872013926720995826">Weryfikacja linków asercji cyfrowej na <ph name="VIOLATED_URL" /> nie udała się</translation>
 <translation id="5876056640971328065">Wstrzymaj film</translation>
 <translation id="5884076754568147479">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</translation>
 <translation id="5919204609460789179">Zaktualizuj przeglądarkę <ph name="PRODUCT_NAME" />, by rozpocząć synchronizację</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609">Błąd <ph name="ERROR_CODE" /> adresu URL <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Edytuj zakładkę</translation>
 <translation id="6406506848690869874">Synchronizacja</translation>
+<translation id="6410883413783534063">Otwórz karty, by odwiedzić jednocześnie wiele stron</translation>
 <translation id="6412673304250309937">Sprawdza, czy URL jest na liście potencjalnie niebezpiecznych stron zapisanej w Chrome. Jeśli strona próbuje wykraść Twoje hasło lub pobierasz szkodliwy plik, Chrome może też wysłać URL wraz z fragmentami zawartości strony do usługi Bezpieczne przeglądanie.</translation>
 <translation id="641643625718530986">Drukuj…</translation>
 <translation id="6427112570124116297">Tłumacz internet</translation>
@@ -755,7 +757,7 @@
 <translation id="6698801883190606802">Zarządzaj synchronizowanymi danymi</translation>
 <translation id="6699370405921460408">Serwery Google będą optymalizować otwierane strony.</translation>
 <translation id="670498945988402717">Sprawdzano wczoraj</translation>
-<translation id="6710213216561001401">Wstecz</translation>
+<translation id="6710213216561001401">Poprzedni</translation>
 <translation id="671481426037969117">Licznik czasu w aplikacji <ph name="FQDN" /> dobiegł końca. Jutro zacznie działać od nowa.</translation>
 <translation id="6738867403308150051">Pobieram…</translation>
 <translation id="6767294960381293877">Lista urządzeń, którym udostępnisz kartę, jest otwarta na połowę wysokości.</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">Chrome szybciej ładuje strony w wersji uproszczonej, przesyłając nawet o 60 procent mniej danych.</translation>
 <translation id="7333031090786104871">Nadal dodaję poprzednią stronę</translation>
 <translation id="7340958967809483333">Opcje kart Discover</translation>
+<translation id="7352651011704765696">Coś poszło nie tak</translation>
 <translation id="7352939065658542140">FILM</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Udostępnij 1 wybrany element}few{Udostępnij # wybrane elementy}many{Udostępnij # wybranych elementów}other{Udostępnij # wybranego elementu}}</translation>
 <translation id="7359002509206457351">Dostęp do form płatności</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Wyszukaj w kontaktach</translation>
 <translation id="869891660844655955">Data wygaśnięcia</translation>
 <translation id="8712637175834984815">Rozumiem</translation>
+<translation id="8725066075913043281">Spróbuj ponownie</translation>
 <translation id="8748850008226585750">Treści ukryte</translation>
 <translation id="8751914237388039244">Wybierz obraz</translation>
 <translation id="8758557275681689734">Zobacz wszystkie otwarte karty</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
index bd68a2644..8de35ac8 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
@@ -704,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> em <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Editar favorito</translation>
 <translation id="6406506848690869874">Sincronizar</translation>
+<translation id="6410883413783534063">Abra guias para acessar páginas diferentes ao mesmo tempo</translation>
 <translation id="6412673304250309937">Verifica se os URLs estão em uma lista de sites não seguros armazenada no Chrome. Se um site tentar roubar sua senha ou se você fizer o download de um arquivo nocivo, o Chrome também poderá enviar URLs, incluindo partes do conteúdo da página, para o "Navegação segura".</translation>
 <translation id="641643625718530986">Imprimir...</translation>
 <translation id="6427112570124116297">Traduzir página da Web</translation>
@@ -822,6 +823,7 @@
 <translation id="7328017930301109123">Com o Modo Lite, as páginas são carregadas mais rapidamente no Chrome, e há uma economia de dados de até 60 por cento.</translation>
 <translation id="7333031090786104871">Ainda adicionando o site anterior</translation>
 <translation id="7340958967809483333">Opções do Discover</translation>
+<translation id="7352651011704765696">Algo deu errado</translation>
 <translation id="7352939065658542140">VÍDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Compartilhar 1 item selecionado}one{Compartilhar # item selecionado}other{Compartilhar # itens selecionados}}</translation>
 <translation id="7359002509206457351">Acessar formas de pagamento</translation>
@@ -1014,6 +1016,7 @@
 <translation id="868929229000858085">Pesquisar seus contatos</translation>
 <translation id="869891660844655955">Validade</translation>
 <translation id="8712637175834984815">Entendi</translation>
+<translation id="8725066075913043281">Tentar novamente</translation>
 <translation id="8748850008226585750">Conteúdo oculto</translation>
 <translation id="8751914237388039244">Selecione uma imagem</translation>
 <translation id="8758557275681689734">Veja todas suas guias abertas</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 d8408b5..7d1adde 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">A aguardar por outra transferência…</translation>
 <translation id="5865733239029070421">Envia automaticamente estatísticas de utilização e relatórios de falhas para a Google.</translation>
 <translation id="5869522115854928033">Palavras-passe guardadas</translation>
+<translation id="5872013926720995826">A validação de links de recursos digitais falhou em <ph name="VIOLATED_URL" /></translation>
 <translation id="5876056640971328065">Colocar vídeo em pausa</translation>
 <translation id="5884076754568147479">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</translation>
 <translation id="5919204609460789179">Atualizar <ph name="PRODUCT_NAME" /> para iniciar a sincronização</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> em <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Editar marcador</translation>
 <translation id="6406506848690869874">Sincronização</translation>
+<translation id="6410883413783534063">Abra separadores para visitar várias páginas em simultâneo.</translation>
 <translation id="6412673304250309937">Verifica os URLs com listas de sites inseguros armazenados no Chrome. Se um site tentar roubar a sua palavra-passe, ou quando transferir um ficheiro prejudicial, o Chrome também pode enviar URLs, incluindo bits de conteúdo das páginas, para a Navegação segura.</translation>
 <translation id="641643625718530986">Imprimir…</translation>
 <translation id="6427112570124116297">Traduzir a Web</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">No Modo Lite, o Chrome carrega páginas mais rapidamente e utiliza até menos 60 por cento de dados.</translation>
 <translation id="7333031090786104871">Ainda a adicionar o site anterior…</translation>
 <translation id="7340958967809483333">Opções para o Discover</translation>
+<translation id="7352651011704765696">Algo correu mal</translation>
 <translation id="7352939065658542140">VÍDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Partilhar 1 item selecionado}other{Partilhar # itens selecionados}}</translation>
 <translation id="7359002509206457351">Aceder aos métodos de pagamento</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Pesquise os seus contactos</translation>
 <translation id="869891660844655955">Data de expiração</translation>
 <translation id="8712637175834984815">Entendido</translation>
+<translation id="8725066075913043281">Tentar novamente</translation>
 <translation id="8748850008226585750">Conteúdo ocultado</translation>
 <translation id="8751914237388039244">Selecionar uma imagem</translation>
 <translation id="8758557275681689734">Veja todos os seus separadores abertos</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
index d469511..3dad8f5b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" />, <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Modifică marcajul</translation>
 <translation id="6406506848690869874">Sincronizare</translation>
+<translation id="6410883413783534063">Deschide file pentru a accesa pagini diferite în același timp</translation>
 <translation id="6412673304250309937">Verifică adresele URL folosind o listă de site-uri nesigure, stocată în Chrome. Dacă un site încearcă să îți fure parola sau descarci un fișier dăunător, Chrome poate să trimită adresele URL, inclusiv fragmente din conținutul paginilor, către funcția Navigare sigură.</translation>
 <translation id="641643625718530986">Printați...</translation>
 <translation id="6427112570124116297">Tradu pe web</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">În modul Lite, Chrome încarcă mai repede paginile și folosește cu până la 60 de procente mai puține date.</translation>
 <translation id="7333031090786104871">Încă se adaugă site-ul anterior</translation>
 <translation id="7340958967809483333">Opțiuni pentru Discover</translation>
+<translation id="7352651011704765696">A apărut o eroare</translation>
 <translation id="7352939065658542140">VIDEOCLIP</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Trimite un element selectat}few{Trimite # elemente selectate}other{Trimite # de elemente selectate}}</translation>
 <translation id="7359002509206457351">Acces la metodele de plată</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Caută în agendă</translation>
 <translation id="869891660844655955">Dată de expirare</translation>
 <translation id="8712637175834984815">Am înțeles</translation>
+<translation id="8725066075913043281">Încearcă din nou</translation>
 <translation id="8748850008226585750">Conținutul este ascuns</translation>
 <translation id="8751914237388039244">Selectează o imagine</translation>
 <translation id="8758557275681689734">Vezi toate filele deschise</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 e42f9c0..8b462ba 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" />: <ph name="VIOLATED_URL" />.</translation>
 <translation id="6404511346730675251">Изменить закладку</translation>
 <translation id="6406506848690869874">Синхронизация...</translation>
+<translation id="6410883413783534063">Используйте вкладки для одновременного посещения нескольких страниц.</translation>
 <translation id="6412673304250309937">Сверяет URL со списком небезопасных сайтов в Chrome. Кроме того, если вы скачаете вредоносный файл или сайт попытается похитить ваш пароль, Chrome может отправить URL с образцами контента на проверку с помощью Безопасного просмотра.</translation>
 <translation id="641643625718530986">Печать</translation>
 <translation id="6427112570124116297">Перевод веб-страниц</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">В упрощенном режиме Chrome быстрее загружает страницы и экономит до 60 процентов трафика.</translation>
 <translation id="7333031090786104871">Предыдущий сайт ещё не добавлен</translation>
 <translation id="7340958967809483333">Параметры рекомендаций</translation>
+<translation id="7352651011704765696">Ошибка</translation>
 <translation id="7352939065658542140">ВИДЕО</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Поделиться 1 выбранным объектом}one{Поделиться # выбранным объектом}few{Поделиться # выбранными объектами}many{Поделиться # выбранными объектами}other{Поделиться # выбранного объекта}}</translation>
 <translation id="7359002509206457351">Доступ к способам оплаты</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Поиск контактов</translation>
 <translation id="869891660844655955">Срок действия</translation>
 <translation id="8712637175834984815">Готово</translation>
+<translation id="8725066075913043281">Повторить попытку</translation>
 <translation id="8748850008226585750">Содержимое скрыто</translation>
 <translation id="8751914237388039244">Выберите фото</translation>
 <translation id="8758557275681689734">Просмотр всех открытых вкладок</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb
index f5d30317..c7d895b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">වෙනත් බාගැනීමක් සඳහා රැඳෙමින්…</translation>
 <translation id="5865733239029070421">භාවිතා සංඛ්‍යාල්ඛන සහ සහ බිඳ වැටීම් වාර්තා ස්වයංක්‍රියව Google වෙත යවයි</translation>
 <translation id="5869522115854928033">සුරැකි රහස්වචන</translation>
+<translation id="5872013926720995826"><ph name="VIOLATED_URL" /> හි අංකිත වත්කම් සත්‍යාපනය අසාර්ථක විය</translation>
 <translation id="5876056640971328065">විඩියෝව විරාම කරන්න</translation>
 <translation id="5884076754568147479">ඔබට කාර්ය භාර සම්පූර්ණ කිරීමට උදවු කිරීමට, Google විසින් URL සහ ඔබේ සහකරු භාවිත කරන වෙබ් අඩවිවල අන්තර්ගතය මෙන්ම ඔබ සහකරු හරහා ඉදිරිපත් කරන තොරතුරු ලබා ගැනේ</translation>
 <translation id="5919204609460789179">සමමුහුර්ත වීම ආරම්භ කිරීමට <ph name="PRODUCT_NAME" /> යාවත්කාලීන කරන්න</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> හි <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">පිටු සලකුණ සංස්කරණය කරන්න</translation>
 <translation id="6406506848690869874">සමමුහුව</translation>
+<translation id="6410883413783534063">එකවර විවිධ පිටුවලට පිවිසීමට ටැබ් විවෘත කරන්න</translation>
 <translation id="6412673304250309937">Chrome තුළ ගබඩා කර ඇති අනාරක්‍ෂිත වෙබ් අඩවි ලැයිස්තුවක් සමඟ URL පරීක්‍ෂා කරයි. වෙබ් අඩවියක් ඔබේ මුරපදය සොරා ගැනීමට උත්සාහ කරන්නේ නම්, හෝ ඔබ හානිකර ගොනුවක් බාගන්නා විට, Chrome පිටු අන්තර්ගතයේ කැබැලි ඇතුළුව ආරක්‍ෂිත බ්‍රවුස් කිරීම වෙත URL යැවීමටද හැකිය.</translation>
 <translation id="641643625718530986">මුද්‍රණය කරන්න...</translation>
 <translation id="6427112570124116297">වෙබ් අඩවිය පරිවර්තන කරන්න</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">සැහැල්ලු ප්‍රකාරය තුළ, Chrome වේගයෙන් පිටු පූරණ කර ප්‍රතිශතය 60 ක් දක්වා අඩුවෙන් දත්ත භාවිත කරයි.</translation>
 <translation id="7333031090786104871">තවමත් කලින් අඩවියට එක් කරමින්</translation>
 <translation id="7340958967809483333">Discover සඳහා විකල්ප</translation>
+<translation id="7352651011704765696">යමක් වැරදිනි</translation>
 <translation id="7352939065658542140">වීඩියෝ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{තෝරාගත් අයිතම 1ක් බෙදාගන්න}one{තෝරාගත් අයිතම #ක් බෙදාගන්න}other{තෝරාගත් අයිතම #ක් බෙදාගන්න}}</translation>
 <translation id="7359002509206457351">ගෙවීමේ ක්‍රමවලට ප්‍රවේශය</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">ඔබේ සම්බන්ධතා සොයන්න</translation>
 <translation id="869891660844655955">කල් ඉකුත් වීමේ දිනය:</translation>
 <translation id="8712637175834984815">එය ලැබුණා</translation>
+<translation id="8725066075913043281">නැවත උත්සහ කරන්න</translation>
 <translation id="8748850008226585750">අන්තර්ගත සැඟවිණි</translation>
 <translation id="8751914237388039244">රූපයක් තෝරන්න</translation>
 <translation id="8758557275681689734">ඔබේ සියලුම විවෘත පටිති බලන්න</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
index 7601f91c..2e3bfb0 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" />: <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">Upraviť záložku</translation>
 <translation id="6406506848690869874">Synchronizácia</translation>
+<translation id="6410883413783534063">Otvorte karty a navštívte tak rôzne stránky naraz</translation>
 <translation id="6412673304250309937">Kontroluje webové adresy podľa zoznamu nebezpečných webov uloženého v Chrome. Ak sa vám určitý web pokúsi ukradnúť heslo alebo stiahnete škodlivý súbor, Chrome môže tiež odoslať webové adresy vrátane častí obsahu stránky Bezpečnému prehliadaniu.</translation>
 <translation id="641643625718530986">Tlačiť...</translation>
 <translation id="6427112570124116297">Preklad webu</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">Spravovať synchronizované údaje</translation>
 <translation id="6699370405921460408">Servery Googlu budú optimalizovať stránky, ktoré navštívite.</translation>
 <translation id="670498945988402717">Kontrola prebehla včera</translation>
-<translation id="6710213216561001401">Dozadu</translation>
+<translation id="6710213216561001401">Späť</translation>
 <translation id="671481426037969117">Časovač aplikácie <ph name="FQDN" /> vypršal. Spustí sa zase zajtra.</translation>
 <translation id="6738867403308150051">Sťahuje sa...</translation>
 <translation id="6767294960381293877">Zoznam zariadení, s ktorými sa má zdieľať karta, je otvorený na polovičnú výšku.</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">V zjednodušenom režime načítava Chrome stránky rýchlejšie a využíva až o 60 percent menej dát.</translation>
 <translation id="7333031090786104871">Pridávanie predchádzajúceho webu stále prebieha</translation>
 <translation id="7340958967809483333">Možnosti kanála Objaviť</translation>
+<translation id="7352651011704765696">Vyskytla sa chyba</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Zdieľať 1 vybranú položku}few{Zdieľať # vybrané položky}many{Zdieľať # vybranej položky}other{Zdieľať # vybraných položiek}}</translation>
 <translation id="7359002509206457351">Poskytnúť prístup k spôsobom platby</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Prehľadať kontakty</translation>
 <translation id="869891660844655955">Koniec platnosti</translation>
 <translation id="8712637175834984815">Dobre</translation>
+<translation id="8725066075913043281">Skúsiť znova</translation>
 <translation id="8748850008226585750">Obsah je skrytý</translation>
 <translation id="8751914237388039244">Vyberte obrázok</translation>
 <translation id="8758557275681689734">Zobrazenie všetkých vašich otvorených kariet</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 d8b632d..1116614 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> na <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Uredi zaznamek</translation>
 <translation id="6406506848690869874">Sinhronizacija</translation>
+<translation id="6410883413783534063">Odprite zavihke, če želite obiskati različne strani hkrati</translation>
 <translation id="6412673304250309937">Preveri URL-je, tako da jih primerja s seznamom spletnih mest, ki niso varna, shranjenim v Chromu. Če vam spletno mesto poskusi ukrasti geslo ali ko prenašate škodljivo datoteko, lahko Chrome prav tako pošlje URL-je, vključno z delčki vsebine strani, Varnemu brskanju.</translation>
 <translation id="641643625718530986">Tiskanje …</translation>
 <translation id="6427112570124116297">Prevajanje spleta</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">Upravljanje sinhroniziranih podatkov</translation>
 <translation id="6699370405921460408">Googlovi strežniki optimizirajo strani, ki jih obiščete.</translation>
 <translation id="670498945988402717">Preverjeno včeraj</translation>
-<translation id="6710213216561001401">Nazaj</translation>
+<translation id="6710213216561001401">Prejšnji</translation>
 <translation id="671481426037969117">Merilnik časa za <ph name="FQDN" /> je potekel. Jutri se začne znova.</translation>
 <translation id="6738867403308150051">Prenašanje ...</translation>
 <translation id="6767294960381293877">Seznam naprav, s katerimi želite deliti zavihek, odprt pri polovični višini.</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Chrome v lahkem načinu naloži strani hitreje in uporabi do 60 odstotkov manj podatkov.</translation>
 <translation id="7333031090786104871">Dodajanje prejšnjega spletnega mesta še vedno poteka</translation>
 <translation id="7340958967809483333">Možnosti za Odkrivanje</translation>
+<translation id="7352651011704765696">Prišlo je do neznane težave</translation>
 <translation id="7352939065658542140">VIDEOPOSNETEK</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Delitev 1 izbranega elementa z drugimi}one{Delitev # izbranega elementa z drugimi}two{Delitev # izbranih elementov z drugimi}few{Delitev # izbranih elementov z drugimi}other{Delitev # izbranih elementov z drugimi}}</translation>
 <translation id="7359002509206457351">Dostop do plačilnih sredstev</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Iskanje po stikih</translation>
 <translation id="869891660844655955">Datum izteka</translation>
 <translation id="8712637175834984815">Razumem</translation>
+<translation id="8725066075913043281">Poskusite znova</translation>
 <translation id="8748850008226585750">Vsebina je skrita</translation>
 <translation id="8751914237388039244">Izberite sliko</translation>
 <translation id="8758557275681689734">Ogled vseh odprtih zavihkov</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb
index 51b4b28..320178e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> në <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Redakto faqeshënuesin</translation>
 <translation id="6406506848690869874">Sinkronizo</translation>
+<translation id="6410883413783534063">Hap skedat për të vizituar faqe të ndryshme njëkohësisht</translation>
 <translation id="6412673304250309937">Kontrollon URL-të kundrejt një liste sajtesh të pasigurta të ruajtur në Chrome. Nëse një sajt përpiqet të vjedhë fjalëkalimin tënd, ose kur shkarkon një skedar të dëmshëm, Chrome mund t'i dërgojë po ashtu "Shfletimit të sigurt" URL-të, duke përfshirë pjesë të përmbajtjes së faqes.</translation>
 <translation id="641643625718530986">Printo…</translation>
 <translation id="6427112570124116297">Përkthe uebin</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Në "Modalitetin e lehtë", Chrome i ngarkon faqet më shpejt dhe përdor deri në 60 përqind më pak të dhëna.</translation>
 <translation id="7333031090786104871">Ende po shtohet sajti i mëparshëm</translation>
 <translation id="7340958967809483333">Opsionet për "Zbulo"</translation>
+<translation id="7352651011704765696">Diçka shkoi keq</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Ndaj 1 artikull të zgjedhur}other{Ndaj # artikuj të zgjedhur}}</translation>
 <translation id="7359002509206457351">Qasu te mënyrat e pagesës</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Kërko te kontaktet e tua</translation>
 <translation id="869891660844655955">Data e skadimit</translation>
 <translation id="8712637175834984815">E kuptova</translation>
+<translation id="8725066075913043281">Provo sërish</translation>
 <translation id="8748850008226585750">Përmbajtjet janë të fshehura</translation>
 <translation id="8751914237388039244">Zgjidh një imazh</translation>
 <translation id="8758557275681689734">Shiko të gjitha skedat e tua të hapura</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 0b1a1c24..7d48021 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Čeka se drugo preuzimanje...</translation>
 <translation id="5865733239029070421">Automatski šalje Google-u statistiku korišćenja i izveštaje o otkazivanju</translation>
 <translation id="5869522115854928033">Sačuvane lozinke</translation>
+<translation id="5872013926720995826">Verifikacija linkova u vezi sa digitalnim pravima za <ph name="VIOLATED_URL" /> nije uspela</translation>
 <translation id="5876056640971328065">Pauziraj video</translation>
 <translation id="5884076754568147479">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</translation>
 <translation id="5919204609460789179">Ažurirajte <ph name="PRODUCT_NAME" /> da biste započeli sinhronizaciju</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Izmena obeleživača</translation>
 <translation id="6406506848690869874">Sinhronizacija</translation>
+<translation id="6410883413783534063">Otvorite kartice da biste istovremeno posetili različite stranice</translation>
 <translation id="6412673304250309937">Proverava URL-ove sa listom nebezbednih sajtova koji se čuvaju u Chrome-u. Ako neki sajt pokuša da ukrade vašu lozinku ili probate da preuzmete štetnu datoteku, Chrome može da pošalje URL-ove, uključujući delove sadržaja stranice, u Bezbedno pregledanje.</translation>
 <translation id="641643625718530986">Štampaj...</translation>
 <translation id="6427112570124116297">Prevodite stranice sa veba</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">U Lite režimu Chrome učitava stranice brže i koristi i do 60 procenata manje podataka.</translation>
 <translation id="7333031090786104871">Još uvek dodajemo prethodni sajt</translation>
 <translation id="7340958967809483333">Opcije za Discover</translation>
+<translation id="7352651011704765696">Nešto nije u redu</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Deli 1 izabranu stavku}one{Deli # izabranu stavku}few{Deli # izabrane stavke}other{Deli # izabranih stavki}}</translation>
 <translation id="7359002509206457351">Pristup načinima plaćanja</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Pretražite kontakte</translation>
 <translation id="869891660844655955">Datum isteka</translation>
 <translation id="8712637175834984815">Važi</translation>
+<translation id="8725066075913043281">Probajte ponovo</translation>
 <translation id="8748850008226585750">Sadržaj je sakriven</translation>
 <translation id="8751914237388039244">Izaberite sliku</translation>
 <translation id="8758557275681689734">Pregledajte sve otvorene kartice</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 8b3aa55..574551b 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Чека се друго преузимање...</translation>
 <translation id="5865733239029070421">Аутоматски шаље Google-у статистику коришћења и извештаје о отказивању</translation>
 <translation id="5869522115854928033">Сачуване лозинке</translation>
+<translation id="5872013926720995826">Верификација линкова у вези са дигиталним правима за <ph name="VIOLATED_URL" /> није успела</translation>
 <translation id="5876056640971328065">Паузирај видео</translation>
 <translation id="5884076754568147479">Да би вам помогао у обављању задатака, Google ће добијати URL-ове и садржај сајтова на којима користите Помоћник, као и информације које пошаљете преко Помоћника</translation>
 <translation id="5919204609460789179">Ажурирајте <ph name="PRODUCT_NAME" /> да бисте започели синхронизацију</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Измена обележивача</translation>
 <translation id="6406506848690869874">Синхронизација</translation>
+<translation id="6410883413783534063">Отворите картице да бисте истовремено посетили различите странице</translation>
 <translation id="6412673304250309937">Проверава URL-ове са листом небезбедних сајтова који се чувају у Chrome-у. Ако неки сајт покуша да украде вашу лозинку или пробате да преузмете штетну датотеку, Chrome може да пошаље URL-ове, укључујући делове садржаја странице, у Безбедно прегледање.</translation>
 <translation id="641643625718530986">Штампај...</translation>
 <translation id="6427112570124116297">Преводите странице са веба</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">У Lite режиму Chrome учитава странице брже и користи и до 60 процената мање података.</translation>
 <translation id="7333031090786104871">Још увек додајемо претходни сајт</translation>
 <translation id="7340958967809483333">Опције за Discover</translation>
+<translation id="7352651011704765696">Нешто није у реду</translation>
 <translation id="7352939065658542140">ВИДЕО</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Дели 1 изабрану ставку}one{Дели # изабрану ставку}few{Дели # изабране ставке}other{Дели # изабраних ставки}}</translation>
 <translation id="7359002509206457351">Приступ начинима плаћања</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Претражите контакте</translation>
 <translation id="869891660844655955">Датум истека</translation>
 <translation id="8712637175834984815">Важи</translation>
+<translation id="8725066075913043281">Пробајте поново</translation>
 <translation id="8748850008226585750">Садржај је сакривен</translation>
 <translation id="8751914237388039244">Изаберите слику</translation>
 <translation id="8758557275681689734">Прегледајте све отворене картице</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
index 25a5685..a9375911 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Redigera bokmärke</translation>
 <translation id="6406506848690869874">Synkronisera</translation>
+<translation id="6410883413783534063">Öppna flikar för att besöka olika sidor samtidigt</translation>
 <translation id="6412673304250309937">Kontrollera webbadresser mot en lista över osäkra webbplatser i Chrome. Om du utsätts för försök att kapa ditt lösenord på en webbplats eller om du laddar ned en skadlig fil kan webbadresserna skickas från Chrome till Säker webbsökning tillsammans med delar av sidinnehållet.</translation>
 <translation id="641643625718530986">Skriv ut …</translation>
 <translation id="6427112570124116297">Översätt webbsidor</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">I begränsat läge läses sidorna in snabbare och dataförbrukningen minskar med upp till 60 procent.</translation>
 <translation id="7333031090786104871">Processen pågår fortfarande för den förra webbplatsen</translation>
 <translation id="7340958967809483333">Alternativ för Förslag</translation>
+<translation id="7352651011704765696">Något gick fel</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Dela 1 markerat objekt}other{Dela # markerade objekt}}</translation>
 <translation id="7359002509206457351">Åtkomst till betalningsmetoder</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Sök bland kontakterna</translation>
 <translation id="869891660844655955">Utgångsdatum</translation>
 <translation id="8712637175834984815">Uppfattat</translation>
+<translation id="8725066075913043281">Försök igen</translation>
 <translation id="8748850008226585750">Innehållet har dolts</translation>
 <translation id="8751914237388039244">Välj en bild</translation>
 <translation id="8758557275681689734">Visa alla öppnade flikar</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
index 41b0d4f..71b5a34 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Inasubiri kipakuliwa kingine…</translation>
 <translation id="5865733239029070421">Hutuma kiotomatiki takwimu za matumizi na ripoti za programu kuacha kufanya kazi kwa Google</translation>
 <translation id="5869522115854928033">Manenosiri yaliyohifadhiwa</translation>
+<translation id="5872013926720995826">Mchakato wa kuthibitisha viungo vya vipengele vya kidijitali haukukamilika kwenye <ph name="VIOLATED_URL" /></translation>
 <translation id="5876056640971328065">Sitisha video</translation>
 <translation id="5884076754568147479">Ili tukusaidie ukamilishe majukumu, Google itapokea URL na maudhui ya tovuti ambako unatumia programu ya Mratibu na pia maelezo unayotuma kupitia programu ya Mratibu</translation>
 <translation id="5919204609460789179">Sasisha <ph name="PRODUCT_NAME" /> ili uanze kusawazisha</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Badilisha alamisho</translation>
 <translation id="6406506848690869874">Sawazisha</translation>
+<translation id="6410883413783534063">Fungua vichupo ili utembelee kurasa mbalimbali kwa wakati mmoja</translation>
 <translation id="6412673304250309937">Hukagua URL zilizo na orodha ya tovuti zisizo salama zinazohifadhiwa kwenye Chrome. Iwapo tovuti inajaribu kuiba nenosiri lako au unapopakua faili hatari, Chrome inaweza pia kutuma URL, ikiwa ni pamoja na sehemu za maudhui ya ukurasa, kwenye kipengele cha Kuvinjari Salama.</translation>
 <translation id="641643625718530986">Chapisha...</translation>
 <translation id="6427112570124116297">Tafsiri Wavuti</translation>
@@ -755,7 +757,7 @@
 <translation id="6698801883190606802">Dhibiti data iliyosawazishwa</translation>
 <translation id="6699370405921460408">Seva za Google zitaboresha kurasa unazotembelea.</translation>
 <translation id="670498945988402717">Ilikaguliwa jana</translation>
-<translation id="6710213216561001401">Iliyotangulia</translation>
+<translation id="6710213216561001401">Iliyopita</translation>
 <translation id="671481426037969117">Kipindi cha kipima muda cha <ph name="FQDN" /> kimeisha. Kitaanza tena kesho.</translation>
 <translation id="6738867403308150051">Inapakua...</translation>
 <translation id="6767294960381293877">Orodha ya vifaa vinavyoweza kutumia kichupo pamoja imefunguliwa kwenye nusu ya skrini.</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">Katika Hali nyepesi, Chrome hupakia kurasa haraka zaidi na huokoa data kwa hadi asilimia 60.</translation>
 <translation id="7333031090786104871">Bado inaongeza tovuti ya awali</translation>
 <translation id="7340958967809483333">Chaguo za Dokezo</translation>
+<translation id="7352651011704765696">Hitilafu fulani imetokea</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Shiriki kipengee 1 kilichochaguliwa}other{Shiriki vipengee # vilivyochaguliwa}}</translation>
 <translation id="7359002509206457351">Ufikiaji wa njia za kulipa</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Tafuta kwenye anwani zako</translation>
 <translation id="869891660844655955">Muda wake unakwisha tarehe</translation>
 <translation id="8712637175834984815">Nimeelewa</translation>
+<translation id="8725066075913043281">Jaribu tena</translation>
 <translation id="8748850008226585750">Maudhui yamefichwa</translation>
 <translation id="8751914237388039244">Chagua picha</translation>
 <translation id="8758557275681689734">Angalia vichupo vyote ulivyofungua</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 aab6a54..6a22eca 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> இல் <ph name="ERROR_CODE" /> பிழை</translation>
 <translation id="6404511346730675251">புக்மார்க்களைத் திருத்து</translation>
 <translation id="6406506848690869874">Sync</translation>
+<translation id="6410883413783534063">ஒரே நேரத்தில் வெவ்வேறு பக்கங்களைப் பார்வையிடுவதற்குத் தாவல்களைத் திறக்கவும்</translation>
 <translation id="6412673304250309937">Chromeமில் சேமிக்கப்பட்டுள்ள பாதுகாப்பில்லாத தளங்களின் பட்டியலைப் பயன்படுத்தி URLகளைச் சரிபார்க்கும். தளம் உங்கள் கடவுச்சொல்லைத் திருட முயன்றலோ தீங்குவிளைவிக்கும் கோப்பை நீங்கள் பதிவிறக்கினாலோ Chromeமானது பக்க உள்ளடக்கத்தின் சிறிய பகுதிகள் உட்பட URLகளையும் பாதுகாப்பு உலாவலுக்கு அனுப்பக்கூடும்.</translation>
 <translation id="641643625718530986">அச்சிடு...</translation>
 <translation id="6427112570124116297">இணையத்தை மொழிபெயர்த்தல்</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">’லைட்’ பயன்முறையில், பக்கங்களை Chrome வேகமாக ஏற்றுவதோடு, டேட்டாவை 60 சதவீதம் குறைவாகவும் பயன்படுத்தும்.</translation>
 <translation id="7333031090786104871">முந்தைய தளத்தை இன்னும் சேர்க்கிறது</translation>
 <translation id="7340958967809483333">Discoverருக்கான விருப்பங்கள்</translation>
+<translation id="7352651011704765696">ஏதோ தவறு ஏற்பட்டது</translation>
 <translation id="7352939065658542140">வீடியோ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{தேர்ந்தெடுத்த 1 உருப்படியைப் பகிரும்}other{தேர்ந்தெடுத்த # உருப்படிகளைப் பகிரும்}}</translation>
 <translation id="7359002509206457351">கட்டண முறைகளை அணுகுவதற்கான அனுமதி</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">உங்கள் தொடர்புகளில் தேடுக</translation>
 <translation id="869891660844655955">காலாவதியாகும் தேதி</translation>
 <translation id="8712637175834984815">புரிந்தது</translation>
+<translation id="8725066075913043281">மீண்டும் முயற்சிக்கவும்</translation>
 <translation id="8748850008226585750">மறைந்துள்ள உள்ளடக்கம்</translation>
 <translation id="8751914237388039244">படத்தைத் தேர்ந்தெடுக்கவும்</translation>
 <translation id="8758557275681689734">திறந்துள்ள தாவல்கள் அனைத்தையும் பாருங்கள்</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 7a8410f..d5c19c6 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" />లో <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">బుక్‌మార్క్‌ను సవరించు</translation>
 <translation id="6406506848690869874">Sync</translation>
+<translation id="6410883413783534063">ఒకే సమయంలో వేర్వేరు పేజీలను సందర్శించడానికి ట్యాబ్‌లను తెరవండి</translation>
 <translation id="6412673304250309937">Chromeలో స్టోర్ చేసిన సురక్షితం కాని సైట్‌ల జాబితాతో కూడిన URLలను చెక్ చేస్తుంది. ఏదైనా సైట్ మీ పాస్‌వర్డ్‌ను దొంగిలించే ప్రయత్నం చేసినా, లేదంటే ఏదైనా హానికరమైన ఫైల్‌ను మీరు డౌన్‌లోడ్ చేసినా, సదరు URLలను, ఆయా పేజీల కంటెంట్‌లోని కొన్ని భాగాలను కూడా Chrome, 'సురక్షిత బ్రౌజింగ్'కు పంపవచ్చు.</translation>
 <translation id="641643625718530986">ముద్రించు…</translation>
 <translation id="6427112570124116297">వెబ్‌ను అనువదించండి</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">లైట్ మోడ్‌లో, Chrome పేజీలను వేగంగా లోడ్ చేస్తుంది, అలాగే 60 శాతం తక్కువ డేటాను ఉపయోగిస్తుంది.</translation>
 <translation id="7333031090786104871">ఇంకా మునుపటి సైట్‌ను జోడిస్తోంది</translation>
 <translation id="7340958967809483333">Discover కోసం ఆప్షన్‌లు</translation>
+<translation id="7352651011704765696">ఏదో తప్పు జరిగింది</translation>
 <translation id="7352939065658542140">వీడియో</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{ఎంచుకోబడిన 1 అంశాన్ని భాగస్వామ్యం చేస్తుంది}other{ఎంచుకోబడిన # అంశాలను భాగస్వామ్యం చేస్తుంది}}</translation>
 <translation id="7359002509206457351">మీ చెల్లింపు పద్ధతులను యాక్సెస్ చేయనీయడం</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">మీ పరిచయాలను వెతకండి</translation>
 <translation id="869891660844655955">గడువు తేదీ</translation>
 <translation id="8712637175834984815">అర్థమైంది</translation>
+<translation id="8725066075913043281">మళ్ళీ ప్రయత్నించండి</translation>
 <translation id="8748850008226585750">కంటెంట్‌లు దాచబడ్డాయి</translation>
 <translation id="8751914237388039244">చిత్రాన్ని ఎంచుకోండి</translation>
 <translation id="8758557275681689734">మీ తెరవబడిన ట్యాబ్‌లన్నీ చూడండి</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
index 1cb67824..0609a6f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">กำลังรอการดาวน์โหลดรายการอื่น…</translation>
 <translation id="5865733239029070421">ส่งสถิติการใช้งานและรายงานข้อขัดข้องให้กับ Google โดยอัตโนมัติ</translation>
 <translation id="5869522115854928033">รหัสผ่านที่บันทึกไว้</translation>
+<translation id="5872013926720995826">ตรจสอบลิงก์ยืนยันดิจิทัลใน <ph name="VIOLATED_URL" /> ไม่สำเร็จ</translation>
 <translation id="5876056640971328065">หยุดวิดีโอชั่วคราว</translation>
 <translation id="5884076754568147479">Google จะได้รับ URL และเนื้อหาของเว็บไซต์ต่างๆ ที่คุณใช้งาน Assistant ด้วย รวมถึงข้อมูลที่คุณส่งผ่าน Assistant เพื่อช่วยทำงานที่ต้องการให้เสร็จสิ้น</translation>
 <translation id="5919204609460789179">อัปเดต <ph name="PRODUCT_NAME" /> เพื่อเริ่มซิงค์</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> ใน <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">แก้ไขบุ๊กมาร์ก</translation>
 <translation id="6406506848690869874">การซิงค์ข้อมูล</translation>
+<translation id="6410883413783534063">เปิดหลายแท็บเพื่อไปยังหน้าต่างๆ พร้อมกัน</translation>
 <translation id="6412673304250309937">ตรวจสอบ URL กับรายการเว็บไซต์ที่ไม่ปลอดภัยซึ่งจัดเก็บไว้ใน Chrome หากเว็บไซต์พยายามขโมยรหัสผ่าน หรือคุณดาวน์โหลดไฟล์ที่เป็นอันตราย Chrome อาจส่ง URL รวมถึงเนื้อหาบางส่วนในหน้าไปยัง Google Safe Browsing ด้วย</translation>
 <translation id="641643625718530986">พิมพ์…</translation>
 <translation id="6427112570124116297">แปลเว็บ</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">ในโหมด Lite เบราว์เซอร์ Chrome จะโหลดหน้าเว็บได้เร็วขึ้นและใช้เน็ตน้อยลงสูงสุดถึง 60 เปอร์เซ็นต์</translation>
 <translation id="7333031090786104871">ยังเพิ่มไซต์ก่อนหน้าอยู่</translation>
 <translation id="7340958967809483333">ตัวเลือกสำหรับ Discover</translation>
+<translation id="7352651011704765696">มีข้อผิดพลาดเกิดขึ้น</translation>
 <translation id="7352939065658542140">วิดีโอ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{แชร์ 1 รายการที่เลือก}other{แชร์ # รายการที่เลือก}}</translation>
 <translation id="7359002509206457351">เข้าถึงวิธีการชำระเงิน</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">ค้นหารายชื่อติดต่อ</translation>
 <translation id="869891660844655955">วันหมดอายุ</translation>
 <translation id="8712637175834984815">สำเร็จ</translation>
+<translation id="8725066075913043281">ลองอีกครั้ง</translation>
 <translation id="8748850008226585750">เนื้อหาถูกซ่อนไว้</translation>
 <translation id="8751914237388039244">เลือกรูปภาพ</translation>
 <translation id="8758557275681689734">ดูแท็บที่เปิดอยู่ทั้งหมด</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 87cada6..b1c5b10f 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> adresinde <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">Yer işaretini düzenle</translation>
 <translation id="6406506848690869874">Senkronizasyon</translation>
+<translation id="6410883413783534063">Aynı anda birden fazla sayfayı ziyaret etmek için yeni sekme açın</translation>
 <translation id="6412673304250309937">URL'leri, Chrome'da kayıtlı güvenli olmayan siteler listesine göre kontrol eder. Chrome, bir sitenin şifrenizi çalmaya çalışması veya zararlı bir dosya indirmeniz halinde de Güvenli Tarama'ya sayfa içeriğinden parçalarla birlikte URL'ler gönderebilir.</translation>
 <translation id="641643625718530986">Yazdır…</translation>
 <translation id="6427112570124116297">Web'i çevir</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Chrome, Basit modda sayfaları daha hızlı yükler ve yüzde 60'a kadar daha az veri kullanır.</translation>
 <translation id="7333031090786104871">Önceki siteyi ekleme işlemi devam ediyor.</translation>
 <translation id="7340958967809483333">Keşfet seçenekleri</translation>
+<translation id="7352651011704765696">Bir şeyler ters gitti</translation>
 <translation id="7352939065658542140">VİDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 seçili öğeyi paylaş}other{# seçili öğeyi paylaş}}</translation>
 <translation id="7359002509206457351">Ödeme yöntemlerine erişim</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Kişilerinizde arama yapın</translation>
 <translation id="869891660844655955">Son kullanma tarihi</translation>
 <translation id="8712637175834984815">Anlaşıldı</translation>
+<translation id="8725066075913043281">Yeniden dene</translation>
 <translation id="8748850008226585750">İçerik gizlendi</translation>
 <translation id="8751914237388039244">Resim seçin</translation>
 <translation id="8758557275681689734">Tüm açık sekmelerinizi görüntüleyin</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
index 83ecbb6f..e0c824f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609">Помилка <ph name="ERROR_CODE" /> на сторінці <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Редагувати закладку</translation>
 <translation id="6406506848690869874">Синхронізація</translation>
+<translation id="6410883413783534063">Відкривайте різні вкладки, щоб одночасно переглядати кілька сторінок</translation>
 <translation id="6412673304250309937">Перевіряє URL-адреси за списком шкідливих сайтів, що зберігається в Chrome. Якщо сайт намагається викрасти ваш пароль або ви завантажуєте шкідливий файл, Chrome також може надсилати Безпечному перегляду URL-адреси, зокрема уривки вмісту сторінки.</translation>
 <translation id="641643625718530986">Друк…</translation>
 <translation id="6427112570124116297">Перекласти веб-сторінки</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">Керування синхронізованими даними</translation>
 <translation id="6699370405921460408">Сервери Google оптимізують сторінки, які ви відвідуєте.</translation>
 <translation id="670498945988402717">Перевірено вчора</translation>
-<translation id="6710213216561001401">Попереднє</translation>
+<translation id="6710213216561001401">Назад</translation>
 <translation id="671481426037969117">Вийшов час на таймері веб-сайту <ph name="FQDN" />. Завтра він знову запрацює.</translation>
 <translation id="6738867403308150051">Завантаження…</translation>
 <translation id="6767294960381293877">Список пристроїв, з якими можна ділитися вкладкою, відкрито на половину висоти.</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">У спрощеному режимі Chrome завантажує сторінки швидше та використовує на 60 відсотків менше трафіку.</translation>
 <translation id="7333031090786104871">Попередній сайт ще додається</translation>
 <translation id="7340958967809483333">Налаштування рекомендацій</translation>
+<translation id="7352651011704765696">Виникли проблеми</translation>
 <translation id="7352939065658542140">ВІДЕО</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Поділитись 1 вибраним елементом}one{Поділитися # вибраним елементом}few{Поділитися # вибраними елементами}many{Поділитися # вибраними елементами}other{Поділитися # вибраного елемента}}</translation>
 <translation id="7359002509206457351">Отримати доступ до способів оплати</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Пошук у контактах</translation>
 <translation id="869891660844655955">Діє до</translation>
 <translation id="8712637175834984815">Виконано</translation>
+<translation id="8725066075913043281">Повторити спробу</translation>
 <translation id="8748850008226585750">Вміст сховано</translation>
 <translation id="8751914237388039244">Виберіть зображення</translation>
 <translation id="8758557275681689734">Як переглянути всі відкриті вкладки</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 43ec922..31510b0 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> پر <ph name="ERROR_CODE" /></translation>
 <translation id="6404511346730675251">بک مارک میں ترمیم کریں</translation>
 <translation id="6406506848690869874">مطابقت پذیر بنائیں</translation>
+<translation id="6410883413783534063">ایک ہی وقت میں مختلف صفحات دیکھنے کیلئے ٹیبز کھولیں</translation>
 <translation id="6412673304250309937">‏Chrome میں اسٹور کردہ غیر محفوظ سائٹس کی فہرست کے URLs چیک کرتا ہے۔ اگر کوئی سائٹ آپ کا پاس ورڈ چرانے کی کوشش کرتی ہے یا جب آپ نقصان دہ فائل ڈاؤن لوڈ کرتے ہیں تو Chrome محفوظ براؤزنگ پر صفحہ کے مواد کے بائٹس سمیت URLs بھیجتا ہے۔</translation>
 <translation id="641643625718530986">پرنٹ کریں…</translation>
 <translation id="6427112570124116297">ویب کا ترجمہ کریں</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">‏لائٹ موڈ میں، Chrome صفحات کو زیادہ تیزی سے لوڈ کرتا ہے اور60 فیصد تک کم ڈیٹا استعمال کرتا ہے۔</translation>
 <translation id="7333031090786104871">ابھی بھی سابقہ سائٹ شامل کی جا رہی ہے</translation>
 <translation id="7340958967809483333">‏Discover کے لیے اختیارات</translation>
+<translation id="7352651011704765696">کچھ غلط ہو گیا</translation>
 <translation id="7352939065658542140">ویڈیو</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 منتخب کردہ آئٹم کا اشتراک کریں}other{# منتخب کردہ آئٹمز کا اشتراک کریں}}</translation>
 <translation id="7359002509206457351">ادائیگی کے طریقوں تک رسائی حاصل کریں</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">اپنے رابطوں کو تلاش کریں</translation>
 <translation id="869891660844655955">میعاد ختم ہونے کی تاریخ</translation>
 <translation id="8712637175834984815">سمجھ آ گئی</translation>
+<translation id="8725066075913043281">دوبارہ کوشش کریں</translation>
 <translation id="8748850008226585750">مواد مخفی ہیں</translation>
 <translation id="8751914237388039244">ایک تصویر منتخب کریں</translation>
 <translation id="8758557275681689734">اپنے سبھی کھلے ہوئے ٹیبز دیکھیں</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 60f19b1e..8dfc001d7 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
@@ -633,6 +633,7 @@
 <translation id="5864419784173784555">Oldingi yuklanma yakuni kutilmoqda…</translation>
 <translation id="5865733239029070421">Foydalanish statistikasi va ishdan chiqish hisobotlari avtomatik tarzda Google serverlariga yuborilsin</translation>
 <translation id="5869522115854928033">Saqlab olingan parollar</translation>
+<translation id="5872013926720995826">Quyidagi raqamli imzo havolalari tasdiqlanmadi: <ph name="VIOLATED_URL" /></translation>
 <translation id="5876056640971328065">Videoni pauza qilish</translation>
 <translation id="5884076754568147479">Google internetda ishlashingizni osonlashtirish uchun Assistent orqali kirilgan saytlarning URL manzillari va kontentlarini, shuningdek, soʻrovlarni ham oladi</translation>
 <translation id="5919204609460789179">Sinxronizatsiyani boshlash uchun <ph name="PRODUCT_NAME" /> yangilanishi kerak</translation>
@@ -703,6 +704,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" />, <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Xatcho‘pni tahrirlash</translation>
 <translation id="6406506848690869874">Sinxronlash</translation>
+<translation id="6410883413783534063">Bir vaqtda turli sahifalarga tashrif buyurish uchun varaqlar ochish</translation>
 <translation id="6412673304250309937">URL manzillar Chrome bilgan zararli saytlar roʻyxati orqali tekshiriladi. Agar sayt parolingizni oʻgirlashga urinsa yoki zararli fayl yuklab olsangiz, Chrome ham URL manzillar kabi sahifa elementlarini Saytlarni xavfsiz kezish tizimiga yuborishi mumkin.</translation>
 <translation id="641643625718530986">Chop etish…</translation>
 <translation id="6427112570124116297">Internetni oʻz tilingizda kezing</translation>
@@ -821,6 +823,7 @@
 <translation id="7328017930301109123">Lite rejimida Chrome sahifalarni tezroq yuklaydi va 60 foizgacha trafik tejaydi.</translation>
 <translation id="7333031090786104871">Avvalgi sayt qo‘shilmoqda</translation>
 <translation id="7340958967809483333">Discover parametrlari</translation>
+<translation id="7352651011704765696">Xatolik yuz berdi.</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Belgilangan 1 ta elementni ulashish}other{Belgilangan # ta elementni ulashish}}</translation>
 <translation id="7359002509206457351">To‘lov usullariga kirish uchun ruxsat</translation>
@@ -1013,6 +1016,7 @@
 <translation id="868929229000858085">Kontaktlarni qidirish</translation>
 <translation id="869891660844655955">Tugash muddati</translation>
 <translation id="8712637175834984815">Tushunarli</translation>
+<translation id="8725066075913043281">Qayta urinib ko‘ring</translation>
 <translation id="8748850008226585750">Kontent berkitildi</translation>
 <translation id="8751914237388039244">Rasmni tanlang</translation>
 <translation id="8758557275681689734">Barcha ochiq varaqlar</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 f27f7d0b..50bb490 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> trên <ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Chỉnh sửa dấu trang</translation>
 <translation id="6406506848690869874">Đồng bộ hóa</translation>
+<translation id="6410883413783534063">Mở các thẻ để truy cập vào nhiều trang cùng một lúc</translation>
 <translation id="6412673304250309937">Kiểm tra đối chiếu các URL với danh sách trang web không an toàn được lưu trữ trong Chrome. Nếu một trang web cố ăn cắp mật khẩu của bạn hoặc nếu bạn tải một tệp gây hại xuống, Chrome cũng có thể gửi các URL, bao gồm cả các đoạn nội dung trên trang, đến tính năng Duyệt web an toàn.</translation>
 <translation id="641643625718530986">In…</translation>
 <translation id="6427112570124116297">Dịch web</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">Quản lý dữ liệu đã đồng bộ hóa</translation>
 <translation id="6699370405921460408">Máy chủ của Google sẽ tối ưu hóa các trang bạn truy cập.</translation>
 <translation id="670498945988402717">Đã kiểm tra hôm qua</translation>
-<translation id="6710213216561001401">Trước đó</translation>
+<translation id="6710213216561001401">Trước</translation>
 <translation id="671481426037969117">Thời gian hẹn giờ của <ph name="FQDN" /> đã hết. Thời gian hẹn giờ sẽ bắt đầu lại vào ngày mai.</translation>
 <translation id="6738867403308150051">Đang tải xuống...</translation>
 <translation id="6767294960381293877">Danh sách các thiết bị mà bạn có thể chia sẻ một thẻ đã mở ở nửa dưới của màn hình.</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Ở Chế độ thu gọn, Chrome tải trang nhanh hơn và sử dụng ít dữ liệu hơn lên tới 60 phần trăm.</translation>
 <translation id="7333031090786104871">Vẫn đang thêm trang web trước</translation>
 <translation id="7340958967809483333">Các tùy chọn của tính năng Khám phá</translation>
+<translation id="7352651011704765696">Đã xảy ra lỗi</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Chia sẻ 1 mục đã chọn}other{Chia sẻ # mục đã chọn}}</translation>
 <translation id="7359002509206457351">Truy cập vào phương thức thanh toán</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Tìm kiếm trong danh bạ</translation>
 <translation id="869891660844655955">Ngày hết hạn</translation>
 <translation id="8712637175834984815">Bỏ qua</translation>
+<translation id="8725066075913043281">Thử lại</translation>
 <translation id="8748850008226585750">Nội dung bị ẩn</translation>
 <translation id="8751914237388039244">Chọn hình ảnh</translation>
 <translation id="8758557275681689734">Xem tất cả các thẻ bạn đang mở</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
index e0b91543..75e3653 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> 上发生了 <ph name="ERROR_CODE" /> 错误</translation>
 <translation id="6404511346730675251">修改书签</translation>
 <translation id="6406506848690869874">同步</translation>
+<translation id="6410883413783534063">打开多个标签页即可同时访问不同网页</translation>
 <translation id="6412673304250309937">将网址与存储在 Chrome 中的不安全网站列表进行比对。如果某个网站企图窃取您的密码,或者您下载了有害的文件,Chrome 可能还会将相应网址连同少量网页内容发送给“安全浏览”功能。</translation>
 <translation id="641643625718530986">打印…</translation>
 <translation id="6427112570124116297">翻译网页</translation>
@@ -755,7 +756,7 @@
 <translation id="6698801883190606802">管理已同步的数据</translation>
 <translation id="6699370405921460408">Google 服务器会优化您访问的网页。</translation>
 <translation id="670498945988402717">昨天检查过</translation>
-<translation id="6710213216561001401">上一个</translation>
+<translation id="6710213216561001401">上一项</translation>
 <translation id="671481426037969117">您的 <ph name="FQDN" /> 计时器已结束计时。它将于明天重新开始。</translation>
 <translation id="6738867403308150051">正在下载…</translation>
 <translation id="6767294960381293877">要与之分享标签页的设备的列表已半屏打开。</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">在精简模式下,Chrome 可更快速地加载网页,并可节省多达百分之 60 的流量。</translation>
 <translation id="7333031090786104871">仍在添加先前的网站</translation>
 <translation id="7340958967809483333">“探索”功能的选项</translation>
+<translation id="7352651011704765696">出了点问题</translation>
 <translation id="7352939065658542140">视频</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{分享 1 个所选项}other{分享 # 个所选项}}</translation>
 <translation id="7359002509206457351">查询付款方式</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">搜索联系人</translation>
 <translation id="869891660844655955">截止日期</translation>
 <translation id="8712637175834984815">知道了</translation>
+<translation id="8725066075913043281">重试</translation>
 <translation id="8748850008226585750">内容已隐藏</translation>
 <translation id="8751914237388039244">选择图片</translation>
 <translation id="8758557275681689734">查看您已打开的所有标签页</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb
index facb873..40198da 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> (<ph name="VIOLATED_URL" />)</translation>
 <translation id="6404511346730675251">編輯書籤</translation>
 <translation id="6406506848690869874">同步處理</translation>
+<translation id="6410883413783534063">開啟分頁即可同時瀏覽不同網頁</translation>
 <translation id="6412673304250309937">使用儲存在 Chrome 中的不安全網站清單來檢查網址。如果有網站試圖盜取您的密碼,或當您下載有害檔案時,Chrome 亦可能將網址 (包括部分網頁內容) 傳送至「安全瀏覽」功能。</translation>
 <translation id="641643625718530986">列印…</translation>
 <translation id="6427112570124116297">翻譯網頁</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">「精簡模式」可加快 Chrome 載入網頁的速度,並節省高達百分之 60 的數據用量。</translation>
 <translation id="7333031090786104871">仍在新增先前的網站</translation>
 <translation id="7340958967809483333">「探索」的選項</translation>
+<translation id="7352651011704765696">發生問題</translation>
 <translation id="7352939065658542140">影片</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{分享 1 個已選取的項目}other{分享 # 個已選取的項目}}</translation>
 <translation id="7359002509206457351">存取付款方法</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">搜尋您的聯絡人</translation>
 <translation id="869891660844655955">到期日</translation>
 <translation id="8712637175834984815">我知道了</translation>
+<translation id="8725066075913043281">再試一次</translation>
 <translation id="8748850008226585750">內容已隱藏</translation>
 <translation id="8751914237388039244">選取圖片</translation>
 <translation id="8758557275681689734">查看所有開啟的分頁</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 3c30965..f295eb4 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="VIOLATED_URL" /> 上發生 <ph name="ERROR_CODE" /> 錯誤</translation>
 <translation id="6404511346730675251">編輯書籤</translation>
 <translation id="6406506848690869874">同步</translation>
+<translation id="6410883413783534063">開啟分頁即可同時造訪不同的網頁</translation>
 <translation id="6412673304250309937">可使用儲存在 Chrome 中的不安全網站清單檢查網址。如果有網站試圖竊取你的密碼,或當你下載有害檔案時,Chrome 可能也會將網址 (包括部分網頁內容) 傳送至安全瀏覽功能。</translation>
 <translation id="641643625718530986">列印…</translation>
 <translation id="6427112570124116297">翻譯網頁</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">使用精簡模式時,Chrome 可加快網頁載入速度,並可節省多達百分之 60 的數據用量。</translation>
 <translation id="7333031090786104871">仍在新增先前的網站</translation>
 <translation id="7340958967809483333">探索的選項</translation>
+<translation id="7352651011704765696">發生錯誤</translation>
 <translation id="7352939065658542140">影片</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{分享 1 個選取的項目}other{分享 # 個選取的項目}}</translation>
 <translation id="7359002509206457351">存取付款方式</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">搜尋聯絡人</translation>
 <translation id="869891660844655955">到期日</translation>
 <translation id="8712637175834984815">我瞭解了</translation>
+<translation id="8725066075913043281">再試一次</translation>
 <translation id="8748850008226585750">內容已隱藏</translation>
 <translation id="8751914237388039244">選取圖片</translation>
 <translation id="8758557275681689734">查看所有開啟的分頁</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 e93dff6..a274dd92 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
@@ -703,6 +703,7 @@
 <translation id="6402652558933147609"><ph name="ERROR_CODE" /> ku-<ph name="VIOLATED_URL" /></translation>
 <translation id="6404511346730675251">Hlela ibhukhimakhi</translation>
 <translation id="6406506848690869874">Vumelanisa</translation>
+<translation id="6410883413783534063">Vula amathebhu ukuvakashela amakhasi ahlukile ngesikhathi esisodwa</translation>
 <translation id="6412673304250309937">Kuhlola ama-URL anohlu lwamasayithi angaphephile agcinwe ku-Chrome. Uma isayithi lizama ukuntshontsha iphasiwedi yakho, noma uma ulanda ifayela eliyingozi, i-Chrome ingathumela nama-URL, kuhlanganise nokuthile okuqukethwe kulelo khasi, Ekuphequluleni Okuphephile.</translation>
 <translation id="641643625718530986">Phrinta…</translation>
 <translation id="6427112570124116297">Humusha iwebhu</translation>
@@ -821,6 +822,7 @@
 <translation id="7328017930301109123">Kumodi elula, i-Chrome ilayisha amakhasi ngokushesha futhi isebenzisa kufikela kudatha encane ngokungu-60 wamaphesenti.</translation>
 <translation id="7333031090786104871">Isangeza isayithi langaphambilini</translation>
 <translation id="7340958967809483333">Izinketho zokuthola</translation>
+<translation id="7352651011704765696">Okuthile akuhambanga kahle</translation>
 <translation id="7352939065658542140">IVIDIYO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Yabelana ngento engu-1 ekhethiwe}one{Yabelana ngezinto ezingu-# ezikhethiwe}other{Yabelana ngezinto ezingu-# ezikhethiwe}}</translation>
 <translation id="7359002509206457351">Finyelela kuzindlela zokukhokha</translation>
@@ -1013,6 +1015,7 @@
 <translation id="868929229000858085">Sesha oxhumana nabo</translation>
 <translation id="869891660844655955">Idethi yokuphelelwa yisikhathi</translation>
 <translation id="8712637175834984815">Ngiyitholile</translation>
+<translation id="8725066075913043281">Zama futhi</translation>
 <translation id="8748850008226585750">Okuqukethwe kufihliwe</translation>
 <translation id="8751914237388039244">Khetha isithombe</translation>
 <translation id="8758557275681689734">Bona onke amathebhu akho avulekile</translation>
diff --git a/chrome/browser/ui/app_list/app_list_notifier_impl.cc b/chrome/browser/ui/app_list/app_list_notifier_impl.cc
index 4a32a355..904a69af 100644
--- a/chrome/browser/ui/app_list/app_list_notifier_impl.cc
+++ b/chrome/browser/ui/app_list/app_list_notifier_impl.cc
@@ -40,7 +40,7 @@
 }
 
 void AppListNotifierImpl::NotifyLaunched(Location location,
-                                         const std::string& result) {
+                                         const Result& result) {
   launched_result_ = result;
 
   // Only two UI views appear at once: the app tiles and results list. If a
@@ -56,7 +56,7 @@
 
 void AppListNotifierImpl::NotifyResultsUpdated(
     Location location,
-    const std::vector<std::string>& results) {
+    const std::vector<Result>& results) {
   results_[location] = results;
 }
 
@@ -199,9 +199,10 @@
   }
 
   // Notify of launch on * -> kLaunched.
-  if (new_state == State::kLaunched) {
+  if (new_state == State::kLaunched && launched_result_.has_value()) {
     for (auto& observer : observers_) {
-      observer.OnLaunch(location, launched_result_, results_[location], query_);
+      observer.OnLaunch(location, launched_result_.value(), results_[location],
+                        query_);
     }
   }
 
diff --git a/chrome/browser/ui/app_list/app_list_notifier_impl.h b/chrome/browser/ui/app_list/app_list_notifier_impl.h
index d918a9c..919ae7a 100644
--- a/chrome/browser/ui/app_list/app_list_notifier_impl.h
+++ b/chrome/browser/ui/app_list/app_list_notifier_impl.h
@@ -15,6 +15,7 @@
 #include "base/containers/flat_map.h"
 #include "base/memory/weak_ptr.h"
 #include "base/observer_list.h"
+#include "base/optional.h"
 
 namespace base {
 class OneShotTimer;
@@ -140,9 +141,9 @@
   // AppListNotifier:
   void AddObserver(Observer* observer) override;
   void RemoveObserver(Observer* observer) override;
-  void NotifyLaunched(Location location, const std::string& result) override;
+  void NotifyLaunched(Location location, const Result& result) override;
   void NotifyResultsUpdated(Location location,
-                            const std::vector<std::string>& results) override;
+                            const std::vector<Result>& results) override;
   void NotifySearchQueryChanged(const base::string16& query) override;
   void NotifyUIStateChanged(ash::AppListViewState view) override;
 
@@ -186,11 +187,11 @@
   // |shown_| due to tablet mode.
   ash::AppListViewState view_ = ash::AppListViewState::kClosed;
   // The currently shown results for each UI view.
-  base::flat_map<Location, std::vector<std::string>> results_;
+  base::flat_map<Location, std::vector<Result>> results_;
   // The current search query, may be empty.
   base::string16 query_;
-  // The ID of the most recently launched result.
-  std::string launched_result_;
+  // The most recently launched result.
+  base::Optional<Result> launched_result_;
 
   base::WeakPtrFactory<AppListNotifierImpl> weak_ptr_factory_{this};
 };
diff --git a/chrome/browser/ui/app_list/search/search_controller.cc b/chrome/browser/ui/app_list/search/search_controller.cc
index bf295ec..7be80ea 100644
--- a/chrome/browser/ui/app_list/search/search_controller.cc
+++ b/chrome/browser/ui/app_list/search/search_controller.cc
@@ -72,8 +72,7 @@
                                    Profile* profile)
     : profile_(profile),
       mixer_(std::make_unique<Mixer>(model_updater)),
-      metrics_observer_(
-          std::make_unique<SearchMetricsObserver>(notifier, this)),
+      metrics_observer_(std::make_unique<SearchMetricsObserver>(notifier)),
       list_controller_(list_controller) {}
 
 SearchController::~SearchController() {}
diff --git a/chrome/browser/ui/app_list/search/search_metrics_observer.cc b/chrome/browser/ui/app_list/search/search_metrics_observer.cc
index b5cbd372..d0ee9c3 100644
--- a/chrome/browser/ui/app_list/search/search_metrics_observer.cc
+++ b/chrome/browser/ui/app_list/search/search_metrics_observer.cc
@@ -59,10 +59,10 @@
 void LogTypeAction(const std::string& histogram_prefix,
                    ash::AppListNotifier::Location location,
                    const base::string16& query,
-                   ash::SearchResultType type) {
+                   const SearchMetricsObserver::Result& result) {
   const std::string histogram_name = base::StrCat(
       {histogram_prefix, ".", GetHistogramSuffix(location, query)});
-  base::UmaHistogramEnumeration(histogram_name, type,
+  base::UmaHistogramEnumeration(histogram_name, result.type,
                                 ash::SEARCH_RESULT_TYPE_BOUNDARY);
 }
 
@@ -76,10 +76,7 @@
 
 }  // namespace
 
-SearchMetricsObserver::SearchMetricsObserver(ash::AppListNotifier* notifier,
-                                             SearchController* controller)
-    : controller_(controller) {
-  DCHECK(controller);
+SearchMetricsObserver::SearchMetricsObserver(ash::AppListNotifier* notifier) {
   if (notifier) {
     observer_.Add(notifier);
   } else {
@@ -91,58 +88,37 @@
 
 void SearchMetricsObserver::OnImpression(
     ash::AppListNotifier::Location location,
-    const std::vector<std::string>& results,
+    const std::vector<Result>& results,
     const base::string16& query) {
-  for (const std::string& result : results) {
-    const auto type = GetType(result);
-    if (type) {
-      LogTypeAction("Apps.AppList.UserEvent.TypeImpression", location, query,
-                    type.value());
-    }
+  for (const Result& result : results) {
+    LogTypeAction("Apps.AppList.UserEvent.TypeImpression", location, query,
+                  result);
   }
   LogOverallAction(location, query, Action::kImpression);
 }
 
 void SearchMetricsObserver::OnAbandon(ash::AppListNotifier::Location location,
-                                      const std::vector<std::string>& results,
+                                      const std::vector<Result>& results,
                                       const base::string16& query) {
-  for (const std::string& result : results) {
-    const auto type = GetType(result);
-    if (type) {
-      LogTypeAction("Apps.AppList.UserEvent.TypeAbandon", location, query,
-                    type.value());
-    }
+  for (const auto& result : results) {
+    LogTypeAction("Apps.AppList.UserEvent.TypeAbandon", location, query,
+                  result);
   }
   LogOverallAction(location, query, Action::kAbandon);
 }
 
 void SearchMetricsObserver::OnLaunch(ash::AppListNotifier::Location location,
-                                     const std::string& launched,
-                                     const std::vector<std::string>& shown,
+                                     const Result& launched,
+                                     const std::vector<Result>& shown,
                                      const base::string16& query) {
-  const auto type = GetType(launched);
-  if (type) {
-    LogTypeAction("Apps.AppList.UserEvent.TypeLaunch", location, query,
-                  type.value());
-  }
+  LogTypeAction("Apps.AppList.UserEvent.TypeLaunch", location, query, launched);
   LogOverallAction(location, query, Action::kLaunch);
 }
 
 void SearchMetricsObserver::OnIgnore(ash::AppListNotifier::Location location,
-                                     const std::vector<std::string>& results,
+                                     const std::vector<Result>& results,
                                      const base::string16& query) {
   LogOverallAction(location, query, Action::kIgnore);
 }
 
-base::Optional<ash::SearchResultType> SearchMetricsObserver::GetType(
-    const std::string& result_id) {
-  const auto* result = controller_->FindSearchResult(result_id);
-  if (result) {
-    return result->metrics_type();
-  } else {
-    LogError(Error::kResultNotFound);
-    return base::nullopt;
-  }
-}
-
 }  // namespace app_list
diff --git a/chrome/browser/ui/app_list/search/search_metrics_observer.h b/chrome/browser/ui/app_list/search/search_metrics_observer.h
index 2fd0b29a..9498d80 100644
--- a/chrome/browser/ui/app_list/search/search_metrics_observer.h
+++ b/chrome/browser/ui/app_list/search/search_metrics_observer.h
@@ -16,14 +16,13 @@
 
 namespace app_list {
 
-class SearchController;
-
 // Records impression, abandonment, and launch UMA metrics reported by the
 // AppListNotifier.
 class SearchMetricsObserver : ash::AppListNotifier::Observer {
  public:
-  SearchMetricsObserver(ash::AppListNotifier* notifier,
-                        SearchController* controller);
+  using Result = ash::AppListNotifier::Result;
+
+  explicit SearchMetricsObserver(ash::AppListNotifier* notifier);
   ~SearchMetricsObserver() override;
 
   SearchMetricsObserver(const SearchMetricsObserver&) = delete;
@@ -31,26 +30,20 @@
 
   // AppListNotifier::Observer:
   void OnImpression(ash::AppListNotifier::Location location,
-                    const std::vector<std::string>& results,
+                    const std::vector<Result>& results,
                     const base::string16& query) override;
   void OnAbandon(ash::AppListNotifier::Location location,
-                 const std::vector<std::string>& results,
+                 const std::vector<Result>& results,
                  const base::string16& query) override;
   void OnLaunch(ash::AppListNotifier::Location location,
-                const std::string& launched,
-                const std::vector<std::string>& shown,
+                const Result& launched,
+                const std::vector<Result>& shown,
                 const base::string16& query) override;
   void OnIgnore(ash::AppListNotifier::Location location,
-                const std::vector<std::string>& results,
+                const std::vector<Result>& results,
                 const base::string16& query) override;
 
  private:
-  // Looks up the ChromeSearchResult object in SearchController that corresponds
-  // to |result_id|, and returns its type. If the result is not found, returns
-  // base::nullopt and logs an error to UMA.
-  base::Optional<ash::SearchResultType> GetType(const std::string& result_id);
-
-  SearchController* controller_;
   ScopedObserver<ash::AppListNotifier, ash::AppListNotifier::Observer>
       observer_{this};
 };
diff --git a/chrome/browser/ui/ash/accessibility/fake_accessibility_controller.cc b/chrome/browser/ui/ash/accessibility/fake_accessibility_controller.cc
index d904d40..63c0b97f 100644
--- a/chrome/browser/ui/ash/accessibility/fake_accessibility_controller.cc
+++ b/chrome/browser/ui/ash/accessibility/fake_accessibility_controller.cc
@@ -36,9 +36,6 @@
 void FakeAccessibilityController::SetSelectToSpeakEventHandlerDelegate(
     ash::SelectToSpeakEventHandlerDelegate* delegate) {}
 
-void FakeAccessibilityController::SetSwitchAccessEventHandlerDelegate(
-    ash::SwitchAccessEventHandlerDelegate* delegate) {}
-
 void FakeAccessibilityController::HideSwitchAccessBackButton() {}
 
 void FakeAccessibilityController::HideSwitchAccessMenu() {}
@@ -58,9 +55,6 @@
 void FakeAccessibilityController::OnAutoclickScrollableBoundsFound(
     gfx::Rect& bounds_in_screen) {}
 
-void FakeAccessibilityController::ForwardKeyEventsToSwitchAccess(
-    bool should_forward) {}
-
 base::string16 FakeAccessibilityController::GetBatteryDescription() const {
   return base::string16();
 }
@@ -75,7 +69,4 @@
 }
 
 void FakeAccessibilityController::
-    SetSwitchAccessIgnoreVirtualKeyEventForTesting(bool should_ignore) {}
-
-void FakeAccessibilityController::
     DisableSwitchAccessDisableConfirmationDialogTesting() {}
diff --git a/chrome/browser/ui/ash/accessibility/fake_accessibility_controller.h b/chrome/browser/ui/ash/accessibility/fake_accessibility_controller.h
index bee1579..5a4b6fc 100644
--- a/chrome/browser/ui/ash/accessibility/fake_accessibility_controller.h
+++ b/chrome/browser/ui/ash/accessibility/fake_accessibility_controller.h
@@ -28,8 +28,6 @@
   void SetSelectToSpeakState(ash::SelectToSpeakState state) override;
   void SetSelectToSpeakEventHandlerDelegate(
       ash::SelectToSpeakEventHandlerDelegate* delegate) override;
-  void SetSwitchAccessEventHandlerDelegate(
-      ash::SwitchAccessEventHandlerDelegate* delegate) override;
   void HideSwitchAccessBackButton() override;
   void HideSwitchAccessMenu() override;
   void ShowSwitchAccessBackButton(const gfx::Rect& anchor) override;
@@ -38,14 +36,11 @@
   void SetDictationActive(bool is_active) override;
   void ToggleDictationFromSource(ash::DictationToggleSource source) override;
   void OnAutoclickScrollableBoundsFound(gfx::Rect& bounds_in_screen) override;
-  void ForwardKeyEventsToSwitchAccess(bool should_forward) override;
   base::string16 GetBatteryDescription() const override;
   void SetVirtualKeyboardVisible(bool is_visible) override;
   void NotifyAccessibilityStatusChanged() override;
   bool IsAccessibilityFeatureVisibleInTrayMenu(
       const std::string& path) override;
-  void SetSwitchAccessIgnoreVirtualKeyEventForTesting(
-      bool should_ignore) override;
   void DisableSwitchAccessDisableConfirmationDialogTesting() override;
 
  private:
diff --git a/chrome/browser/ui/ash/clipboard_history_browsertest.cc b/chrome/browser/ui/ash/clipboard_history_browsertest.cc
index 45c3ba7..8e0db30 100644
--- a/chrome/browser/ui/ash/clipboard_history_browsertest.cc
+++ b/chrome/browser/ui/ash/clipboard_history_browsertest.cc
@@ -7,6 +7,7 @@
 
 #include "ash/clipboard/clipboard_history.h"
 #include "ash/clipboard/clipboard_history_controller.h"
+#include "ash/clipboard/clipboard_history_item.h"
 #include "ash/shell.h"
 #include "base/test/bind_test_util.h"
 #include "base/test/scoped_feature_list.h"
@@ -75,7 +76,7 @@
   return ash::Shell::Get()->clipboard_history_controller();
 }
 
-const std::list<ui::ClipboardData>& GetClipboardData() {
+const std::list<ash::ClipboardHistoryItem>& GetClipboardItems() {
   return GetClipboardHistoryController()->history()->GetItems();
 }
 
@@ -142,31 +143,31 @@
 IN_PROC_BROWSER_TEST_F(ClipboardHistoryWithMultiProfileBrowserTest,
                        VerifyClipboardHistoryAcrossMultiUser) {
   LoginUser(account_id1_);
-  EXPECT_TRUE(GetClipboardData().empty());
+  EXPECT_TRUE(GetClipboardItems().empty());
 
   // Store text when the user1 is active.
   const std::string copypaste_data1("user1_text1");
   SetClipboardText(copypaste_data1);
 
   {
-    const std::list<ui::ClipboardData>& data = GetClipboardData();
-    EXPECT_EQ(1u, data.size());
-    EXPECT_EQ(copypaste_data1, data.front().text());
+    const std::list<ash::ClipboardHistoryItem>& items = GetClipboardItems();
+    EXPECT_EQ(1u, items.size());
+    EXPECT_EQ(copypaste_data1, items.front().data().text());
   }
 
   // Log in as the user2. The clipboard history should be non-empty.
   chromeos::UserAddingScreen::Get()->Start();
   AddUser(account_id2_);
-  EXPECT_FALSE(GetClipboardData().empty());
+  EXPECT_FALSE(GetClipboardItems().empty());
 
   // Store text when the user2 is active.
   const std::string copypaste_data2("user2_text1");
   SetClipboardText(copypaste_data2);
 
   {
-    const std::list<ui::ClipboardData>& data = GetClipboardData();
-    EXPECT_EQ(2u, data.size());
-    EXPECT_EQ(copypaste_data2, data.front().text());
+    const std::list<ash::ClipboardHistoryItem>& items = GetClipboardItems();
+    EXPECT_EQ(2u, items.size());
+    EXPECT_EQ(copypaste_data2, items.front().data().text());
   }
 
   // Switch to the user1.
@@ -177,19 +178,19 @@
   SetClipboardText(copypaste_data3);
 
   {
-    const std::list<ui::ClipboardData>& data = GetClipboardData();
-    EXPECT_EQ(3u, data.size());
+    const std::list<ash::ClipboardHistoryItem>& items = GetClipboardItems();
+    EXPECT_EQ(3u, items.size());
 
     // Note that items in |data| follow the time ordering. The most recent item
     // is always the first one.
-    auto it = data.begin();
-    EXPECT_EQ(copypaste_data3, it->text());
+    auto it = items.begin();
+    EXPECT_EQ(copypaste_data3, it->data().text());
 
     std::advance(it, 1u);
-    EXPECT_EQ(copypaste_data2, it->text());
+    EXPECT_EQ(copypaste_data2, it->data().text());
 
     std::advance(it, 1u);
-    EXPECT_EQ(copypaste_data1, it->text());
+    EXPECT_EQ(copypaste_data1, it->data().text());
   }
 }
 
@@ -203,7 +204,7 @@
   CloseAllBrowsers();
 
   // No clipboard data. So the clipboard history menu should not show.
-  ASSERT_TRUE(GetClipboardData().empty());
+  ASSERT_TRUE(GetClipboardItems().empty());
   ShowContextMenuViaAccelerator();
   EXPECT_FALSE(GetClipboardHistoryController()->IsMenuShowing());
 
diff --git a/chrome/browser/ui/ash/clipboard_image_model_factory_impl.cc b/chrome/browser/ui/ash/clipboard_image_model_factory_impl.cc
new file mode 100644
index 0000000..1cb8c51
--- /dev/null
+++ b/chrome/browser/ui/ash/clipboard_image_model_factory_impl.cc
@@ -0,0 +1,28 @@
+// 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/ui/ash/clipboard_image_model_factory_impl.h"
+
+#include "chrome/browser/profiles/profile.h"
+
+ClipboardImageModelFactoryImpl::ClipboardImageModelFactoryImpl(
+    Profile* primary_profile)
+    : primary_profile_(primary_profile) {
+  DCHECK(primary_profile_);
+}
+
+ClipboardImageModelFactoryImpl::~ClipboardImageModelFactoryImpl() = default;
+
+void ClipboardImageModelFactoryImpl::Render(const base::UnguessableToken& id,
+                                            const std::string& html_markup,
+                                            ImageModelCallback callback) {
+  std::move(callback).Run(ui::ImageModel());
+}
+
+void ClipboardImageModelFactoryImpl::CancelRequest(
+    const base::UnguessableToken& id) {}
+
+void ClipboardImageModelFactoryImpl::Activate() {}
+
+void ClipboardImageModelFactoryImpl::Deactivate() {}
diff --git a/chrome/browser/ui/ash/clipboard_image_model_factory_impl.h b/chrome/browser/ui/ash/clipboard_image_model_factory_impl.h
new file mode 100644
index 0000000..05cab9a
--- /dev/null
+++ b/chrome/browser/ui/ash/clipboard_image_model_factory_impl.h
@@ -0,0 +1,38 @@
+// 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_UI_ASH_CLIPBOARD_IMAGE_MODEL_FACTORY_IMPL_H_
+#define CHROME_BROWSER_UI_ASH_CLIPBOARD_IMAGE_MODEL_FACTORY_IMPL_H_
+
+#include <string>
+
+#include "ash/public/cpp/clipboard_image_model_factory.h"
+#include "base/unguessable_token.h"
+
+class Profile;
+
+// Implements the singleton ClipboardImageModelFactory.
+class ClipboardImageModelFactoryImpl : public ash::ClipboardImageModelFactory {
+ public:
+  explicit ClipboardImageModelFactoryImpl(Profile* primary_profile);
+  ClipboardImageModelFactoryImpl(ClipboardImageModelFactoryImpl&) = delete;
+  ClipboardImageModelFactoryImpl& operator=(ClipboardImageModelFactoryImpl&) =
+      delete;
+  ~ClipboardImageModelFactoryImpl() override;
+
+ private:
+  // ash::ClipboardImageModelFactory:
+  void Render(const base::UnguessableToken& id,
+              const std::string& html_markup,
+              ImageModelCallback callback) override;
+  void CancelRequest(const base::UnguessableToken& id) override;
+  void Activate() override;
+  void Deactivate() override;
+
+  // The primary profile, used instead of the active profile to create the
+  // WebContents that renders html.
+  Profile* const primary_profile_;
+};
+
+#endif  // CHROME_BROWSER_UI_ASH_CLIPBOARD_IMAGE_MODEL_FACTORY_IMPL_H_
diff --git a/chrome/browser/ui/ash/login_screen_client.cc b/chrome/browser/ui/ash/login_screen_client.cc
index 6738589..c961b06 100644
--- a/chrome/browser/ui/ash/login_screen_client.cc
+++ b/chrome/browser/ui/ash/login_screen_client.cc
@@ -77,16 +77,6 @@
   system_tray_focus_observers_.RemoveObserver(observer);
 }
 
-void LoginScreenClient::AddLoginScreenShownObserver(
-    LoginScreenShownObserver* observer) {
-  login_screen_shown_observers_.AddObserver(observer);
-}
-
-void LoginScreenClient::RemoveLoginScreenShownObserver(
-    LoginScreenShownObserver* observer) {
-  login_screen_shown_observers_.RemoveObserver(observer);
-}
-
 chromeos::LoginAuthRecorder* LoginScreenClient::auth_recorder() {
   return auth_recorder_.get();
 }
@@ -244,11 +234,6 @@
     observer.OnFocusLeavingSystemTray(reverse);
 }
 
-void LoginScreenClient::OnLoginScreenShown() {
-  for (LoginScreenShownObserver& observer : login_screen_shown_observers_)
-    observer.OnLoginScreenShown();
-}
-
 void LoginScreenClient::LoadWallpaper(const AccountId& account_id) {
   WallpaperControllerClient::Get()->ShowUserWallpaper(account_id);
 }
diff --git a/chrome/browser/ui/ash/login_screen_client.h b/chrome/browser/ui/ash/login_screen_client.h
index eea56d9..8ead2a3 100644
--- a/chrome/browser/ui/ash/login_screen_client.h
+++ b/chrome/browser/ui/ash/login_screen_client.h
@@ -11,7 +11,6 @@
 #include "base/macros.h"
 #include "base/observer_list.h"
 #include "base/time/time.h"
-#include "chrome/browser/ui/ash/login_screen_shown_observer.h"
 #include "ui/base/ime/chromeos/input_method_manager.h"
 
 namespace base {
@@ -78,9 +77,6 @@
   void AddSystemTrayFocusObserver(ash::SystemTrayFocusObserver* observer);
   void RemoveSystemTrayFocusObserver(ash::SystemTrayFocusObserver* observer);
 
-  void AddLoginScreenShownObserver(LoginScreenShownObserver* observer);
-  void RemoveLoginScreenShownObserver(LoginScreenShownObserver* observer);
-
   // ash::LoginScreenClient:
   void AuthenticateUserWithPasswordOrPin(
       const AccountId& account_id,
@@ -117,7 +113,6 @@
   void ShowParentAccessHelpApp(gfx::NativeWindow parent_window) override;
   void ShowLockScreenNotificationSettings() override;
   void OnFocusLeavingSystemTray(bool reverse) override;
-  void OnLoginScreenShown() override;
   void OnUserActivity() override;
 
  private:
@@ -141,8 +136,6 @@
   base::ObserverList<ash::SystemTrayFocusObserver>::Unchecked
       system_tray_focus_observers_;
 
-  base::ObserverList<LoginScreenShownObserver> login_screen_shown_observers_;
-
   base::WeakPtrFactory<LoginScreenClient> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(LoginScreenClient);
diff --git a/chrome/browser/ui/ash/login_screen_shown_observer.h b/chrome/browser/ui/ash/login_screen_shown_observer.h
deleted file mode 100644
index aad0c2a..0000000
--- a/chrome/browser/ui/ash/login_screen_shown_observer.h
+++ /dev/null
@@ -1,21 +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 CHROME_BROWSER_UI_ASH_LOGIN_SCREEN_SHOWN_OBSERVER_H_
-#define CHROME_BROWSER_UI_ASH_LOGIN_SCREEN_SHOWN_OBSERVER_H_
-
-#include "base/macros.h"
-#include "base/observer_list_types.h"
-
-// A class that observes when the login screen is shown.
-class LoginScreenShownObserver : public base::CheckedObserver {
- public:
-  LoginScreenShownObserver() {}
-  LoginScreenShownObserver(const LoginScreenShownObserver&) = delete;
-  LoginScreenShownObserver& operator=(const LoginScreenShownObserver&) = delete;
-
-  virtual void OnLoginScreenShown() = 0;
-};
-
-#endif  // CHROME_BROWSER_UI_ASH_LOGIN_SCREEN_SHOWN_OBSERVER_H_
diff --git a/chrome/browser/ui/ash/system_tray_client.cc b/chrome/browser/ui/ash/system_tray_client.cc
index c911ce84dc..0b05c71b 100644
--- a/chrome/browser/ui/ash/system_tray_client.cc
+++ b/chrome/browser/ui/ash/system_tray_client.cc
@@ -11,6 +11,8 @@
 #include "base/logging.h"
 #include "base/memory/weak_ptr.h"
 #include "base/metrics/user_metrics.h"
+#include "chrome/browser/apps/app_service/app_service_proxy.h"
+#include "chrome/browser/apps/app_service/app_service_proxy_factory.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/browser_process_platform_part.h"
 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
@@ -20,6 +22,7 @@
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/chromeos/set_time_dialog.h"
 #include "chrome/browser/chromeos/system/system_clock.h"
+#include "chrome/browser/chromeos/web_applications/default_web_app_ids.h"
 #include "chrome/browser/lifetime/application_lifetime.h"
 #include "chrome/browser/lifetime/termination_notification.h"
 #include "chrome/browser/profiles/profile_manager.h"
@@ -284,11 +287,19 @@
 }
 
 void SystemTrayClient::ShowGestureEducationHelp() {
-  chrome::ScopedTabbedBrowserDisplayer displayer(
-      ProfileManager::GetActiveUserProfile());
   base::RecordAction(base::UserMetricsAction("ShowGestureEducationHelp"));
-  ShowSingletonTab(displayer.browser(),
-                   GURL(chrome::kChromeOSGestureEducationHelpURL));
+  Profile* profile = ProfileManager::GetActiveUserProfile();
+  if (!profile)
+    return;
+
+  // Note that AppServiceProxy is null for off-the-record profiles. For more
+  // context, see https://crbug.com/1112197.
+  apps::AppServiceProxy* proxy = apps::AppServiceProxyFactory::GetForProfile(
+      profile->GetOriginalProfile());
+  proxy->LaunchAppWithUrl(
+      chromeos::default_web_apps::kHelpAppId, ui::EventFlags::EF_NONE,
+      GURL(chrome::kChromeOSGestureEducationHelpURL),
+      apps::mojom::LaunchSource::kFromOtherApp, display::kDefaultDisplayId);
 }
 
 void SystemTrayClient::ShowPaletteHelp() {
diff --git a/chrome/browser/ui/bookmarks/bookmark_utils.cc b/chrome/browser/ui/bookmarks/bookmark_utils.cc
index 233924b..c750eaf 100644
--- a/chrome/browser/ui/bookmarks/bookmark_utils.cc
+++ b/chrome/browser/ui/bookmarks/bookmark_utils.cc
@@ -261,7 +261,7 @@
 
 #if defined(TOOLKIT_VIEWS)
 // TODO(bsep): vectorize the Windows versions: crbug.com/564112
-gfx::ImageSkia GetBookmarkFolderIcon(SkColor text_color) {
+ui::ImageModel GetBookmarkFolderIcon(SkColor text_color) {
   gfx::ImageSkia folder;
 #if defined(OS_WIN)
   folder = *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
@@ -278,10 +278,14 @@
                              : vector_icons::kFolderIcon,
                          text_color);
 #endif
-  return gfx::ImageSkia(std::make_unique<RTLFlipSource>(folder), folder.size());
+  // TODO(crbug.com/1119823): Return the unflipped image here
+  // (as a vector if possible); callers should have the responsibility to flip
+  // when painting as necessary.
+  return ui::ImageModel::FromImageSkia(
+      gfx::ImageSkia(std::make_unique<RTLFlipSource>(folder), folder.size()));
 }
 
-gfx::ImageSkia GetBookmarkManagedFolderIcon(SkColor text_color) {
+ui::ImageModel GetBookmarkManagedFolderIcon(SkColor text_color) {
   gfx::ImageSkia folder;
 #if defined(OS_WIN)
   folder = *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
@@ -299,7 +303,11 @@
                              : vector_icons::kFolderManagedIcon,
                          text_color);
 #endif
-  return gfx::ImageSkia(std::make_unique<RTLFlipSource>(folder), folder.size());
+  // TODO(crbug.com/1119823): Return the unflipped image here
+  // (as a vector if possible); callers should have the responsibility to flip
+  // when painting as necessary.
+  return ui::ImageModel::FromImageSkia(
+      gfx::ImageSkia(std::make_unique<RTLFlipSource>(folder), folder.size()));
 }
 #endif
 
diff --git a/chrome/browser/ui/bookmarks/bookmark_utils.h b/chrome/browser/ui/bookmarks/bookmark_utils.h
index 747858d..90523beab 100644
--- a/chrome/browser/ui/bookmarks/bookmark_utils.h
+++ b/chrome/browser/ui/bookmarks/bookmark_utils.h
@@ -9,6 +9,7 @@
 
 #include "base/strings/string16.h"
 #include "third_party/skia/include/core/SkColor.h"
+#include "ui/base/models/image_model.h"
 #include "ui/base/window_open_disposition.h"
 #include "ui/gfx/native_widget_types.h"
 
@@ -25,10 +26,6 @@
 class WebContents;
 }
 
-namespace gfx {
-class ImageSkia;
-}
-
 namespace ui {
 class DropTargetEvent;
 }
@@ -95,8 +92,8 @@
 #if defined(TOOLKIT_VIEWS)
 // |text_color| is the color of associated text and is used to derive the icon's
 // color.
-gfx::ImageSkia GetBookmarkFolderIcon(SkColor text_color);
-gfx::ImageSkia GetBookmarkManagedFolderIcon(SkColor text_color);
+ui::ImageModel GetBookmarkFolderIcon(SkColor text_color);
+ui::ImageModel GetBookmarkManagedFolderIcon(SkColor text_color);
 #endif
 
 }  // namespace chrome
diff --git a/chrome/browser/ui/color/chrome_color_id.h b/chrome/browser/ui/color/chrome_color_id.h
index 34511c3..306fffd 100644
--- a/chrome/browser/ui/color/chrome_color_id.h
+++ b/chrome/browser/ui/color/chrome_color_id.h
@@ -20,6 +20,8 @@
     ThemeProperties::COLOR_OMNIBOX_BUBBLE_OUTLINE) \
   E(kColorOmniboxBubbleOutlineExperimentalKeywordMode, \
     ThemeProperties::COLOR_OMNIBOX_BUBBLE_OUTLINE_EXPERIMENTAL_KEYWORD_MODE) \
+  E(kColorOmniboxKeywordSelected, \
+    ThemeProperties::COLOR_OMNIBOX_SELECTED_KEYWORD) \
   E(kColorOmniboxResultsBackground, \
     ThemeProperties::COLOR_OMNIBOX_RESULTS_BG) \
   E(kColorOmniboxResultsBackgroundHovered, \
@@ -44,8 +46,6 @@
     ThemeProperties::COLOR_OMNIBOX_SECURITY_CHIP_DEFAULT) \
   E(kColorOmniboxSecurityChipSecure, \
     ThemeProperties::COLOR_OMNIBOX_SECURITY_CHIP_SECURE) \
-  E(kColorOmniboxSelectedKeyword, \
-    ThemeProperties::COLOR_OMNIBOX_SELECTED_KEYWORD) \
   E(kColorOmniboxText, ThemeProperties::COLOR_OMNIBOX_TEXT) \
   E(kColorOmniboxTextDimmed, ThemeProperties::COLOR_OMNIBOX_TEXT_DIMMED) \
   \
diff --git a/chrome/browser/ui/color/omnibox_color_mixers.cc b/chrome/browser/ui/color/omnibox_color_mixers.cc
index 0f7f595..bfb50a65 100644
--- a/chrome/browser/ui/color/omnibox_color_mixers.cc
+++ b/chrome/browser/ui/color/omnibox_color_mixers.cc
@@ -32,7 +32,7 @@
     if (high_contrast)
       selected_text += ui::ContrastInvert(ui::FromTransformInput());
   }
-  mixer[kColorOmniboxSelectedKeyword] = ui::SelectBasedOnDarkInput(
+  mixer[kColorOmniboxKeywordSelected] = ui::SelectBasedOnDarkInput(
       kColorOmniboxBackground, gfx::kGoogleGrey100, kColorOmniboxResultsUrl);
 
   // Bubble outline colors.
@@ -40,7 +40,7 @@
       ui::SelectBasedOnDarkInput(kColorOmniboxBackground, gfx::kGoogleGrey100,
                                  SkColorSetA(gfx::kGoogleGrey900, 0x24));
   mixer[kColorOmniboxBubbleOutlineExperimentalKeywordMode] = {
-      kColorOmniboxSelectedKeyword};
+      kColorOmniboxKeywordSelected};
 
   // Results background colors.
   mixer[kColorOmniboxResultsBackground] =
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
index 755609ac..b9f1a7a 100644
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
@@ -221,7 +221,6 @@
     /**
      * @return The {@link SnackbarController} that controls this snackbar.
      */
-    @VisibleForTesting
     public SnackbarController getController() {
         return mController;
     }
diff --git a/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.cc b/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.cc
index 9a4b8a32..e73cf6d 100644
--- a/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.cc
+++ b/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.cc
@@ -10,12 +10,15 @@
 #include "components/password_manager/core/browser/well_known_change_password_state.h"
 #include "components/password_manager/core/browser/well_known_change_password_util.h"
 #include "components/password_manager/core/common/password_manager_features.h"
+#include "components/ukm/content/source_url_recorder.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/navigation_handle.h"
 #include "content/public/browser/page_navigator.h"
 #include "content/public/browser/storage_partition.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/browser/web_contents_user_data.h"
+#include "services/metrics/public/cpp/ukm_builders.h"
+#include "services/metrics/public/cpp/ukm_recorder.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 #include "url/gurl.h"
 #include "url/origin.h"
@@ -79,7 +82,9 @@
     : NavigationThrottle(handle),
       change_password_url_service_(
           ChangePasswordUrlServiceFactory::GetForBrowserContext(
-              handle->GetWebContents()->GetBrowserContext())) {
+              handle->GetWebContents()->GetBrowserContext())),
+      source_id_(
+          ukm::GetSourceIdForWebContentsDocument(handle->GetWebContents())) {
   change_password_url_service_->PrefetchURLs();
 }
 
@@ -125,13 +130,20 @@
 void WellKnownChangePasswordNavigationThrottle::OnProcessingFinished(
     bool is_supported) {
   if (is_supported) {
+    RecordMetric(WellKnownChangePasswordResult::kUsedWellKnownChangePassword);
     Resume();
-  } else {
-    GURL url = navigation_handle()->GetURL();
-    GURL redirect_url = change_password_url_service_->GetChangePasswordUrl(url);
-    Redirect(redirect_url.is_valid() ? redirect_url : url.GetOrigin());
-    CancelDeferredNavigation(NavigationThrottle::CANCEL);
+    return;
   }
+  GURL url = navigation_handle()->GetURL();
+  GURL redirect_url = change_password_url_service_->GetChangePasswordUrl(url);
+  if (redirect_url.is_valid()) {
+    RecordMetric(WellKnownChangePasswordResult::kFallbackToOverrideUrl);
+    Redirect(redirect_url);
+  } else {
+    RecordMetric(WellKnownChangePasswordResult::kFallbackToOriginUrl);
+    Redirect(url.GetOrigin());
+  }
+  CancelDeferredNavigation(NavigationThrottle::CANCEL);
 }
 
 void WellKnownChangePasswordNavigationThrottle::Redirect(const GURL& url) {
@@ -152,3 +164,9 @@
                                 helper->GetWeakPtr(), std::move(params)));
 }
 
+void WellKnownChangePasswordNavigationThrottle::RecordMetric(
+    WellKnownChangePasswordResult result) {
+  ukm::builders::PasswordManager_WellKnownChangePasswordResult(source_id_)
+      .SetWellKnownChangePasswordResult(static_cast<int64_t>(result))
+      .Record(ukm::UkmRecorder::Get());
+}
diff --git a/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.h b/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.h
index 5e23313..a67c340 100644
--- a/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.h
+++ b/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.h
@@ -10,6 +10,7 @@
 #include "content/public/browser/navigation_throttle.h"
 
 #include "components/password_manager/core/browser/well_known_change_password_state.h"
+#include "services/metrics/public/cpp/ukm_source_id.h"
 
 class GURL;
 namespace content {
@@ -21,6 +22,15 @@
 class ChangePasswordUrlService;
 }  // namespace password_manager
 
+// Used to report UKMs about the support for .well-known/change-password.
+// These values are persisted to logs. Entries should not be renumbered and
+// numeric values should never be reused.
+enum class WellKnownChangePasswordResult {
+  kFallbackToOriginUrl = 0,
+  kFallbackToOverrideUrl = 1,
+  kUsedWellKnownChangePassword = 2,
+};
+
 // This NavigationThrottle checks whether a site supports the
 // .well-known/change-password url. To check whether a site supports the
 // change-password url, we also request a .well-known path that is defined to
@@ -52,10 +62,13 @@
   void OnProcessingFinished(bool is_supported) override;
   // Redirects to a given URL in the same tab.
   void Redirect(const GURL& url);
+  // Records the given UKM metric.
+  void RecordMetric(WellKnownChangePasswordResult result);
 
   password_manager::WellKnownChangePasswordState
       well_known_change_password_state_{this};
   password_manager::ChangePasswordUrlService* change_password_url_service_;
+  ukm::SourceId source_id_ = ukm::kInvalidSourceId;
 };
 
 #endif  // CHROME_BROWSER_UI_PASSWORDS_WELL_KNOWN_CHANGE_PASSWORD_NAVIGATION_THROTTLE_H_
diff --git a/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle_browsertest.cc b/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle_browsertest.cc
index 1f12e645..c34a70c 100644
--- a/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle_browsertest.cc
+++ b/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle_browsertest.cc
@@ -19,6 +19,7 @@
 #include "components/password_manager/core/browser/change_password_url_service_impl.h"
 #include "components/password_manager/core/browser/well_known_change_password_util.h"
 #include "components/password_manager/core/common/password_manager_features.h"
+#include "components/ukm/test_ukm_recorder.h"
 #include "content/public/test/browser_test.h"
 #include "content/public/test/mock_navigation_handle.h"
 #include "content/public/test/test_navigation_observer.h"
@@ -28,6 +29,7 @@
 #include "net/test/embedded_test_server/embedded_test_server.h"
 #include "net/test/embedded_test_server/http_request.h"
 #include "net/test/embedded_test_server/http_response.h"
+#include "services/metrics/public/cpp/ukm_builders.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "url/gurl.h"
 
@@ -86,6 +88,8 @@
     : public CertVerifierBrowserTest,
       public testing::WithParamInterface<ResponseDelayParams> {
  public:
+  using UkmBuilder =
+      ukm::builders::PasswordManager_WellKnownChangePasswordResult;
   WellKnownChangePasswordNavigationThrottleBrowserTest() {
     feature_list_.InitAndEnableFeature(
         password_manager::features::kWellKnownChangePassword);
@@ -104,8 +108,20 @@
                 base::BindRepeating([](content::BrowserContext* context) {
                   return std::make_unique<TestChangePasswordUrlService>();
                 }));
+    test_recorder_ = std::make_unique<ukm::TestAutoSetUkmRecorder>();
   }
 
+  void ExpectUkmMetric(WellKnownChangePasswordResult expected) {
+    auto entries = test_recorder_->GetEntriesByName(UkmBuilder::kEntryName);
+    // Expect one recorded metric.
+    ASSERT_EQ(1, static_cast<int>(entries.size()));
+    test_recorder_->ExpectEntryMetric(
+        entries[0], UkmBuilder::kWellKnownChangePasswordResultName,
+        static_cast<int64_t>(expected));
+  }
+
+  ukm::TestAutoSetUkmRecorder* test_recorder() { return test_recorder_.get(); }
+
  protected:
   // Navigates to |kWellKnownChangePasswordPath| from the mock server. It waits
   // until the navigation to |expected_path| happened.
@@ -133,6 +149,7 @@
   std::unique_ptr<HttpResponse> HandleRequest(const HttpRequest& request);
 
   base::test::ScopedFeatureList feature_list_;
+  std::unique_ptr<ukm::TestAutoSetUkmRecorder> test_recorder_;
 };
 
 std::unique_ptr<HttpResponse>
@@ -179,6 +196,7 @@
       net::HTTP_NOT_FOUND, {}, response_delays.not_exist_delay};
 
   TestNavigationThrottle(kWellKnownChangePasswordPath);
+  ExpectUkmMetric(WellKnownChangePasswordResult::kUsedWellKnownChangePassword);
 }
 
 IN_PROC_BROWSER_TEST_P(WellKnownChangePasswordNavigationThrottleBrowserTest,
@@ -193,6 +211,7 @@
   path_response_map_["/change-password"] = {net::HTTP_OK, {}, 0};
 
   TestNavigationThrottle(/*expected_path=*/"/change-password");
+  ExpectUkmMetric(WellKnownChangePasswordResult::kUsedWellKnownChangePassword);
 }
 
 IN_PROC_BROWSER_TEST_P(WellKnownChangePasswordNavigationThrottleBrowserTest,
@@ -204,6 +223,7 @@
       net::HTTP_NOT_FOUND, {}, response_delays.not_exist_delay};
 
   TestNavigationThrottle(/*expected_path=*/kWellKnownChangePasswordPath);
+  ExpectUkmMetric(WellKnownChangePasswordResult::kUsedWellKnownChangePassword);
 }
 
 IN_PROC_BROWSER_TEST_P(WellKnownChangePasswordNavigationThrottleBrowserTest,
@@ -221,6 +241,7 @@
   path_response_map_["/not-found"] = {net::HTTP_NOT_FOUND, {}, 0};
 
   TestNavigationThrottle(/*expected_path=*/"/change-password");
+  ExpectUkmMetric(WellKnownChangePasswordResult::kUsedWellKnownChangePassword);
 }
 
 IN_PROC_BROWSER_TEST_P(WellKnownChangePasswordNavigationThrottleBrowserTest,
@@ -232,6 +253,7 @@
       net::HTTP_NOT_FOUND, {}, response_delays.not_exist_delay};
 
   TestNavigationThrottle(/*expected_path=*/"/");
+  ExpectUkmMetric(WellKnownChangePasswordResult::kFallbackToOriginUrl);
 }
 
 IN_PROC_BROWSER_TEST_P(WellKnownChangePasswordNavigationThrottleBrowserTest,
@@ -244,6 +266,7 @@
       net::HTTP_NOT_FOUND, {}, response_delays.not_exist_delay};
 
   TestNavigationThrottle(/*expected_path=*/kMockChangePasswordPath);
+  ExpectUkmMetric(WellKnownChangePasswordResult::kFallbackToOverrideUrl);
 }
 
 // Single page applications often return 200 for all paths
@@ -256,6 +279,7 @@
       net::HTTP_OK, {}, response_delays.not_exist_delay};
 
   TestNavigationThrottle(/*expected_path=*/"/");
+  ExpectUkmMetric(WellKnownChangePasswordResult::kFallbackToOriginUrl);
 }
 
 IN_PROC_BROWSER_TEST_P(WellKnownChangePasswordNavigationThrottleBrowserTest,
@@ -272,6 +296,7 @@
   path_response_map_["/not-found"] = {net::HTTP_NOT_FOUND, {}, 0};
 
   TestNavigationThrottle(/*expected_path=*/"/");
+  ExpectUkmMetric(WellKnownChangePasswordResult::kFallbackToOriginUrl);
 }
 
 IN_PROC_BROWSER_TEST_P(WellKnownChangePasswordNavigationThrottleBrowserTest,
@@ -300,6 +325,9 @@
   observer.Wait();
 
   EXPECT_EQ(observer.last_navigation_url(), url);
+  // Expect no UKMs saved.
+  EXPECT_TRUE(
+      test_recorder()->GetEntriesByName(UkmBuilder::kEntryName).empty());
 }
 
 constexpr ResponseDelayParams kDelayParams[] = {{0, 1}, {1, 0}};
diff --git a/chrome/browser/ui/read_later/read_later_test_utils.cc b/chrome/browser/ui/read_later/read_later_test_utils.cc
new file mode 100644
index 0000000..9b9a7c54f
--- /dev/null
+++ b/chrome/browser/ui/read_later/read_later_test_utils.cc
@@ -0,0 +1,32 @@
+// 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/ui/read_later/read_later_test_utils.h"
+
+#include "base/macros.h"
+#include "base/run_loop.h"
+#include "components/reading_list/core/reading_list_model.h"
+
+namespace test {
+
+ReadingListLoadObserver::ReadingListLoadObserver(ReadingListModel* model)
+    : model_(model) {
+  model_->AddObserver(this);
+}
+ReadingListLoadObserver::~ReadingListLoadObserver() {
+  model_->RemoveObserver(this);
+}
+
+void ReadingListLoadObserver::Wait() {
+  if (model_->loaded())
+    return;
+  run_loop_.Run();
+}
+
+void ReadingListLoadObserver::ReadingListModelLoaded(
+    const ReadingListModel* model) {
+  run_loop_.Quit();
+}
+
+}  // namespace test
diff --git a/chrome/browser/ui/read_later/read_later_test_utils.h b/chrome/browser/ui/read_later/read_later_test_utils.h
new file mode 100644
index 0000000..65922d4e
--- /dev/null
+++ b/chrome/browser/ui/read_later/read_later_test_utils.h
@@ -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.
+
+#ifndef CHROME_BROWSER_UI_READ_LATER_READ_LATER_TEST_UTILS_H_
+#define CHROME_BROWSER_UI_READ_LATER_READ_LATER_TEST_UTILS_H_
+
+#include "base/run_loop.h"
+#include "components/reading_list/core/reading_list_model_observer.h"
+
+class GURL;
+class ReadingListModel;
+
+namespace test {
+
+// ReadingListLoadObserver is used to observe the ReadingListModel passed in the
+// constructor for the ReadingListModelLoaded event.
+class ReadingListLoadObserver : public ReadingListModelObserver {
+ public:
+  explicit ReadingListLoadObserver(ReadingListModel* model);
+  ReadingListLoadObserver(const ReadingListLoadObserver&) = delete;
+  ReadingListLoadObserver& operator=(const ReadingListLoadObserver&) = delete;
+  ~ReadingListLoadObserver() override;
+
+  void Wait();
+
+ private:
+  // ReadingListModelObserver:
+  void ReadingListModelLoaded(const ReadingListModel* model) override;
+  void ReadingListModelBeganBatchUpdates(
+      const ReadingListModel* model) override {}
+  void ReadingListModelCompletedBatchUpdates(
+      const ReadingListModel* model) override {}
+  void ReadingListModelBeingShutdown(const ReadingListModel* model) override {}
+  void ReadingListModelBeingDeleted(const ReadingListModel* model) override {}
+  void ReadingListWillRemoveEntry(const ReadingListModel* model,
+                                  const GURL& url) override {}
+  void ReadingListWillMoveEntry(const ReadingListModel* model,
+                                const GURL& url) override {}
+  void ReadingListDidMoveEntry(const ReadingListModel* model,
+                               const GURL& url) override {}
+  void ReadingListWillAddEntry(const ReadingListModel* model,
+                               const ReadingListEntry& entry) override {}
+  void ReadingListDidAddEntry(const ReadingListModel* model,
+                              const GURL& url,
+                              reading_list::EntrySource source) override {}
+  void ReadingListWillUpdateEntry(const ReadingListModel* model,
+                                  const GURL& url) override {}
+  void ReadingListDidApplyChanges(ReadingListModel* model) override {}
+
+  ReadingListModel* const model_;
+  base::RunLoop run_loop_;
+};
+
+}  // namespace test
+
+#endif  // CHROME_BROWSER_UI_READ_LATER_READ_LATER_TEST_UTILS_H_
diff --git a/chrome/browser/ui/read_later/reading_list_model_factory.cc b/chrome/browser/ui/read_later/reading_list_model_factory.cc
index 9ab876b..177030c 100644
--- a/chrome/browser/ui/read_later/reading_list_model_factory.cc
+++ b/chrome/browser/ui/read_later/reading_list_model_factory.cc
@@ -31,6 +31,27 @@
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
 
+namespace {
+
+std::unique_ptr<KeyedService> BuildReadingListModel(
+    content::BrowserContext* context) {
+  Profile* const profile = Profile::FromBrowserContext(context);
+  syncer::OnceModelTypeStoreFactory store_factory =
+      ModelTypeStoreServiceFactory::GetForProfile(profile)->GetStoreFactory();
+  auto change_processor =
+      std::make_unique<syncer::ClientTagBasedModelTypeProcessor>(
+          syncer::READING_LIST,
+          base::BindRepeating(&syncer::ReportUnrecoverableError,
+                              chrome::GetChannel()));
+  std::unique_ptr<ReadingListStore> store = std::make_unique<ReadingListStore>(
+      std::move(store_factory), std::move(change_processor));
+
+  return std::make_unique<ReadingListModelImpl>(
+      std::move(store), profile->GetPrefs(), base::DefaultClock::GetInstance());
+}
+
+}  // namespace
+
 // static
 ReadingListModel* ReadingListModelFactory::GetForBrowserContext(
     content::BrowserContext* context) {
@@ -43,6 +64,12 @@
   return base::Singleton<ReadingListModelFactory>::get();
 }
 
+// static
+BrowserContextKeyedServiceFactory::TestingFactory
+ReadingListModelFactory::GetDefaultFactoryForTesting() {
+  return base::BindRepeating(&BuildReadingListModel);
+}
+
 ReadingListModelFactory::ReadingListModelFactory()
     : BrowserContextKeyedServiceFactory(
           "ReadingListModel",
@@ -54,21 +81,7 @@
 
 KeyedService* ReadingListModelFactory::BuildServiceInstanceFor(
     content::BrowserContext* context) const {
-  Profile* profile = Profile::FromBrowserContext(context);
-  syncer::OnceModelTypeStoreFactory store_factory =
-      ModelTypeStoreServiceFactory::GetForProfile(profile)->GetStoreFactory();
-  auto change_processor =
-      std::make_unique<syncer::ClientTagBasedModelTypeProcessor>(
-          syncer::READING_LIST,
-          base::BindRepeating(&syncer::ReportUnrecoverableError,
-                              chrome::GetChannel()));
-  std::unique_ptr<ReadingListStore> store = std::make_unique<ReadingListStore>(
-      std::move(store_factory), std::move(change_processor));
-
-  KeyedService* reading_list_model = new ReadingListModelImpl(
-      std::move(store), profile->GetPrefs(), base::DefaultClock::GetInstance());
-
-  return reading_list_model;
+  return BuildReadingListModel(context).release();
 }
 
 void ReadingListModelFactory::RegisterProfilePrefs(
diff --git a/chrome/browser/ui/read_later/reading_list_model_factory.h b/chrome/browser/ui/read_later/reading_list_model_factory.h
index 31850b6..890c320 100644
--- a/chrome/browser/ui/read_later/reading_list_model_factory.h
+++ b/chrome/browser/ui/read_later/reading_list_model_factory.h
@@ -27,6 +27,9 @@
 
   static ReadingListModelFactory* GetInstance();
 
+  static BrowserContextKeyedServiceFactory::TestingFactory
+  GetDefaultFactoryForTesting();
+
  private:
   friend struct base::DefaultSingletonTraits<ReadingListModelFactory>;
 
diff --git a/chrome/browser/ui/startup/mac_system_infobar_delegate.cc b/chrome/browser/ui/startup/mac_system_infobar_delegate.cc
new file mode 100644
index 0000000..b37d49c
--- /dev/null
+++ b/chrome/browser/ui/startup/mac_system_infobar_delegate.cc
@@ -0,0 +1,97 @@
+// 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/ui/startup/mac_system_infobar_delegate.h"
+#include "base/command_line.h"
+#include "base/mac/mac_util.h"
+#include "chrome/browser/infobars/infobar_service.h"
+#include "chrome/grit/generated_resources.h"
+#include "components/infobars/core/infobar.h"
+#include "components/strings/grit/components_strings.h"
+#include "ui/base/l10n/l10n_util.h"
+
+namespace {
+
+using CPUType = base::mac::CPUType;
+
+CPUType MaybeOverrideCPUTypeFromCommandLine(CPUType detected_type) {
+  // Use like: --force-mac-system-infobar={arm,rosetta,intel} to see different
+  // behavior by platform.
+  std::string forced_cpu =
+      base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
+          "force-mac-system-infobar");
+  if (forced_cpu == "arm")
+    return CPUType::kArm;
+  if (forced_cpu == "rosetta")
+    return CPUType::kTranslatedIntel;
+  if (forced_cpu == "intel")
+    return CPUType::kIntel;
+  return detected_type;
+}
+
+CPUType GetEffectiveCPUType() {
+  return MaybeOverrideCPUTypeFromCommandLine(base::mac::GetCPUType());
+}
+
+}  // namespace
+
+constexpr base::Feature MacSystemInfoBarDelegate::kMacSystemInfoBar;
+
+// static
+bool MacSystemInfoBarDelegate::ShouldShow() {
+  constexpr base::FeatureParam<bool> kEnableRosetta{&kMacSystemInfoBar,
+                                                    "enable_rosetta", false};
+  constexpr base::FeatureParam<bool> kEnableArm{&kMacSystemInfoBar,
+                                                "enable_arm", false};
+
+  CPUType cpu = GetEffectiveCPUType();
+  return (cpu == CPUType::kTranslatedIntel && kEnableRosetta.Get()) ||
+         (cpu == CPUType::kArm && kEnableArm.Get());
+}
+
+// static
+void MacSystemInfoBarDelegate::Create(InfoBarService* infobar_service) {
+  infobar_service->AddInfoBar(infobar_service->CreateConfirmInfoBar(
+      std::unique_ptr<ConfirmInfoBarDelegate>(new MacSystemInfoBarDelegate())));
+}
+
+MacSystemInfoBarDelegate::MacSystemInfoBarDelegate() = default;
+MacSystemInfoBarDelegate::~MacSystemInfoBarDelegate() = default;
+
+bool MacSystemInfoBarDelegate::ShouldExpire(
+    const NavigationDetails& details) const {
+  // Don't dismiss on navigation - require an explicit dismissal. This infobar
+  // communicates an important thing (i.e. that the product is probably kind of
+  // broken).
+  return false;
+}
+
+infobars::InfoBarDelegate::InfoBarIdentifier
+MacSystemInfoBarDelegate::GetIdentifier() const {
+  return SYSTEM_INFOBAR_DELEGATE_MAC;
+}
+
+base::string16 MacSystemInfoBarDelegate::GetLinkText() const {
+  return l10n_util::GetStringUTF16(
+      GetEffectiveCPUType() == CPUType::kArm
+          ? IDS_MAC_SYSTEM_INFOBAR_LINK_TEXT_ARM
+          : IDS_MAC_SYSTEM_INFOBAR_LINK_TEXT_ROSETTA);
+}
+
+GURL MacSystemInfoBarDelegate::GetLinkURL() const {
+  return GURL(
+      l10n_util::GetStringUTF8(GetEffectiveCPUType() == CPUType::kArm
+                                   ? IDS_MAC_SYSTEM_INFOBAR_LINK_URL_ARM
+                                   : IDS_MAC_SYSTEM_INFOBAR_LINK_URL_ROSETTA));
+}
+
+base::string16 MacSystemInfoBarDelegate::GetMessageText() const {
+  return l10n_util::GetStringUTF16(GetEffectiveCPUType() == CPUType::kArm
+                                       ? IDS_MAC_SYSTEM_INFOBAR_TEXT_ARM
+                                       : IDS_MAC_SYSTEM_INFOBAR_TEXT_ROSETTA);
+}
+
+int MacSystemInfoBarDelegate::GetButtons() const {
+  return BUTTON_NONE;
+}
diff --git a/chrome/browser/ui/startup/mac_system_infobar_delegate.h b/chrome/browser/ui/startup/mac_system_infobar_delegate.h
new file mode 100644
index 0000000..5999ca8
--- /dev/null
+++ b/chrome/browser/ui/startup/mac_system_infobar_delegate.h
@@ -0,0 +1,69 @@
+// 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_UI_STARTUP_MAC_SYSTEM_INFOBAR_DELEGATE_H_
+#define CHROME_BROWSER_UI_STARTUP_MAC_SYSTEM_INFOBAR_DELEGATE_H_
+
+#include "base/feature_list.h"
+#include "base/strings/string16.h"
+#include "components/infobars/core/confirm_infobar_delegate.h"
+#include "url/gurl.h"
+
+class InfoBarService;
+
+// This infobar displays a message and link depending on the architecture of the
+// Mac system. The message, link text, and link itself all come from grit, which
+// allows them to be customized via field trials; placeholder values are present
+// in the source grit files and marked as not translateable.
+//
+// In practice, this class will be used like this:
+//   1. The MacSystemInfobar field trial is enabled
+//   2. The "enable-arm" or "enable-rosetta" (or both) params for that trial
+//      are set to "1"
+//   3. The IDS_MAC_SYSTEM_INFOBAR_* grit messages are overridden with
+//      appropriate text depending on the situation
+//
+// This allows the Mac-on-Arm launch process to "late bind" notification & help
+// text in this infobar.
+//
+// The only logic in this infobar is for choosing between Arm string constants
+// and Rosetta string constants. Once the field trial system becomes capable of
+// qualifying study participants by architecture as well as OS version, this
+// logic will go away as well, and this infobar will morph into a generic "show
+// strings from a field trial whenever that field trial is active" type of
+// infobar.
+class MacSystemInfoBarDelegate : public ConfirmInfoBarDelegate {
+ public:
+  static constexpr base::Feature kMacSystemInfoBar{
+      "MacSystemInfoBar",
+      base::FEATURE_DISABLED_BY_DEFAULT,
+  };
+
+  MacSystemInfoBarDelegate(const MacSystemInfoBarDelegate& other) = delete;
+  MacSystemInfoBarDelegate& operator=(const MacSystemInfoBarDelegate& other) =
+      delete;
+
+  // Returns whether this infobar should show or not, depending on the current
+  // CPU architecture and state of fieldtrials/switches.
+  static bool ShouldShow();
+
+  // Creates an instance of this infobar and adds it to the provided
+  // InfoBarService. It is an error to call this method if !ShouldShow() outside
+  // tests - the correct strings are not guaranteed to be produced.
+  static void Create(InfoBarService* infobar_service);
+
+ private:
+  MacSystemInfoBarDelegate();
+  ~MacSystemInfoBarDelegate() override;
+
+  // ConfirmInfoBarDelegate:
+  bool ShouldExpire(const NavigationDetails& details) const override;
+  infobars::InfoBarDelegate::InfoBarIdentifier GetIdentifier() const override;
+  base::string16 GetLinkText() const override;
+  GURL GetLinkURL() const override;
+  base::string16 GetMessageText() const override;
+  int GetButtons() const override;
+};
+
+#endif  // CHROME_BROWSER_UI_STARTUP_MAC_SYSTEM_INFOBAR_DELEGATE_H_
diff --git a/chrome/browser/ui/startup/mac_system_infobar_delegate_unittest.cc b/chrome/browser/ui/startup/mac_system_infobar_delegate_unittest.cc
new file mode 100644
index 0000000..60349f3d
--- /dev/null
+++ b/chrome/browser/ui/startup/mac_system_infobar_delegate_unittest.cc
@@ -0,0 +1,97 @@
+// 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/ui/startup/mac_system_infobar_delegate.h"
+#include "base/mac/mac_util.h"
+#include "base/test/scoped_feature_list.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace {
+
+using CPUType = base::mac::CPUType;
+
+void ForceArchForTest(CPUType type) {
+  const char kSwitch[] = "force-mac-system-infobar";
+  auto* command_line = base::CommandLine::ForCurrentProcess();
+  if (type == CPUType::kArm)
+    command_line->AppendSwitchASCII(kSwitch, "arm");
+  else if (type == CPUType::kTranslatedIntel)
+    command_line->AppendSwitchASCII(kSwitch, "rosetta");
+  else if (type == CPUType::kIntel)
+    command_line->AppendSwitchASCII(kSwitch, "intel");
+}
+
+class MacSystemInfoBarDelegateArmTest : public testing::Test {
+ public:
+  void SetUp() override {
+    base::FieldTrialParams params;
+    params["enable_arm"] = "true";
+    features_.InitAndEnableFeatureWithParameters(
+        MacSystemInfoBarDelegate::kMacSystemInfoBar, params);
+  }
+
+ private:
+  base::test::ScopedFeatureList features_;
+};
+
+class MacSystemInfoBarDelegateRosettaTest : public testing::Test {
+ public:
+  void SetUp() override {
+    base::FieldTrialParams params;
+    params["enable_rosetta"] = "true";
+    features_.InitAndEnableFeatureWithParameters(
+        MacSystemInfoBarDelegate::kMacSystemInfoBar, params);
+  }
+
+ private:
+  base::test::ScopedFeatureList features_;
+};
+
+class MacSystemInfoBarDelegateTest : public testing::Test {
+ public:
+  void SetUp() override {
+    features_.InitAndEnableFeature(MacSystemInfoBarDelegate::kMacSystemInfoBar);
+  }
+
+ private:
+  base::test::ScopedFeatureList features_;
+};
+
+// Test that the enable/disable logic works properly on Arm.
+TEST_F(MacSystemInfoBarDelegateArmTest, EnabledForArm) {
+  ForceArchForTest(CPUType::kArm);
+  ASSERT_TRUE(MacSystemInfoBarDelegate::ShouldShow());
+
+  ForceArchForTest(CPUType::kTranslatedIntel);
+  EXPECT_FALSE(MacSystemInfoBarDelegate::ShouldShow());
+
+  ForceArchForTest(CPUType::kIntel);
+  EXPECT_FALSE(MacSystemInfoBarDelegate::ShouldShow());
+}
+
+// Test that the enable/disable logic works properly on Rosetta.
+TEST_F(MacSystemInfoBarDelegateRosettaTest, EnabledForRosetta) {
+  ForceArchForTest(CPUType::kTranslatedIntel);
+  ASSERT_TRUE(MacSystemInfoBarDelegate::ShouldShow());
+
+  ForceArchForTest(CPUType::kArm);
+  EXPECT_FALSE(MacSystemInfoBarDelegate::ShouldShow());
+
+  ForceArchForTest(CPUType::kIntel);
+  EXPECT_FALSE(MacSystemInfoBarDelegate::ShouldShow());
+}
+
+// Test that nothing is enabled when the feature is disabled.
+TEST_F(MacSystemInfoBarDelegateTest, NotEnabledAnywhere) {
+  ForceArchForTest(CPUType::kTranslatedIntel);
+  EXPECT_FALSE(MacSystemInfoBarDelegate::ShouldShow());
+
+  ForceArchForTest(CPUType::kArm);
+  EXPECT_FALSE(MacSystemInfoBarDelegate::ShouldShow());
+
+  ForceArchForTest(CPUType::kIntel);
+  EXPECT_FALSE(MacSystemInfoBarDelegate::ShouldShow());
+}
+
+}  // namespace
diff --git a/chrome/browser/ui/startup/startup_browser_creator.cc b/chrome/browser/ui/startup/startup_browser_creator.cc
index 35d112e..c51c351 100644
--- a/chrome/browser/ui/startup/startup_browser_creator.cc
+++ b/chrome/browser/ui/startup/startup_browser_creator.cc
@@ -699,11 +699,10 @@
 #endif  // OS_CHROMEOS
 
 #if defined(TOOLKIT_VIEWS) && defined(USE_X11)
-  // TODO(https://crbug.com/1097696): make it available on ozone/linux.
-  if (!features::IsUsingOzonePlatform())
+  if (!features::IsUsingOzonePlatform()) {
+    // Ozone sets the device list upon platform initialisation.
     ui::TouchFactory::SetTouchDeviceListFromCommandLine();
-  else
-    NOTIMPLEMENTED_LOG_ONCE();
+  }
 #endif
 
 #if defined(OS_MAC)
diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
index e25bf88aa..baee6546 100644
--- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
+++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
@@ -79,6 +79,7 @@
 #import "chrome/browser/mac/dock.h"
 #include "chrome/browser/mac/install_from_dmg.h"
 #include "chrome/browser/ui/cocoa/keystone_infobar_delegate.h"
+#include "chrome/browser/ui/startup/mac_system_infobar_delegate.h"
 #endif
 
 #if defined(OS_WIN)
@@ -913,6 +914,11 @@
         ObsoleteSystemInfoBarDelegate::Create(infobar_service);
     }
 
+#if defined(OS_MAC)
+    if (MacSystemInfoBarDelegate::ShouldShow())
+      MacSystemInfoBarDelegate::Create(infobar_service);
+#endif
+
 #if !defined(OS_CHROMEOS)
     if (!command_line_.HasSwitch(switches::kNoDefaultBrowserCheck)) {
       // The default browser prompt should only be shown after the first run.
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
index 94dabd4e..fe2c5e1 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
+++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
@@ -1262,20 +1262,22 @@
   base::RecordAction(base::UserMetricsAction("BookmarkBar_DragButton"));
 
   const auto* node = GetNodeForSender(sender);
-  gfx::ImageSkia icon;
+  ui::ImageModel icon;
   views::Widget* widget = sender->GetWidget();
   if (node->is_url()) {
     const gfx::Image& image = model_->GetFavicon(node);
-    icon = image.IsEmpty() ? favicon::GetDefaultFavicon().AsImageSkia()
-                           : image.AsImageSkia();
+    icon = image.IsEmpty()
+               ? ui::ImageModel::FromImage(favicon::GetDefaultFavicon())
+               : ui::ImageModel::FromImage(image);
   } else {
     icon =
         chrome::GetBookmarkFolderIcon(widget->GetNativeTheme()->GetSystemColor(
             ui::NativeTheme::kColorId_LabelEnabledColor));
   }
 
-  button_drag_utils::SetDragImage(node->url(), node->GetTitle(), icon,
-                                  &press_pt, *widget, data);
+  button_drag_utils::SetDragImage(node->url(), node->GetTitle(),
+                                  *icon.GetImage().ToImageSkia(), &press_pt,
+                                  *widget, data);
   WriteBookmarkDragData(node, data);
 }
 
@@ -1556,8 +1558,9 @@
   button->SetTooltipText(
       l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_APPS_SHORTCUT_TOOLTIP));
   button->SetID(VIEW_ID_BOOKMARK_BAR_ELEMENT);
-  button->SetImage(views::Button::STATE_NORMAL,
-                   *GetImageSkiaNamed(IDR_BOOKMARK_BAR_APPS_SHORTCUT));
+  button->SetImageModel(views::Button::STATE_NORMAL,
+                        ui::ImageModel::FromImageSkia(*GetImageSkiaNamed(
+                            IDR_BOOKMARK_BAR_APPS_SHORTCUT)));
   button->set_context_menu_controller(this);
   return button;
 }
@@ -1574,8 +1577,8 @@
     text_color = tp->GetColor(ThemeProperties::COLOR_BOOKMARK_TEXT);
     button->SetEnabledTextColors(text_color);
     if (node->is_folder()) {
-      button->SetImage(views::Button::STATE_NORMAL,
-                       chrome::GetBookmarkFolderIcon(text_color));
+      button->SetImageModel(views::Button::STATE_NORMAL,
+                            chrome::GetBookmarkFolderIcon(text_color));
     }
   }
 
@@ -1608,7 +1611,8 @@
           favicon, tp->GetColor(ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON));
     }
 
-    button->SetImage(views::Button::STATE_NORMAL, favicon);
+    button->SetImageModel(views::Button::STATE_NORMAL,
+                          ui::ImageModel::FromImageSkia(favicon));
   }
   constexpr int kMaxButtonWidth = 150;
   button->SetMaxSize(gfx::Size(kMaxButtonWidth, 0));
@@ -1924,10 +1928,10 @@
   const SkColor color =
       theme_provider->GetColor(ThemeProperties::COLOR_BOOKMARK_TEXT);
   other_bookmarks_button_->SetEnabledTextColors(color);
-  other_bookmarks_button_->SetImage(views::Button::STATE_NORMAL,
-                                    chrome::GetBookmarkFolderIcon(color));
+  other_bookmarks_button_->SetImageModel(views::Button::STATE_NORMAL,
+                                         chrome::GetBookmarkFolderIcon(color));
   managed_bookmarks_button_->SetEnabledTextColors(color);
-  managed_bookmarks_button_->SetImage(
+  managed_bookmarks_button_->SetImageModel(
       views::Button::STATE_NORMAL, chrome::GetBookmarkManagedFolderIcon(color));
 
   if (apps_page_shortcut_->GetVisible())
@@ -1936,9 +1940,9 @@
   const SkColor overflow_color =
       theme_provider->GetColor(ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON);
   const bool touch_ui = ui::TouchUiController::Get()->touch_ui();
-  overflow_button_->SetImage(
+  overflow_button_->SetImageModel(
       views::Button::STATE_NORMAL,
-      gfx::CreateVectorIcon(
+      ui::ImageModel::FromVectorIcon(
           touch_ui ? kBookmarkbarTouchOverflowIcon : kOverflowChevronIcon,
           overflow_color));
 
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_drag_drop_views.cc b/chrome/browser/ui/views/bookmarks/bookmark_drag_drop_views.cc
index d9e33fa..3af6eed 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_drag_drop_views.cc
+++ b/chrome/browser/ui/views/bookmarks/bookmark_drag_drop_views.cc
@@ -194,7 +194,7 @@
   void Start(const BookmarkNode* drag_node) {
     drag_node_id_ = drag_node->id();
 
-    gfx::ImageSkia icon;
+    ui::ImageModel icon;
     if (drag_node->is_url()) {
       const gfx::Image& image = model_->GetFavicon(drag_node);
       // If favicon is not loaded, the above call will initiate loading, and
@@ -205,7 +205,7 @@
       if (!drag_node->is_favicon_loaded())
         return;
 
-      icon = image.AsImageSkia();
+      icon = ui::ImageModel::FromImage(image);
     } else {
       icon = GetBookmarkFolderIcon(
           ui::NativeTheme::GetInstanceForNativeUi()->GetSystemColor(
@@ -216,14 +216,14 @@
   }
 
   void OnBookmarkIconLoaded(const BookmarkNode* drag_node,
-                            const gfx::ImageSkia& icon) {
+                            const ui::ImageModel& icon) {
     gfx::ImageSkia drag_image(
         std::make_unique<BookmarkDragImageSource>(
             drag_node->GetTitle(),
-            icon.isNull()
+            icon.IsEmpty()
                 ? *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
                       IDR_DEFAULT_FAVICON)
-                : icon,
+                : *icon.GetImage().ToImageSkia(),
             count_),
         BookmarkDragImageSource::kBookmarkDragImageSize);
 
@@ -252,10 +252,11 @@
     if (node->id() != drag_node_id_)
       return;
 
-    const gfx::Image& image = model_->GetFavicon(node);
+    const ui::ImageModel& image =
+        ui::ImageModel::FromImage(model_->GetFavicon(node));
     DCHECK(node->is_favicon_loaded());
 
-    OnBookmarkIconLoaded(node, image.AsImageSkia());
+    OnBookmarkIconLoaded(node, image);
   }
 
   BookmarkModel* model_;
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc b/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc
index 065b5b8f..002d388 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc
+++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc
@@ -515,7 +515,7 @@
 }
 
 void BookmarkMenuDelegate::BuildMenuForPermanentNode(const BookmarkNode* node,
-                                                     const gfx::ImageSkia& icon,
+                                                     const ui::ImageModel& icon,
                                                      MenuItemView* menu,
                                                      bool* added_separator) {
   if (!node->IsVisible() || node->GetTotalNodeCount() == 1)
@@ -526,9 +526,10 @@
     menu->AppendSeparator();
   }
 
-  AddMenuToMaps(menu->AppendSubMenu(next_menu_id_++,
-                                    MaybeEscapeLabel(node->GetTitle()), icon),
-                node);
+  AddMenuToMaps(
+      menu->AppendSubMenu(next_menu_id_++, MaybeEscapeLabel(node->GetTitle()),
+                          *icon.GetImage().ToImageSkia()),
+      node);
 }
 
 void BookmarkMenuDelegate::BuildMenuForManagedNode(MenuItemView* menu) {
@@ -546,7 +547,7 @@
                                      MenuItemView* menu) {
   DCHECK_LE(start_child_index, parent->children().size());
   ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance();
-  const gfx::ImageSkia folder_icon =
+  const ui::ImageModel folder_icon =
       chrome::GetBookmarkFolderIcon(TextColorForMenu(menu, parent_));
   for (auto i = parent->children().cbegin() + start_child_index;
        i != parent->children().cend(); ++i) {
@@ -565,8 +566,9 @@
               net::UnescapeRule::SPACES, nullptr, nullptr, nullptr));
     } else {
       DCHECK(node->is_folder());
-      child_menu_item = menu->AppendSubMenu(
-          id, MaybeEscapeLabel(node->GetTitle()), folder_icon);
+      child_menu_item =
+          menu->AppendSubMenu(id, MaybeEscapeLabel(node->GetTitle()),
+                              *folder_icon.GetImage().ToImageSkia());
       child_menu_item->GetViewAccessibility().OverrideDescription("");
     }
     AddMenuToMaps(child_menu_item, node);
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h b/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h
index b2fc3930..57082b8 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h
+++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h
@@ -27,10 +27,6 @@
 class PageNavigator;
 }
 
-namespace gfx {
-class ImageSkia;
-}
-
 namespace ui {
 class OSExchangeData;
 }
@@ -165,7 +161,7 @@
   // separator is added before the new menu items and |added_separator| is set
   // to true.
   void BuildMenuForPermanentNode(const bookmarks::BookmarkNode* node,
-                                 const gfx::ImageSkia& icon,
+                                 const ui::ImageModel& icon,
                                  views::MenuItemView* menu,
                                  bool* added_separator);
 
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view.cc
index 1ace12c..c5fed6f 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view.cc
@@ -142,8 +142,7 @@
 }
 
 bool BrowserNonClientFrameView::CanDrawStrokes() const {
-  // Web apps should not draw strokes, as they don't have a tab strip.
-  return !browser_view_->browser()->app_controller();
+  return true;
 }
 
 SkColor BrowserNonClientFrameView::GetCaptionColor(
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index cbd409fb..d7983b0 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -1613,6 +1613,15 @@
 }
 
 bool BrowserView::IsToolbarVisible() const {
+#if defined(OS_MAC)
+  // This Mac-only preference disables display of the toolbar in fullscreen mode
+  // so we need to take it into account when determining if the toolbar is
+  // visible - especially as pertains to anchoring views.
+  if (IsFullscreen() && !browser()->profile()->GetPrefs()->GetBoolean(
+                            prefs::kShowFullscreenToolbar)) {
+    return false;
+  }
+#endif
   if (immersive_mode_controller_->ShouldHideTopViews())
     return false;
   // It's possible to reach here before we've been notified of being added to a
@@ -2337,18 +2346,42 @@
   return nullptr;
 }
 
+#if defined(OS_WIN)
+bool BrowserView::CanShowWindowTitle() const {
+  return browser_->SupportsWindowFeature(Browser::FEATURE_TITLEBAR) ||
+         WebUITabStripContainerView::SupportsTouchableTabStrip(browser());
+}
+
+bool BrowserView::CanShowWindowIcon() const {
+  return browser_->SupportsWindowFeature(Browser::FEATURE_TITLEBAR);
+}
+#endif
+
 bool BrowserView::ShouldShowWindowTitle() const {
 #if defined(OS_CHROMEOS)
   // For Chrome OS only, trusted windows (apps and settings) do not show a
   // title, crbug.com/119411. Child windows (i.e. popups) do show a title.
-  if (browser_->is_trusted_source()) {
+  if (browser_->is_trusted_source())
     return false;
-  }
-#endif  // OS_CHROMEOS
+#elif defined(OS_WIN)
+  // On Windows in touch mode we display a window title.
+  if (WebUITabStripContainerView::UseTouchableTabStrip(browser()))
+    return true;
+#endif
 
   return browser_->SupportsWindowFeature(Browser::FEATURE_TITLEBAR);
 }
 
+bool BrowserView::ShouldShowWindowIcon() const {
+#if defined(OS_CHROMEOS)
+  // For Chrome OS only, trusted windows (apps and settings) do not show a
+  // window icon, crbug.com/119411. Child windows (i.e. popups) do show an icon.
+  if (browser_->is_trusted_source())
+    return false;
+#endif
+  return browser_->SupportsWindowFeature(Browser::FEATURE_TITLEBAR);
+}
+
 gfx::ImageSkia BrowserView::GetWindowAppIcon() {
   web_app::AppBrowserController* app_controller = browser()->app_controller();
   return app_controller ? app_controller->GetWindowAppIcon() : GetWindowIcon();
@@ -2382,11 +2415,6 @@
   return gfx::ImageSkia();
 }
 
-bool BrowserView::ShouldShowWindowIcon() const {
-  // Currently the icon and title are always shown together.
-  return ShouldShowWindowTitle();
-}
-
 bool BrowserView::ExecuteWindowsCommand(int command_id) {
   // This function handles WM_SYSCOMMAND, WM_APPCOMMAND, and WM_COMMAND.
 #if defined(OS_WIN)
@@ -2962,8 +2990,9 @@
     // be correct).
     tabstrip_->UpdateLoadingAnimations(base::TimeTicks::Now() -
                                        loading_animation_start_);
-  } else if (ShouldShowWindowIcon()) {
-    // ... or in the window icon area for popups and app windows.
+  }
+
+  if (ShouldShowWindowIcon()) {
     WebContents* web_contents =
         browser_->tab_strip_model()->GetActiveWebContents();
     // GetActiveWebContents can return null for example under Purify when
diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h
index 214b273a8..306a6fae 100644
--- a/chrome/browser/ui/views/frame/browser_view.h
+++ b/chrome/browser/ui/views/frame/browser_view.h
@@ -270,6 +270,16 @@
   // page.
   bool IsTopControlsSlideBehaviorEnabled() const;
 
+#if defined(OS_WIN)
+  // Returns whether the browser can ever display a titlebar. Used in Windows
+  // touch mode. Possibly expand to ChromeOS if we add a titlebar back there in
+  // touch mode.
+  bool CanShowWindowTitle() const;
+
+  // Returns whether the browser can ever display a window icon.
+  bool CanShowWindowIcon() const;
+#endif
+
   // Returns the current shown ratio of the top browser controls.
   float GetTopControlsSlideBehaviorShownRatio() const;
 
diff --git a/chrome/browser/ui/views/frame/glass_browser_frame_view.cc b/chrome/browser/ui/views/frame/glass_browser_frame_view.cc
index c05d635..b936578e8 100644
--- a/chrome/browser/ui/views/frame/glass_browser_frame_view.cc
+++ b/chrome/browser/ui/views/frame/glass_browser_frame_view.cc
@@ -92,7 +92,7 @@
   // is true. Everything else here is only used when
   // ShouldCustomDrawSystemTitlebar() is true.
 
-  if (browser_view->ShouldShowWindowIcon()) {
+  if (browser_view->CanShowWindowIcon()) {
     InitThrobberIcons();
 
     window_icon_ = new TabIconView(this, nullptr);
@@ -115,7 +115,7 @@
   // The window title appears above the web app frame toolbar (if present),
   // which surrounds the title with minimal-ui buttons on the left,
   // and other controls (such as the app menu button) on the right.
-  if (browser_view->ShouldShowWindowTitle()) {
+  if (browser_view->CanShowWindowTitle()) {
     window_title_ = new views::Label(browser_view->GetWindowTitle());
     window_title_->SetSubpixelRenderingEnabled(false);
     window_title_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
@@ -207,20 +207,18 @@
 }
 
 void GlassBrowserFrameView::UpdateThrobber(bool running) {
-  if (ShowCustomIcon())
+  if (ShouldShowWindowIcon(TitlebarType::kCustom)) {
     window_icon_->Update();
-
-  if (!ShowSystemIcon())
-    return;
-
-  if (throbber_running_) {
-    if (running) {
-      DisplayNextThrobberFrame();
-    } else {
-      StopThrobber();
+  } else if (ShouldShowWindowIcon(TitlebarType::kSystem)) {
+    if (throbber_running_) {
+      if (running) {
+        DisplayNextThrobberFrame();
+      } else {
+        StopThrobber();
+      }
+    } else if (running) {
+      StartThrobber();
     }
-  } else if (running) {
-    StartThrobber();
   }
 }
 
@@ -278,7 +276,7 @@
 
   // See if we're in the sysmenu region.  We still have to check the tabstrip
   // first so that clicks in a tab don't get treated as sysmenu clicks.
-  if (browser_view()->ShouldShowWindowIcon() && frame_component != HTCLIENT) {
+  if (frame_component != HTCLIENT && ShouldShowWindowIcon(TitlebarType::kAny)) {
     gfx::Rect sys_menu_region(
         0, display::win::ScreenWin::GetSystemMetricsInDIP(SM_CYSIZEFRAME),
         display::win::ScreenWin::GetSystemMetricsInDIP(SM_CXSMICON),
@@ -291,7 +289,7 @@
     return frame_component;
 
   // Then see if the point is within any of the window controls.
-  if (OwnsCaptionButtons()) {
+  if (caption_button_container_) {
     gfx::Point local_point = point;
     ConvertPointToTarget(parent(), caption_button_container_, &local_point);
     if (caption_button_container_->HitTestPoint(local_point)) {
@@ -344,15 +342,14 @@
 }
 
 void GlassBrowserFrameView::UpdateWindowIcon() {
-  if (ShowCustomIcon() && !frame()->IsFullscreen())
+  if (window_icon_ && window_icon_->GetVisible())
     window_icon_->SchedulePaint();
 }
 
 void GlassBrowserFrameView::UpdateWindowTitle() {
-  if (ShowCustomTitle() && !frame()->IsFullscreen()) {
-    LayoutTitleBar();
+  LayoutTitleBar();
+  if (window_title_ && window_title_->GetVisible())
     window_title_->SchedulePaint();
-  }
 }
 
 void GlassBrowserFrameView::ResetWindowControls() {
@@ -368,13 +365,13 @@
 }
 
 bool GlassBrowserFrameView::ShouldTabIconViewAnimate() const {
-  DCHECK(ShowCustomIcon());
+  DCHECK(ShouldShowWindowIcon(TitlebarType::kCustom));
   content::WebContents* current_tab = browser_view()->GetActiveWebContents();
   return current_tab && current_tab->IsLoading();
 }
 
 gfx::ImageSkia GlassBrowserFrameView::GetFaviconForTabIconView() {
-  DCHECK(ShowCustomIcon());
+  DCHECK(ShouldShowWindowIcon(TitlebarType::kCustom));
   return frame()->widget_delegate()->GetWindowIcon();
 }
 
@@ -402,12 +399,8 @@
 
 void GlassBrowserFrameView::Layout() {
   TRACE_EVENT0("views.frame", "GlassBrowserFrameView::Layout");
-  if (ShouldCustomDrawSystemTitlebar() || IsWebUITabStrip())
-    LayoutCaptionButtons();
-
-  if (ShouldCustomDrawSystemTitlebar())
-    LayoutTitleBar();
-
+  LayoutCaptionButtons();
+  LayoutTitleBar();
   LayoutClientView();
 }
 
@@ -550,25 +543,24 @@
              : frame()->GetMinimizeButtonOffset();
 }
 
-bool GlassBrowserFrameView::ShowCustomIcon() const {
-  // Web-app windows don't include the window icon as per UI mocks.
-  return !web_app_frame_toolbar() && ShouldCustomDrawSystemTitlebar() &&
-         browser_view()->ShouldShowWindowIcon();
+bool GlassBrowserFrameView::ShouldShowWindowIcon(TitlebarType type) const {
+  if (type == TitlebarType::kCustom && !ShouldCustomDrawSystemTitlebar())
+    return false;
+  if (type == TitlebarType::kSystem && ShouldCustomDrawSystemTitlebar())
+    return false;
+  if (frame()->IsFullscreen() || browser_view()->IsBrowserTypeWebApp())
+    return false;
+  return browser_view()->ShouldShowWindowIcon();
 }
 
-bool GlassBrowserFrameView::ShowCustomTitle() const {
-  return ShouldCustomDrawSystemTitlebar() &&
-         browser_view()->ShouldShowWindowTitle();
-}
-
-bool GlassBrowserFrameView::ShowSystemIcon() const {
-  return !ShouldCustomDrawSystemTitlebar() &&
-         browser_view()->ShouldShowWindowIcon();
-}
-
-bool GlassBrowserFrameView::OwnsCaptionButtons() const {
-  return caption_button_container_ &&
-         caption_button_container_->parent() == this;
+bool GlassBrowserFrameView::ShouldShowWindowTitle(TitlebarType type) const {
+  if (type == TitlebarType::kCustom && !ShouldCustomDrawSystemTitlebar())
+    return false;
+  if (type == TitlebarType::kSystem && ShouldCustomDrawSystemTitlebar())
+    return false;
+  if (frame()->IsFullscreen())
+    return false;
+  return browser_view()->ShouldShowWindowTitle();
 }
 
 SkColor GlassBrowserFrameView::GetTitlebarColor() const {
@@ -642,14 +634,21 @@
                          frame_overlay_image.height() * scale, true);
   }
 
-  if (ShowCustomTitle())
+  if (ShouldShowWindowTitle(TitlebarType::kCustom)) {
     window_title_->SetEnabledColor(
         GetCaptionColor(BrowserFrameActiveState::kUseCurrent));
+  }
 }
 
 void GlassBrowserFrameView::LayoutTitleBar() {
   TRACE_EVENT0("views.frame", "GlassBrowserFrameView::LayoutTitleBar");
-  if (!ShowCustomIcon() && !ShowCustomTitle())
+  const bool show_icon = ShouldShowWindowIcon(TitlebarType::kCustom);
+  const bool show_title = ShouldShowWindowTitle(TitlebarType::kCustom);
+  if (window_icon_)
+    window_icon_->SetVisible(show_icon);
+  if (window_title_)
+    window_title_->SetVisible(show_title);
+  if (!show_icon && !show_title && !web_app_frame_toolbar())
     return;
 
   const int icon_size =
@@ -671,7 +670,7 @@
       gfx::Rect(next_leading_x, y, icon_size, icon_size);
 
   constexpr int kIconTitleSpacing = 5;
-  if (ShowCustomIcon()) {
+  if (show_icon) {
     window_icon_->SetBoundsRect(window_icon_bounds);
     next_leading_x = window_icon_bounds.right() + kIconTitleSpacing;
   }
@@ -685,7 +684,7 @@
     next_trailing_x = remaining_bounds.second;
   }
 
-  if (ShowCustomTitle()) {
+  if (show_title) {
     // If nothing has been added to the left, match native Windows 10 UWP apps
     // that don't have window icons.
     constexpr int kMinimumTitleLeftBorderMargin = 11;
@@ -701,9 +700,17 @@
 
 void GlassBrowserFrameView::LayoutCaptionButtons() {
   TRACE_EVENT0("views.frame", "GlassBrowserFrameView::LayoutCaptionButtons");
-  if (!OwnsCaptionButtons())
+  if (!caption_button_container_)
     return;
 
+  // Non-custom system titlebar already contains caption buttons.
+  if (!ShouldCustomDrawSystemTitlebar()) {
+    caption_button_container_->SetVisible(false);
+    return;
+  }
+
+  caption_button_container_->SetVisible(true);
+
   const gfx::Size preferred_size =
       caption_button_container_->GetPreferredSize();
   int height = preferred_size.height();
@@ -722,7 +729,7 @@
 }
 
 void GlassBrowserFrameView::StartThrobber() {
-  DCHECK(ShowSystemIcon());
+  DCHECK(ShouldShowWindowIcon(TitlebarType::kSystem));
   if (!throbber_running_) {
     throbber_running_ = true;
     throbber_frame_ = 0;
@@ -734,7 +741,7 @@
 }
 
 void GlassBrowserFrameView::StopThrobber() {
-  DCHECK(ShowSystemIcon());
+  DCHECK(ShouldShowWindowIcon(TitlebarType::kSystem));
   if (throbber_running_) {
     throbber_running_ = false;
 
diff --git a/chrome/browser/ui/views/frame/glass_browser_frame_view.h b/chrome/browser/ui/views/frame/glass_browser_frame_view.h
index 26ec31c..20cfb0b7 100644
--- a/chrome/browser/ui/views/frame/glass_browser_frame_view.h
+++ b/chrome/browser/ui/views/frame/glass_browser_frame_view.h
@@ -86,6 +86,17 @@
  private:
   friend class GlassBrowserCaptionButtonContainer;
 
+  // Describes the type of titlebar that a window might have; used to query
+  // whether specific elements may be present.
+  enum class TitlebarType {
+    // A custom drawn titlebar, with window title and/or icon.
+    kCustom,
+    // The system titlebar, drawn by Windows.
+    kSystem,
+    // Any visible titlebar.
+    kAny
+  };
+
   // Returns the thickness of the window border for the left, right, and bottom
   // edges of the frame. On Windows 10 this is a mostly-transparent handle that
   // allows you to resize the window.
@@ -118,15 +129,13 @@
   // edge of the caption buttons.
   int MinimizeButtonX() const;
 
-  bool ShowCustomIcon() const;
-  bool ShowCustomTitle() const;
-  bool ShowSystemIcon() const;
+  // Returns whether or not the window should display an icon of the specified
+  // |type|.
+  bool ShouldShowWindowIcon(TitlebarType type) const;
 
-  // Returns true if caption buttons are present on the frame (as opposed to
-  // somewhere else, or not present at all). In some modes, the frame can "lend"
-  // the caption buttons to another view which needs to display them - e.g. in
-  // tablet mode on Windows.
-  bool OwnsCaptionButtons() const;
+  // Returns whether or not the window should display a title of the specified
+  // |type|.
+  bool ShouldShowWindowTitle(TitlebarType type) const;
 
   // Paint various sub-components of this view.
   void PaintTitlebar(gfx::Canvas* canvas) const;
diff --git a/chrome/browser/ui/views/frame/webui_tab_strip_container_view.cc b/chrome/browser/ui/views/frame/webui_tab_strip_container_view.cc
index aa0dadb..b3f6cb06 100644
--- a/chrome/browser/ui/views/frame/webui_tab_strip_container_view.cc
+++ b/chrome/browser/ui/views/frame/webui_tab_strip_container_view.cc
@@ -77,8 +77,30 @@
 #include "ui/views/view_tracker.h"
 #include "ui/views/widget/widget.h"
 
+// Represents a drag or fling that either goes up or down. Defined here so we
+// can use it in module local methods.
+enum class WebUITabStripDragDirection { kUp, kDown };
+
 namespace {
 
+// Converts a y-delta to a drag direction.
+WebUITabStripDragDirection DragDirectionFromDelta(float delta) {
+  DCHECK(delta != 0.0f);
+  return delta > 0.0f ? WebUITabStripDragDirection::kDown
+                      : WebUITabStripDragDirection::kUp;
+}
+
+// Converts a swipe gesture to a drag direction, or none if the swipe is neither
+// up nor down.
+base::Optional<WebUITabStripDragDirection> DragDirectionFromSwipe(
+    const ui::GestureEvent* event) {
+  if (event->details().swipe_down())
+    return WebUITabStripDragDirection::kDown;
+  if (event->details().swipe_up())
+    return WebUITabStripDragDirection::kUp;
+  return base::nullopt;
+}
+
 bool EventTypeCanCloseTabStrip(const ui::EventType& type) {
   switch (type) {
     case ui::ET_MOUSE_PRESSED:
@@ -268,19 +290,20 @@
 
   void OnGestureEvent(ui::GestureEvent* event) override {
     switch (event->type()) {
-      case ui::ET_GESTURE_SCROLL_BEGIN:
+      case ui::ET_GESTURE_SCROLL_BEGIN: {
         // Only treat this scroll as drag-to-open if the y component is
         // larger. Otherwise, leave the event unhandled. Horizontal
         // scrolls are used in the toolbar, e.g. for text scrolling in
         // the Omnibox.
-        if (event->details().scroll_y_hint() >
-            std::fabs(event->details().scroll_x_hint())) {
+        float y_delta = event->details().scroll_y_hint();
+        if (std::fabs(y_delta) > std::fabs(event->details().scroll_x_hint()) &&
+            container_->CanStartDragToOpen(DragDirectionFromDelta(y_delta))) {
           drag_in_progress_ = true;
-          container_->UpdateHeightForDragToOpen(
-              event->details().scroll_y_hint());
+          container_->UpdateHeightForDragToOpen(y_delta);
           event->SetHandled();
         }
         break;
+      }
       case ui::ET_GESTURE_SCROLL_UPDATE:
         if (drag_in_progress_) {
           container_->UpdateHeightForDragToOpen(event->details().scroll_y());
@@ -294,30 +317,31 @@
           drag_in_progress_ = false;
         }
         break;
-      case ui::ET_GESTURE_SWIPE:
+      case ui::ET_GESTURE_SWIPE: {
         // If a touch is released at high velocity, the scroll gesture
         // is "converted" to a swipe gesture. ET_GESTURE_END is still
         // sent after. From logging, it seems like ET_GESTURE_SCROLL_END
         // is sometimes also sent after this. It will be ignored here
         // since |drag_in_progress_| is set to false.
+        const auto direction = DragDirectionFromSwipe(event);
+
+        // If a swipe happens quickly enough, scroll events might not have
+        // been sent, so we may have to start one.
         if (!drag_in_progress_) {
-          // If a swipe happens quickly enough, scroll events might not
-          // have been sent. Tell the container a drag began.
+          if (!direction.has_value() ||
+              !container_->CanStartDragToOpen(direction.value())) {
+            break;
+          }
           container_->UpdateHeightForDragToOpen(0.0f);
         }
 
-        if (event->details().swipe_down() || event->details().swipe_up()) {
-          container_->EndDragToOpen(event->details().swipe_down()
-                                        ? FlingDirection::kDown
-                                        : FlingDirection::kUp);
-        } else {
-          // Treat a sideways swipe as a normal drag end.
-          container_->EndDragToOpen();
-        }
+        // If there is a direction, then end the drag with a fling, otherwise
+        // (in the case of a sideways fling) use the default release logic.
+        container_->EndDragToOpen(direction);
 
         event->SetHandled();
         drag_in_progress_ = false;
-        break;
+      } break;
       case ui::ET_GESTURE_END:
         if (drag_in_progress_) {
           // If an unsupported gesture is sent, ensure that we still
@@ -477,6 +501,13 @@
 }
 
 // static
+bool WebUITabStripContainerView::SupportsTouchableTabStrip(
+    const Browser* browser) {
+  return browser->is_type_normal() &&
+         base::FeatureList::IsEnabled(features::kWebUITabStrip);
+}
+
+// static
 bool WebUITabStripContainerView::UseTouchableTabStrip(const Browser* browser) {
   return browser->is_type_normal() &&
          base::FeatureList::IsEnabled(features::kWebUITabStrip) &&
@@ -561,15 +592,23 @@
   iph_controller_->NotifyClosed();
 }
 
+bool WebUITabStripContainerView::CanStartDragToOpen(
+    WebUITabStripDragDirection direction) const {
+  // If we're already in a drag, then we can always continue dragging.
+  if (current_drag_height_)
+    return true;
+  return direction == (GetVisible() ? WebUITabStripDragDirection::kUp
+                                    : WebUITabStripDragDirection::kDown);
+}
+
 void WebUITabStripContainerView::UpdateHeightForDragToOpen(float height_delta) {
   if (!current_drag_height_) {
-    // If we are visible and aren't already dragging, ignore; either we are
-    // animating open, or the touch would've triggered autoclose.
-    if (GetVisible())
-      return;
+    const bool was_open = GetVisible();
+    DCHECK(!was_open || height_delta <= 0.0f);
+    DCHECK(was_open || height_delta >= 0.0f);
 
     SetVisible(true);
-    current_drag_height_ = 0;
+    current_drag_height_ = was_open ? height() : 0.0f;
     animation_.Reset();
   }
 
@@ -580,7 +619,7 @@
 }
 
 void WebUITabStripContainerView::EndDragToOpen(
-    base::Optional<FlingDirection> fling_direction) {
+    base::Optional<WebUITabStripDragDirection> fling_direction) {
   if (!current_drag_height_)
     return;
 
@@ -595,7 +634,7 @@
   if (fling_direction) {
     // If this was a fling, ignore the final height and use the fling
     // direction.
-    opening = fling_direction == FlingDirection::kDown;
+    opening = (fling_direction == WebUITabStripDragDirection::kDown);
   }
 
   if (opening) {
diff --git a/chrome/browser/ui/views/frame/webui_tab_strip_container_view.h b/chrome/browser/ui/views/frame/webui_tab_strip_container_view.h
index c9dafc0..a402d589 100644
--- a/chrome/browser/ui/views/frame/webui_tab_strip_container_view.h
+++ b/chrome/browser/ui/views/frame/webui_tab_strip_container_view.h
@@ -39,6 +39,7 @@
 
 class Browser;
 class BrowserView;
+enum class WebUITabStripDragDirection;
 class ImmersiveRevealedLock;
 
 class WebUITabStripContainerView : public TabStripUIEmbedder,
@@ -53,6 +54,7 @@
                              views::View* omnibox);
   ~WebUITabStripContainerView() override;
 
+  static bool SupportsTouchableTabStrip(const Browser* browser);
   static bool UseTouchableTabStrip(const Browser* browser);
 
   // For drag-and-drop support:
@@ -85,18 +87,14 @@
   class IPHController;
 
   // Called as we are dragged open.
+  bool CanStartDragToOpen(WebUITabStripDragDirection direction) const;
   void UpdateHeightForDragToOpen(float height_delta);
 
-  enum class FlingDirection {
-    kUp,
-    kDown,
-  };
-
   // Called when drag-to-open finishes. If |fling_direction| is present,
   // the user released their touch with a high velocity. We should use
   // just this direction to animate open or closed.
-  void EndDragToOpen(
-      base::Optional<FlingDirection> fling_direction = base::nullopt);
+  void EndDragToOpen(base::Optional<WebUITabStripDragDirection>
+                         fling_direction = base::nullopt);
 
   void SetContainerTargetVisibility(bool target_visible);
 
diff --git a/chrome/browser/ui/views/in_product_help/feature_promo_bubble_params.cc b/chrome/browser/ui/views/in_product_help/feature_promo_bubble_params.cc
index 4d08ebe..7ef81fd6 100644
--- a/chrome/browser/ui/views/in_product_help/feature_promo_bubble_params.cc
+++ b/chrome/browser/ui/views/in_product_help/feature_promo_bubble_params.cc
@@ -8,5 +8,5 @@
 
 FeaturePromoBubbleParams::FeaturePromoBubbleParams() = default;
 FeaturePromoBubbleParams::~FeaturePromoBubbleParams() = default;
-FeaturePromoBubbleParams::FeaturePromoBubbleParams(FeaturePromoBubbleParams&&) =
-    default;
+FeaturePromoBubbleParams::FeaturePromoBubbleParams(
+    const FeaturePromoBubbleParams&) = default;
diff --git a/chrome/browser/ui/views/in_product_help/feature_promo_bubble_params.h b/chrome/browser/ui/views/in_product_help/feature_promo_bubble_params.h
index 7b07bb05..da0f591d 100644
--- a/chrome/browser/ui/views/in_product_help/feature_promo_bubble_params.h
+++ b/chrome/browser/ui/views/in_product_help/feature_promo_bubble_params.h
@@ -8,11 +8,10 @@
 #include <memory>
 
 #include "base/optional.h"
+#include "base/time/time.h"
 #include "ui/base/accelerators/accelerator.h"
 #include "ui/views/bubble/bubble_border.h"
 
-class FeaturePromoBubbleTimeout;
-
 // Describes the content and appearance of an in-product help bubble.
 // |body_string_specifier|, |anchor_view|, and |arrow| are required, all
 // other fields have good defaults. For consistency between different
@@ -21,7 +20,7 @@
   FeaturePromoBubbleParams();
   ~FeaturePromoBubbleParams();
 
-  FeaturePromoBubbleParams(FeaturePromoBubbleParams&&);
+  FeaturePromoBubbleParams(const FeaturePromoBubbleParams&);
 
   // Promo contents:
 
@@ -62,7 +61,8 @@
   ActivationAction activation_action = ActivationAction::DO_NOT_ACTIVATE;
 
   // Changes the bubble timeout. Intended for tests, avoid use.
-  std::unique_ptr<FeaturePromoBubbleTimeout> timeout;
+  base::Optional<base::TimeDelta> timeout_default;
+  base::Optional<base::TimeDelta> timeout_short;
 };
 
 #endif  // CHROME_BROWSER_UI_VIEWS_IN_PRODUCT_HELP_FEATURE_PROMO_BUBBLE_PARAMS_H_
diff --git a/chrome/browser/ui/views/in_product_help/feature_promo_bubble_view.cc b/chrome/browser/ui/views/in_product_help/feature_promo_bubble_view.cc
index 1ccd187..6faa49d 100644
--- a/chrome/browser/ui/views/in_product_help/feature_promo_bubble_view.cc
+++ b/chrome/browser/ui/views/in_product_help/feature_promo_bubble_view.cc
@@ -40,19 +40,17 @@
 
 }  // namespace
 
-FeaturePromoBubbleView::FeaturePromoBubbleView(FeaturePromoBubbleParams params)
+FeaturePromoBubbleView::FeaturePromoBubbleView(
+    const FeaturePromoBubbleParams& params)
     : BubbleDialogDelegateView(params.anchor_view, params.arrow),
       activation_action_(params.activation_action),
-      feature_promo_bubble_timeout_(std::move(params.timeout)),
       preferred_width_(params.preferred_width) {
   DCHECK(params.anchor_view);
   UseCompactMargins();
 
-  // If the timeout was not explicitly specified, use the default values.
-  if (!feature_promo_bubble_timeout_) {
-    feature_promo_bubble_timeout_ =
-        std::make_unique<FeaturePromoBubbleTimeout>(kDelayDefault, kDelayShort);
-  }
+  feature_promo_bubble_timeout_ = std::make_unique<FeaturePromoBubbleTimeout>(
+      params.timeout_default ? *params.timeout_default : kDelayDefault,
+      params.timeout_short ? *params.timeout_short : kDelayShort);
 
   const base::string16 body_text =
       l10n_util::GetStringUTF16(params.body_string_specifier);
@@ -140,8 +138,8 @@
 
 // static
 FeaturePromoBubbleView* FeaturePromoBubbleView::Create(
-    FeaturePromoBubbleParams params) {
-  return new FeaturePromoBubbleView(std::move(params));
+    const FeaturePromoBubbleParams& params) {
+  return new FeaturePromoBubbleView(params);
 }
 
 void FeaturePromoBubbleView::CloseBubble() {
diff --git a/chrome/browser/ui/views/in_product_help/feature_promo_bubble_view.h b/chrome/browser/ui/views/in_product_help/feature_promo_bubble_view.h
index 847c4ad..55450b4 100644
--- a/chrome/browser/ui/views/in_product_help/feature_promo_bubble_view.h
+++ b/chrome/browser/ui/views/in_product_help/feature_promo_bubble_view.h
@@ -32,13 +32,13 @@
 
   // Creates the promo. The returned pointer is only valid until the
   // widget is destroyed. It must not be manually deleted by the caller.
-  static FeaturePromoBubbleView* Create(FeaturePromoBubbleParams params);
+  static FeaturePromoBubbleView* Create(const FeaturePromoBubbleParams& params);
 
   // Closes the promo bubble.
   void CloseBubble();
 
  private:
-  explicit FeaturePromoBubbleView(FeaturePromoBubbleParams params);
+  explicit FeaturePromoBubbleView(const FeaturePromoBubbleParams& params);
 
   // BubbleDialogDelegateView:
   bool OnMousePressed(const ui::MouseEvent& event) override;
@@ -56,10 +56,10 @@
 
   base::string16 accessible_name_;
 
-  std::unique_ptr<FeaturePromoBubbleTimeout> feature_promo_bubble_timeout_;
-
   base::Optional<int> preferred_width_;
 
+  std::unique_ptr<FeaturePromoBubbleTimeout> feature_promo_bubble_timeout_;
+
   DISALLOW_COPY_AND_ASSIGN(FeaturePromoBubbleView);
 };
 
diff --git a/chrome/browser/ui/views/in_product_help/global_media_controls_promo_controller.cc b/chrome/browser/ui/views/in_product_help/global_media_controls_promo_controller.cc
index 0385337..ac3f7dd 100644
--- a/chrome/browser/ui/views/in_product_help/global_media_controls_promo_controller.cc
+++ b/chrome/browser/ui/views/in_product_help/global_media_controls_promo_controller.cc
@@ -54,9 +54,12 @@
   bubble_params.body_string_specifier = IDS_GLOBAL_MEDIA_CONTROLS_PROMO;
   bubble_params.anchor_view = owner_;
   bubble_params.arrow = views::BubbleBorder::Arrow::TOP_RIGHT;
-  if (!disable_bubble_timeout_for_test_) {
-    bubble_params.timeout = std::make_unique<FeaturePromoBubbleTimeout>(
-        kPromoHideDelay, base::TimeDelta());
+  if (disable_bubble_timeout_for_test_) {
+    bubble_params.timeout_default = base::TimeDelta();
+    bubble_params.timeout_short = base::TimeDelta();
+  } else {
+    bubble_params.timeout_default = kPromoHideDelay;
+    bubble_params.timeout_short = base::TimeDelta();
   }
 
   promo_bubble_ = FeaturePromoBubbleView::Create(std::move(bubble_params));
diff --git a/chrome/browser/ui/views/in_product_help/reopen_tab_promo_controller.cc b/chrome/browser/ui/views/in_product_help/reopen_tab_promo_controller.cc
index 5adfb64..e6dabcf 100644
--- a/chrome/browser/ui/views/in_product_help/reopen_tab_promo_controller.cc
+++ b/chrome/browser/ui/views/in_product_help/reopen_tab_promo_controller.cc
@@ -66,9 +66,10 @@
   bubble_params.feature_accelerator = accelerator;
   bubble_params.anchor_view = app_menu_button;
   bubble_params.arrow = views::BubbleBorder::Arrow::TOP_RIGHT;
-  if (disable_bubble_timeout_for_test_)
-    bubble_params.timeout = std::make_unique<FeaturePromoBubbleTimeout>(
-        base::TimeDelta(), base::TimeDelta());
+  if (disable_bubble_timeout_for_test_) {
+    bubble_params.timeout_default = base::TimeDelta();
+    bubble_params.timeout_short = base::TimeDelta();
+  }
 
   promo_bubble_ = FeaturePromoBubbleView::Create(std::move(bubble_params));
   promo_bubble_->set_close_on_deactivate(false);
diff --git a/chrome/browser/ui/views/location_bar/zoom_bubble_view.cc b/chrome/browser/ui/views/location_bar/zoom_bubble_view.cc
index d21cad1f..d47d6b1 100644
--- a/chrome/browser/ui/views/location_bar/zoom_bubble_view.cc
+++ b/chrome/browser/ui/views/location_bar/zoom_bubble_view.cc
@@ -137,8 +137,7 @@
 views::View* GetAnchorViewForBrowser(Browser* browser) {
   BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser);
   if (!IsBrowserFullscreen(browser) || browser_view->IsToolbarVisible() ||
-      browser_view->immersive_mode_controller()->IsRevealed() ||
-      browser->app_controller()) {
+      browser_view->immersive_mode_controller()->IsRevealed()) {
     return browser_view->toolbar_button_provider()->GetAnchorView(
         PageActionIconType::kZoom);
   }
diff --git a/chrome/browser/ui/views/omnibox/omnibox_result_view.cc b/chrome/browser/ui/views/omnibox/omnibox_result_view.cc
index d95371f..8a7f8f2 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_result_view.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_result_view.cc
@@ -45,6 +45,26 @@
 #include "base/win/atl.h"
 #endif
 
+namespace {
+
+class OmniboxRemoveSuggestionButton : public views::ImageButton {
+ public:
+  explicit OmniboxRemoveSuggestionButton(views::ButtonListener* listener)
+      : ImageButton(listener) {
+    views::ConfigureVectorImageButton(this);
+  }
+
+  void GetAccessibleNodeData(ui::AXNodeData* node_data) override {
+    node_data->SetName(
+        l10n_util::GetStringUTF16(IDS_ACC_REMOVE_SUGGESTION_BUTTON));
+    // Although this appears visually as a button, expose as a list box option
+    // so that it matches the other options within its list box container.
+    node_data->role = ax::mojom::Role::kListBoxOption;
+  }
+};
+
+}  // namespace
+
 ////////////////////////////////////////////////////////////////////////////////
 // OmniboxResultView, public:
 
@@ -72,7 +92,10 @@
   // TODO(tommycli): Make sure we announce the Shift+Delete capability in the
   // accessibility node data for removable suggestions.
   remove_suggestion_button_ =
-      AddChildView(views::CreateVectorImageButton(this));
+      AddChildView(std::make_unique<OmniboxRemoveSuggestionButton>(this));
+  // The remove suggestion button may receive mouse enter/exit events with very
+  // quick mouse movements. Monitor the button to update our state.
+  update_on_mouse_enter_exit_.emplace(this, remove_suggestion_button_);
   views::InstallCircleHighlightPathGenerator(remove_suggestion_button_);
   remove_suggestion_button_->SetTooltipText(
       l10n_util::GetStringUTF16(IDS_OMNIBOX_REMOVE_SUGGESTION));
@@ -273,6 +296,10 @@
   if (remove_suggestion_button_->GetVisible())
     return remove_suggestion_button_;
 
+  if (OmniboxFieldTrial::IsSuggestionButtonRowEnabled()) {
+    return button_row_->GetActiveButton();
+  }
+
   return nullptr;
 }
 
@@ -519,6 +546,26 @@
 ////////////////////////////////////////////////////////////////////////////////
 // OmniboxResultView, private:
 
+OmniboxResultView::UpdateOnMouseEnterExit::UpdateOnMouseEnterExit(
+    OmniboxResultView* omnibox_result_view,
+    View* target)
+    : omnibox_result_view_(omnibox_result_view), target_(target) {
+  target_->AddPreTargetHandler(this);
+}
+
+OmniboxResultView::UpdateOnMouseEnterExit::~UpdateOnMouseEnterExit() {
+  target_->RemovePreTargetHandler(this);
+}
+
+void OmniboxResultView::UpdateOnMouseEnterExit::OnMouseEvent(
+    ui::MouseEvent* event) {
+  auto event_type = event->type();
+  if (event_type != ui::ET_MOUSE_ENTERED && event_type != ui::ET_MOUSE_EXITED)
+    return;
+
+  omnibox_result_view_->UpdateHoverState();
+}
+
 gfx::Image OmniboxResultView::GetIcon() const {
   return popup_contents_view_->GetMatchIcon(
       match_, GetColor(OmniboxPart::RESULTS_ICON));
diff --git a/chrome/browser/ui/views/omnibox/omnibox_result_view.h b/chrome/browser/ui/views/omnibox/omnibox_result_view.h
index 7f3dad4..c4c6c6d 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_result_view.h
+++ b/chrome/browser/ui/views/omnibox/omnibox_result_view.h
@@ -11,10 +11,12 @@
 
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
+#include "base/optional.h"
 #include "components/omnibox/browser/autocomplete_match.h"
 #include "components/omnibox/browser/suggestion_answer.h"
 #include "third_party/skia/include/core/SkColor.h"
 #include "ui/base/window_open_disposition.h"
+#include "ui/events/event_handler.h"
 #include "ui/gfx/animation/slide_animation.h"
 #include "ui/gfx/font_list.h"
 #include "ui/gfx/geometry/rect.h"
@@ -105,6 +107,22 @@
   void OnThemeChanged() override;
 
  private:
+  // Calls UpdateHoverState() when a target receives a mouse enter/exit.
+  class UpdateOnMouseEnterExit : public ui::EventHandler {
+   public:
+    UpdateOnMouseEnterExit(OmniboxResultView* omnibox_result_view,
+                           View* target);
+    UpdateOnMouseEnterExit(const UpdateOnMouseEnterExit&) = delete;
+    UpdateOnMouseEnterExit& operator=(const UpdateOnMouseEnterExit&) = delete;
+    ~UpdateOnMouseEnterExit() override;
+
+   private:
+    void OnMouseEvent(ui::MouseEvent* event) override;
+
+    OmniboxResultView* const omnibox_result_view_;
+    View* const target_;
+  };
+
   // Returns the height of the text portion of the result view.
   int GetTextHeight() const;
 
@@ -159,6 +177,7 @@
   // The "X" button at the end of the match cell, used to remove suggestions.
   views::ImageButton* remove_suggestion_button_;
   views::FocusRing* remove_suggestion_focus_ring_ = nullptr;
+  base::Optional<UpdateOnMouseEnterExit> update_on_mouse_enter_exit_;
 
   base::WeakPtrFactory<OmniboxResultView> weak_factory_{this};
 
diff --git a/chrome/browser/ui/views/omnibox/omnibox_suggestion_button_row_view.cc b/chrome/browser/ui/views/omnibox/omnibox_suggestion_button_row_view.cc
index d3252e1..87da48e 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_suggestion_button_row_view.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_suggestion_button_row_view.cc
@@ -17,9 +17,11 @@
 #include "components/strings/grit/components_strings.h"
 #include "components/vector_icons/vector_icons.h"
 #include "third_party/metrics_proto/omnibox_event.pb.h"
+#include "ui/accessibility/ax_node_data.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/gfx/color_utils.h"
 #include "ui/gfx/paint_vector_icon.h"
+#include "ui/views/accessibility/view_accessibility.h"
 #include "ui/views/animation/ink_drop_highlight.h"
 #include "ui/views/background.h"
 #include "ui/views/controls/button/label_button_border.h"
@@ -33,8 +35,12 @@
   OmniboxSuggestionRowButton(views::ButtonListener* listener,
                              const base::string16& text,
                              const gfx::VectorIcon& icon,
-                             const views::FocusRing::ViewPredicate& predicate)
-      : MdTextButton(listener, text, CONTEXT_OMNIBOX_PRIMARY), icon_(icon) {
+                             OmniboxPopupContentsView* popup_contents_view,
+                             OmniboxPopupModel::Selection selection)
+      : MdTextButton(listener, text, CONTEXT_OMNIBOX_PRIMARY),
+        icon_(icon),
+        popup_contents_view_(popup_contents_view),
+        selection_(selection) {
     views::InstallPillHighlightPathGenerator(this);
     SetImageLabelSpacing(ChromeLayoutProvider::Get()->GetDistanceMetric(
         DISTANCE_RELATED_LABEL_HORIZONTAL_LIST));
@@ -44,7 +50,10 @@
                     GetLayoutConstant(LOCATION_BAR_ICON_SIZE));
 
     set_ink_drop_highlight_opacity(CalculateInkDropHighlightOpacity());
-    focus_ring()->SetHasFocusPredicate(predicate);
+    focus_ring()->SetHasFocusPredicate([=](View* view) {
+      return view->GetVisible() &&
+             popup_contents_view_->model()->selection() == selection_;
+    });
   }
 
   OmniboxSuggestionRowButton(const OmniboxSuggestionRowButton&) = delete;
@@ -59,6 +68,8 @@
 
   void OnStyleRefresh() { focus_ring()->SchedulePaint(); }
 
+  OmniboxPopupModel::Selection selection() { return selection_; }
+
   std::unique_ptr<views::InkDropHighlight> CreateInkDropHighlight()
       const override {
     // MdTextButton uses custom colors when creating ink drop highlight.
@@ -77,8 +88,17 @@
                  icon_, GetLayoutConstant(LOCATION_BAR_ICON_SIZE), color));
   }
 
+  void GetAccessibleNodeData(ui::AXNodeData* node_data) override {
+    node_data->SetName(GetAccessibleName());
+    // Although this appears visually as a button, expose as a list box option
+    // so that it matches the other options within its list box container.
+    node_data->role = ax::mojom::Role::kListBoxOption;
+  }
+
  private:
   const gfx::VectorIcon& icon_;
+  OmniboxPopupContentsView* popup_contents_view_;
+  OmniboxPopupModel::Selection selection_;
 
   float CalculateInkDropHighlightOpacity() {
     // Ink drop highlight opacity is result of mixing a layer with hovered
@@ -109,30 +129,27 @@
           gfx::Insets(0, ChromeLayoutProvider::Get()->GetDistanceMetric(
                              views::DISTANCE_RELATED_BUTTON_HORIZONTAL)));
 
-  const auto make_predicate = [=](auto state) {
-    return [=](View* view) {
-      return view->GetVisible() &&
-             model()->selection() ==
-                 OmniboxPopupModel::Selection(model_index_, state);
-    };
-  };
-
   // For all of these buttons, the visibility set from UpdateFromModel().
   // The Keyword and Pedal buttons also get their text from there, since the
   // text depends on the actual match. That shouldn't produce a flicker, because
   // it's called directly from OmniboxResultView::SetMatch(). If this flickers,
   // then so does everything else in the result view.
   keyword_button_ = AddChildView(std::make_unique<OmniboxSuggestionRowButton>(
-      this, base::string16(), vector_icons::kSearchIcon,
-      make_predicate(OmniboxPopupModel::FOCUSED_BUTTON_KEYWORD)));
+      this, base::string16(), vector_icons::kSearchIcon, popup_contents_view_,
+      OmniboxPopupModel::Selection(model_index_,
+                                   OmniboxPopupModel::FOCUSED_BUTTON_KEYWORD)));
   tab_switch_button_ =
       AddChildView(std::make_unique<OmniboxSuggestionRowButton>(
           this, l10n_util::GetStringUTF16(IDS_OMNIBOX_TAB_SUGGEST_HINT),
-          omnibox::kSwitchIcon,
-          make_predicate(OmniboxPopupModel::FOCUSED_BUTTON_TAB_SWITCH)));
+          omnibox::kSwitchIcon, popup_contents_view_,
+          OmniboxPopupModel::Selection(
+              model_index_, OmniboxPopupModel::FOCUSED_BUTTON_TAB_SWITCH)));
+  tab_switch_button_->SetAccessibleName(
+      l10n_util::GetStringUTF16(IDS_ACC_TAB_SWITCH_BUTTON));
   pedal_button_ = AddChildView(std::make_unique<OmniboxSuggestionRowButton>(
-      this, base::string16(), omnibox::kProductIcon,
-      make_predicate(OmniboxPopupModel::FOCUSED_BUTTON_PEDAL)));
+      this, base::string16(), omnibox::kProductIcon, popup_contents_view_,
+      OmniboxPopupModel::Selection(model_index_,
+                                   OmniboxPopupModel::FOCUSED_BUTTON_PEDAL)));
 }
 
 OmniboxSuggestionButtonRowView::~OmniboxSuggestionButtonRowView() = default;
@@ -150,14 +167,17 @@
     const auto names = SelectedKeywordView::GetKeywordLabelNames(
         keyword, edit_model->client()->GetTemplateURLService());
     keyword_button_->SetText(names.full_name);
+    keyword_button_->SetAccessibleName(
+        l10n_util::GetStringFUTF16(IDS_ACC_KEYWORD_BUTTON, names.short_name));
   }
 
   SetPillButtonVisibility(pedal_button_,
                           OmniboxPopupModel::FOCUSED_BUTTON_PEDAL);
   if (pedal_button_->GetVisible()) {
-    pedal_button_->SetText(match().pedal->GetLabelStrings().hint);
-    pedal_button_->SetTooltipText(
-        match().pedal->GetLabelStrings().suggestion_contents);
+    const auto pedal_strings = match().pedal->GetLabelStrings();
+    pedal_button_->SetText(pedal_strings.hint);
+    pedal_button_->SetTooltipText(pedal_strings.suggestion_contents);
+    pedal_button_->SetAccessibleName(pedal_strings.accessibility_hint);
   }
 
   SetPillButtonVisibility(tab_switch_button_,
@@ -210,6 +230,28 @@
   }
 }
 
+views::Button* OmniboxSuggestionButtonRowView::GetActiveButton() const {
+  std::vector<OmniboxSuggestionRowButton*> visible_buttons;
+  if (keyword_button_->GetVisible())
+    visible_buttons.push_back(keyword_button_);
+  if (tab_switch_button_->GetVisible())
+    visible_buttons.push_back(tab_switch_button_);
+  if (pedal_button_->GetVisible())
+    visible_buttons.push_back(pedal_button_);
+
+  if (visible_buttons.empty())
+    return nullptr;
+
+  // Find first visible button that matches model selection.
+  auto selected_button =
+      std::find_if(visible_buttons.begin(), visible_buttons.end(),
+                   [=](OmniboxSuggestionRowButton* button) {
+                     return model()->selection() == button->selection();
+                   });
+  return selected_button == visible_buttons.end() ? visible_buttons.front()
+                                                  : *selected_button;
+}
+
 const OmniboxPopupModel* OmniboxSuggestionButtonRowView::model() const {
   return popup_contents_view_->model();
 }
diff --git a/chrome/browser/ui/views/omnibox/omnibox_suggestion_button_row_view.h b/chrome/browser/ui/views/omnibox/omnibox_suggestion_button_row_view.h
index 0604377..534ae78 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_suggestion_button_row_view.h
+++ b/chrome/browser/ui/views/omnibox/omnibox_suggestion_button_row_view.h
@@ -32,6 +32,8 @@
   // views::ButtonListener:
   void ButtonPressed(views::Button* sender, const ui::Event& event) override;
 
+  views::Button* GetActiveButton() const;
+
  private:
   // Get the popup model from the view.
   const OmniboxPopupModel* model() const;
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
index bce4ed28..417e036f 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
@@ -61,6 +61,7 @@
 #include "extensions/common/constants.h"
 #include "net/base/escape.h"
 #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
+#include "net/base/url_util.h"
 #include "third_party/metrics_proto/omnibox_event.pb.h"
 #include "third_party/skia/include/core/SkColor.h"
 #include "ui/accessibility/ax_action_data.h"
@@ -2503,7 +2504,9 @@
   // chrome:, etc.
   return (url_scheme == base::UTF8ToUTF16(url::kHttpScheme) ||
           url_scheme == base::UTF8ToUTF16(url::kHttpsScheme)) &&
-         host.is_nonempty();
+         host.is_nonempty() &&
+         !net::HostStringIsLocalhost(
+             base::UTF16ToUTF8(text.substr(host.begin, host.len)));
 }
 
 void OmniboxViewViews::ResetToHideOnInteraction() {
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views.h b/chrome/browser/ui/views/omnibox/omnibox_view_views.h
index efb5e0e1..a8b1331382 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_views.h
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.h
@@ -495,7 +495,9 @@
   // simplified domain. This takes into account the omnibox's current state
   // (e.g. the URL shouldn't be elided if the user is currently editing it) as
   // well as properties of the current text (e.g. extension URLs or non-URLs
-  // shouldn't be elided because they may not have simplified domains).
+  // shouldn't be elided because they may not have simplified domains; localhost
+  // URLs shouldn't be elided because they are used in development workflows
+  // where the full URL is useful).
   //
   // This method does NOT take field trials into account or the "Always show
   // full URLs" option. Calling code should check field trial state and
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views_unittest.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views_unittest.cc
index 6b6b414..b97685d 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_views_unittest.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views_unittest.cc
@@ -2675,6 +2675,42 @@
       gfx::Range(0, kSimplifiedDomainDisplayUrl.size())));
 }
 
+// Tests that in the simplified domain field trials, non-http/https and
+// localhost URLs are not elided.
+TEST_P(OmniboxViewViewsRevealOnHoverTest, UrlsNotEligibleForEliding) {
+  const base::string16 kTestCases[] = {
+      // Various URLs that aren't eligible for simplified domain eliding.
+      base::ASCIIToUTF16("ftp://foo.bar.test/baz"),
+      base::ASCIIToUTF16("javascript:alert(1)"),
+      base::ASCIIToUTF16("data:text/html,hello"),
+      base::ASCIIToUTF16("http://localhost:4000/foo"),
+      // A smoke test to check that the test code results in
+      // the URL being elided properly when eligible.
+      kSimplifiedDomainDisplayUrl,
+  };
+
+  for (const auto& test_case : kTestCases) {
+    UpdateDisplayURL(test_case);
+    omnibox_view()->OnThemeChanged();
+
+    if (test_case == kSimplifiedDomainDisplayUrl) {
+      // This case is the smoke test to check that the test setup does properly
+      // elide URLs that are eligible for eliding.
+      ASSERT_NO_FATAL_FAILURE(ExpectElidedToSimplifiedDomain(
+          omnibox_view(), kSimplifiedDomainDisplayUrlScheme,
+          kSimplifiedDomainDisplayUrlSubdomain,
+          kSimplifiedDomainDisplayUrlHostnameAndScheme,
+          kSimplifiedDomainDisplayUrlPath, ShouldElideToRegistrableDomain()));
+    } else {
+      EXPECT_EQ(gfx::ELIDE_TAIL,
+                omnibox_view()->GetRenderText()->elide_behavior());
+      EXPECT_EQ(test_case, omnibox_view()->GetRenderText()->GetDisplayText());
+      EXPECT_EQ(0,
+                omnibox_view()->GetRenderText()->GetUpdatedDisplayOffset().x());
+    }
+  }
+}
+
 // Tests that in the hide-on-interaction field trial, when the path changes
 // while being elided, the animation is stopped.
 TEST_P(OmniboxViewViewsHideOnInteractionAndRevealOnHoverTest,
diff --git a/chrome/browser/ui/views/page_info/safety_tip_page_info_bubble_view_browsertest.cc b/chrome/browser/ui/views/page_info/safety_tip_page_info_bubble_view_browsertest.cc
index 6524d3a..c4ff0b9 100644
--- a/chrome/browser/ui/views/page_info/safety_tip_page_info_bubble_view_browsertest.cc
+++ b/chrome/browser/ui/views/page_info/safety_tip_page_info_bubble_view_browsertest.cc
@@ -34,6 +34,7 @@
 #include "chrome/common/chrome_features.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "components/lookalikes/core/features.h"
+#include "components/lookalikes/core/lookalike_url_util.h"
 #include "components/safe_browsing/core/db/v4_protocol_manager_util.h"
 #include "components/security_interstitials/core/common_string_util.h"
 #include "components/security_state/core/features.h"
@@ -552,6 +553,23 @@
   ASSERT_NO_FATAL_FAILURE(CheckPageInfoDoesNotShowSafetyTipInfo(browser()));
 }
 
+// Ensure sites allowed by enterprise policy don't get blocked.
+IN_PROC_BROWSER_TEST_P(SafetyTipPageInfoBubbleViewBrowserTest,
+                       NoShowOnEnterpriseAllowlist) {
+  const std::vector<const char*> kUrls = {"site1.com", "bla.site2.com",
+                                          "bla.site3.com"};
+
+  SetSafetyTipBadRepPatterns({"site1.com/", "site2.com/"});
+  SetEnterpriseAllowlistForTesting(browser()->profile()->GetPrefs(),
+                                   {"site1.com", "bla.site2.com", "site3.com"});
+
+  for (auto* const url : kUrls) {
+    NavigateToURL(browser(), GetURL(url), WindowOpenDisposition::CURRENT_TAB);
+    EXPECT_FALSE(IsUIShowing());
+    ASSERT_NO_FATAL_FAILURE(CheckPageInfoDoesNotShowSafetyTipInfo(browser()));
+  }
+}
+
 // After the user clicks 'leave site', the user should end up on a safe domain.
 IN_PROC_BROWSER_TEST_P(SafetyTipPageInfoBubbleViewBrowserTest,
                        LeaveSiteLeavesSite) {
diff --git a/chrome/browser/ui/views/passwords/password_save_update_with_account_store_view.cc b/chrome/browser/ui/views/passwords/password_save_update_with_account_store_view.cc
index e548ee4..42044411 100644
--- a/chrome/browser/ui/views/passwords/password_save_update_with_account_store_view.cc
+++ b/chrome/browser/ui/views/passwords/password_save_update_with_account_store_view.cc
@@ -312,6 +312,18 @@
   return image_view;
 }
 
+base::TimeDelta GetRegularIPHTimeout() {
+  return base::TimeDelta::FromSeconds(base::GetFieldTrialParamByFeatureAsInt(
+      feature_engagement::kIPHPasswordsAccountStorageFeature,
+      "account_storage_iph_timeout_seconds_regular", 30));
+}
+
+base::TimeDelta GetShortIPHTimeout() {
+  return base::TimeDelta::FromSeconds(base::GetFieldTrialParamByFeatureAsInt(
+      feature_engagement::kIPHPasswordsAccountStorageFeature,
+      "account_storage_iph_timeout_seconds_short", 10));
+}
+
 }  // namespace
 
 // TODO(crbug.com/1077706): come up with a more general solution for this.
@@ -733,6 +745,8 @@
   bubble_params.preferred_width = kAccountStoragePromoWidth;
   bubble_params.activation_action =
       FeaturePromoBubbleParams::ActivationAction::ACTIVATE;
+  bubble_params.timeout_default = GetRegularIPHTimeout();
+  bubble_params.timeout_short = GetShortIPHTimeout();
 
   account_storage_promo_ =
       FeaturePromoBubbleView::Create(std::move(bubble_params));
diff --git a/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view.cc b/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view.cc
index f2e596c3..d4e2d55 100644
--- a/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view.cc
+++ b/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view.cc
@@ -7,11 +7,16 @@
 #include "chrome/app/vector_icons/vector_icons.h"
 #include "chrome/browser/ui/views/accessibility/non_accessible_image_view.h"
 #include "chrome/browser/ui/views/chrome_layout_provider.h"
+#include "chrome/browser/ui/views/chrome_typography.h"
+#include "chrome/browser/ui/views/payments/payment_request_views_util.h"
 #include "components/constrained_window/constrained_window_views.h"
 #include "components/payments/content/secure_payment_confirmation_model.h"
 #include "ui/gfx/paint_vector_icon.h"
+#include "ui/views/controls/image_view.h"
+#include "ui/views/controls/label.h"
 #include "ui/views/controls/progress_bar.h"
 #include "ui/views/layout/box_layout.h"
+#include "ui/views/layout/grid_layout.h"
 
 namespace payments {
 namespace {
@@ -22,6 +27,25 @@
 // Height of the progress bar at the top of the dialog.
 constexpr int kProgressBarHeight = 4;
 
+// Size of the instrument icon shown in the payment method row.
+constexpr int kInstrumentIconWidth = 32;
+constexpr int kInstrumentIconHeight = 20;
+
+// Line height of the title text.
+constexpr int kTitleLineHeight = 24;
+
+// Line height of the row text.
+constexpr int kRowViewLineHeight = 20;
+
+// Insets of the body content.
+constexpr int kBodyInsets = 16;
+
+// Extra inset between the body content and the dialog buttons.
+constexpr int kBodyExtraInset = 24;
+
+// Height of each row.
+constexpr int kRowHeight = 48;
+
 }  // namespace
 
 SecurePaymentConfirmationDialogView::SecurePaymentConfirmationDialogView(
@@ -97,6 +121,38 @@
   SetButtonEnabled(ui::DIALOG_BUTTON_OK, model_->verify_button_enabled());
   SetButtonLabel(ui::DIALOG_BUTTON_CANCEL, model_->cancel_button_label());
   SetButtonEnabled(ui::DIALOG_BUTTON_CANCEL, model_->cancel_button_enabled());
+
+  UpdateLabelView(DialogViewID::TITLE, model_->title());
+  UpdateLabelView(DialogViewID::MERCHANT_LABEL, model_->merchant_label());
+  UpdateLabelView(DialogViewID::MERCHANT_VALUE, model_->merchant_value());
+  UpdateLabelView(DialogViewID::INSTRUMENT_LABEL, model_->instrument_label());
+  UpdateLabelView(DialogViewID::INSTRUMENT_VALUE, model_->instrument_value());
+
+  // Update the instrument icon only if it's changed
+  if (model_->instrument_icon() &&
+      (model_->instrument_icon() != instrument_icon_ ||
+       model_->instrument_icon()->getGenerationID() !=
+           instrument_icon_generation_id_)) {
+    instrument_icon_generation_id_ =
+        model_->instrument_icon()->getGenerationID();
+    gfx::ImageSkia image =
+        gfx::ImageSkia::CreateFrom1xBitmap(*model_->instrument_icon())
+            .DeepCopy();
+
+    static_cast<views::ImageView*>(
+        GetViewByID(static_cast<int>(DialogViewID::INSTRUMENT_ICON)))
+        ->SetImage(image);
+  }
+  instrument_icon_ = model_->instrument_icon();
+
+  UpdateLabelView(DialogViewID::TOTAL_LABEL, model_->total_label());
+  UpdateLabelView(DialogViewID::TOTAL_VALUE, model_->total_value());
+}
+
+void SecurePaymentConfirmationDialogView::UpdateLabelView(
+    DialogViewID id,
+    const base::string16& text) {
+  static_cast<views::Label*>(GetViewByID(static_cast<int>(id)))->SetText(text);
 }
 
 void SecurePaymentConfirmationDialogView::HideDialog() {
@@ -129,12 +185,21 @@
   SetLayoutManager(std::make_unique<views::BoxLayout>(
       views::BoxLayout::Orientation::kVertical, gfx::Insets(), 0));
 
-  std::unique_ptr<views::View> header_icon = CreateHeaderView();
-  AddChildView(header_icon.release());
+  AddChildView(CreateHeaderView());
+
+  AddChildView(CreateBodyView());
 
   InvalidateLayout();
 }
 
+// Creates the header view, which is the fingerprint icon and a progress bar.
+// The fingerprint icon covers the whole header view and the progress bar is
+// overlayed on the top of the header.
+// +------------------------------------------+
+// |===============progress bar===============|
+// |                                          |
+// |             fingerprint icon             |
+// +------------------------------------------+
 std::unique_ptr<views::View>
 SecurePaymentConfirmationDialogView::CreateHeaderView() {
   const int header_width = ChromeLayoutProvider::Get()->GetDistanceMetric(
@@ -153,7 +218,7 @@
   image_view->SetImage(gfx::CreateVectorIcon(icon_description));
   image_view->SetSize(header_size);
   image_view->SetVerticalAlignment(views::ImageView::Alignment::kLeading);
-  image_view->SetID(DialogViewID::HEADER_ICON);
+  image_view->SetID(static_cast<int>(DialogViewID::HEADER_ICON));
   header_view->AddChildView(image_view.release());
 
   // Progress bar
@@ -163,7 +228,7 @@
   progress_bar->SetBackgroundColor(SK_ColorTRANSPARENT);
   progress_bar->SetPreferredSize(gfx::Size(header_width, kProgressBarHeight));
   progress_bar->SizeToPreferredSize();
-  progress_bar->SetID(DialogViewID::PROGRESS_BAR);
+  progress_bar->SetID(static_cast<int>(DialogViewID::PROGRESS_BAR));
   progress_bar->SetVisible(model_->progress_bar_visible());
   progress_bar_ = progress_bar.get();
   header_view->AddChildView(progress_bar.release());
@@ -171,4 +236,160 @@
   return header_view;
 }
 
+// Creates the body.
+// +------------------------------------------+
+// | Title                                    |
+// |                                          |
+// | merchant label      value                |
+// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
+// | instrument label    value           icon |
+// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
+// | total label         value                |
+// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
+std::unique_ptr<views::View>
+SecurePaymentConfirmationDialogView::CreateBodyView() {
+  auto body = std::make_unique<views::View>();
+  body->SetBorder(views::CreateEmptyBorder(
+      gfx::Insets(kBodyInsets, kBodyInsets, kBodyExtraInset, kBodyInsets)));
+
+  views::GridLayout* layout =
+      body->SetLayoutManager(std::make_unique<views::GridLayout>());
+  views::ColumnSet* columns = layout->AddColumnSet(0);
+  columns->AddColumn(views::GridLayout::FILL, views::GridLayout::CENTER, 1.0,
+                     views::GridLayout::ColumnSize::kUsePreferred, 0, 0);
+
+  layout->StartRow(views::GridLayout::kFixedSize, 0);
+  std::unique_ptr<views::Label> title_text = std::make_unique<views::Label>(
+      model_->title(), views::style::CONTEXT_DIALOG_TITLE,
+      views::style::STYLE_PRIMARY);
+  title_text->SetHorizontalAlignment(gfx::ALIGN_TO_HEAD);
+  title_text->SetLineHeight(kTitleLineHeight);
+  title_text->SetBorder(views::CreateEmptyBorder(0, 0, kBodyInsets, 0));
+  title_text->SetID(static_cast<int>(DialogViewID::TITLE));
+  layout->AddView(std::move(title_text));
+
+  layout->StartRow(views::GridLayout::kFixedSize, 0);
+  layout->AddView(CreateRows());
+
+  return body;
+}
+
+// Creates the set of merchant, instrument, and total rows.
+// +------------------------------------------+
+// | merchant label     value                 |
+// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
+// | instrument label   value            icon |
+// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
+// | total label        value                 |
+// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
+std::unique_ptr<views::View> SecurePaymentConfirmationDialogView::CreateRows() {
+  auto rows = std::make_unique<views::View>();
+
+  views::GridLayout* layout =
+      rows->SetLayoutManager(std::make_unique<views::GridLayout>());
+  views::ColumnSet* columns = layout->AddColumnSet(0);
+  columns->AddColumn(views::GridLayout::FILL, views::GridLayout::CENTER, 1.0,
+                     views::GridLayout::ColumnSize::kUsePreferred, 0, 0);
+
+  layout->StartRow(views::GridLayout::kFixedSize, 0);
+  layout->AddView(
+      CreateRowView(model_->merchant_label(), DialogViewID::MERCHANT_LABEL,
+                    model_->merchant_value(), DialogViewID::MERCHANT_VALUE));
+
+  layout->StartRow(views::GridLayout::kFixedSize, 0);
+  layout->AddView(
+      CreateRowView(model_->instrument_label(), DialogViewID::INSTRUMENT_LABEL,
+                    model_->instrument_value(), DialogViewID::INSTRUMENT_VALUE,
+                    model_->instrument_icon(), DialogViewID::INSTRUMENT_ICON));
+
+  layout->StartRow(views::GridLayout::kFixedSize, 0);
+  layout->AddView(
+      CreateRowView(model_->total_label(), DialogViewID::TOTAL_LABEL,
+                    model_->total_value(), DialogViewID::TOTAL_VALUE));
+
+  return rows;
+}
+
+// Creates a row of data with |label|, |value|, and optionally |icon|.
+// +------------------------------------------+
+// | label      value                    icon |
+// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ <-- border
+std::unique_ptr<views::View> SecurePaymentConfirmationDialogView::CreateRowView(
+    const base::string16& label,
+    DialogViewID label_id,
+    const base::string16& value,
+    DialogViewID value_id,
+    const SkBitmap* icon,
+    DialogViewID icon_id) {
+  std::unique_ptr<views::View> row = std::make_unique<views::View>();
+
+  row->SetBorder(views::CreateSolidSidedBorder(
+      0, 0, 1, 0,
+      GetNativeTheme()->GetSystemColor(
+          ui::NativeTheme::kColorId_SeparatorColor)));
+
+  views::GridLayout* layout =
+      row->SetLayoutManager(std::make_unique<views::GridLayout>());
+
+  views::ColumnSet* columns = layout->AddColumnSet(0);
+  // Label column
+  constexpr int kLabelColumnWidth = 80;
+  columns->AddColumn(views::GridLayout::LEADING, views::GridLayout::CENTER,
+                     views::GridLayout::kFixedSize,
+                     views::GridLayout::ColumnSize::kFixed, kLabelColumnWidth,
+                     0);
+
+  constexpr int kPaddingAfterLabel = 24;
+  columns->AddPaddingColumn(views::GridLayout::kFixedSize, kPaddingAfterLabel);
+
+  // Value column
+  columns->AddColumn(views::GridLayout::FILL, views::GridLayout::CENTER, 1.0,
+                     views::GridLayout::ColumnSize::kUsePreferred, 0, 0);
+  // Icon column
+  if (icon) {
+    columns->AddColumn(views::GridLayout::TRAILING, views::GridLayout::CENTER,
+                       views::GridLayout::kFixedSize,
+                       views::GridLayout::ColumnSize::kFixed,
+                       kInstrumentIconWidth, kInstrumentIconWidth);
+  }
+
+  layout->StartRow(views::GridLayout::kFixedSize, 0, kRowHeight);
+
+  std::unique_ptr<views::Label> label_text = std::make_unique<views::Label>(
+      label, CONTEXT_BODY_TEXT_LARGE, views::style::STYLE_SECONDARY);
+  label_text->SetHorizontalAlignment(gfx::ALIGN_TO_HEAD);
+  label_text->SetLineHeight(kRowViewLineHeight);
+  label_text->SetID(static_cast<int>(label_id));
+  layout->AddView(std::move(label_text));
+
+  std::unique_ptr<views::Label> value_text = std::make_unique<views::Label>(
+      value, CONTEXT_BODY_TEXT_LARGE, views::style::STYLE_PRIMARY);
+  value_text->SetHorizontalAlignment(gfx::ALIGN_TO_HEAD);
+  value_text->SetLineHeight(kRowViewLineHeight);
+  value_text->SetID(static_cast<int>(value_id));
+  layout->AddView(std::move(value_text));
+
+  if (icon) {
+    std::unique_ptr<views::ImageView> icon_view =
+        std::make_unique<views::ImageView>();
+
+    instrument_icon_ = model_->instrument_icon();
+    instrument_icon_generation_id_ =
+        model_->instrument_icon()->getGenerationID();
+    gfx::ImageSkia image =
+        gfx::ImageSkia::CreateFrom1xBitmap(*model_->instrument_icon())
+            .DeepCopy();
+
+    icon_view->SetImage(image);
+    icon_view->SetImageSize(
+        gfx::Size(kInstrumentIconWidth, kInstrumentIconHeight));
+    icon_view->SetPaintToLayer();
+    icon_view->layer()->SetFillsBoundsOpaquely(false);
+    icon_view->SetID(static_cast<int>(icon_id));
+    layout->AddView(std::move(icon_view));
+  }
+
+  return row;
+}
+
 }  // namespace payments
diff --git a/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view.h b/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view.h
index 2e71fda..99a82cf 100644
--- a/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view.h
+++ b/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view.h
@@ -36,7 +36,19 @@
 
   // IDs that identify a view within the secure payment confirmation dialog.
   // Used to validate views in browsertests.
-  enum DialogViewID : int { VIEW_ID_NONE = 0, HEADER_ICON, PROGRESS_BAR };
+  enum class DialogViewID : int {
+    VIEW_ID_NONE = 0,
+    HEADER_ICON,
+    PROGRESS_BAR,
+    TITLE,
+    MERCHANT_LABEL,
+    MERCHANT_VALUE,
+    INSTRUMENT_LABEL,
+    INSTRUMENT_VALUE,
+    INSTRUMENT_ICON,
+    TOTAL_LABEL,
+    TOTAL_VALUE
+  };
 
   explicit SecurePaymentConfirmationDialogView(
       ObserverForTest* observer_for_test);
@@ -68,6 +80,17 @@
   void InitChildViews();
 
   std::unique_ptr<views::View> CreateHeaderView();
+  std::unique_ptr<views::View> CreateBodyView();
+  std::unique_ptr<views::View> CreateRows();
+  std::unique_ptr<views::View> CreateRowView(
+      const base::string16& label,
+      DialogViewID label_id,
+      const base::string16& value,
+      DialogViewID value_id,
+      const SkBitmap* icon = nullptr,
+      DialogViewID icon_id = DialogViewID::VIEW_ID_NONE);
+
+  void UpdateLabelView(DialogViewID id, const base::string16& text);
 
   // May be null.
   ObserverForTest* observer_for_test_ = nullptr;
@@ -77,6 +100,13 @@
 
   views::ProgressBar* progress_bar_ = nullptr;
 
+  // Cache the instrument icon pointer so we don't needlessly update it in
+  // OnModelUpdated().
+  const SkBitmap* instrument_icon_ = nullptr;
+  // Cache the instrument icon generation ID to check if the instrument_icon_
+  // has changed pixels.
+  uint32_t instrument_icon_generation_id_ = 0;
+
   base::WeakPtrFactory<SecurePaymentConfirmationDialogView> weak_ptr_factory_{
       this};
 };
diff --git a/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view_browsertest.cc b/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view_browsertest.cc
index 2c0180a9..1f372ba3 100644
--- a/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view_browsertest.cc
+++ b/chrome/browser/ui/views/payments/secure_payment_confirmation_dialog_view_browsertest.cc
@@ -13,8 +13,23 @@
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/events/base_event_utils.h"
+#include "ui/views/controls/image_view.h"
+#include "ui/views/controls/label.h"
 
 namespace payments {
+namespace {
+
+constexpr int kInstrumentIconWidth = 32;
+constexpr int kInstrumentIconHeight = 20;
+
+const SkBitmap CreateInstrumentIcon(SkColor color) {
+  SkBitmap bitmap;
+  bitmap.allocN32Pixels(kInstrumentIconWidth, kInstrumentIconHeight);
+  bitmap.eraseColor(color);
+  return bitmap;
+}
+
+}  // namespace
 
 class SecurePaymentConfirmationDialogViewTest
     : public InProcessBrowserTest,
@@ -30,6 +45,24 @@
   }
 
   void CreateModel() {
+    model_.set_title(l10n_util::GetStringUTF16(
+        IDS_SECURE_PAYMENT_CONFIRMATION_VERIFY_PURCHASE));
+
+    model_.set_merchant_label(
+        l10n_util::GetStringUTF16(IDS_SECURE_PAYMENT_CONFIRMATION_STORE_LABEL));
+    model_.set_merchant_value(base::UTF8ToUTF16("merchant.com"));
+
+    model_.set_instrument_label(l10n_util::GetStringUTF16(
+        IDS_PAYMENT_REQUEST_PAYMENT_METHOD_SECTION_NAME));
+    model_.set_instrument_value(base::UTF8ToUTF16("Mastercard ****4444"));
+    instrument_icon_ =
+        std::make_unique<SkBitmap>(CreateInstrumentIcon(SK_ColorBLUE));
+    model_.set_instrument_icon(instrument_icon_.get());
+
+    model_.set_total_label(
+        l10n_util::GetStringUTF16(IDS_SECURE_PAYMENT_CONFIRMATION_TOTAL_LABEL));
+    model_.set_total_value(base::UTF8ToUTF16("$20.00 USD"));
+
     model_.set_verify_button_label(l10n_util::GetStringUTF16(
         IDS_SECURE_PAYMENT_CONFIRMATION_VERIFY_BUTTON_LABEL));
     model_.set_cancel_button_label(l10n_util::GetStringUTF16(IDS_CANCEL));
@@ -54,6 +87,15 @@
     EXPECT_TRUE(web_contents_modal_dialog_manager->IsDialogActive());
   }
 
+  void ExpectLabelText(
+      const base::string16& text,
+      SecurePaymentConfirmationDialogView::DialogViewID view_id) {
+    EXPECT_EQ(text, static_cast<views::Label*>(
+                        test_delegate_->dialog_view()->GetViewByID(
+                            static_cast<int>(view_id)))
+                        ->GetText());
+  }
+
   void ExpectViewMatchesModel() {
     ASSERT_NE(test_delegate_->dialog_view(), nullptr);
 
@@ -65,15 +107,50 @@
               test_delegate_->dialog_view()->GetDialogButtonLabel(
                   ui::DIALOG_BUTTON_CANCEL));
 
-    EXPECT_TRUE(test_delegate_->dialog_view()->GetViewByID(
-        SecurePaymentConfirmationDialogView::DialogViewID::HEADER_ICON));
+    EXPECT_TRUE(test_delegate_->dialog_view()->GetViewByID(static_cast<int>(
+        SecurePaymentConfirmationDialogView::DialogViewID::HEADER_ICON)));
 
     EXPECT_EQ(
         model_.progress_bar_visible(),
         test_delegate_->dialog_view()
-            ->GetViewByID(
-                SecurePaymentConfirmationDialogView::DialogViewID::PROGRESS_BAR)
+            ->GetViewByID(static_cast<int>(SecurePaymentConfirmationDialogView::
+                                               DialogViewID::PROGRESS_BAR))
             ->GetVisible());
+
+    ExpectLabelText(model_.title(),
+                    SecurePaymentConfirmationDialogView::DialogViewID::TITLE);
+
+    ExpectLabelText(
+        model_.merchant_label(),
+        SecurePaymentConfirmationDialogView::DialogViewID::MERCHANT_LABEL);
+    ExpectLabelText(
+        model_.merchant_value(),
+        SecurePaymentConfirmationDialogView::DialogViewID::MERCHANT_VALUE);
+
+    ExpectLabelText(
+        model_.instrument_label(),
+        SecurePaymentConfirmationDialogView::DialogViewID::INSTRUMENT_LABEL);
+    ExpectLabelText(
+        model_.instrument_value(),
+        SecurePaymentConfirmationDialogView::DialogViewID::INSTRUMENT_VALUE);
+
+    ASSERT_EQ(instrument_icon_.get(), model_.instrument_icon());
+    EXPECT_TRUE(cc::MatchesBitmap(
+        *model_.instrument_icon(),
+        *(static_cast<views::ImageView*>(
+              test_delegate_->dialog_view()->GetViewByID(
+                  static_cast<int>(SecurePaymentConfirmationDialogView::
+                                       DialogViewID::INSTRUMENT_ICON)))
+              ->GetImage()
+              .bitmap()),
+        cc::ExactPixelComparator(/*discard_alpha=*/false)));
+
+    ExpectLabelText(
+        model_.total_label(),
+        SecurePaymentConfirmationDialogView::DialogViewID::TOTAL_LABEL);
+    ExpectLabelText(
+        model_.total_value(),
+        SecurePaymentConfirmationDialogView::DialogViewID::TOTAL_VALUE);
   }
 
   void ClickAcceptAndWait() {
@@ -133,6 +210,8 @@
   std::unique_ptr<TestSecurePaymentConfirmationPaymentRequestDelegate>
       test_delegate_;
 
+  std::unique_ptr<SkBitmap> instrument_icon_;
+
   bool confirm_pressed_ = false;
   bool cancel_pressed_ = false;
 };
@@ -200,4 +279,54 @@
   CloseDialogAndWait();
 }
 
+IN_PROC_BROWSER_TEST_F(SecurePaymentConfirmationDialogViewTest,
+                       OnModelUpdated) {
+  CreateModel();
+
+  InvokeSecurePaymentConfirmationUI();
+
+  ExpectViewMatchesModel();
+
+  model_.set_title(base::UTF8ToUTF16("Test Title"));
+  model_.set_merchant_label(base::UTF8ToUTF16("Test merchant"));
+  model_.set_merchant_value(base::UTF8ToUTF16("Test merchant value"));
+  model_.set_instrument_label(base::UTF8ToUTF16("Test instrument"));
+  model_.set_instrument_value(base::UTF8ToUTF16("Test instrument value"));
+  model_.set_total_label(base::UTF8ToUTF16("Test total"));
+  model_.set_total_value(base::UTF8ToUTF16("Test total value"));
+  model_.set_verify_button_label(base::UTF8ToUTF16("Test verify"));
+  model_.set_cancel_button_label(base::UTF8ToUTF16("Test cancel"));
+
+  test_delegate_->dialog_view()->OnModelUpdated();
+
+  ExpectViewMatchesModel();
+
+  CloseDialogAndWait();
+}
+
+// Test the two reasons an instrument icon is updated: The model's bitmap
+// pointer changed, or the bitmap itself changed.
+IN_PROC_BROWSER_TEST_F(SecurePaymentConfirmationDialogViewTest,
+                       InstrumentIconUpdated) {
+  CreateModel();
+
+  InvokeSecurePaymentConfirmationUI();
+
+  ExpectViewMatchesModel();
+
+  // Change the bitmap pointer
+  instrument_icon_ =
+      std::make_unique<SkBitmap>(CreateInstrumentIcon(SK_ColorGREEN));
+  model_.set_instrument_icon(instrument_icon_.get());
+  test_delegate_->dialog_view()->OnModelUpdated();
+  ExpectViewMatchesModel();
+
+  // Change the bitmap itself without touching the model's pointer
+  *instrument_icon_ = CreateInstrumentIcon(SK_ColorRED);
+  test_delegate_->dialog_view()->OnModelUpdated();
+  ExpectViewMatchesModel();
+
+  CloseDialogAndWait();
+}
+
 }  // namespace payments
diff --git a/chrome/browser/ui/views/profiles/user_manager_view.cc b/chrome/browser/ui/views/profiles/user_manager_view.cc
index a805270..ad94c94e 100644
--- a/chrome/browser/ui/views/profiles/user_manager_view.cc
+++ b/chrome/browser/ui/views/profiles/user_manager_view.cc
@@ -19,6 +19,7 @@
 #include "chrome/browser/profiles/profiles_state.h"
 #include "chrome/browser/signin/signin_promo.h"
 #include "chrome/browser/signin/signin_util.h"
+#include "chrome/browser/task_manager/web_contents_tags.h"
 #include "chrome/browser/ui/autofill/chrome_autofill_client.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_dialogs.h"
@@ -388,6 +389,11 @@
   AddAccelerator(ui::Accelerator(ui::VKEY_W, ui::EF_CONTROL_DOWN));
   AddAccelerator(ui::Accelerator(ui::VKEY_F4, ui::EF_ALT_DOWN));
 
+  // Make the user manager WebContents show up in the task manager.
+  content::WebContents* web_contents = web_view_->GetWebContents();
+  task_manager::WebContentsTags::CreateForToolContents(
+      web_contents, IDS_PROFILES_MANAGE_USERS_BUTTON);
+
   // If the user manager is being displayed from an existing profile, use
   // its last active browser to determine where the user manager should be
   // placed.  This is used so that we can center the dialog on the correct
@@ -435,8 +441,7 @@
 #endif
 
   web_view_->LoadInitialURL(url);
-  content::RenderWidgetHostView* rwhv =
-      web_view_->GetWebContents()->GetRenderWidgetHostView();
+  content::RenderWidgetHostView* rwhv = web_contents->GetRenderWidgetHostView();
   if (rwhv)
     rwhv->SetBackgroundColor(profiles::kUserManagerBackgroundColor);
 
diff --git a/chrome/browser/ui/views/read_later/read_later_bubble_view.cc b/chrome/browser/ui/views/read_later/read_later_bubble_view.cc
index 513ce497..2ae7f18 100644
--- a/chrome/browser/ui/views/read_later/read_later_bubble_view.cc
+++ b/chrome/browser/ui/views/read_later/read_later_bubble_view.cc
@@ -54,6 +54,7 @@
 
   // TODO(corising): Remove this and add function to calculate preferred size.
   web_view_->SetPreferredSize(gfx::Size(300, 500));
+  web_view_->LoadInitialURL(GURL(chrome::kChromeUIReadLaterURL));
 }
 
 ReadLaterBubbleView::~ReadLaterBubbleView() = default;
diff --git a/chrome/browser/ui/views/tab_search/tab_search_bubble_view.cc b/chrome/browser/ui/views/tab_search/tab_search_bubble_view.cc
index 75c19b1..c254ccc 100644
--- a/chrome/browser/ui/views/tab_search/tab_search_bubble_view.cc
+++ b/chrome/browser/ui/views/tab_search/tab_search_bubble_view.cc
@@ -12,12 +12,6 @@
 #include "ui/views/layout/fill_layout.h"
 #include "ui/views/widget/widget.h"
 
-#if defined(USE_AURA)
-#include "ui/aura/window.h"
-#include "ui/wm/public/activation_change_observer.h"
-#include "ui/wm/public/activation_client.h"
-#endif
-
 namespace {
 
 // The min / max size available to the TabSearchBubbleView.
@@ -88,48 +82,6 @@
 
 }  // namespace
 
-#if defined(USE_AURA)
-class TabSearchBubbleView::TabSearchWindowObserverAura
-    : public wm::ActivationChangeObserver {
- public:
-  explicit TabSearchWindowObserverAura(TabSearchBubbleView* bubble)
-      : bubble_(bubble) {
-    gfx::NativeView native_view = bubble_->GetWidget()->GetNativeView();
-    // This is removed in the destructor called by
-    // TabSearchBubbleView::OnWidgetDestroying(), which is guaranteed to be
-    // called before the Widget goes away.  It's not safe to use a
-    // ScopedObserver for this, since the activation client may be deleted
-    // without a call back to this class.
-    wm::GetActivationClient(native_view->GetRootWindow())->AddObserver(this);
-  }
-
-  ~TabSearchWindowObserverAura() override {
-    auto* activation_client = wm::GetActivationClient(
-        bubble_->GetWidget()->GetNativeWindow()->GetRootWindow());
-    DCHECK(activation_client);
-    activation_client->RemoveObserver(this);
-  }
-
-  // wm::ActivationChangeObserver:
-  void OnWindowActivated(wm::ActivationChangeObserver::ActivationReason reason,
-                         aura::Window* gained_active,
-                         aura::Window* lost_active) override {
-    // Close on anchor window activation (i.e. user clicked the browser window).
-    // DesktopNativeWidgetAura does not trigger the expected browser widget
-    // [de]activation events when activating widgets in its own root window.
-    // This additional check handles those cases. See https://crbug.com/320889 .
-    views::Widget* anchor_widget = bubble_->anchor_widget();
-    if (anchor_widget && gained_active == anchor_widget->GetNativeWindow()) {
-      bubble_->GetWidget()->CloseWithReason(
-          views::Widget::ClosedReason::kLostFocus);
-    }
-  }
-
- private:
-  TabSearchBubbleView* bubble_;
-};
-#endif
-
 void TabSearchBubbleView::CreateTabSearchBubble(
     content::BrowserContext* browser_context,
     views::View* anchor_view) {
@@ -144,11 +96,6 @@
     : BubbleDialogDelegateView(anchor_view, views::BubbleBorder::TOP_RIGHT),
       web_view_(AddChildView(
           std::make_unique<TabSearchWebView>(browser_context, this))) {
-  DCHECK(anchor_view);
-  observed_anchor_widget_.Add(anchor_view->GetWidget());
-
-  set_close_on_deactivate(false);
-
   SetButtons(ui::DIALOG_BUTTON_NONE);
   set_margins(gfx::Insets());
 
@@ -167,31 +114,6 @@
   return preferred_size;
 }
 
-void TabSearchBubbleView::AddedToWidget() {
-  BubbleDialogDelegateView::AddedToWidget();
-  observed_bubble_widget_.Add(GetWidget());
-#if defined(USE_AURA)
-  // |window_observer_| deals with activation issues relevant to Aura platforms.
-  // This special case handling is not needed on Mac.
-  window_observer_ = std::make_unique<TabSearchWindowObserverAura>(this);
-#endif
-}
-
-void TabSearchBubbleView::OnWidgetActivationChanged(views::Widget* widget,
-                                                    bool active) {
-  // The widget is shown asynchronously and may take a long time to appear, so
-  // only close if it's actually been shown.
-  if (GetWidget()->IsVisible() && widget == anchor_widget() && active)
-    GetWidget()->CloseWithReason(views::Widget::ClosedReason::kLostFocus);
-}
-
-void TabSearchBubbleView::OnWidgetDestroying(views::Widget* widget) {
-#if defined(USE_AURA)
-  if (widget == GetWidget())
-    window_observer_.reset();
-#endif
-}
-
 void TabSearchBubbleView::OnWebViewSizeChanged() {
   SizeToContents();
 }
diff --git a/chrome/browser/ui/views/tab_search/tab_search_bubble_view.h b/chrome/browser/ui/views/tab_search/tab_search_bubble_view.h
index 672873d..b690244 100644
--- a/chrome/browser/ui/views/tab_search/tab_search_bubble_view.h
+++ b/chrome/browser/ui/views/tab_search/tab_search_bubble_view.h
@@ -7,20 +7,17 @@
 
 #include "base/scoped_observer.h"
 #include "ui/views/bubble/bubble_dialog_delegate_view.h"
-#include "ui/views/controls/webview/webview.h"
-#include "ui/web_dialogs/web_dialog_delegate.h"
 
 namespace views {
 class Widget;
-class WidgetObserver;
+class WebView;
 }  // namespace views
 
 namespace content {
 class BrowserContext;
 }  // namespace content
 
-class TabSearchBubbleView : public views::BubbleDialogDelegateView,
-                            public views::WidgetObserver {
+class TabSearchBubbleView : public views::BubbleDialogDelegateView {
  public:
   // TODO(tluk): Since the Bubble is shown asynchronously, we shouldn't call
   // this if the Widget is hidden and yet to be revealed.
@@ -33,33 +30,12 @@
 
   // views::BubbleDialogDelegateView:
   gfx::Size CalculatePreferredSize() const override;
-  void AddedToWidget() override;
-
-  // views::WidgetObserver:
-  void OnWidgetActivationChanged(views::Widget* widget, bool active) override;
-  void OnWidgetDestroying(views::Widget* widget) override;
 
   void OnWebViewSizeChanged();
 
  private:
-#if defined(USE_AURA)
-  // TabSearchWindowObserverAura deals with issues in bubble deactivation on
-  // Aura platforms. See comments in OnWindowActivated().
-  // These issues are not present on Mac.
-  class TabSearchWindowObserverAura;
-
-  // |window_observer_| is a helper that hooks into the TabSearchBubbleView's
-  // widget lifecycle events.
-  std::unique_ptr<TabSearchWindowObserverAura> window_observer_;
-#endif
-
   views::WebView* web_view_;
 
-  ScopedObserver<views::Widget, views::WidgetObserver> observed_anchor_widget_{
-      this};
-  ScopedObserver<views::Widget, views::WidgetObserver> observed_bubble_widget_{
-      this};
-
   DISALLOW_COPY_AND_ASSIGN(TabSearchBubbleView);
 };
 
diff --git a/chrome/browser/ui/views/web_apps/web_app_tab_strip_browsertest.cc b/chrome/browser/ui/views/web_apps/web_app_tab_strip_browsertest.cc
index fce1b12..6e35a6e 100644
--- a/chrome/browser/ui/views/web_apps/web_app_tab_strip_browsertest.cc
+++ b/chrome/browser/ui/views/web_apps/web_app_tab_strip_browsertest.cc
@@ -3,6 +3,8 @@
 // found in the LICENSE file.
 
 #include "base/test/scoped_feature_list.h"
+#include "chrome/browser/themes/theme_service.h"
+#include "chrome/browser/themes/theme_service_factory.h"
 #include "chrome/browser/ui/browser_commands.h"
 #include "chrome/browser/ui/browser_tabstrip.h"
 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h"
@@ -12,18 +14,26 @@
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
 #include "chrome/browser/ui/web_applications/app_browser_controller.h"
 #include "chrome/browser/ui/web_applications/test/web_app_browsertest_util.h"
+#include "chrome/browser/web_applications/components/app_registrar.h"
 #include "chrome/browser/web_applications/components/app_registry_controller.h"
 #include "chrome/browser/web_applications/components/web_app_constants.h"
 #include "chrome/browser/web_applications/components/web_app_provider_base.h"
+#include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/web_application_info.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "content/public/browser/web_contents.h"
+#include "content/public/test/background_color_change_waiter.h"
 #include "content/public/test/browser_test.h"
 #include "content/public/test/browser_test_utils.h"
 #include "content/public/test/test_utils.h"
-#include "content/public/test/theme_change_waiter.h"
 
+namespace {
+
+constexpr SkColor kAppBackgroundColor = SK_ColorBLUE;
+constexpr char kAppPath[] = "/web_apps/basic.html";
+
+}  // namespace
 namespace web_app {
 
 class WebAppTabStripBrowserTest : public InProcessBrowserTest {
@@ -33,9 +43,45 @@
 
   void SetUp() override {
     features_.InitWithFeatures({features::kDesktopPWAsTabStrip}, {});
+    ASSERT_TRUE(embedded_test_server()->Start());
     InProcessBrowserTest::SetUp();
   }
 
+  struct App {
+    AppId id;
+    Browser* browser;
+    BrowserView* browser_view;
+    content::WebContents* web_contents;
+  };
+
+  App InstallAndLaunch() {
+    Profile* profile = browser()->profile();
+    GURL app_url = embedded_test_server()->GetURL(kAppPath);
+
+    auto web_app_info = std::make_unique<WebApplicationInfo>();
+    web_app_info->app_url = app_url;
+    web_app_info->scope = app_url.GetWithoutFilename();
+    web_app_info->title = base::ASCIIToUTF16("Test app");
+    web_app_info->background_color = kAppBackgroundColor;
+    web_app_info->open_as_window = true;
+    web_app_info->enable_experimental_tabbed_window = true;
+    AppId app_id = InstallWebApp(profile, std::move(web_app_info));
+
+    Browser* app_browser = LaunchWebAppBrowser(profile, app_id);
+    return App{app_id, app_browser,
+               BrowserView::GetBrowserViewForBrowser(app_browser),
+               app_browser->tab_strip_model()->GetActiveWebContents()};
+  }
+
+  SkColor GetTabColor(BrowserView* browser_view) {
+    return browser_view->tabstrip()->GetTabBackgroundColor(
+        TabActive::kActive, BrowserFrameActiveState::kActive);
+  }
+
+  AppRegistrar& registrar() {
+    return WebAppProvider::Get(browser()->profile())->registrar();
+  }
+
  private:
   base::test::ScopedFeatureList features_;
 };
@@ -43,112 +89,98 @@
 // Disabled due to flake. https://crbug.com/1113951
 IN_PROC_BROWSER_TEST_F(WebAppTabStripBrowserTest,
                        DISABLED_CustomTabBarUpdateOnTabSwitch) {
-  Profile* profile = browser()->profile();
+  App app = InstallAndLaunch();
 
-  ASSERT_TRUE(embedded_test_server()->Start());
-  GURL app_url = embedded_test_server()->GetURL("/web_apps/basic.html");
-
-  auto web_app_info = std::make_unique<WebApplicationInfo>();
-  web_app_info->app_url = app_url;
-  web_app_info->scope = embedded_test_server()->GetURL("/web_apps");
-  web_app_info->title = base::ASCIIToUTF16("Test app");
-  web_app_info->open_as_window = true;
-  web_app_info->enable_experimental_tabbed_window = true;
-  AppId app_id = InstallWebApp(profile, std::move(web_app_info));
-
-  Browser* app_browser = LaunchWebAppBrowser(profile, app_id);
   CustomTabBarView* custom_tab_bar =
-      BrowserView::GetBrowserViewForBrowser(app_browser)
-          ->toolbar()
-          ->custom_tab_bar();
+      app.browser_view->toolbar()->custom_tab_bar();
   EXPECT_FALSE(custom_tab_bar->GetVisible());
 
   // Add second tab.
-  chrome::NewTab(app_browser);
-  ASSERT_EQ(app_browser->tab_strip_model()->count(), 2);
+  chrome::NewTab(app.browser);
+  ASSERT_EQ(app.browser->tab_strip_model()->count(), 2);
 
   // Navigate tab out of scope, custom tab bar should appear.
+  GURL in_scope_url = embedded_test_server()->GetURL(kAppPath);
   GURL out_of_scope_url =
       embedded_test_server()->GetURL("/banners/theme-color.html");
   ASSERT_TRUE(content::NavigateToURL(
-      app_browser->tab_strip_model()->GetActiveWebContents(),
+      app.browser->tab_strip_model()->GetActiveWebContents(),
       out_of_scope_url));
   EXPECT_EQ(
-      app_browser->tab_strip_model()->GetActiveWebContents()->GetVisibleURL(),
+      app.browser->tab_strip_model()->GetActiveWebContents()->GetVisibleURL(),
       out_of_scope_url);
   EXPECT_TRUE(custom_tab_bar->GetVisible());
 
   // Custom tab bar should go away for in scope tab.
-  chrome::SelectNextTab(app_browser);
+  chrome::SelectNextTab(app.browser);
   EXPECT_EQ(
-      app_browser->tab_strip_model()->GetActiveWebContents()->GetVisibleURL(),
-      app_url);
+      app.browser->tab_strip_model()->GetActiveWebContents()->GetVisibleURL(),
+      in_scope_url);
   EXPECT_FALSE(custom_tab_bar->GetVisible());
 
   // Custom tab bar should return for out of scope tab.
-  chrome::SelectNextTab(app_browser);
+  chrome::SelectNextTab(app.browser);
   EXPECT_EQ(
-      app_browser->tab_strip_model()->GetActiveWebContents()->GetVisibleURL(),
+      app.browser->tab_strip_model()->GetActiveWebContents()->GetVisibleURL(),
       out_of_scope_url);
   EXPECT_TRUE(custom_tab_bar->GetVisible());
 }
 
-IN_PROC_BROWSER_TEST_F(WebAppTabStripBrowserTest, TabThemeColor) {
-  Profile* profile = browser()->profile();
+// TODO(crbug.com/897314) Enabled tab strip for web apps on non-Chrome OS.
+#if defined(OS_CHROMEOS)
 
-  ASSERT_TRUE(embedded_test_server()->Start());
-  GURL app_url = embedded_test_server()->GetURL("/banners/theme-color.html");
+IN_PROC_BROWSER_TEST_F(WebAppTabStripBrowserTest,
+                       ActiveTabColorIsBackgroundColor) {
+  // Ensure we're not using the system theme on Linux.
+  ThemeService* theme_service =
+      ThemeServiceFactory::GetForProfile(browser()->profile());
+  theme_service->UseDefaultTheme();
 
-  // Install and launch theme color test PWA.
-  auto web_app_info = std::make_unique<WebApplicationInfo>();
-  web_app_info->app_url = app_url;
-  web_app_info->scope = app_url.GetWithoutFilename();
-  web_app_info->title = base::ASCIIToUTF16("Test app");
-  web_app_info->open_as_window = true;
-  web_app_info->enable_experimental_tabbed_window = true;
-  AppId app_id = InstallWebApp(profile, std::move(web_app_info));
-  Browser* app_browser = LaunchWebAppBrowser(profile, app_id);
-  content::WebContents* web_contents =
-      app_browser->tab_strip_model()->GetActiveWebContents();
-  BrowserView* app_browser_view =
-      BrowserView::GetBrowserViewForBrowser(app_browser);
+  App app = InstallAndLaunch();
+  EXPECT_EQ(registrar().GetAppBackgroundColor(app.id), kAppBackgroundColor);
 
-  // Ensure HTML document has loaded as we are going to execute JS in it.
-  content::AwaitDocumentOnLoadCompleted(web_contents);
-
-  auto GetTabColor = [app_browser_view]() -> SkColor {
-    return app_browser_view->tabstrip()->GetTabBackgroundColor(
-        TabActive::kActive, BrowserFrameActiveState::kActive);
-  };
-
-  // Set theme color to black and read tab background color.
-  SkColor initial_tab_color = SK_ColorTRANSPARENT;
+  // Expect manifest background color prior to page loading.
   {
-    content::ThemeChangeWaiter waiter(web_contents);
-    EXPECT_TRUE(content::ExecJs(web_contents,
-                                "document.getElementById('theme-color')."
-                                "setAttribute('content', 'black')"));
-    waiter.Wait();
-    EXPECT_EQ(app_browser->app_controller()->GetThemeColor().value(),
-              SK_ColorBLACK);
-    initial_tab_color = GetTabColor();
-    EXPECT_NE(initial_tab_color, SK_ColorTRANSPARENT);
-    EXPECT_EQ(initial_tab_color, SK_ColorBLACK);
+    ASSERT_FALSE(app.web_contents->IsDocumentOnLoadCompletedInMainFrame());
+    EXPECT_EQ(app.browser->app_controller()->GetBackgroundColor().value(),
+              kAppBackgroundColor);
+    EXPECT_EQ(GetTabColor(app.browser_view), kAppBackgroundColor);
   }
 
-  // Update theme color to cyan and check that the tab color matches.
+  // Expect initial page background color to be white.
   {
-    content::ThemeChangeWaiter waiter(web_contents);
-    EXPECT_TRUE(content::ExecJs(web_contents,
-                                "document.getElementById('theme-color')."
-                                "setAttribute('content', 'cyan')"));
+    content::BackgroundColorChangeWaiter(app.web_contents).Wait();
+    EXPECT_EQ(app.browser->app_controller()->GetBackgroundColor().value(),
+              SK_ColorWHITE);
+    EXPECT_EQ(GetTabColor(app.browser_view), SK_ColorWHITE);
+  }
+
+  // Ensure HTML document has loaded before we execute JS in it.
+  content::AwaitDocumentOnLoadCompleted(app.web_contents);
+
+  // Set document color to black and read tab background color.
+  {
+    content::BackgroundColorChangeWaiter waiter(app.web_contents);
+    EXPECT_TRUE(content::ExecJs(
+        app.web_contents, "document.body.style.backgroundColor = 'black';"));
     waiter.Wait();
-    EXPECT_EQ(app_browser->app_controller()->GetThemeColor().value(),
+    EXPECT_EQ(app.browser->app_controller()->GetBackgroundColor().value(),
+              SK_ColorBLACK);
+    EXPECT_EQ(GetTabColor(app.browser_view), SK_ColorBLACK);
+  }
+
+  // Update document color to cyan and check that the tab color matches.
+  {
+    content::BackgroundColorChangeWaiter waiter(app.web_contents);
+    EXPECT_TRUE(content::ExecJs(
+        app.web_contents, "document.body.style.backgroundColor = 'cyan';"));
+    waiter.Wait();
+    EXPECT_EQ(app.browser->app_controller()->GetBackgroundColor().value(),
               SK_ColorCYAN);
-    SkColor tab_color = GetTabColor();
-    EXPECT_NE(tab_color, initial_tab_color);
-    EXPECT_EQ(tab_color, SK_ColorCYAN);
+    EXPECT_EQ(GetTabColor(app.browser_view), SK_ColorCYAN);
   }
 }
 
+#endif  // defined(OS_CHROMEOS)
+
 }  // namespace web_app
diff --git a/chrome/browser/ui/web_applications/app_browser_controller.cc b/chrome/browser/ui/web_applications/app_browser_controller.cc
index 0278a46..4a336a14 100644
--- a/chrome/browser/ui/web_applications/app_browser_controller.cc
+++ b/chrome/browser/ui/web_applications/app_browser_controller.cc
@@ -84,6 +84,13 @@
   }
 };
 
+SkColor GetAltColor(SkColor color) {
+  return color_utils::BlendForMinContrast(
+             color, color, base::nullopt,
+             kAutogeneratedThemeActiveTabPreferredContrast)
+      .color;
+}
+
 }  // namespace
 
 namespace web_app {
@@ -98,25 +105,34 @@
 // static
 std::unique_ptr<AppBrowserController>
 AppBrowserController::MaybeCreateWebAppController(Browser* browser) {
+  std::unique_ptr<AppBrowserController> controller;
 #if BUILDFLAG(ENABLE_EXTENSIONS)
   const AppId app_id = GetAppIdFromApplicationName(browser->app_name());
   if (base::FeatureList::IsEnabled(features::kDesktopPWAsWithoutExtensions)) {
     auto* provider = WebAppProvider::Get(browser->profile());
     if (provider && provider->registrar().IsInstalled(app_id))
-      return std::make_unique<WebAppBrowserController>(browser);
+      controller = std::make_unique<WebAppBrowserController>(browser);
   }
-  const extensions::Extension* extension =
-      extensions::ExtensionRegistry::Get(browser->profile())
-          ->GetExtensionById(app_id, extensions::ExtensionRegistry::EVERYTHING);
-  if (extension && extension->is_hosted_app()) {
-    if (extension->from_bookmark())
-      return std::make_unique<WebAppBrowserController>(browser);
-    return std::make_unique<extensions::HostedAppBrowserController>(browser);
+  if (!controller) {
+    const extensions::Extension* extension =
+        extensions::ExtensionRegistry::Get(browser->profile())
+            ->GetExtensionById(app_id,
+                               extensions::ExtensionRegistry::EVERYTHING);
+    if (extension && extension->is_hosted_app()) {
+      if (extension->from_bookmark()) {
+        controller = std::make_unique<WebAppBrowserController>(browser);
+      } else {
+        controller =
+            std::make_unique<extensions::HostedAppBrowserController>(browser);
+      }
+    }
   }
 #endif
-  if (browser->is_focus_mode())
-    return std::make_unique<ManifestWebAppBrowserController>(browser);
-  return nullptr;
+  if (!controller && browser->is_focus_mode())
+    controller = std::make_unique<ManifestWebAppBrowserController>(browser);
+  if (controller)
+    controller->Init();
+  return controller;
 }
 
 // static
@@ -167,6 +183,9 @@
                ->registrar()
                .IsInExperimentalTabbedWindowMode(GetAppId()))) {
   browser->tab_strip_model()->AddObserver(this);
+}
+
+void AppBrowserController::Init() {
   UpdateThemePack();
 }
 
@@ -385,6 +404,17 @@
   browser_->window()->UserChangedTheme(BrowserThemeChangeType::kWebAppTheme);
 }
 
+void AppBrowserController::OnBackgroundColorChanged() {
+  if (!has_tab_strip_)
+    return;
+  base::Optional<SkColor> background_color = GetBackgroundColor();
+  if (background_color == last_background_color_)
+    return;
+  last_background_color_ = background_color;
+  UpdateThemePack();
+  browser_->window()->UserChangedTheme(BrowserThemeChangeType::kWebAppTheme);
+}
+
 base::Optional<SkColor> AppBrowserController::GetThemeColor() const {
   base::Optional<SkColor> result;
   // HTML meta theme-color tag overrides manifest theme_color, see spec:
@@ -404,6 +434,13 @@
   return SkColorSetA(*result, SK_AlphaOPAQUE);
 }
 
+base::Optional<SkColor> AppBrowserController::GetBackgroundColor() const {
+  base::Optional<SkColor> color;
+  if (auto* web_contents = browser()->tab_strip_model()->GetActiveWebContents())
+    color = web_contents->GetBackgroundColor();
+  return color ? SkColorSetA(*color, SK_AlphaOPAQUE) : color;
+}
+
 base::string16 AppBrowserController::GetTitle() const {
   content::WebContents* web_contents =
       browser()->tab_strip_model()->GetActiveWebContents();
@@ -497,40 +534,48 @@
 
 void AppBrowserController::UpdateThemePack() {
   base::Optional<SkColor> theme_color = GetThemeColor();
-  if (!theme_color) {
-    theme_pack_ = nullptr;
-    return;
-  }
-  theme_pack_ = base::MakeRefCounted<BrowserThemePack>(
-      CustomThemeSupplier::AUTOGENERATED);
-  // AutogeneratedThemeColors will generally make the frame color match the
-  // theme color, but often adjusts it.
-  // We will use a similar approach to generate a main color and alt color
-  // with a 1.6 contrast, but no adjustment to the main color.
+
   AutogeneratedThemeColors colors;
-  SkColor theme_text_color = color_utils::GetColorWithMaxContrast(*theme_color);
-  SkColor alt_color = color_utils::BlendForMinContrast(
-                          *theme_color, *theme_color, base::nullopt,
-                          kAutogeneratedThemeActiveTabPreferredContrast)
-                          .color;
-  SkColor alt_text_color = color_utils::GetColorWithMaxContrast(alt_color);
-  if (has_tab_strip_) {
-    // When we have tabs, active tab gets theme color.
-    colors.frame_color = alt_color;
-    colors.frame_text_color = alt_text_color;
+  // TODO(crbug.com/1114542): Make terminal use page background color to set
+  // active tab color and remove this branch.
+  if (system_app_type_ == SystemAppType::TERMINAL) {
+    if (!theme_color) {
+      theme_pack_ = nullptr;
+      return;
+    }
+
+    // For terminal app, active tab gets theme color.
+    colors.frame_color = GetAltColor(*theme_color);
     colors.active_tab_color = *theme_color;
-    colors.active_tab_text_color = theme_text_color;
     colors.ntp_color = *theme_color;
   } else {
-    // With no tabs, frame gets theme color.
     // TODO(crbug.com/1053823): Add tests for theme properties being set in this
     // branch.
+    base::Optional<SkColor> background_color = GetBackgroundColor();
+    if (!theme_color && !background_color) {
+      theme_pack_ = nullptr;
+      return;
+    }
+
+    if (!theme_color)
+      theme_color = GetAltColor(*background_color);
+    else if (!background_color)
+      background_color = GetAltColor(*theme_color);
+
+    // For regular web apps, frame gets theme color and active tab gets
+    // background color.
     colors.frame_color = *theme_color;
-    colors.frame_text_color = theme_text_color;
-    colors.active_tab_color = alt_color;
-    colors.active_tab_text_color = alt_text_color;
-    colors.ntp_color = *theme_color;
+    colors.active_tab_color = *background_color;
+    colors.ntp_color = *background_color;
   }
+
+  colors.frame_text_color =
+      color_utils::GetColorWithMaxContrast(colors.frame_color);
+  colors.active_tab_text_color =
+      color_utils::GetColorWithMaxContrast(colors.active_tab_color);
+
+  theme_pack_ = base::MakeRefCounted<BrowserThemePack>(
+      CustomThemeSupplier::AUTOGENERATED);
   BrowserThemePack::BuildFromColors(colors, theme_pack_.get());
 }
 
diff --git a/chrome/browser/ui/web_applications/app_browser_controller.h b/chrome/browser/ui/web_applications/app_browser_controller.h
index 3e5e2d66..d2848d4 100644
--- a/chrome/browser/ui/web_applications/app_browser_controller.h
+++ b/chrome/browser/ui/web_applications/app_browser_controller.h
@@ -67,6 +67,9 @@
           url_formatter::kFormatUrlOmitTrailingSlashOnBareHostname |
           url_formatter::kFormatUrlOmitTrivialSubdomains);
 
+  // Initialise, must be called after construction (requires virtual dispatch).
+  void Init();
+
   // Returns a theme built from the current page or app's theme color.
   const ui::ThemeProvider* GetThemeProvider() const;
 
@@ -103,6 +106,9 @@
   // Returns the color of the title bar.
   virtual base::Optional<SkColor> GetThemeColor() const;
 
+  // Returns the background color of the page.
+  virtual base::Optional<SkColor> GetBackgroundColor() const;
+
   // Returns the title to be displayed in the window title bar.
   virtual base::string16 GetTitle() const;
 
@@ -168,6 +174,7 @@
   void DidStartNavigation(content::NavigationHandle* handle) override;
   void DOMContentLoaded(content::RenderFrameHost* render_frame_host) override;
   void DidChangeThemeColor() override;
+  void OnBackgroundColorChanged() override;
 
   // TabStripModelObserver:
   void OnTabStripModelChanged(
@@ -205,6 +212,7 @@
   scoped_refptr<BrowserThemePack> theme_pack_;
   std::unique_ptr<ui::ThemeProvider> theme_provider_;
   base::Optional<SkColor> last_theme_color_;
+  base::Optional<SkColor> last_background_color_;
 
   base::Optional<SystemAppType> system_app_type_;
 
diff --git a/chrome/browser/ui/web_applications/web_app_browser_controller.cc b/chrome/browser/ui/web_applications/web_app_browser_controller.cc
index 435db0d7..ac576ce 100644
--- a/chrome/browser/ui/web_applications/web_app_browser_controller.cc
+++ b/chrome/browser/ui/web_applications/web_app_browser_controller.cc
@@ -140,6 +140,12 @@
   return registrar().GetAppThemeColor(GetAppId());
 }
 
+base::Optional<SkColor> WebAppBrowserController::GetBackgroundColor() const {
+  if (auto color = AppBrowserController::GetBackgroundColor())
+    return color;
+  return registrar().GetAppBackgroundColor(GetAppId());
+}
+
 GURL WebAppBrowserController::GetAppLaunchURL() const {
   return registrar().GetAppLaunchURL(GetAppId());
 }
diff --git a/chrome/browser/ui/web_applications/web_app_browser_controller.h b/chrome/browser/ui/web_applications/web_app_browser_controller.h
index 78f2350..245bb958 100644
--- a/chrome/browser/ui/web_applications/web_app_browser_controller.h
+++ b/chrome/browser/ui/web_applications/web_app_browser_controller.h
@@ -55,6 +55,7 @@
   gfx::ImageSkia GetWindowAppIcon() const override;
   gfx::ImageSkia GetWindowIcon() const override;
   base::Optional<SkColor> GetThemeColor() const override;
+  base::Optional<SkColor> GetBackgroundColor() const override;
   base::string16 GetTitle() const override;
   base::string16 GetAppShortName() const override;
   base::string16 GetFormattedUrlOrigin() const override;
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
index a1c6222f..aa93a9d 100644
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -142,6 +142,7 @@
 #include "chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h"
 #include "chrome/browser/ui/webui/ntp/new_tab_ui.h"
 #include "chrome/browser/ui/webui/page_not_available_for_guest/page_not_available_for_guest_ui.h"
+#include "chrome/browser/ui/webui/read_later/read_later_ui.h"
 #include "chrome/browser/ui/webui/signin/inline_login_ui.h"
 #include "chrome/browser/ui/webui/signin/sync_confirmation_ui.h"
 #include "chrome/browser/ui/webui/sync_file_system_internals/sync_file_system_internals_ui.h"
@@ -551,6 +552,10 @@
     return &NewWebUI<NewTabUI>;
   if (url.host_piece() == chrome::kChromeUINewTabPageHost)
     return &NewWebUI<NewTabPageUI>;
+  if (base::FeatureList::IsEnabled(features::kReadLater)) {
+    if (url.host_piece() == chrome::kChromeUIReadLaterHost)
+      return &NewWebUI<ReadLaterUI>;
+  }
   // Settings are implemented with native UI elements on Android.
   if (url.host_piece() == chrome::kChromeUISettingsHost)
     return &NewWebUI<settings::SettingsUI>;
diff --git a/chrome/browser/ui/webui/chromeos/cellular_setup/cellular_setup_dialog.cc b/chrome/browser/ui/webui/chromeos/cellular_setup/cellular_setup_dialog.cc
index 23b88fb..8e3531d 100644
--- a/chrome/browser/ui/webui/chromeos/cellular_setup/cellular_setup_dialog.cc
+++ b/chrome/browser/ui/webui/chromeos/cellular_setup/cellular_setup_dialog.cc
@@ -32,37 +32,6 @@
 
 CellularSetupDialog* dialog_instance = nullptr;
 
-// Used to attach an instance of the CellularSetup service to a BrowserContext.
-class CellularSetupServiceHolder : public base::SupportsUserData::Data {
- public:
-  CellularSetupServiceHolder() = default;
-  ~CellularSetupServiceHolder() override = default;
-
-  void BindReceiver(mojo::PendingReceiver<mojom::CellularSetup> receiver) {
-    service_.BindReceiver(std::move(receiver));
-  }
-
- private:
-  CellularSetupImpl service_;
-
-  DISALLOW_COPY_AND_ASSIGN(CellularSetupServiceHolder);
-};
-
-const char kCellularSetupServiceHolderKey[] = "cellular_setup_service_holder";
-
-CellularSetupServiceHolder* GetOrCreateServiceHolder(
-    content::BrowserContext* browser_context) {
-  auto* holder = static_cast<CellularSetupServiceHolder*>(
-      browser_context->GetUserData(kCellularSetupServiceHolderKey));
-  if (!holder) {
-    auto new_holder = std::make_unique<CellularSetupServiceHolder>();
-    holder = new_holder.get();
-    browser_context->SetUserData(kCellularSetupServiceHolderKey,
-                                 std::move(new_holder));
-  }
-  return holder;
-}
-
 }  // namespace
 
 // static
@@ -131,8 +100,7 @@
 
 void CellularSetupDialogUI::BindInterface(
     mojo::PendingReceiver<mojom::CellularSetup> receiver) {
-  GetOrCreateServiceHolder(web_ui()->GetWebContents()->GetBrowserContext())
-      ->BindReceiver(std::move(receiver));
+  CellularSetupImpl::CreateAndBindToReciever(std::move(receiver));
 }
 
 WEB_UI_CONTROLLER_TYPE_IMPL(CellularSetupDialogUI)
diff --git a/chrome/browser/ui/webui/chromeos/file_manager/file_manager_ui.h b/chrome/browser/ui/webui/chromeos/file_manager/file_manager_ui.h
index 5db5287..b33ab46 100644
--- a/chrome/browser/ui/webui/chromeos/file_manager/file_manager_ui.h
+++ b/chrome/browser/ui/webui/chromeos/file_manager/file_manager_ui.h
@@ -7,7 +7,6 @@
 
 #include <memory>
 
-#include "base/macros.h"
 #include "chrome/browser/ui/webui/chromeos/file_manager/file_manager.mojom.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
@@ -26,6 +25,10 @@
   explicit FileManagerUI(content::WebUI* web_ui);
   ~FileManagerUI() override;
 
+  // Disallow copy and assign.
+  FileManagerUI(const FileManagerUI&) = delete;
+  FileManagerUI& operator=(const FileManagerUI&) = delete;
+
   void BindInterface(
       mojo::PendingReceiver<mojom::PageHandlerFactory> pending_receiver);
 
@@ -39,7 +42,6 @@
   std::unique_ptr<FileManagerPageHandler> page_handler_;
 
   WEB_UI_CONTROLLER_TYPE_DECL();
-  DISALLOW_COPY_AND_ASSIGN(FileManagerUI);
 };
 
 }  // namespace file_manager
diff --git a/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui.h b/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui.h
index 60073af..e9469264 100644
--- a/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui.h
+++ b/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui.h
@@ -7,7 +7,7 @@
 
 #include "ui/webui/mojo_web_ui_controller.h"
 
-// The WebUI controller for chrome://nearby-sharing-internals.
+// The WebUI controller for chrome://nearby-internals.
 class NearbyInternalsUI : public ui::MojoWebUIController {
  public:
   explicit NearbyInternalsUI(content::WebUI* web_ui);
diff --git a/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui_trigger_handler.cc b/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui_trigger_handler.cc
index da9a29a0..1161b252 100644
--- a/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui_trigger_handler.cc
+++ b/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui_trigger_handler.cc
@@ -371,13 +371,6 @@
                     ShareTargetMapToList(id_to_share_target_map_));
 }
 
-void NearbyInternalsUiTriggerHandler::OnSendTextCalled(
-    NearbySharingService::StatusCodes status_codes) {
-  FireWebUIListener(
-      "on-status-code-returned",
-      StatusCodeToDictionary(status_codes, TriggerEvent::kSendText));
-}
-
 void NearbyInternalsUiTriggerHandler::OnAcceptCalled(
     NearbySharingService::StatusCodes status_codes) {
   FireWebUIListener(
@@ -413,7 +406,7 @@
     return;
   }
 
-  std::string share_target_id = args->GetList()[0].GetString();
+  std::string share_target_id = args->GetList()[1].GetString();
   auto it = id_to_share_target_map_.find(share_target_id);
   if (it == id_to_share_target_map_.end()) {
     NS_LOG(ERROR) << "Invalid ShareTarget ID " << share_target_id
@@ -421,10 +414,11 @@
     return;
   }
 
-  service_->SendText(
-      it->second, kPayloadExample,
-      base::BindOnce(&NearbyInternalsUiTriggerHandler::OnSendTextCalled,
-                     weak_ptr_factory_.GetWeakPtr()));
+  const base::Value& callback_id = args->GetList()[0];
+  ResolveJavascriptCallback(
+      callback_id,
+      StatusCodeToDictionary(service_->SendText(it->second, kPayloadExample),
+                             TriggerEvent::kSendText));
 }
 
 void NearbyInternalsUiTriggerHandler::Accept(const base::ListValue* args) {
diff --git a/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui_trigger_handler.h b/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui_trigger_handler.h
index 2ddcbc9..5a82f7b 100644
--- a/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui_trigger_handler.h
+++ b/chrome/browser/ui/webui/nearby_internals/nearby_internals_ui_trigger_handler.h
@@ -51,7 +51,6 @@
   void OnOpenCalled(NearbySharingService::StatusCodes status_codes);
   void OnRejectCalled(NearbySharingService::StatusCodes status_codes);
   void OnCancelCalled(NearbySharingService::StatusCodes status_codes);
-  void OnSendTextCalled(NearbySharingService::StatusCodes status_codes);
 
   // Message handler callback that initializes JavaScript.
   void InitializeContents(const base::ListValue* args);
diff --git a/chrome/browser/ui/webui/read_later/BUILD.gn b/chrome/browser/ui/webui/read_later/BUILD.gn
new file mode 100644
index 0000000..8c7ad59
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/BUILD.gn
@@ -0,0 +1,14 @@
+# 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.
+
+import("//mojo/public/tools/bindings/mojom.gni")
+
+mojom("mojo_bindings") {
+  sources = [ "read_later.mojom" ]
+
+  public_deps = [
+    "//mojo/public/mojom/base",
+    "//url/mojom:url_mojom_gurl",
+  ]
+}
diff --git a/chrome/browser/ui/webui/read_later/OWNERS b/chrome/browser/ui/webui/read_later/OWNERS
new file mode 100644
index 0000000..b98ff8e9
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/OWNERS
@@ -0,0 +1,8 @@
+connily@chromium.org
+corising@chromium.org
+pbos@chromium.org
+
+per-file *.mojom=set noparent
+per-file *.mojom=file://ipc/SECURITY_OWNERS
+
+# COMPONENT: UI>Browser>ReadLater
diff --git a/chrome/browser/ui/webui/read_later/read_later.mojom b/chrome/browser/ui/webui/read_later/read_later.mojom
new file mode 100644
index 0000000..658eb7b6
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/read_later.mojom
@@ -0,0 +1,49 @@
+// 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 read_later.mojom;
+
+import "mojo/public/mojom/base/string16.mojom";
+import "url/mojom/url.mojom";
+
+// Read later entries grouped by read/unread status.
+struct ReadLaterEntriesByStatus {
+  array<ReadLaterEntry> unread_entries;
+  array<ReadLaterEntry> read_entries;
+};
+
+// Information about a read later entry.
+struct ReadLaterEntry {
+  string title;
+  url.mojom.Url url;
+  mojo_base.mojom.String16 display_url;
+  int64 update_time;
+  mojo_base.mojom.String16 display_time_since_update;
+};
+
+// Used by the WebUI page to bootstrap bidirectional communication.
+interface PageHandlerFactory {
+  // The WebUI calls this method when the page is first initialized.
+  CreatePageHandler(pending_remote<Page> page,
+                    pending_receiver<PageHandler> handler);
+};
+
+// Browser-side handler for requests from WebUI page.
+interface PageHandler {
+  // Get unread and read read later entries.
+  GetReadLaterEntries() => (ReadLaterEntriesByStatus entries);
+
+  // Open a saved read later entry.
+  OpenSavedEntry(url.mojom.Url url);
+
+  // Updates a read later entry's read status.
+  UpdateReadStatus(url.mojom.Url url, bool read);
+
+  // Removes a read later entry.
+  RemoveEntry(url.mojom.Url url);
+};
+
+// WebUI-side handler for requests from the browser.
+interface Page {
+};
diff --git a/chrome/browser/ui/webui/read_later/read_later_page_handler.cc b/chrome/browser/ui/webui/read_later/read_later_page_handler.cc
new file mode 100644
index 0000000..ec05262
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/read_later_page_handler.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/ui/webui/read_later/read_later_page_handler.h"
+
+#include <algorithm>
+#include <memory>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "base/strings/string16.h"
+#include "base/time/clock.h"
+#include "base/time/default_clock.h"
+#include "base/time/time.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/browser_finder.h"
+#include "chrome/browser/ui/read_later/reading_list_model_factory.h"
+#include "components/reading_list/core/reading_list_entry.h"
+#include "components/reading_list/core/reading_list_model.h"
+#include "components/url_formatter/url_formatter.h"
+#include "ui/base/l10n/time_format.h"
+
+namespace {
+
+// Sorter function that orders ReadingListEntries by their update time.
+bool EntrySorter(const read_later::mojom::ReadLaterEntryPtr& rhs,
+                 const read_later::mojom::ReadLaterEntryPtr& lhs) {
+  return rhs->update_time > lhs->update_time;
+}
+
+// Converts |time| to the number of microseconds since Jan 1st 1970.
+// This matches the function used in the ReadingListEntry implementation.
+int64_t TimeToUS(const base::Time& time) {
+  return (time - base::Time::UnixEpoch()).InMicroseconds();
+}
+
+}  // namespace
+
+ReadLaterPageHandler::ReadLaterPageHandler(
+    mojo::PendingReceiver<read_later::mojom::PageHandler> receiver,
+    mojo::PendingRemote<read_later::mojom::Page> page)
+    : receiver_(this, std::move(receiver)),
+      page_(std::move(page)),
+      browser_(chrome::FindLastActive()),
+      clock_(base::DefaultClock::GetInstance()) {
+  DCHECK(browser_);
+
+  reading_list_model_ =
+      ReadingListModelFactory::GetForBrowserContext(browser_->profile());
+}
+
+ReadLaterPageHandler::~ReadLaterPageHandler() = default;
+
+void ReadLaterPageHandler::GetReadLaterEntries(
+    GetReadLaterEntriesCallback callback) {
+  auto entries = read_later::mojom::ReadLaterEntriesByStatus::New();
+
+  for (const auto& url : reading_list_model_->Keys()) {
+    const ReadingListEntry* entry = reading_list_model_->GetEntryByURL(url);
+    DCHECK(entry);
+    if (entry->IsRead()) {
+      entries->read_entries.push_back(GetEntryData(entry));
+    } else {
+      entries->unread_entries.push_back(GetEntryData(entry));
+    }
+  }
+
+  std::sort(entries->read_entries.begin(), entries->read_entries.end(),
+            EntrySorter);
+  std::sort(entries->unread_entries.begin(), entries->unread_entries.end(),
+            EntrySorter);
+
+  std::move(callback).Run(std::move(entries));
+}
+
+void ReadLaterPageHandler::OpenSavedEntry(const GURL& url) {
+  content::OpenURLParams params(url, content::Referrer(),
+                                WindowOpenDisposition::NEW_FOREGROUND_TAB,
+                                ui::PAGE_TRANSITION_AUTO_BOOKMARK, false);
+  browser_->OpenURL(params);
+  reading_list_model_->SetReadStatus(url, true);
+}
+
+void ReadLaterPageHandler::UpdateReadStatus(const GURL& url, bool read) {
+  reading_list_model_->SetReadStatus(url, read);
+}
+
+void ReadLaterPageHandler::RemoveEntry(const GURL& url) {
+  reading_list_model_->RemoveEntryByURL(url);
+}
+
+read_later::mojom::ReadLaterEntryPtr ReadLaterPageHandler::GetEntryData(
+    const ReadingListEntry* entry) {
+  auto entry_data = read_later::mojom::ReadLaterEntry::New();
+
+  entry_data->title = entry->Title();
+  entry_data->url = entry->URL();
+  entry_data->display_url = url_formatter::FormatUrl(
+      entry->URL(),
+      url_formatter::kFormatUrlOmitDefaults |
+          url_formatter::kFormatUrlOmitHTTPS |
+          url_formatter::kFormatUrlOmitTrivialSubdomains |
+          url_formatter::kFormatUrlTrimAfterHost,
+      net::UnescapeRule::NORMAL, nullptr, nullptr, nullptr);
+  entry_data->update_time = entry->UpdateTime();
+  entry_data->display_time_since_update =
+      GetTimeSinceLastUpdate(entry->UpdateTime());
+
+  return entry_data;
+}
+
+base::string16 ReadLaterPageHandler::GetTimeSinceLastUpdate(
+    int64_t last_update_time) {
+  const int64_t now = TimeToUS(clock_->Now());
+  if (last_update_time > now)
+    return base::string16();
+  const base::TimeDelta elapsed_time =
+      base::TimeDelta::FromMicroseconds(now - last_update_time);
+  return ui::TimeFormat::Simple(ui::TimeFormat::FORMAT_ELAPSED,
+                                ui::TimeFormat::LENGTH_SHORT, elapsed_time);
+}
diff --git a/chrome/browser/ui/webui/read_later/read_later_page_handler.h b/chrome/browser/ui/webui/read_later/read_later_page_handler.h
new file mode 100644
index 0000000..5bcf496
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/read_later_page_handler.h
@@ -0,0 +1,59 @@
+// 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_UI_WEBUI_READ_LATER_READ_LATER_PAGE_HANDLER_H_
+#define CHROME_BROWSER_UI_WEBUI_READ_LATER_READ_LATER_PAGE_HANDLER_H_
+
+#include "chrome/browser/ui/webui/read_later/read_later.mojom.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
+#include "ui/webui/mojo_web_ui_controller.h"
+
+namespace base {
+class Clock;
+}
+
+class Browser;
+class GURL;
+class ReadingListEntry;
+class ReadingListModel;
+
+class ReadLaterPageHandler : public read_later::mojom::PageHandler {
+ public:
+  ReadLaterPageHandler(
+      mojo::PendingReceiver<read_later::mojom::PageHandler> receiver,
+      mojo::PendingRemote<read_later::mojom::Page> page);
+  ReadLaterPageHandler(const ReadLaterPageHandler&) = delete;
+  ReadLaterPageHandler& operator=(const ReadLaterPageHandler&) = delete;
+  ~ReadLaterPageHandler() override;
+
+  // read_later::mojom::PageHandler:
+  void GetReadLaterEntries(GetReadLaterEntriesCallback callback) override;
+  void OpenSavedEntry(const GURL& url) override;
+  void UpdateReadStatus(const GURL& url, bool read) override;
+  void RemoveEntry(const GURL& url) override;
+
+ private:
+  // Gets the reading list entry data used for displaying to the user and
+  // triggering actions.
+  read_later::mojom::ReadLaterEntryPtr GetEntryData(
+      const ReadingListEntry* entry);
+
+  // Converts |last_update_time| from microseconds since epoch in Unix-like
+  // system (Jan 1, 1970), since this is how ReadingListEntry's |update_time| is
+  // stored, to a localized representation as a delay (e.g. "5 minutes ago").
+  base::string16 GetTimeSinceLastUpdate(int64_t last_update_time);
+
+  mojo::Receiver<read_later::mojom::PageHandler> receiver_;
+  mojo::Remote<read_later::mojom::Page> page_;
+  Browser* const browser_;
+
+  base::Clock* clock_;
+
+  ReadingListModel* reading_list_model_ = nullptr;
+};
+
+#endif  // CHROME_BROWSER_UI_WEBUI_READ_LATER_READ_LATER_PAGE_HANDLER_H_
diff --git a/chrome/browser/ui/webui/read_later/read_later_page_handler_unittest.cc b/chrome/browser/ui/webui/read_later/read_later_page_handler_unittest.cc
new file mode 100644
index 0000000..e24589d
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/read_later_page_handler_unittest.cc
@@ -0,0 +1,196 @@
+// 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/ui/webui/read_later/read_later_page_handler.h"
+
+#include <memory>
+#include <string>
+#include <utility>
+
+#include "base/test/bind_test_util.h"
+#include "chrome/browser/ui/browser_commands.h"
+#include "chrome/browser/ui/browser_list.h"
+#include "chrome/browser/ui/read_later/read_later_test_utils.h"
+#include "chrome/browser/ui/read_later/reading_list_model_factory.h"
+#include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/test/base/browser_with_test_window_test.h"
+#include "chrome/test/base/test_browser_window.h"
+#include "components/reading_list/core/reading_list_model.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "url/gurl.h"
+
+namespace {
+
+constexpr char kTabUrl1[] = "http://foo/1";
+constexpr char kTabUrl2[] = "http://foo/2";
+constexpr char kTabUrl3[] = "http://foo/3";
+constexpr char kTabUrl4[] = "http://foo/4";
+
+constexpr char kTabName1[] = "Tab 1";
+constexpr char kTabName2[] = "Tab 2";
+constexpr char kTabName3[] = "Tab 3";
+constexpr char kTabName4[] = "Tab 4";
+
+class MockPage : public read_later::mojom::Page {
+ public:
+  MockPage() = default;
+  ~MockPage() override = default;
+
+  mojo::PendingRemote<read_later::mojom::Page> BindAndGetRemote() {
+    DCHECK(!receiver_.is_bound());
+    return receiver_.BindNewPipeAndPassRemote();
+  }
+  mojo::Receiver<read_later::mojom::Page> receiver_{this};
+};
+
+void ExpectNewReadLaterEntry(const read_later::mojom::ReadLaterEntry* entry,
+                             const GURL& url,
+                             const std::string& title) {
+  EXPECT_EQ(title, entry->title);
+  EXPECT_EQ(url.spec(), entry->url.spec());
+}
+
+class TestReadLaterPageHandler : public ReadLaterPageHandler {
+ public:
+  explicit TestReadLaterPageHandler(
+      mojo::PendingRemote<read_later::mojom::Page> page)
+      : ReadLaterPageHandler(
+            mojo::PendingReceiver<read_later::mojom::PageHandler>(),
+            std::move(page)) {}
+};
+
+class TestReadLaterPageHandlerTest : public BrowserWithTestWindowTest {
+ public:
+  void SetUp() override {
+    BrowserWithTestWindowTest::SetUp();
+    BrowserList::SetLastActive(browser());
+    handler_ =
+        std::make_unique<TestReadLaterPageHandler>(page_.BindAndGetRemote());
+    model_ =
+        ReadingListModelFactory::GetForBrowserContext(browser()->profile());
+    test::ReadingListLoadObserver(model_).Wait();
+
+    AddTabWithTitle(browser(), GURL(kTabUrl1), kTabName1);
+    AddTabWithTitle(browser(), GURL(kTabUrl2), kTabName2);
+    AddTabWithTitle(browser(), GURL(kTabUrl3), kTabName3);
+    AddTabWithTitle(browser(), GURL(kTabUrl4), kTabName4);
+
+    model()->AddEntry(GURL(kTabUrl1), kTabName1,
+                      reading_list::EntrySource::ADDED_VIA_CURRENT_APP);
+    model()->AddEntry(GURL(kTabUrl3), kTabName3,
+                      reading_list::EntrySource::ADDED_VIA_CURRENT_APP);
+  }
+
+  void TearDown() override {
+    browser()->tab_strip_model()->CloseAllTabs();
+    BrowserWithTestWindowTest::TearDown();
+  }
+
+  TestingProfile::TestingFactories GetTestingFactories() override {
+    return {{ReadingListModelFactory::GetInstance(),
+             ReadingListModelFactory::GetDefaultFactoryForTesting()}};
+  }
+
+  ReadingListModel* model() { return model_; }
+  TestReadLaterPageHandler* handler() { return handler_.get(); }
+
+ protected:
+  void AddTabWithTitle(Browser* browser,
+                       const GURL url,
+                       const std::string title) {
+    AddTab(browser, url);
+    NavigateAndCommitActiveTabWithTitle(browser, url,
+                                        base::ASCIIToUTF16(title));
+  }
+
+ private:
+  testing::StrictMock<MockPage> page_;
+  std::unique_ptr<TestReadLaterPageHandler> handler_;
+  ReadingListModel* model_;
+};
+
+TEST_F(TestReadLaterPageHandlerTest, GetReadLaterEntries) {
+  // Get Read later entries.
+  read_later::mojom::PageHandler::GetReadLaterEntriesCallback callback1 =
+      base::BindLambdaForTesting(
+          [&](read_later::mojom::ReadLaterEntriesByStatusPtr
+                  entries_by_status) {
+            ASSERT_EQ(2u, entries_by_status->unread_entries.size());
+            ASSERT_EQ(0u, entries_by_status->read_entries.size());
+
+            // Verify the entries appear in order of last added to first.
+            auto* entry1 = entries_by_status->unread_entries[0].get();
+            ExpectNewReadLaterEntry(entry1, GURL(kTabUrl3), kTabName3);
+
+            auto* entry2 = entries_by_status->unread_entries[1].get();
+            ExpectNewReadLaterEntry(entry2, GURL(kTabUrl1), kTabName1);
+          });
+
+  handler()->GetReadLaterEntries(std::move(callback1));
+}
+
+TEST_F(TestReadLaterPageHandlerTest, OpenSavedEntry) {
+  // Check that OpenSavedEntry opens a new tab.
+  EXPECT_EQ(browser()->tab_strip_model()->count(), 4);
+  handler()->OpenSavedEntry(GURL(kTabUrl3));
+  EXPECT_EQ(browser()->tab_strip_model()->count(), 5);
+
+  // Get Read later entries.
+  read_later::mojom::PageHandler::GetReadLaterEntriesCallback callback1 =
+      base::BindLambdaForTesting(
+          [&](read_later::mojom::ReadLaterEntriesByStatusPtr
+                  entries_by_status) {
+            ASSERT_EQ(1u, entries_by_status->unread_entries.size());
+            ASSERT_EQ(1u, entries_by_status->read_entries.size());
+
+            auto* entry1 = entries_by_status->unread_entries[0].get();
+            ExpectNewReadLaterEntry(entry1, GURL(kTabUrl1), kTabName1);
+
+            auto* entry2 = entries_by_status->read_entries[0].get();
+            ExpectNewReadLaterEntry(entry2, GURL(kTabUrl3), kTabName3);
+          });
+
+  handler()->GetReadLaterEntries(std::move(callback1));
+}
+
+TEST_F(TestReadLaterPageHandlerTest, UpdateReadStatus) {
+  handler()->UpdateReadStatus(GURL(kTabUrl3), true);
+
+  // Get Read later entries.
+  read_later::mojom::PageHandler::GetReadLaterEntriesCallback callback1 =
+      base::BindLambdaForTesting(
+          [&](read_later::mojom::ReadLaterEntriesByStatusPtr
+                  entries_by_status) {
+            ASSERT_EQ(1u, entries_by_status->unread_entries.size());
+            ASSERT_EQ(1u, entries_by_status->read_entries.size());
+
+            auto* entry1 = entries_by_status->unread_entries[0].get();
+            ExpectNewReadLaterEntry(entry1, GURL(kTabUrl1), kTabName1);
+
+            auto* entry2 = entries_by_status->read_entries[0].get();
+            ExpectNewReadLaterEntry(entry2, GURL(kTabUrl3), kTabName3);
+          });
+
+  handler()->GetReadLaterEntries(std::move(callback1));
+}
+
+TEST_F(TestReadLaterPageHandlerTest, RemoveEntry) {
+  handler()->RemoveEntry(GURL(kTabUrl3));
+
+  // Get Read later entries.
+  read_later::mojom::PageHandler::GetReadLaterEntriesCallback callback1 =
+      base::BindLambdaForTesting(
+          [&](read_later::mojom::ReadLaterEntriesByStatusPtr
+                  entries_by_status) {
+            ASSERT_EQ(1u, entries_by_status->unread_entries.size());
+            ASSERT_EQ(0u, entries_by_status->read_entries.size());
+
+            auto* entry1 = entries_by_status->unread_entries[0].get();
+            ExpectNewReadLaterEntry(entry1, GURL(kTabUrl1), kTabName1);
+          });
+
+  handler()->GetReadLaterEntries(std::move(callback1));
+}
+
+}  // namespace
diff --git a/chrome/browser/ui/webui/read_later/read_later_ui.cc b/chrome/browser/ui/webui/read_later/read_later_ui.cc
new file mode 100644
index 0000000..a5a4cc2
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/read_later_ui.cc
@@ -0,0 +1,39 @@
+// 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/ui/webui/read_later/read_later_ui.h"
+
+#include <utility>
+
+#include "chrome/browser/ui/webui/read_later/read_later_page_handler.h"
+#include "chrome/common/webui_url_constants.h"
+#include "content/public/browser/web_contents.h"
+#include "content/public/browser/web_ui.h"
+#include "content/public/browser/web_ui_data_source.h"
+
+ReadLaterUI::ReadLaterUI(content::WebUI* web_ui)
+    : ui::MojoWebUIController(web_ui) {
+  content::WebUIDataSource* source =
+      content::WebUIDataSource::Create(chrome::kChromeUIReadLaterHost);
+  content::WebUIDataSource::Add(web_ui->GetWebContents()->GetBrowserContext(),
+                                source);
+}
+
+ReadLaterUI::~ReadLaterUI() = default;
+
+WEB_UI_CONTROLLER_TYPE_IMPL(ReadLaterUI)
+
+void ReadLaterUI::BindInterface(
+    mojo::PendingReceiver<read_later::mojom::PageHandlerFactory> receiver) {
+  page_factory_receiver_.reset();
+  page_factory_receiver_.Bind(std::move(receiver));
+}
+
+void ReadLaterUI::CreatePageHandler(
+    mojo::PendingRemote<read_later::mojom::Page> page,
+    mojo::PendingReceiver<read_later::mojom::PageHandler> receiver) {
+  DCHECK(page);
+  page_handler_ = std::make_unique<ReadLaterPageHandler>(std::move(receiver),
+                                                         std::move(page));
+}
diff --git a/chrome/browser/ui/webui/read_later/read_later_ui.h b/chrome/browser/ui/webui/read_later/read_later_ui.h
new file mode 100644
index 0000000..a558b72
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/read_later_ui.h
@@ -0,0 +1,46 @@
+// 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_UI_WEBUI_READ_LATER_READ_LATER_UI_H_
+#define CHROME_BROWSER_UI_WEBUI_READ_LATER_READ_LATER_UI_H_
+
+#include <memory>
+
+#include "base/macros.h"
+#include "chrome/browser/ui/webui/read_later/read_later.mojom.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+#include "ui/webui/mojo_web_ui_controller.h"
+
+class ReadLaterPageHandler;
+
+class ReadLaterUI : public ui::MojoWebUIController,
+                    public read_later::mojom::PageHandlerFactory {
+ public:
+  explicit ReadLaterUI(content::WebUI* web_ui);
+  ReadLaterUI(const ReadLaterUI&) = delete;
+  ReadLaterUI& operator=(const ReadLaterUI&) = delete;
+  ~ReadLaterUI() override;
+
+  // Instantiates the implementor of the mojom::PageHandlerFactory mojo
+  // interface passing the pending receiver that will be internally bound.
+  void BindInterface(
+      mojo::PendingReceiver<read_later::mojom::PageHandlerFactory> receiver);
+
+ private:
+  // read_later::mojom::PageHandlerFactory:
+  void CreatePageHandler(
+      mojo::PendingRemote<read_later::mojom::Page> page,
+      mojo::PendingReceiver<read_later::mojom::PageHandler> receiver) override;
+
+  std::unique_ptr<ReadLaterPageHandler> page_handler_;
+
+  mojo::Receiver<read_later::mojom::PageHandlerFactory> page_factory_receiver_{
+      this};
+
+  WEB_UI_CONTROLLER_TYPE_DECL();
+};
+
+#endif  // CHROME_BROWSER_UI_WEBUI_READ_LATER_READ_LATER_UI_H_
diff --git a/chrome/browser/ui/webui/settings/about_handler.cc b/chrome/browser/ui/webui/settings/about_handler.cc
index 0f802b0..549152c3 100644
--- a/chrome/browser/ui/webui/settings/about_handler.cc
+++ b/chrome/browser/ui/webui/settings/about_handler.cc
@@ -565,6 +565,13 @@
   channel_info->SetString("currentChannel", current_channel);
   channel_info->SetString("targetChannel", target_channel);
 
+  // For the LTS pilot simply check whether the device policy is set and ignore
+  // its value.
+  std::string value;
+  bool is_lts = chromeos::CrosSettings::Get()->GetString(
+      chromeos::kReleaseLtsTag, &value);
+  channel_info->SetBoolean("isLts", is_lts);
+
   ResolveJavascriptCallback(base::Value(callback_id), *channel_info);
 }
 
diff --git a/chrome/browser/ui/webui/settings/chromeos/about_section.cc b/chrome/browser/ui/webui/settings/chromeos/about_section.cc
index a8b46471..c32688e 100644
--- a/chrome/browser/ui/webui/settings/chromeos/about_section.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/about_section.cc
@@ -233,6 +233,8 @@
     {"aboutChannelDev", IDS_SETTINGS_ABOUT_PAGE_CURRENT_CHANNEL_DEV},
     {"aboutChannelLabel", IDS_SETTINGS_ABOUT_PAGE_CHANNEL},
     {"aboutChannelStable", IDS_SETTINGS_ABOUT_PAGE_CURRENT_CHANNEL_STABLE},
+    {"aboutChannelLongTermStable",
+     IDS_SETTINGS_ABOUT_PAGE_CURRENT_CHANNEL_STABLE_TT},
     {"aboutCheckForUpdates", IDS_SETTINGS_ABOUT_PAGE_CHECK_FOR_UPDATES},
     {"aboutCurrentlyOnChannel", IDS_SETTINGS_ABOUT_PAGE_CURRENT_CHANNEL},
     {"aboutDetailedBuildInfo", IDS_SETTINGS_ABOUT_PAGE_DETAILED_BUILD_INFO},
diff --git a/chrome/browser/ui/webui/settings/chromeos/internet_section.cc b/chrome/browser/ui/webui/settings/chromeos/internet_section.cc
index 80441110..374f992 100644
--- a/chrome/browser/ui/webui/settings/chromeos/internet_section.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/internet_section.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/no_destructor.h"
 #include "base/strings/stringprintf.h"
+#include "chrome/browser/ui/webui/chromeos/cellular_setup/cellular_setup_localized_strings_provider.h"
 #include "chrome/browser/ui/webui/chromeos/network_element_localized_strings_provider.h"
 #include "chrome/browser/ui/webui/settings/chromeos/constants/routes.mojom.h"
 #include "chrome/browser/ui/webui/settings/chromeos/internet_handler.h"
@@ -661,11 +662,15 @@
   };
   AddLocalizedStringsBulk(html_source, kLocalizedStrings);
 
-  chromeos::network_element::AddLocalizedStrings(html_source);
-  chromeos::network_element::AddOncLocalizedStrings(html_source);
-  chromeos::network_element::AddDetailsLocalizedStrings(html_source);
-  chromeos::network_element::AddConfigLocalizedStrings(html_source);
-  chromeos::network_element::AddErrorLocalizedStrings(html_source);
+  network_element::AddLocalizedStrings(html_source);
+  network_element::AddOncLocalizedStrings(html_source);
+  network_element::AddDetailsLocalizedStrings(html_source);
+  network_element::AddConfigLocalizedStrings(html_source);
+  network_element::AddErrorLocalizedStrings(html_source);
+  if (base::FeatureList::IsEnabled(
+          chromeos::features::kUpdatedCellularActivationUi)) {
+    cellular_setup::AddLocalizedStrings(html_source);
+  }
 
   html_source->AddBoolean("showTechnologyBadge",
                           !ash::features::IsSeparateNetworkIconsEnabled());
diff --git a/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc b/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc
index e625820a..2fecfec 100644
--- a/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc
@@ -24,6 +24,7 @@
 #include "chrome/grit/os_settings_resources.h"
 #include "chrome/grit/os_settings_resources_map.h"
 #include "chromeos/constants/chromeos_features.h"
+#include "chromeos/services/cellular_setup/cellular_setup_impl.h"
 #include "components/pref_registry/pref_registry_syncable.h"
 #include "components/prefs/pref_service.h"
 #include "content/public/browser/web_ui_data_source.h"
@@ -118,6 +119,12 @@
 }
 
 void OSSettingsUI::BindInterface(
+    mojo::PendingReceiver<cellular_setup::mojom::CellularSetup> receiver) {
+  cellular_setup::CellularSetupImpl::CreateAndBindToReciever(
+      std::move(receiver));
+}
+
+void OSSettingsUI::BindInterface(
     mojo::PendingReceiver<network_config::mojom::CrosNetworkConfig> receiver) {
   ash::GetNetworkConfigService(std::move(receiver));
 }
diff --git a/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.h b/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.h
index cd8e806..01c2ebfb 100644
--- a/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.h
+++ b/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.h
@@ -14,6 +14,7 @@
 #include "chrome/browser/ui/webui/settings/chromeos/app_management/app_management_page_handler_factory.h"
 #include "chrome/browser/ui/webui/settings/chromeos/search/user_action_recorder.mojom-forward.h"
 #include "chrome/browser/ui/webui/webui_load_timer.h"
+#include "chromeos/services/cellular_setup/public/mojom/cellular_setup.mojom-forward.h"
 #include "chromeos/services/network_config/public/mojom/cros_network_config.mojom-forward.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "ui/webui/mojo_web_ui_controller.h"
@@ -37,6 +38,11 @@
   explicit OSSettingsUI(content::WebUI* web_ui);
   ~OSSettingsUI() override;
 
+  // Instantiates implementor of the mojom::CellularSetup mojo interface
+  // passing the pending receiver that will be internally bound.
+  void BindInterface(
+      mojo::PendingReceiver<cellular_setup::mojom::CellularSetup> receiver);
+
   // Instantiates implementor of the mojom::CrosNetworkConfig mojo interface
   // passing the pending receiver that will be internally bound.
   void BindInterface(
diff --git a/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc b/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc
index 85887e9b..299fdea 100644
--- a/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc
+++ b/chrome/browser/ui/webui/settings/settings_secure_dns_handler.cc
@@ -205,7 +205,6 @@
   net::DnsConfigOverrides overrides;
   overrides.search = std::vector<std::string>();
   overrides.attempts = 1;
-  overrides.randomize_ports = false;
   overrides.secure_dns_mode = net::DnsConfig::SecureDnsMode::SECURE;
   secure_dns::ApplyTemplate(&overrides, server_template);
   DCHECK(!runner_);
diff --git a/chrome/browser/ui/webui/snippets_internals/snippets_internals_page_handler.cc b/chrome/browser/ui/webui/snippets_internals/snippets_internals_page_handler.cc
index 94804307..aa0f46e 100644
--- a/chrome/browser/ui/webui/snippets_internals/snippets_internals_page_handler.cc
+++ b/chrome/browser/ui/webui/snippets_internals/snippets_internals_page_handler.cc
@@ -49,9 +49,9 @@
       continue;
 
     for (variations::IDCollectionKey key :
-         {variations::GOOGLE_WEB_PROPERTIES,
+         {variations::GOOGLE_WEB_PROPERTIES_ANY_CONTEXT,
           variations::GOOGLE_WEB_PROPERTIES_SIGNED_IN,
-          variations::GOOGLE_WEB_PROPERTIES_TRIGGER}) {
+          variations::GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT}) {
       const variations::VariationID id = variations::GetGoogleVariationID(
           key, trial->trial_name(), trial->group_name());
       if (id != variations::EMPTY_ID) {
diff --git a/chrome/browser/ui/webui/tab_search/tab_search.mojom b/chrome/browser/ui/webui/tab_search/tab_search.mojom
index 2f5d895d..c6893eb1 100644
--- a/chrome/browser/ui/webui/tab_search/tab_search.mojom
+++ b/chrome/browser/ui/webui/tab_search/tab_search.mojom
@@ -74,6 +74,10 @@
 // WebUI-side handler for requests from the browser.
 interface Page {
   // Callback when any tabs in the current profile are
-  // added/changed/removed/navigated to new URL
+  // selected/inserted/removed/moved/replaced
   TabsChanged();
+
+  // Callback when a tab is updated within the same web contents.
+  // e.g. url, title or favicon changed.
+  TabUpdated(Tab tab);
 };
diff --git a/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc b/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc
index 6fc31ba5..22ebccfe 100644
--- a/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc
+++ b/chrome/browser/ui/webui/tab_search/tab_search_page_handler.cc
@@ -195,8 +195,12 @@
                                         TabChangeType change_type) {
   // TODO(crbug.com/1112496): Support more values for TabChangeType and filter
   // out the changes we are not interested in.
-  if (change_type == TabChangeType::kAll)
-    ScheduleDebounce();
+  if (change_type != TabChangeType::kAll)
+    return;
+  Browser* browser = chrome::FindBrowserWithWebContents(contents);
+  if (!browser)
+    return;
+  page_->TabUpdated(GetTabData(browser->tab_strip_model(), contents, index));
 }
 
 void TabSearchPageHandler::ScheduleDebounce() {
diff --git a/chrome/browser/ui/webui/tab_search/tab_search_page_handler_unittest.cc b/chrome/browser/ui/webui/tab_search/tab_search_page_handler_unittest.cc
index e4b2066..294bd385 100644
--- a/chrome/browser/ui/webui/tab_search/tab_search_page_handler_unittest.cc
+++ b/chrome/browser/ui/webui/tab_search/tab_search_page_handler_unittest.cc
@@ -18,6 +18,9 @@
 #include "testing/gmock/include/gmock/gmock.h"
 #include "ui/gfx/color_utils.h"
 
+using testing::_;
+using testing::Truly;
+
 namespace {
 
 constexpr char kTabUrl1[] = "http://foo/1";
@@ -44,6 +47,7 @@
   mojo::Receiver<tab_search::mojom::Page> receiver_{this};
 
   MOCK_METHOD0(TabsChanged, void());
+  MOCK_METHOD1(TabUpdated, void(tab_search::mojom::TabPtr));
 };
 
 void ExpectNewTab(const tab_search::mojom::Tab* tab,
@@ -179,6 +183,7 @@
   AddTabWithTitle(browser1(), GURL(kTabUrl1), kTabName1);
 
   EXPECT_CALL(page_, TabsChanged()).Times(1);
+  EXPECT_CALL(page_, TabUpdated(_)).Times(2);
   handler()->mock_debounce_timer()->Fire();
 
   int32_t tab_id2 = 0;
@@ -246,6 +251,7 @@
 // timer fires.
 TEST_F(TabSearchPageHandlerTest, TabsChanged) {
   EXPECT_CALL(page_, TabsChanged()).Times(4);
+  EXPECT_CALL(page_, TabUpdated(_)).Times(1);
   FireTimer();  // Will call TabsChanged().
 
   // Add 2 tabs in browser1.
@@ -276,6 +282,7 @@
 // will not call TabsChanged().
 TEST_F(TabSearchPageHandlerTest, TabsNotChanged) {
   EXPECT_CALL(page_, TabsChanged()).Times(1);
+  EXPECT_CALL(page_, TabUpdated(_)).Times(0);
   FireTimer();  // Will call TabsChanged().
   ASSERT_FALSE(IsTimerRunning());
   AddTabWithTitle(browser3(), GURL(kTabUrl1),
@@ -286,6 +293,22 @@
   ASSERT_FALSE(IsTimerRunning());
 }
 
+bool VerifyTabUpdated(const tab_search::mojom::TabPtr& tab) {
+  ExpectNewTab(tab.get(), kTabUrl1, kTabName1, 1);
+  return true;
+}
+
+// Verify tab update event is called correctly with data
+TEST_F(TabSearchPageHandlerTest, TabUpdated) {
+  EXPECT_CALL(page_, TabsChanged()).Times(1);
+  EXPECT_CALL(page_, TabUpdated(Truly(VerifyTabUpdated))).Times(1);
+  AddTabWithTitle(browser1(), GURL(kTabUrl1), kTabName1);
+  // Adding the following tab will trigger TabUpdated() to the first tab
+  // since the tab index will change from 0 to 1
+  AddTabWithTitle(browser1(), GURL(kTabUrl2), kTabName2);
+  FireTimer();
+}
+
 TEST_F(TabSearchPageHandlerTest, CloseTab) {
   AddTabWithTitle(browser1(), GURL(kTabUrl1), kTabName1);
   AddTabWithTitle(browser2(), GURL(kTabUrl2), kTabName2);
@@ -296,6 +319,7 @@
   int tab_id = extensions::ExtensionTabUtil::GetTabId(
       browser2()->tab_strip_model()->GetWebContentsAt(0));
   EXPECT_CALL(page_, TabsChanged()).Times(1);
+  EXPECT_CALL(page_, TabUpdated(_)).Times(1);
   handler()->CloseTab(tab_id);
   ASSERT_EQ(1, browser1()->tab_strip_model()->count());
   ASSERT_EQ(1, browser2()->tab_strip_model()->count());
diff --git a/chrome/browser/ui/webui/webui_util.cc b/chrome/browser/ui/webui/webui_util.cc
index 204b24b3..e27b04b 100644
--- a/chrome/browser/ui/webui/webui_util.cc
+++ b/chrome/browser/ui/webui/webui_util.cc
@@ -16,7 +16,7 @@
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/browser_process_platform_part.h"
 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
-#elif defined(OS_WIN) || defined(OS_APPLE)
+#elif defined(OS_WIN) || defined(OS_MAC)
 #include "base/enterprise_util.h"
 #endif
 
@@ -88,7 +88,7 @@
   policy::BrowserPolicyConnectorChromeOS* connector =
       g_browser_process->platform_part()->browser_policy_connector_chromeos();
   return connector->IsEnterpriseManaged();
-#elif defined(OS_WIN) || defined(OS_APPLE)
+#elif defined(OS_WIN) || defined(OS_MAC)
   return base::IsMachineExternallyManaged();
 #else
   return false;
diff --git a/chrome/browser/video_tutorials/BUILD.gn b/chrome/browser/video_tutorials/BUILD.gn
index 9dfa984..c661d23 100644
--- a/chrome/browser/video_tutorials/BUILD.gn
+++ b/chrome/browser/video_tutorials/BUILD.gn
@@ -17,8 +17,6 @@
   public_deps = [
     ":factory",
     ":public",
-    "//base",
-    "//url:url",
   ]
 
   deps = [ "internal" ]
@@ -33,11 +31,24 @@
     "video_tutorial_service.h",
   ]
 
+  deps = []
+
   public_deps = [
     "//base",
     "//components/keyed_service/core",
     "//url:url",
   ]
+
+  if (is_android) {
+    sources += [
+      "android/tutorial_conversion_bridge.cc",
+      "android/tutorial_conversion_bridge.h",
+      "android/video_tutorial_service_bridge.cc",
+      "android/video_tutorial_service_bridge.h",
+    ]
+
+    deps += [ ":jni_headers" ]
+  }
 }
 
 source_set("factory") {
@@ -59,13 +70,35 @@
     sources = [
       "android/java/src/org/chromium/chrome/browser/video_tutorials/Tutorial.java",
       "android/java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialService.java",
+      "android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/TutorialConversionBridge.java",
+      "android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/VideoTutorialServiceBridge.java",
     ]
 
     deps = [
       "//base:base_java",
+      "//base:jni_java",
       "//components/browser_ui/widget/android:java",
       "//third_party/android_deps:androidx_annotation_annotation_java",
     ]
+
+    srcjar_deps = [ ":jni_enums" ]
+
+    annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
+  }
+
+  generate_jni("jni_headers") {
+    visibility = [ ":*" ]
+
+    sources = [
+      "android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/TutorialConversionBridge.java",
+      "android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/VideoTutorialServiceBridge.java",
+    ]
+  }
+
+  java_cpp_enum("jni_enums") {
+    visibility = [ "*" ]
+
+    sources = [ "tutorial.h" ]
   }
 }
 
diff --git a/chrome/browser/video_tutorials/android/java/src/org/chromium/chrome/browser/video_tutorials/Tutorial.java b/chrome/browser/video_tutorials/android/java/src/org/chromium/chrome/browser/video_tutorials/Tutorial.java
index d634e13..48c4972 100644
--- a/chrome/browser/video_tutorials/android/java/src/org/chromium/chrome/browser/video_tutorials/Tutorial.java
+++ b/chrome/browser/video_tutorials/android/java/src/org/chromium/chrome/browser/video_tutorials/Tutorial.java
@@ -10,10 +10,26 @@
  * Class encapsulating data needed to show a video tutorial on the UI.
  */
 public class Tutorial extends ImageTile {
-    // TODO(shaktisahu): Add video tutorial specific fields.
+    public final @FeatureType int featureType;
+    public final String videoUrl;
+    public final String posterUrl;
+    public final String captionUrl;
+    public final String shareUrl;
+    public final int videoLength;
 
     /** Constructor */
-    public Tutorial(String id, String displayTitle, String accessibilityText) {
-        super(id, displayTitle, accessibilityText);
+    public Tutorial(@FeatureType int featureType, String title, String videoUrl, String posterUrl,
+            String captionUrl, String shareUrl, int videoLength) {
+        super(createIdFromFeatureType(featureType), title, title);
+        this.featureType = featureType;
+        this.videoUrl = videoUrl;
+        this.posterUrl = posterUrl;
+        this.captionUrl = captionUrl;
+        this.shareUrl = shareUrl;
+        this.videoLength = videoLength;
+    }
+
+    private static String createIdFromFeatureType(int featureType) {
+        return String.valueOf(featureType);
     }
 }
diff --git a/chrome/browser/video_tutorials/android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/TutorialConversionBridge.java b/chrome/browser/video_tutorials/android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/TutorialConversionBridge.java
new file mode 100644
index 0000000..0449b8c7
--- /dev/null
+++ b/chrome/browser/video_tutorials/android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/TutorialConversionBridge.java
@@ -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.
+
+package org.chromium.chrome.browser.video_tutorials.bridges;
+
+import androidx.annotation.Nullable;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.JNINamespace;
+import org.chromium.chrome.browser.video_tutorials.Tutorial;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Helper class to provide conversion methods between C++ and Java for video tutorials.
+ */
+@JNINamespace("video_tutorials")
+public class TutorialConversionBridge {
+    @CalledByNative
+    private static List<Tutorial> createList() {
+        return new ArrayList<>();
+    }
+
+    @CalledByNative
+    private static Tutorial createTutorialAndMaybeAddToList(@Nullable List<Tutorial> list,
+            int featureType, String title, String videoUrl, String posterUrl, String captionUrl,
+            String shareUrl, int videoLength) {
+        Tutorial tutorial = new Tutorial(
+                featureType, title, videoUrl, posterUrl, captionUrl, shareUrl, videoLength);
+        if (list != null) list.add(tutorial);
+        return tutorial;
+    }
+}
diff --git a/chrome/browser/video_tutorials/android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/VideoTutorialServiceBridge.java b/chrome/browser/video_tutorials/android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/VideoTutorialServiceBridge.java
new file mode 100644
index 0000000..df85749
--- /dev/null
+++ b/chrome/browser/video_tutorials/android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/VideoTutorialServiceBridge.java
@@ -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.
+
+package org.chromium.chrome.browser.video_tutorials.bridges;
+
+import org.chromium.base.Callback;
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.JNINamespace;
+import org.chromium.chrome.browser.video_tutorials.Tutorial;
+import org.chromium.chrome.browser.video_tutorials.VideoTutorialService;
+
+import java.util.List;
+
+/**
+ * Bridge to the native video tutorial service for the given {@link Profile}.
+ */
+@JNINamespace("video_tutorials")
+public class VideoTutorialServiceBridge implements VideoTutorialService {
+    private long mNativeVideoTutorialServiceBridge;
+
+    @CalledByNative
+    private static VideoTutorialServiceBridge create(long nativePtr) {
+        return new VideoTutorialServiceBridge(nativePtr);
+    }
+
+    private VideoTutorialServiceBridge(long nativePtr) {
+        mNativeVideoTutorialServiceBridge = nativePtr;
+    }
+
+    @Override
+    public void getTutorials(Callback<List<Tutorial>> callback) {
+        callback.onResult(null);
+    }
+
+    @CalledByNative
+    private void clearNativePtr() {
+        mNativeVideoTutorialServiceBridge = 0;
+    }
+}
diff --git a/chrome/browser/video_tutorials/android/tutorial_conversion_bridge.cc b/chrome/browser/video_tutorials/android/tutorial_conversion_bridge.cc
new file mode 100644
index 0000000..cbae6c3
--- /dev/null
+++ b/chrome/browser/video_tutorials/android/tutorial_conversion_bridge.cc
@@ -0,0 +1,45 @@
+// 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/video_tutorials/android/tutorial_conversion_bridge.h"
+
+#include <memory>
+#include <string>
+
+#include "base/android/jni_array.h"
+#include "base/android/jni_string.h"
+#include "chrome/browser/video_tutorials/jni_headers/TutorialConversionBridge_jni.h"
+
+namespace video_tutorials {
+
+using base::android::ConvertUTF8ToJavaString;
+using base::android::ToJavaArrayOfStrings;
+
+ScopedJavaLocalRef<jobject> CreateJavaTutorialAndMaybeAddToList(
+    JNIEnv* env,
+    ScopedJavaLocalRef<jobject> jlist,
+    const Tutorial& tutorial) {
+  return Java_TutorialConversionBridge_createTutorialAndMaybeAddToList(
+      env, jlist, static_cast<int>(tutorial.feature),
+      ConvertUTF8ToJavaString(env, tutorial.title),
+      ConvertUTF8ToJavaString(env, tutorial.video_url.spec()),
+      ConvertUTF8ToJavaString(env, tutorial.poster_url.spec()),
+      ConvertUTF8ToJavaString(env, tutorial.caption_url.spec()),
+      ConvertUTF8ToJavaString(env, tutorial.share_url.spec()),
+      tutorial.video_length);
+}
+
+ScopedJavaLocalRef<jobject> TutorialConversionBridge::CreateJavaTutorials(
+    JNIEnv* env,
+    const std::vector<Tutorial>& tutorials) {
+  ScopedJavaLocalRef<jobject> jlist =
+      Java_TutorialConversionBridge_createList(env);
+
+  for (const auto& tutorial : tutorials)
+    CreateJavaTutorialAndMaybeAddToList(env, jlist, tutorial);
+
+  return jlist;
+}
+
+}  // namespace video_tutorials
diff --git a/chrome/browser/video_tutorials/android/tutorial_conversion_bridge.h b/chrome/browser/video_tutorials/android/tutorial_conversion_bridge.h
new file mode 100644
index 0000000..0bba1ed
--- /dev/null
+++ b/chrome/browser/video_tutorials/android/tutorial_conversion_bridge.h
@@ -0,0 +1,28 @@
+// 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_VIDEO_TUTORIALS_ANDROID_TUTORIAL_CONVERSION_BRIDGE_H_
+#define CHROME_BROWSER_VIDEO_TUTORIALS_ANDROID_TUTORIAL_CONVERSION_BRIDGE_H_
+
+#include <vector>
+
+#include "base/android/jni_android.h"
+#include "chrome/browser/video_tutorials/tutorial.h"
+
+using base::android::ScopedJavaLocalRef;
+
+namespace video_tutorials {
+
+// Helper class providing video tutorial conversion utility methods between C++
+// and Java.
+class TutorialConversionBridge {
+ public:
+  static ScopedJavaLocalRef<jobject> CreateJavaTutorials(
+      JNIEnv* env,
+      const std::vector<Tutorial>& tutorials);
+};
+
+}  // namespace video_tutorials
+
+#endif  // CHROME_BROWSER_VIDEO_TUTORIALS_ANDROID_TUTORIAL_CONVERSION_BRIDGE_H_
diff --git a/chrome/browser/video_tutorials/android/video_tutorial_service_bridge.cc b/chrome/browser/video_tutorials/android/video_tutorial_service_bridge.cc
new file mode 100644
index 0000000..c658779
--- /dev/null
+++ b/chrome/browser/video_tutorials/android/video_tutorial_service_bridge.cc
@@ -0,0 +1,55 @@
+// 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/video_tutorials/android/video_tutorial_service_bridge.h"
+
+#include <memory>
+#include <vector>
+
+#include "base/android/callback_android.h"
+#include "base/android/jni_string.h"
+#include "base/bind.h"
+#include "chrome/browser/video_tutorials/jni_headers/VideoTutorialServiceBridge_jni.h"
+
+using base::android::AttachCurrentThread;
+
+namespace video_tutorials {
+namespace {
+
+const char kVideoTutorialServiceBridgeKey[] = "video_tutorial_service_bridge";
+
+}  // namespace
+
+// static
+ScopedJavaLocalRef<jobject>
+VideoTutorialServiceBridge::GetBridgeForVideoTutorialService(
+    VideoTutorialService* video_tutorial_service) {
+  if (!video_tutorial_service->GetUserData(kVideoTutorialServiceBridgeKey)) {
+    video_tutorial_service->SetUserData(
+        kVideoTutorialServiceBridgeKey,
+        std::make_unique<VideoTutorialServiceBridge>(video_tutorial_service));
+  }
+
+  VideoTutorialServiceBridge* bridge = static_cast<VideoTutorialServiceBridge*>(
+      video_tutorial_service->GetUserData(kVideoTutorialServiceBridgeKey));
+
+  return ScopedJavaLocalRef<jobject>(bridge->java_obj_);
+}
+
+VideoTutorialServiceBridge::VideoTutorialServiceBridge(
+    VideoTutorialService* video_tutorial_service)
+    : video_tutorial_service_(video_tutorial_service) {
+  DCHECK(video_tutorial_service_);
+  JNIEnv* env = base::android::AttachCurrentThread();
+  java_obj_.Reset(env, Java_VideoTutorialServiceBridge_create(
+                           env, reinterpret_cast<int64_t>(this))
+                           .obj());
+}
+
+VideoTutorialServiceBridge::~VideoTutorialServiceBridge() {
+  JNIEnv* env = base::android::AttachCurrentThread();
+  Java_VideoTutorialServiceBridge_clearNativePtr(env, java_obj_);
+}
+
+}  // namespace video_tutorials
diff --git a/chrome/browser/video_tutorials/android/video_tutorial_service_bridge.h b/chrome/browser/video_tutorials/android/video_tutorial_service_bridge.h
new file mode 100644
index 0000000..76b5f2fd
--- /dev/null
+++ b/chrome/browser/video_tutorials/android/video_tutorial_service_bridge.h
@@ -0,0 +1,45 @@
+// 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_VIDEO_TUTORIALS_ANDROID_VIDEO_TUTORIAL_SERVICE_BRIDGE_H_
+#define CHROME_BROWSER_VIDEO_TUTORIALS_ANDROID_VIDEO_TUTORIAL_SERVICE_BRIDGE_H_
+
+#include "base/android/jni_android.h"
+#include "base/supports_user_data.h"
+#include "chrome/browser/video_tutorials/video_tutorial_service.h"
+
+using base::android::JavaParamRef;
+using base::android::JavaRef;
+using base::android::ScopedJavaGlobalRef;
+using base::android::ScopedJavaLocalRef;
+
+namespace video_tutorials {
+
+// Helper class responsible for bridging the VideoTutorialService between C++
+// and Java.
+class VideoTutorialServiceBridge : public base::SupportsUserData::Data {
+ public:
+  // Returns a Java VideoTutorialServiceBridge for |video_tutorial_service|.
+  // There will be only one bridge per VideoTutorialServiceBridge.
+  static ScopedJavaLocalRef<jobject> GetBridgeForVideoTutorialService(
+      VideoTutorialService* video_tutorial_service);
+
+  explicit VideoTutorialServiceBridge(
+      VideoTutorialService* video_tutorial_service);
+  ~VideoTutorialServiceBridge() override;
+
+ private:
+  // A reference to the Java counterpart of this class.  See
+  // VideoTutorialServiceBridge.java.
+  ScopedJavaGlobalRef<jobject> java_obj_;
+
+  // Not owned.
+  VideoTutorialService* video_tutorial_service_;
+
+  DISALLOW_COPY_AND_ASSIGN(VideoTutorialServiceBridge);
+};
+
+}  // namespace video_tutorials
+
+#endif  // CHROME_BROWSER_VIDEO_TUTORIALS_ANDROID_VIDEO_TUTORIAL_SERVICE_BRIDGE_H_
diff --git a/chrome/browser/video_tutorials/android/video_tutorial_service_bridge_factory.cc b/chrome/browser/video_tutorials/android/video_tutorial_service_bridge_factory.cc
new file mode 100644
index 0000000..66f9ee29
--- /dev/null
+++ b/chrome/browser/video_tutorials/android/video_tutorial_service_bridge_factory.cc
@@ -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.
+
+#include "base/android/jni_android.h"
+#include "chrome/android/chrome_jni_headers/VideoTutorialServiceFactory_jni.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_android.h"
+#include "chrome/browser/profiles/profile_key.h"
+#include "chrome/browser/video_tutorials/android/video_tutorial_service_bridge.h"
+#include "chrome/browser/video_tutorials/video_tutorial_service_factory.h"
+
+// Takes a Java Profile and returns a Java VideoTutorialService.
+static base::android::ScopedJavaLocalRef<jobject>
+JNI_VideoTutorialServiceFactory_GetForProfile(
+    JNIEnv* env,
+    const base::android::JavaParamRef<jobject>& j_profile) {
+  Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile);
+  ProfileKey* profile_key = profile->GetProfileKey();
+
+  // Return null if there is no reasonable context for the provided Java
+  // profile.
+  if (profile_key == nullptr)
+    return base::android::ScopedJavaLocalRef<jobject>();
+
+  video_tutorials::VideoTutorialService* tile_service =
+      video_tutorials::VideoTutorialServiceFactory::GetInstance()->GetForKey(
+          profile_key);
+  return video_tutorials::VideoTutorialServiceBridge::
+      GetBridgeForVideoTutorialService(tile_service);
+}
diff --git a/chrome/browser/video_tutorials/tutorial.h b/chrome/browser/video_tutorials/tutorial.h
index d43c79b2..d14ca3c 100644
--- a/chrome/browser/video_tutorials/tutorial.h
+++ b/chrome/browser/video_tutorials/tutorial.h
@@ -12,6 +12,8 @@
 
 // Please align this enum with
 // chrome/browser/video_tutorials/proto/video_tutorials.proto.
+// A Java counterpart will be generated for this enum.
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.video_tutorials
 enum class FeatureType {
   kTest = -1,
   kInvalid = 0,
diff --git a/chrome/browser/web_applications/extensions/bookmark_app_install_finalizer_unittest.cc b/chrome/browser/web_applications/extensions/bookmark_app_install_finalizer_unittest.cc
index 6a8387667..8e866392 100644
--- a/chrome/browser/web_applications/extensions/bookmark_app_install_finalizer_unittest.cc
+++ b/chrome/browser/web_applications/extensions/bookmark_app_install_finalizer_unittest.cc
@@ -72,12 +72,12 @@
               nullptr,
               nullptr) {}
 
-    void OnUnpackSuccess(
-        const base::FilePath& temp_dir,
-        const base::FilePath& extension_dir,
+    void OnUnpackSuccessOnSharedFileThread(
+        base::FilePath temp_dir,
+        base::FilePath extension_dir,
         std::unique_ptr<base::DictionaryValue> original_manifest,
-        const Extension* extension,
-        const SkBitmap& install_icon,
+        scoped_refptr<const Extension> extension,
+        SkBitmap install_icon,
         declarative_net_request::RulesetChecksums ruleset_checksums) override {
       run_loop_.Quit();
     }
diff --git a/chrome/browser/web_applications/system_web_app_manager.cc b/chrome/browser/web_applications/system_web_app_manager.cc
index 41323da5..41de312 100644
--- a/chrome/browser/web_applications/system_web_app_manager.cc
+++ b/chrome/browser/web_applications/system_web_app_manager.cc
@@ -734,6 +734,12 @@
 }
 
 bool SystemWebAppManager::NeedsUpdate() const {
+  if (base::FeatureList::IsEnabled(features::kAlwaysReinstallSystemWebApps))
+    return true;
+
+  if (update_policy_ == UpdatePolicy::kAlwaysUpdate)
+    return true;
+
   base::Version current_installed_version(
       pref_service_->GetString(prefs::kSystemWebAppLastUpdateVersion));
 
@@ -749,17 +755,7 @@
   // are in sync with current language.
   const bool localeIsDifferent = current_installed_locale != CurrentLocale();
 
-  const bool should_update = versionIsDifferent || localeIsDifferent;
-
-  if (should_update) {
-    return true;
-  }
-
-  if (update_policy_ == UpdatePolicy::kAlwaysUpdate) {
-    return true;
-  }
-
-  return false;
+  return versionIsDifferent || localeIsDifferent;
 }
 
 void SystemWebAppManager::UpdateLastAttemptedInfo() {
diff --git a/chrome/browser/web_applications/system_web_app_manager.h b/chrome/browser/web_applications/system_web_app_manager.h
index bcce1af..efad5e0d3 100644
--- a/chrome/browser/web_applications/system_web_app_manager.h
+++ b/chrome/browser/web_applications/system_web_app_manager.h
@@ -224,6 +224,8 @@
   void SetSystemAppsForTesting(
       base::flat_map<SystemAppType, SystemAppInfo> system_apps);
 
+  // Overrides the update policy. If AlwaysReinstallSystemWebApps feature is
+  // enabled, this method does nothing, and system apps will be reinstalled.
   void SetUpdatePolicyForTesting(UpdatePolicy policy);
 
   void ResetOnAppsSynchronizedForTesting();
diff --git a/chrome/browser/web_applications/system_web_app_manager_unittest.cc b/chrome/browser/web_applications/system_web_app_manager_unittest.cc
index 3584ced6..86fb858 100644
--- a/chrome/browser/web_applications/system_web_app_manager_unittest.cc
+++ b/chrome/browser/web_applications/system_web_app_manager_unittest.cc
@@ -998,4 +998,44 @@
   EXPECT_FALSE(install_requests[6].force_reinstall);
 }
 
+TEST_F(SystemWebAppManagerTest, ForceReinstallFeature) {
+  const std::vector<ExternalInstallOptions>& install_requests =
+      pending_app_manager().install_requests();
+
+  InitEmptyRegistrar();
+  system_web_app_manager().SetUpdatePolicy(
+      SystemWebAppManager::UpdatePolicy::kOnVersionChange);
+
+  // Register a test system app.
+  base::flat_map<SystemAppType, SystemAppInfo> system_apps;
+  system_apps.emplace(SystemAppType::SETTINGS,
+                      SystemAppInfo(kSettingsAppNameForLogging, AppUrl1()));
+  system_web_app_manager().SetSystemAppsForTesting(system_apps);
+
+  // Install the App normally.
+  {
+    PrepareSystemAppDataToRetrieve({{AppUrl1(), AppIconUrl1()}});
+    PrepareLoadUrlResults({AppUrl1()});
+    StartAndWaitForAppsToSynchronize();
+
+    EXPECT_EQ(1u, install_requests.size());
+    EXPECT_TRUE(IsInstalled(AppUrl1()));
+  }
+
+  // Enable AlwaysReinstallSystemWebApps feature, verify force_reinstall is set.
+  {
+    base::test::ScopedFeatureList feature_reinstall;
+    feature_reinstall.InitAndEnableFeature(
+        features::kAlwaysReinstallSystemWebApps);
+
+    PrepareSystemAppDataToRetrieve({{AppUrl1(), AppIconUrl1()}});
+    PrepareLoadUrlResults({AppUrl1()});
+    StartAndWaitForAppsToSynchronize();
+
+    EXPECT_EQ(2u, install_requests.size());
+    EXPECT_TRUE(install_requests[1].force_reinstall);
+    EXPECT_TRUE(IsInstalled(AppUrl1()));
+  }
+}
+
 }  // namespace web_app
diff --git a/chrome/browser/xsurface/android/java/src/org/chromium/chrome/browser/xsurface/ListContentManager.java b/chrome/browser/xsurface/android/java/src/org/chromium/chrome/browser/xsurface/ListContentManager.java
index c64ab60..436487b 100644
--- a/chrome/browser/xsurface/android/java/src/org/chromium/chrome/browser/xsurface/ListContentManager.java
+++ b/chrome/browser/xsurface/android/java/src/org/chromium/chrome/browser/xsurface/ListContentManager.java
@@ -40,11 +40,22 @@
      * View should not be attached to parent. {@link bindNativeView} will
      * be called later to attach more information to the view.
      */
-    default View getNativeView(int index, ViewGroup parent) {
+    default View getNativeView(int viewType, ViewGroup parent) {
         return null;
     }
 
     /**
+     * Returns the view type for item at position.
+     *
+     * The view type is later passed to getNativeView to attach the view.
+     * This will only be called when isNativeView(position) is true.
+     */
+    default int getViewType(int position) {
+        // This is an incorrect, but backwards compatible implementation.
+        return position;
+    }
+
+    /**
      * Binds the data at the specified location.
      */
     default void bindNativeView(int index, View v) {}
diff --git a/chrome/browser/xsurface/android/java/src/org/chromium/chrome/browser/xsurface/ProcessScopeDependencyProvider.java b/chrome/browser/xsurface/android/java/src/org/chromium/chrome/browser/xsurface/ProcessScopeDependencyProvider.java
index eb9b8c5..f07608a8 100644
--- a/chrome/browser/xsurface/android/java/src/org/chromium/chrome/browser/xsurface/ProcessScopeDependencyProvider.java
+++ b/chrome/browser/xsurface/android/java/src/org/chromium/chrome/browser/xsurface/ProcessScopeDependencyProvider.java
@@ -46,4 +46,18 @@
     default ImageFetchClient getImageFetchClient() {
         return null;
     }
+
+    // Posts task to the UI thread.
+    int TASK_TYPE_UI_THREAD = 1;
+    // Posts to a background thread. The task may block.
+    int TASK_TYPE_BACKGROUND_MAY_BLOCK = 2;
+
+    /**
+     * Runs task on a Chrome executor, see PostTask.java.
+     *
+     * @param taskType Type of task to run. Determines which thread and what priority is used.
+     * @param task The task to run
+     * @param delayMs The delay before executing the task in milliseconds.
+     */
+    default void postTask(int taskType, Runnable task, long delayMs) {}
 }
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt
index af00b4d0..72a0722 100644
--- a/chrome/build/mac.pgo.txt
+++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@
-chrome-mac-master-1597838234-9c863d7c9dc15ae374a8358c943ba78053f4a35c.profdata
+chrome-mac-master-1597967068-f4dc3a01dd1d9ac3893254a5c720534a30d259cc.profdata
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index e2f4a3a..f54b4ddf 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -40,6 +40,11 @@
     "AllowDisableMouseAcceleration", base::FEATURE_ENABLED_BY_DEFAULT};
 #endif
 
+// Always reinstall system web apps, instead of only doing so after version
+// upgrade or locale changes.
+const base::Feature kAlwaysReinstallSystemWebApps{
+    "ReinstallSystemWebApps", base::FEATURE_DISABLED_BY_DEFAULT};
+
 #if defined(OS_ANDROID)
 const base::Feature kAndroidDarkSearch{"AndroidDarkSearch",
                                        base::FEATURE_DISABLED_BY_DEFAULT};
@@ -340,6 +345,10 @@
 const base::Feature kFlocIdComputedEventLogging{
     "FlocIdComputedEventLogging", base::FEATURE_DISABLED_BY_DEFAULT};
 
+// If enabled, a computed floc will be invalidated if it appears in a blocklist.
+const base::Feature kFlocIdBlocklistFiltering{
+    "FlocIdBlocklistFiltering", base::FEATURE_DISABLED_BY_DEFAULT};
+
 // Enables Focus Mode which brings up a PWA-like window look.
 const base::Feature kFocusMode{"FocusMode", base::FEATURE_DISABLED_BY_DEFAULT};
 
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
index e45d156..939a47f 100644
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -46,6 +46,9 @@
 extern const base::Feature kAllowDisableMouseAcceleration;
 #endif  // defined(OS_CHROMEOS)
 
+COMPONENT_EXPORT(CHROME_FEATURES)
+extern const base::Feature kAlwaysReinstallSystemWebApps;
+
 #if defined(OS_ANDROID)
 COMPONENT_EXPORT(CHROME_FEATURES)
 extern const base::Feature kAndroidDarkSearch;
@@ -229,6 +232,9 @@
 extern const base::Feature kFlocIdComputedEventLogging;
 
 COMPONENT_EXPORT(CHROME_FEATURES)
+extern const base::Feature kFlocIdBlocklistFiltering;
+
+COMPONENT_EXPORT(CHROME_FEATURES)
 extern const base::Feature kFocusMode;
 
 #if defined(OS_WIN)
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index 242182f..0271d5b 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -275,6 +275,10 @@
 // Proxy component within the service process.
 const char kEnableCloudPrintProxy[]         = "enable-cloud-print-proxy";
 
+// Enables CriticalPersistedTabData - redesign/replacement for TabState
+const char kEnableCriticalPersistedTabData[] =
+    "enable-critical-persisted-tab-data";
+
 // Enable device discovery notifications.
 const char kEnableDeviceDiscoveryNotifications[] =
     "enable-device-discovery-notifications";
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index 18d500b..b5fb4bc 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -89,6 +89,7 @@
 extern const char kEnableAutoReload[];
 extern const char kEnableBookmarkUndo[];
 extern const char kEnableCloudPrintProxy[];
+extern const char kEnableCriticalPersistedTabData[];
 extern const char kEnableDeviceDiscoveryNotifications[];
 extern const char kEnableDomainReliability[];
 extern const char kEnableExtensionActivityLogging[];
diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/common/extensions/api/_permission_features.json
index 6b3e4ed..2ef6412 100644
--- a/chrome/common/extensions/api/_permission_features.json
+++ b/chrome/common/extensions/api/_permission_features.json
@@ -737,7 +737,7 @@
     ]
   },
   "search": {
-    "channel": "dev",
+    "channel": "stable",
     "extension_types": ["extension"]
   },
   "sessions": {
diff --git a/chrome/common/url_constants.cc b/chrome/common/url_constants.cc
index 167997635..ba72f29 100644
--- a/chrome/common/url_constants.cc
+++ b/chrome/common/url_constants.cc
@@ -320,8 +320,11 @@
 const char kChromeOSCreditsPath[] =
     "/opt/google/chrome/resources/about_os_credits.html";
 
+// TODO(carpenterr): Have a solution for plink mapping in Help App.
+// The magic numbers in this url are the topic and article ids currently
+// required to navigate directly to a help article in the Help App.
 const char kChromeOSGestureEducationHelpURL[] =
-    "https://support.google.com/chromebook?p=tablet_mode_gestures";
+    "chrome://help-app/help/sub/3399710/id/9739838";
 
 const char kChromePaletteHelpURL[] =
     "https://support.google.com/chromebook?p=stylus_help";
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
index 2032b49..202d666 100644
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
@@ -199,6 +199,8 @@
 const char kChromeUIWebApksHost[] = "webapks";
 #else
 const char kChromeUINearbyInternalsHost[] = "nearby-internals";
+const char kChromeUIReadLaterHost[] = "read-later";
+const char kChromeUIReadLaterURL[] = "chrome://read-later/";
 #endif
 
 #if defined(OS_CHROMEOS)
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
index 430bd549..b97d699 100644
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -197,6 +197,8 @@
 extern const char kChromeUIWebApksHost[];
 #else
 extern const char kChromeUINearbyInternalsHost[];
+extern const char kChromeUIReadLaterHost[];
+extern const char kChromeUIReadLaterURL[];
 #endif  // defined(OS_ANDROID)
 
 #if defined(OS_CHROMEOS)
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 62c1d6a..69c6bfad 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -543,6 +543,43 @@
     ]
   }
 
+  test("android_sync_integration_tests") {
+    configs += [ "//build/config:precompiled_headers" ]
+    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
+    use_default_launcher = false
+    android_manifest =
+        "${target_gen_dir}/android_browsertests_manifest/AndroidManifest.xml"
+    android_manifest_dep = ":android_browsertests_manifest"
+
+    deps = [
+      ":android_browsertests_assets",
+      ":android_browsertests_java",
+      ":browser_tests_runner",
+      ":sync_integration_test_support",
+      ":sync_integration_test_support_java",
+      ":test_support",
+      ":test_support_java",
+      ":test_support_ui_android",
+      "//chrome:chrome_android_core",
+      "//chrome/android:app_hooks_java",
+      "//content/test:android_test_message_pump_support",
+      "//testing/android/native_test:native_test_support",
+    ]
+
+    sources = [
+      "../browser/sync/test/integration/single_client_typed_urls_sync_test.cc",
+      "android/browsertests_apk/android_browsertests_jni_onload.cc",
+    ]
+
+    data = [
+      "$root_gen_dir/chrome/android/chrome_apk_paks/chrome_100_percent.pak",
+      "$root_gen_dir/chrome/android/chrome_apk_paks/locales/en-US.pak",
+      "$root_gen_dir/chrome/android/chrome_apk_paks/resources.pak",
+      "$root_gen_dir/components/components_resources.pak",
+      "$root_gen_dir/components/dev_ui_components_resources.pak",
+    ]
+  }
+
   static_library("test_support_ui_android") {
     configs += [ "//build/config:precompiled_headers" ]
     testonly = true
@@ -3283,7 +3320,6 @@
     "../browser/mac/exception_processor_unittest.mm",
     "../browser/mac/keystone_glue_unittest.mm",
     "../browser/media/android/router/media_router_android_unittest.cc",
-    "../browser/media/cast_mirroring_service_host_unittest.cc",
     "../browser/media/history/media_history_keyed_service_unittest.cc",
     "../browser/media/history/media_history_store_unittest.cc",
     "../browser/media/media_engagement_contents_observer_unittest.cc",
@@ -3311,6 +3347,7 @@
     "../browser/navigation_predictor/navigation_predictor_renderer_warmup_client_unittest.cc",
     "../browser/navigation_predictor/navigation_predictor_unittest.cc",
     "../browser/net/chrome_network_delegate_unittest.cc",
+    "../browser/net/chrome_report_sender_unittest.cc",
     "../browser/net/dns_probe_runner_unittest.cc",
     "../browser/net/dns_probe_service_factory_unittest.cc",
     "../browser/net/file_downloader_unittest.cc",
@@ -3735,6 +3772,7 @@
       "../browser/nearby_sharing/nearby_share_settings_unittest.cc",
       "../browser/nearby_sharing/nearby_sharing_service_impl_unittest.cc",
       "../browser/nearby_sharing/paired_key_verification_runner_unittest.cc",
+      "../browser/nearby_sharing/payload_tracker_unittest.cc",
       "../browser/nearby_sharing/webrtc_signaling_messenger_unittest.cc",
       "../browser/password_manager/generated_password_leak_detection_pref_unittest.cc",
       "../browser/performance_manager/test_support/page_discarding_utils.cc",
@@ -4319,6 +4357,8 @@
       "../browser/ui/passwords/credential_leak_dialog_controller_impl_unittest.cc",
       "../browser/ui/passwords/credential_manager_dialog_controller_impl_unittest.cc",
       "../browser/ui/qrcode_generator/qrcode_generator_bubble_controller_unittest.cc",
+      "../browser/ui/read_later/read_later_test_utils.cc",
+      "../browser/ui/read_later/read_later_test_utils.h",
       "../browser/ui/recently_audible_helper_unittest.cc",
       "../browser/ui/search/ntp_user_data_logger_unittest.cc",
       "../browser/ui/search/omnibox_mojo_utils_unittest.cc",
@@ -4368,6 +4408,7 @@
       "../browser/ui/webui/management_ui_handler_unittest.cc",
       "../browser/ui/webui/new_tab_page/new_tab_page_handler_unittest.cc",
       "../browser/ui/webui/new_tab_page/promo_browser_command/promo_browser_command_handler_unittest.cc",
+      "../browser/ui/webui/read_later/read_later_page_handler_unittest.cc",
       "../browser/ui/webui/sanitized_image_source_unittest.cc",
       "../browser/ui/webui/settings/downloads_handler_unittest.cc",
       "../browser/ui/webui/settings/hats_handler_unittest.cc",
@@ -4954,6 +4995,7 @@
       "../browser/extensions/warning_badge_service_unittest.cc",
       "../browser/extensions/webstore_installer_unittest.cc",
       "../browser/extensions/zipfile_installer_unittest.cc",
+      "../browser/media/cast_mirroring_service_host_unittest.cc",
       "../browser/media/cast_transport_host_filter_unittest.cc",
       "../browser/metrics/extensions_metrics_provider_unittest.cc",
       "../browser/notifications/notification_system_observer_unittest.cc",
@@ -5133,6 +5175,10 @@
         "../browser/media_galleries/win/mtp_device_object_enumerator_unittest.cc",
       ]
     }
+    if (is_mac) {
+      sources +=
+          [ "../browser/ui/startup/mac_system_infobar_delegate_unittest.cc" ]
+    }
     if (is_chromeos) {
       sources += [
         "../browser/chromeos/extensions/extensions_permissions_tracker_unittest.cc",
@@ -6448,6 +6494,8 @@
       "../browser/sync/test/integration/sync_signin_delegate.h",
       "../browser/sync/test/integration/sync_test.cc",
       "../browser/sync/test/integration/sync_test.h",
+      "../browser/sync/test/integration/typed_urls_helper.cc",
+      "../browser/sync/test/integration/typed_urls_helper.h",
       "../browser/sync/test/integration/updated_progress_marker_checker.cc",
       "../browser/sync/test/integration/updated_progress_marker_checker.h",
     ]
@@ -6509,8 +6557,6 @@
         "../browser/sync/test/integration/sync_signin_delegate_desktop.h",
         "../browser/sync/test/integration/themes_helper.cc",
         "../browser/sync/test/integration/themes_helper.h",
-        "../browser/sync/test/integration/typed_urls_helper.cc",
-        "../browser/sync/test/integration/typed_urls_helper.h",
         "../browser/sync/test/integration/user_events_helper.cc",
         "../browser/sync/test/integration/user_events_helper.h",
         "../browser/sync/test/integration/wallet_helper.cc",
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/browser/tab/MockTab.java b/chrome/test/android/javatests/src/org/chromium/chrome/browser/tab/MockTab.java
index 70d004d0..ae046e19 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/browser/tab/MockTab.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/browser/tab/MockTab.java
@@ -18,7 +18,7 @@
      */
     public static Tab createAndInitialize(int id, boolean incognito) {
         TabImpl tab = new MockTab(id, incognito);
-        tab.initialize(null, null, null, null, null, false, null);
+        tab.initialize(null, null, null, null, null, false, null, null);
         return tab;
     }
 
@@ -38,7 +38,7 @@
     public void initialize(Tab parent, @Nullable @TabCreationState Integer creationState,
             LoadUrlParams loadUrlParams, WebContents webContents,
             @Nullable TabDelegateFactory delegateFactory, boolean initiallyHidden,
-            TabState tabState) {
+            TabState tabState, byte[] serializedCriticalPersistedTabData) {
         TabHelpers.initTabHelpers(this, parent);
     }
 }
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabCreator.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabCreator.java
index dca4c6f5..07882423 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabCreator.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabCreator.java
@@ -51,7 +51,7 @@
     }
 
     @Override
-    public Tab createFrozenTab(TabState state, int id, int index) {
+    public Tab createFrozenTab(TabState state, byte[] criticalPersistedTabData, int id, int index) {
         Tab tab = new MockTab(id, state.isIncognito(), TabLaunchType.FROM_RESTORE);
         TabTestUtils.restoreFieldsFromState(tab, state);
         mSelector.getModel(mIsIncognito)
diff --git a/chrome/test/chromedriver/chrome/chrome_finder.cc b/chrome/test/chromedriver/chrome/chrome_finder.cc
index c748518..ba8a3ae4 100644
--- a/chrome/test/chromedriver/chrome/chrome_finder.cc
+++ b/chrome/test/chromedriver/chrome/chrome_finder.cc
@@ -33,13 +33,16 @@
 #if defined(OS_WIN)
 void GetApplicationDirs(std::vector<base::FilePath>* locations) {
   std::vector<base::FilePath> installation_locations;
-  base::FilePath local_app_data, program_files, program_files_x86;
+  base::FilePath local_app_data, program_files, program_files_x86,
+      program_files_64_32;
   if (base::PathService::Get(base::DIR_LOCAL_APP_DATA, &local_app_data))
     installation_locations.push_back(local_app_data);
   if (base::PathService::Get(base::DIR_PROGRAM_FILES, &program_files))
     installation_locations.push_back(program_files);
   if (base::PathService::Get(base::DIR_PROGRAM_FILESX86, &program_files_x86))
     installation_locations.push_back(program_files_x86);
+  if (base::PathService::Get(base::DIR_PROGRAM_FILES6432, &program_files_64_32))
+    installation_locations.push_back(program_files_64_32);
 
   for (size_t i = 0; i < installation_locations.size(); ++i) {
     locations->push_back(
diff --git a/chrome/test/chromedriver/chrome/mobile_device_list.cc b/chrome/test/chromedriver/chrome/mobile_device_list.cc
index cf505c6..19a5991 100644
--- a/chrome/test/chromedriver/chrome/mobile_device_list.cc
+++ b/chrome/test/chromedriver/chrome/mobile_device_list.cc
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// This file was generated at (2018-01-22 12:56:00.187529) by running:
+// This file was generated by running:
 //     ./chrome/test/chromedriver/embed_mobile_devices_in_cpp.py --directory
 //     chrome/test/chromedriver/chrome/
-//     third_party/WebKit/Source/devtools/front_end/emulated_devices/module.json
+//     third_party/devtools-frontend/src/front_end/emulated_devices/module.json
 
 #include "chrome/test/chromedriver/chrome/mobile_device_list.h"
 
@@ -22,19 +22,19 @@
     "Safari/537.10+\"}, \"Nexus 6\": {\"deviceScaleFactor\": 3.5, \"mobile\": "
     "true, \"height\": 732, \"width\": 412, \"touch\": true, \"userAgent\": "
     "\"Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) "
-    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3329.0 Mobile "
+    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4239.0 Mobile "
     "Safari/537.36\"}, \"Nexus 7\": {\"deviceScaleFactor\": 2, \"mobile\": "
     "true, \"height\": 960, \"width\": 600, \"touch\": true, \"userAgent\": "
     "\"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) "
-    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3329.0 "
+    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4239.0 "
     "Safari/537.36\"}, \"Nexus 4\": {\"deviceScaleFactor\": 2, \"mobile\": "
     "true, \"height\": 640, \"width\": 384, \"touch\": true, \"userAgent\": "
     "\"Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) "
-    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3329.0 Mobile "
+    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4239.0 Mobile "
     "Safari/537.36\"}, \"Nexus 5\": {\"deviceScaleFactor\": 3, \"mobile\": "
     "true, \"height\": 640, \"width\": 360, \"touch\": true, \"userAgent\": "
     "\"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) "
-    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3329.0 Mobile "
+    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4239.0 Mobile "
     "Safari/537.36\"}, \"Blackberry PlayBook\": {\"deviceScaleFactor\": 1, "
     "\"mobile\": true, \"height\": 1024, \"width\": 600, \"touch\": true, "
     "\"userAgent\": \"Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) "
@@ -42,40 +42,48 @@
     "\"Pixel 2\": {\"deviceScaleFactor\": 2.625, \"mobile\": true, \"height\": "
     "731, \"width\": 411, \"touch\": true, \"userAgent\": \"Mozilla/5.0 "
     "(Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 "
-    "(KHTML, like Gecko) Chrome/66.0.3329.0 Mobile Safari/537.36\"}, \"Nexus "
+    "(KHTML, like Gecko) Chrome/86.0.4239.0 Mobile Safari/537.36\"}, \"Nexus "
     "6P\": {\"deviceScaleFactor\": 3.5, \"mobile\": true, \"height\": 732, "
     "\"width\": 412, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; "
     "Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, "
-    "like Gecko) Chrome/66.0.3329.0 Mobile Safari/537.36\"}, \"iPhone 8 "
+    "like Gecko) Chrome/86.0.4239.0 Mobile Safari/537.36\"}, \"iPhone 8 "
     "Plus\": {\"deviceScaleFactor\": 3, \"mobile\": true, \"height\": 736, "
     "\"width\": 414, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (iPhone; "
-    "CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like "
-    "Gecko) Version/11.0 Mobile/15A372 Safari/604.1\"}, \"iPhone 7 Plus\": "
+    "CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like "
+    "Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1\"}, \"iPhone 7 Plus\": "
     "{\"deviceScaleFactor\": 3, \"mobile\": true, \"height\": 736, \"width\": "
     "414, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (iPhone; CPU iPhone OS "
-    "11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 "
-    "Mobile/15A372 Safari/604.1\"}, \"Laptop with HiDPI screen\": "
-    "{\"deviceScaleFactor\": 2, \"mobile\": false, \"height\": 1440, "
-    "\"width\": 900, \"touch\": false, \"userAgent\": \"\"}, \"Nokia N9\": "
-    "{\"deviceScaleFactor\": 1, \"mobile\": true, \"height\": 854, \"width\": "
-    "480, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (MeeGo; NokiaN9) "
-    "AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile "
-    "Safari/534.13\"}, \"Nokia Lumia 520\": {\"deviceScaleFactor\": 1.5, "
-    "\"mobile\": true, \"height\": 533, \"width\": 320, \"touch\": true, "
-    "\"userAgent\": \"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; "
-    "Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)\"}, \"Galaxy "
-    "S5\": {\"deviceScaleFactor\": 3, \"mobile\": true, \"height\": 640, "
-    "\"width\": 360, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; "
-    "Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like "
-    "Gecko) Chrome/66.0.3329.0 Mobile Safari/537.36\"}, \"iPhone 7\": "
+    "13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) "
+    "Version/13.0.3 Mobile/15E148 Safari/604.1\"}, \"Laptop with HiDPI "
+    "screen\": {\"deviceScaleFactor\": 2, \"mobile\": false, \"height\": 1440, "
+    "\"width\": 900, \"touch\": false, \"userAgent\": \"\"}, \"Moto G4\": "
+    "{\"deviceScaleFactor\": 3, \"mobile\": true, \"height\": 640, \"width\": "
+    "360, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; Android 6.0.1; "
+    "Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4239.0 "
+    "Mobile Safari/537.36\"}, \"Nokia N9\": {\"deviceScaleFactor\": 1, "
+    "\"mobile\": true, \"height\": 854, \"width\": 480, \"touch\": true, "
+    "\"userAgent\": \"Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, "
+    "like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13\"}, \"Nokia Lumia "
+    "520\": {\"deviceScaleFactor\": 1.5, \"mobile\": true, \"height\": 533, "
+    "\"width\": 320, \"touch\": true, \"userAgent\": \"Mozilla/5.0 "
+    "(compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; "
+    "ARM; Touch; NOKIA; Lumia 520)\"}, \"Kindle Fire HDX\": "
+    "{\"deviceScaleFactor\": 2, \"mobile\": true, \"height\": 1280, \"width\": "
+    "800, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; U; en-us; "
+    "KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 "
+    "Safari/535.19 Silk-Accelerated=true\"}, \"Galaxy S5\": "
+    "{\"deviceScaleFactor\": 3, \"mobile\": true, \"height\": 640, \"width\": "
+    "360, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; Android 5.0; "
+    "SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) "
+    "Chrome/86.0.4239.0 Mobile Safari/537.36\"}, \"iPhone 7\": "
     "{\"deviceScaleFactor\": 2, \"mobile\": true, \"height\": 667, \"width\": "
     "375, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (iPhone; CPU iPhone OS "
-    "11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 "
-    "Mobile/15A372 Safari/604.1\"}, \"LG Optimus L70\": "
+    "13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) "
+    "Version/13.0.3 Mobile/15E148 Safari/604.1\"}, \"LG Optimus L70\": "
     "{\"deviceScaleFactor\": 1.25, \"mobile\": true, \"height\": 640, "
     "\"width\": 384, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; U; "
     "Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 "
-    "(KHTML, like Gecko) Version/4.0 Chrome/66.0.3329.0 Mobile "
+    "(KHTML, like Gecko) Version/4.0 Chrome/86.0.4239.0 Mobile "
     "Safari/537.36\"}, \"iPhone 5\": {\"deviceScaleFactor\": 2, \"mobile\": "
     "true, \"height\": 568, \"width\": 320, \"touch\": true, \"userAgent\": "
     "\"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) "
@@ -87,28 +95,32 @@
     "Safari/9537.53\"}, \"Nexus 10\": {\"deviceScaleFactor\": 2, \"mobile\": "
     "true, \"height\": 1280, \"width\": 800, \"touch\": true, \"userAgent\": "
     "\"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) "
-    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3329.0 "
+    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4239.0 "
     "Safari/537.36\"}, \"iPhone 8\": {\"deviceScaleFactor\": 2, \"mobile\": "
     "true, \"height\": 667, \"width\": 375, \"touch\": true, \"userAgent\": "
-    "\"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) "
-    "AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 "
+    "\"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) "
+    "AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 "
     "Safari/604.1\"}, \"iPhone 6\": {\"deviceScaleFactor\": 2, \"mobile\": "
     "true, \"height\": 667, \"width\": 375, \"touch\": true, \"userAgent\": "
-    "\"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) "
-    "AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 "
+    "\"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) "
+    "AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 "
     "Safari/604.1\"}, \"Galaxy S III\": {\"deviceScaleFactor\": 2, \"mobile\": "
     "true, \"height\": 640, \"width\": 360, \"touch\": true, \"userAgent\": "
     "\"Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) "
     "AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile "
     "Safari/534.30\"}, \"iPhone 6/7/8\": {\"deviceScaleFactor\": 2, "
     "\"mobile\": true, \"height\": 667, \"width\": 375, \"touch\": true, "
-    "\"userAgent\": \"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) "
-    "AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 "
+    "\"userAgent\": \"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) "
+    "AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 "
     "Safari/604.1\"}, \"iPhone SE\": {\"deviceScaleFactor\": 2, \"mobile\": "
     "true, \"height\": 568, \"width\": 320, \"touch\": true, \"userAgent\": "
     "\"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) "
     "AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 "
-    "Safari/602.1\"}, \"Microsoft Lumia 550\": {\"deviceScaleFactor\": 2, "
+    "Safari/602.1\"}, \"Galaxy Fold\": {\"deviceScaleFactor\": 3, \"mobile\": "
+    "true, \"height\": 653, \"width\": 280, \"touch\": true, \"userAgent\": "
+    "\"Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) "
+    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4239.0 Mobile "
+    "Safari/537.36\"}, \"Microsoft Lumia 550\": {\"deviceScaleFactor\": 2, "
     "\"mobile\": true, \"height\": 360, \"width\": 640, \"touch\": true, "
     "\"userAgent\": \"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; "
     "Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) "
@@ -127,38 +139,42 @@
     "5X\": {\"deviceScaleFactor\": 2.625, \"mobile\": true, \"height\": 732, "
     "\"width\": 412, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; "
     "Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, "
-    "like Gecko) Chrome/66.0.3329.0 Mobile Safari/537.36\"}, \"iPhone 6/7/8 "
+    "like Gecko) Chrome/86.0.4239.0 Mobile Safari/537.36\"}, \"iPhone 6/7/8 "
     "Plus\": {\"deviceScaleFactor\": 3, \"mobile\": true, \"height\": 736, "
     "\"width\": 414, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (iPhone; "
-    "CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like "
-    "Gecko) Version/11.0 Mobile/15A372 Safari/604.1\"}, \"Galaxy Note II\": "
+    "CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like "
+    "Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1\"}, \"Galaxy Note II\": "
     "{\"deviceScaleFactor\": 2, \"mobile\": true, \"height\": 640, \"width\": "
     "360, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; U; Android "
     "4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) "
     "Version/4.0 Mobile Safari/534.30\"}, \"iPhone 6 Plus\": "
     "{\"deviceScaleFactor\": 3, \"mobile\": true, \"height\": 736, \"width\": "
     "414, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (iPhone; CPU iPhone OS "
-    "11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 "
-    "Mobile/15A372 Safari/604.1\"}, \"iPhone X\": {\"deviceScaleFactor\": 3, "
-    "\"mobile\": true, \"height\": 812, \"width\": 375, \"touch\": true, "
-    "\"userAgent\": \"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) "
-    "AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 "
-    "Safari/604.1\"}, \"Microsoft Lumia 950\": {\"deviceScaleFactor\": 4, "
-    "\"mobile\": true, \"height\": 640, \"width\": 360, \"touch\": true, "
-    "\"userAgent\": \"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; "
-    "Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) "
-    "Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263\"}, \"Pixel 2 XL\": "
-    "{\"deviceScaleFactor\": 3.5, \"mobile\": true, \"height\": 823, "
+    "13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) "
+    "Version/13.0.3 Mobile/15E148 Safari/604.1\"}, \"iPhone X\": "
+    "{\"deviceScaleFactor\": 3, \"mobile\": true, \"height\": 812, \"width\": "
+    "375, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (iPhone; CPU iPhone OS "
+    "13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) "
+    "Version/13.0.3 Mobile/15E148 Safari/604.1\"}, \"Microsoft Lumia 950\": "
+    "{\"deviceScaleFactor\": 4, \"mobile\": true, \"height\": 640, \"width\": "
+    "360, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Windows Phone 10.0; "
+    "Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like "
+    "Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263\"}, \"Pixel "
+    "2 XL\": {\"deviceScaleFactor\": 3.5, \"mobile\": true, \"height\": 823, "
     "\"width\": 411, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; "
     "Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 "
-    "(KHTML, like Gecko) Chrome/66.0.3329.0 Mobile Safari/537.36\"}, \"Galaxy "
+    "(KHTML, like Gecko) Chrome/86.0.4239.0 Mobile Safari/537.36\"}, \"Galaxy "
     "Note 3\": {\"deviceScaleFactor\": 3, \"mobile\": true, \"height\": 640, "
     "\"width\": 360, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; U; "
     "Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, "
-    "like Gecko) Version/4.0 Mobile Safari/534.30\"}, \"Kindle Fire HDX\": "
-    "{\"deviceScaleFactor\": 2, \"mobile\": true, \"height\": 1280, \"width\": "
-    "800, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; U; en-us; "
-    "KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 "
-    "Safari/535.19 Silk-Accelerated=true\"}, \"Laptop with MDPI screen\": "
+    "like Gecko) Version/4.0 Mobile Safari/534.30\"}, \"JioPhone 2\": "
+    "{\"deviceScaleFactor\": 1, \"mobile\": true, \"height\": 320, \"width\": "
+    "240, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Mobile; "
+    "LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 "
+    "Firefox/48.0 KAIOS/2.5\"}, \"Laptop with MDPI screen\": "
     "{\"deviceScaleFactor\": 1, \"mobile\": false, \"height\": 1280, "
-    "\"width\": 800, \"touch\": false, \"userAgent\": \"\"}}";
+    "\"width\": 800, \"touch\": false, \"userAgent\": \"\"}, \"Surface Duo\": "
+    "{\"deviceScaleFactor\": 2.5, \"mobile\": true, \"height\": 720, "
+    "\"width\": 540, \"touch\": true, \"userAgent\": \"Mozilla/5.0 (Linux; "
+    "Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, "
+    "like Gecko) Chrome/86.0.4239.0 Mobile Safari/537.36\"}}";
diff --git a/chrome/test/chromedriver/chrome/mobile_device_list.h b/chrome/test/chromedriver/chrome/mobile_device_list.h
index 18d7414..e0e3eb97 100644
--- a/chrome/test/chromedriver/chrome/mobile_device_list.h
+++ b/chrome/test/chromedriver/chrome/mobile_device_list.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// This file was generated at (2018-01-22 12:56:00.187529) by running:
+// This file was generated by running:
 //     ./chrome/test/chromedriver/embed_mobile_devices_in_cpp.py --directory
 //     chrome/test/chromedriver/chrome/
-//     third_party/WebKit/Source/devtools/front_end/emulated_devices/module.json
+//     third_party/devtools-frontend/src/front_end/emulated_devices/module.json
 
 #ifndef CHROME_TEST_CHROMEDRIVER_CHROME_MOBILE_DEVICE_LIST_H_
 #define CHROME_TEST_CHROMEDRIVER_CHROME_MOBILE_DEVICE_LIST_H_
diff --git a/chrome/test/chromedriver/chrome/navigation_tracker.cc b/chrome/test/chromedriver/chrome/navigation_tracker.cc
index bbbccf3..826a231 100644
--- a/chrome/test/chromedriver/chrome/navigation_tracker.cc
+++ b/chrome/test/chromedriver/chrome/navigation_tracker.cc
@@ -17,10 +17,6 @@
 
 namespace {
 
-const char kAutomationExtensionBackgroundPage[] =
-    "chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/"
-    "_generated_background_page.html";
-
 // Match to content/browser/devtools/devTools_session const of same name
 const char kTargetClosedMessage[] = "Inspected target navigated or closed";
 
@@ -179,15 +175,7 @@
       *loading_state_ = kLoading;
       return Status(kOk);
     }
-    // If we're loading the ChromeDriver automation extension background page,
-    // look for a known function to determine the loading status.
-    if (base_url == kAutomationExtensionBackgroundPage) {
-      bool function_exists = false;
-      status = CheckFunctionExists(timeout, &function_exists);
-      if (status.IsError())
-        return MakeNavigationCheckFailedStatus(status);
-      *loading_state_ = function_exists ? kNotLoading : kLoading;
-    }
+
     status = UpdateCurrentLoadingState();
     if (status.code() == kNoSuchExecutionContext)
       *loading_state_ = kLoading;
diff --git a/chrome/test/chromedriver/embed_extension_in_cpp.py b/chrome/test/chromedriver/embed_extension_in_cpp.py
deleted file mode 100755
index d529650d..0000000
--- a/chrome/test/chromedriver/embed_extension_in_cpp.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2013 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.
-
-"""Embeds Chrome user data files in C++ code."""
-
-import base64
-import optparse
-import os
-import StringIO
-import sys
-import zipfile
-
-import cpp_source
-
-
-def main():
-  parser = optparse.OptionParser()
-  parser.add_option(
-      '', '--directory', type='string', default='.',
-      help='Path to directory where the cc/h  file should be created')
-  options, args = parser.parse_args()
-
-  global_string_map = {}
-  string_buffer = StringIO.StringIO()
-  zipper = zipfile.ZipFile(string_buffer, 'w')
-  for f in args:
-    zipper.write(f, os.path.basename(f), zipfile.ZIP_STORED)
-  zipper.close()
-  global_string_map['kAutomationExtension'] = base64.b64encode(
-      string_buffer.getvalue())
-  string_buffer.close()
-
-  cpp_source.WriteSource('embedded_automation_extension',
-                         'chrome/test/chromedriver/chrome',
-                         options.directory, global_string_map)
-
-
-if __name__ == '__main__':
-  sys.exit(main())
diff --git a/chrome/test/data/media/feeds/media-feed.json b/chrome/test/data/media/feeds/media-feed.json
index 5efa967..38e6292 100644
--- a/chrome/test/data/media/feeds/media-feed.json
+++ b/chrome/test/data/media/feeds/media-feed.json
@@ -31,7 +31,7 @@
           "userInteractionCount": "4"
         }
       ],
-      "name": "Anatomy of a Web Media Experience",
+      "name": "Anatomy of a Web Media Experience 😊",
       "potentialAction": {
         "@type": "WatchAction",
         "target": "https://www.youtube.com/watch?v=lXm6jOQLe1Y"
diff --git a/chrome/test/data/policy/policy_test_cases.json b/chrome/test/data/policy/policy_test_cases.json
index e6922eae..80b5b38 100644
--- a/chrome/test/data/policy/policy_test_cases.json
+++ b/chrome/test/data/policy/policy_test_cases.json
@@ -8078,6 +8078,15 @@
       }
     ]
   },
+  "LookalikeWarningAllowlistDomains": {
+    "os": ["win", "linux", "mac", "chromeos", "android"],
+    "policy_pref_mapping_test": [
+      {
+        "policies": { "LookalikeWarningAllowlistDomains": ["example.com"]},
+        "prefs": { "profile.lookalike_domain_allowlist": {} }
+      }
+    ]
+  },
   "DeviceChannelDowngradeBehavior": {
     "os": ["chromeos"],
     "policy_pref_mapping_test": [
diff --git a/chrome/test/data/webui/BUILD.gn b/chrome/test/data/webui/BUILD.gn
index 551f98c..efdb60e 100644
--- a/chrome/test/data/webui/BUILD.gn
+++ b/chrome/test/data/webui/BUILD.gn
@@ -251,6 +251,7 @@
         "$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/network/network_list_item_test.m.js",
         "$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/network/network_list_test.m.js",
         "$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/network/network_password_input_test.m.js",
+        "$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/network/network_property_list_mojo_test.m.js",
         "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_searchable_drop_down_tests.m.js",
         "$root_gen_dir/chrome/test/data/webui/settings/chromeos/ambient_mode_page_test.m.js",
         "$root_gen_dir/chrome/test/data/webui/settings/chromeos/bluetooth_page_tests.m.js",
diff --git a/chrome/test/data/webui/cr_components/chromeos/cr_components_chromeos_browsertest.js b/chrome/test/data/webui/cr_components/chromeos/cr_components_chromeos_browsertest.js
index f92300c5..459306c 100644
--- a/chrome/test/data/webui/cr_components/chromeos/cr_components_chromeos_browsertest.js
+++ b/chrome/test/data/webui/cr_components/chromeos/cr_components_chromeos_browsertest.js
@@ -35,6 +35,7 @@
   ['NetworkList', 'network/network_list_test.js', []],
   ['NetworkListItem', 'network/network_list_item_test.js', []],
   ['NetworkPasswordInput', 'network/network_password_input_test.js', []],
+  ['NetworkPropertyListMojo', 'network/network_property_list_mojo_test.js', []],
 ].forEach(test => registerTest('NetworkComponents', 'os-settings', ...test));
 
 [
diff --git a/chrome/test/data/webui/cr_components/chromeos/cr_components_chromeos_v3_browsertest.js b/chrome/test/data/webui/cr_components/chromeos/cr_components_chromeos_v3_browsertest.js
index 3f69603..75cfb4a 100644
--- a/chrome/test/data/webui/cr_components/chromeos/cr_components_chromeos_v3_browsertest.js
+++ b/chrome/test/data/webui/cr_components/chromeos/cr_components_chromeos_v3_browsertest.js
@@ -16,6 +16,7 @@
  ['NetworkList', 'network/network_list_test.m.js'],
  ['NetworkListItem', 'network/network_list_item_test.m.js'],
  ['NetworkPasswordInput', 'network/network_password_input_test.m.js'],
+ ['NetworkPropertyListMojo', 'network/network_property_list_mojo_test.m.js'],
 ].forEach(test => registerTest('NetworkComponents', ...test));
 
 [['BasePage', 'cellular_setup/base_page_test.m.js'],
diff --git a/chrome/test/data/webui/cr_components/chromeos/network/BUILD.gn b/chrome/test/data/webui/cr_components/chromeos/network/BUILD.gn
index 0200aef..b27e460b 100644
--- a/chrome/test/data/webui/cr_components/chromeos/network/BUILD.gn
+++ b/chrome/test/data/webui/cr_components/chromeos/network/BUILD.gn
@@ -12,5 +12,6 @@
     "network_list_item_test.js",
     "network_list_test.js",
     "network_password_input_test.js",
+    "network_property_list_mojo_test.js",
   ]
 }
diff --git a/chrome/test/data/webui/cr_components/chromeos/network/network_property_list_mojo_test.js b/chrome/test/data/webui/cr_components/chromeos/network/network_property_list_mojo_test.js
new file mode 100644
index 0000000..2803940
--- /dev/null
+++ b/chrome/test/data/webui/cr_components/chromeos/network/network_property_list_mojo_test.js
@@ -0,0 +1,48 @@
+// 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.
+
+// clang-format off
+// #import 'chrome://os-settings/strings.m.js';
+// #import 'chrome://resources/cr_components/chromeos/network/network_property_list_mojo.m.js';
+
+// #import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+// clang-format on
+
+suite('NetworkPropertyListMojoTest', function() {
+  /** @type {!NetworkPropertyListMojo|undefined} */
+  let propertyList;
+
+  setup(function() {
+    propertyList = document.createElement('network-property-list-mojo');
+    const ipv4 = {
+      ipAddress: "100.0.0.1",
+      type: "IPv4",
+    };
+    propertyList.propertyDict = {ipv4: ipv4};
+    propertyList.fields = [
+      'ipv4.ipAddress',
+      'ipv4.routingPrefix',
+      'ipv4.gateway',
+      'ipv6.ipAddress',
+    ];
+
+    document.body.appendChild(propertyList);
+    Polymer.dom.flush();
+  });
+
+  test('Editable field types', async () => {
+    // ipv4.ipAddress is not set as editable (via |editFieldTypes|), so the
+    // edit input does not exist.
+    assertEquals(null, propertyList.$$('cr-input'));
+
+    // Set ipv4.ipAddress field as editable.
+    propertyList.editFieldTypes = {
+      'ipv4.ipAddress': 'String',
+    };
+    Polymer.dom.flush();
+
+    // The input to edit the property now exists.
+    assertNotEquals(null, propertyList.$$('cr-input'));
+  });
+});
diff --git a/chrome/test/media_router/media_router_one_ua_integration_browsertest.cc b/chrome/test/media_router/media_router_one_ua_integration_browsertest.cc
index f89ea64..a267e972 100644
--- a/chrome/test/media_router/media_router_one_ua_integration_browsertest.cc
+++ b/chrome/test/media_router/media_router_one_ua_integration_browsertest.cc
@@ -43,7 +43,13 @@
   }
 };
 
-IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationOneUABrowserTest, Basic) {
+// TODO(https://crbug.com/822231): Flaky in Chromium waterfall.
+#if defined(OS_CHROMEOS)
+#define MAYBE_Basic DISABLED_Basic
+#else
+#define MAYBE_Basic Basic
+#endif
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationOneUABrowserTest, MAYBE_Basic) {
   RunBasicTest();
 }
 
@@ -61,15 +67,25 @@
   ExecuteJavaScriptAPI(web_contents, kInitiateCloseFromReceiverPageScript);
 }
 
+// TODO(https://crbug.com/822231): Flaky in Chromium waterfall.
+#if defined(OS_CHROMEOS)
+#define MAYBE_Fail_SendMessage DISABLED_Fail_SendMessage
+#else
+#define MAYBE_Fail_SendMessage Fail_SendMessage
+#endif
 IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationOneUABrowserTest,
-                       Fail_SendMessage) {
+                       MAYBE_Fail_SendMessage) {
   RunFailToSendMessageTest();
 }
+#undef MAYBE_Fail_SendMessage
 
-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) &&              \
-    (BUILDFLAG(CFI_CAST_CHECK) || BUILDFLAG(CFI_ICALL_CHECK) || \
-     BUILDFLAG(CFI_ENFORCEMENT_TRAP) || BUILDFLAG(CFI_ENFORCEMENT_DIAGNOSTIC))
+#if defined(OS_CHROMEOS) ||                                      \
+    (defined(OS_LINUX) &&                                        \
+     (BUILDFLAG(CFI_CAST_CHECK) || BUILDFLAG(CFI_ICALL_CHECK) || \
+      BUILDFLAG(CFI_ENFORCEMENT_TRAP) ||                         \
+      BUILDFLAG(CFI_ENFORCEMENT_DIAGNOSTIC)))
 // https://crbug.com/966827. Flaky on Linux CFI.
+// TODO(https://crbug.com/822231): Flaky in Chromium OS waterfall.
 #define MAYBE_ReconnectSession DISABLED_ReconnectSession
 #else
 #define MAYBE_ReconnectSession ReconnectSession
@@ -80,10 +96,17 @@
 }
 #undef MAYBE_ReconnectSession
 
+// TODO(https://crbug.com/822231): Flaky in Chromium waterfall.
+#if defined(OS_CHROMEOS)
+#define MAYBE_ReconnectSessionSameTab DISABLED_ReconnectSessionSameTab
+#else
+#define MAYBE_ReconnectSessionSameTab ReconnectSessionSameTab
+#endif
 IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationOneUABrowserTest,
-                       ReconnectSessionSameTab) {
+                       MAYBE_ReconnectSessionSameTab) {
   RunReconnectSessionSameTabTest();
 }
+#undef MAYBE_ReconnectSessionSameTab
 
 class MediaRouterIntegrationOneUANoReceiverBrowserTest
     : public MediaRouterIntegrationOneUABrowserTest {
@@ -94,24 +117,51 @@
   }
 };
 
+// TODO(https://crbug.com/822231): Flaky in Chromium waterfall.
+#if defined(OS_CHROMEOS)
+#define MAYBE_Basic DISABLED_Basic
+#else
+#define MAYBE_Basic Basic
+#endif
 IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationOneUANoReceiverBrowserTest,
-                       Basic) {
+                       MAYBE_Basic) {
   RunBasicTest();
 }
+#undef MAYBE_Basic
 
+// TODO(https://crbug.com/822231): Flaky in Chromium waterfall.
+#if defined(OS_CHROMEOS)
+#define MAYBE_Fail_SendMessage DISABLED_Fail_SendMessage
+#else
+#define MAYBE_Fail_SendMessage Fail_SendMessage
+#endif
 IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationOneUANoReceiverBrowserTest,
-                       Fail_SendMessage) {
+                       MAYBE_Fail_SendMessage) {
   RunFailToSendMessageTest();
 }
+#undef MAYBE_Fail_SendMessage
 
+// TODO(https://crbug.com/822231): Flaky in Chromium waterfall.
+#if defined(OS_CHROMEOS)
+#define MAYBE_ReconnectSession DISABLED_ReconnectSession
+#else
+#define MAYBE_ReconnectSession ReconnectSession
+#endif
 IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationOneUANoReceiverBrowserTest,
-                       ReconnectSession) {
+                       MAYBE_ReconnectSession) {
   RunReconnectSessionTest();
 }
 
+// TODO(https://crbug.com/822231): Flaky in Chromium waterfall.
+#if defined(OS_CHROMEOS)
+#define MAYBE_ReconnectSessionSameTab DISABLED_ReconnectSessionSameTab
+#else
+#define MAYBE_ReconnectSessionSameTab ReconnectSessionSameTab
+#endif
 IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationOneUANoReceiverBrowserTest,
-                       ReconnectSessionSameTab) {
+                       MAYBE_ReconnectSessionSameTab) {
   RunReconnectSessionSameTabTest();
 }
+#undef MAYBE_ReconnectSessionSameTab
 
 }  // namespace media_router
diff --git a/chromecast/browser/BUILD.gn b/chromecast/browser/BUILD.gn
index 2913bd2..85087b0 100644
--- a/chromecast/browser/BUILD.gn
+++ b/chromecast/browser/BUILD.gn
@@ -52,6 +52,17 @@
   ]
 }
 
+cast_source_set("web_preferences") {
+  sources = [
+    "cast_web_preferences.cc",
+    "cast_web_preferences.h",
+  ]
+  deps = [
+    "//base",
+    "//content/public/common",
+  ]
+}
+
 cast_source_set("browser") {
   sources = [
     "application_media_capabilities.cc",
@@ -157,6 +168,7 @@
 
   deps = [
     ":browser_buildflags",
+    ":web_preferences",
     "//base",
     "//base:i18n",
     "//base/util/memory_pressure",
diff --git a/chromecast/browser/cast_content_browser_client.cc b/chromecast/browser/cast_content_browser_client.cc
index af48d2d7..6f78a6c 100644
--- a/chromecast/browser/cast_content_browser_client.cc
+++ b/chromecast/browser/cast_content_browser_client.cc
@@ -42,6 +42,7 @@
 #include "chromecast/browser/cast_quota_permission_context.h"
 #include "chromecast/browser/cast_session_id_map.h"
 #include "chromecast/browser/cast_web_contents.h"
+#include "chromecast/browser/cast_web_preferences.h"
 #include "chromecast/browser/default_navigation_throttle.h"
 #include "chromecast/browser/devtools/cast_devtools_manager_delegate.h"
 #include "chromecast/browser/general_audience_browsing_navigation_throttle.h"
@@ -567,6 +568,14 @@
   prefs->preferred_color_scheme = static_cast<blink::PreferredColorScheme>(
       CastBrowserProcess::GetInstance()->pref_service()->GetInteger(
           prefs::kWebColorScheme));
+
+  // After all other default settings are set, check and see if there are any
+  // specific overrides for the WebContents.
+  CastWebPreferences* web_preferences =
+      static_cast<CastWebPreferences*>(web_contents->GetUserData(
+          CastWebPreferences::kCastWebPreferencesDataKey));
+  if (web_preferences)
+    web_preferences->Update(prefs);
 }
 
 std::string CastContentBrowserClient::GetApplicationLocale() {
diff --git a/chromecast/browser/cast_web_preferences.cc b/chromecast/browser/cast_web_preferences.cc
new file mode 100644
index 0000000..dd598e3c
--- /dev/null
+++ b/chromecast/browser/cast_web_preferences.cc
@@ -0,0 +1,27 @@
+// 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 "chromecast/browser/cast_web_preferences.h"
+
+namespace chromecast {
+
+const void* CastWebPreferences::kCastWebPreferencesDataKey =
+    &CastWebPreferences::kCastWebPreferencesDataKey;
+
+CastWebPreferences::Preferences::Preferences() = default;
+
+CastWebPreferences::CastWebPreferences() = default;
+
+void CastWebPreferences::Update(content::WebPreferences* prefs) {
+  if (preferences_.autoplay_policy)
+    prefs->autoplay_policy = preferences_.autoplay_policy.value();
+
+  if (preferences_.hide_scrollbars)
+    prefs->hide_scrollbars = preferences_.hide_scrollbars.value();
+
+  if (preferences_.javascript_enabled)
+    prefs->javascript_enabled = preferences_.javascript_enabled.value();
+}
+
+}  // namespace chromecast
diff --git a/chromecast/browser/cast_web_preferences.h b/chromecast/browser/cast_web_preferences.h
new file mode 100644
index 0000000..18c8876
--- /dev/null
+++ b/chromecast/browser/cast_web_preferences.h
@@ -0,0 +1,45 @@
+// 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 CHROMECAST_BROWSER_CAST_WEB_PREFERENCES_H_
+#define CHROMECAST_BROWSER_CAST_WEB_PREFERENCES_H_
+
+#include <base/optional.h>
+#include <base/supports_user_data.h>
+#include <content/public/common/web_preferences.h>
+
+namespace chromecast {
+
+// Stores user provided settings for a specific WebContents. These will be used
+// to override default WebPreferences during the lifetime of the WebContents.
+class CastWebPreferences : public base::SupportsUserData::Data {
+ public:
+  struct Preferences {
+    Preferences();
+
+    base::Optional<content::AutoplayPolicy> autoplay_policy;
+    base::Optional<bool> hide_scrollbars;
+    base::Optional<bool> javascript_enabled;
+  };
+
+  // Unique key used to identify CastWebPreferences in WebContents' user data.
+  static const void* kCastWebPreferencesDataKey;
+
+  CastWebPreferences();
+
+  CastWebPreferences(const CastWebPreferences&) = delete;
+  CastWebPreferences& operator=(CastWebPreferences&) = delete;
+
+  Preferences* preferences() { return &preferences_; }
+
+  // Overrides |prefs| with any locally stored preferences.
+  void Update(content::WebPreferences* prefs);
+
+ private:
+  Preferences preferences_;
+};
+
+}  // namespace chromecast
+
+#endif  // CHROMECAST_BROWSER_CAST_WEB_PREFERENCES_H_
diff --git a/chromecast/browser/webview/web_content_controller.cc b/chromecast/browser/webview/web_content_controller.cc
index 533d371..e681a2f 100644
--- a/chromecast/browser/webview/web_content_controller.cc
+++ b/chromecast/browser/webview/web_content_controller.cc
@@ -21,7 +21,6 @@
 #include "content/public/browser/render_widget_host_iterator.h"
 #include "content/public/browser/render_widget_host_view.h"
 #include "content/public/browser/web_contents.h"
-#include "content/public/common/web_preferences.h"
 #include "third_party/blink/public/common/input/web_touch_event.h"
 #include "ui/aura/window.h"
 #include "ui/aura/window_delegate.h"
@@ -131,15 +130,6 @@
       HandleGetTitle(request.id());
       break;
 
-    case webview::WebviewRequest::kSetAutoMediaPlaybackPolicy:
-      if (request.has_set_auto_media_playback_policy()) {
-        HandleSetAutoMediaPlaybackPolicy(
-            request.set_auto_media_playback_policy());
-      } else {
-        client_->OnError("set_auto_media_playback_policy() not supplied");
-      }
-      break;
-
     case webview::WebviewRequest::kResize:
       if (request.has_resize()) {
         HandleResize(
@@ -417,16 +407,6 @@
   client_->EnqueueSend(std::move(response));
 }
 
-void WebContentController::HandleSetAutoMediaPlaybackPolicy(
-    const webview::SetAutoMediaPlaybackPolicyRequest& request) {
-  content::WebContents* contents = GetWebContents();
-  content::WebPreferences prefs = contents->GetOrCreateWebPreferences();
-  prefs.autoplay_policy = request.require_user_gesture()
-                              ? content::AutoplayPolicy::kUserGestureRequired
-                              : content::AutoplayPolicy::kNoUserGestureRequired;
-  contents->SetWebPreferences(prefs);
-}
-
 void WebContentController::HandleResize(const gfx::Size& size) {
   LOG(INFO) << "Sizing web content to " << size.ToString();
   GetWebContents()->GetNativeView()->SetBounds(gfx::Rect(size));
diff --git a/chromecast/browser/webview/web_content_controller.h b/chromecast/browser/webview/web_content_controller.h
index de9009b..44f8cf9 100644
--- a/chromecast/browser/webview/web_content_controller.h
+++ b/chromecast/browser/webview/web_content_controller.h
@@ -109,8 +109,6 @@
   void HandleClearCache();
   void HandleClearCookies(int64_t id);
   void HandleGetTitle(int64_t id);
-  void HandleSetAutoMediaPlaybackPolicy(
-      const webview::SetAutoMediaPlaybackPolicyRequest& request);
   void HandleResize(const gfx::Size& size);
   viz::SurfaceId GetSurfaceId();
   void ChannelModified(content::RenderFrameHost* frame,
diff --git a/chromecast/browser/webview/webview_controller.cc b/chromecast/browser/webview/webview_controller.cc
index aea2d5b1..8398339 100644
--- a/chromecast/browser/webview/webview_controller.cc
+++ b/chromecast/browser/webview/webview_controller.cc
@@ -12,6 +12,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "chromecast/base/version.h"
 #include "chromecast/browser/cast_web_contents_impl.h"
+#include "chromecast/browser/cast_web_preferences.h"
 #include "chromecast/browser/webview/proto/webview.pb.h"
 #include "chromecast/browser/webview/webview_navigation_throttle.h"
 #include "content/public/browser/browser_context.h"
@@ -43,15 +44,16 @@
   WebviewController* controller_;
 };
 
-void UpdateWebkitPreferences(content::RenderViewHost* render_view_host) {
-  content::WebPreferences prefs =
-      content::WebContents::FromRenderViewHost(render_view_host)
-          ->GetOrCreateWebPreferences();
-  // Allow Webviews to show scrollbars. These are globally disabled since Cast
-  // Apps are not expected to be scrollable.
-  prefs.hide_scrollbars = false;
-  content::WebContents::FromRenderViewHost(render_view_host)
-      ->SetWebPreferences(prefs);
+CastWebPreferences* GetCastPreferencesFor(content::WebContents* web_contents) {
+  return static_cast<CastWebPreferences*>(web_contents->GetUserData(
+      CastWebPreferences::kCastWebPreferencesDataKey));
+}
+
+void UpdateWebkitPreferences(content::WebContents* web_contents,
+                             CastWebPreferences* cast_prefs) {
+  content::WebPreferences prefs = web_contents->GetOrCreateWebPreferences();
+  cast_prefs->Update(&prefs);
+  web_contents->SetWebPreferences(prefs);
 }
 
 }  // namespace
@@ -64,6 +66,14 @@
   contents_ = content::WebContents::Create(create_params);
   contents_->SetUserData(kWebviewResponseUserDataKey,
                          std::make_unique<WebviewUserData>(this));
+  contents_->SetUserData(CastWebPreferences::kCastWebPreferencesDataKey,
+                         std::make_unique<CastWebPreferences>());
+
+  // Allow Webviews to show scrollbars. These are globally disabled since Cast
+  // Apps are not expected to be scrollable.
+  GetCastPreferencesFor(contents_.get())->preferences()->hide_scrollbars =
+      false;
+
   CastWebContents::InitParams cast_contents_init;
   cast_contents_init.is_root_window = true;
   cast_contents_init.enabled_for_dev = enabled_for_dev;
@@ -143,6 +153,15 @@
       }
       break;
 
+    case webview::WebviewRequest::kSetAutoMediaPlaybackPolicy:
+      if (request.has_set_auto_media_playback_policy()) {
+        HandleSetAutoMediaPlaybackPolicy(
+            request.set_auto_media_playback_policy());
+      } else {
+        client_->OnError("set_auto_media_playback_policy() not supplied");
+      }
+      break;
+
     default:
       WebContentController::ProcessRequest(request);
       break;
@@ -152,9 +171,10 @@
 void WebviewController::HandleUpdateSettings(
     const webview::UpdateSettingsRequest& request) {
   content::WebContents* contents = GetWebContents();
-  content::WebPreferences prefs = contents->GetOrCreateWebPreferences();
-  prefs.javascript_enabled = request.javascript_enabled();
-  contents->SetWebPreferences(prefs);
+  CastWebPreferences* cast_prefs = GetCastPreferencesFor(contents);
+
+  cast_prefs->preferences()->javascript_enabled = request.javascript_enabled();
+  UpdateWebkitPreferences(contents, cast_prefs);
 
   has_navigation_delegate_ = request.has_navigation_delegate();
 
@@ -169,6 +189,18 @@
   }
 }
 
+void WebviewController::HandleSetAutoMediaPlaybackPolicy(
+    const webview::SetAutoMediaPlaybackPolicyRequest& request) {
+  content::WebContents* contents = GetWebContents();
+  CastWebPreferences* cast_prefs = GetCastPreferencesFor(contents);
+
+  cast_prefs->preferences()->autoplay_policy =
+      request.require_user_gesture()
+          ? content::AutoplayPolicy::kUserGestureRequired
+          : content::AutoplayPolicy::kNoUserGestureRequired;
+  UpdateWebkitPreferences(contents, cast_prefs);
+}
+
 void WebviewController::DidFirstVisuallyNonEmptyPaint() {
   if (client_) {
     std::unique_ptr<webview::WebviewResponse> response =
@@ -181,12 +213,6 @@
   }
 }
 
-void WebviewController::RenderViewCreated(
-    content::RenderViewHost* render_view_host) {
-  WebContentController::RenderViewCreated(render_view_host);
-  UpdateWebkitPreferences(render_view_host);
-}
-
 void WebviewController::SendNavigationEvent(
     WebviewNavigationThrottle* throttle,
     content::NavigationHandle* navigation_handle) {
diff --git a/chromecast/browser/webview/webview_controller.h b/chromecast/browser/webview/webview_controller.h
index ddebfa4..4d64453 100644
--- a/chromecast/browser/webview/webview_controller.h
+++ b/chromecast/browser/webview/webview_controller.h
@@ -66,6 +66,8 @@
 
  private:
   void HandleUpdateSettings(const webview::UpdateSettingsRequest& request);
+  void HandleSetAutoMediaPlaybackPolicy(
+      const webview::SetAutoMediaPlaybackPolicyRequest& request);
 
   webview::AsyncPageEvent_State current_state();
 
@@ -80,9 +82,6 @@
   // content::WebContentsObserver
   void DidFirstVisuallyNonEmptyPaint() override;
 
-  // WebContentController
-  void RenderViewCreated(content::RenderViewHost* render_view_host) override;
-
   const bool enabled_for_dev_;
   std::unique_ptr<content::WebContents> contents_;
   std::unique_ptr<CastWebContents> cast_web_contents_;
diff --git a/chromeos/CHROMEOS_LKGM b/chromeos/CHROMEOS_LKGM
index a6ea3928..374838f3 100644
--- a/chromeos/CHROMEOS_LKGM
+++ b/chromeos/CHROMEOS_LKGM
@@ -1 +1 @@
-13419.0.0
\ No newline at end of file
+13420.0.0
\ No newline at end of file
diff --git a/chromeos/components/media_app_ui/media_app_ui.cc b/chromeos/components/media_app_ui/media_app_ui.cc
index 4f246db..82fe535 100644
--- a/chromeos/components/media_app_ui/media_app_ui.cc
+++ b/chromeos/components/media_app_ui/media_app_ui.cc
@@ -50,6 +50,8 @@
                           IDR_MEDIA_APP_GALLERY_ICON_16_PNG);
   source->AddResourcePath("system_assets/app_icon_32.png",
                           IDR_MEDIA_APP_GALLERY_ICON_32_PNG);
+  source->AddResourcePath("system_assets/app_icon_48.png",
+                          IDR_MEDIA_APP_GALLERY_ICON_48_PNG);
   source->AddResourcePath("system_assets/app_icon_64.png",
                           IDR_MEDIA_APP_GALLERY_ICON_64_PNG);
   source->AddResourcePath("system_assets/app_icon_96.png",
diff --git a/chromeos/components/telemetry_extension_ui/diagnostics_service_converters.cc b/chromeos/components/telemetry_extension_ui/diagnostics_service_converters.cc
index 203bc7f..7b65dfc5 100644
--- a/chromeos/components/telemetry_extension_ui/diagnostics_service_converters.cc
+++ b/chromeos/components/telemetry_extension_ui/diagnostics_service_converters.cc
@@ -71,6 +71,8 @@
       return health::mojom::DiagnosticRoutineStatusEnum::kRemoved;
     case cros_healthd::mojom::DiagnosticRoutineStatusEnum::kCancelling:
       return health::mojom::DiagnosticRoutineStatusEnum::kCancelling;
+    case cros_healthd::mojom::DiagnosticRoutineStatusEnum::kUnsupported:
+      return health::mojom::DiagnosticRoutineStatusEnum::kUnsupported;
   }
   NOTREACHED();
   return static_cast<health::mojom::DiagnosticRoutineStatusEnum>(
diff --git a/chromeos/components/telemetry_extension_ui/diagnostics_service_converters_unittest.cc b/chromeos/components/telemetry_extension_ui/diagnostics_service_converters_unittest.cc
index 5519c58..4f43f49f 100644
--- a/chromeos/components/telemetry_extension_ui/diagnostics_service_converters_unittest.cc
+++ b/chromeos/components/telemetry_extension_ui/diagnostics_service_converters_unittest.cc
@@ -35,6 +35,8 @@
             health::DiagnosticRoutineStatusEnum::kRemoved);
   EXPECT_EQ(Convert(cros_healthd::DiagnosticRoutineStatusEnum::kCancelling),
             health::DiagnosticRoutineStatusEnum::kCancelling);
+  EXPECT_EQ(Convert(cros_healthd::DiagnosticRoutineStatusEnum::kUnsupported),
+            health::DiagnosticRoutineStatusEnum::kUnsupported);
 }
 
 TEST(DiagnosticsServiceConvertersTest,
diff --git a/chromeos/components/telemetry_extension_ui/mojom/diagnostics_service.mojom b/chromeos/components/telemetry_extension_ui/mojom/diagnostics_service.mojom
index 68f2367..fbaa70b5 100644
--- a/chromeos/components/telemetry_extension_ui/mojom/diagnostics_service.mojom
+++ b/chromeos/components/telemetry_extension_ui/mojom/diagnostics_service.mojom
@@ -75,6 +75,7 @@
   kFailedToStart = 7,  // Routine could not be created.
   kRemoved = 8,  // Routine has been removed and is no longer valid.
   kCancelling = 9,  // Routine is in the process of being cancelled.
+  kUnsupported = 10,  // Routine is not supported by the device.
 };
 
 // Enumeration of each of the messages a diagnostics routine can pass back.
diff --git a/chromeos/components/telemetry_extension_ui/mojom/probe_service.mojom b/chromeos/components/telemetry_extension_ui/mojom/probe_service.mojom
index ad956a56e..acade13 100644
--- a/chromeos/components/telemetry_extension_ui/mojom/probe_service.mojom
+++ b/chromeos/components/telemetry_extension_ui/mojom/probe_service.mojom
@@ -88,6 +88,8 @@
   kParseError,
   // An error using a system utility.
   kSystemUtilityError,
+  // The external service used to probe the information is not available.
+  kServiceUnavailable,
 };
 
 // Structure that contains error information for a telemetry probe.
diff --git a/chromeos/components/telemetry_extension_ui/probe_service_converters.cc b/chromeos/components/telemetry_extension_ui/probe_service_converters.cc
index caf87d6..3a7222d 100644
--- a/chromeos/components/telemetry_extension_ui/probe_service_converters.cc
+++ b/chromeos/components/telemetry_extension_ui/probe_service_converters.cc
@@ -336,6 +336,8 @@
       return health::mojom::ErrorType::kParseError;
     case cros_healthd::mojom::ErrorType::kSystemUtilityError:
       return health::mojom::ErrorType::kSystemUtilityError;
+    case cros_healthd::mojom::ErrorType::kServiceUnavailable:
+      return health::mojom::ErrorType::kServiceUnavailable;
   }
   NOTREACHED();
 }
diff --git a/chromeos/components/telemetry_extension_ui/probe_service_converters_unittest.cc b/chromeos/components/telemetry_extension_ui/probe_service_converters_unittest.cc
index 09708ed..66bf3f0 100644
--- a/chromeos/components/telemetry_extension_ui/probe_service_converters_unittest.cc
+++ b/chromeos/components/telemetry_extension_ui/probe_service_converters_unittest.cc
@@ -65,6 +65,9 @@
 
   EXPECT_EQ(Convert(cros_healthd::mojom::ErrorType::kSystemUtilityError),
             health::mojom::ErrorType::kSystemUtilityError);
+
+  EXPECT_EQ(Convert(cros_healthd::mojom::ErrorType::kServiceUnavailable),
+            health::mojom::ErrorType::kServiceUnavailable);
 }
 
 TEST(ProbeServiceConvertors, ProbeErrorPtr) {
diff --git a/chromeos/components/telemetry_extension_ui/resources/trusted.js b/chromeos/components/telemetry_extension_ui/resources/trusted.js
index b59840e..d30a4b47 100644
--- a/chromeos/components/telemetry_extension_ui/resources/trusted.js
+++ b/chromeos/components/telemetry_extension_ui/resources/trusted.js
@@ -99,6 +99,7 @@
       [statusEnum.kFailedToStart, 'failed-to-start'],
       [statusEnum.kRemoved, 'removed'],
       [statusEnum.kCancelling, 'cancelling'],
+      [statusEnum.kUnsupported, 'unsupported'],
     ]);
 
     if (this.enumToStatus_.size !== statusEnum.MAX_VALUE + 1) {
diff --git a/chromeos/components/telemetry_extension_ui/test/telemetry_extension_ui_browsertest.js b/chromeos/components/telemetry_extension_ui/test/telemetry_extension_ui_browsertest.js
index 6f706e8..5fccb349 100644
--- a/chromeos/components/telemetry_extension_ui/test/telemetry_extension_ui_browsertest.js
+++ b/chromeos/components/telemetry_extension_ui/test/telemetry_extension_ui_browsertest.js
@@ -101,6 +101,8 @@
   assertEquals(diagnosticsProxy.convertStatus(statusEnum.kRemoved), 'removed');
   assertEquals(
       diagnosticsProxy.convertStatus(statusEnum.kCancelling), 'cancelling');
+  assertEquals(
+      diagnosticsProxy.convertStatus(statusEnum.kUnsupported), 'unsupported');
 
   // Unit tests for convertUserMessage
   const userMessageEnum =
diff --git a/chromeos/constants/chromeos_switches.cc b/chromeos/constants/chromeos_switches.cc
index 12b8f53..93b4cc8 100644
--- a/chromeos/constants/chromeos_switches.cc
+++ b/chromeos/constants/chromeos_switches.cc
@@ -401,6 +401,11 @@
 // Defines user homedir. This defaults to primary user homedir.
 const char kHomedir[] = "homedir";
 
+// If set, the "ignore_dev_conf" field in StartArcVmRequest message will
+// consequently be set such that all development configuration directives in
+// /usr/local/vms/etc/arcvm_dev.conf will be ignored during ARCVM start.
+const char kIgnoreArcVmDevConf[] = "ignore-arcvm-dev-conf";
+
 // If true, profile selection in UserManager will always return active user's
 // profile.
 // TODO(nkostlyev): http://crbug.com/364604 - Get rid of this switch after we
diff --git a/chromeos/constants/chromeos_switches.h b/chromeos/constants/chromeos_switches.h
index a876e43..1496faa 100644
--- a/chromeos/constants/chromeos_switches.h
+++ b/chromeos/constants/chromeos_switches.h
@@ -166,6 +166,7 @@
 COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
 extern const char kHideAndroidFilesInFilesApp[];
 COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const char kHomedir[];
+COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const char kIgnoreArcVmDevConf[];
 COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
 extern const char kIgnoreUserProfileMappingForTests[];
 COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const char kKernelnextRestrictVMs[];
diff --git a/chromeos/profiles/airmont.afdo.newest.txt b/chromeos/profiles/airmont.afdo.newest.txt
index 0c095f78..f547408 100644
--- a/chromeos/profiles/airmont.afdo.newest.txt
+++ b/chromeos/profiles/airmont.afdo.newest.txt
@@ -1 +1 @@
-chromeos-chrome-amd64-airmont-86-4183.59-1597659923-benchmark-86.0.4237.0-r1-redacted.afdo.xz
+chromeos-chrome-amd64-airmont-86-4183.59-1597659923-benchmark-86.0.4239.0-r1-redacted.afdo.xz
diff --git a/chromeos/profiles/broadwell.afdo.newest.txt b/chromeos/profiles/broadwell.afdo.newest.txt
index 038b8c5..2942e3c 100644
--- a/chromeos/profiles/broadwell.afdo.newest.txt
+++ b/chromeos/profiles/broadwell.afdo.newest.txt
@@ -1 +1 @@
-chromeos-chrome-amd64-broadwell-86-4183.59-1597658380-benchmark-86.0.4237.0-r1-redacted.afdo.xz
+chromeos-chrome-amd64-broadwell-86-4183.59-1597658380-benchmark-86.0.4239.0-r1-redacted.afdo.xz
diff --git a/chromeos/profiles/silvermont.afdo.newest.txt b/chromeos/profiles/silvermont.afdo.newest.txt
index a16c8b39..d16c4da 100644
--- a/chromeos/profiles/silvermont.afdo.newest.txt
+++ b/chromeos/profiles/silvermont.afdo.newest.txt
@@ -1 +1 @@
-chromeos-chrome-amd64-silvermont-86-4183.59-1597657121-benchmark-86.0.4237.0-r1-redacted.afdo.xz
+chromeos-chrome-amd64-silvermont-86-4183.59-1597657121-benchmark-86.0.4239.0-r1-redacted.afdo.xz
diff --git a/chromeos/services/assistant/assistant_interaction_logger.cc b/chromeos/services/assistant/assistant_interaction_logger.cc
index e0829ce..13bba121 100644
--- a/chromeos/services/assistant/assistant_interaction_logger.cc
+++ b/chromeos/services/assistant/assistant_interaction_logger.cc
@@ -6,6 +6,8 @@
 
 #include <utility>
 
+#include "chromeos/services/assistant/public/cpp/features.h"
+
 namespace chromeos {
 namespace assistant {
 
@@ -17,6 +19,17 @@
   return result.str();
 }
 
+bool IsPIILoggingAllowed() {
+  return features::IsAssistantDebuggingEnabled();
+}
+
+std::string HidePiiMaybe(const std::string& value) {
+  if (IsPIILoggingAllowed())
+    return "[PII](" + value + ")";
+  else
+    return "[Redacted PII]";
+}
+
 #define LOG_INTERACTION() \
   LOG_INTERACTION_AT_LEVEL(AssistantInteractionLogger::kVLogLevel)
 
@@ -37,8 +50,8 @@
     const AssistantInteractionMetadata& metadata) {
   switch (metadata.type) {
     case AssistantInteractionType::kText:
-      LOG_INTERACTION() << "Text interaction with query '" << metadata.query
-                        << "'";
+      LOG_INTERACTION() << "Text interaction with query "
+                        << HidePiiMaybe(metadata.query);
       break;
     case AssistantInteractionType::kVoice:
       LOG_INTERACTION() << "Voice interaction";
@@ -57,7 +70,7 @@
   // HTML tags and rather large.
   LOG_INTERACTION() << "with fallback '" << fallback << "'";
   // Display HTML at highest verbosity.
-  LOG_INTERACTION_AT_LEVEL(3) << "with HTML: " << response;
+  LOG_INTERACTION_AT_LEVEL(3) << "with HTML: " << HidePiiMaybe(response);
 }
 
 void AssistantInteractionLogger::OnSuggestionsResponse(
@@ -69,7 +82,7 @@
 }
 
 void AssistantInteractionLogger::OnTextResponse(const std::string& response) {
-  LOG_INTERACTION() << "'" << response << "'";
+  LOG_INTERACTION() << HidePiiMaybe(response);
 }
 
 void AssistantInteractionLogger::OnOpenUrlResponse(const GURL& url,
diff --git a/chromeos/services/assistant/public/cpp/features.cc b/chromeos/services/assistant/public/cpp/features.cc
index b8688804..2727707 100644
--- a/chromeos/services/assistant/public/cpp/features.cc
+++ b/chromeos/services/assistant/public/cpp/features.cc
@@ -23,6 +23,9 @@
 const base::Feature kAssistantConversationStartersV2{
     "AssistantConversationStartersV2", base::FEATURE_DISABLED_BY_DEFAULT};
 
+const base::Feature kAssistantDebugging{"AssistantDebugging",
+                                        base::FEATURE_DISABLED_BY_DEFAULT};
+
 const base::Feature kAssistantLauncherChipIntegration{
     "AssistantLauncherChipIntegration", base::FEATURE_DISABLED_BY_DEFAULT};
 
@@ -93,6 +96,10 @@
   return base::FeatureList::IsEnabled(kAssistantConversationStartersV2);
 }
 
+bool IsAssistantDebuggingEnabled() {
+  return base::FeatureList::IsEnabled(kAssistantDebugging);
+}
+
 bool IsDspHotwordEnabled() {
   return base::FeatureList::IsEnabled(kEnableDspHotword);
 }
diff --git a/chromeos/services/assistant/public/cpp/features.h b/chromeos/services/assistant/public/cpp/features.h
index 9ad478ec..baedcb5 100644
--- a/chromeos/services/assistant/public/cpp/features.h
+++ b/chromeos/services/assistant/public/cpp/features.h
@@ -100,6 +100,9 @@
 COMPONENT_EXPORT(ASSISTANT_SERVICE_PUBLIC)
 bool IsConversationStartersV2Enabled();
 
+COMPONENT_EXPORT(ASSISTANT_SERVICE_PUBLIC)
+bool IsAssistantDebuggingEnabled();
+
 COMPONENT_EXPORT(ASSISTANT_SERVICE_PUBLIC) bool IsDspHotwordEnabled();
 
 COMPONENT_EXPORT(ASSISTANT_SERVICE_PUBLIC)
diff --git a/chromeos/services/assistant/utils.cc b/chromeos/services/assistant/utils.cc
index 0c508a5..eaf45589 100644
--- a/chromeos/services/assistant/utils.cc
+++ b/chromeos/services/assistant/utils.cc
@@ -147,8 +147,10 @@
                          GetBaseAssistantDir().AsUTF8Unsafe());
   }
 
-  if (features::IsLibAssistantBetaBackendEnabled())
+  if (features::IsLibAssistantBetaBackendEnabled() ||
+      features::IsAssistantDebuggingEnabled()) {
     config.SetStringPath("internal.backend_type", "BETA_DOGFOOD");
+  }
 
   // Use http unless we're using the fake s3 server, which requires grpc.
   if (s3_server_uri_override)
diff --git a/chromeos/services/cellular_setup/cellular_setup_impl.cc b/chromeos/services/cellular_setup/cellular_setup_impl.cc
index 9a563d39..cfe1956 100644
--- a/chromeos/services/cellular_setup/cellular_setup_impl.cc
+++ b/chromeos/services/cellular_setup/cellular_setup_impl.cc
@@ -11,11 +11,19 @@
 #include "base/no_destructor.h"
 #include "chromeos/network/network_handler.h"
 #include "chromeos/services/cellular_setup/ota_activator_impl.h"
+#include "mojo/public/cpp/bindings/self_owned_receiver.h"
 
 namespace chromeos {
 
 namespace cellular_setup {
 
+// static
+void CellularSetupImpl::CreateAndBindToReciever(
+    mojo::PendingReceiver<mojom::CellularSetup> receiver) {
+  mojo::MakeSelfOwnedReceiver(base::WrapUnique(new CellularSetupImpl()),
+                              std::move(receiver));
+}
+
 CellularSetupImpl::CellularSetupImpl() = default;
 
 CellularSetupImpl::~CellularSetupImpl() = default;
diff --git a/chromeos/services/cellular_setup/cellular_setup_impl.h b/chromeos/services/cellular_setup/cellular_setup_impl.h
index 534bd067..38a2ed7 100644
--- a/chromeos/services/cellular_setup/cellular_setup_impl.h
+++ b/chromeos/services/cellular_setup/cellular_setup_impl.h
@@ -24,10 +24,19 @@
 // pointer back to the client.
 class CellularSetupImpl : public CellularSetupBase {
  public:
-  CellularSetupImpl();
+  // Creates an instance with a lifetime that is bound to the connection
+  // that is supplying |receiver|.
+  static void CreateAndBindToReciever(
+      mojo::PendingReceiver<mojom::CellularSetup> receiver);
+
   ~CellularSetupImpl() override;
 
  private:
+  friend class CellularSetupImplTest;
+
+  // For unit tests.
+  CellularSetupImpl();
+
   // mojom::CellularSetup:
   void StartActivation(mojo::PendingRemote<mojom::ActivationDelegate> delegate,
                        StartActivationCallback callback) override;
diff --git a/chromeos/services/cellular_setup/cellular_setup_impl_unittest.cc b/chromeos/services/cellular_setup/cellular_setup_impl_unittest.cc
index 7fb3eb5..49aa6bf 100644
--- a/chromeos/services/cellular_setup/cellular_setup_impl_unittest.cc
+++ b/chromeos/services/cellular_setup/cellular_setup_impl_unittest.cc
@@ -76,11 +76,9 @@
         &fake_ota_activator_factory_);
     shill_clients::InitializeFakes();
     NetworkHandler::Initialize();
-    cellular_setup_ = std::make_unique<CellularSetupImpl>();
   }
 
   void TearDown() override {
-    cellular_setup_.reset();
     NetworkHandler::Shutdown();
     shill_clients::Shutdown();
     OtaActivatorImpl::Factory::SetFactoryForTesting(nullptr);
@@ -92,7 +90,7 @@
               fake_ota_activator_factory_.created_instances().size());
 
     base::RunLoop run_loop;
-    cellular_setup_->StartActivation(
+    cellular_setup_.StartActivation(
         fake_activation_delegate->GenerateRemote(),
         base::BindOnce(&CellularSetupImplTest::OnCarrierPortalHandlerReceived,
                        base::Unretained(this), run_loop.QuitClosure()));
@@ -117,7 +115,7 @@
   base::test::TaskEnvironment task_environment_;
   FakeOtaActivatorFactory fake_ota_activator_factory_;
 
-  std::unique_ptr<CellularSetupBase> cellular_setup_;
+  CellularSetupImpl cellular_setup_;
 
   size_t num_carrier_portal_handlers_received_ = 0u;
 
diff --git a/chromeos/services/cros_healthd/public/mojom/cros_healthd_diagnostics.mojom b/chromeos/services/cros_healthd/public/mojom/cros_healthd_diagnostics.mojom
index 40535514..85ab108 100644
--- a/chromeos/services/cros_healthd/public/mojom/cros_healthd_diagnostics.mojom
+++ b/chromeos/services/cros_healthd/public/mojom/cros_healthd_diagnostics.mojom
@@ -52,6 +52,7 @@
   kFailedToStart = 7,  // Routine could not be created.
   kRemoved = 8,  // Routine has been removed and is no longer valid.
   kCancelling = 9,  // Routine is in the process of being cancelled.
+  kUnsupported = 10,  // Routine is not supported by the device.
 };
 
 // Enumeration of each of the messages a diagnostics routine can pass back.
diff --git a/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.mojom b/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.mojom
index 60c3a72..952b063 100644
--- a/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.mojom
+++ b/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.mojom
@@ -10,6 +10,8 @@
 
 module chromeos.cros_healthd.mojom;
 
+import "chromeos/services/network_health/public/mojom/network_health.mojom";
+
 // An enumeration of CPU architectures.
 [Extensible]
 enum CpuArchitectureEnum {
@@ -32,6 +34,7 @@
   kStatefulPartition,
   kBluetooth,
   kSystem,
+  kNetwork,
 };
 
 // An enumeration of the different categories of errors that can occur when
@@ -44,6 +47,8 @@
   kParseError,
   // An error using a system utility.
   kSystemUtilityError,
+  // The external service used to probe the information is not available.
+  kServiceUnavailable,
 };
 
 // Structure that contains error information for a telemetry probe.
@@ -453,6 +458,15 @@
   string? product_name;
 };
 
+// Network probe result. Can either be populated with the NetworkHealthSnapshot
+// or an error retrieving the information.
+union NetworkResult {
+  // Valid NetworkHealthSnapshot.
+  chromeos.network_health.mojom.NetworkHealthState network_health;
+  // The error that occurred attempting to retrieve the NetworkHealthSnapshot.
+  ProbeError error;
+};
+
 // A collection of all the device's telemetry information that cros_healthd is
 // capable of reporting. Note that every field in TelemetryInfo is nullable, and
 // the response for a particular ProbeTelemetryInfo request will only contain
@@ -493,4 +507,8 @@
   // Information about the system from various sources. Only present when
   // kSystem was included in the categories input to ProbeTelemetryInfo.
   SystemResult? system_result;
+  // Information about the networking devices and associated networks of the
+  // system. Only present when kNetwork was included in the categories input to
+  // ProbeTelemetryInfo.
+  NetworkResult? network_result;
 };
diff --git a/components/arc/arc_features.cc b/components/arc/arc_features.cc
index 982471b4..0e3b435 100644
--- a/components/arc/arc_features.cc
+++ b/components/arc/arc_features.cc
@@ -46,7 +46,7 @@
 
 // Controls whether secondary accounts are added to ARC++ for child user.
 const base::Feature kEnableSecondaryAccountsForChild{
-    "ArcEnableSecondaryAccountForChild", base::FEATURE_DISABLED_BY_DEFAULT};
+    "ArcEnableSecondaryAccountForChild", base::FEATURE_ENABLED_BY_DEFAULT};
 
 // Controls whether we should delegate audio focus requests from ARC to Chrome.
 const base::Feature kEnableUnifiedAudioFocusFeature{
diff --git a/components/arc/arc_util.cc b/components/arc/arc_util.cc
index ddc0446..9b62fe38 100644
--- a/components/arc/arc_util.cc
+++ b/components/arc/arc_util.cc
@@ -156,6 +156,11 @@
       chromeos::switches::kEnableArcVm);
 }
 
+bool IsArcVmDevConfIgnored() {
+  return base::CommandLine::ForCurrentProcess()->HasSwitch(
+      chromeos::switches::kIgnoreArcVmDevConf);
+}
+
 bool ShouldArcAlwaysStart() {
   const auto* command_line = base::CommandLine::ForCurrentProcess();
   if (!command_line->HasSwitch(chromeos::switches::kArcStartMode))
diff --git a/components/arc/arc_util.h b/components/arc/arc_util.h
index da0fe3d..5d9cb8e 100644
--- a/components/arc/arc_util.h
+++ b/components/arc/arc_util.h
@@ -53,6 +53,10 @@
 // Returns true if ARC VM is enabled.
 bool IsArcVmEnabled();
 
+// Returns true if all development configuration directives in the
+// vm_tools/init/arcvm_dev.conf file are ignored during ARCVM start.
+bool IsArcVmDevConfIgnored();
+
 // Returns true if ARC should always start within the primary user session
 // (opted in user or not), and other supported mode such as guest and Kiosk
 // mode.
diff --git a/components/arc/arc_util_unittest.cc b/components/arc/arc_util_unittest.cc
index 165f40d..7b5e3ad 100644
--- a/components/arc/arc_util_unittest.cc
+++ b/components/arc/arc_util_unittest.cc
@@ -166,6 +166,14 @@
   EXPECT_TRUE(IsArcVmEnabled());
 }
 
+TEST_F(ArcUtilTest, IsArcVmDevConfIgnored) {
+  EXPECT_FALSE(IsArcVmDevConfIgnored());
+
+  auto* command_line = base::CommandLine::ForCurrentProcess();
+  command_line->InitFromArgv({"", "--ignore-arcvm-dev-conf"});
+  EXPECT_TRUE(IsArcVmDevConfIgnored());
+}
+
 // TODO(hidehiko): Add test for IsArcKioskMode().
 // It depends on UserManager, but a utility to inject fake instance is
 // available only in chrome/. To use it in components/, refactoring is needed.
diff --git a/components/arc/clipboard/arc_clipboard_bridge.cc b/components/arc/clipboard/arc_clipboard_bridge.cc
index af34838b..9c01aa2 100644
--- a/components/arc/clipboard/arc_clipboard_bridge.cc
+++ b/components/arc/clipboard/arc_clipboard_bridge.cc
@@ -49,9 +49,10 @@
   // Unused. URL is sent from CreatePlainText() by reading it from the Bookmark.
   std::string url;
   uint32_t fragment_start, fragment_end;
+  const ui::ClipboardDataEndpoint data_dst(ui::EndpointType::kGuestOs);
 
-  clipboard->ReadHTML(ui::ClipboardBuffer::kCopyPaste, /* data_dst = */ nullptr,
-                      &markup16, &url, &fragment_start, &fragment_end);
+  clipboard->ReadHTML(ui::ClipboardBuffer::kCopyPaste, &data_dst, &markup16,
+                      &url, &fragment_start, &fragment_end);
 
   std::string text(base::UTF16ToUTF8(
       markup16.substr(fragment_start, fragment_end - fragment_start)));
@@ -70,13 +71,13 @@
   base::string16 title;
   std::string text;
   std::string mime_type(ui::kMimeTypeText);
+  const ui::ClipboardDataEndpoint data_dst(ui::EndpointType::kGuestOs);
 
   // Both Bookmark and AsciiText are represented by text/plain. If both are
   // present, only use Bookmark.
-  clipboard->ReadBookmark(/* data_dst = */ nullptr, &title, &text);
+  clipboard->ReadBookmark(&data_dst, &title, &text);
   if (text.size() == 0)
-    clipboard->ReadAsciiText(ui::ClipboardBuffer::kCopyPaste,
-                             /* data_dst = */ nullptr, &text);
+    clipboard->ReadAsciiText(ui::ClipboardBuffer::kCopyPaste, &data_dst, &text);
 
   return mojom::ClipRepresentation::New(mime_type,
                                         mojom::ClipValue::NewText(text));
@@ -86,8 +87,9 @@
   DCHECK(clipboard);
 
   std::vector<base::string16> mime_types;
-  clipboard->ReadAvailableTypes(ui::ClipboardBuffer::kCopyPaste,
-                                /* data_dst = */ nullptr, &mime_types);
+  const ui::ClipboardDataEndpoint data_dst(ui::EndpointType::kGuestOs);
+  clipboard->ReadAvailableTypes(ui::ClipboardBuffer::kCopyPaste, &data_dst,
+                                &mime_types);
 
   mojom::ClipDataPtr clip_data(mojom::ClipData::New());
 
@@ -176,7 +178,7 @@
   base::AutoReset<bool> auto_reset(&event_originated_at_instance_, true);
   ui::ScopedClipboardWriter writer(
       ui::ClipboardBuffer::kCopyPaste,
-      std::make_unique<ui::ClipboardDataEndpoint>(ui::EndpointType::kVm));
+      std::make_unique<ui::ClipboardDataEndpoint>(ui::EndpointType::kGuestOs));
 
   for (const auto& repr : clip_data->representations) {
     const std::string& mime_type(repr->mime_type);
diff --git a/components/arc/session/arc_session_impl.cc b/components/arc/session/arc_session_impl.cc
index 0ecd7b7..0d8e8e3 100644
--- a/components/arc/session/arc_session_impl.cc
+++ b/components/arc/session/arc_session_impl.cc
@@ -614,6 +614,7 @@
     case State::WAITING_FOR_LCD_DENSITY:
       // If |Stop()| is called while waiting for LCD density or CPU cores
       // information, it can directly move to stopped state.
+      VLOG(1) << "ARC session is not started. state: " << state_;
       OnStopped(ArcStopReason::SHUTDOWN);
       return;
     case State::STARTING_MINI_INSTANCE:
@@ -642,6 +643,7 @@
       return;
 
     case State::STOPPED:
+      VLOG(1) << "ARC session is already stopped.";
       // The instance is already stopped. Do nothing.
       return;
   }
@@ -657,7 +659,9 @@
          state_ == State::CONNECTING_MOJO ||
          state_ == State::RUNNING_FULL_INSTANCE);
 
-  VLOG(2) << "Requesting session_manager to stop ARC instance";
+  VLOG(1) << "Requesting session_manager to stop ARC instance"
+          << " on_shutdown: " << on_shutdown
+          << " should_backup_log: " << should_backup_log;
 
   // When the instance is full instance, change the |state_| in
   // ArcInstanceStopped().
@@ -702,7 +706,9 @@
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   // OnStopped() should be called once per instance.
   DCHECK_NE(state_, State::STOPPED);
-  VLOG(2) << "ARC session is stopped.";
+  VLOG(1) << "ARC session is stopped."
+          << " reason: " << reason << " state: " << state_;
+
   const bool was_running = (state_ == State::RUNNING_FULL_INSTANCE);
   arc_bridge_host_.reset();
   state_ = State::STOPPED;
diff --git a/components/arc/session/arc_vm_client_adapter.cc b/components/arc/session/arc_vm_client_adapter.cc
index eccc0ea..49525790 100644
--- a/components/arc/session/arc_vm_client_adapter.cc
+++ b/components/arc/session/arc_vm_client_adapter.cc
@@ -260,6 +260,9 @@
   // Add cpus.
   request.set_cpus(cpus);
 
+  // Add ignore_dev_conf setting for dev mode.
+  request.set_ignore_dev_conf(IsArcVmDevConfIgnored());
+
   return request;
 }
 
diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
index f333742..b13a360 100644
--- a/components/autofill/core/browser/autofill_download_manager.cc
+++ b/components/autofill/core/browser/autofill_download_manager.cc
@@ -1062,7 +1062,7 @@
   delete active_experiments_;
   active_experiments_ = new std::vector<variations::VariationID>(
       variations_ids_provider->GetVariationsVector(
-          variations::GOOGLE_WEB_PROPERTIES_TRIGGER));
+          variations::GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT));
   base::EraseIf(*active_experiments_, [](variations::VariationID id) {
     return !IsAutofillExperimentId(id);
   });
diff --git a/components/autofill/core/browser/data_model/autofill_structured_address_component.cc b/components/autofill/core/browser/data_model/autofill_structured_address_component.cc
index 09b864b0..366d14f 100644
--- a/components/autofill/core/browser/data_model/autofill_structured_address_component.cc
+++ b/components/autofill/core/browser/data_model/autofill_structured_address_component.cc
@@ -9,6 +9,7 @@
 #include <string>
 #include <utility>
 
+#include "base/feature_list.h"
 #include "base/notreached.h"
 #include "base/strings/strcat.h"
 #include "base/strings/string16.h"
@@ -20,6 +21,7 @@
 #include "components/autofill/core/browser/data_model/autofill_structured_address_constants.h"
 #include "components/autofill/core/browser/data_model/autofill_structured_address_utils.h"
 #include "components/autofill/core/browser/field_types.h"
+#include "components/autofill/core/common/autofill_features.h"
 
 namespace autofill {
 
@@ -618,8 +620,19 @@
   if (*this == newer_component)
     return true;
 
-  return AreSortedTokensEqual(GetSortedTokens(),
-                              newer_component.GetSortedTokens());
+  SortedTokenComparisonResult token_comparison_result =
+      CompareSortedTokens(GetSortedTokens(), newer_component.GetSortedTokens());
+
+  if (token_comparison_result.status == MATCH)
+    return true;
+
+  if (base::FeatureList::IsEnabled(
+          features::kAutofillEnableSupportForMergingSubsetNames)) {
+    if (token_comparison_result.status == SINGLE_TOKEN_SUPERSET)
+      return true;
+  }
+
+  return false;
 }
 
 bool AddressComponent::MergeWithComponent(
@@ -628,19 +641,32 @@
   if (*this == newer_component)
     return true;
 
-  if (!IsMergeableWithComponent(newer_component))
-    return false;
+  SortedTokenComparisonResult token_comparison_result =
+      CompareSortedTokens(GetSortedTokens(), newer_component.GetSortedTokens());
 
-  // Applies the merging strategy for two token-equivalent components.
-  if (AreSortedTokensEqual(GetSortedTokens(),
-                           newer_component.GetSortedTokens())) {
-    return MergeTokenEquivalentComponent(newer_component);
+  switch (token_comparison_result.status) {
+    case MATCH:
+      return MergeTokenEquivalentComponent(newer_component);
+
+    case SINGLE_TOKEN_SUPERSET:
+      if (base::FeatureList::IsEnabled(
+              features::kAutofillEnableSupportForMergingSubsetNames)) {
+        return MergeSubsetComponent(newer_component, token_comparison_result);
+      }
+      break;
+
+    default:
+      return false;
   }
   return false;
 }
 
 bool AddressComponent::MergeTokenEquivalentComponent(
     const AddressComponent& newer_component) {
+  if (!AreSortedTokensEqual(GetSortedTokens(),
+                            newer_component.GetSortedTokens()))
+    return false;
+
   // Assumption:
   // The values of both components are a permutation of the same tokens.
   // The componentization of the components can be different in terms of
@@ -690,7 +716,7 @@
   const std::vector<AddressComponent*> other_subcomponents =
       newer_component.Subcomponents();
 
-  DCHECK(subcomponents_.size() == newer_component.Subcomponents().size());
+  DCHECK(subcomponents_.size() == other_subcomponents.size());
 
   int this_component_verification_score = 0;
   int newer_component_verification_score = 0;
@@ -705,7 +731,8 @@
     // If the components can't be merged directly, store the ungermed index and
     // sum the verification scores to decide which component's substructure to
     // use.
-    if (!subcomponents_[i]->MergeWithComponent(*other_subcomponents.at(i))) {
+    if (!subcomponents_[i]->MergeTokenEquivalentComponent(
+            *other_subcomponents.at(i))) {
       this_component_verification_score +=
           subcomponents_[i]->GetStructureVerificationScore();
       newer_component_verification_score +=
@@ -725,6 +752,113 @@
   return true;
 }
 
+void AddressComponent::ConsumeAdditionalToken(
+    const base::string16& token_value) {
+  if (IsAtomic()) {
+    if (GetValue().empty()) {
+      SetValue(token_value, VerificationStatus::kParsed);
+    } else {
+      SetValue(base::StrCat({GetValue(), base::ASCIIToUTF16(" "), token_value}),
+               VerificationStatus::kParsed);
+    }
+    return;
+  }
+
+  // Try the first free subcomponent.
+  for (auto* subcomponent : subcomponents_) {
+    if (subcomponent->GetValue().empty()) {
+      subcomponent->SetValue(token_value, VerificationStatus::kParsed);
+      return;
+    }
+  }
+
+  // Otherwise append the value to the first component.
+  subcomponents_[0]->SetValue(
+      base::StrCat({GetValue(), base::ASCIIToUTF16(" "), token_value}),
+      VerificationStatus::kParsed);
+}
+
+bool AddressComponent::MergeSubsetComponent(
+    const AddressComponent& subset_component,
+    const SortedTokenComparisonResult& token_comparison_result) {
+  DCHECK(token_comparison_result.status == SINGLE_TOKEN_SUPERSET);
+  DCHECK(token_comparison_result.additional_tokens.size() == 1);
+
+  base::string16 token_to_consume =
+      token_comparison_result.additional_tokens.back().value;
+
+  int this_component_verification_score = 0;
+  int newer_component_verification_score = 0;
+  bool found_subset_component = false;
+
+  std::vector<int> unmerged_indices;
+  unmerged_indices.reserve(subcomponents_.size());
+
+  const std::vector<AddressComponent*>& subset_subcomponents =
+      subset_component.Subcomponents();
+
+  unmerged_indices.reserve(subcomponents_.size());
+
+  for (size_t i = 0; i < subcomponents_.size(); i++) {
+    DCHECK(subcomponents_[i]->GetStorageType() ==
+           subset_subcomponents.at(i)->GetStorageType());
+
+    AddressComponent* subcomponent = subcomponents_[i];
+    const AddressComponent* subset_subcomponent = subset_subcomponents.at(i);
+
+    base::string16 additional_token;
+
+    // If the additional token is the value of this token. Just leave it in.
+    if (!found_subset_component &&
+        subcomponent->GetValue() == token_to_consume &&
+        subset_subcomponent->GetValue().empty()) {
+      found_subset_component = true;
+      continue;
+    }
+
+    SortedTokenComparisonResult subtoken_comparison_result =
+        CompareSortedTokens(subcomponent->GetSortedTokens(),
+                            subset_subcomponent->GetSortedTokens());
+
+    // Recursive case.
+    if (!found_subset_component &&
+        subtoken_comparison_result.status == SINGLE_TOKEN_SUPERSET) {
+      found_subset_component = true;
+      subcomponent->MergeSubsetComponent(*subset_subcomponent,
+                                         subtoken_comparison_result);
+      continue;
+    }
+
+    // If the tokens are the equivalent, they can directly be merged.
+    if (subtoken_comparison_result.status == MATCH) {
+      subcomponent->MergeTokenEquivalentComponent(*subset_subcomponent);
+      continue;
+    }
+
+    // Otherwise calculate the verification score.
+    this_component_verification_score +=
+        subcomponent->GetStructureVerificationScore();
+    newer_component_verification_score +=
+        subset_subcomponent->GetStructureVerificationScore();
+    unmerged_indices.emplace_back(i);
+  }
+
+  // If the total verification score of all unmerged components of the other
+  // component is equal or larger than the score of this component, use its
+  // subcomponents including their substructure for all unmerged components.
+  if (newer_component_verification_score >= this_component_verification_score) {
+    for (size_t i : unmerged_indices)
+      *subcomponents_[i] = *subset_subcomponents[i];
+
+    if (!found_subset_component)
+      this->ConsumeAdditionalToken(token_to_consume);
+  }
+
+  // In the current implementation it is always possible to merge.
+  // Once more tokens are supported this may change.
+  return true;
+}
+
 int AddressComponent::GetStructureVerificationScore() const {
   int result = 0;
   switch (GetVerificationStatus()) {
diff --git a/components/autofill/core/browser/data_model/autofill_structured_address_component.h b/components/autofill/core/browser/data_model/autofill_structured_address_component.h
index 37f2a4a1..8f3bce9 100644
--- a/components/autofill/core/browser/data_model/autofill_structured_address_component.h
+++ b/components/autofill/core/browser/data_model/autofill_structured_address_component.h
@@ -20,6 +20,9 @@
 namespace autofill {
 namespace structured_address {
 
+struct AddressToken;
+struct SortedTokenComparisonResult;
+
 // Represents the validation status of value stored in the AutofillProfile.
 // The associated integer values used to store the verification code in SQL and
 // should not be modified.
@@ -269,7 +272,7 @@
 
   // Returns a constant reference to the sorted canonicalized tokens of the
   // value of the component.
-  const std::vector<base::string16>& GetSortedTokens() const {
+  const std::vector<AddressToken>& GetSortedTokens() const {
     return sorted_normalized_tokens_;
   }
 
@@ -359,6 +362,17 @@
   // Clears all parsed and formatted values.
   void ClearAllParsedAndFormattedValues();
 
+  // Merge a component that has exactly one token less.
+  bool MergeSubsetComponent(
+      const AddressComponent& subset_component,
+      const SortedTokenComparisonResult& token_comparison_result);
+
+  // Consumes an additional token into the most appropriate subcomponent.
+  // Can be implemented by the specific node types.
+  // The fall-back solution uses the first empty node.
+  // If no empty node is available, it appends the value to the first node.
+  virtual void ConsumeAdditionalToken(const base::string16& token_value);
+
  private:
   // Returns a reference to the constant root node of the tree.
   const AddressComponent& GetRootNode() const;
@@ -410,7 +424,7 @@
   // meaning that it was converted to lower case and diacritics have been
   // removed. |value_| is tokenized by splitting the string by white spaces and
   // commas. It is calculated when |value_| is set.
-  std::vector<base::string16> sorted_normalized_tokens_;
+  std::vector<AddressToken> sorted_normalized_tokens_;
 
   // A pointer to the parent node. It is set to nullptr if the node is the root
   // node of the AddressComponent tree.
diff --git a/components/autofill/core/browser/data_model/autofill_structured_address_name_unittest.cc b/components/autofill/core/browser/data_model/autofill_structured_address_name_unittest.cc
index c46f2a1..566a689 100644
--- a/components/autofill/core/browser/data_model/autofill_structured_address_name_unittest.cc
+++ b/components/autofill/core/browser/data_model/autofill_structured_address_name_unittest.cc
@@ -9,8 +9,11 @@
 #include <string>
 #include <vector>
 
+#include "base/feature_list.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/test/scoped_feature_list.h"
 #include "components/autofill/core/browser/data_model/autofill_structured_address_utils.h"
+#include "components/autofill/core/common/autofill_features.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 using base::ASCIIToUTF16;
@@ -20,6 +23,38 @@
 
 namespace {
 
+struct AddressComponentTestValue {
+  ServerFieldType type;
+  std::string value;
+  VerificationStatus status;
+};
+
+struct AddressComponentTestValues {
+  std::vector<AddressComponentTestValue> values;
+};
+
+void SetTestValues(AddressComponent* component,
+                   const AddressComponentTestValues& test_values,
+                   bool finalize = true) {
+  for (const auto& test_value : test_values.values) {
+    component->SetValueForTypeIfPossible(test_value.type,
+                                         base::UTF8ToUTF16(test_value.value),
+                                         test_value.status);
+  }
+  if (finalize)
+    component->CompleteFullTree();
+}
+
+void VerifyTestValues(AddressComponent* component,
+                      const AddressComponentTestValues test_values) {
+  for (const auto& test_value : test_values.values) {
+    EXPECT_EQ(component->GetValueForType(test_value.type),
+              base::UTF8ToUTF16(test_value.value));
+    EXPECT_EQ(component->GetVerificationStatusForType(test_value.type),
+              test_value.status);
+  }
+}
+
 // A test record that contains all entries of the hybrid-structure name tree.
 struct NameParserTestRecord {
   std::string full;
@@ -666,5 +701,133 @@
             VerificationStatus::kObserved);
 }
 
+TEST(AutofillStructuredName, MergeSubsetLastname) {
+  base::test::ScopedFeatureList scoped_feature;
+  scoped_feature.InitAndEnableFeature(
+      features::kAutofillEnableSupportForMergingSubsetNames);
+  NameFull name;
+  NameFull subset_name;
+
+  AddressComponentTestValues name_values = {
+      .values =
+          {
+              {.type = NAME_FIRST,
+               .value = "Thomas",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_MIDDLE,
+               .value = "Neo",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_LAST,
+               .value = "Anderson y Smith",
+               .status = VerificationStatus::kObserved},
+          },
+  };
+
+  AddressComponentTestValues subset_name_values = {
+      .values =
+          {
+              {.type = NAME_FIRST,
+               .value = "Thomas",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_MIDDLE,
+               .value = "Neo",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_LAST_FIRST,
+               .value = "Anderson",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_LAST_SECOND,
+               .value = "Smith",
+               .status = VerificationStatus::kObserved},
+          },
+  };
+
+  AddressComponentTestValues expectation = {
+      .values =
+          {
+              {.type = NAME_FIRST,
+               .value = "Thomas",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_MIDDLE,
+               .value = "Neo",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_LAST_FIRST,
+               .value = "Anderson",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_LAST_CONJUNCTION,
+               .value = "y",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_LAST_SECOND,
+               .value = "Smith",
+               .status = VerificationStatus::kObserved},
+          },
+  };
+
+  SetTestValues(&name, name_values);
+  SetTestValues(&subset_name, subset_name_values);
+
+  EXPECT_TRUE(name.IsMergeableWithComponent(subset_name));
+  EXPECT_TRUE(name.MergeWithComponent(subset_name));
+
+  VerifyTestValues(&name, name_values);
+}
+
+TEST(AutofillStructuredName, MergeSubsetLastname2) {
+  base::test::ScopedFeatureList scoped_feature;
+  scoped_feature.InitAndEnableFeature(
+      features::kAutofillEnableSupportForMergingSubsetNames);
+  NameFull name;
+  NameFull subset_name;
+
+  AddressComponentTestValues name_values = {
+      .values =
+          {
+              {.type = NAME_FIRST,
+               .value = "Thomas",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_MIDDLE,
+               .value = "Neo",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_LAST,
+               .value = "Anderson",
+               .status = VerificationStatus::kObserved},
+          },
+  };
+
+  AddressComponentTestValues subset_name_values = {
+      .values =
+          {
+              {.type = NAME_FIRST,
+               .value = "Thomas",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_LAST,
+               .value = "Anderson",
+               .status = VerificationStatus::kObserved},
+          },
+  };
+
+  AddressComponentTestValues expectation = {
+      .values =
+          {
+              {.type = NAME_FIRST,
+               .value = "Thomas",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_MIDDLE,
+               .value = "Neo",
+               .status = VerificationStatus::kObserved},
+              {.type = NAME_LAST,
+               .value = "Anderson",
+               .status = VerificationStatus::kObserved},
+          },
+  };
+
+  SetTestValues(&name, name_values);
+  SetTestValues(&subset_name, subset_name_values);
+
+  EXPECT_TRUE(name.IsMergeableWithComponent(subset_name));
+  EXPECT_TRUE(name.MergeWithComponent(subset_name));
+
+  VerifyTestValues(&name, name_values);
+}
+
 }  // namespace structured_address
 }  // namespace autofill
diff --git a/components/autofill/core/browser/data_model/autofill_structured_address_utils.cc b/components/autofill/core/browser/data_model/autofill_structured_address_utils.cc
index df28d80a..29e99f5 100644
--- a/components/autofill/core/browser/data_model/autofill_structured_address_utils.cc
+++ b/components/autofill/core/browser/data_model/autofill_structured_address_utils.cc
@@ -26,6 +26,16 @@
 namespace autofill {
 namespace structured_address {
 
+SortedTokenComparisonResult::SortedTokenComparisonResult(
+    SortedTokenComparisonStatus status,
+    std::vector<AddressToken> additional_tokens)
+    : status(status), additional_tokens(additional_tokens) {}
+
+SortedTokenComparisonResult::~SortedTokenComparisonResult() = default;
+
+SortedTokenComparisonResult::SortedTokenComparisonResult(
+    const SortedTokenComparisonResult& other) = default;
+
 bool StructuredNamesEnabled() {
   return base::FeatureList::IsEnabled(
       features::kAutofillEnableSupportForMoreStructureInNames);
@@ -241,41 +251,87 @@
   return AreSortedTokensEqual(TokenizeValue(one), TokenizeValue(other));
 }
 
-bool AreSortedTokensEqual(const std::vector<base::string16>& first,
-                          const std::vector<base::string16>& second) {
-  // It is assumed that the vectors are sorted.
-  DCHECK(std::is_sorted(first.begin(), first.end()) &&
-         std::is_sorted(second.begin(), second.end()));
-  // If there is a different number of tokens, it can't be a permutation.
-  if (first.size() != second.size())
-    return false;
-  // Return true if both vectors are component-wise equal.
-  return std::equal(first.begin(), first.end(), second.begin());
+SortedTokenComparisonResult CompareSortedTokens(
+    const std::vector<AddressToken>& first,
+    const std::vector<AddressToken>& second) {
+  // Lambda to compare the normalized values of two AddressTokens.
+  auto cmp_normalized = [](const auto& a, const auto& b) {
+    return a.normalized_value < b.normalized_value;
+  };
+
+  // Verify that the two multi sets are sorted.
+  DCHECK(std::is_sorted(first.begin(), first.end(), cmp_normalized) &&
+         std::is_sorted(second.begin(), second.end(), cmp_normalized));
+
+  bool is_supserset = std::includes(first.begin(), first.end(), second.begin(),
+                                    second.end(), cmp_normalized);
+  bool is_subset = std::includes(second.begin(), second.end(), first.begin(),
+                                 first.end(), cmp_normalized);
+
+  // If first is both a superset and a subset it is the same.
+  if (is_supserset && is_subset)
+    return SortedTokenComparisonResult(MATCH);
+
+  // If it is neither, both are distinct.
+  if (!is_supserset && !is_subset)
+    return SortedTokenComparisonResult(DISTINCT);
+
+  std::vector<AddressToken> additional_tokens;
+
+  // Collect the additional tokens from the superset.
+  // Note, that the superset property is already assured.
+  std::set_symmetric_difference(
+      first.begin(), first.end(), second.begin(), second.end(),
+      std::back_inserter(additional_tokens), cmp_normalized);
+
+  if (is_supserset) {
+    return SortedTokenComparisonResult(additional_tokens.size() == 1
+                                           ? SINGLE_TOKEN_SUPERSET
+                                           : MULTI_TOKEN_SUPERSET,
+                                       additional_tokens);
+  }
+
+  return SortedTokenComparisonResult(
+      additional_tokens.size() == 1 ? SINGLE_TOKEN_SUBSET : MULTI_TOKEN_SUBSET,
+      additional_tokens);
 }
 
-std::vector<base::string16> TokenizeValue(const base::string16 value) {
-  // Canonicalize the value.
-  base::string16 cannonicalized_value = NormalizeValue(value);
+bool AreSortedTokensEqual(const std::vector<AddressToken>& first,
+                          const std::vector<AddressToken>& second) {
+  return CompareSortedTokens(first, second).status == MATCH;
+}
+
+std::vector<AddressToken> TokenizeValue(const base::string16 value) {
+  std::vector<AddressToken> tokens;
+  int index = 0;
 
   // CJK names are a special case and are tokenized by character without the
   // separators.
-  std::vector<base::string16> tokens;
   if (HasCjkNameCharacteristics(base::UTF16ToUTF8(value))) {
     tokens.reserve(value.size());
     for (size_t i = 0; i < value.size(); i++) {
       base::string16 cjk_separators = base::UTF8ToUTF16("・·  ");
       if (cjk_separators.find(value.substr(i, 1)) == base::string16::npos) {
-        tokens.emplace_back(value.substr(i, 1));
+        tokens.emplace_back(AddressToken{.value = value.substr(i, 1),
+                                         .normalized_value = value.substr(i, 1),
+                                         .position = index++});
       }
     }
   } else {
     // Split it by white spaces and commas into non-empty values.
-    tokens =
-        base::SplitString(cannonicalized_value, base::ASCIIToUTF16(", "),
-                          base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
+    for (const auto& token :
+         base::SplitString(value, base::ASCIIToUTF16(", "),
+                           base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY)) {
+      tokens.emplace_back(
+          AddressToken{.value = token,
+                       .normalized_value = NormalizeValue(token),
+                       .position = index++});
+    }
   }
-  // Sort the tokens lexicographically.
-  std::sort(tokens.begin(), tokens.end());
+  // Sort the tokens lexicographically by their normalized value.
+  std::sort(tokens.begin(), tokens.end(), [](const auto& a, const auto& b) {
+    return a.normalized_value < b.normalized_value;
+  });
 
   return tokens;
 }
diff --git a/components/autofill/core/browser/data_model/autofill_structured_address_utils.h b/components/autofill/core/browser/data_model/autofill_structured_address_utils.h
index 3320f14..cad351f6 100644
--- a/components/autofill/core/browser/data_model/autofill_structured_address_utils.h
+++ b/components/autofill/core/browser/data_model/autofill_structured_address_utils.h
@@ -22,6 +22,15 @@
 namespace autofill {
 namespace structured_address {
 
+struct AddressToken {
+  // The original value.
+  base::string16 value;
+  // The normalized value.
+  base::string16 normalized_value;
+  // The token position in the original string.
+  int position;
+};
+
 enum class RegEx;
 
 // Enum to express the few quantifiers needed to parse values.
@@ -35,6 +44,40 @@
   MATCH_LAZY_OPTIONAL,
 };
 
+// The result status of comparing two sets of sorted tokens.
+enum SortedTokenComparisonStatus {
+  // The tokens are neither the same nor super/sub sets.
+  DISTINCT,
+  // The token exactly match.
+  MATCH,
+  // The first tokens are a superset of the second with only one additional
+  // element.
+  SINGLE_TOKEN_SUPERSET,
+  // The second tokens are a subset of the second with only one additional
+  // element.
+  SINGLE_TOKEN_SUBSET,
+  // The first tokens are a superset of the second with multiple additional
+  // elements.
+  MULTI_TOKEN_SUPERSET,
+  // The second tokens are a subset of the second with multiple additional
+  // elements.
+  MULTI_TOKEN_SUBSET
+};
+
+// The result from comparing two sets of sorted tokens containing the status and
+// the additional tokens in the super/sub sets.
+struct SortedTokenComparisonResult {
+  explicit SortedTokenComparisonResult(
+      SortedTokenComparisonStatus status,
+      std::vector<AddressToken> additional_tokens = {});
+  ~SortedTokenComparisonResult();
+  SortedTokenComparisonResult(const SortedTokenComparisonResult& other);
+  // The status of the token comparison.
+  SortedTokenComparisonStatus status = DISTINCT;
+  // The additional elements in the super/subsets.
+  std::vector<AddressToken> additional_tokens{};
+};
+
 // Options for capturing a named group using the
 // |CaptureTypeWithPattern(...)| functions.
 struct CaptureOptions {
@@ -176,8 +219,8 @@
 base::string16 NormalizeValue(const base::string16& value);
 
 // Returns true of both vectors contain the same tokens in the same order.
-bool AreSortedTokensEqual(const std::vector<base::string16>& first,
-                          const std::vector<base::string16>& second);
+bool AreSortedTokensEqual(const std::vector<AddressToken>& first,
+                          const std::vector<AddressToken>& second);
 
 // Returns true if both strings contain the same tokens after normalization.
 bool AreStringTokenEquivalent(const base::string16& one,
@@ -186,7 +229,13 @@
 // Returns a sorted vector containing the tokens of |value| after |value| was
 // canonicalized. |value| is tokenized by splitting it by white spaces and
 // commas.
-std::vector<base::string16> TokenizeValue(const base::string16 value);
+std::vector<AddressToken> TokenizeValue(const base::string16 value);
+
+// Compares two vectors of sorted AddressTokens and returns the
+// SortedTokenComparisonResult;
+SortedTokenComparisonResult CompareSortedTokens(
+    const std::vector<AddressToken>& first,
+    const std::vector<AddressToken>& second);
 
 }  // namespace structured_address
 
diff --git a/components/autofill/core/browser/data_model/autofill_structured_address_utils_unittest.cc b/components/autofill/core/browser/data_model/autofill_structured_address_utils_unittest.cc
index 9db62858..24bb9ecc 100644
--- a/components/autofill/core/browser/data_model/autofill_structured_address_utils_unittest.cc
+++ b/components/autofill/core/browser/data_model/autofill_structured_address_utils_unittest.cc
@@ -17,6 +17,13 @@
 namespace autofill {
 namespace structured_address {
 
+// Element-wise comparison operator.
+bool operator==(const AddressToken& lhs, const AddressToken& rhs) {
+  return lhs.value == rhs.value &&
+         lhs.normalized_value == rhs.normalized_value &&
+         lhs.position == rhs.position;
+}
+
 // Regular expression with named capture groups for parsing US-style names.
 char kFirstMiddleLastRe[] =
     "^(?P<NAME_FULL>((?P<NAME_FIRST>\\w+)\\s)?"
@@ -210,16 +217,19 @@
 }
 
 TEST(AutofillStructuredAddressUtils, TokenizeValue) {
-  std::vector<base::string16> expected_tokens = {
-      base::ASCIIToUTF16("and"), base::ASCIIToUTF16("anotherone"),
-      base::ASCIIToUTF16("value")};
+  std::vector<AddressToken> expected_tokens = {
+      {base::ASCIIToUTF16("AnD"), base::ASCIIToUTF16("and"), 1},
+      {base::ASCIIToUTF16("anotherOne"), base::ASCIIToUTF16("anotherone"), 2},
+      {base::ASCIIToUTF16("valUe"), base::ASCIIToUTF16("value"), 0}};
 
   EXPECT_EQ(TokenizeValue(base::ASCIIToUTF16("  valUe AnD    anotherOne")),
             expected_tokens);
 
-  std::vector<base::string16> expected_cjk_tokens = {base::UTF8ToUTF16("영"),
-                                                     base::UTF8ToUTF16("이"),
-                                                     base::UTF8ToUTF16("호")};
+  std::vector<AddressToken> expected_cjk_tokens = {
+      {base::UTF8ToUTF16("영"), base::UTF8ToUTF16("영"), 1},
+      {base::UTF8ToUTF16("이"), base::UTF8ToUTF16("이"), 0},
+      {base::UTF8ToUTF16("호"), base::UTF8ToUTF16("호"), 2}};
+
   EXPECT_EQ(TokenizeValue(base::UTF8ToUTF16("이영 호")), expected_cjk_tokens);
   EXPECT_EQ(TokenizeValue(base::UTF8ToUTF16("이・영호")), expected_cjk_tokens);
   EXPECT_EQ(TokenizeValue(base::UTF8ToUTF16("이영 호")), expected_cjk_tokens);
@@ -230,25 +240,5 @@
             base::UTF8ToUTF16("muller orber"));
 }
 
-TEST(AutofillStructuredAddressUtils, AreSortedTokensEqual) {
-  EXPECT_FALSE(AreSortedTokensEqual(
-      {base::ASCIIToUTF16("aaaa"), base::ASCIIToUTF16("bbb")},
-      {base::ASCIIToUTF16("aaa"), base::ASCIIToUTF16("bbb")}));
-
-  EXPECT_TRUE(AreSortedTokensEqual(
-      {base::ASCIIToUTF16("aaa"), base::ASCIIToUTF16("bbb")},
-      {base::ASCIIToUTF16("aaa"), base::ASCIIToUTF16("bbb")}));
-
-  EXPECT_FALSE(AreSortedTokensEqual(
-      {base::ASCIIToUTF16("aaa")},
-      {base::ASCIIToUTF16("aaa"), base::ASCIIToUTF16("bbb")}));
-}
-
-TEST(AutofillStructuredAddressUtils, AreStringTokenEquivalent) {
-  EXPECT_TRUE(AreStringTokenEquivalent(base::ASCIIToUTF16("A B C"),
-                                       base::ASCIIToUTF16("A C B")));
-  EXPECT_FALSE(AreStringTokenEquivalent(base::ASCIIToUTF16("A Bb C"),
-                                        base::ASCIIToUTF16("A C B")));
-}
 }  // namespace structured_address
 }  // namespace autofill
diff --git a/components/autofill/core/browser/payments/payments_client_unittest.cc b/components/autofill/core/browser/payments/payments_client_unittest.cc
index 2cf54dd..1faf3fa 100644
--- a/components/autofill/core/browser/payments/payments_client_unittest.cc
+++ b/components/autofill/core/browser/payments/payments_client_unittest.cc
@@ -120,7 +120,7 @@
                               const std::string& group_name,
                               int variation_id) {
     variations::AssociateGoogleVariationID(
-        variations::GOOGLE_WEB_PROPERTIES, trial_name, group_name,
+        variations::GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, trial_name, group_name,
         static_cast<variations::VariationID>(variation_id));
     base::FieldTrialList::CreateFieldTrial(trial_name, group_name)->group();
   }
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
index ea207c7..b5d9ad9 100644
--- a/components/autofill/core/common/autofill_features.cc
+++ b/components/autofill/core/common/autofill_features.cc
@@ -97,6 +97,12 @@
     "AutofillEnableSupportForMoreStructureInNames",
     base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Controls if Autofill supports merging subset names.
+// TODO(crbug.com/1098943): Remove once launched.
+const base::Feature kAutofillEnableSupportForMergingSubsetNames{
+    "AutofillEnableSupportForMergingSubsetNames",
+    base::FEATURE_DISABLED_BY_DEFAULT};
+
 // Controls whether or not a minimum number of fields is required before
 // heuristic field type prediction is run for a form.
 const base::Feature kAutofillEnforceMinRequiredFieldsForHeuristics{
diff --git a/components/autofill/core/common/autofill_features.h b/components/autofill/core/common/autofill_features.h
index e9d2709a..98d6ae0f 100644
--- a/components/autofill/core/common/autofill_features.h
+++ b/components/autofill/core/common/autofill_features.h
@@ -35,6 +35,7 @@
 extern const base::Feature kAutofillEnableCompanyName;
 extern const base::Feature kAutofillEnableHideSuggestionsUI;
 extern const base::Feature kAutofillEnableSupportForMoreStructureInNames;
+extern const base::Feature kAutofillEnableSupportForMergingSubsetNames;
 extern const base::Feature kAutofillEnforceMinRequiredFieldsForHeuristics;
 extern const base::Feature kAutofillEnforceMinRequiredFieldsForQuery;
 extern const base::Feature kAutofillEnforceMinRequiredFieldsForUpload;
diff --git a/components/autofill_assistant/browser/actions/action_delegate.h b/components/autofill_assistant/browser/actions/action_delegate.h
index f47c2091..544a947 100644
--- a/components/autofill_assistant/browser/actions/action_delegate.h
+++ b/components/autofill_assistant/browser/actions/action_delegate.h
@@ -144,6 +144,15 @@
   virtual void CollectUserData(
       CollectUserDataOptions* collect_user_data_options) = 0;
 
+  // Updates the most recent successful user data options.
+  virtual void SetLastSuccessfulUserDataOptions(
+      std::unique_ptr<CollectUserDataOptions> collect_user_data_options) = 0;
+
+  // Provides read access to the most recent successful user data options.
+  // Returns nullptr if there is no such object.
+  virtual const CollectUserDataOptions* GetLastSuccessfulUserDataOptions()
+      const = 0;
+
   // Executes |write_callback| on the currently stored user_data and
   // user_data_options.
   virtual void WriteUserData(
diff --git a/components/autofill_assistant/browser/actions/collect_user_data_action.cc b/components/autofill_assistant/browser/actions/collect_user_data_action.cc
index 43dc672..e23f3cf 100644
--- a/components/autofill_assistant/browser/actions/collect_user_data_action.cc
+++ b/components/autofill_assistant/browser/actions/collect_user_data_action.cc
@@ -474,6 +474,10 @@
   delegate_->CleanUpAfterPrompt();
   action_successful_ = status.ok();
   UpdateProcessedAction(status);
+  if (action_successful_) {
+    delegate_->SetLastSuccessfulUserDataOptions(
+        std::move(collect_user_data_options_));
+  }
   std::move(callback_).Run(std::move(processed_action_proto_));
 }
 
@@ -1338,8 +1342,11 @@
 }
 
 void CollectUserDataAction::OnPersonalDataChanged() {
-  personal_data_changed_ = true;
+  if (!callback_) {
+    return;
+  }
 
+  personal_data_changed_ = true;
   delegate_->WriteUserData(
       base::BindOnce(&CollectUserDataAction::UpdatePersonalDataManagerProfiles,
                      weak_ptr_factory_.GetWeakPtr()));
diff --git a/components/autofill_assistant/browser/actions/mock_action_delegate.h b/components/autofill_assistant/browser/actions/mock_action_delegate.h
index 3ff1c3f..2aeff07 100644
--- a/components/autofill_assistant/browser/actions/mock_action_delegate.h
+++ b/components/autofill_assistant/browser/actions/mock_action_delegate.h
@@ -146,6 +146,14 @@
 
   MOCK_METHOD1(CollectUserData,
                void(CollectUserDataOptions* collect_user_data_options));
+
+  MOCK_METHOD1(
+      SetLastSuccessfulUserDataOptions,
+      void(std::unique_ptr<CollectUserDataOptions> collect_user_data_options));
+
+  MOCK_CONST_METHOD0(GetLastSuccessfulUserDataOptions,
+                     CollectUserDataOptions*());
+
   MOCK_METHOD1(
       WriteUserData,
       void(base::OnceCallback<void(UserData*, UserData::FieldChange*)>));
diff --git a/components/autofill_assistant/browser/actions/show_details_action.cc b/components/autofill_assistant/browser/actions/show_details_action.cc
index c910f62..ea08e6e9 100644
--- a/components/autofill_assistant/browser/actions/show_details_action.cc
+++ b/components/autofill_assistant/browser/actions/show_details_action.cc
@@ -38,7 +38,8 @@
     case ShowDetailsProto::DataToShowCase::kContactDetails:
       details = std::make_unique<Details>();
       details_valid = Details::UpdateFromContactDetails(
-          proto_.show_details(), delegate_->GetUserData(), details.get());
+          proto_.show_details(), delegate_->GetUserData(),
+          delegate_->GetLastSuccessfulUserDataOptions(), details.get());
       break;
     case ShowDetailsProto::DataToShowCase::kShippingAddress:
       details = std::make_unique<Details>();
diff --git a/components/autofill_assistant/browser/actions/show_details_action_unittest.cc b/components/autofill_assistant/browser/actions/show_details_action_unittest.cc
index 4e23920..8b5576b9 100644
--- a/components/autofill_assistant/browser/actions/show_details_action_unittest.cc
+++ b/components/autofill_assistant/browser/actions/show_details_action_unittest.cc
@@ -31,6 +31,8 @@
     ON_CALL(mock_action_delegate_, SetDetails(_)).WillByDefault(Return());
     ON_CALL(mock_action_delegate_, GetUserData)
         .WillByDefault(Return(&user_data_));
+    ON_CALL(mock_action_delegate_, GetLastSuccessfulUserDataOptions)
+        .WillByDefault(Return(&user_data_options_));
   }
 
  protected:
@@ -55,6 +57,7 @@
   }
 
   UserData user_data_;
+  CollectUserDataOptions user_data_options_;
   MockActionDelegate mock_action_delegate_;
   base::MockCallback<Action::ProcessActionCallback> callback_;
   ShowDetailsProto proto_;
@@ -81,6 +84,7 @@
 TEST_F(ShowDetailsActionTest, ContactDetailsCase) {
   proto_.set_contact_details("contact");
   user_data_.selected_addresses_["contact"] = MakeAutofillProfile();
+  user_data_options_.request_payer_name = true;
 
   EXPECT_CALL(mock_action_delegate_, SetDetails(_));
   EXPECT_CALL(
diff --git a/components/autofill_assistant/browser/controller.cc b/components/autofill_assistant/browser/controller.cc
index 0112d42..eb6faea7 100644
--- a/components/autofill_assistant/browser/controller.cc
+++ b/components/autofill_assistant/browser/controller.cc
@@ -731,7 +731,7 @@
     PerformDelayedShutdownIfNecessary();
     return;
   }
-
+  user_model_.SetCurrentURL(GetCurrentURL());
   GetOrCheckScripts();
 }
 
@@ -1065,6 +1065,8 @@
     mock_configuration.set_use_step_progress_bar(true);
     SetStepProgressBarConfiguration(mock_configuration);
   }
+
+  user_model_.SetCurrentURL(GetCurrentURL());
 }
 
 void Controller::Track(std::unique_ptr<TriggerContext> trigger_context,
@@ -1890,6 +1892,16 @@
   }
 }
 
+void Controller::SetLastSuccessfulUserDataOptions(
+    std::unique_ptr<CollectUserDataOptions> collect_user_data_options) {
+  last_collect_user_data_options_ = std::move(collect_user_data_options);
+}
+
+const CollectUserDataOptions* Controller::GetLastSuccessfulUserDataOptions()
+    const {
+  return last_collect_user_data_options_.get();
+}
+
 void Controller::WriteUserData(
     base::OnceCallback<void(UserData*, UserData::FieldChange*)>
         write_callback) {
diff --git a/components/autofill_assistant/browser/controller.h b/components/autofill_assistant/browser/controller.h
index cf62100..dd32747 100644
--- a/components/autofill_assistant/browser/controller.h
+++ b/components/autofill_assistant/browser/controller.h
@@ -162,6 +162,10 @@
   void SetOverlayBehavior(
       ConfigureUiStateProto::OverlayBehavior overlay_behavior) override;
   void SetCollectUserDataOptions(CollectUserDataOptions* options) override;
+  void SetLastSuccessfulUserDataOptions(std::unique_ptr<CollectUserDataOptions>
+                                            collect_user_data_options) override;
+  const CollectUserDataOptions* GetLastSuccessfulUserDataOptions()
+      const override;
   void WriteUserData(
       base::OnceCallback<void(UserData*, UserData::FieldChange*)>) override;
   void OnScriptError(const std::string& error_message,
@@ -417,6 +421,9 @@
 
   std::unique_ptr<OverlayColors> overlay_colors_;
 
+  // A copy of the most recently set user data options. Can be used to determine
+  // which information was requested.
+  std::unique_ptr<CollectUserDataOptions> last_collect_user_data_options_;
   CollectUserDataOptions* collect_user_data_options_ = nullptr;
   std::unique_ptr<UserData> user_data_;
 
diff --git a/components/autofill_assistant/browser/details.cc b/components/autofill_assistant/browser/details.cc
index f755cdc..d864f63 100644
--- a/components/autofill_assistant/browser/details.cc
+++ b/components/autofill_assistant/browser/details.cc
@@ -111,9 +111,16 @@
 }
 
 // static
-bool Details::UpdateFromContactDetails(const ShowDetailsProto& proto,
-                                       const UserData* user_data,
-                                       Details* details) {
+bool Details::UpdateFromContactDetails(
+    const ShowDetailsProto& proto,
+    const UserData* user_data,
+    const CollectUserDataOptions* user_data_options,
+    Details* details) {
+  if (!user_data_options || !(user_data_options->request_payer_name ||
+                              user_data_options->request_payer_email)) {
+    return false;
+  }
+
   std::string contact_details = proto.contact_details();
   if (!user_data->has_selected_address(contact_details)) {
     return false;
@@ -124,9 +131,14 @@
   auto* details_proto = updated_proto.mutable_details();
   details_proto->set_title(
       l10n_util::GetStringUTF8(IDS_PAYMENTS_CONTACT_DETAILS_LABEL));
-  details_proto->set_description_line_1(base::UTF16ToUTF8(FullName(*profile)));
-  details_proto->set_description_line_2(
-      base::UTF16ToUTF8(profile->GetRawInfo(autofill::EMAIL_ADDRESS)));
+  if (user_data_options->request_payer_name) {
+    details_proto->set_description_line_1(
+        base::UTF16ToUTF8(FullName(*profile)));
+  }
+  if (user_data_options->request_payer_email) {
+    details_proto->set_description_line_2(
+        base::UTF16ToUTF8(profile->GetRawInfo(autofill::EMAIL_ADDRESS)));
+  }
   details->SetDetailsProto(updated_proto.details());
   details->SetDetailsChangesProto(updated_proto.change_flags());
   return true;
diff --git a/components/autofill_assistant/browser/details.h b/components/autofill_assistant/browser/details.h
index 5a8dd0b..ec48966 100644
--- a/components/autofill_assistant/browser/details.h
+++ b/components/autofill_assistant/browser/details.h
@@ -36,10 +36,13 @@
   static bool UpdateFromProto(const ShowDetailsProto& proto, Details* details);
 
   // Updates the details to show selected contact details. It shows only full
-  // name and email. Returns true if |details| were successfully updated.
-  static bool UpdateFromContactDetails(const ShowDetailsProto& proto,
-                                       const UserData* user_data,
-                                       Details* details);
+  // name and/or email, depending on |user_data_options|. Returns true if
+  // |details| were successfully updated.
+  static bool UpdateFromContactDetails(
+      const ShowDetailsProto& proto,
+      const UserData* user_data,
+      const CollectUserDataOptions* user_data_options,
+      Details* details);
 
   // Updates the details to show selected shipping details. It shows full name
   // and address. Returns true if |details| were successfully updated.
diff --git a/components/autofill_assistant/browser/details_unittest.cc b/components/autofill_assistant/browser/details_unittest.cc
index 23f41afc..cdcfbe0f 100644
--- a/components/autofill_assistant/browser/details_unittest.cc
+++ b/components/autofill_assistant/browser/details_unittest.cc
@@ -59,6 +59,7 @@
   }
 
   UserData user_data_;
+  CollectUserDataOptions user_data_options_;
 };
 
 TEST_F(DetailsTest, UpdateFromParametersEmpty) {
@@ -162,17 +163,36 @@
 }
 
 TEST_F(DetailsTest, UpdateFromContactDetailsNoAddressInMemory) {
-  EXPECT_FALSE(Details::UpdateFromContactDetails(ShowDetailsProto(),
-                                                 &user_data_, nullptr));
+  EXPECT_FALSE(Details::UpdateFromContactDetails(
+      ShowDetailsProto(), &user_data_, &user_data_options_, nullptr));
+}
+
+TEST_F(DetailsTest, UpdateFromContactDetailsNoUserDataOptions) {
+  EXPECT_FALSE(Details::UpdateFromContactDetails(
+      ShowDetailsProto(), &user_data_, /* user_data_options = */ nullptr,
+      nullptr));
+}
+
+TEST_F(DetailsTest, UpdateFromContactDetailsNoContactInfoRequested) {
+  ShowDetailsProto proto;
+  proto.set_contact_details("contact");
+  user_data_.selected_addresses_["contact"] = MakeAutofillProfile();
+  user_data_options_.request_payer_name = false;
+  user_data_options_.request_payer_email = false;
+  EXPECT_FALSE(Details::UpdateFromContactDetails(proto, &user_data_,
+                                                 &user_data_options_, nullptr));
 }
 
 TEST_F(DetailsTest, UpdateFromContactDetails) {
   ShowDetailsProto proto;
   proto.set_contact_details("contact");
   user_data_.selected_addresses_["contact"] = MakeAutofillProfile();
+  user_data_options_.request_payer_name = true;
+  user_data_options_.request_payer_email = true;
 
   Details details;
-  EXPECT_TRUE(Details::UpdateFromContactDetails(proto, &user_data_, &details));
+  EXPECT_TRUE(Details::UpdateFromContactDetails(proto, &user_data_,
+                                                &user_data_options_, &details));
 
   EXPECT_THAT(details.title(),
               Eq(l10n_util::GetStringUTF8(IDS_PAYMENTS_CONTACT_DETAILS_LABEL)));
@@ -180,6 +200,40 @@
   EXPECT_THAT(details.descriptionLine2(), Eq("\xE2\x98\xBA@gmail.com"));
 }
 
+TEST_F(DetailsTest, UpdateFromContactOnlyName) {
+  ShowDetailsProto proto;
+  proto.set_contact_details("contact");
+  user_data_.selected_addresses_["contact"] = MakeAutofillProfile();
+  user_data_options_.request_payer_name = true;
+  user_data_options_.request_payer_email = false;
+
+  Details details;
+  EXPECT_TRUE(Details::UpdateFromContactDetails(proto, &user_data_,
+                                                &user_data_options_, &details));
+
+  EXPECT_THAT(details.title(),
+              Eq(l10n_util::GetStringUTF8(IDS_PAYMENTS_CONTACT_DETAILS_LABEL)));
+  EXPECT_THAT(details.descriptionLine1(), Eq("Charles Hardin Holley"));
+  EXPECT_THAT(details.descriptionLine2(), Eq(""));
+}
+
+TEST_F(DetailsTest, UpdateFromContactOnlyEmail) {
+  ShowDetailsProto proto;
+  proto.set_contact_details("contact");
+  user_data_.selected_addresses_["contact"] = MakeAutofillProfile();
+  user_data_options_.request_payer_name = false;
+  user_data_options_.request_payer_email = true;
+
+  Details details;
+  EXPECT_TRUE(Details::UpdateFromContactDetails(proto, &user_data_,
+                                                &user_data_options_, &details));
+
+  EXPECT_THAT(details.title(),
+              Eq(l10n_util::GetStringUTF8(IDS_PAYMENTS_CONTACT_DETAILS_LABEL)));
+  EXPECT_THAT(details.descriptionLine1(), Eq(""));
+  EXPECT_THAT(details.descriptionLine2(), Eq("\xE2\x98\xBA@gmail.com"));
+}
+
 TEST_F(DetailsTest, UpdateFromShippingAddressNoAddressInMemory) {
   EXPECT_FALSE(Details::UpdateFromShippingAddress(ShowDetailsProto(),
                                                   &user_data_, nullptr));
@@ -204,16 +258,16 @@
 TEST_F(DetailsTest, UpdateFromSelectedCreditCardEmptyMemory) {
   ShowDetailsProto proto;
   proto.set_credit_card(true);
-  EXPECT_FALSE(Details::UpdateFromContactDetails(ShowDetailsProto(),
-                                                 &user_data_, nullptr));
+  EXPECT_FALSE(Details::UpdateFromSelectedCreditCard(ShowDetailsProto(),
+                                                     &user_data_, nullptr));
 }
 
 TEST_F(DetailsTest, UpdateFromSelectedCreditCardNotRequested) {
   ShowDetailsProto proto;
   proto.set_credit_card(false);
   user_data_.selected_card_ = MakeCreditCard();
-  EXPECT_FALSE(Details::UpdateFromContactDetails(ShowDetailsProto(),
-                                                 &user_data_, nullptr));
+  EXPECT_FALSE(Details::UpdateFromSelectedCreditCard(ShowDetailsProto(),
+                                                     &user_data_, nullptr));
 }
 
 TEST_F(DetailsTest, UpdateFromCreditCard) {
diff --git a/components/autofill_assistant/browser/fake_script_executor_delegate.cc b/components/autofill_assistant/browser/fake_script_executor_delegate.cc
index 79bb988..27ab678d 100644
--- a/components/autofill_assistant/browser/fake_script_executor_delegate.cc
+++ b/components/autofill_assistant/browser/fake_script_executor_delegate.cc
@@ -120,6 +120,16 @@
   payment_request_options_ = options;
 }
 
+void FakeScriptExecutorDelegate::SetLastSuccessfulUserDataOptions(
+    std::unique_ptr<CollectUserDataOptions> collect_user_data_options) {
+  last_payment_request_options_ = std::move(collect_user_data_options);
+}
+
+const CollectUserDataOptions*
+FakeScriptExecutorDelegate::GetLastSuccessfulUserDataOptions() const {
+  return last_payment_request_options_.get();
+}
+
 void FakeScriptExecutorDelegate::WriteUserData(
     base::OnceCallback<void(UserData*, UserData::FieldChange*)>
         write_callback) {
diff --git a/components/autofill_assistant/browser/fake_script_executor_delegate.h b/components/autofill_assistant/browser/fake_script_executor_delegate.h
index a0029ae0..ff38b8f 100644
--- a/components/autofill_assistant/browser/fake_script_executor_delegate.h
+++ b/components/autofill_assistant/browser/fake_script_executor_delegate.h
@@ -54,6 +54,10 @@
   void SetUserActions(
       std::unique_ptr<std::vector<UserAction>> user_actions) override;
   void SetCollectUserDataOptions(CollectUserDataOptions* options) override;
+  void SetLastSuccessfulUserDataOptions(std::unique_ptr<CollectUserDataOptions>
+                                            collect_user_data_options) override;
+  const CollectUserDataOptions* GetLastSuccessfulUserDataOptions()
+      const override;
   void WriteUserData(
       base::OnceCallback<void(UserData*, UserData::FieldChange*)>) override;
   void SetViewportMode(ViewportMode mode) override;
@@ -147,6 +151,7 @@
   std::unique_ptr<Details> details_;
   std::unique_ptr<InfoBox> info_box_;
   std::unique_ptr<std::vector<UserAction>> user_actions_;
+  std::unique_ptr<CollectUserDataOptions> last_payment_request_options_;
   CollectUserDataOptions* payment_request_options_;
   std::unique_ptr<UserData> payment_request_info_;
   bool navigating_to_new_document_ = false;
diff --git a/components/autofill_assistant/browser/script_executor.cc b/components/autofill_assistant/browser/script_executor.cc
index c2cf91b..b9ef1dc 100644
--- a/components/autofill_assistant/browser/script_executor.cc
+++ b/components/autofill_assistant/browser/script_executor.cc
@@ -354,6 +354,17 @@
   delegate_->EnterState(AutofillAssistantState::PROMPT);
 }
 
+void ScriptExecutor::SetLastSuccessfulUserDataOptions(
+    std::unique_ptr<CollectUserDataOptions> collect_user_data_options) {
+  delegate_->SetLastSuccessfulUserDataOptions(
+      std::move(collect_user_data_options));
+}
+
+const CollectUserDataOptions* ScriptExecutor::GetLastSuccessfulUserDataOptions()
+    const {
+  return delegate_->GetLastSuccessfulUserDataOptions();
+}
+
 void ScriptExecutor::WriteUserData(
     base::OnceCallback<void(UserData*, UserData::FieldChange*)>
         write_callback) {
diff --git a/components/autofill_assistant/browser/script_executor.h b/components/autofill_assistant/browser/script_executor.h
index 50ead50..b62fa73 100644
--- a/components/autofill_assistant/browser/script_executor.h
+++ b/components/autofill_assistant/browser/script_executor.h
@@ -136,6 +136,10 @@
       base::OnceCallback<void(const ClientStatus&)> callback) override;
   void CollectUserData(
       CollectUserDataOptions* collect_user_data_options) override;
+  void SetLastSuccessfulUserDataOptions(std::unique_ptr<CollectUserDataOptions>
+                                            collect_user_data_options) override;
+  const CollectUserDataOptions* GetLastSuccessfulUserDataOptions()
+      const override;
   void WriteUserData(
       base::OnceCallback<void(UserData*, UserData::FieldChange*)>) override;
   void GetFullCard(const autofill::CreditCard* credit_card,
diff --git a/components/autofill_assistant/browser/script_executor_delegate.h b/components/autofill_assistant/browser/script_executor_delegate.h
index 986660d..4809e69e 100644
--- a/components/autofill_assistant/browser/script_executor_delegate.h
+++ b/components/autofill_assistant/browser/script_executor_delegate.h
@@ -85,6 +85,10 @@
   virtual void ClearInfoBox() = 0;
   virtual void SetCollectUserDataOptions(
       CollectUserDataOptions* collect_user_data_options) = 0;
+  virtual void SetLastSuccessfulUserDataOptions(
+      std::unique_ptr<CollectUserDataOptions> collect_user_data_options) = 0;
+  virtual const CollectUserDataOptions* GetLastSuccessfulUserDataOptions()
+      const = 0;
   virtual void WriteUserData(
       base::OnceCallback<void(UserData*, UserData::FieldChange*)>
           write_callback) = 0;
diff --git a/components/autofill_assistant/browser/user_model.cc b/components/autofill_assistant/browser/user_model.cc
index 61d0a95f..f7c2c94 100644
--- a/components/autofill_assistant/browser/user_model.cc
+++ b/components/autofill_assistant/browser/user_model.cc
@@ -164,6 +164,10 @@
   }
 }
 
+void UserModel::SetCurrentURL(GURL current_url) {
+  current_url_ = current_url;
+}
+
 const autofill::CreditCard* UserModel::GetCreditCard(
     const std::string& guid) const {
   auto it = credit_cards_.find(guid);
@@ -182,4 +186,8 @@
   return it->second.get();
 }
 
+GURL UserModel::GetCurrentURL() const {
+  return current_url_;
+}
+
 }  // namespace autofill_assistant
diff --git a/components/autofill_assistant/browser/user_model.h b/components/autofill_assistant/browser/user_model.h
index dd32253..c1c88811 100644
--- a/components/autofill_assistant/browser/user_model.h
+++ b/components/autofill_assistant/browser/user_model.h
@@ -17,6 +17,8 @@
 #include "components/autofill/core/browser/data_model/credit_card.h"
 #include "components/autofill_assistant/browser/model.pb.h"
 #include "components/autofill_assistant/browser/value_util.h"
+#include "url/gurl.h"
+
 namespace autofill_assistant {
 
 // Manages a map of |ValueProto| instances and notifies observers of changes.
@@ -84,12 +86,16 @@
       std::unique_ptr<std::vector<std::unique_ptr<autofill::AutofillProfile>>>
           profiles);
 
+  void SetCurrentURL(GURL current_url);
+
   // Returns the credit card with |guid| or nullptr if there is no such card.
   const autofill::CreditCard* GetCreditCard(const std::string& guid) const;
 
   // Returns the profile with |guid| or nullptr if there is no such profile.
   const autofill::AutofillProfile* GetProfile(const std::string& guid) const;
 
+  GURL GetCurrentURL() const;
+
   void AddObserver(Observer* observer);
   void RemoveObserver(Observer* observer);
 
@@ -109,6 +115,7 @@
   std::map<std::string, ValueProto> values_;
   std::map<std::string, std::unique_ptr<autofill::CreditCard>> credit_cards_;
   std::map<std::string, std::unique_ptr<autofill::AutofillProfile>> profiles_;
+  GURL current_url_;
   base::ObserverList<Observer> observers_;
   base::WeakPtrFactory<UserModel> weak_ptr_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(UserModel);
diff --git a/components/autofill_assistant/browser/view_layout.proto b/components/autofill_assistant/browser/view_layout.proto
index 627a9e9f..2981e656 100644
--- a/components/autofill_assistant/browser/view_layout.proto
+++ b/components/autofill_assistant/browser/view_layout.proto
@@ -72,6 +72,12 @@
   optional ClientDimensionProto height = 3;
 }
 
+message FaviconDrawableProto {
+  optional ClientDimensionProto diameter_size = 1;
+  // If true, we always use the monogram, even if the favicon is available.
+  optional bool force_monogram = 2;
+}
+
 // A drawable for use in backgrounds or in image views.
 message DrawableProto {
   enum Icon {
@@ -104,6 +110,8 @@
     Icon icon = 4;
     // A Base64 encoded image string.
     bytes base64 = 5;
+    // The favicon for a given URL.
+    FaviconDrawableProto favicon = 6;
   }
 }
 
diff --git a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/NativeBackgroundTask.java b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/NativeBackgroundTask.java
index d0850e9d..104af64 100644
--- a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/NativeBackgroundTask.java
+++ b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/NativeBackgroundTask.java
@@ -7,7 +7,6 @@
 import android.content.Context;
 
 import androidx.annotation.IntDef;
-import androidx.annotation.VisibleForTesting;
 
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.task.PostTask;
@@ -233,7 +232,6 @@
         return getBrowserStartupController().isRunningInServiceManagerMode();
     }
 
-    @VisibleForTesting
     protected BrowserStartupController getBrowserStartupController() {
         return BrowserStartupController.getInstance();
     }
diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerDelegate.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerDelegate.java
index d3fe624c..4caa864a 100644
--- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerDelegate.java
+++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerDelegate.java
@@ -6,8 +6,6 @@
 
 import android.content.Context;
 
-import androidx.annotation.VisibleForTesting;
-
 import org.chromium.components.background_task_scheduler.TaskInfo;
 
 /**
@@ -16,17 +14,11 @@
  * ({@link com.google.android.gms.gcm.GcmNetworkManager}) on older platforms.
  */
 interface BackgroundTaskSchedulerDelegate {
-    @VisibleForTesting
     String BACKGROUND_TASK_ID_KEY = "_background_task_id";
-    @VisibleForTesting
     String BACKGROUND_TASK_EXTRAS_KEY = "_background_task_extras";
-    @VisibleForTesting
     String BACKGROUND_TASK_SCHEDULE_TIME_KEY = "_background_task_schedule_time";
-    @VisibleForTesting
     String BACKGROUND_TASK_END_TIME_KEY = "_background_task_end_time";
-    @VisibleForTesting
     String BACKGROUND_TASK_INTERVAL_TIME_KEY = "_background_task_interval_time";
-    @VisibleForTesting
     String BACKGROUND_TASK_FLEX_TIME_KEY = "_background_task_flex_time";
 
     /**
diff --git a/components/bookmarks/browser/url_index.cc b/components/bookmarks/browser/url_index.cc
index f71bef05..c0082db 100644
--- a/components/bookmarks/browser/url_index.cc
+++ b/components/bookmarks/browser/url_index.cc
@@ -27,22 +27,6 @@
                                                std::set<GURL>* removed_urls) {
   base::AutoLock url_lock(url_lock_);
   RemoveImpl(node, removed_urls);
-  if (removed_urls) {
-    // RemoveImpl() adds an entry to removed_urls for each node of type URL. As
-    // duplicates are allowed we need to remove any entries that are still
-    // bookmarked.
-    for (auto i = removed_urls->begin(); i != removed_urls->end();) {
-      if (IsBookmarkedNoLock(*i)) {
-        // When we erase the iterator pointing at the erasee is
-        // invalidated, so using i++ here within the "erase" call is
-        // important as it advances the iterator before passing the
-        // old value through to erase.
-        removed_urls->erase(i++);
-      } else {
-        ++i;
-      }
-    }
-  }
   BookmarkNode* parent = node->parent();
   return parent->Remove(size_t{parent->GetIndexOf(node)});
 }
@@ -140,7 +124,7 @@
     while (*i != node)
       ++i;
     nodes_ordered_by_url_set_.erase(i);
-    if (removed_urls)
+    if (removed_urls && !IsBookmarkedNoLock(node->url()))
       removed_urls->insert(node->url());
   }
   for (const auto& child : base::Reversed(node->children()))
diff --git a/components/bookmarks/browser/url_index.h b/components/bookmarks/browser/url_index.h
index b175bd60..9e7f0268 100644
--- a/components/bookmarks/browser/url_index.h
+++ b/components/bookmarks/browser/url_index.h
@@ -45,8 +45,9 @@
            size_t index,
            std::unique_ptr<BookmarkNode> node);
 
-  // Removes |node| and all its descendants from the map, returns the set of
-  // urls that are no longer contained in the index.
+  // Removes |node| and all its descendants from the map, adds urls that are no
+  // longer contained in the index to the |removed_urls| set if provided
+  // (doesn't clean up existing items in the set).
   std::unique_ptr<BookmarkNode> Remove(BookmarkNode* node,
                                        std::set<GURL>* removed_urls);
 
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ClearWebsiteStorageDialog.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ClearWebsiteStorageDialog.java
index 7b76476..c7c44823 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ClearWebsiteStorageDialog.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ClearWebsiteStorageDialog.java
@@ -49,6 +49,7 @@
 
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
+        super.onConfigurationChanged(newConfig);
         if (mDialogView != null) {
             // When the device switches to multi-window in landscape mode, the height of the
             // offlineTextView is not calculated correctly (its height gets truncated) and a layout
diff --git a/components/embedder_support/BUILD.gn b/components/embedder_support/BUILD.gn
index 647bd3646..d17f211 100644
--- a/components/embedder_support/BUILD.gn
+++ b/components/embedder_support/BUILD.gn
@@ -20,11 +20,22 @@
     "//base/test:test_support",
     "//components/embedder_support",
     "//components/embedder_support/origin_trials",
+    "//mojo/core/embedder:embedder",
+    "//net:net",
+    "//net/traffic_annotation:test_support",
+    "//services/network:test_support",
     "//testing/gtest",
+    "//third_party/blink/public/mojom:mojom_platform_headers",
   ]
 
   if (is_android) {
-    sources += [ "android/util/url_utilities_unittest.cc" ]
+    sources += [
+      "android/util/android_stream_reader_url_loader_unittest.cc",
+      "android/util/input_stream_reader_unittest.cc",
+      "android/util/input_stream_unittest.cc",
+      "android/util/url_utilities_unittest.cc",
+    ]
+
     deps += [
       "android:native_j_unittests_jni_headers",
       "android:native_java_unittests_java",
diff --git a/components/embedder_support/android/BUILD.gn b/components/embedder_support/android/BUILD.gn
index af9086d..5740262 100644
--- a/components/embedder_support/android/BUILD.gn
+++ b/components/embedder_support/android/BUILD.gn
@@ -37,6 +37,7 @@
 
 android_library("util_java") {
   sources = [
+    "java/src/org/chromium/components/embedder_support/util/InputStreamUtil.java",
     "java/src/org/chromium/components/embedder_support/util/Origin.java",
     "java/src/org/chromium/components/embedder_support/util/UrlConstants.java",
     "java/src/org/chromium/components/embedder_support/util/UrlUtilities.java",
@@ -52,19 +53,32 @@
 }
 
 static_library("util") {
-  sources = [ "util/url_utilities.cc" ]
+  sources = [
+    "util/android_stream_reader_url_loader.cc",
+    "util/android_stream_reader_url_loader.h",
+    "util/input_stream.cc",
+    "util/input_stream.h",
+    "util/input_stream_reader.cc",
+    "util/input_stream_reader.h",
+    "util/url_utilities.cc",
+  ]
 
   deps = [
     ":util_jni_headers",
     "//base",
     "//components/google/core/common",
+    "//mojo/public/cpp/bindings:bindings",
+    "//mojo/public/cpp/system:system",
     "//net",
+    "//services/network/public/cpp:cpp",
+    "//services/network/public/mojom:mojom",
     "//url",
   ]
 }
 
 generate_jni("util_jni_headers") {
   sources = [
+    "java/src/org/chromium/components/embedder_support/util/InputStreamUtil.java",
     "java/src/org/chromium/components/embedder_support/util/UrlUtilities.java",
   ]
 }
@@ -228,7 +242,10 @@
     "//base:base_java",
     "//third_party/junit",
   ]
-  sources = [ "native_java_unittests/src/org/chromium/components/embedder_support/util/UrlUtilitiesUnitTest.java" ]
+  sources = [
+    "native_java_unittests/src/org/chromium/components/embedder_support/util/InputStreamUnittest.java",
+    "native_java_unittests/src/org/chromium/components/embedder_support/util/UrlUtilitiesUnitTest.java",
+  ]
 
   annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
 }
@@ -237,7 +254,10 @@
 # can't put 'java' in the name here.
 generate_jni("native_j_unittests_jni_headers") {
   testonly = true
-  sources = [ "native_java_unittests/src/org/chromium/components/embedder_support/util/UrlUtilitiesUnitTest.java" ]
+  sources = [
+    "native_java_unittests/src/org/chromium/components/embedder_support/util/InputStreamUnittest.java",
+    "native_java_unittests/src/org/chromium/components/embedder_support/util/UrlUtilitiesUnitTest.java",
+  ]
 }
 
 android_library("junit_test_support") {
diff --git a/android_webview/java/src/org/chromium/android_webview/InputStreamUtil.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/util/InputStreamUtil.java
similarity index 95%
rename from android_webview/java/src/org/chromium/android_webview/InputStreamUtil.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/util/InputStreamUtil.java
index ae5aad1b9..059d7600 100644
--- a/android_webview/java/src/org/chromium/android_webview/InputStreamUtil.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/util/InputStreamUtil.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.android_webview;
+package org.chromium.components.embedder_support.util;
 
 import android.util.Log;
 
@@ -15,7 +15,7 @@
 /**
  * Utility methods for calling InputStream methods. These take care of exception handling.
  */
-@JNINamespace("android_webview")
+@JNINamespace("embedder_support")
 class InputStreamUtil {
     private static final String LOGTAG = "InputStreamUtil";
     // The InputStream APIs return -1 in some cases. In order to convey the extra information that
diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/util/UrlUtilities.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/util/UrlUtilities.java
index 6bce11c..f774786 100644
--- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/util/UrlUtilities.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/util/UrlUtilities.java
@@ -8,7 +8,6 @@
 import android.text.TextUtils;
 
 import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
 
 import org.chromium.base.CollectionUtil;
 import org.chromium.base.annotations.JNINamespace;
@@ -158,20 +157,17 @@
     }
 
     /** Returns whether a URL is within another URL's scope. */
-    @VisibleForTesting
     public static boolean isUrlWithinScope(String url, String scopeUrl) {
         return UrlUtilitiesJni.get().isUrlWithinScope(url, scopeUrl);
     }
 
     /** @return whether two URLs match, ignoring the #fragment. */
-    @VisibleForTesting
     public static boolean urlsMatchIgnoringFragments(String url, String url2) {
         if (TextUtils.equals(url, url2)) return true;
         return UrlUtilitiesJni.get().urlsMatchIgnoringFragments(url, url2);
     }
 
     /** @return whether the #fragmant differs in two URLs. */
-    @VisibleForTesting
     public static boolean urlsFragmentsDiffer(String url, String url2) {
         if (TextUtils.equals(url, url2)) return false;
         return UrlUtilitiesJni.get().urlsFragmentsDiffer(url, url2);
diff --git a/android_webview/unittestjava/src/org/chromium/android_webview/unittest/InputStreamUnittest.java b/components/embedder_support/android/native_java_unittests/src/org/chromium/components/embedder_support/util/InputStreamUnittest.java
similarity index 93%
rename from android_webview/unittestjava/src/org/chromium/android_webview/unittest/InputStreamUnittest.java
rename to components/embedder_support/android/native_java_unittests/src/org/chromium/components/embedder_support/util/InputStreamUnittest.java
index 6e046c99..d3bc5e5 100644
--- a/android_webview/unittestjava/src/org/chromium/android_webview/unittest/InputStreamUnittest.java
+++ b/components/embedder_support/android/native_java_unittests/src/org/chromium/components/embedder_support/util/InputStreamUnittest.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.android_webview.unittest;
+package org.chromium.components.embedder_support.util;
 
 import org.chromium.base.annotations.CalledByNative;
 
@@ -10,8 +10,7 @@
 import java.io.InputStream;
 
 class InputStreamUnittest {
-    private InputStreamUnittest() {
-    }
+    private InputStreamUnittest() {}
 
     @CalledByNative
     static InputStream getEmptyStream() {
diff --git a/components/embedder_support/android/util/DEPS b/components/embedder_support/android/util/DEPS
index 9af488a..839bc00 100644
--- a/components/embedder_support/android/util/DEPS
+++ b/components/embedder_support/android/util/DEPS
@@ -1,4 +1,15 @@
 include_rules = [
   "+components/google/core/common",
+  "+mojo/public/cpp/bindings",
+  "+mojo/public/cpp/system",
   "+net",
+  "+services/network/public",
+  "+third_party/blink/public/mojom/loader/resource_load_info.mojom-shared.h",
 ]
+
+specific_include_rules = {
+  ".*_unittest\.cc": [
+    "+services/network/test",
+    "+mojo/core/embedder/embedder.h",
+  ],
+}
diff --git a/android_webview/browser/network_service/android_stream_reader_url_loader.cc b/components/embedder_support/android/util/android_stream_reader_url_loader.cc
similarity index 94%
rename from android_webview/browser/network_service/android_stream_reader_url_loader.cc
rename to components/embedder_support/android/util/android_stream_reader_url_loader.cc
index 2e58160d..852399f 100644
--- a/android_webview/browser/network_service/android_stream_reader_url_loader.cc
+++ b/components/embedder_support/android/util/android_stream_reader_url_loader.cc
@@ -2,26 +2,23 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "android_webview/browser/network_service/android_stream_reader_url_loader.h"
+#include "components/embedder_support/android/util/android_stream_reader_url_loader.h"
 
 #include <memory>
 #include <string>
 #include <utility>
 #include <vector>
 
-#include "android_webview/browser/input_stream.h"
-#include "android_webview/browser/network_service/input_stream_reader.h"
-#include "android_webview/common/aw_features.h"
 #include "base/android/jni_android.h"
 #include "base/bind.h"
 #include "base/callback.h"
-#include "base/feature_list.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/task/post_task.h"
 #include "base/task/thread_pool.h"
 #include "base/threading/thread.h"
 #include "base/threading/thread_task_runner_handle.h"
-#include "content/public/browser/browser_thread.h"
+#include "components/embedder_support/android/util/input_stream.h"
+#include "components/embedder_support/android/util/input_stream_reader.h"
 #include "net/base/io_buffer.h"
 #include "net/base/mime_sniffer.h"
 #include "net/http/http_status_code.h"
@@ -29,7 +26,7 @@
 #include "services/network/public/cpp/cors/cors.h"
 #include "services/network/public/cpp/url_loader_completion_status.h"
 
-namespace android_webview {
+namespace embedder_support {
 
 namespace {
 
@@ -52,8 +49,6 @@
     scoped_refptr<base::SingleThreadTaskRunner> job_thread_task_runner,
     std::unique_ptr<AndroidStreamReaderURLLoader::ResponseDelegate> delegate,
     OnInputStreamOpenedCallback callback) {
-  DCHECK(!content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
-  DCHECK(!content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
   JNIEnv* env = base::android::AttachCurrentThread();
   DCHECK(env);
 
@@ -153,11 +148,8 @@
 void AndroidStreamReaderURLLoader::Start() {
   DCHECK(thread_checker_.CalledOnValidThread());
 
-  if (base::FeatureList::IsEnabled(
-          features::kWebViewOriginCheckForStreamReader) &&
-      reject_cors_request_ &&
-      response_head_->response_type ==
-          network::mojom::FetchResponseType::kCors) {
+  if (reject_cors_request_ && response_head_->response_type ==
+                                  network::mojom::FetchResponseType::kCors) {
     RequestCompleteWithStatus(
         network::URLLoaderCompletionStatus(network::CorsErrorStatus(
             network::mojom::CorsError::kCorsDisabledScheme)));
@@ -314,8 +306,7 @@
   // 2. Sending this now lets us unittest the net::ERR_ABORTED case. The case
   //    needs the ability to break the stream after getting the headers but
   //    before finishing the read.
-  if (!base::FeatureList::IsEnabled(features::kWebViewSniffMimeType) ||
-      !response_head_->mime_type.empty()) {
+  if (!response_head_->mime_type.empty()) {
     SendResponseToClient();
   }
   ReadMore();
@@ -387,7 +378,6 @@
   if (consumer_handle_.is_valid()) {
     // We only hit this on for the first buffer read, which we expect to be
     // enough to determine the MIME type.
-    DCHECK(base::FeatureList::IsEnabled(features::kWebViewSniffMimeType));
     if (response_head_->mime_type.empty()) {
       // Limit sniffing to the first net::kMaxBytesToSniff.
       size_t data_length = result;
@@ -478,4 +468,4 @@
   return true;
 }
 
-}  // namespace android_webview
+}  // namespace embedder_support
diff --git a/android_webview/browser/network_service/android_stream_reader_url_loader.h b/components/embedder_support/android/util/android_stream_reader_url_loader.h
similarity index 89%
rename from android_webview/browser/network_service/android_stream_reader_url_loader.h
rename to components/embedder_support/android/util/android_stream_reader_url_loader.h
index 6b3bdb1a..a3dbcab 100644
--- a/android_webview/browser/network_service/android_stream_reader_url_loader.h
+++ b/components/embedder_support/android/util/android_stream_reader_url_loader.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 ANDROID_WEBVIEW_BROWSER_NETWORK_SERVICE_ANDROID_STREAM_READER_URL_LOADER_H_
-#define ANDROID_WEBVIEW_BROWSER_NETWORK_SERVICE_ANDROID_STREAM_READER_URL_LOADER_H_
+#ifndef COMPONENTS_EMBEDDER_SUPPORT_ANDROID_UTIL_ANDROID_STREAM_READER_URL_LOADER_H_
+#define COMPONENTS_EMBEDDER_SUPPORT_ANDROID_UTIL_ANDROID_STREAM_READER_URL_LOADER_H_
 
 #include <memory>
 #include <string>
@@ -19,8 +19,7 @@
 #include "services/network/public/mojom/url_loader.mojom.h"
 #include "services/network/public/mojom/url_response_head.mojom.h"
 
-namespace android_webview {
-
+namespace embedder_support {
 class InputStream;
 class InputStreamReaderWrapper;
 
@@ -41,7 +40,7 @@
     virtual ~ResponseDelegate() {}
 
     // This method is called from a worker thread, not from the IO thread.
-    virtual std::unique_ptr<android_webview::InputStream> OpenInputStream(
+    virtual std::unique_ptr<embedder_support::InputStream> OpenInputStream(
         JNIEnv* env) = 0;
 
     // This method is called on the URLLoader thread (IO thread) if the
@@ -52,12 +51,12 @@
 
     virtual bool GetMimeType(JNIEnv* env,
                              const GURL& url,
-                             android_webview::InputStream* stream,
+                             embedder_support::InputStream* stream,
                              std::string* mime_type) = 0;
 
     virtual bool GetCharset(JNIEnv* env,
                             const GURL& url,
-                            android_webview::InputStream* stream,
+                            embedder_support::InputStream* stream,
                             std::string* charset) = 0;
 
     virtual void AppendResponseHeaders(JNIEnv* env,
@@ -95,7 +94,7 @@
   void OnInputStreamOpened(
       std::unique_ptr<AndroidStreamReaderURLLoader::ResponseDelegate>
           returned_delegate,
-      std::unique_ptr<android_webview::InputStream> input_stream);
+      std::unique_ptr<embedder_support::InputStream> input_stream);
   void OnReaderSeekCompleted(int result);
   void HeadersComplete(int status_code, const std::string& status_text);
   void RequestCompleteWithStatus(
@@ -141,6 +140,6 @@
   DISALLOW_COPY_AND_ASSIGN(AndroidStreamReaderURLLoader);
 };
 
-}  // namespace android_webview
+}  // namespace embedder_support
 
-#endif  // ANDROID_WEBVIEW_BROWSER_NETWORK_SERVICE_ANDROID_STREAM_READER_URL_LOADER_H_
+#endif  // COMPONENTS_EMBEDDER_SUPPORT_ANDROID_UTIL_ANDROID_STREAM_READER_URL_LOADER_H_
diff --git a/android_webview/browser/network_service/android_stream_reader_url_loader_unittest.cc b/components/embedder_support/android/util/android_stream_reader_url_loader_unittest.cc
similarity index 91%
rename from android_webview/browser/network_service/android_stream_reader_url_loader_unittest.cc
rename to components/embedder_support/android/util/android_stream_reader_url_loader_unittest.cc
index 341be73..c80d2e80 100644
--- a/android_webview/browser/network_service/android_stream_reader_url_loader_unittest.cc
+++ b/components/embedder_support/android/util/android_stream_reader_url_loader_unittest.cc
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "android_webview/browser/network_service/android_stream_reader_url_loader.h"
+#include "components/embedder_support/android/util/android_stream_reader_url_loader.h"
 
 #include <utility>
 
-#include "android_webview/browser/input_stream.h"
 #include "base/run_loop.h"
 #include "base/test/task_environment.h"
+#include "components/embedder_support/android/util/input_stream.h"
 #include "mojo/core/embedder/embedder.h"
 #include "net/http/http_request_headers.h"
 #include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
@@ -16,7 +16,7 @@
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/mojom/loader/resource_load_info.mojom-shared.h"
 
-namespace android_webview {
+namespace embedder_support {
 
 namespace {
 
@@ -34,7 +34,7 @@
 
 // Always succeeds, depending on constructor uses the given string as contents
 // for the input stream and puts it in the IOBuffer |nb_reads| times.
-class FakeInputStream : public InputStream {
+class FakeInputStream : public embedder_support::InputStream {
  public:
   FakeInputStream() : contents_(""), nb_reads_(0) {}
   explicit FakeInputStream(std::string contents)
@@ -70,7 +70,7 @@
 };
 
 // Stream that always fails
-class FakeFailingInputStream : public InputStream {
+class FakeFailingInputStream : public embedder_support::InputStream {
  public:
   FakeFailingInputStream() {}
   ~FakeFailingInputStream() override {}
@@ -84,24 +84,26 @@
 class TestResponseDelegate
     : public AndroidStreamReaderURLLoader::ResponseDelegate {
  public:
-  explicit TestResponseDelegate(std::unique_ptr<InputStream> input_stream)
+  explicit TestResponseDelegate(
+      std::unique_ptr<embedder_support::InputStream> input_stream)
       : input_stream_(std::move(input_stream)) {}
-  TestResponseDelegate(std::unique_ptr<InputStream> input_stream,
-                       const std::string custom_mime_type)
+  TestResponseDelegate(
+      std::unique_ptr<embedder_support::InputStream> input_stream,
+      const std::string custom_mime_type)
       : input_stream_(std::move(input_stream)),
         custom_mime_type_(custom_mime_type) {}
-  TestResponseDelegate(std::unique_ptr<InputStream> input_stream,
-                       const std::string& custom_status,
-                       const std::string& custom_header_name,
-                       const std::string& custom_header_value)
+  TestResponseDelegate(
+      std::unique_ptr<embedder_support::InputStream> input_stream,
+      const std::string& custom_status,
+      const std::string& custom_header_name,
+      const std::string& custom_header_value)
       : input_stream_(std::move(input_stream)),
         custom_status_(custom_status),
         custom_header_name_(custom_header_name),
         custom_header_value_(custom_header_value) {}
   ~TestResponseDelegate() override {}
 
-  std::unique_ptr<android_webview::InputStream> OpenInputStream(
-      JNIEnv* env) override {
+  std::unique_ptr<InputStream> OpenInputStream(JNIEnv* env) override {
     return std::move(input_stream_);
   }
 
@@ -112,7 +114,7 @@
 
   bool GetMimeType(JNIEnv* env,
                    const GURL& url,
-                   android_webview::InputStream* stream,
+                   embedder_support::InputStream* stream,
                    std::string* mime_type) override {
     if (!custom_mime_type_.empty()) {
       *mime_type = custom_mime_type_;
@@ -123,7 +125,7 @@
 
   bool GetCharset(JNIEnv* env,
                   const GURL& url,
-                  android_webview::InputStream* stream,
+                  embedder_support::InputStream* stream,
                   std::string* charset) override {
     return false;
   }
@@ -140,7 +142,7 @@
   }
 
  private:
-  std::unique_ptr<InputStream> input_stream_;
+  std::unique_ptr<embedder_support::InputStream> input_stream_;
   const std::string custom_mime_type_;
   const std::string custom_status_;
   const std::string custom_header_name_;
@@ -154,9 +156,7 @@
   AndroidStreamReaderURLLoaderTest() {}
   ~AndroidStreamReaderURLLoaderTest() override = default;
 
-  void SetUp() override {
-    mojo::core::Init();
-  }
+  void SetUp() override { mojo::core::Init(); }
 
   network::ResourceRequest CreateRequest() {
     network::ResourceRequest request;
@@ -171,7 +171,7 @@
   AndroidStreamReaderURLLoader* CreateLoader(
       const network::ResourceRequest& request,
       network::TestURLLoaderClient* client,
-      std::unique_ptr<InputStream> input_stream) {
+      std::unique_ptr<embedder_support::InputStream> input_stream) {
     return new AndroidStreamReaderURLLoader(
         request, client->CreateRemote(),
         net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
@@ -183,7 +183,7 @@
   AndroidStreamReaderURLLoader* CreateLoaderWithMimeType(
       const network::ResourceRequest& request,
       network::TestURLLoaderClient* client,
-      std::unique_ptr<InputStream> input_stream,
+      std::unique_ptr<embedder_support::InputStream> input_stream,
       const std::string custom_mime_type) {
     return new AndroidStreamReaderURLLoader(
         request, client->CreateRemote(),
@@ -198,7 +198,7 @@
   AndroidStreamReaderURLLoader* CreateLoaderWithCustomizedResponseHeader(
       const network::ResourceRequest& request,
       network::TestURLLoaderClient* client,
-      std::unique_ptr<InputStream> input_stream,
+      std::unique_ptr<embedder_support::InputStream> input_stream,
       const std::string custom_status,
       const std::string custom_header_name,
       const std::string custom_header_value) {
@@ -396,4 +396,4 @@
                            "shouldInterceptRequest");
 }
 
-}  // namespace android_webview
+}  // namespace embedder_support
diff --git a/android_webview/browser/input_stream.cc b/components/embedder_support/android/util/input_stream.cc
similarity index 93%
rename from android_webview/browser/input_stream.cc
rename to components/embedder_support/android/util/input_stream.cc
index 6971788..b6de08b 100644
--- a/android_webview/browser/input_stream.cc
+++ b/components/embedder_support/android/util/input_stream.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 "android_webview/browser/input_stream.h"
+#include "components/embedder_support/android/util/input_stream.h"
 
 #include "base/android/jni_android.h"
 // Disable "Warnings treated as errors" for input_stream_jni as it's a Java
@@ -10,7 +10,7 @@
 // even if they're unused.
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wunused-function"
-#include "android_webview/browser_jni_headers/InputStreamUtil_jni.h"
+#include "components/embedder_support/android/util_jni_headers/InputStreamUtil_jni.h"
 #pragma GCC diagnostic pop
 #include "net/base/io_buffer.h"
 
@@ -18,13 +18,13 @@
 using base::android::ClearException;
 using base::android::JavaRef;
 
-namespace android_webview {
+namespace embedder_support {
 
 namespace {
 
 // This should be the same as InputStramUtil.EXCEPTION_THROWN_STATUS.
 const int kExceptionThrownStatusCode = -2;
-}
+}  // namespace
 
 // Maximum number of bytes to be read in a single read.
 const int InputStream::kBufferSize = 4096;
@@ -120,4 +120,4 @@
   return true;
 }
 
-}  // namespace android_webview
+}  // namespace embedder_support
diff --git a/android_webview/browser/input_stream.h b/components/embedder_support/android/util/input_stream.h
similarity index 89%
rename from android_webview/browser/input_stream.h
rename to components/embedder_support/android/util/input_stream.h
index 1636751..126fe4e 100644
--- a/android_webview/browser/input_stream.h
+++ b/components/embedder_support/android/util/input_stream.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 ANDROID_WEBVIEW_BROWSER_INPUT_STREAM_H_
-#define ANDROID_WEBVIEW_BROWSER_INPUT_STREAM_H_
+#ifndef COMPONENTS_EMBEDDER_SUPPORT_ANDROID_UTIL_INPUT_STREAM_H_
+#define COMPONENTS_EMBEDDER_SUPPORT_ANDROID_UTIL_INPUT_STREAM_H_
 
 #include <stdint.h>
 
@@ -15,7 +15,7 @@
 class IOBuffer;
 }
 
-namespace android_webview {
+namespace embedder_support {
 
 // Abstract wrapper used to access the InputStream Java class.
 // This class is safe to pass around between threads (the destructor,
@@ -66,6 +66,6 @@
   DISALLOW_COPY_AND_ASSIGN(InputStream);
 };
 
-} // namespace android_webview
+}  // namespace embedder_support
 
-#endif //  ANDROID_WEBVIEW_BROWSER_INPUT_STREAM_H_
+#endif  //  COMPONENTS_EMBEDDER_SUPPORT_ANDROID_UTIL_INPUT_STREAM_H_
diff --git a/android_webview/browser/network_service/input_stream_reader.cc b/components/embedder_support/android/util/input_stream_reader.cc
similarity index 81%
rename from android_webview/browser/network_service/input_stream_reader.cc
rename to components/embedder_support/android/util/input_stream_reader.cc
index 72677d9..8a1b11a 100644
--- a/android_webview/browser/network_service/input_stream_reader.cc
+++ b/components/embedder_support/android/util/input_stream_reader.cc
@@ -2,24 +2,19 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "android_webview/browser/network_service/input_stream_reader.h"
+#include "components/embedder_support/android/util/input_stream_reader.h"
 
-#include "android_webview/browser/input_stream.h"
-#include "content/public/browser/browser_thread.h"
+#include "components/embedder_support/android/util/input_stream.h"
 #include "net/base/net_errors.h"
 #include "net/http/http_byte_range.h"
 
-using content::BrowserThread;
+namespace embedder_support {
 
-namespace android_webview {
-
-InputStreamReader::InputStreamReader(android_webview::InputStream* stream)
-    : stream_(stream) {
+InputStreamReader::InputStreamReader(InputStream* stream) : stream_(stream) {
   DCHECK(stream);
 }
 
-InputStreamReader::~InputStreamReader() {
-}
+InputStreamReader::~InputStreamReader() {}
 
 int InputStreamReader::Seek(const net::HttpByteRange& byte_range) {
   int content_size = 0;
@@ -64,8 +59,8 @@
   if (!byte_range->ComputeBounds(size))
     return net::ERR_REQUEST_RANGE_NOT_SATISFIABLE;
 
-  size = byte_range->last_byte_position() -
-         byte_range->first_byte_position() + 1;
+  size =
+      byte_range->last_byte_position() - byte_range->first_byte_position() + 1;
   DCHECK_GE(size, 0);
   *content_size = size;
 
@@ -94,4 +89,4 @@
   return net::OK;
 }
 
-}  // namespace android_webview
+}  // namespace embedder_support
diff --git a/android_webview/browser/network_service/input_stream_reader.h b/components/embedder_support/android/util/input_stream_reader.h
similarity index 77%
rename from android_webview/browser/network_service/input_stream_reader.h
rename to components/embedder_support/android/util/input_stream_reader.h
index 12d342fa..d1d6d74 100644
--- a/android_webview/browser/network_service/input_stream_reader.h
+++ b/components/embedder_support/android/util/input_stream_reader.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 ANDROID_WEBVIEW_BROWSER_NETWORK_SERVICE_INPUT_STREAM_READER_H_
-#define ANDROID_WEBVIEW_BROWSER_NETWORK_SERVICE_INPUT_STREAM_READER_H_
+#ifndef COMPONENTS_EMBEDDER_SUPPORT_ANDROID_UTIL_INPUT_STREAM_READER_H_
+#define COMPONENTS_EMBEDDER_SUPPORT_ANDROID_UTIL_INPUT_STREAM_READER_H_
 
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
@@ -11,17 +11,16 @@
 namespace net {
 class HttpByteRange;
 class IOBuffer;
-}
+}  // namespace net
 
-namespace android_webview {
-
+namespace embedder_support {
 class InputStream;
 
 // Class responsible for reading the InputStream.
 class InputStreamReader {
  public:
   // The constructor is called on the IO thread, not on the worker thread.
-  explicit InputStreamReader(android_webview::InputStream* stream);
+  explicit InputStreamReader(InputStream* stream);
   virtual ~InputStreamReader();
 
   // Perform a seek operation on the InputStream associated with this job.
@@ -45,18 +44,17 @@
  private:
   // Verify the requested range against the stream size.
   // net::OK is returned on success, the error code otherwise.
-  int VerifyRequestedRange(net::HttpByteRange* byte_range,
-                           int* content_size);
+  int VerifyRequestedRange(net::HttpByteRange* byte_range, int* content_size);
 
   // Skip to the first byte of the requested read range.
   // net::OK is returned on success, the error code otherwise.
   int SkipToRequestedRange(const net::HttpByteRange& byte_range);
 
-  android_webview::InputStream* stream_;
+  InputStream* stream_;
 
   DISALLOW_COPY_AND_ASSIGN(InputStreamReader);
 };
 
-}  // namespace android_webview
+}  // namespace embedder_support
 
-#endif  // ANDROID_WEBVIEW_BROWSER_NETWORK_SERVICE_INPUT_STREAM_READER_H_
+#endif  // COMPONENTS_EMBEDDER_SUPPORT_ANDROID_UTIL_INPUT_STREAM_READER_H_
diff --git a/android_webview/browser/network_service/input_stream_reader_unittest.cc b/components/embedder_support/android/util/input_stream_reader_unittest.cc
similarity index 74%
rename from android_webview/browser/network_service/input_stream_reader_unittest.cc
rename to components/embedder_support/android/util/input_stream_reader_unittest.cc
index 4fe855fb..141cf6b0 100644
--- a/android_webview/browser/network_service/input_stream_reader_unittest.cc
+++ b/components/embedder_support/android/util/input_stream_reader_unittest.cc
@@ -2,19 +2,20 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "android_webview/browser/network_service/input_stream_reader.h"
+#include "components/embedder_support/android/util/input_stream_reader.h"
 
-#include "android_webview/browser/input_stream.h"
 #include "base/android/scoped_java_ref.h"
 #include "base/callback.h"
 #include "base/memory/ref_counted.h"
+#include "components/embedder_support/android/util/input_stream.h"
 #include "net/base/io_buffer.h"
 #include "net/http/http_byte_range.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
-using android_webview::InputStream;
-using android_webview::InputStreamReader;
+using embedder_support::InputStream;
+using embedder_support::InputStreamReader;
+using testing::_;
 using testing::DoAll;
 using testing::Ge;
 using testing::InSequence;
@@ -24,9 +25,8 @@
 using testing::Return;
 using testing::SetArgPointee;
 using testing::Test;
-using testing::_;
 
-class MockInputStream : public InputStream {
+class MockInputStream : public embedder_support::InputStream {
  public:
   MockInputStream() {}
   virtual ~MockInputStream() {}
@@ -38,9 +38,8 @@
 
 class InputStreamReaderTest : public Test {
  public:
-  InputStreamReaderTest()
-      : input_stream_reader_(&input_stream_) {
-  }
+  InputStreamReaderTest() : input_stream_reader_(&input_stream_) {}
+
  protected:
   int SeekRange(int first_byte, int last_byte) {
     net::HttpByteRange byte_range;
@@ -58,8 +57,7 @@
 };
 
 TEST_F(InputStreamReaderTest, BytesAvailableFailurePropagationOnSeek) {
-  EXPECT_CALL(input_stream_, BytesAvailable(NotNull()))
-      .WillOnce(Return(false));
+  EXPECT_CALL(input_stream_, BytesAvailable(NotNull())).WillOnce(Return(false));
 
   ASSERT_GT(0, SeekRange(0, 0));
 }
@@ -69,8 +67,7 @@
   const int bytesToSkip = 5;
 
   EXPECT_CALL(input_stream_, BytesAvailable(NotNull()))
-      .WillOnce(DoAll(SetArgPointee<0>(streamSize),
-                      Return(true)));
+      .WillOnce(DoAll(SetArgPointee<0>(streamSize), Return(true)));
 
   EXPECT_CALL(input_stream_, Skip(bytesToSkip, NotNull()))
       .WillOnce(Return(false));
@@ -83,12 +80,10 @@
   const int bytesToSkip = 5;
 
   EXPECT_CALL(input_stream_, BytesAvailable(NotNull()))
-      .WillOnce(DoAll(SetArgPointee<0>(streamSize),
-                      Return(true)));
+      .WillOnce(DoAll(SetArgPointee<0>(streamSize), Return(true)));
 
   EXPECT_CALL(input_stream_, Skip(bytesToSkip, NotNull()))
-      .WillOnce(DoAll(SetArgPointee<1>(bytesToSkip),
-                      Return(true)));
+      .WillOnce(DoAll(SetArgPointee<1>(bytesToSkip), Return(true)));
 
   ASSERT_EQ(bytesToSkip, SeekRange(bytesToSkip, streamSize - 1));
 }
@@ -99,24 +94,19 @@
 
   EXPECT_CALL(input_stream_, BytesAvailable(NotNull()))
       .Times(1)
-      .WillOnce(DoAll(SetArgPointee<0>(streamSize),
-                      Return(true)));
+      .WillOnce(DoAll(SetArgPointee<0>(streamSize), Return(true)));
 
-  EXPECT_CALL(input_stream_, Skip(_, _))
-      .Times(0);
+  EXPECT_CALL(input_stream_, Skip(_, _)).Times(0);
   {
     InSequence s;
     EXPECT_CALL(input_stream_, Skip(bytesToSkip, NotNull()))
-        .WillOnce(DoAll(SetArgPointee<1>(bytesToSkip - 3),
-                        Return(true)))
+        .WillOnce(DoAll(SetArgPointee<1>(bytesToSkip - 3), Return(true)))
         .RetiresOnSaturation();
     EXPECT_CALL(input_stream_, Skip(3, NotNull()))
-        .WillOnce(DoAll(SetArgPointee<1>(1),
-                        Return(true)))
+        .WillOnce(DoAll(SetArgPointee<1>(1), Return(true)))
         .RetiresOnSaturation();
     EXPECT_CALL(input_stream_, Skip(2, NotNull()))
-        .WillOnce(DoAll(SetArgPointee<1>(2),
-                        Return(true)))
+        .WillOnce(DoAll(SetArgPointee<1>(2), Return(true)))
         .RetiresOnSaturation();
   }
 
@@ -125,8 +115,7 @@
 
 TEST_F(InputStreamReaderTest, SeekEmpty) {
   EXPECT_CALL(input_stream_, BytesAvailable(NotNull()))
-      .WillOnce(DoAll(SetArgPointee<0>(0),
-                      Return(true)));
+      .WillOnce(DoAll(SetArgPointee<0>(0), Return(true)));
 
   ASSERT_EQ(0, SeekRange(0, 0));
 }
@@ -134,8 +123,7 @@
 TEST_F(InputStreamReaderTest, SeekMoreThanAvailable) {
   const int bytesAvailable = 256;
   EXPECT_CALL(input_stream_, BytesAvailable(NotNull()))
-      .WillOnce(DoAll(SetArgPointee<0>(bytesAvailable),
-                      Return(true)));
+      .WillOnce(DoAll(SetArgPointee<0>(bytesAvailable), Return(true)));
 
   ASSERT_GT(0, SeekRange(bytesAvailable, 2 * bytesAvailable));
 }
@@ -164,8 +152,7 @@
   auto buffer = base::MakeRefCounted<net::IOBuffer>(bytesToRead);
 
   EXPECT_CALL(input_stream_, Read(buffer.get(), bytesToRead, NotNull()))
-      .WillOnce(DoAll(SetArgPointee<2>(bytesToRead),
-                      Return(true)));
+      .WillOnce(DoAll(SetArgPointee<2>(bytesToRead), Return(true)));
 
   ASSERT_EQ(bytesToRead, ReadRawData(buffer, bytesToRead));
 }
diff --git a/android_webview/browser/input_stream_unittest.cc b/components/embedder_support/android/util/input_stream_unittest.cc
similarity index 95%
rename from android_webview/browser/input_stream_unittest.cc
rename to components/embedder_support/android/util/input_stream_unittest.cc
index d048ff338..304e701c 100644
--- a/android_webview/browser/input_stream_unittest.cc
+++ b/components/embedder_support/android/util/input_stream_unittest.cc
@@ -4,20 +4,21 @@
 
 #include <memory>
 
-#include "android_webview/browser/input_stream.h"
-#include "android_webview/test/android_webview_unittests_jni/InputStreamUnittest_jni.h"
 #include "base/android/jni_android.h"
 #include "base/android/scoped_java_ref.h"
+#include "components/embedder_support/android/native_j_unittests_jni_headers/InputStreamUnittest_jni.h"
+#include "components/embedder_support/android/util/input_stream.h"
 #include "net/base/io_buffer.h"
 #include "net/base/net_errors.h"
 #include "net/http/http_byte_range.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
-using android_webview::InputStream;
 using base::android::AttachCurrentThread;
 using base::android::ScopedJavaLocalRef;
+using embedder_support::InputStream;
 using net::IOBuffer;
+using testing::_;
 using testing::DoAll;
 using testing::Ge;
 using testing::InSequence;
@@ -27,7 +28,6 @@
 using testing::Return;
 using testing::SetArgPointee;
 using testing::Test;
-using testing::_;
 
 class InputStreamTest : public Test {
  public:
diff --git a/components/exo/data_offer.cc b/components/exo/data_offer.cc
index 9027d77c..a2fc403 100644
--- a/components/exo/data_offer.cc
+++ b/components/exo/data_offer.cc
@@ -4,6 +4,8 @@
 
 #include "components/exo/data_offer.h"
 
+#include <memory>
+
 #include "base/bind.h"
 #include "base/files/file_util.h"
 #include "base/i18n/icu_string_conversions.h"
@@ -24,6 +26,7 @@
 #include "ui/base/clipboard/clipboard.h"
 #include "ui/base/clipboard/clipboard_buffer.h"
 #include "ui/base/clipboard/clipboard_constants.h"
+#include "ui/base/clipboard/clipboard_data_endpoint.h"
 #include "ui/base/dragdrop/file_info/file_info.h"
 #include "ui/base/dragdrop/os_exchange_data.h"
 #include "url/gurl.h"
@@ -120,8 +123,9 @@
 
 void ReadTextFromClipboard(const std::string& charset, base::ScopedFD fd) {
   base::string16 text;
+  const ui::ClipboardDataEndpoint data_dst(ui::EndpointType::kGuestOs);
   ui::Clipboard::GetForCurrentThread()->ReadText(
-      ui::ClipboardBuffer::kCopyPaste, /* data_dst = */ nullptr, &text);
+      ui::ClipboardBuffer::kCopyPaste, &data_dst, &text);
   WriteFileDescriptor(std::move(fd), EncodeAsRefCountedString(text, charset));
 }
 
@@ -129,17 +133,17 @@
   base::string16 text;
   std::string url;
   uint32_t start, end;
+  const ui::ClipboardDataEndpoint data_dst(ui::EndpointType::kGuestOs);
   ui::Clipboard::GetForCurrentThread()->ReadHTML(
-      ui::ClipboardBuffer::kCopyPaste, /* data_dst = */ nullptr, &text, &url,
-      &start, &end);
+      ui::ClipboardBuffer::kCopyPaste, &data_dst, &text, &url, &start, &end);
   WriteFileDescriptor(std::move(fd), EncodeAsRefCountedString(text, charset));
 }
 
 void ReadRTFFromClipboard(base::ScopedFD fd) {
   std::string text;
+  const ui::ClipboardDataEndpoint data_dst(ui::EndpointType::kGuestOs);
   ui::Clipboard::GetForCurrentThread()->ReadRTF(ui::ClipboardBuffer::kCopyPaste,
-                                                /* data_dst = */ nullptr,
-                                                &text);
+                                                &data_dst, &text);
   WriteFileDescriptor(std::move(fd), base::RefCountedString::TakeString(&text));
 }
 
@@ -164,9 +168,9 @@
 }
 
 void ReadPNGFromClipboard(base::ScopedFD fd) {
+  const ui::ClipboardDataEndpoint data_dst(ui::EndpointType::kGuestOs);
   ui::Clipboard::GetForCurrentThread()->ReadImage(
-      ui::ClipboardBuffer::kCopyPaste,
-      /* data_dst = */ nullptr,
+      ui::ClipboardBuffer::kCopyPaste, &data_dst,
       base::BindOnce(&OnReceivePNGFromClipboard, std::move(fd)));
 }
 
@@ -314,9 +318,9 @@
 void DataOffer::SetClipboardData(FileHelper* file_helper,
                                  const ui::Clipboard& data) {
   DCHECK_EQ(0u, data_.size());
+  const ui::ClipboardDataEndpoint data_dst(ui::EndpointType::kGuestOs);
   if (data.IsFormatAvailable(ui::ClipboardFormatType::GetPlainTextType(),
-                             ui::ClipboardBuffer::kCopyPaste,
-                             /* data_dst = */ nullptr)) {
+                             ui::ClipboardBuffer::kCopyPaste, &data_dst)) {
     auto utf8_callback =
         base::BindRepeating(&ReadTextFromClipboard, std::string(kUTF8));
     delegate_->OnOffer(std::string(ui::kMimeTypeTextUtf8));
@@ -330,8 +334,7 @@
         base::BindRepeating(&ReadTextFromClipboard, std::string(kUTF16)));
   }
   if (data.IsFormatAvailable(ui::ClipboardFormatType::GetHtmlType(),
-                             ui::ClipboardBuffer::kCopyPaste,
-                             /* data_dst = */ nullptr)) {
+                             ui::ClipboardBuffer::kCopyPaste, &data_dst)) {
     delegate_->OnOffer(std::string(kTextHtmlMimeTypeUtf8));
     data_callbacks_.emplace(
         std::string(kTextHtmlMimeTypeUtf8),
@@ -342,15 +345,13 @@
         base::BindRepeating(&ReadHTMLFromClipboard, std::string(kUTF16)));
   }
   if (data.IsFormatAvailable(ui::ClipboardFormatType::GetRtfType(),
-                             ui::ClipboardBuffer::kCopyPaste,
-                             /* data_dst = */ nullptr)) {
+                             ui::ClipboardBuffer::kCopyPaste, &data_dst)) {
     delegate_->OnOffer(std::string(kTextRtfMimeType));
     data_callbacks_.emplace(std::string(kTextRtfMimeType),
                             base::BindRepeating(&ReadRTFFromClipboard));
   }
   if (data.IsFormatAvailable(ui::ClipboardFormatType::GetBitmapType(),
-                             ui::ClipboardBuffer::kCopyPaste,
-                             /* data_dst = */ nullptr)) {
+                             ui::ClipboardBuffer::kCopyPaste, &data_dst)) {
     delegate_->OnOffer(std::string(kImagePngMimeType));
     data_callbacks_.emplace(std::string(kImagePngMimeType),
                             base::BindRepeating(&ReadPNGFromClipboard));
diff --git a/components/exo/seat.cc b/components/exo/seat.cc
index 022dd31..d161932 100644
--- a/components/exo/seat.cc
+++ b/components/exo/seat.cc
@@ -138,7 +138,7 @@
   explicit RefCountedScopedClipboardWriter()
       : ScopedClipboardWriter(ui::ClipboardBuffer::kCopyPaste,
                               std::make_unique<ui::ClipboardDataEndpoint>(
-                                  ui::EndpointType::kVm)) {}
+                                  ui::EndpointType::kGuestOs)) {}
 
  private:
   friend class base::RefCounted<RefCountedScopedClipboardWriter>;
diff --git a/components/exo/surface.cc b/components/exo/surface.cc
index 5059bbd..ff57ec5 100644
--- a/components/exo/surface.cc
+++ b/components/exo/surface.cc
@@ -1043,8 +1043,18 @@
     damage_rect.Inset(-1, -1);
     damage_rect += origin.OffsetFromOrigin();
     damage_rect.Intersect(output_rect);
-    render_pass->damage_rect.Union(
-        gfx::ConvertRectToPixel(device_scale_factor, damage_rect));
+    if (device_scale_factor <= 1) {
+      render_pass->damage_rect.Union(
+          gfx::ConvertRectToPixel(device_scale_factor, damage_rect));
+    } else {
+      // The damage will eventually be rescaled by 1/device_scale_factor. Since
+      // that scale factor is <1, taking the enclosed rect here means that that
+      // rescaled RectF is <1px smaller than |damage_rect| in each dimension,
+      // which makes the enclosing rect equal to |damage_rect|.
+      gfx::RectF scaled_damage(damage_rect);
+      scaled_damage.Scale(device_scale_factor);
+      render_pass->damage_rect.Union(gfx::ToEnclosedRect(scaled_damage));
+    }
   }
   damage_.Clear();
 
diff --git a/components/exo/surface_unittest.cc b/components/exo/surface_unittest.cc
index 9cdb9565..f0da5f8 100644
--- a/components/exo/surface_unittest.cc
+++ b/components/exo/surface_unittest.cc
@@ -24,6 +24,7 @@
 #include "ui/display/display.h"
 #include "ui/display/display_switches.h"
 #include "ui/gfx/geometry/dip_util.h"
+#include "ui/gfx/geometry/rect.h"
 #include "ui/gfx/gpu_fence.h"
 #include "ui/gfx/gpu_fence_handle.h"
 #include "ui/gfx/gpu_memory_buffer.h"
@@ -85,6 +86,11 @@
     return gfx::ConvertRectToPixel(device_scale_factor(), rect);
   }
 
+  gfx::Rect ToTargetSpaceDamage(const gfx::Rect damage_rect) {
+    // Map a frame's damage back to the coordinate space of its buffer.
+    return gfx::ScaleToEnclosingRect(damage_rect, 1 / device_scale_factor());
+  }
+
   const viz::CompositorFrame& GetFrameFromSurface(ShellSurface* shell_surface) {
     viz::SurfaceId surface_id = shell_surface->host_window()->GetSurfaceId();
     const viz::CompositorFrame& frame =
@@ -184,9 +190,8 @@
   {
     const viz::CompositorFrame& frame =
         GetFrameFromSurface(shell_surface.get());
-    EXPECT_TRUE(
-        gfx::RectF(frame.render_pass_list.back()->damage_rect)
-            .Contains(gfx::ScaleRect(buffer_damage, device_scale_factor())));
+    EXPECT_TRUE(ToTargetSpaceDamage(frame.render_pass_list.back()->damage_rect)
+                    .Contains(gfx::ToNearestRect(buffer_damage)));
   }
 }
 
@@ -304,8 +309,8 @@
 
     EXPECT_FALSE(texture_draw_quad->ShouldDrawWithBlending());
     EXPECT_EQ(SK_ColorBLACK, texture_draw_quad->background_color);
-    EXPECT_EQ(ToPixel(gfx::Rect(0, 0, 1, 1)),
-              frame.render_pass_list.back()->damage_rect);
+    EXPECT_EQ(gfx::Rect(buffer_size),
+              ToTargetSpaceDamage(frame.render_pass_list.back()->damage_rect));
   }
 
   // Setting an empty opaque region requires draw with blending.
@@ -322,8 +327,8 @@
         frame.render_pass_list.back()->quad_list.back());
     EXPECT_TRUE(texture_draw_quad->ShouldDrawWithBlending());
     EXPECT_EQ(SK_ColorTRANSPARENT, texture_draw_quad->background_color);
-    EXPECT_EQ(ToPixel(gfx::Rect(0, 0, 1, 1)),
-              frame.render_pass_list.back()->damage_rect);
+    EXPECT_EQ(gfx::Rect(buffer_size),
+              ToTargetSpaceDamage(frame.render_pass_list.back()->damage_rect));
   }
 
   std::unique_ptr<Buffer> buffer_without_alpha(
@@ -889,8 +894,8 @@
     ASSERT_EQ(1u, frame.render_pass_list.back()->quad_list.size());
     ASSERT_EQ(1u, frame.resource_list.size());
     ASSERT_EQ(1u, frame.resource_list.back().id);
-    EXPECT_EQ(ToPixel(gfx::Rect(0, 0, 1, 1)),
-              frame.render_pass_list.back()->damage_rect);
+    EXPECT_EQ(gfx::Rect(buffer_size),
+              ToTargetSpaceDamage(frame.render_pass_list.back()->damage_rect));
   }
 
   {
@@ -904,8 +909,8 @@
     // No quad if alpha is 0.
     ASSERT_EQ(0u, frame.render_pass_list.back()->quad_list.size());
     ASSERT_EQ(0u, frame.resource_list.size());
-    EXPECT_EQ(ToPixel(gfx::Rect(0, 0, 1, 1)),
-              frame.render_pass_list.back()->damage_rect);
+    EXPECT_EQ(gfx::Rect(buffer_size),
+              ToTargetSpaceDamage(frame.render_pass_list.back()->damage_rect));
   }
 
   {
@@ -920,8 +925,8 @@
     ASSERT_EQ(1u, frame.resource_list.size());
     // The resource should be updated again, the id should be changed.
     ASSERT_EQ(2u, frame.resource_list.back().id);
-    EXPECT_EQ(ToPixel(gfx::Rect(0, 0, 1, 1)),
-              frame.render_pass_list.back()->damage_rect);
+    EXPECT_EQ(gfx::Rect(buffer_size),
+              ToTargetSpaceDamage(frame.render_pass_list.back()->damage_rect));
   }
 }
 
diff --git a/components/exo/wayland/wayland_display_observer.cc b/components/exo/wayland/wayland_display_observer.cc
index ce4b55f..a9b12d98 100644
--- a/components/exo/wayland/wayland_display_observer.cc
+++ b/components/exo/wayland/wayland_display_observer.cc
@@ -16,50 +16,74 @@
 namespace exo {
 namespace wayland {
 
-WaylandDisplayObserver::WaylandDisplayObserver(WaylandDisplayOutput* output,
-                                               wl_resource* output_resource)
+WaylandDisplayHandler::WaylandDisplayHandler(WaylandDisplayOutput* output,
+                                             wl_resource* output_resource)
     : output_(output), output_resource_(output_resource) {
   output_->RegisterOutput(output_resource_);
   display::Screen::GetScreen()->AddObserver(this);
-  SendDisplayMetrics();
+
+  // Adding itself as an observer will send the initial display metrics.
+  AddObserver(this);
 }
 
-WaylandDisplayObserver::~WaylandDisplayObserver() {
+WaylandDisplayHandler::~WaylandDisplayHandler() {
   output_->UnregisterOutput(output_resource_);
   display::Screen::GetScreen()->RemoveObserver(this);
 }
 
-void WaylandDisplayObserver::AddScaleObserver(ScaleObserver* scale_observer) {
-  scale_observers_.AddObserver(scale_observer);
-  SendDisplayMetrics();
+void WaylandDisplayHandler::AddObserver(WaylandDisplayObserver* observer) {
+  observers_.AddObserver(observer);
+
+  display::Display display;
+  bool rv = display::Screen::GetScreen()->GetDisplayWithDisplayId(output_->id(),
+                                                                  &display);
+  DCHECK(rv);
+
+  // Send the first round of changes to the observer.
+  constexpr uint32_t all_changes = 0xFFFFFFFF;
+  if (observer->SendDisplayMetrics(display, all_changes)) {
+    if (wl_resource_get_version(output_resource_) >=
+        WL_OUTPUT_DONE_SINCE_VERSION) {
+      wl_output_send_done(output_resource_);
+    }
+    wl_client_flush(wl_resource_get_client(output_resource_));
+  }
 }
 
-void WaylandDisplayObserver::OnDisplayMetricsChanged(
+void WaylandDisplayHandler::OnDisplayMetricsChanged(
     const display::Display& display,
     uint32_t changed_metrics) {
   if (output_->id() != display.id())
     return;
 
+  bool needs_done = false;
+  for (auto& observer : observers_)
+    needs_done |= observer.SendDisplayMetrics(display, changed_metrics);
+
+  if (needs_done) {
+    if (wl_resource_get_version(output_resource_) >=
+        WL_OUTPUT_DONE_SINCE_VERSION) {
+      wl_output_send_done(output_resource_);
+    }
+    wl_client_flush(wl_resource_get_client(output_resource_));
+  }
+}
+
+bool WaylandDisplayHandler::SendDisplayMetrics(const display::Display& display,
+                                               uint32_t changed_metrics) {
   // There is no need to check DISPLAY_METRIC_PRIMARY because when primary
   // changes, bounds always changes. (new primary should have had non
   // 0,0 origin).
   // Only exception is when switching to newly connected primary with
   // the same bounds. This happens whenyou're in docked mode, suspend,
-  // unplug the dislpay, then resume to the internal display which has
+  // unplug the display, then resume to the internal display which has
   // the same resolution. Since metrics does not change, there is no need
   // to notify clients.
-  if (changed_metrics &
-      (DISPLAY_METRIC_BOUNDS | DISPLAY_METRIC_DEVICE_SCALE_FACTOR |
-       DISPLAY_METRIC_ROTATION)) {
-    SendDisplayMetrics();
+  if (!(changed_metrics &
+        (DISPLAY_METRIC_BOUNDS | DISPLAY_METRIC_DEVICE_SCALE_FACTOR |
+         DISPLAY_METRIC_ROTATION))) {
+    return false;
   }
-}
-
-void WaylandDisplayObserver::SendDisplayMetrics() {
-  display::Display display;
-  bool rv = display::Screen::GetScreen()->GetDisplayWithDisplayId(output_->id(),
-                                                                  &display);
-  DCHECK(rv);
 
   const display::ManagedDisplayInfo& info =
       WMHelper::GetInstance()->GetDisplayInfo(display.id());
@@ -99,18 +123,10 @@
                       WL_OUTPUT_MODE_CURRENT | WL_OUTPUT_MODE_PREFERRED,
                       bounds.width(), bounds.height(), static_cast<int>(60000));
 
-  for (auto& observer : scale_observers_)
-    observer.OnDisplayScalesChanged(display);
-
-  if (wl_resource_get_version(output_resource_) >=
-      WL_OUTPUT_DONE_SINCE_VERSION) {
-    wl_output_send_done(output_resource_);
-  }
-
-  wl_client_flush(wl_resource_get_client(output_resource_));
+  return true;
 }
 
-wl_output_transform WaylandDisplayObserver::OutputTransform(
+wl_output_transform WaylandDisplayHandler::OutputTransform(
     display::Display::Rotation rotation) {
   // Note: |rotation| describes the counter clockwise rotation that a
   // display's output is currently adjusted for, which is the inverse
diff --git a/components/exo/wayland/wayland_display_observer.h b/components/exo/wayland/wayland_display_observer.h
index 003b7e01..7ec87fb 100644
--- a/components/exo/wayland/wayland_display_observer.h
+++ b/components/exo/wayland/wayland_display_observer.h
@@ -18,30 +18,39 @@
 namespace wayland {
 class WaylandDisplayOutput;
 
-class WaylandDisplayObserver : public display::DisplayObserver {
+// An observer that allows display information changes to be sent
+// via different protocols while being synced with the wl_output's
+// "done" event through WaylandDisplayHandler.
+class WaylandDisplayObserver : public base::CheckedObserver {
  public:
-  class ScaleObserver : public base::CheckedObserver {
-   public:
-    ScaleObserver() {}
+  WaylandDisplayObserver() {}
 
-    virtual void OnDisplayScalesChanged(const display::Display& display) = 0;
+  // Returns |true| if the observer reported any changes and needs
+  // to be followed by "done" event, |false| otherwise.
+  virtual bool SendDisplayMetrics(const display::Display& display,
+                                  uint32_t changed_metrics) = 0;
 
-   protected:
-    ~ScaleObserver() override {}
-  };
+ protected:
+  ~WaylandDisplayObserver() override {}
+};
 
-  WaylandDisplayObserver(WaylandDisplayOutput* output,
-                         wl_resource* output_resource);
-  ~WaylandDisplayObserver() override;
-  void AddScaleObserver(ScaleObserver* scale_observer);
-  bool HasScaleObserver(ScaleObserver* scale_observer) const;
+class WaylandDisplayHandler : public display::DisplayObserver,
+                              public WaylandDisplayObserver {
+ public:
+  WaylandDisplayHandler(WaylandDisplayOutput* output,
+                        wl_resource* output_resource);
+  ~WaylandDisplayHandler() override;
+  void AddObserver(WaylandDisplayObserver* observer);
 
   // Overridden from display::DisplayObserver:
   void OnDisplayMetricsChanged(const display::Display& display,
                                uint32_t changed_metrics) override;
 
  private:
-  void SendDisplayMetrics();
+  // Overridden from WaylandDisplayObserver:
+  bool SendDisplayMetrics(const display::Display& display,
+                          uint32_t changed_metrics) override;
+
   // Returns the transform that a compositor will apply to a surface to
   // compensate for the rotation of an output device.
   wl_output_transform OutputTransform(display::Display::Rotation rotation);
@@ -52,9 +61,9 @@
   // The output resource associated with the display.
   wl_resource* const output_resource_;
 
-  base::ObserverList<ScaleObserver> scale_observers_;
+  base::ObserverList<WaylandDisplayObserver> observers_;
 
-  DISALLOW_COPY_AND_ASSIGN(WaylandDisplayObserver);
+  DISALLOW_COPY_AND_ASSIGN(WaylandDisplayHandler);
 };
 
 }  // namespace wayland
diff --git a/components/exo/wayland/wl_output.cc b/components/exo/wayland/wl_output.cc
index b95c196..f2b40cba 100644
--- a/components/exo/wayland/wl_output.cc
+++ b/components/exo/wayland/wl_output.cc
@@ -38,7 +38,7 @@
       wl_resource_create(client, &wl_output_interface,
                          std::min(version, kWlOutputVersion), output_id);
   SetImplementation(resource, &output_implementation,
-                    std::make_unique<WaylandDisplayObserver>(output, resource));
+                    std::make_unique<WaylandDisplayHandler>(output, resource));
 }
 
 }  // namespace wayland
diff --git a/components/exo/wayland/zaura_shell.cc b/components/exo/wayland/zaura_shell.cc
index 71c511ef..bff35010 100644
--- a/components/exo/wayland/zaura_shell.cc
+++ b/components/exo/wayland/zaura_shell.cc
@@ -22,6 +22,7 @@
 #include "components/exo/wm_helper.h"
 #include "ui/aura/env.h"
 #include "ui/aura/window_occlusion_tracker.h"
+#include "ui/display/display_observer.h"
 #include "ui/display/manager/display_manager.h"
 #include "ui/display/manager/display_util.h"
 #include "ui/display/screen.h"
@@ -373,12 +374,20 @@
 ////////////////////////////////////////////////////////////////////////////////
 // aura_output_interface:
 
-class AuraOutput : public WaylandDisplayObserver::ScaleObserver {
+class AuraOutput : public WaylandDisplayObserver {
  public:
   explicit AuraOutput(wl_resource* resource) : resource_(resource) {}
 
-  // Overridden from WaylandDisplayObserver::ScaleObserver:
-  void OnDisplayScalesChanged(const display::Display& display) override {
+  // Overridden from WaylandDisplayObserver:
+  bool SendDisplayMetrics(const display::Display& display,
+                          uint32_t changed_metrics) override {
+    if (!(changed_metrics &
+          (display::DisplayObserver::DISPLAY_METRIC_BOUNDS |
+           display::DisplayObserver::DISPLAY_METRIC_DEVICE_SCALE_FACTOR |
+           display::DisplayObserver::DISPLAY_METRIC_ROTATION))) {
+      return false;
+    }
+
     const WMHelper* wm_helper = WMHelper::GetInstance();
     const display::ManagedDisplayInfo& display_info =
         wm_helper->GetDisplayInfo(display.id());
@@ -434,6 +443,8 @@
       zaura_output_send_device_scale_factor(
           resource_, display_info.device_scale_factor() * 1000);
     }
+
+    return true;
   }
 
  private:
@@ -469,14 +480,14 @@
                                 wl_resource* resource,
                                 uint32_t id,
                                 wl_resource* output_resource) {
-  WaylandDisplayObserver* display_observer =
-      GetUserDataAs<WaylandDisplayObserver>(output_resource);
+  WaylandDisplayHandler* display_handler =
+      GetUserDataAs<WaylandDisplayHandler>(output_resource);
 
   wl_resource* aura_output_resource = wl_resource_create(
       client, &zaura_output_interface, wl_resource_get_version(resource), id);
 
   auto aura_output = std::make_unique<AuraOutput>(aura_output_resource);
-  display_observer->AddScaleObserver(aura_output.get());
+  display_handler->AddObserver(aura_output.get());
 
   SetImplementation(aura_output_resource, nullptr, std::move(aura_output));
 }
diff --git a/components/exo/wayland/zcr_remote_shell.cc b/components/exo/wayland/zcr_remote_shell.cc
index 3879d085..3746e60 100644
--- a/components/exo/wayland/zcr_remote_shell.cc
+++ b/components/exo/wayland/zcr_remote_shell.cc
@@ -742,14 +742,21 @@
     remote_output_destroy,
 };
 
-class WaylandRemoteOutput : public WaylandDisplayObserver::ScaleObserver {
+class WaylandRemoteOutput : public WaylandDisplayObserver {
  public:
   explicit WaylandRemoteOutput(wl_resource* resource) : resource_(resource) {}
 
-  // Overridden from WaylandDisplayObserver::ScaleObserver:
-  void OnDisplayScalesChanged(const display::Display& display) override {
+  // Overridden from WaylandDisplayObserver:
+  bool SendDisplayMetrics(const display::Display& display,
+                          uint32_t changed_metrics) override {
     if (wl_resource_get_version(resource_) < 29)
-      return;
+      return false;
+
+    if (initial_config_sent_ &&
+        !(changed_metrics &
+          display::DisplayObserver::DISPLAY_METRIC_WORK_AREA)) {
+      return false;
+    }
 
     if (!initial_config_sent_) {
       initial_config_sent_ = true;
@@ -803,6 +810,8 @@
             : ZCR_REMOTE_SURFACE_V1_SYSTEMUI_VISIBILITY_STATE_VISIBLE;
     zcr_remote_output_v1_send_systemui_visibility(resource_,
                                                   systemui_visibility);
+
+    return true;
   }
 
  private:
@@ -1470,8 +1479,8 @@
                                     wl_resource* resource,
                                     uint32_t id,
                                     wl_resource* output_resource) {
-  WaylandDisplayObserver* display_observer =
-      GetUserDataAs<WaylandDisplayObserver>(output_resource);
+  WaylandDisplayHandler* display_handler =
+      GetUserDataAs<WaylandDisplayHandler>(output_resource);
 
   wl_resource* remote_output_resource =
       wl_resource_create(client, &zcr_remote_output_v1_interface,
@@ -1479,7 +1488,7 @@
 
   auto remote_output =
       std::make_unique<WaylandRemoteOutput>(remote_output_resource);
-  display_observer->AddScaleObserver(remote_output.get());
+  display_handler->AddObserver(remote_output.get());
 
   SetImplementation(remote_output_resource, &remote_output_implementation,
                     std::move(remote_output));
diff --git a/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/FeatureConstants.java b/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/FeatureConstants.java
index 232f051a..54df13f 100644
--- a/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/FeatureConstants.java
+++ b/components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement/FeatureConstants.java
@@ -23,6 +23,7 @@
         FeatureConstants.DATA_SAVER_PREVIEW_FEATURE, FeatureConstants.DATA_SAVER_DETAIL_FEATURE,
         FeatureConstants.EPHEMERAL_TAB_FEATURE, FeatureConstants.PREVIEWS_OMNIBOX_UI_FEATURE,
         FeatureConstants.TRANSLATE_MENU_BUTTON_FEATURE,
+        FeatureConstants.CONTEXTUAL_SEARCH_TRANSLATION_ENABLE_FEATURE,
         FeatureConstants.CONTEXTUAL_SEARCH_WEB_SEARCH_FEATURE,
         FeatureConstants.CONTEXTUAL_SEARCH_PROMOTE_TAP_FEATURE,
         FeatureConstants.CONTEXTUAL_SEARCH_PROMOTE_PANEL_OPEN_FEATURE,
@@ -66,6 +67,12 @@
     String EXPLORE_SITES_TILE_FEATURE = "IPH_ExploreSitesTile";
 
     /**
+     * An IPH feature that encourages users to get better translations by enabling access to page
+     * content.
+     */
+    String CONTEXTUAL_SEARCH_TRANSLATION_ENABLE_FEATURE = "IPH_ContextualSearchTranslationEnable";
+
+    /**
      * An IPH feature that encourages users who search a query from a web page in a new tab, to use
      * Contextual Search instead.
      */
diff --git a/components/feature_engagement/public/feature_constants.cc b/components/feature_engagement/public/feature_constants.cc
index 67ed20b..c6469a4 100644
--- a/components/feature_engagement/public/feature_constants.cc
+++ b/components/feature_engagement/public/feature_constants.cc
@@ -52,6 +52,8 @@
     "IPH_ChromeHomeExpand", base::FEATURE_DISABLED_BY_DEFAULT};
 const base::Feature kIPHChromeHomePullToRefreshFeature{
     "IPH_ChromeHomePullToRefresh", base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kIPHContextualSearchTranslationEnableFeature{
+    "IPH_ContextualSearchTranslationEnable", base::FEATURE_DISABLED_BY_DEFAULT};
 const base::Feature kIPHContextualSearchWebSearchFeature{
     "IPH_ContextualSearchWebSearch", base::FEATURE_DISABLED_BY_DEFAULT};
 const base::Feature kIPHContextualSearchPromoteTapFeature{
@@ -122,6 +124,8 @@
     "IPH_BadgedReadingList", base::FEATURE_DISABLED_BY_DEFAULT};
 const base::Feature kIPHBadgedTranslateManualTriggerFeature{
     "IPH_BadgedTranslateManualTrigger", base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kIPHDiscoverFeedHeaderFeature{
+    "IPH_DiscoverFeedHeaderMenu", base::FEATURE_DISABLED_BY_DEFAULT};
 #endif  // defined(OS_IOS)
 
 }  // namespace feature_engagement
diff --git a/components/feature_engagement/public/feature_constants.h b/components/feature_engagement/public/feature_constants.h
index f8d9506..fc56e35d 100644
--- a/components/feature_engagement/public/feature_constants.h
+++ b/components/feature_engagement/public/feature_constants.h
@@ -42,6 +42,7 @@
 extern const base::Feature kIPHChromeDuetTabSwitcherFeature;
 extern const base::Feature kIPHChromeHomeExpandFeature;
 extern const base::Feature kIPHChromeHomePullToRefreshFeature;
+extern const base::Feature kIPHContextualSearchTranslationEnableFeature;
 extern const base::Feature kIPHContextualSearchWebSearchFeature;
 extern const base::Feature kIPHContextualSearchPromoteTapFeature;
 extern const base::Feature kIPHContextualSearchPromotePanelOpenFeature;
@@ -81,6 +82,7 @@
 extern const base::Feature kIPHNewIncognitoTabTipFeature;
 extern const base::Feature kIPHBadgedReadingListFeature;
 extern const base::Feature kIPHBadgedTranslateManualTriggerFeature;
+extern const base::Feature kIPHDiscoverFeedHeaderFeature;
 #endif  // defined(OS_IOS)
 
 }  // namespace feature_engagement
diff --git a/components/feature_engagement/public/feature_list.cc b/components/feature_engagement/public/feature_list.cc
index 74c7e80..70ae4b1 100644
--- a/components/feature_engagement/public/feature_list.cc
+++ b/components/feature_engagement/public/feature_list.cc
@@ -30,6 +30,7 @@
     &kIPHChromeReengagementNotification1Feature,
     &kIPHChromeReengagementNotification2Feature,
     &kIPHChromeReengagementNotification3Feature,
+    &kIPHContextualSearchTranslationEnableFeature,
     &kIPHContextualSearchWebSearchFeature,
     &kIPHContextualSearchPromoteTapFeature,
     &kIPHContextualSearchPromotePanelOpenFeature,
@@ -62,6 +63,7 @@
     &kIPHNewIncognitoTabTipFeature,
     &kIPHBadgedReadingListFeature,
     &kIPHBadgedTranslateManualTriggerFeature,
+    &kIPHDiscoverFeedHeaderFeature,
 #endif  // defined(OS_IOS)
 #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
     defined(OS_CHROMEOS)
diff --git a/components/feature_engagement/public/feature_list.h b/components/feature_engagement/public/feature_list.h
index a239ee3f..e1bffe7 100644
--- a/components/feature_engagement/public/feature_list.h
+++ b/components/feature_engagement/public/feature_list.h
@@ -68,6 +68,8 @@
                        "IPH_ChromeReengagementNotification2");
 DEFINE_VARIATION_PARAM(kIPHChromeReengagementNotification3Feature,
                        "IPH_ChromeReengagementNotification3");
+DEFINE_VARIATION_PARAM(kIPHContextualSearchTranslationEnableFeature,
+                       "IPH_ContextualSearchTranslationEnable");
 DEFINE_VARIATION_PARAM(kIPHContextualSearchWebSearchFeature,
                        "IPH_ContextualSearchWebSearch");
 DEFINE_VARIATION_PARAM(kIPHContextualSearchPromoteTapFeature,
@@ -118,6 +120,8 @@
 DEFINE_VARIATION_PARAM(kIPHBadgedReadingListFeature, "IPH_BadgedReadingList");
 DEFINE_VARIATION_PARAM(kIPHBadgedTranslateManualTriggerFeature,
                        "IPH_BadgedTranslateManualTrigger");
+DEFINE_VARIATION_PARAM(kIPHDiscoverFeedHeaderFeature,
+                       "IPH_DiscoverFeedHeaderMenu");
 #endif  // defined(OS_IOS)
 
 #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
@@ -155,6 +159,7 @@
         VARIATION_ENTRY(kIPHChromeReengagementNotification1Feature),
         VARIATION_ENTRY(kIPHChromeReengagementNotification2Feature),
         VARIATION_ENTRY(kIPHChromeReengagementNotification3Feature),
+        VARIATION_ENTRY(kIPHContextualSearchTranslationEnableFeature),
         VARIATION_ENTRY(kIPHContextualSearchWebSearchFeature),
         VARIATION_ENTRY(kIPHContextualSearchPromoteTapFeature),
         VARIATION_ENTRY(kIPHContextualSearchPromotePanelOpenFeature),
@@ -186,6 +191,7 @@
         VARIATION_ENTRY(kIPHNewIncognitoTabTipFeature),
         VARIATION_ENTRY(kIPHBadgedReadingListFeature),
         VARIATION_ENTRY(kIPHBadgedTranslateManualTriggerFeature),
+        VARIATION_ENTRY(kIPHDiscoverFeedHeaderFeature),
 #elif defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
     defined(OS_CHROMEOS)
         VARIATION_ENTRY(kIPHDesktopTabGroupsNewGroupFeature),
diff --git a/components/federated_learning/floc_blocklist_service.cc b/components/federated_learning/floc_blocklist_service.cc
index 5b0134a24..ffd98e78 100644
--- a/components/federated_learning/floc_blocklist_service.cc
+++ b/components/federated_learning/floc_blocklist_service.cc
@@ -67,6 +67,14 @@
 
 FlocBlocklistService::~FlocBlocklistService() = default;
 
+void FlocBlocklistService::AddObserver(Observer* observer) {
+  observers_.AddObserver(observer);
+}
+
+void FlocBlocklistService::RemoveObserver(Observer* observer) {
+  observers_.RemoveObserver(observer);
+}
+
 void FlocBlocklistService::OnBlocklistFileReady(
     const base::FilePath& file_path) {
   base::PostTaskAndReplyWithResult(
@@ -81,8 +89,26 @@
   background_task_runner_ = background_task_runner;
 }
 
+bool FlocBlocklistService::BlocklistLoaded() const {
+  return loaded_blocklist_.has_value();
+}
+
+bool FlocBlocklistService::ShouldBlockFloc(uint64_t floc_id) const {
+  // If the blocklist hasn't been loaded or if there was a load failure, we
+  // block all flocs.
+  if (!loaded_blocklist_)
+    return true;
+
+  return loaded_blocklist_->find(floc_id) != loaded_blocklist_->end();
+}
+
 void FlocBlocklistService::OnBlocklistLoadResult(LoadedBlocklist blocklist) {
   loaded_blocklist_ = std::move(blocklist);
+
+  if (loaded_blocklist_) {
+    for (auto& observer : observers_)
+      observer.OnBlocklistLoaded();
+  }
 }
 
 }  // namespace federated_learning
diff --git a/components/federated_learning/floc_blocklist_service.h b/components/federated_learning/floc_blocklist_service.h
index c575775..81847e9f 100644
--- a/components/federated_learning/floc_blocklist_service.h
+++ b/components/federated_learning/floc_blocklist_service.h
@@ -11,6 +11,7 @@
 
 #include "base/memory/scoped_refptr.h"
 #include "base/memory/weak_ptr.h"
+#include "base/observer_list.h"
 #include "base/optional.h"
 
 namespace base {
@@ -27,6 +28,11 @@
 class FlocBlocklistService
     : public base::SupportsWeakPtr<FlocBlocklistService> {
  public:
+  class Observer {
+   public:
+    virtual void OnBlocklistLoaded() = 0;
+  };
+
   using LoadedBlocklist = base::Optional<std::unordered_set<uint64_t>>;
 
   FlocBlocklistService();
@@ -35,22 +41,33 @@
   FlocBlocklistService(const FlocBlocklistService&) = delete;
   FlocBlocklistService& operator=(const FlocBlocklistService&) = delete;
 
+  // Adds/Removes an Observer.
+  void AddObserver(Observer* observer);
+  void RemoveObserver(Observer* observer);
+
   // Virtual for testing.
   virtual void OnBlocklistFileReady(const base::FilePath& file_path);
 
   void SetBackgroundTaskRunnerForTesting(
       scoped_refptr<base::SequencedTaskRunner> background_task_runner);
 
+  bool BlocklistLoaded() const;
+  bool ShouldBlockFloc(uint64_t floc_id) const;
+
  protected:
   // Virtual for testing.
   virtual void OnBlocklistLoadResult(LoadedBlocklist blocklist);
 
  private:
   friend class MockFlocBlocklistService;
+  friend class FlocIdProviderUnitTest;
+  friend class FlocIdProviderWithCustomizedServicesBrowserTest;
 
   // Runner for tasks that do not influence user experience.
   scoped_refptr<base::SequencedTaskRunner> background_task_runner_;
 
+  base::ObserverList<Observer>::Unchecked observers_;
+
   LoadedBlocklist loaded_blocklist_;
 };
 
diff --git a/components/feedback/BUILD.gn b/components/feedback/BUILD.gn
index 6b03aee8..8bbe221 100644
--- a/components/feedback/BUILD.gn
+++ b/components/feedback/BUILD.gn
@@ -30,6 +30,7 @@
 
   deps = [
     "//base",
+    "//build:lacros_buildflags",
     "//components/feedback/proto",
     "//components/keyed_service/content",
     "//components/keyed_service/core",
@@ -53,6 +54,10 @@
     "feedback_uploader_unittest.cc",
     "redaction_tool_unittest.cc",
   ]
+  if (!is_win) {
+    sources += [ "feedback_util_unittest.cc" ]
+  }
+
   deps = [
     ":feedback",
     "//base",
diff --git a/components/feedback/feedback_uploader_dispatch_unittest.cc b/components/feedback/feedback_uploader_dispatch_unittest.cc
index ec12507..aa66eef5 100644
--- a/components/feedback/feedback_uploader_dispatch_unittest.cc
+++ b/components/feedback/feedback_uploader_dispatch_unittest.cc
@@ -77,7 +77,7 @@
                               const std::string& group_name,
                               int variation_id) {
     variations::AssociateGoogleVariationID(
-        variations::GOOGLE_WEB_PROPERTIES, trial_name, group_name,
+        variations::GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, trial_name, group_name,
         static_cast<variations::VariationID>(variation_id));
     base::FieldTrialList::CreateFieldTrial(trial_name, group_name)->group();
   }
diff --git a/components/feedback/feedback_util.cc b/components/feedback/feedback_util.cc
index 65bc6de9..81531e1 100644
--- a/components/feedback/feedback_util.cc
+++ b/components/feedback/feedback_util.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
+#include "base/logging.h"
 #include "base/strings/string_util.h"
 #include "components/feedback/feedback_report.h"
 #include "third_party/zlib/google/zip.h"
@@ -73,4 +74,67 @@
   return syslogs_string;
 }
 
+// Note: This function is excluded from win build because its unit tests do
+// not pass on OS_WIN.
+// This function is only called on ChromeOS and Lacros build.
+// See https://crbug.com/1119560.
+#if !defined(OS_WIN)
+bool ReadEndOfFile(const base::FilePath& path,
+                   size_t max_size,
+                   std::string* contents) {
+  if (!contents) {
+    LOG(ERROR) << "contents buffer is null.";
+    return false;
+  }
+
+  if (path.ReferencesParent()) {
+    LOG(ERROR) << "ReadEndOfFile can't be called on file paths with parent "
+                  "references.";
+    return false;
+  }
+
+  base::ScopedFILE fp(base::OpenFile(path, "r"));
+  if (!fp) {
+    PLOG(ERROR) << "Failed to open file " << path.value();
+    return false;
+  }
+
+  std::unique_ptr<char[]> chunk(new char[max_size]);
+  std::unique_ptr<char[]> last_chunk(new char[max_size]);
+  chunk[0] = '\0';
+  last_chunk[0] = '\0';
+
+  size_t total_bytes_read = 0;
+  size_t bytes_read = 0;
+
+  // Since most logs are not seekable, read until the end keeping tracking of
+  // last two chunks.
+  while ((bytes_read = fread(chunk.get(), 1, max_size, fp.get())) == max_size) {
+    total_bytes_read += bytes_read;
+    last_chunk.swap(chunk);
+    chunk[0] = '\0';
+  }
+  total_bytes_read += bytes_read;
+  if (total_bytes_read < max_size) {
+    // File is smaller than max_size
+    contents->assign(chunk.get(), bytes_read);
+  } else if (bytes_read == 0) {
+    // File is exactly max_size or a multiple of max_size
+    contents->assign(last_chunk.get(), max_size);
+  } else {
+    // Number of bytes to keep from last_chunk
+    size_t bytes_from_last = max_size - bytes_read;
+
+    // Shift left last_chunk by size of chunk and fit it in the back of
+    // last_chunk.
+    memmove(last_chunk.get(), last_chunk.get() + bytes_read, bytes_from_last);
+    memcpy(last_chunk.get() + bytes_from_last, chunk.get(), bytes_read);
+
+    contents->assign(last_chunk.get(), max_size);
+  }
+
+  return true;
+}
+#endif  // !OS_WIN
+
 }  // namespace feedback_util
diff --git a/components/feedback/feedback_util.h b/components/feedback/feedback_util.h
index 72b7fcb..a0e04a76 100644
--- a/components/feedback/feedback_util.h
+++ b/components/feedback/feedback_util.h
@@ -20,6 +20,16 @@
 // creating a system_logs.txt file attached to feedback reports.
 std::string LogsToString(const FeedbackCommon::SystemLogsMap& sys_info);
 
+#if !defined(OS_WIN)
+// Returns true if the data from the file specified by |path| is read into
+// |contents| successfully.
+// If the file size is greater than |max_size| in bytes, the data will be
+// truncated to |max_size| and put in |contents|.
+bool ReadEndOfFile(const base::FilePath& path,
+                   size_t max_size,
+                   std::string* contents);
+#endif
+
 }  // namespace feedback_util
 
 #endif  // COMPONENTS_FEEDBACK_FEEDBACK_UTIL_H_
diff --git a/components/feedback/feedback_util_unittest.cc b/components/feedback/feedback_util_unittest.cc
new file mode 100644
index 0000000..a5226fc
--- /dev/null
+++ b/components/feedback/feedback_util_unittest.cc
@@ -0,0 +1,127 @@
+// 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 "components/feedback/feedback_util.h"
+
+#include <string>
+
+#include "base/files/file_util.h"
+#include "base/files/scoped_file.h"
+#include "base/files/scoped_temp_dir.h"
+#include "base/rand_util.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace feedback_util {
+
+// Note: This file is excluded from win build.
+// See https://crbug.com/1119560.
+class FeedbackUtilTest : public ::testing::Test {
+ public:
+  void SetUp() override { ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); }
+
+  base::ScopedTempDir temp_dir_;
+};
+
+TEST_F(FeedbackUtilTest, ReadEndOfFileEmpty) {
+  std::string read_data("should be erased");
+
+  base::FilePath file_path = temp_dir_.GetPath().Append("test_empty.txt");
+
+  WriteFile(file_path, "", 0);
+
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 10, &read_data));
+  EXPECT_EQ(0u, read_data.length());
+}
+
+TEST_F(FeedbackUtilTest, ReadEndOfFileSmall) {
+  const char kTestData[] = "0123456789";  // Length of 10
+  std::string read_data;
+
+  base::FilePath file_path = temp_dir_.GetPath().Append("test_small.txt");
+
+  WriteFile(file_path, kTestData, strlen(kTestData));
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 15, &read_data));
+  EXPECT_EQ(kTestData, read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 10, &read_data));
+  EXPECT_EQ(kTestData, read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 2, &read_data));
+  EXPECT_EQ("89", read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 3, &read_data));
+  EXPECT_EQ("789", read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 5, &read_data));
+  EXPECT_EQ("56789", read_data);
+}
+
+TEST_F(FeedbackUtilTest, ReadEndOfFileWithZeros) {
+  const size_t test_size = 10;
+  std::string test_data("abcd\0\0\0\0hi", test_size);
+  std::string read_data;
+
+  base::FilePath file_path = temp_dir_.GetPath().Append("test_zero.txt");
+
+  WriteFile(file_path, test_data.data(), test_size);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 15, &read_data));
+  EXPECT_EQ(test_data, read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 10, &read_data));
+  EXPECT_EQ(test_data, read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 2, &read_data));
+  EXPECT_EQ(test_data.substr(test_size - 2, 2), read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 3, &read_data));
+  EXPECT_EQ(test_data.substr(test_size - 3, 3), read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 5, &read_data));
+  EXPECT_EQ(test_data.substr(test_size - 5, 5), read_data);
+}
+
+TEST_F(FeedbackUtilTest, ReadEndOfFileMedium) {
+  std::string test_data = base::RandBytesAsString(10000);  // 10KB data
+  std::string read_data;
+
+  const size_t test_size = test_data.length();
+
+  base::FilePath file_path = temp_dir_.GetPath().Append("test_med.txt");
+
+  WriteFile(file_path, test_data.data(), test_size);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 15000, &read_data));
+  EXPECT_EQ(test_data, read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 10000, &read_data));
+  EXPECT_EQ(test_data, read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 1000, &read_data));
+  EXPECT_EQ(test_data.substr(test_size - 1000, 1000), read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 300, &read_data));
+  EXPECT_EQ(test_data.substr(test_size - 300, 300), read_data);
+
+  read_data.clear();
+  EXPECT_TRUE(feedback_util::ReadEndOfFile(file_path, 175, &read_data));
+  EXPECT_EQ(test_data.substr(test_size - 175, 175), read_data);
+}
+
+}  // namespace feedback_util
diff --git a/components/history/core/browser/url_database.cc b/components/history/core/browser/url_database.cc
index 917d5bc8..87b8048 100644
--- a/components/history/core/browser/url_database.cc
+++ b/components/history/core/browser/url_database.cc
@@ -631,17 +631,46 @@
   if (!keyword_id)
     return {};
 
-  sql::Statement statement(GetDB().GetCachedStatement(
-      SQL_FROM_HERE,
-      "SELECT "
-      "kv.normalized_term, SUM(u.visit_count), MAX(u.last_visit_time) "
-      "FROM keyword_search_terms kv JOIN urls u ON kv.url_id = u.id "
-      "WHERE kv.keyword_id = ? AND u.last_visit_time > ? "
-      "AND kv.normalized_term IS NOT NULL AND kv.normalized_term != \"\" "
-      "GROUP BY kv.normalized_term"));
+  // Extracts the most recent normalized search terms from the
+  // keyword_search_terms table joined with the urls table. For a given search
+  // term, those search query URLs that are visited too closely to the original
+  // search query URL are ignored in order to avoid erroneously boosting the
+  // term when frecency ranking is used. This is done by rounding down the URLs'
+  // last_visit_time to the largest ? ms interval and picking the oldest URL out
+  // of all the URLs with the same rounded last visit time. The average of visit
+  // counts for those URLs is then used as the visit count of this emerging
+  // deduplicated URL This way no bare column (chosen at random) is returned by
+  // the aggregate query.
+  sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE,
+                                                      R"(
+      SELECT
+        normalized_term,
+        SUM(visit_count) AS visit_count,
+        MAX(last_visit_time) AS last_visit_time
+      FROM
+        (
+          SELECT
+            normalized_term,
+            AVG(visit_count) AS visit_count,
+            MIN(u.last_visit_time) AS last_visit_time,
+            u.last_visit_time - (u.last_visit_time % ?) as rnd_last_visit_time
+          FROM
+            keyword_search_terms kv JOIN urls u ON kv.url_id = u.id
+          WHERE
+            kv.keyword_id = ?
+            AND u.last_visit_time > ?
+            AND kv.normalized_term IS NOT NULL
+            AND kv.normalized_term != ""
+          GROUP BY normalized_term, rnd_last_visit_time
+        )
+      GROUP BY normalized_term
+      ORDER BY last_visit_time DESC
+      )"));
 
-  statement.BindInt64(0, keyword_id);
-  statement.BindInt64(1, age_threshold.ToInternalValue());
+  statement.BindInt64(
+      0, kAutocompleteDuplicateVisitIntervalThreshold.ToInternalValue());
+  statement.BindInt64(1, keyword_id);
+  statement.BindInt64(2, age_threshold.ToInternalValue());
 
   std::vector<NormalizedKeywordSearchTermVisit> visits;
   while (statement.Step()) {
@@ -762,6 +791,9 @@
 const int kLowQualityMatchVisitLimit = 4;
 const int kLowQualityMatchAgeLimitInDays = 3;
 
+const base::TimeDelta kAutocompleteDuplicateVisitIntervalThreshold =
+    base::TimeDelta::FromMinutes(5);
+
 base::Time AutocompleteAgeThreshold() {
   return (base::Time::Now() -
           base::TimeDelta::FromDays(kLowQualityMatchAgeLimitInDays));
diff --git a/components/history/core/browser/url_database.h b/components/history/core/browser/url_database.h
index 549faf3..91b0930 100644
--- a/components/history/core/browser/url_database.h
+++ b/components/history/core/browser/url_database.h
@@ -339,6 +339,15 @@
 extern const int kLowQualityMatchVisitLimit;
 extern const int kLowQualityMatchAgeLimitInDays;
 
+// The time interval within which a duplicate query is considered invalid for
+// autocomplete purposes.
+// These invalid duplicates are extracted from search query URLs which are
+// identical or nearly identical to the original search query URL and issued too
+// closely to it, i.e., within this time interval. They are typically recorded
+// as a result of back/forward navigations or user interactions in the search
+// result page and are likely not newly initiated searches.
+extern const base::TimeDelta kAutocompleteDuplicateVisitIntervalThreshold;
+
 // Returns the date threshold for considering an history item as significant.
 base::Time AutocompleteAgeThreshold();
 
diff --git a/components/infobars/core/infobar_delegate.h b/components/infobars/core/infobar_delegate.h
index b1933ea..04862976 100644
--- a/components/infobars/core/infobar_delegate.h
+++ b/components/infobars/core/infobar_delegate.h
@@ -168,6 +168,7 @@
     MIXED_CONTENT_DOWNLOAD_INFOBAR_DELEGATE_ANDROID = 98,
     CONDITIONAL_TAB_STRIP_INFOBAR_ANDROID = 99,
     LITE_MODE_HTTPS_IMAGE_COMPRESSION_INFOBAR_ANDROID = 100,
+    SYSTEM_INFOBAR_DELEGATE_MAC = 101,
   };
 
   // Describes navigation events, used to decide whether infobars should be
diff --git a/components/lookalikes/DEPS b/components/lookalikes/DEPS
index 6bd58363..d725dae 100644
--- a/components/lookalikes/DEPS
+++ b/components/lookalikes/DEPS
@@ -1,4 +1,6 @@
 include_rules = [
+  "+components/pref_registry",
+  "+components/prefs",
   "+components/security_interstitials/core",
   "+components/security_state",
   "+components/strings/grit/components_strings.h",
diff --git a/components/lookalikes/core/BUILD.gn b/components/lookalikes/core/BUILD.gn
index 5484b7591..30aab5617 100644
--- a/components/lookalikes/core/BUILD.gn
+++ b/components/lookalikes/core/BUILD.gn
@@ -12,6 +12,8 @@
   deps = [
     ":features",
     "//base",
+    "//components/pref_registry",
+    "//components/prefs:prefs",
     "//components/security_interstitials/core",
     "//components/security_state/core:features",
     "//components/strings",
diff --git a/components/lookalikes/core/lookalike_url_ui_util.cc b/components/lookalikes/core/lookalike_url_ui_util.cc
index b15d543..7f90a14 100644
--- a/components/lookalikes/core/lookalike_url_ui_util.cc
+++ b/components/lookalikes/core/lookalike_url_ui_util.cc
@@ -39,7 +39,8 @@
 
 void PopulateLookalikeUrlBlockingPageStrings(
     base::DictionaryValue* load_time_data,
-    const GURL& safe_url) {
+    const GURL& safe_url,
+    const GURL& request_url) {
   CHECK(load_time_data);
 
   PopulateStringsForSharedHTML(load_time_data);
@@ -94,6 +95,7 @@
     }
 #endif
   }
+  load_time_data->SetString("lookalikeRequestHostname", request_url.host());
 }
 
 void PopulateStringsForSharedHTML(base::DictionaryValue* load_time_data) {
diff --git a/components/lookalikes/core/lookalike_url_ui_util.h b/components/lookalikes/core/lookalike_url_ui_util.h
index 650cbc0f..c15ea9a3 100644
--- a/components/lookalikes/core/lookalike_url_ui_util.h
+++ b/components/lookalikes/core/lookalike_url_ui_util.h
@@ -27,7 +27,8 @@
 // Populates |load_time_data| for interstitial HTML.
 void PopulateLookalikeUrlBlockingPageStrings(
     base::DictionaryValue* load_time_data,
-    const GURL& safe_url);
+    const GURL& safe_url,
+    const GURL& request_url);
 
 // Values added to get shared interstitial HTML to play nice.
 void PopulateStringsForSharedHTML(base::DictionaryValue* load_time_data);
diff --git a/components/lookalikes/core/lookalike_url_util.cc b/components/lookalikes/core/lookalike_url_util.cc
index 24a7afd..68d276a 100644
--- a/components/lookalikes/core/lookalike_url_util.cc
+++ b/components/lookalikes/core/lookalike_url_util.cc
@@ -22,7 +22,9 @@
 #include "base/task/post_task.h"
 #include "base/task/thread_pool.h"
 #include "base/time/default_clock.h"
+#include "base/values.h"
 #include "components/lookalikes/core/features.h"
+#include "components/security_interstitials/core/pref_names.h"
 #include "components/security_state/core/features.h"
 #include "components/url_formatter/spoof_checks/top_domains/top500_domains.h"
 #include "components/url_formatter/spoof_checks/top_domains/top_domain_util.h"
@@ -34,6 +36,10 @@
 
 const char kHistogramName[] = "NavigationSuggestion.Event";
 
+void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+  registry->RegisterListPref(prefs::kLookalikeWarningAllowlistDomains);
+}
+
 }  // namespace lookalikes
 
 namespace {
@@ -702,3 +708,25 @@
       return true;
   }
 }
+
+bool IsAllowedByEnterprisePolicy(const PrefService* pref_service,
+                                 const GURL& url) {
+  const auto* list =
+      pref_service->GetList(prefs::kLookalikeWarningAllowlistDomains);
+  for (const auto& domain_val : *list) {
+    auto domain = domain_val.GetString();
+    if (url.DomainIs(domain)) {
+      return true;
+    }
+  }
+  return false;
+}
+
+void SetEnterpriseAllowlistForTesting(PrefService* pref_service,
+                                      const std::vector<std::string>& hosts) {
+  base::Value list(base::Value::Type::LIST);
+  for (const auto& host : hosts) {
+    list.Append(host);
+  }
+  pref_service->Set(prefs::kLookalikeWarningAllowlistDomains, std::move(list));
+}
diff --git a/components/lookalikes/core/lookalike_url_util.h b/components/lookalikes/core/lookalike_url_util.h
index cc3dfec..cfac43cd 100644
--- a/components/lookalikes/core/lookalike_url_util.h
+++ b/components/lookalikes/core/lookalike_url_util.h
@@ -10,6 +10,8 @@
 
 #include "base/callback.h"
 #include "base/time/time.h"
+#include "components/pref_registry/pref_registry_syncable.h"
+#include "components/prefs/pref_service.h"
 #include "components/url_formatter/url_formatter.h"
 #include "url/gurl.h"
 
@@ -17,6 +19,9 @@
 
 namespace lookalikes {
 extern const char kHistogramName[];
+
+// Register applicable preferences with the provided registry.
+void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
 }
 
 using LookalikeTargetAllowlistChecker =
@@ -189,4 +194,13 @@
 // Returns true if a navigation to an IDN should be blocked.
 bool ShouldBlockBySpoofCheckResult(const DomainInfo& navigated_domain);
 
+// Checks whether the given url is allowlisted by enterprise policy, and
+// thus no warnings should be shown on that host.
+bool IsAllowedByEnterprisePolicy(const PrefService* pref_service,
+                                 const GURL& url);
+
+// Add the given hosts to the allowlist policy setting.
+void SetEnterpriseAllowlistForTesting(PrefService* pref_service,
+                                      const std::vector<std::string>& hosts);
+
 #endif  // COMPONENTS_LOOKALIKES_CORE_LOOKALIKE_URL_UTIL_H_
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
index e43e306..3543377a 100644
--- a/components/omnibox/browser/autocomplete_controller.cc
+++ b/components/omnibox/browser/autocomplete_controller.cc
@@ -38,6 +38,8 @@
 #include "components/omnibox/browser/history_url_provider.h"
 #include "components/omnibox/browser/keyword_provider.h"
 #include "components/omnibox/browser/local_history_zero_suggest_provider.h"
+#include "components/omnibox/browser/omnibox_field_trial.h"
+#include "components/omnibox/browser/omnibox_pedal_provider.h"
 #include "components/omnibox/browser/on_device_head_provider.h"
 #include "components/omnibox/browser/query_tile_provider.h"
 #include "components/omnibox/browser/search_provider.h"
@@ -552,14 +554,28 @@
     // This is also a good place to put code to add info that you want to
     // add for every provider.
   }
+
+  if (OmniboxFieldTrial::IsPedalSuggestionsEnabled()) {
+    // OmniboxPedalProvider is not a "true" AutocompleteProvider and isn't
+    // included in the list of providers, though needs to report information for
+    // its field trial.  Manually call AddProviderInfo for pedals.
+    provider_client_->GetPedalProvider()->AddProviderInfo(provider_info);
+  }
 }
 
 void AutocompleteController::ResetSession() {
   search_service_worker_signal_sent_ = false;
 
   for (Providers::const_iterator i(providers_.begin()); i != providers_.end();
-       ++i)
+       ++i) {
     (*i)->ResetSession();
+  }
+
+  if (OmniboxFieldTrial::IsPedalSuggestionsEnabled()) {
+    // OmniboxPedalProvider is not included in the list of providers as it's not
+    // a "true" AutocompleteProvider.  Manually call ResetSession() for pedals.
+    provider_client_->GetPedalProvider()->ResetSession();
+  }
 }
 
 void AutocompleteController::UpdateMatchDestinationURLWithQueryFormulationTime(
diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc
index 955b0b55..dceedaea 100644
--- a/components/omnibox/browser/autocomplete_result.cc
+++ b/components/omnibox/browser/autocomplete_result.cc
@@ -393,23 +393,16 @@
 
 void AutocompleteResult::ConvertInSuggestionPedalMatches(
     AutocompleteProviderClient* client) {
-  const OmniboxPedalProvider* provider = client->GetPedalProvider();
+  OmniboxPedalProvider* provider = client->GetPedalProvider();
   // Used to ensure we keep only one Pedal of each kind.
   std::unordered_set<OmniboxPedal*> pedals_found;
+
+  provider->set_field_trial_triggered(false);
+
   for (auto& match : matches_) {
-    if (OmniboxFieldTrial::IsSuggestionButtonRowEnabled()) {
-      // Skip only matches that have already detected their pedal. With the
-      // button row enabled, a pedal may attach along with tab switch and
-      // associated keyword buttons.
-      if (match.pedal)
-        continue;
-    } else {
-      // Skip matches that will not show Pedal because they already
-      // have a tab match or associated keyword.  Also skip matches
-      // that have already detected their Pedal.
-      if (match.has_tab_match || match.associated_keyword || match.pedal)
-        continue;
-    }
+    // Skip matches that have already detected their pedal.
+    if (match.pedal)
+      continue;
 
     OmniboxPedal* const pedal = provider->FindPedalMatch(match.contents);
     if (pedal) {
diff --git a/components/omnibox/browser/document_suggestions_service_unittest.cc b/components/omnibox/browser/document_suggestions_service_unittest.cc
index af944dfc..cea6ea5 100644
--- a/components/omnibox/browser/document_suggestions_service_unittest.cc
+++ b/components/omnibox/browser/document_suggestions_service_unittest.cc
@@ -52,9 +52,9 @@
 
     // Set up a variation.
     variations::VariationsIdsProvider::GetInstance()->ResetForTesting();
-    variations::AssociateGoogleVariationID(variations::GOOGLE_WEB_PROPERTIES,
-                                           "trial name", "group name",
-                                           kVariationID);
+    variations::AssociateGoogleVariationID(
+        variations::GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, "trial name",
+        "group name", kVariationID);
     base::FieldTrialList::CreateFieldTrial("trial name", "group name")->group();
   }
   DocumentSuggestionsServiceTest(const DocumentSuggestionsServiceTest&) =
diff --git a/components/omnibox/browser/local_history_zero_suggest_provider_unittest.cc b/components/omnibox/browser/local_history_zero_suggest_provider_unittest.cc
index d9583b4..0e052eb3 100644
--- a/components/omnibox/browser/local_history_zero_suggest_provider_unittest.cc
+++ b/components/omnibox/browser/local_history_zero_suggest_provider_unittest.cc
@@ -42,7 +42,7 @@
 struct TestURLData {
   const TemplateURL* search_provider;
   std::string search_terms;
-  std::string other_query_params;
+  std::string additional_query_params;
   int age_in_seconds;
   int visit_count = 1;
   std::string title = "";
@@ -154,6 +154,8 @@
   for (const auto& entry : url_data_list) {
     TemplateURLRef::SearchTermsArgs search_terms_args(
         base::UTF8ToUTF16(entry.search_terms));
+    search_terms_args.additional_query_params.append(
+        entry.additional_query_params);
     const auto& search_terms_data =
         client_->GetTemplateURLService()->search_terms_data();
     std::string search_url =
@@ -406,25 +408,40 @@
 // collapsed, are lowercased and deduplicated) without loss of unicode encoding.
 TEST_F(LocalHistoryZeroSuggestProviderTest, Normalization) {
   LoadURLs({
-      {default_search_provider(), "hello world", "&foo=bar", 3},
-      {default_search_provider(), "hello   world", "&foo=bar", 4},
-      {default_search_provider(), "hello   world", "&foo=bar", 5},
+      // Issued too closely to the original query; will be ignored:
+      {default_search_provider(), "HELLO   WORLD  ", "&foo=bar4", 1},
+      {default_search_provider(), "سلام دنیا", "&bar=baz", 2},
+      // Issued too closely to the original query; will be ignored:
+      {default_search_provider(), "hello world", "&foo=bar3", 3},
+      // Issued too closely to the original query; will be ignored:
+      {default_search_provider(), "hello   world", "&foo=bar2", 4},
+      // Issued too closely to the original query; will be ignored:
+      {default_search_provider(), "hello   world", "&foo=bar1", 5},
       {default_search_provider(), "hello world", "&foo=bar", 6},
-      {default_search_provider(), "HELLO   WORLD  ", "&foo=bar", 1},
-      {default_search_provider(), "سلام دنیا", "&foo=bar", 2},
   });
 
   StartProviderAndWaitUntilDone();
-  ExpectMatches({{"hello world", 500}, {"سلام دنیا", 499}});
+  ExpectMatches({{"سلام دنیا", 500}, {"hello world", 499}});
 }
 
 // Tests that the suggestions are ranked correctly.
 TEST_F(LocalHistoryZeroSuggestProviderTest, Ranking) {
+  int original_query_age =
+      history::kAutocompleteDuplicateVisitIntervalThreshold.InSeconds() + 3;
   LoadURLs({
-      {default_search_provider(), "less recent more frequent search",
-       "&foo=bar", /*age_in_seconds=*/2, /*visit_count=*/2},
-      {default_search_provider(), "more recent less frequent search",
-       "&foo=bar", /*age_in_seconds=*/1, /*visit_count=*/1},
+      // Issued far enough from the original query; won't be ignored:
+      {default_search_provider(), "more recent search", "&bar=baz2",
+       /*age_in_seconds=*/0},
+      // Issued far enough from the original query; won't be ignored:
+      {default_search_provider(), "less recent search", "&foo=bar3",
+       /*age_in_seconds=*/1},
+      // Issued too closely to the original query; will be ignored:
+      {default_search_provider(), "less recent search", "&foo=bar2",
+       /*age_in_seconds=*/original_query_age - 1},
+      {default_search_provider(), "more recent search", "&bar=baz",
+       /*age_in_seconds=*/original_query_age},
+      {default_search_provider(), "less recent search", "&foo=bar",
+       /*age_in_seconds=*/original_query_age},
   });
 
   // With frecency ranking disabled, more recent searches are ranked higher.
@@ -434,11 +451,10 @@
       {omnibox::kOmniboxLocalZeroSuggestFrecencyRanking});
 
   StartProviderAndWaitUntilDone();
-  ExpectMatches({{"more recent less frequent search", 500},
-                 {"less recent more frequent search", 499}});
+  ExpectMatches({{"more recent search", 500}, {"less recent search", 499}});
 
-  // With frecency ranking enabled, more recent searches are not necessarily
-  // ranked higher.
+  // With frecency ranking enabled, more recent searches are ranked higher when
+  // searches are just as frequent.
   scoped_feature_list_ = std::make_unique<base::test::ScopedFeatureList>();
   scoped_feature_list_->InitWithFeatures(
       {omnibox::kReactiveZeroSuggestionsOnNTPRealbox,  // Enables the provider.
@@ -446,8 +462,18 @@
       {});
 
   StartProviderAndWaitUntilDone();
-  ExpectMatches({{"less recent more frequent search", 500},
-                 {"more recent less frequent search", 499}});
+  ExpectMatches({{"more recent search", 500}, {"less recent search", 499}});
+
+  // With frecency ranking enabled, more frequent searches are ranked higher
+  // when searches are nearly as old.
+  LoadURLs({
+      // Issued far enough from the original query; won't be ignored:
+      {default_search_provider(), "less recent search", "&foo=bar4",
+       /*age_in_seconds=*/2, /*visit_count=*/5},
+  });
+
+  StartProviderAndWaitUntilDone();
+  ExpectMatches({{"less recent search", 500}, {"more recent search", 499}});
 }
 
 // Tests that suggestions are created from fresh search histories only and that
@@ -490,12 +516,15 @@
   auto* other_search_provider = template_url_service->Add(
       std::make_unique<TemplateURL>(*GenerateDummyTemplateURLData("other")));
   LoadURLs({
-      {default_search_provider(), "hello   world", "&foo=bar&aqs=1", 1},
-      {default_search_provider(), "HELLO   WORLD  ", "&foo=bar&aqs=12", 1},
-      {default_search_provider(), "hello world", "&foo=bar&aqs=123", 1},
-      {default_search_provider(), "hello world", "&foo=bar&aqs=1234", 1},
-      {default_search_provider(), "not to be deleted", "&foo=bar&aqs=12345", 1},
-      {other_search_provider, "hello world", "&foo=bar&aqs=123456", 1},
+      // Issued too closely to the original query; will be ignored:
+      {default_search_provider(), "hello   world", "&foo=bar1", 1},
+      // Issued too closely to the original query; will be ignored:
+      {default_search_provider(), "HELLO   WORLD  ", "&foo=bar2", 2},
+      // Issued too closely to the original query; will be ignored:
+      {default_search_provider(), "hello world", "foo=bar3", 3},
+      {default_search_provider(), "hello world", "foo=bar4", 4},
+      {other_search_provider, "hello world", "", 5},
+      {default_search_provider(), "not to be deleted", "", 6},
   });
 
   StartProviderAndWaitUntilDone();
diff --git a/components/omnibox/browser/omnibox_edit_model.cc b/components/omnibox/browser/omnibox_edit_model.cc
index 3779f33..b23a5067 100644
--- a/components/omnibox/browser/omnibox_edit_model.cc
+++ b/components/omnibox/browser/omnibox_edit_model.cc
@@ -715,6 +715,17 @@
 void OmniboxEditModel::ExecutePedal(const AutocompleteMatch& match,
                                     base::TimeTicks match_selection_timestamp) {
   CHECK(match.pedal);
+
+  // Record the presence of any Pedals in the result set.
+  for (const AutocompleteMatch& match_in_result : result()) {
+    if (match_in_result.pedal) {
+      base::UmaHistogramEnumeration("Omnibox.PedalShown",
+                                    match_in_result.pedal->id(),
+                                    OmniboxPedalId::TOTAL_COUNT);
+    }
+  }
+
+  // Record the use of this Pedal.
   base::UmaHistogramEnumeration("Omnibox.SuggestionUsed.Pedal",
                                 match.pedal->id(), OmniboxPedalId::TOTAL_COUNT);
   {
@@ -744,6 +755,15 @@
   // Save the result of the interaction, but do not record the histogram yet.
   focus_resulted_in_navigation_ = true;
 
+  // Record the presence of any Pedals in the result set.
+  for (const AutocompleteMatch& match_in_result : result()) {
+    if (match_in_result.pedal) {
+      base::UmaHistogramEnumeration("Omnibox.PedalShown",
+                                    match_in_result.pedal->id(),
+                                    OmniboxPedalId::TOTAL_COUNT);
+    }
+  }
+
   // Matches with |pedal| may be opened normally or executed, but when a match
   // is a dedicated Pedal suggestion, it should always be executed. This only
   // happens when the button row feature is disabled.
diff --git a/components/omnibox/browser/omnibox_pedal_concepts.h b/components/omnibox/browser/omnibox_pedal_concepts.h
index a68a91e..ef27158 100644
--- a/components/omnibox/browser/omnibox_pedal_concepts.h
+++ b/components/omnibox/browser/omnibox_pedal_concepts.h
@@ -10,7 +10,7 @@
 // This value is generated during Pedal concept data processing, and written
 // to all data files as well as the source code here to ensure synchrony.
 // The runtime loaded data must match this version exactly or it won't load.
-constexpr int OMNIBOX_PEDAL_CONCEPTS_DATA_VERSION = 15475536;
+constexpr int OMNIBOX_PEDAL_CONCEPTS_DATA_VERSION = 15476904;
 
 // Unique identifiers for Pedals, used to bind loaded data to implementations.
 // Also used in the Omnibox.SuggestionUsed.Pedal histogram. Do not remove or
diff --git a/components/omnibox/browser/omnibox_pedal_implementations_unittest.cc b/components/omnibox/browser/omnibox_pedal_implementations_unittest.cc
index cd9927f..bd6a631 100644
--- a/components/omnibox/browser/omnibox_pedal_implementations_unittest.cc
+++ b/components/omnibox/browser/omnibox_pedal_implementations_unittest.cc
@@ -44,6 +44,7 @@
 TEST_F(OmniboxPedalImplementationsTest,
        UnorderedSynonymExpressionsAreConceptMatches) {
   const std::vector<std::vector<const char*>> literal_concept_expressions = {
+      // clang-format off
       // Note: The lists below are auto-generated from raw synonym group data.
 
       // CLEAR_BROWSING_DATA
@@ -3076,6 +3077,8 @@
           "browser change language page",
           "browser change language this",
           "browser change language this page",
+          "browser change language web page",
+          "browser change language webpage",
           "browser page change language",
           "browser page translate",
           "browser this change language",
@@ -3085,15 +3088,27 @@
           "browser translate page",
           "browser translate this",
           "browser translate this page",
+          "browser translate web page",
+          "browser translate webpage",
+          "browser web page change language",
+          "browser web page translate",
+          "browser webpage change language",
+          "browser webpage translate",
           "change language browser page",
           "change language browser this",
           "change language browser this page",
+          "change language browser web page",
+          "change language browser webpage",
           "change language chrome page",
           "change language chrome this",
           "change language chrome this page",
+          "change language chrome web page",
+          "change language chrome webpage",
           "change language google chrome page",
           "change language google chrome this",
           "change language google chrome this page",
+          "change language google chrome web page",
+          "change language google chrome webpage",
           "change language page",
           "change language page browser",
           "change language page chrome",
@@ -3106,9 +3121,19 @@
           "change language this page browser",
           "change language this page chrome",
           "change language this page google chrome",
+          "change language web page",
+          "change language web page browser",
+          "change language web page chrome",
+          "change language web page google chrome",
+          "change language webpage",
+          "change language webpage browser",
+          "change language webpage chrome",
+          "change language webpage google chrome",
           "chrome change language page",
           "chrome change language this",
           "chrome change language this page",
+          "chrome change language web page",
+          "chrome change language webpage",
           "chrome page change language",
           "chrome page translate",
           "chrome this change language",
@@ -3118,9 +3143,17 @@
           "chrome translate page",
           "chrome translate this",
           "chrome translate this page",
+          "chrome translate web page",
+          "chrome translate webpage",
+          "chrome web page change language",
+          "chrome web page translate",
+          "chrome webpage change language",
+          "chrome webpage translate",
           "google chrome change language page",
           "google chrome change language this",
           "google chrome change language this page",
+          "google chrome change language web page",
+          "google chrome change language webpage",
           "google chrome page change language",
           "google chrome page translate",
           "google chrome this change language",
@@ -3130,6 +3163,12 @@
           "google chrome translate page",
           "google chrome translate this",
           "google chrome translate this page",
+          "google chrome translate web page",
+          "google chrome translate webpage",
+          "google chrome web page change language",
+          "google chrome web page translate",
+          "google chrome webpage change language",
+          "google chrome webpage translate",
           "page browser change language",
           "page browser translate",
           "page change language",
@@ -3175,12 +3214,18 @@
           "translate browser page",
           "translate browser this",
           "translate browser this page",
+          "translate browser web page",
+          "translate browser webpage",
           "translate chrome page",
           "translate chrome this",
           "translate chrome this page",
+          "translate chrome web page",
+          "translate chrome webpage",
           "translate google chrome page",
           "translate google chrome this",
           "translate google chrome this page",
+          "translate google chrome web page",
+          "translate google chrome webpage",
           "translate page",
           "translate page browser",
           "translate page chrome",
@@ -3193,18 +3238,57 @@
           "translate this page browser",
           "translate this page chrome",
           "translate this page google chrome",
+          "translate web page",
+          "translate web page browser",
+          "translate web page chrome",
+          "translate web page google chrome",
+          "translate webpage",
+          "translate webpage browser",
+          "translate webpage chrome",
+          "translate webpage google chrome",
+          "web page browser change language",
+          "web page browser translate",
+          "web page change language",
+          "web page change language browser",
+          "web page change language chrome",
+          "web page change language google chrome",
+          "web page chrome change language",
+          "web page chrome translate",
+          "web page google chrome change language",
+          "web page google chrome translate",
+          "web page translate",
+          "web page translate browser",
+          "web page translate chrome",
+          "web page translate google chrome",
+          "webpage browser change language",
+          "webpage browser translate",
+          "webpage change language",
+          "webpage change language browser",
+          "webpage change language chrome",
+          "webpage change language google chrome",
+          "webpage chrome change language",
+          "webpage chrome translate",
+          "webpage google chrome change language",
+          "webpage google chrome translate",
+          "webpage translate",
+          "webpage translate browser",
+          "webpage translate chrome",
+          "webpage translate google chrome",
       },
 
       // UPDATE_CHROME
       {
           "browser install",
           "browser update",
+          "browser updates",
           "browser upgrade",
           "chrome install",
           "chrome update",
+          "chrome updates",
           "chrome upgrade",
           "google chrome install",
           "google chrome update",
+          "google chrome updates",
           "google chrome upgrade",
           "install browser",
           "install chrome",
@@ -3212,12 +3296,16 @@
           "update browser",
           "update chrome",
           "update google chrome",
+          "updates browser",
+          "updates chrome",
+          "updates google chrome",
           "upgrade browser",
           "upgrade chrome",
           "upgrade google chrome",
       },
 
       // End of generated test code
+      // clang-format on
   };
 
   // The test code below ensures that each element of the outer vector above,
diff --git a/components/omnibox/browser/omnibox_pedal_provider.cc b/components/omnibox/browser/omnibox_pedal_provider.cc
index 3f074e7a..6fb75eb 100644
--- a/components/omnibox/browser/omnibox_pedal_provider.cc
+++ b/components/omnibox/browser/omnibox_pedal_provider.cc
@@ -7,12 +7,15 @@
 #include "base/i18n/case_conversion.h"
 #include "base/i18n/char_iterator.h"
 #include "base/json/json_reader.h"
+#include "base/metrics/field_trial_params.h"
 #include "base/strings/string_tokenizer.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "components/omnibox/browser/autocomplete_provider_client.h"
+#include "components/omnibox/browser/omnibox_field_trial.h"
 #include "components/omnibox/browser/omnibox_pedal.h"
 #include "components/omnibox/browser/omnibox_pedal_implementations.h"
+#include "components/omnibox/common/omnibox_features.h"
 #include "components/omnibox/resources/grit/omnibox_resources.h"
 #include "ui/base/resource/resource_bundle.h"
 
@@ -31,16 +34,49 @@
 
 OmniboxPedalProvider::~OmniboxPedalProvider() {}
 
+void OmniboxPedalProvider::AddProviderInfo(ProvidersInfo* provider_info) const {
+  provider_info->push_back(metrics::OmniboxEventProto_ProviderInfo());
+  metrics::OmniboxEventProto_ProviderInfo& new_entry = provider_info->back();
+  new_entry.set_provider(metrics::OmniboxEventProto::SEARCH);
+  new_entry.set_provider_done(true);
+
+  if (field_trial_triggered_ || field_trial_triggered_in_session_) {
+    std::vector<uint32_t> field_trial_hashes;
+    OmniboxFieldTrial::GetActiveSuggestFieldTrialHashes(&field_trial_hashes);
+    for (uint32_t trial : field_trial_hashes) {
+      if (field_trial_triggered_)
+        new_entry.mutable_field_trial_triggered()->Add(trial);
+      if (field_trial_triggered_in_session_)
+        new_entry.mutable_field_trial_triggered_in_session()->Add(trial);
+    }
+  }
+}
+
+void OmniboxPedalProvider::ResetSession() {
+  field_trial_triggered_in_session_ = false;
+  field_trial_triggered_ = false;
+}
+
 OmniboxPedal* OmniboxPedalProvider::FindPedalMatch(
-    const base::string16& match_text) const {
+    const base::string16& match_text) {
   OmniboxPedal::Tokens match_tokens = Tokenize(match_text);
   if (match_tokens.empty()) {
     return nullptr;
   }
+
+  // Some users may be in a counterfactual study arm in which the pedal button
+  // is not attached to the suggestion.
+  bool in_pedal_counterfactual_group = base::GetFieldTrialParamByFeatureAsBool(
+      omnibox::kOmniboxPedalSuggestions, "PedalSuggestionsCounterfactualArm",
+      false);
+
   for (const auto& pedal : pedals_) {
     if (pedal.second->IsTriggerMatch(match_tokens) &&
         pedal.second->IsReadyToTrigger(client_)) {
-      return pedal.second.get();
+      field_trial_triggered_ = true;
+      field_trial_triggered_in_session_ = true;
+
+      return in_pedal_counterfactual_group ? nullptr : pedal.second.get();
     }
   }
   return nullptr;
diff --git a/components/omnibox/browser/omnibox_pedal_provider.h b/components/omnibox/browser/omnibox_pedal_provider.h
index 7882180a..e8b4a645 100644
--- a/components/omnibox/browser/omnibox_pedal_provider.h
+++ b/components/omnibox/browser/omnibox_pedal_provider.h
@@ -11,6 +11,7 @@
 
 #include "base/strings/utf_offset_string_conversions.h"
 #include "base/values.h"
+#include "components/omnibox/browser/autocomplete_provider.h"
 #include "components/omnibox/browser/omnibox_pedal.h"
 #include "components/omnibox/browser/omnibox_pedal_implementations.h"
 
@@ -26,7 +27,20 @@
 
   // Returns the Pedal triggered by given |match_text| or nullptr if none
   // trigger.
-  OmniboxPedal* FindPedalMatch(const base::string16& match_text) const;
+  OmniboxPedal* FindPedalMatch(const base::string16& match_text);
+
+  // "Fake" implementation of AutocompleteProvider AddProviderInfo, though this
+  // class is not a true subclass of AutocompleteProvider. This is used
+  // for logging and reporting for our field trial.
+  void AddProviderInfo(ProvidersInfo* provider_info) const;
+
+  // "Fake" implementation of AutocompleteProvider::ResetSession. Resets the
+  // field trial flags.
+  void ResetSession();
+
+  void set_field_trial_triggered(bool triggered) {
+    field_trial_triggered_ = triggered;
+  }
 
  protected:
   FRIEND_TEST_ALL_PREFIXES(OmniboxPedalImplementationsTest,
@@ -69,6 +83,10 @@
   // This serves as an upper bound on the number of tokens we will accept from
   // text before giving up and treating it as non-match for all Pedals.
   size_t max_tokens_ = 0;
+
+  // Whether a field trial has triggered for this query and this session
+  bool field_trial_triggered_ = false;
+  bool field_trial_triggered_in_session_ = false;
 };
 
 #endif  // COMPONENTS_OMNIBOX_BROWSER_OMNIBOX_PEDAL_PROVIDER_H_
diff --git a/components/omnibox/browser/omnibox_popup_model.cc b/components/omnibox/browser/omnibox_popup_model.cc
index 09918a0c..3432bd1 100644
--- a/components/omnibox/browser/omnibox_popup_model.cc
+++ b/components/omnibox/browser/omnibox_popup_model.cc
@@ -181,6 +181,7 @@
                                     base::string16());
   } else if (old_selection.line != selection_.line ||
              (old_selection.IsButtonFocused() &&
+              !new_selection.IsButtonFocused() &&
               new_selection.state != KEYWORD_MODE)) {
     // Otherwise, only update the edit model for line number changes, or
     // when the old selection was a button and we're not entering keyword mode.
diff --git a/components/omnibox/resources/omnibox_pedal_concepts.json b/components/omnibox/resources/omnibox_pedal_concepts.json
index f0a3dec9..e54f659 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedals_translation_model",
   "schema_version": 1,
-  "time_generated": "2020-08-19T21:36:03.019733176+00:00",
+  "time_generated": "2020-08-20T20:24:15.027402404+00:00",
   "primary_language_code": "en",
   "locales": [
     {
@@ -2497,6 +2497,8 @@
               "single": true,
               "synonyms": [
                 "this page",
+                "web page",
+                "webpage",
                 "page",
                 "this"
               ]
@@ -2521,6 +2523,7 @@
               "synonyms": [
                 "upgrade",
                 "install",
+                "updates",
                 "update"
               ]
             }
@@ -2934,7 +2937,8 @@
                 "pestaña privada",
                 "ventana privada",
                 "modo privado",
-                "incógnito"
+                "incógnito",
+                "incognito"
               ]
             }
           ]
@@ -3167,7 +3171,8 @@
                 "pestaña privada",
                 "ventana privada",
                 "modo privado",
-                "incógnito"
+                "incógnito",
+                "incognito"
               ]
             }
           ]
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_am.json b/components/omnibox/resources/omnibox_pedal_concepts_am.json
index 0864c2a3..ce14ced9 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_am.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_am.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_ar.json b/components/omnibox/resources/omnibox_pedal_concepts_ar.json
index a9764ce..5e1f99d 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_ar.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_ar.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_bg.json b/components/omnibox/resources/omnibox_pedal_concepts_bg.json
index 56b87706..780aa21 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_bg.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_bg.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_bn.json b/components/omnibox/resources/omnibox_pedal_concepts_bn.json
index 9630001..e828838 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_bn.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_bn.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_ca.json b/components/omnibox/resources/omnibox_pedal_concepts_ca.json
index bd8f3dc..be52ced 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_ca.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_ca.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_cs.json b/components/omnibox/resources/omnibox_pedal_concepts_cs.json
index 98f3353..c5cee6b 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_cs.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_cs.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "aktualizovat",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_da.json b/components/omnibox/resources/omnibox_pedal_concepts_da.json
index 989a4e7d0..4ebcc6d 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_da.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_da.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "adgangskode",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_de.json b/components/omnibox/resources/omnibox_pedal_concepts_de.json
index 2ef68c2..d1d6623 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_de.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_de.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "aktualisieren",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_el.json b/components/omnibox/resources/omnibox_pedal_concepts_el.json
index bca7e6b3..656c94e 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_el.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_el.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_en-GB.json b/components/omnibox/resources/omnibox_pedal_concepts_en-GB.json
index 81fbc71e0..176f186a 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_en-GB.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_en-GB.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_en.json b/components/omnibox/resources/omnibox_pedal_concepts_en.json
index 81fbc71e0..4e9a7d0 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_en.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_en.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
@@ -60,8 +60,11 @@
     "to",
     "translate",
     "update",
+    "updates",
     "upgrade",
     "view",
+    "web",
+    "webpage",
     "window",
     "wipe",
     "within"
@@ -107,7 +110,7 @@
               9
             ],
             [
-              59
+              62
             ]
           ]
         },
@@ -180,7 +183,7 @@
               47
             ],
             [
-              57
+              58
             ],
             [
               48
@@ -339,7 +342,7 @@
           "synonyms": [
             [
               26,
-              58
+              61
             ],
             [
               26,
@@ -347,7 +350,7 @@
             ],
             [
               45,
-              58
+              61
             ],
             [
               26,
@@ -410,6 +413,13 @@
               40
             ],
             [
+              59,
+              40
+            ],
+            [
+              60
+            ],
+            [
               40
             ],
             [
@@ -444,12 +454,15 @@
           "single": true,
           "synonyms": [
             [
-              56
+              57
             ],
             [
               30
             ],
             [
+              56
+            ],
+            [
               55
             ]
           ]
@@ -465,7 +478,7 @@
         29
       ],
       [
-        60
+        63
       ],
       [
         20
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_es-419.json b/components/omnibox/resources/omnibox_pedal_concepts_es-419.json
index 118744a..88ee92dd 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_es-419.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_es-419.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "abrir",
@@ -37,6 +37,7 @@
     "hacer",
     "historial",
     "idioma",
+    "incognito",
     "incógnito",
     "info",
     "información",
@@ -80,10 +81,10 @@
               8
             ],
             [
-              42
+              43
             ],
             [
-              43
+              44
             ],
             [
               8
@@ -98,16 +99,16 @@
               22
             ],
             [
-              53
+              54
             ],
             [
-              51
+              52
             ],
             [
               5
             ],
             [
-              52
+              53
             ]
           ]
         },
@@ -116,7 +117,7 @@
           "single": true,
           "synonyms": [
             [
-              35
+              36
             ],
             [
               31
@@ -131,7 +132,7 @@
               16
             ],
             [
-              34
+              35
             ]
           ]
         }
@@ -150,7 +151,7 @@
               8
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -177,13 +178,13 @@
               29
             ],
             [
-              41
+              42
             ],
             [
               19
             ],
             [
-              59
+              60
             ]
           ]
         },
@@ -217,7 +218,7 @@
               8
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -250,32 +251,37 @@
           "single": true,
           "synonyms": [
             [
-              35,
+              36,
               17,
-              38,
-              54,
+              39,
+              55,
               17,
               15
             ],
             [
-              35,
+              36,
               17,
-              38,
-              54,
+              39,
+              55,
               17,
               15
             ],
             [
-              35,
+              36,
               17,
-              38,
-              54
+              39,
+              55
             ],
             [
-              35,
+              36,
               17,
-              38,
-              54
+              39,
+              55
+            ],
+            [
+              56,
+              17,
+              15
             ],
             [
               55,
@@ -283,23 +289,18 @@
               15
             ],
             [
-              54,
-              17,
-              15
-            ],
-            [
               27,
               17,
-              44
-            ],
-            [
-              55
-            ],
-            [
               45
             ],
             [
-              44
+              56
+            ],
+            [
+              46
+            ],
+            [
+              45
             ]
           ]
         }
@@ -318,7 +319,7 @@
               8
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -333,7 +334,7 @@
               20
             ],
             [
-              36
+              37
             ],
             [
               24
@@ -351,33 +352,36 @@
           "single": true,
           "synonyms": [
             [
-              47,
+              48,
               17,
-              33
+              34
             ],
             [
-              58,
+              59,
               17,
-              33
+              34
             ],
             [
-              40,
+              41,
               17,
-              33
+              34
             ],
             [
-              47,
-              48
-            ],
-            [
-              58,
-              48
-            ],
-            [
-              40,
+              48,
               49
             ],
             [
+              59,
+              49
+            ],
+            [
+              41,
+              50
+            ],
+            [
+              34
+            ],
+            [
               33
             ]
           ]
@@ -397,7 +401,7 @@
               8
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -413,7 +417,7 @@
               32
             ],
             [
-              56
+              57
             ]
           ]
         },
@@ -423,10 +427,10 @@
           "synonyms": [
             [
               25,
-              50
+              51
             ],
             [
-              50
+              51
             ],
             [
               26
@@ -448,7 +452,7 @@
               8
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -466,7 +470,7 @@
               2
             ],
             [
-              37
+              38
             ]
           ]
         }
@@ -485,13 +489,13 @@
         30
       ],
       [
-        46
+        47
       ],
       [
         9
       ],
       [
-        46
+        47
       ],
       [
         23
@@ -500,22 +504,22 @@
         21
       ],
       [
-        57
+        58
       ],
       [
         23
       ],
       [
-        39
+        40
       ],
       [
         23
       ],
       [
-        57
+        58
       ],
       [
-        60
+        61
       ]
     ]
   },
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_es.json b/components/omnibox/resources/omnibox_pedal_concepts_es.json
index 3738a19..73c818c 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_es.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_es.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
@@ -35,6 +35,7 @@
     "hacer",
     "historial",
     "idioma",
+    "incognito",
     "incógnito",
     "información",
     "iniciar",
@@ -80,10 +81,10 @@
               8
             ],
             [
-              41
+              42
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -98,15 +99,15 @@
               21
             ],
             [
-              53
+              54
+            ],
+            [
+              52
             ],
             [
               51
             ],
             [
-              50
-            ],
-            [
               5
             ]
           ]
@@ -116,10 +117,10 @@
           "single": true,
           "synonyms": [
             [
-              32
+              33
             ],
             [
-              32
+              33
             ],
             [
               29
@@ -150,7 +151,7 @@
               8
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -177,13 +178,13 @@
               27
             ],
             [
-              39
+              40
             ],
             [
               19
             ],
             [
-              59
+              60
             ]
           ]
         },
@@ -217,7 +218,7 @@
               8
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -250,47 +251,47 @@
           "single": true,
           "synonyms": [
             [
-              32,
-              35,
-              54,
+              33,
+              36,
+              55,
               14
             ],
             [
-              32,
-              35,
-              54,
+              33,
+              36,
+              55,
               14
             ],
             [
-              32,
-              35,
-              54
+              33,
+              36,
+              55
             ],
             [
-              32,
-              35,
-              54
+              33,
+              36,
+              55
+            ],
+            [
+              56,
+              14
             ],
             [
               55,
               14
             ],
             [
-              54,
-              14
-            ],
-            [
-              40,
-              43
-            ],
-            [
-              55
-            ],
-            [
+              41,
               44
             ],
             [
-              43
+              56
+            ],
+            [
+              45
+            ],
+            [
+              44
             ]
           ]
         }
@@ -309,7 +310,7 @@
               8
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -321,10 +322,10 @@
           "single": true,
           "synonyms": [
             [
-              33
+              34
             ],
             [
-              36
+              37
             ],
             [
               23
@@ -342,30 +343,33 @@
           "single": true,
           "synonyms": [
             [
-              46,
-              31
+              47,
+              32
             ],
             [
-              58,
-              31
+              59,
+              32
             ],
             [
-              38,
-              31
+              39,
+              32
             ],
             [
-              46,
-              47
-            ],
-            [
-              58,
-              47
-            ],
-            [
-              38,
+              47,
               48
             ],
             [
+              59,
+              48
+            ],
+            [
+              39,
+              49
+            ],
+            [
+              32
+            ],
+            [
               31
             ]
           ]
@@ -385,7 +389,7 @@
               8
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -401,7 +405,7 @@
               30
             ],
             [
-              56
+              57
             ]
           ]
         },
@@ -411,10 +415,10 @@
           "synonyms": [
             [
               24,
-              49
+              50
             ],
             [
-              49
+              50
             ],
             [
               24
@@ -436,7 +440,7 @@
               8
             ],
             [
-              42
+              43
             ],
             [
               8
@@ -454,7 +458,7 @@
               3
             ],
             [
-              34
+              35
             ]
           ]
         }
@@ -475,10 +479,10 @@
         28
       ],
       [
-        52
+        53
       ],
       [
-        45
+        46
       ],
       [
         22
@@ -487,19 +491,19 @@
         20
       ],
       [
-        57
+        58
       ],
       [
         22
       ],
       [
-        37
+        38
       ],
       [
-        57
+        58
       ],
       [
-        60
+        61
       ],
       [
         17
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_et.json b/components/omnibox/resources/omnibox_pedal_concepts_et.json
index b7f5ed6..edf3279 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_et.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_et.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "ajalugu",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_fa.json b/components/omnibox/resources/omnibox_pedal_concepts_fa.json
index 1b74429..92d4204 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_fa.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_fa.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_fi.json b/components/omnibox/resources/omnibox_pedal_concepts_fi.json
index a2cb78f5..974e7f0 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_fi.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_fi.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "asenna",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_fil.json b/components/omnibox/resources/omnibox_pedal_concepts_fil.json
index 1fe3d0e2..853de86f 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_fil.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_fil.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "akin",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_fr.json b/components/omnibox/resources/omnibox_pedal_concepts_fr.json
index 0226c55..0e9d5f05 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_fr.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_fr.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "actualise",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_gu.json b/components/omnibox/resources/omnibox_pedal_concepts_gu.json
index b21f8b62..25524ea 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_gu.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_gu.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_he.json b/components/omnibox/resources/omnibox_pedal_concepts_he.json
index c4e193b5..96a2e8e 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_he.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_he.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_hi.json b/components/omnibox/resources/omnibox_pedal_concepts_hi.json
index e5c190d..6ad8b44 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_hi.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_hi.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_hr.json b/components/omnibox/resources/omnibox_pedal_concepts_hr.json
index f869efd..bbcf1b9 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_hr.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_hr.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "anonimna",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_hu.json b/components/omnibox/resources/omnibox_pedal_concepts_hu.json
index e0d2efd..269ea05 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_hu.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_hu.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_id.json b/components/omnibox/resources/omnibox_pedal_concepts_id.json
index 82eb348..626818c 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_id.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_id.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "bagaimana",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_it.json b/components/omnibox/resources/omnibox_pedal_concepts_it.json
index adda3a65..26b35655 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_it.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_it.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_ja.json b/components/omnibox/resources/omnibox_pedal_concepts_ja.json
index 67f3214..89470fce 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_ja.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_ja.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": "",
   "dictionary": [
     " ",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_kn.json b/components/omnibox/resources/omnibox_pedal_concepts_kn.json
index 9dccec0..659a2cb 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_kn.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_kn.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_ko.json b/components/omnibox/resources/omnibox_pedal_concepts_ko.json
index 8476288c..adc497f 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_ko.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_ko.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_lt.json b/components/omnibox/resources/omnibox_pedal_concepts_lt.json
index 5298f15..7d5de8e7 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_lt.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_lt.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "atidaryti",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_lv.json b/components/omnibox/resources/omnibox_pedal_concepts_lv.json
index f11cf09..0d4420f 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_lv.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_lv.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "akreditācijas",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_ml.json b/components/omnibox/resources/omnibox_pedal_concepts_ml.json
index b0844b7..88789a8 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_ml.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_ml.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_mr.json b/components/omnibox/resources/omnibox_pedal_concepts_mr.json
index 3b20f87..f8283d4c 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_mr.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_mr.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_ms.json b/components/omnibox/resources/omnibox_pedal_concepts_ms.json
index 400507d..53b7558 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_ms.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_ms.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "alih",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_nl.json b/components/omnibox/resources/omnibox_pedal_concepts_nl.json
index e5dfe5a..0bc4a780 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_nl.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_nl.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "aan",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_pl.json b/components/omnibox/resources/omnibox_pedal_concepts_pl.json
index c5a8848..d672c7b 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_pl.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_pl.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_pt-BR.json b/components/omnibox/resources/omnibox_pedal_concepts_pt-BR.json
index fec429b..38548c8 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_pt-BR.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_pt-BR.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "abrir",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_pt-PT.json b/components/omnibox/resources/omnibox_pedal_concepts_pt-PT.json
index bec75ed..c973af6 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_pt-PT.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_pt-PT.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "abrir",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_ro.json b/components/omnibox/resources/omnibox_pedal_concepts_ro.json
index 93a2e56..ff2d42c 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_ro.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_ro.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_ru.json b/components/omnibox/resources/omnibox_pedal_concepts_ru.json
index fcc76a60..71a07adb 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_ru.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_ru.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_sk.json b/components/omnibox/resources/omnibox_pedal_concepts_sk.json
index a1ae0902..1fccbbb 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_sk.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_sk.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_sl.json b/components/omnibox/resources/omnibox_pedal_concepts_sl.json
index a48a4c94..600a0f5 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_sl.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_sl.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "beleženja",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_sr.json b/components/omnibox/resources/omnibox_pedal_concepts_sr.json
index f9e6e7e..12007622 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_sr.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_sr.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_sv.json b/components/omnibox/resources/omnibox_pedal_concepts_sv.json
index 847009ad..1f68513 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_sv.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_sv.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "aktivera",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_sw.json b/components/omnibox/resources/omnibox_pedal_concepts_sw.json
index 942eb79b..7319ab3 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_sw.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_sw.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "***",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_ta.json b/components/omnibox/resources/omnibox_pedal_concepts_ta.json
index 9cbcc4fc..4307658d 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_ta.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_ta.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_te.json b/components/omnibox/resources/omnibox_pedal_concepts_te.json
index b28d33c..7bf182c6 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_te.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_te.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_th.json b/components/omnibox/resources/omnibox_pedal_concepts_th.json
index f90a8e4..ce94c5e 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_th.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_th.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_tr.json b/components/omnibox/resources/omnibox_pedal_concepts_tr.json
index 254088b..b1eb4f6 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_tr.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_tr.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "aç",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_uk.json b/components/omnibox/resources/omnibox_pedal_concepts_uk.json
index 3ca6dbb9..3b2967a 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_uk.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_uk.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_vi.json b/components/omnibox/resources/omnibox_pedal_concepts_vi.json
index 40b05b0..98aca47d 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_vi.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_vi.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "a",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_zh-CN.json b/components/omnibox/resources/omnibox_pedal_concepts_zh-CN.json
index aa6dc15..928ab5e 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_zh-CN.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_zh-CN.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": "",
   "dictionary": [
     " ",
diff --git a/components/omnibox/resources/omnibox_pedal_concepts_zh-TW.json b/components/omnibox/resources/omnibox_pedal_concepts_zh-TW.json
index 82ca4f8..c4d986e 100644
--- a/components/omnibox/resources/omnibox_pedal_concepts_zh-TW.json
+++ b/components/omnibox/resources/omnibox_pedal_concepts_zh-TW.json
@@ -1,7 +1,7 @@
 {
   "schema": "pedal_concepts_runtime",
   "schema_version": 1,
-  "data_version": 15475536,
+  "data_version": 15476904,
   "tokenize_characters": " -",
   "dictionary": [
     "chrome",
diff --git a/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediator.java b/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediator.java
index b6f66fbb..5641711 100644
--- a/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediator.java
+++ b/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediator.java
@@ -62,6 +62,7 @@
     /** The viewport of this frame. */
     private final PlayerFrameViewport mViewport;
 
+    private boolean mIsSubframe;
     private float mInitialScaleFactor;
     /** Handles scaling of bitmaps. */
     private final Matrix mBitmapScaleMatrix;
@@ -80,6 +81,7 @@
         mCompositorDelegate = compositorDelegate;
         mGestureListener = gestureListener;
         mViewport = new PlayerFrameViewport();
+        mIsSubframe = false;
         mInitialScaleFactor = 0f;
         mGuid = frameGuid;
         mContentSize = contentSize;
@@ -122,6 +124,8 @@
         mSubFrameRects.add(clipRect);
         mSubFrameMediators.add(mediator);
         mSubFrameScaledRects.add(new Rect());
+        mediator.markAsSubframe();
+        mediator.setInitialScaleFactor(mInitialScaleFactor);
         mModel.set(PlayerFrameProperties.SUBFRAME_VIEWS, mSubFrameViews);
         mModel.set(PlayerFrameProperties.SUBFRAME_RECTS, mSubFrameScaledRects);
     }
@@ -145,7 +149,10 @@
         }
 
         // Set initial scale so that content width fits within the layout dimensions.
-        adjustInitialScaleFactor(width);
+        if (!mIsSubframe) {
+            adjustInitialScaleFactor(width);
+        }
+
         final float scaleFactor = mViewport.getScale();
         updateViewportSize(
                 width, height, (scaleFactor == 0f) ? getInitialScaleFactor() : scaleFactor);
@@ -248,9 +255,9 @@
     }
 
     @Override
-    public void resetScaleFactorOfAllSubframes() {
+    public void updateScaleFactorOfAllSubframes(float scaleFactor) {
         for (int i = 0; i < mSubFrameViews.size(); i++) {
-            mSubFrameMediators.get(i).resetScaleFactor();
+            mSubFrameMediators.get(i).updateScaleFactor(scaleFactor);
         }
     }
 
@@ -309,20 +316,30 @@
 
     // Internal methods
 
-    @VisibleForTesting
-    void resetScaleFactor() {
-        // Set scale factor to 0 so subframes get the correct scale factor on scale completion.
-        mViewport.setScale(0f);
+    private void setInitialScaleFactor(float scaleFactor) {
+        mInitialScaleFactor = scaleFactor;
+
+        if (mSubFrameViews == null) return;
+
         for (int i = 0; i < mSubFrameViews.size(); i++) {
-            mSubFrameMediators.get(i).resetScaleFactor();
+            mSubFrameMediators.get(i).setInitialScaleFactor(mInitialScaleFactor);
+        }
+    }
+
+    private void markAsSubframe() {
+        mIsSubframe = true;
+    }
+
+    @VisibleForTesting
+    void updateScaleFactor(float scaleFactor) {
+        mViewport.setScale(scaleFactor);
+        for (int i = 0; i < mSubFrameViews.size(); i++) {
+            mSubFrameMediators.get(i).updateScaleFactor(scaleFactor);
         }
     }
 
     @VisibleForTesting
     void forceRedraw() {
-        adjustInitialScaleFactor(mViewport.getWidth());
-        final float scaleFactor = mViewport.getScale();
-        mViewport.setScale((scaleFactor == 0f) ? getInitialScaleFactor() : scaleFactor);
         updateVisuals(true);
         for (int i = 0; i < mSubFrameViews.size(); i++) {
             if (mSubFrameViews.get(i).getVisibility() != View.VISIBLE) continue;
@@ -344,6 +361,9 @@
      */
     private void adjustInitialScaleFactor(float width) {
         mInitialScaleFactor = width / ((float) mContentSize.getWidth());
+        for (int i = 0; i < mSubFrameViews.size(); i++) {
+            mSubFrameMediators.get(i).setInitialScaleFactor(mInitialScaleFactor);
+        }
     }
 
     @VisibleForTesting
diff --git a/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediatorDelegate.java b/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediatorDelegate.java
index 9b12b1d4..9580fce6 100644
--- a/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediatorDelegate.java
+++ b/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediatorDelegate.java
@@ -53,10 +53,10 @@
     void setBitmapScaleMatrix(Matrix bitmapScaleMatrix, float scaleFactor);
 
     /**
-     * Resets the scale factor of subframes. This allows a new initial scale factor to be used for
+     * Updates the scale factor of subframes. This allows a correct scale factor to be used for
      * subframes when fetching bitmaps at the new scale.
      */
-    void resetScaleFactorOfAllSubframes();
+    void updateScaleFactorOfAllSubframes(float scaleFactor);
 
     /**
      * Forcibly redraws the currently visible subframes. This prevents issues where a subframe won't
diff --git a/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameScaleController.java b/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameScaleController.java
index c148756..9617186 100644
--- a/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameScaleController.java
+++ b/components/paint_preview/player/android/java/src/org/chromium/components/paintpreview/player/frame/PlayerFrameScaleController.java
@@ -156,7 +156,7 @@
      */
     boolean scaleFinished(float scaleFactor, float focalPointX, float focalPointY) {
         // All correction/scaling happens in scaleBy() here we just update the mediator.
-        mMediatorDelegate.resetScaleFactorOfAllSubframes();
+        mMediatorDelegate.updateScaleFactorOfAllSubframes(mViewport.getScale());
         mMediatorDelegate.updateVisuals(true);
         mMediatorDelegate.forceRedrawVisibleSubframes();
         mUncommittedScaleFactor = 0f;
diff --git a/components/paint_preview/player/android/junit/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediatorTest.java b/components/paint_preview/player/android/junit/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediatorTest.java
index 7c4512f..729ae30 100644
--- a/components/paint_preview/player/android/junit/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediatorTest.java
+++ b/components/paint_preview/player/android/junit/src/org/chromium/components/paintpreview/player/frame/PlayerFrameMediatorTest.java
@@ -1109,7 +1109,7 @@
 
         Assert.assertTrue(mScaleController.scaleFinished(1f, 0f, 0f));
         mBitmapStateController.swapForTest();
-        inOrderMediator1.verify(subFrame1Mediator).resetScaleFactor();
+        inOrderMediator1.verify(subFrame1Mediator).updateScaleFactor(eq(2f));
         inOrderMediator1.verify(subFrame1Mediator).forceRedraw();
         Assert.assertEquals(expectedViews, mModel.get(PlayerFrameProperties.SUBFRAME_VIEWS));
         Assert.assertEquals(expectedRects, mModel.get(PlayerFrameProperties.SUBFRAME_RECTS));
@@ -1202,8 +1202,8 @@
                 .setBitmapScaleMatrixOfSubframe(argThat(new MatrixMatcher(scaleMatrix)), eq(1.5f));
 
         // Simulate scaleFinished() by force a scale factor clear and redraw.
-        mMediator.resetScaleFactor();
-        inOrder.verify(subFrameMediator).resetScaleFactor();
+        mMediator.updateScaleFactor(1.5f);
+        inOrder.verify(subFrameMediator).updateScaleFactor(eq(1.5f));
         mMediator.forceRedraw();
         inOrder.verify(subFrameMediator).forceRedraw();
     }
diff --git a/components/paint_preview/player/android/junit/src/org/chromium/components/paintpreview/player/frame/PlayerFrameScaleControllerTest.java b/components/paint_preview/player/android/junit/src/org/chromium/components/paintpreview/player/frame/PlayerFrameScaleControllerTest.java
index 0b18b48..20897f1 100644
--- a/components/paint_preview/player/android/junit/src/org/chromium/components/paintpreview/player/frame/PlayerFrameScaleControllerTest.java
+++ b/components/paint_preview/player/android/junit/src/org/chromium/components/paintpreview/player/frame/PlayerFrameScaleControllerTest.java
@@ -109,7 +109,7 @@
         Assert.assertEquals(250f, mViewport.getTransX(), TOLERANCE);
         Assert.assertEquals(350f, mViewport.getTransY(), TOLERANCE);
         expectedBitmapMatrix.reset();
-        inOrder.verify(mMediatorDelegateMock).resetScaleFactorOfAllSubframes();
+        inOrder.verify(mMediatorDelegateMock).updateScaleFactorOfAllSubframes(eq(2f));
         inOrder.verify(mMediatorDelegateMock).updateVisuals(eq(true));
         inOrder.verify(mMediatorDelegateMock).forceRedrawVisibleSubframes();
 
@@ -132,7 +132,7 @@
         Assert.assertEquals(100f, mViewport.getTransX(), TOLERANCE);
         Assert.assertEquals(150f, mViewport.getTransY(), TOLERANCE);
         expectedBitmapMatrix.reset();
-        inOrder.verify(mMediatorDelegateMock).resetScaleFactorOfAllSubframes();
+        inOrder.verify(mMediatorDelegateMock).updateScaleFactorOfAllSubframes(eq(1f));
         inOrder.verify(mMediatorDelegateMock).updateVisuals(eq(true));
         inOrder.verify(mMediatorDelegateMock).forceRedrawVisibleSubframes();
     }
@@ -161,7 +161,7 @@
         Assert.assertEquals(0f, mViewport.getTransX(), TOLERANCE);
         Assert.assertEquals(0f, mViewport.getTransY(), TOLERANCE);
         expectedBitmapMatrix.reset();
-        inOrder.verify(mMediatorDelegateMock).resetScaleFactorOfAllSubframes();
+        inOrder.verify(mMediatorDelegateMock).updateScaleFactorOfAllSubframes(eq(2f));
         inOrder.verify(mMediatorDelegateMock).updateVisuals(eq(true));
         inOrder.verify(mMediatorDelegateMock).forceRedrawVisibleSubframes();
 
@@ -185,7 +185,7 @@
         Assert.assertEquals(0f, mViewport.getTransX(), TOLERANCE);
         Assert.assertEquals(0f, mViewport.getTransY(), TOLERANCE);
         expectedBitmapMatrix.reset();
-        inOrder.verify(mMediatorDelegateMock).resetScaleFactorOfAllSubframes();
+        inOrder.verify(mMediatorDelegateMock).updateScaleFactorOfAllSubframes(eq(1.5f));
         inOrder.verify(mMediatorDelegateMock).updateVisuals(eq(true));
         inOrder.verify(mMediatorDelegateMock).forceRedrawVisibleSubframes();
     }
@@ -214,7 +214,7 @@
         Assert.assertEquals(0f, mViewport.getTransX(), TOLERANCE);
         Assert.assertEquals(0f, mViewport.getTransY(), TOLERANCE);
         expectedBitmapMatrix.reset();
-        inOrder.verify(mMediatorDelegateMock).resetScaleFactorOfAllSubframes();
+        inOrder.verify(mMediatorDelegateMock).updateScaleFactorOfAllSubframes(eq(1.5f));
         inOrder.verify(mMediatorDelegateMock).updateVisuals(eq(true));
         inOrder.verify(mMediatorDelegateMock).forceRedrawVisibleSubframes();
 
@@ -251,7 +251,7 @@
         Assert.assertEquals(expectedX, mViewport.getTransX(), TOLERANCE);
         Assert.assertEquals(expectedY, mViewport.getTransY(), TOLERANCE);
         expectedBitmapMatrix.reset();
-        inOrder.verify(mMediatorDelegateMock).resetScaleFactorOfAllSubframes();
+        inOrder.verify(mMediatorDelegateMock).updateScaleFactorOfAllSubframes(eq(1.125f));
         inOrder.verify(mMediatorDelegateMock).updateVisuals(eq(true));
         inOrder.verify(mMediatorDelegateMock).forceRedrawVisibleSubframes();
     }
@@ -281,7 +281,7 @@
         Assert.assertEquals(250f, mViewport.getTransX(), TOLERANCE);
         Assert.assertEquals(350f, mViewport.getTransY(), TOLERANCE);
         expectedBitmapMatrix.reset();
-        inOrder.verify(mMediatorDelegateMock).resetScaleFactorOfAllSubframes();
+        inOrder.verify(mMediatorDelegateMock).updateScaleFactorOfAllSubframes(2f);
         inOrder.verify(mMediatorDelegateMock).updateVisuals(eq(true));
         inOrder.verify(mMediatorDelegateMock).forceRedrawVisibleSubframes();
 
@@ -305,7 +305,7 @@
         Assert.assertEquals(175f, mViewport.getTransX(), TOLERANCE);
         Assert.assertEquals(250f, mViewport.getTransY(), TOLERANCE);
         expectedBitmapMatrix.reset();
-        inOrder.verify(mMediatorDelegateMock).resetScaleFactorOfAllSubframes();
+        inOrder.verify(mMediatorDelegateMock).updateScaleFactorOfAllSubframes(1.5f);
         inOrder.verify(mMediatorDelegateMock).updateVisuals(eq(true));
         inOrder.verify(mMediatorDelegateMock).forceRedrawVisibleSubframes();
     }
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_backend.cc b/components/password_manager/core/browser/android_affiliation/affiliation_backend.cc
index 66bc062c..f4e5943 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_backend.cc
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_backend.cc
@@ -257,7 +257,7 @@
     return false;
 
   fetcher_.reset(AffiliationFetcher::Create(url_loader_factory_, this));
-  fetcher_->StartRequest(requested_facet_uris);
+  fetcher_->StartRequest(requested_facet_uris, {.branding_info = true});
   ReportStatistics(requested_facet_uris.size());
   return true;
 }
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.cc b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.cc
index c1b2dbd..a52712d2 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.cc
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.cc
@@ -71,7 +71,8 @@
   g_testing_factory = factory;
 }
 
-void AffiliationFetcher::StartRequest(const std::vector<FacetURI>& facet_uris) {
+void AffiliationFetcher::StartRequest(const std::vector<FacetURI>& facet_uris,
+                                      RequestInfo request_info) {
   DCHECK(!simple_url_loader_);
   requested_facet_uris_ = facet_uris;
 
@@ -114,7 +115,7 @@
   resource_request->method = "POST";
   simple_url_loader_ = network::SimpleURLLoader::Create(
       std::move(resource_request), traffic_annotation);
-  simple_url_loader_->AttachStringForUpload(PreparePayload(),
+  simple_url_loader_->AttachStringForUpload(PreparePayload(request_info),
                                             "application/x-protobuf");
   simple_url_loader_->DownloadToStringOfUnboundedSizeUntilCrashAndDie(
       url_loader_factory_.get(),
@@ -137,14 +138,18 @@
       "key", google_apis::GetAPIKey());
 }
 
-std::string AffiliationFetcher::PreparePayload() const {
+std::string AffiliationFetcher::PreparePayload(RequestInfo request_info) const {
   affiliation_pb::LookupAffiliationRequest lookup_request;
   for (const FacetURI& uri : requested_facet_uris_)
     lookup_request.add_facet(uri.canonical_spec());
 
-  // Enable request for branding information.
   auto mask = std::make_unique<affiliation_pb::LookupAffiliationMask>();
-  mask->set_branding_info(true);
+
+  mask->set_branding_info(request_info.branding_info);
+  // Change password info requires grouping info enabled.
+  mask->set_grouping_info(request_info.change_password_info);
+  mask->set_change_password_info(request_info.change_password_info);
+
   lookup_request.set_allocated_mask(mask.release());
 
   std::string serialized_request;
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.h b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.h
index 38f8a36..1e9c3645 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.h
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.h
@@ -53,14 +53,16 @@
   // calls. The caller may pass in NULL to resume using the default factory.
   static void SetFactoryForTesting(TestAffiliationFetcherFactory* factory);
 
-  // Actually starts the request to retrieve affiliations for each facet in
-  // |facet_uris|, and will call the delegate with the results on the same
-  // thread when done. If |this| is destroyed before completion, the in-flight
-  // request is cancelled, and the delegate will not be called. Further details:
+  // Actually starts the request to retrieve affiliations and optionally
+  // groupings for each facet in |facet_uris| along with the details based on
+  // |request_info|. Calls the delegate with the results on the same thread when
+  // done. If |this| is destroyed before completion, the in-flight request is
+  // cancelled, and the delegate will not be called. Further details:
   //   * No cookies are sent/saved with the request.
   //   * In case of network/server errors, the request will not be retried.
   //   * Results are guaranteed to be always fresh and will never be cached.
-  void StartRequest(const std::vector<FacetURI>& facet_uris) override;
+  void StartRequest(const std::vector<FacetURI>& facet_uris,
+                    RequestInfo request_info) override;
 
   const std::vector<FacetURI>& GetRequestedFacetURIs() const override;
 
@@ -73,8 +75,8 @@
 
  private:
   // Prepares and returns the serialized protocol buffer message that will be
-  // the payload of the POST request.
-  std::string PreparePayload() const;
+  // the payload of the POST request. Sets mask request based on |request_info|.
+  std::string PreparePayload(RequestInfo request_info) const;
 
   // Parses and validates the response protocol buffer message for a list of
   // equivalence classes, stores them into |result| and returns true on success.
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_delegate.h b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_delegate.h
index e14a0d6..f1e4c4d 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_delegate.h
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_delegate.h
@@ -18,7 +18,6 @@
  public:
   // Encapsulates the response to an affiliations request.
   struct Result {
-    // copyable and movable
     Result();
     Result(const Result& other);
     Result(Result&& other);
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_interface.h b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_interface.h
index dbeb4d5b..6a04ffa 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_interface.h
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_interface.h
@@ -14,10 +14,20 @@
 
 class AffiliationFetcherInterface {
  public:
+  // A struct that enables to set Affiliation Fetcher request mask.
+  struct RequestInfo {
+    bool branding_info = false;
+    bool change_password_info = false;
+
+    bool operator==(const RequestInfo& other) const {
+      return branding_info == other.branding_info &&
+             change_password_info == other.change_password_info;
+    }
+  };
+
   AffiliationFetcherInterface() = default;
   virtual ~AffiliationFetcherInterface() = default;
 
-  // Not copyable or movable
   AffiliationFetcherInterface(const AffiliationFetcherInterface&) = delete;
   AffiliationFetcherInterface& operator=(const AffiliationFetcherInterface&) =
       delete;
@@ -27,7 +37,8 @@
 
   // Starts the request to retrieve affiliations for each facet in
   // |facet_uris|.
-  virtual void StartRequest(const std::vector<FacetURI>& facet_uris) = 0;
+  virtual void StartRequest(const std::vector<FacetURI>& facet_uris,
+                            RequestInfo request_info) = 0;
 
   // Returns requested facet uris.
   virtual const std::vector<FacetURI>& GetRequestedFacetURIs() const = 0;
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_unittest.cc b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_unittest.cc
index eee15d6d..c8193140 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_unittest.cc
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher_unittest.cc
@@ -74,7 +74,8 @@
   }
 
  protected:
-  void VerifyRequestPayload(const std::vector<FacetURI>& expected_facet_uris) {
+  void VerifyRequestPayload(const std::vector<FacetURI>& expected_facet_uris,
+                            AffiliationFetcher::RequestInfo request_info) {
     affiliation_pb::LookupAffiliationRequest request;
     ASSERT_TRUE(request.ParseFromString(intercepted_body_));
 
@@ -89,9 +90,12 @@
     EXPECT_THAT(actual_uris,
                 testing::UnorderedElementsAreArray(expected_facet_uris));
 
-    // Verify that an affiliation mask is present that has branding_info set to
-    // true.
-    EXPECT_TRUE(request.mask().branding_info());
+    EXPECT_EQ(request.mask().branding_info(), request_info.branding_info);
+    // Change password info requires grouping info enabled.
+    EXPECT_EQ(request.mask().grouping_info(),
+              request_info.change_password_info);
+    EXPECT_EQ(request.mask().change_password_info(),
+              request_info.change_password_info);
   }
 
   GURL interception_url() { return AffiliationFetcher::BuildQueryURL(); }
@@ -135,6 +139,7 @@
   const char kNotExampleAndroidFacetURI[] =
       "android://hash1234@com.example.not";
   const char kNotExampleWebFacetURI[] = "https://not.example.com";
+  AffiliationFetcher::RequestInfo request_info{.branding_info = true};
 
   affiliation_pb::LookupAffiliationResponse test_response;
   affiliation_pb::Affiliation* eq_class1 = test_response.add_affiliation();
@@ -155,10 +160,10 @@
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
   std::unique_ptr<AffiliationFetcherInterface> fetcher(
       AffiliationFetcher::Create(test_shared_loader_factory(), &mock_delegate));
-  fetcher->StartRequest(requested_uris);
+  fetcher->StartRequest(requested_uris, request_info);
   WaitForResponse();
 
-  ASSERT_NO_FATAL_FAILURE(VerifyRequestPayload(requested_uris));
+  ASSERT_NO_FATAL_FAILURE(VerifyRequestPayload(requested_uris, request_info));
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
 
   ASSERT_EQ(2u, mock_delegate.affiliations().size());
@@ -185,6 +190,7 @@
   affiliation_pb::Facet* android_facet = eq_class->add_facet();
   android_facet->set_id(kExampleAndroidFacetURI);
   android_facet->set_allocated_branding_info(android_branding_info.release());
+  AffiliationFetcher::RequestInfo request_info{.branding_info = true};
 
   std::vector<FacetURI> requested_uris;
   requested_uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
@@ -194,10 +200,10 @@
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
   std::unique_ptr<AffiliationFetcherInterface> fetcher(
       AffiliationFetcher::Create(test_shared_loader_factory(), &mock_delegate));
-  fetcher->StartRequest(requested_uris);
+  fetcher->StartRequest(requested_uris, request_info);
   WaitForResponse();
 
-  ASSERT_NO_FATAL_FAILURE(VerifyRequestPayload(requested_uris));
+  ASSERT_NO_FATAL_FAILURE(VerifyRequestPayload(requested_uris, request_info));
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
 
   ASSERT_EQ(1u, mock_delegate.affiliations().size());
@@ -216,6 +222,7 @@
 // of size one is created for each of the missing facets.
 TEST_F(AffiliationFetcherTest, MissingEquivalenceClassesAreCreated) {
   affiliation_pb::LookupAffiliationResponse empty_test_response;
+  AffiliationFetcher::RequestInfo request_info{.branding_info = true};
 
   std::vector<FacetURI> requested_uris;
   requested_uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
@@ -225,10 +232,10 @@
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
   std::unique_ptr<AffiliationFetcherInterface> fetcher(
       AffiliationFetcher::Create(test_shared_loader_factory(), &mock_delegate));
-  fetcher->StartRequest(requested_uris);
+  fetcher->StartRequest(requested_uris, request_info);
   WaitForResponse();
 
-  ASSERT_NO_FATAL_FAILURE(VerifyRequestPayload(requested_uris));
+  ASSERT_NO_FATAL_FAILURE(VerifyRequestPayload(requested_uris, request_info));
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
 
   ASSERT_EQ(1u, mock_delegate.affiliations().size());
@@ -256,7 +263,7 @@
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
   std::unique_ptr<AffiliationFetcherInterface> fetcher(
       AffiliationFetcher::Create(test_shared_loader_factory(), &mock_delegate));
-  fetcher->StartRequest(requested_uris);
+  fetcher->StartRequest(requested_uris, {});
   WaitForResponse();
 
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
@@ -284,7 +291,7 @@
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
   std::unique_ptr<AffiliationFetcherInterface> fetcher(
       AffiliationFetcher::Create(test_shared_loader_factory(), &mock_delegate));
-  fetcher->StartRequest(requested_uris);
+  fetcher->StartRequest(requested_uris, {});
   WaitForResponse();
 
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
@@ -316,7 +323,7 @@
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
   std::unique_ptr<AffiliationFetcherInterface> fetcher(
       AffiliationFetcher::Create(test_shared_loader_factory(), &mock_delegate));
-  fetcher->StartRequest(requested_uris);
+  fetcher->StartRequest(requested_uris, {});
   WaitForResponse();
 
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
@@ -340,7 +347,7 @@
   EXPECT_CALL(mock_delegate, OnMalformedResponse());
   std::unique_ptr<AffiliationFetcherInterface> fetcher(
       AffiliationFetcher::Create(test_shared_loader_factory(), &mock_delegate));
-  fetcher->StartRequest(uris);
+  fetcher->StartRequest(uris, {});
   WaitForResponse();
 }
 
@@ -364,7 +371,7 @@
   EXPECT_CALL(mock_delegate, OnMalformedResponse());
   std::unique_ptr<AffiliationFetcherInterface> fetcher(
       AffiliationFetcher::Create(test_shared_loader_factory(), &mock_delegate));
-  fetcher->StartRequest(uris);
+  fetcher->StartRequest(uris, {});
   WaitForResponse();
 }
 
@@ -377,7 +384,7 @@
   EXPECT_CALL(mock_delegate, OnFetchFailed());
   std::unique_ptr<AffiliationFetcherInterface> fetcher(
       AffiliationFetcher::Create(test_shared_loader_factory(), &mock_delegate));
-  fetcher->StartRequest(uris);
+  fetcher->StartRequest(uris, {});
   WaitForResponse();
 }
 
@@ -390,7 +397,7 @@
   EXPECT_CALL(mock_delegate, OnFetchFailed());
   std::unique_ptr<AffiliationFetcherInterface> fetcher(
       AffiliationFetcher::Create(test_shared_loader_factory(), &mock_delegate));
-  fetcher->StartRequest(uris);
+  fetcher->StartRequest(uris, {});
   WaitForResponse();
 }
 
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_utils.h b/components/password_manager/core/browser/android_affiliation/affiliation_utils.h
index 177fb7e..83a8533 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_utils.h
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_utils.h
@@ -171,6 +171,7 @@
 struct Facet {
   FacetURI uri;
   FacetBrandingInfo branding_info;
+  GURL change_password_url;
 };
 
 // A collection of facets affiliated with each other, i.e. an equivalence class.
diff --git a/components/password_manager/core/browser/android_affiliation/lookup_affiliation_response_parser.cc b/components/password_manager/core/browser/android_affiliation/lookup_affiliation_response_parser.cc
index 79ae5218..317cf47 100644
--- a/components/password_manager/core/browser/android_affiliation/lookup_affiliation_response_parser.cc
+++ b/components/password_manager/core/browser/android_affiliation/lookup_affiliation_response_parser.cc
@@ -25,9 +25,17 @@
       // Ignore potential future kinds of facet URIs (e.g. for new platforms).
       if (!uri.is_valid())
         continue;
-      affiliated_facets.push_back(
-          {uri, FacetBrandingInfo{facet.branding_info().name(),
-                                  GURL(facet.branding_info().icon_url())}});
+      Facet new_facet = {uri};
+      if (facet.has_branding_info()) {
+        new_facet.branding_info =
+            FacetBrandingInfo{facet.branding_info().name(),
+                              GURL(facet.branding_info().icon_url())};
+      }
+      if (facet.has_change_password_info()) {
+        new_facet.change_password_url =
+            GURL(facet.change_password_info().change_password_url());
+      }
+      affiliated_facets.push_back(new_facet);
     }
 
     // Be lenient and ignore empty (after filtering) equivalence classes.
diff --git a/components/password_manager/core/browser/android_affiliation/mock_affiliation_fetcher.h b/components/password_manager/core/browser/android_affiliation/mock_affiliation_fetcher.h
index 75b8334..d4d897e 100644
--- a/components/password_manager/core/browser/android_affiliation/mock_affiliation_fetcher.h
+++ b/components/password_manager/core/browser/android_affiliation/mock_affiliation_fetcher.h
@@ -17,7 +17,10 @@
   MockAffiliationFetcher();
   ~MockAffiliationFetcher() override;
 
-  MOCK_METHOD(void, StartRequest, (const std::vector<FacetURI>&), (override));
+  MOCK_METHOD(void,
+              StartRequest,
+              (const std::vector<FacetURI>&, RequestInfo),
+              (override));
   MOCK_METHOD(std::vector<FacetURI>&,
               GetRequestedFacetURIs,
               (),
diff --git a/components/password_manager/core/browser/password_store.cc b/components/password_manager/core/browser/password_store.cc
index 3815f4501..35837429 100644
--- a/components/password_manager/core/browser/password_store.cc
+++ b/components/password_manager/core/browser/password_store.cc
@@ -89,6 +89,11 @@
   OnLoginsChanged(changes);
 }
 
+void PasswordStore::DatabaseCompromisedCredentialsObserver::
+    OnCompromisedCredentialsChangedIn(PasswordStore* store) {
+  OnCompromisedCredentialsChanged();
+}
+
 #if defined(SYNC_PASSWORD_REUSE_DETECTION_ENABLED)
 PasswordStore::CheckReuseRequest::CheckReuseRequest(
     PasswordReuseDetectorConsumer* consumer)
@@ -786,8 +791,10 @@
   DCHECK(background_task_runner_->RunsTasksInCurrentSequence());
   if (std::move(callback).Run()) {
     compromised_credentials_observers_->Notify(
-        FROM_HERE, &DatabaseCompromisedCredentialsObserver::
-                       OnCompromisedCredentialsChanged);
+        FROM_HERE,
+        &DatabaseCompromisedCredentialsObserver::
+            OnCompromisedCredentialsChangedIn,
+        base::RetainedRef(this));
   }
 }
 
diff --git a/components/password_manager/core/browser/password_store.h b/components/password_manager/core/browser/password_store.h
index 3712fad..df3a375 100644
--- a/components/password_manager/core/browser/password_store.h
+++ b/components/password_manager/core/browser/password_store.h
@@ -111,6 +111,13 @@
     // Will be called from the UI thread.
     virtual void OnCompromisedCredentialsChanged() = 0;
 
+    // Like OnCompromisedCredentialsChanged(), but also receives the originating
+    // PasswordStore as a parameter. This is useful for observers that observe
+    // changes in both the profile-scoped and the account-scoped store. The
+    // default implementation simply calls OnCompromisedCredentialsChanged(), so
+    // observers that don't care about the store can just ignore this.
+    virtual void OnCompromisedCredentialsChangedIn(PasswordStore* store);
+
    protected:
     virtual ~DatabaseCompromisedCredentialsObserver() = default;
   };
diff --git a/components/password_manager/core/browser/site_affiliation/affiliation_service_impl.cc b/components/password_manager/core/browser/site_affiliation/affiliation_service_impl.cc
index e3cba7e..286c753 100644
--- a/components/password_manager/core/browser/site_affiliation/affiliation_service_impl.cc
+++ b/components/password_manager/core/browser/site_affiliation/affiliation_service_impl.cc
@@ -25,7 +25,8 @@
     const std::vector<url::SchemeHostPort>& tuple_origins) {
   if (ShouldAffiliationBasedMatchingBeActive(sync_service_)) {
     RequestFacetsAffiliations(
-        ConvertMissingSchemeHostPortsToFacets(tuple_origins));
+        ConvertMissingSchemeHostPortsToFacets(tuple_origins),
+        {.change_password_info = true});
   }
 }
 
@@ -63,9 +64,10 @@
 // TODO(crbug.com/1117045): New request resets the pointer to
 // AffiliationFetcher, therefore the previous request gets canceled.
 void AffiliationServiceImpl::RequestFacetsAffiliations(
-    const std::vector<FacetURI>& facets) {
+    const std::vector<FacetURI>& facets,
+    const AffiliationFetcherInterface::RequestInfo request_info) {
   fetcher_.reset(AffiliationFetcher::Create(url_loader_factory_, this));
-  fetcher_->StartRequest(facets);
+  fetcher_->StartRequest(facets, request_info);
 }
 
 }  // namespace password_manager
diff --git a/components/password_manager/core/browser/site_affiliation/affiliation_service_impl.h b/components/password_manager/core/browser/site_affiliation/affiliation_service_impl.h
index fb2668f7..18bb12d 100644
--- a/components/password_manager/core/browser/site_affiliation/affiliation_service_impl.h
+++ b/components/password_manager/core/browser/site_affiliation/affiliation_service_impl.h
@@ -13,6 +13,7 @@
 
 #include "base/memory/scoped_refptr.h"
 #include "components/password_manager/core/browser/android_affiliation/affiliation_fetcher_delegate.h"
+#include "components/password_manager/core/browser/android_affiliation/affiliation_fetcher_interface.h"
 
 namespace network {
 class SharedURLLoaderFactory;
@@ -24,8 +25,6 @@
 
 namespace password_manager {
 
-class AffiliationFetcherInterface;
-
 class AffiliationServiceImpl : public AffiliationService,
                                public AffiliationFetcherDelegate {
  public:
@@ -63,7 +62,9 @@
       const std::vector<url::SchemeHostPort>& tuple_origins);
 
   // Calls Affiliation Fetcher and starts a request for |facets| affiliations.
-  void RequestFacetsAffiliations(const std::vector<FacetURI>& facets);
+  void RequestFacetsAffiliations(
+      const std::vector<FacetURI>& facets,
+      const AffiliationFetcherInterface::RequestInfo request_info);
 
   syncer::SyncService* sync_service_;
   const scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
diff --git a/components/password_manager/core/browser/site_affiliation/affiliation_service_impl_unittest.cc b/components/password_manager/core/browser/site_affiliation/affiliation_service_impl_unittest.cc
index 72bca7d9..c65f68c8 100644
--- a/components/password_manager/core/browser/site_affiliation/affiliation_service_impl_unittest.cc
+++ b/components/password_manager/core/browser/site_affiliation/affiliation_service_impl_unittest.cc
@@ -104,7 +104,9 @@
   EXPECT_CALL(*mock_fetcher_factory(), CreateInstance)
       .WillOnce(Return(mock_fetcher));
   EXPECT_CALL(*mock_fetcher,
-              StartRequest(SchemeHostPortsToFacetsURIs(tuple_origins)));
+              StartRequest(SchemeHostPortsToFacetsURIs(tuple_origins),
+                           AffiliationFetcherInterface::RequestInfo{
+                               .change_password_info = true}));
 
   service()->PrefetchChangePasswordURLs(tuple_origins);
   EXPECT_NE(nullptr, service()->GetFetcherForTesting());
@@ -127,11 +129,14 @@
                           scheme_host_port5};
   MockAffiliationFetcher* mock_fetcher = new MockAffiliationFetcher();
   MockAffiliationFetcher* new_mock_fetcher = new MockAffiliationFetcher();
+  AffiliationFetcher::RequestInfo request_info{.change_password_info = true};
 
-  EXPECT_CALL(*mock_fetcher,
-              StartRequest(SchemeHostPortsToFacetsURIs(tuple_origins_1)));
-  EXPECT_CALL(*new_mock_fetcher,
-              StartRequest(SchemeHostPortsToFacetsURIs(tuple_origins_2)));
+  EXPECT_CALL(
+      *mock_fetcher,
+      StartRequest(SchemeHostPortsToFacetsURIs(tuple_origins_1), request_info));
+  EXPECT_CALL(
+      *new_mock_fetcher,
+      StartRequest(SchemeHostPortsToFacetsURIs(tuple_origins_2), request_info));
   EXPECT_CALL(*mock_fetcher_factory(), CreateInstance)
       .WillOnce(Return(mock_fetcher))
       .WillOnce(Return(new_mock_fetcher));
@@ -154,7 +159,9 @@
   EXPECT_CALL(*mock_fetcher_factory(), CreateInstance)
       .WillOnce(Return(mock_fetcher));
   EXPECT_CALL(*mock_fetcher,
-              StartRequest(SchemeHostPortsToFacetsURIs(tuple_origins)));
+              StartRequest(SchemeHostPortsToFacetsURIs(tuple_origins),
+                           AffiliationFetcherInterface::RequestInfo{
+                               .change_password_info = true}));
 
   service()->PrefetchChangePasswordURLs(tuple_origins);
 }
diff --git a/components/password_manager/core/browser/well_known_change_password_util.cc b/components/password_manager/core/browser/well_known_change_password_util.cc
index 345683d..4aba555 100644
--- a/components/password_manager/core/browser/well_known_change_password_util.cc
+++ b/components/password_manager/core/browser/well_known_change_password_util.cc
@@ -4,8 +4,11 @@
 
 #include "components/password_manager/core/browser/well_known_change_password_util.h"
 
+#include "base/check.h"
+#include "base/feature_list.h"
 #include "base/logging.h"
 #include "base/strings/string_util.h"
+#include "components/password_manager/core/common/password_manager_features.h"
 #include "url/gurl.h"
 
 namespace password_manager {
@@ -28,6 +31,14 @@
   return path == kWellKnownChangePasswordPath;
 }
 
+GURL CreateChangePasswordUrl(const GURL& url) {
+  DCHECK(url.is_valid());
+  GURL::Replacements replacements;
+  if (base::FeatureList::IsEnabled(features::kWellKnownChangePassword))
+    replacements.SetPathStr(password_manager::kWellKnownChangePasswordPath);
+  return url.GetOrigin().ReplaceComponents(replacements);
+}
+
 GURL CreateWellKnownNonExistingResourceURL(const GURL& url) {
   GURL::Replacements replacement;
   replacement.SetPathStr(kWellKnownNotExistingResourcePath);
diff --git a/components/password_manager/core/browser/well_known_change_password_util.h b/components/password_manager/core/browser/well_known_change_password_util.h
index 782867b1..14196147 100644
--- a/components/password_manager/core/browser/well_known_change_password_util.h
+++ b/components/password_manager/core/browser/well_known_change_password_util.h
@@ -25,10 +25,15 @@
 // https://wicg.github.io/change-password-url/
 bool IsWellKnownChangePasswordUrl(const GURL& url);
 
+// Creates a change password URL from `url`. In case the WellKnownChangePassword
+// feature is active this returns the origin + `WellKnownChangePasswordPath`,
+// otherwise it returns just the origin.
+GURL CreateChangePasswordUrl(const GURL& url);
+
 // Creates a GURL for a given origin with |kWellKnownNotExistingResourcePath| as
 // path.
 GURL CreateWellKnownNonExistingResourceURL(const GURL& url);
 
 }  // namespace password_manager
 
-#endif  // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_WELL_KNOWN_CHANGE_PASSWORD_UTIL_H_
\ No newline at end of file
+#endif  // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_WELL_KNOWN_CHANGE_PASSWORD_UTIL_H_
diff --git a/components/password_manager/core/browser/well_known_change_password_util_unittest.cc b/components/password_manager/core/browser/well_known_change_password_util_unittest.cc
index 9d0b71e..edbf1b6c 100644
--- a/components/password_manager/core/browser/well_known_change_password_util_unittest.cc
+++ b/components/password_manager/core/browser/well_known_change_password_util_unittest.cc
@@ -4,6 +4,8 @@
 
 #include "components/password_manager/core/browser/well_known_change_password_util.h"
 
+#include "base/test/scoped_feature_list.h"
+#include "components/password_manager/core/common/password_manager_features.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "url/gurl.h"
 #include "url/origin.h"
@@ -27,6 +29,22 @@
   EXPECT_FALSE(IsWellKnownChangePasswordUrl(GURL("mailto:?subject=test")));
 }
 
+TEST(WellKnownChangePasswordUtilTest, CreateChangePasswordUrlWithoutFeature) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndDisableFeature(features::kWellKnownChangePassword);
+
+  EXPECT_EQ((GURL("https://example.com/")),
+            CreateChangePasswordUrl(GURL("https://example.com/some-path")));
+}
+
+TEST(WellKnownChangePasswordUtilTest, CreateChangePasswordUrlWithFeature) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(features::kWellKnownChangePassword);
+
+  EXPECT_EQ((GURL("https://example.com/.well-known/change-password")),
+            CreateChangePasswordUrl(GURL("https://example.com/some-path")));
+}
+
 TEST(WellKnownChangePasswordUtilTest, CreateWellKnownNonExistingResourceURL) {
   EXPECT_EQ(CreateWellKnownNonExistingResourceURL(GURL("https://google.com")),
             GURL("https://google.com/.well-known/"
@@ -40,4 +58,4 @@
            "be-200"));
 }
 
-}  // namespace password_manager
\ No newline at end of file
+}  // namespace password_manager
diff --git a/components/payments/content/BUILD.gn b/components/payments/content/BUILD.gn
index 045f954..59d9566b 100644
--- a/components/payments/content/BUILD.gn
+++ b/components/payments/content/BUILD.gn
@@ -36,6 +36,10 @@
     "payment_request_converter.h",
     "payment_request_spec.cc",
     "payment_request_spec.h",
+    "secure_payment_confirmation_app.cc",
+    "secure_payment_confirmation_app.h",
+    "secure_payment_confirmation_app_factory.cc",
+    "secure_payment_confirmation_app_factory.h",
     "secure_payment_confirmation_view.h",
     "service_worker_payment_app.cc",
     "service_worker_payment_app.h",
diff --git a/components/payments/content/payment_app_service.cc b/components/payments/content/payment_app_service.cc
index 74b89137..2b87171b 100644
--- a/components/payments/content/payment_app_service.cc
+++ b/components/payments/content/payment_app_service.cc
@@ -9,6 +9,7 @@
 #include "components/payments/content/android_payment_app_factory.h"
 #include "components/payments/content/autofill_payment_app_factory.h"
 #include "components/payments/content/payment_app.h"
+#include "components/payments/content/secure_payment_confirmation_app_factory.h"
 #include "components/payments/content/service_worker_payment_app_factory.h"
 #include "components/payments/core/features.h"
 #include "components/payments/core/payments_experimental_features.h"
@@ -20,7 +21,7 @@
   factories_.emplace_back(std::make_unique<AutofillPaymentAppFactory>());
 
   if (base::FeatureList::IsEnabled(::features::kServiceWorkerPaymentApps)) {
-    factories_.emplace_back(std::make_unique<ServiceWorkerPaymentAppFactory>());
+    factories_.push_back(std::make_unique<ServiceWorkerPaymentAppFactory>());
   }
 
   // TODO(https://crbug.com/1022512): Review the feature flag name when
@@ -28,9 +29,12 @@
   // apps. (Currently it works only on Chrome OS with app store billing payment
   // methods.)
   if (PaymentsExperimentalFeatures::IsEnabled(features::kAppStoreBilling)) {
-    factories_.emplace_back(std::make_unique<AndroidPaymentAppFactory>(
+    factories_.push_back(std::make_unique<AndroidPaymentAppFactory>(
         AndroidAppCommunication::GetForBrowserContext(context)));
   }
+
+  // Controlled by the Blink runtime feature "SecurePaymentConfirmation".
+  factories_.push_back(std::make_unique<SecurePaymentConfirmationAppFactory>());
 }
 
 PaymentAppService::~PaymentAppService() = default;
diff --git a/components/payments/content/payment_request.cc b/components/payments/content/payment_request.cc
index 76e397be..d8e59af4 100644
--- a/components/payments/content/payment_request.cc
+++ b/components/payments/content/payment_request.cc
@@ -628,8 +628,9 @@
 }
 
 bool PaymentRequest::SatisfiesSkipUIConstraints() {
-  // Only allowing URL base payment apps to skip the payment sheet.
+  // Only allowing URL based payment apps to skip the payment sheet.
   skipped_payment_request_ui_ =
+      !spec()->IsSecurePaymentConfirmationRequested() &&
       (spec()->url_payment_method_identifiers().size() > 0 ||
        delegate_->SkipUiForBasicCard()) &&
       base::FeatureList::IsEnabled(features::kWebPaymentsSingleAppUiSkip) &&
diff --git a/components/payments/content/secure_payment_confirmation_app.cc b/components/payments/content/secure_payment_confirmation_app.cc
new file mode 100644
index 0000000..de2dd0a
--- /dev/null
+++ b/components/payments/content/secure_payment_confirmation_app.cc
@@ -0,0 +1,133 @@
+// 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 "components/payments/content/secure_payment_confirmation_app.h"
+
+#include <utility>
+
+#include "base/notreached.h"
+#include "components/payments/core/method_strings.h"
+#include "components/payments/core/payer_data.h"
+
+namespace payments {
+
+SecurePaymentConfirmationApp::SecurePaymentConfirmationApp(
+    std::unique_ptr<SkBitmap> icon,
+    const base::string16& label,
+    const url::Origin& merchant_origin,
+    const mojom::PaymentCurrencyAmountPtr& total,
+    const mojom::SecurePaymentConfirmationRequestPtr& request)
+    : PaymentApp(/*icon_resource_id=*/0, PaymentApp::Type::INTERNAL),
+      icon_(std::move(icon)),
+      label_(label),
+      merchant_origin_(merchant_origin),
+      total_(total.Clone()),
+      request_(request.Clone()) {
+  app_method_names_.insert(methods::kSecurePaymentConfirmation);
+}
+
+SecurePaymentConfirmationApp::~SecurePaymentConfirmationApp() = default;
+
+void SecurePaymentConfirmationApp::InvokePaymentApp(Delegate* delegate) {
+  // TODO(https://crbug.com/1110324): Combine |merchant_origin_|, |total_|, and
+  // |request_| into a challenge to invoke WebAuthn.
+}
+
+bool SecurePaymentConfirmationApp::IsCompleteForPayment() const {
+  return true;
+}
+
+uint32_t SecurePaymentConfirmationApp::GetCompletenessScore() const {
+  // This value is used for sorting multiple apps, but this app always appears
+  // on its own.
+  return 0;
+}
+
+bool SecurePaymentConfirmationApp::CanPreselect() const {
+  return true;
+}
+
+base::string16 SecurePaymentConfirmationApp::GetMissingInfoLabel() const {
+  NOTREACHED();
+  return base::string16();
+}
+
+bool SecurePaymentConfirmationApp::HasEnrolledInstrument() const {
+  // If there's no platform authenticator, then the factory should not create
+  // this app. Therefore, this function can always return true.
+  return true;
+}
+
+void SecurePaymentConfirmationApp::RecordUse() {
+  NOTIMPLEMENTED();
+}
+
+bool SecurePaymentConfirmationApp::NeedsInstallation() const {
+  return false;
+}
+
+std::string SecurePaymentConfirmationApp::GetId() const {
+  return request_->instrument_id;
+}
+
+base::string16 SecurePaymentConfirmationApp::GetLabel() const {
+  return label_;
+}
+
+base::string16 SecurePaymentConfirmationApp::GetSublabel() const {
+  return base::string16();
+}
+
+const SkBitmap* SecurePaymentConfirmationApp::icon_bitmap() const {
+  return icon_.get();
+}
+
+bool SecurePaymentConfirmationApp::IsValidForModifier(
+    const std::string& method,
+    bool supported_networks_specified,
+    const std::set<std::string>& supported_networks) const {
+  bool is_valid = false;
+  IsValidForPaymentMethodIdentifier(method, &is_valid);
+  return is_valid;
+}
+
+base::WeakPtr<PaymentApp> SecurePaymentConfirmationApp::AsWeakPtr() {
+  return weak_ptr_factory_.GetWeakPtr();
+}
+
+bool SecurePaymentConfirmationApp::HandlesShippingAddress() const {
+  return false;
+}
+
+bool SecurePaymentConfirmationApp::HandlesPayerName() const {
+  return false;
+}
+
+bool SecurePaymentConfirmationApp::HandlesPayerEmail() const {
+  return false;
+}
+
+bool SecurePaymentConfirmationApp::HandlesPayerPhone() const {
+  return false;
+}
+
+bool SecurePaymentConfirmationApp::IsWaitingForPaymentDetailsUpdate() const {
+  return false;
+}
+
+void SecurePaymentConfirmationApp::UpdateWith(
+    mojom::PaymentRequestDetailsUpdatePtr details_update) {
+  NOTREACHED();
+}
+
+void SecurePaymentConfirmationApp::OnPaymentDetailsNotUpdated() {
+  NOTREACHED();
+}
+
+void SecurePaymentConfirmationApp::AbortPaymentApp(
+    base::OnceCallback<void(bool)> abort_callback) {
+  std::move(abort_callback).Run(/*abort_success=*/true);
+}
+
+}  // namespace payments
diff --git a/components/payments/content/secure_payment_confirmation_app.h b/components/payments/content/secure_payment_confirmation_app.h
new file mode 100644
index 0000000..de58024
--- /dev/null
+++ b/components/payments/content/secure_payment_confirmation_app.h
@@ -0,0 +1,80 @@
+// 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 COMPONENTS_PAYMENTS_CONTENT_SECURE_PAYMENT_CONFIRMATION_APP_H_
+#define COMPONENTS_PAYMENTS_CONTENT_SECURE_PAYMENT_CONFIRMATION_APP_H_
+
+#include "components/payments/content/payment_app.h"
+
+#include <stdint.h>
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "base/memory/weak_ptr.h"
+#include "base/strings/string16.h"
+#include "components/payments/content/secure_payment_confirmation_controller.h"
+#include "third_party/blink/public/mojom/payments/payment_request.mojom.h"
+#include "url/origin.h"
+
+class SkBitmap;
+
+namespace payments {
+
+class SecurePaymentConfirmationApp : public PaymentApp {
+ public:
+  SecurePaymentConfirmationApp(
+      std::unique_ptr<SkBitmap> icon,
+      const base::string16& label,
+      const url::Origin& merchant_origin,
+      const mojom::PaymentCurrencyAmountPtr& total,
+      const mojom::SecurePaymentConfirmationRequestPtr& request);
+  ~SecurePaymentConfirmationApp() override;
+
+  SecurePaymentConfirmationApp(const SecurePaymentConfirmationApp& other) =
+      delete;
+  SecurePaymentConfirmationApp& operator=(
+      const SecurePaymentConfirmationApp& other) = delete;
+
+  // PaymentApp implementation.
+  void InvokePaymentApp(Delegate* delegate) override;
+  bool IsCompleteForPayment() const override;
+  uint32_t GetCompletenessScore() const override;
+  bool CanPreselect() const override;
+  base::string16 GetMissingInfoLabel() const override;
+  bool HasEnrolledInstrument() const override;
+  void RecordUse() override;
+  bool NeedsInstallation() const override;
+  std::string GetId() const override;
+  base::string16 GetLabel() const override;
+  base::string16 GetSublabel() const override;
+  const SkBitmap* icon_bitmap() const override;
+  bool IsValidForModifier(
+      const std::string& method,
+      bool supported_networks_specified,
+      const std::set<std::string>& supported_networks) const override;
+  base::WeakPtr<PaymentApp> AsWeakPtr() override;
+  bool HandlesShippingAddress() const override;
+  bool HandlesPayerName() const override;
+  bool HandlesPayerEmail() const override;
+  bool HandlesPayerPhone() const override;
+  bool IsWaitingForPaymentDetailsUpdate() const override;
+  void UpdateWith(
+      mojom::PaymentRequestDetailsUpdatePtr details_update) override;
+  void OnPaymentDetailsNotUpdated() override;
+  void AbortPaymentApp(base::OnceCallback<void(bool)> abort_callback) override;
+
+ private:
+  const std::unique_ptr<SkBitmap> icon_;
+  const base::string16 label_;
+  const url::Origin merchant_origin_;
+  const mojom::PaymentCurrencyAmountPtr total_;
+  const mojom::SecurePaymentConfirmationRequestPtr request_;
+
+  base::WeakPtrFactory<SecurePaymentConfirmationApp> weak_ptr_factory_{this};
+};
+
+}  // namespace payments
+
+#endif  // COMPONENTS_PAYMENTS_CONTENT_SECURE_PAYMENT_CONFIRMATION_APP_H_
diff --git a/components/payments/content/secure_payment_confirmation_app_factory.cc b/components/payments/content/secure_payment_confirmation_app_factory.cc
new file mode 100644
index 0000000..d603e487
--- /dev/null
+++ b/components/payments/content/secure_payment_confirmation_app_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 "components/payments/content/secure_payment_confirmation_app_factory.h"
+
+#include <memory>
+
+#include "base/stl_util.h"
+#include "base/strings/utf_string_conversions.h"
+#include "components/payments/content/payment_request_spec.h"
+#include "components/payments/content/secure_payment_confirmation_app.h"
+#include "components/payments/core/method_strings.h"
+#include "third_party/blink/public/mojom/payments/payment_request.mojom.h"
+#include "url/origin.h"
+
+namespace payments {
+
+SecurePaymentConfirmationAppFactory::SecurePaymentConfirmationAppFactory()
+    : PaymentAppFactory(PaymentApp::Type::INTERNAL) {}
+
+SecurePaymentConfirmationAppFactory::~SecurePaymentConfirmationAppFactory() =
+    default;
+
+void SecurePaymentConfirmationAppFactory::Create(
+    base::WeakPtr<Delegate> delegate) {
+  PaymentRequestSpec* spec = delegate->GetSpec();
+  if (!base::Contains(spec->payment_method_identifiers_set(),
+                      methods::kSecurePaymentConfirmation)) {
+    delegate->OnDoneCreatingPaymentApps();
+    return;
+  }
+
+  for (const mojom::PaymentMethodDataPtr& method_data : spec->method_data()) {
+    if (method_data->supported_method == methods::kSecurePaymentConfirmation &&
+        method_data->secure_payment_confirmation) {
+      // TODO(https://crbug.com/1110324): Check storage for whether
+      // |method_data->secure_payment_confirmation->instrument_id| has any
+      // credentials on this device. If so, retrieve the instrument icon and
+      // label from storage and use these values to create a
+      // SecurePaymentConfirmationApp.
+
+      // A stub payment app that contains the secure payment confirmation
+      // request, but does not yet invoke WebAuthn at this time.
+      delegate->OnPaymentAppCreated(
+          std::make_unique<SecurePaymentConfirmationApp>(
+              /*icon=*/nullptr, /*label=*/base::ASCIIToUTF16("Stub label"),
+              /*merchant_origin=*/url::Origin::Create(delegate->GetTopOrigin()),
+              /*total=*/spec->details().total->amount,
+              /*request=*/method_data->secure_payment_confirmation));
+      break;
+    }
+  }
+
+  delegate->OnDoneCreatingPaymentApps();
+}
+
+}  // namespace payments
diff --git a/components/payments/content/secure_payment_confirmation_app_factory.h b/components/payments/content/secure_payment_confirmation_app_factory.h
new file mode 100644
index 0000000..f957eede
--- /dev/null
+++ b/components/payments/content/secure_payment_confirmation_app_factory.h
@@ -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.
+
+#ifndef COMPONENTS_PAYMENTS_CONTENT_SECURE_PAYMENT_CONFIRMATION_APP_FACTORY_H_
+#define COMPONENTS_PAYMENTS_CONTENT_SECURE_PAYMENT_CONFIRMATION_APP_FACTORY_H_
+
+#include "base/memory/weak_ptr.h"
+#include "components/payments/content/payment_app_factory.h"
+
+namespace payments {
+
+class SecurePaymentConfirmationAppFactory : public PaymentAppFactory {
+ public:
+  SecurePaymentConfirmationAppFactory();
+  ~SecurePaymentConfirmationAppFactory() override;
+
+  SecurePaymentConfirmationAppFactory(
+      const SecurePaymentConfirmationAppFactory& other) = delete;
+  SecurePaymentConfirmationAppFactory& operator=(
+      const SecurePaymentConfirmationAppFactory& other) = delete;
+
+  // PaymentAppFactory:
+  void Create(base::WeakPtr<Delegate> delegate) override;
+};
+
+}  // namespace payments
+
+#endif  // COMPONENTS_PAYMENTS_CONTENT_SECURE_PAYMENT_CONFIRMATION_APP_FACTORY_H_
diff --git a/components/payments/content/secure_payment_confirmation_controller.cc b/components/payments/content/secure_payment_confirmation_controller.cc
index a45896d..67e6f95 100644
--- a/components/payments/content/secure_payment_confirmation_controller.cc
+++ b/components/payments/content/secure_payment_confirmation_controller.cc
@@ -34,6 +34,19 @@
   model_.set_cancel_button_label(l10n_util::GetStringUTF16(IDS_CANCEL));
   model_.set_progress_bar_visible(false);
 
+  model_.set_title(l10n_util::GetStringUTF16(
+      IDS_SECURE_PAYMENT_CONFIRMATION_VERIFY_PURCHASE));
+
+  // TODO(crbug/1110322): Set the field values based on |request|.
+  model_.set_merchant_label(
+      l10n_util::GetStringUTF16(IDS_SECURE_PAYMENT_CONFIRMATION_STORE_LABEL));
+
+  model_.set_instrument_label(l10n_util::GetStringUTF16(
+      IDS_PAYMENT_REQUEST_PAYMENT_METHOD_SECTION_NAME));
+
+  model_.set_total_label(
+      l10n_util::GetStringUTF16(IDS_SECURE_PAYMENT_CONFIRMATION_TOTAL_LABEL));
+
   view_->ShowDialog(
       request->web_contents(), model_.GetWeakPtr(),
       base::BindOnce(&SecurePaymentConfirmationController::OnConfirm,
diff --git a/components/payments/content/secure_payment_confirmation_model.h b/components/payments/content/secure_payment_confirmation_model.h
index 55f2335e..ab1cba3 100644
--- a/components/payments/content/secure_payment_confirmation_model.h
+++ b/components/payments/content/secure_payment_confirmation_model.h
@@ -126,7 +126,7 @@
 
   base::string16 instrument_label_;
   base::string16 instrument_value_;
-  const SkBitmap* instrument_icon_;
+  const SkBitmap* instrument_icon_ = nullptr;
 
   base::string16 total_label_;
   base::string16 total_value_;
diff --git a/components/payments/core/method_strings.h b/components/payments/core/method_strings.h
index 918d0c8..90a199f 100644
--- a/components/payments/core/method_strings.h
+++ b/components/payments/core/method_strings.h
@@ -41,6 +41,7 @@
 extern const char kPayerCreditTransfer[];
 
 // Secure Payment Confirmation method name.
+// https://github.com/rsolomakhin/secure-payment-confirmation/
 extern const char kSecurePaymentConfirmation[];
 
 // Tokenized Card method name.
diff --git a/components/performance_manager/BUILD.gn b/components/performance_manager/BUILD.gn
index 41693801..184fca6 100644
--- a/components/performance_manager/BUILD.gn
+++ b/components/performance_manager/BUILD.gn
@@ -128,6 +128,8 @@
     "render_process_host_proxy.cc",
     "render_process_user_data.cc",
     "render_process_user_data.h",
+    "service_worker_client.cc",
+    "service_worker_client.h",
     "service_worker_context_adapter.cc",
     "service_worker_context_adapter.h",
     "tab_helper_frame_node_source.cc",
diff --git a/components/performance_manager/service_worker_client.cc b/components/performance_manager/service_worker_client.cc
new file mode 100644
index 0000000..d97a46d
--- /dev/null
+++ b/components/performance_manager/service_worker_client.cc
@@ -0,0 +1,42 @@
+// 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 "components/performance_manager/service_worker_client.h"
+
+ServiceWorkerClient::ServiceWorkerClient(
+    content::GlobalFrameRoutingId render_frame_host_id)
+    : type_(blink::mojom::ServiceWorkerClientType::kWindow),
+      render_frame_host_id_(render_frame_host_id) {}
+ServiceWorkerClient::ServiceWorkerClient(
+    blink::DedicatedWorkerToken dedicated_worker_token)
+    : type_(blink::mojom::ServiceWorkerClientType::kDedicatedWorker),
+      worker_token_(dedicated_worker_token) {}
+ServiceWorkerClient::ServiceWorkerClient(
+    blink::SharedWorkerToken shared_worker_token)
+    : type_(blink::mojom::ServiceWorkerClientType::kSharedWorker),
+      worker_token_(shared_worker_token) {}
+
+ServiceWorkerClient::ServiceWorkerClient(const ServiceWorkerClient& other) =
+    default;
+ServiceWorkerClient& ServiceWorkerClient::operator=(
+    const ServiceWorkerClient& other) = default;
+
+ServiceWorkerClient::~ServiceWorkerClient() = default;
+
+content::GlobalFrameRoutingId ServiceWorkerClient::GetRenderFrameHostId()
+    const {
+  DCHECK_EQ(type_, blink::mojom::ServiceWorkerClientType::kWindow);
+  return render_frame_host_id_;
+}
+
+blink::DedicatedWorkerToken ServiceWorkerClient::GetDedicatedWorkerToken()
+    const {
+  DCHECK_EQ(type_, blink::mojom::ServiceWorkerClientType::kDedicatedWorker);
+  return worker_token_.GetAs<blink::DedicatedWorkerToken>();
+}
+
+blink::SharedWorkerToken ServiceWorkerClient::GetSharedWorkerToken() const {
+  DCHECK_EQ(type_, blink::mojom::ServiceWorkerClientType::kSharedWorker);
+  return worker_token_.GetAs<blink::SharedWorkerToken>();
+}
diff --git a/components/performance_manager/service_worker_client.h b/components/performance_manager/service_worker_client.h
new file mode 100644
index 0000000..f209adc
--- /dev/null
+++ b/components/performance_manager/service_worker_client.h
@@ -0,0 +1,49 @@
+// 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 COMPONENTS_PERFORMANCE_MANAGER_SERVICE_WORKER_CLIENT_H_
+#define COMPONENTS_PERFORMANCE_MANAGER_SERVICE_WORKER_CLIENT_H_
+
+#include "content/public/browser/global_routing_id.h"
+#include "content/public/browser/service_worker_client_info.h"
+#include "third_party/blink/public/common/tokens/tokens.h"
+#include "third_party/blink/public/mojom/service_worker/service_worker_client.mojom.h"
+
+// Represents a client of a service worker node.
+//
+// This class is essentially a tagged union where only the field corresponding
+// to the |type()| can be accessed.
+class ServiceWorkerClient {
+ public:
+  explicit ServiceWorkerClient(
+      content::GlobalFrameRoutingId render_frame_host_id);
+  explicit ServiceWorkerClient(
+      blink::DedicatedWorkerToken dedicated_worker_token);
+  explicit ServiceWorkerClient(blink::SharedWorkerToken shared_worker_token);
+
+  ServiceWorkerClient(const ServiceWorkerClient& other);
+  ServiceWorkerClient& operator=(const ServiceWorkerClient& other);
+
+  ~ServiceWorkerClient();
+
+  blink::mojom::ServiceWorkerClientType type() const { return type_; }
+
+  content::GlobalFrameRoutingId GetRenderFrameHostId() const;
+  blink::DedicatedWorkerToken GetDedicatedWorkerToken() const;
+  blink::SharedWorkerToken GetSharedWorkerToken() const;
+
+ private:
+  // The client type.
+  blink::mojom::ServiceWorkerClientType type_;
+
+  union {
+    // The frame tree node ID, if this is a window client.
+    content::GlobalFrameRoutingId render_frame_host_id_;
+
+    // The token of the client, if this is a worker client.
+    content::DedicatedOrSharedWorkerToken worker_token_;
+  };
+};
+
+#endif  // COMPONENTS_PERFORMANCE_MANAGER_SERVICE_WORKER_CLIENT_H_
diff --git a/components/performance_manager/service_worker_context_adapter.cc b/components/performance_manager/service_worker_context_adapter.cc
index 547f342..115d8c0 100644
--- a/components/performance_manager/service_worker_context_adapter.cc
+++ b/components/performance_manager/service_worker_context_adapter.cc
@@ -310,6 +310,15 @@
     observer.OnNoControllees(version_id, scope);
 }
 
+void ServiceWorkerContextAdapter::OnControlleeNavigationCommitted(
+    int64_t version_id,
+    const std::string& uuid,
+    content::GlobalFrameRoutingId render_frame_host_id) {
+  for (auto& observer : observer_list_)
+    observer.OnControlleeNavigationCommitted(version_id, uuid,
+                                             render_frame_host_id);
+}
+
 void ServiceWorkerContextAdapter::OnReportConsoleMessage(
     int64_t version_id,
     const GURL& scope,
diff --git a/components/performance_manager/service_worker_context_adapter.h b/components/performance_manager/service_worker_context_adapter.h
index ff74724..4fa85c1 100644
--- a/components/performance_manager/service_worker_context_adapter.h
+++ b/components/performance_manager/service_worker_context_adapter.h
@@ -107,6 +107,10 @@
   void OnControlleeRemoved(int64_t version_id,
                            const std::string& client_uuid) override;
   void OnNoControllees(int64_t version_id, const GURL& scope) override;
+  void OnControlleeNavigationCommitted(
+      int64_t version_id,
+      const std::string& uuid,
+      content::GlobalFrameRoutingId render_frame_host_id) override;
   void OnReportConsoleMessage(int64_t version_id,
                               const GURL& scope,
                               const content::ConsoleMessage& message) override;
diff --git a/components/performance_manager/v8_memory/v8_per_frame_memory_decorator.cc b/components/performance_manager/v8_memory/v8_per_frame_memory_decorator.cc
index 6aa5995..a4279c80 100644
--- a/components/performance_manager/v8_memory/v8_per_frame_memory_decorator.cc
+++ b/components/performance_manager/v8_memory/v8_per_frame_memory_decorator.cc
@@ -55,13 +55,11 @@
 // Comparator that generates a strict total order of PerFrameUsagePtr's when
 // compared by their frame tokens.
 struct SortByToken {
-  constexpr bool operator()(const PerFrameUsagePtr& a,
-                            const PerFrameUsagePtr& b) {
+  bool operator()(const PerFrameUsagePtr& a, const PerFrameUsagePtr& b) {
     return a->frame_token < b->frame_token;
   }
 
-  constexpr bool operator()(const PerFrameUsagePtr& a,
-                            const blink::LocalFrameToken& b) {
+  bool operator()(const PerFrameUsagePtr& a, const blink::LocalFrameToken& b) {
     return a->frame_token < b.value();
   }
 };
diff --git a/components/performance_manager/worker_watcher.cc b/components/performance_manager/worker_watcher.cc
index 1fb8469c..4f72e27 100644
--- a/components/performance_manager/worker_watcher.cc
+++ b/components/performance_manager/worker_watcher.cc
@@ -45,6 +45,26 @@
                      base::Unretained(worker_node), client_frame_node));
 }
 
+// Helper function to add |client_worker_node| as a client of |worker_node| on
+// the PM sequence.
+void ConnectClientOnGraph(WorkerNodeImpl* worker_node,
+                          WorkerNodeImpl* client_worker_node) {
+  PerformanceManagerImpl::CallOnGraphImpl(
+      FROM_HERE,
+      base::BindOnce(&WorkerNodeImpl::AddClientWorker,
+                     base::Unretained(worker_node), client_worker_node));
+}
+
+// Helper function to remove |client_worker_node| as a client of |worker_node|
+// on the PM sequence.
+void DisconnectClientOnGraph(WorkerNodeImpl* worker_node,
+                             WorkerNodeImpl* client_worker_node) {
+  PerformanceManagerImpl::CallOnGraphImpl(
+      FROM_HERE,
+      base::BindOnce(&WorkerNodeImpl::RemoveClientWorker,
+                     base::Unretained(worker_node), client_worker_node));
+}
+
 // Helper function to remove |client_frame_node| as a client of all worker nodes
 // in |worker_nodes| on the PM sequence.
 void DisconnectClientsOnGraph(base::flat_set<WorkerNodeImpl*> worker_nodes,
@@ -59,6 +79,20 @@
                      std::move(worker_nodes), client_frame_node));
 }
 
+// Helper function to remove |client_worker_node| as a client of all worker
+// nodes in |worker_nodes| on the PM sequence.
+void DisconnectClientsOnGraph(base::flat_set<WorkerNodeImpl*> worker_nodes,
+                              WorkerNodeImpl* client_worker_node) {
+  PerformanceManagerImpl::CallOnGraphImpl(
+      FROM_HERE, base::BindOnce(
+                     [](base::flat_set<WorkerNodeImpl*> worker_nodes,
+                        WorkerNodeImpl* client_worker_node) {
+                       for (auto* worker_node : worker_nodes)
+                         worker_node->RemoveClientWorker(client_worker_node);
+                     },
+                     std::move(worker_nodes), client_worker_node));
+}
+
 // Helper function that posts a task on the PM sequence that will invoke
 // OnFinalResponseURLDetermined() on |worker_node|.
 void SetFinalResponseURL(WorkerNodeImpl* worker_node, const GURL& url) {
@@ -121,6 +155,32 @@
   }
   frame_node_child_workers_.clear();
 
+  // Then clear client-child connections for dedicated workers.
+  for (auto& kv : dedicated_worker_child_workers_) {
+    const blink::DedicatedWorkerToken& dedicated_worker_token = kv.first;
+    base::flat_set<WorkerNodeImpl*>& child_workers = kv.second;
+    DCHECK(!child_workers.empty());
+
+    // Disconnect all child workers from |dedicated_worker_token|.
+    WorkerNodeImpl* dedicated_worker_node =
+        GetDedicatedWorkerNode(dedicated_worker_token);
+    DisconnectClientsOnGraph(std::move(child_workers), dedicated_worker_node);
+  }
+  dedicated_worker_child_workers_.clear();
+
+  // Finally, clear client-child connections for shared workers.
+  for (auto& kv : shared_worker_child_workers_) {
+    const blink::SharedWorkerToken& shared_worker_token = kv.first;
+    base::flat_set<WorkerNodeImpl*>& child_workers = kv.second;
+    DCHECK(!child_workers.empty());
+
+    // Disconnect all child workers from |shared_worker_token|.
+    WorkerNodeImpl* shared_worker_node =
+        GetSharedWorkerNode(shared_worker_token);
+    DisconnectClientsOnGraph(std::move(child_workers), shared_worker_node);
+  }
+  shared_worker_child_workers_.clear();
+
   // Then clean all the worker nodes.
   std::vector<std::unique_ptr<NodeBase>> nodes;
   nodes.reserve(dedicated_worker_nodes_.size() + shared_worker_nodes_.size() +
@@ -160,8 +220,8 @@
       dedicated_worker_token, std::move(worker_node));
   DCHECK(insertion_result.second);
 
-  ConnectClient(insertion_result.first->second.get(),
-                ancestor_render_frame_host_id);
+  ConnectFrameClient(insertion_result.first->second.get(),
+                     ancestor_render_frame_host_id);
 }
 
 void WorkerWatcher::OnBeforeWorkerDestroyed(
@@ -175,7 +235,7 @@
   auto worker_node = std::move(it->second);
 
   // First disconnect the ancestor's frame node from this worker node.
-  DisconnectClient(worker_node.get(), ancestor_render_frame_host_id);
+  DisconnectFrameClient(worker_node.get(), ancestor_render_frame_host_id);
 
 #if DCHECK_IS_ON()
   DCHECK(!base::Contains(detached_frame_count_per_worker_, worker_node.get()));
@@ -239,7 +299,8 @@
     content::GlobalFrameRoutingId render_frame_host_id) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
-  ConnectClient(GetSharedWorkerNode(shared_worker_token), render_frame_host_id);
+  ConnectFrameClient(GetSharedWorkerNode(shared_worker_token),
+                     render_frame_host_id);
 }
 
 void WorkerWatcher::OnClientRemoved(
@@ -247,8 +308,8 @@
     content::GlobalFrameRoutingId render_frame_host_id) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
-  DisconnectClient(GetSharedWorkerNode(shared_worker_token),
-                   render_frame_host_id);
+  DisconnectFrameClient(GetSharedWorkerNode(shared_worker_token),
+                        render_frame_host_id);
 }
 
 void WorkerWatcher::OnVersionStartedRunning(
@@ -256,13 +317,19 @@
     const content::ServiceWorkerRunningInfo& running_info) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
-  auto worker_node = PerformanceManagerImpl::CreateWorkerNode(
-      browser_context_id_, WorkerNode::WorkerType::kService,
-      process_node_source_->GetProcessNode(running_info.render_process_id),
-      running_info.token);
-  bool inserted =
-      service_worker_nodes_.emplace(version_id, std::move(worker_node)).second;
-  DCHECK(inserted);
+  auto insertion_result = service_worker_nodes_.emplace(
+      version_id,
+      PerformanceManagerImpl::CreateWorkerNode(
+          browser_context_id_, WorkerNode::WorkerType::kService,
+          process_node_source_->GetProcessNode(running_info.render_process_id),
+          running_info.token));
+  DCHECK(insertion_result.second);
+
+  // Exclusively for service workers, some notifications for clients
+  // (OnControlleeAdded) may have been received before the worker started.
+  // Add those clients to the service worker on the PM graph.
+  ConnectAllServiceWorkerClients(insertion_result.first->second.get(),
+                                 version_id);
 }
 
 void WorkerWatcher::OnVersionStoppedRunning(int64_t version_id) {
@@ -271,16 +338,138 @@
   auto it = service_worker_nodes_.find(version_id);
   DCHECK(it != service_worker_nodes_.end());
 
-  auto worker_node = std::move(it->second);
+  auto service_worker_node = std::move(it->second);
+
+  // First, disconnect all current clients of this service worker.
+  DisconnectAllServiceWorkerClients(service_worker_node.get(), version_id);
+
 #if DCHECK_IS_ON()
-  DCHECK(!base::Contains(detached_frame_count_per_worker_, worker_node.get()));
+  DCHECK(!base::Contains(detached_frame_count_per_worker_,
+                         service_worker_node.get()));
 #endif  // DCHECK_IS_ON()
-  PerformanceManagerImpl::DeleteNode(std::move(worker_node));
+  PerformanceManagerImpl::DeleteNode(std::move(service_worker_node));
 
   service_worker_nodes_.erase(it);
 }
 
-void WorkerWatcher::ConnectClient(
+void WorkerWatcher::OnControlleeAdded(
+    int64_t version_id,
+    const std::string& client_uuid,
+    const content::ServiceWorkerClientInfo& client_info) {
+  switch (client_info.type()) {
+    case blink::mojom::ServiceWorkerClientType::kWindow: {
+      // For window clients, it is necessary to wait until the navigation has
+      // committed to a render frame host.
+      bool inserted = client_frames_awaiting_commit_.insert(client_uuid).second;
+      DCHECK(inserted);
+      break;
+    }
+    case blink::mojom::ServiceWorkerClientType::kDedicatedWorker: {
+      blink::DedicatedWorkerToken dedicated_worker_token =
+          client_info.GetDedicatedWorkerToken();
+
+      bool inserted = service_worker_clients_[version_id]
+                          .emplace(client_uuid, dedicated_worker_token)
+                          .second;
+      DCHECK(inserted);
+
+      // If the service worker is already started, connect it to the client.
+      WorkerNodeImpl* service_worker_node = GetServiceWorkerNode(version_id);
+      if (service_worker_node)
+        ConnectDedicatedWorkerClient(service_worker_node,
+                                     dedicated_worker_token);
+      break;
+    }
+    case blink::mojom::ServiceWorkerClientType::kSharedWorker: {
+      blink::SharedWorkerToken shared_worker_token =
+          client_info.GetSharedWorkerToken();
+
+      bool inserted = service_worker_clients_[version_id]
+                          .emplace(client_uuid, shared_worker_token)
+                          .second;
+      DCHECK(inserted);
+
+      // If the service worker is already started, connect it to the client.
+      WorkerNodeImpl* service_worker_node = GetServiceWorkerNode(version_id);
+      if (service_worker_node)
+        ConnectSharedWorkerClient(service_worker_node, shared_worker_token);
+      break;
+    }
+    case blink::mojom::ServiceWorkerClientType::kAll:
+      NOTREACHED();
+      break;
+  }
+}
+
+void WorkerWatcher::OnControlleeRemoved(int64_t version_id,
+                                        const std::string& client_uuid) {
+  // Nothing to do for a frame client whose navigation never committed.
+  size_t removed = client_frames_awaiting_commit_.erase(client_uuid);
+  if (removed) {
+#if DCHECK_IS_ON()
+    // |client_uuid| should not be part of this service worker's clients.
+    auto it = service_worker_clients_.find(version_id);
+    if (it != service_worker_clients_.end())
+      DCHECK(!base::Contains(it->second, client_uuid));
+#endif  // DCHECK_IS_ON()
+    return;
+  }
+
+  // First get clients for this worker.
+  auto it = service_worker_clients_.find(version_id);
+  DCHECK(it != service_worker_clients_.end());
+
+  base::flat_map<std::string /*client_uuid*/, ServiceWorkerClient>& clients =
+      it->second;
+
+  auto it2 = clients.find(client_uuid);
+  DCHECK(it2 != clients.end());
+  const ServiceWorkerClient client = it2->second;
+  clients.erase(it2);
+
+  if (clients.empty())
+    service_worker_clients_.erase(it);
+
+  // Now disconnect the client if the service worker is still running.
+  WorkerNodeImpl* worker_node = GetServiceWorkerNode(version_id);
+  if (!worker_node)
+    return;
+
+  switch (client.type()) {
+    case blink::mojom::ServiceWorkerClientType::kWindow:
+      DisconnectFrameClient(worker_node, client.GetRenderFrameHostId());
+      break;
+    case blink::mojom::ServiceWorkerClientType::kDedicatedWorker:
+      DisconnectDedicatedWorkerClient(worker_node,
+                                      client.GetDedicatedWorkerToken());
+      break;
+    case blink::mojom::ServiceWorkerClientType::kSharedWorker:
+      DisconnectSharedWorkerClient(worker_node, client.GetSharedWorkerToken());
+      break;
+    case blink::mojom::ServiceWorkerClientType::kAll:
+      NOTREACHED();
+      break;
+  }
+}
+
+void WorkerWatcher::OnControlleeNavigationCommitted(
+    int64_t version_id,
+    const std::string& client_uuid,
+    content::GlobalFrameRoutingId render_frame_host_id) {
+  size_t removed = client_frames_awaiting_commit_.erase(client_uuid);
+  DCHECK_EQ(removed, 1u);
+
+  bool inserted = service_worker_clients_[version_id]
+                      .emplace(client_uuid, render_frame_host_id)
+                      .second;
+  DCHECK(inserted);
+
+  WorkerNodeImpl* service_worker_node = GetServiceWorkerNode(version_id);
+  if (service_worker_node)
+    ConnectFrameClient(service_worker_node, render_frame_host_id);
+}
+
+void WorkerWatcher::ConnectFrameClient(
     WorkerNodeImpl* worker_node,
     content::GlobalFrameRoutingId client_render_frame_host_id) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -294,8 +483,8 @@
   if (!frame_node) {
     RecordWorkerClientFound(false);
 #if DCHECK_IS_ON()
-    // A call to DisconnectClient() is still expected to be received for this
-    // frame and worker pair.
+    // A call to DisconnectFrameClient() is still expected to be received for
+    // this worker and frame pair.
     detached_frame_count_per_worker_[worker_node]++;
 #endif  // DCHECK_IS_ON()
     return;
@@ -314,7 +503,7 @@
   }
 }
 
-void WorkerWatcher::DisconnectClient(
+void WorkerWatcher::DisconnectFrameClient(
     WorkerNodeImpl* worker_node,
     content::GlobalFrameRoutingId client_render_frame_host_id) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -332,8 +521,9 @@
   // possible to connect a worker to its client frame.
   if (!frame_node) {
 #if DCHECK_IS_ON()
-    // These debug only checks are used to ensure that this DisconnectClient()
-    // was still expected even though the client frame node no longer exist.
+    // These debug only checks are used to ensure that this
+    // DisconnectFrameClient() call was still expected even though the client
+    // frame node no longer exist.
     auto it = detached_frame_count_per_worker_.find(worker_node);
     DCHECK(it != detached_frame_count_per_worker_.end());
 
@@ -355,6 +545,138 @@
     frame_node_source_->UnsubscribeFromFrameNode(client_render_frame_host_id);
 }
 
+void WorkerWatcher::ConnectDedicatedWorkerClient(
+    WorkerNodeImpl* worker_node,
+    blink::DedicatedWorkerToken client_dedicated_worker_token) {
+  DCHECK(worker_node);
+
+  ConnectClientOnGraph(worker_node,
+                       GetDedicatedWorkerNode(client_dedicated_worker_token));
+
+  // Remember that |worker_node| is a child worker of this dedicated worker.
+  bool inserted = dedicated_worker_child_workers_[client_dedicated_worker_token]
+                      .insert(worker_node)
+                      .second;
+  DCHECK(inserted);
+}
+
+void WorkerWatcher::DisconnectDedicatedWorkerClient(
+    WorkerNodeImpl* worker_node,
+    blink::DedicatedWorkerToken client_dedicated_worker_token) {
+  DCHECK(worker_node);
+
+  // Remove |worker_node| from the set of child workers of this dedicated
+  // worker.
+  auto it = dedicated_worker_child_workers_.find(client_dedicated_worker_token);
+  DCHECK(it != dedicated_worker_child_workers_.end());
+  auto& child_workers = it->second;
+
+  size_t removed = child_workers.erase(worker_node);
+  DCHECK_EQ(removed, 1u);
+
+  if (child_workers.empty())
+    dedicated_worker_child_workers_.erase(it);
+
+  DisconnectClientOnGraph(
+      worker_node, GetDedicatedWorkerNode(client_dedicated_worker_token));
+}
+
+void WorkerWatcher::ConnectSharedWorkerClient(
+    WorkerNodeImpl* worker_node,
+    blink::SharedWorkerToken client_shared_worker_token) {
+  DCHECK(worker_node);
+
+  ConnectClientOnGraph(worker_node,
+                       GetSharedWorkerNode(client_shared_worker_token));
+
+  // Remember that |worker_node| is a child worker of this shared worker.
+  bool inserted = shared_worker_child_workers_[client_shared_worker_token]
+                      .insert(worker_node)
+                      .second;
+  DCHECK(inserted);
+}
+
+void WorkerWatcher::DisconnectSharedWorkerClient(
+    WorkerNodeImpl* worker_node,
+    blink::SharedWorkerToken client_shared_worker_token) {
+  DCHECK(worker_node);
+
+  // Remove |worker_node| from the set of child workers of this shared worker.
+  auto it = shared_worker_child_workers_.find(client_shared_worker_token);
+  DCHECK(it != shared_worker_child_workers_.end());
+  auto& child_workers = it->second;
+
+  size_t removed = child_workers.erase(worker_node);
+  DCHECK_EQ(removed, 1u);
+
+  if (child_workers.empty())
+    shared_worker_child_workers_.erase(it);
+
+  DisconnectClientOnGraph(worker_node,
+                          GetSharedWorkerNode(client_shared_worker_token));
+}
+
+void WorkerWatcher::ConnectAllServiceWorkerClients(
+    WorkerNodeImpl* service_worker_node,
+    int64_t version_id) {
+  // Nothing to do if there are no clients.
+  auto it = service_worker_clients_.find(version_id);
+  if (it == service_worker_clients_.end())
+    return;
+
+  for (const auto& kv : it->second) {
+    const ServiceWorkerClient& client = kv.second;
+
+    switch (client.type()) {
+      case blink::mojom::ServiceWorkerClientType::kWindow:
+        ConnectFrameClient(service_worker_node, client.GetRenderFrameHostId());
+        break;
+      case blink::mojom::ServiceWorkerClientType::kDedicatedWorker:
+        ConnectDedicatedWorkerClient(service_worker_node,
+                                     client.GetDedicatedWorkerToken());
+        break;
+      case blink::mojom::ServiceWorkerClientType::kSharedWorker:
+        ConnectSharedWorkerClient(service_worker_node,
+                                  client.GetSharedWorkerToken());
+        break;
+      case blink::mojom::ServiceWorkerClientType::kAll:
+        NOTREACHED();
+        break;
+    }
+  }
+}
+
+void WorkerWatcher::DisconnectAllServiceWorkerClients(
+    WorkerNodeImpl* service_worker_node,
+    int64_t version_id) {
+  // Nothing to do if there are no clients.
+  auto it = service_worker_clients_.find(version_id);
+  if (it == service_worker_clients_.end())
+    return;
+
+  for (const auto& kv : it->second) {
+    const ServiceWorkerClient& client = kv.second;
+
+    switch (client.type()) {
+      case blink::mojom::ServiceWorkerClientType::kWindow:
+        DisconnectFrameClient(service_worker_node,
+                              client.GetRenderFrameHostId());
+        break;
+      case blink::mojom::ServiceWorkerClientType::kDedicatedWorker:
+        DisconnectDedicatedWorkerClient(service_worker_node,
+                                        client.GetDedicatedWorkerToken());
+        break;
+      case blink::mojom::ServiceWorkerClientType::kSharedWorker:
+        DisconnectSharedWorkerClient(service_worker_node,
+                                     client.GetSharedWorkerToken());
+        break;
+      case blink::mojom::ServiceWorkerClientType::kAll:
+        NOTREACHED();
+        break;
+    }
+  }
+}
+
 void WorkerWatcher::OnBeforeFrameNodeRemoved(
     content::GlobalFrameRoutingId render_frame_host_id,
     FrameNodeImpl* frame_node) {
@@ -373,8 +695,8 @@
 
 #if DCHECK_IS_ON()
   for (WorkerNodeImpl* worker_node : child_workers) {
-    // A call to DisconnectClient() is still expected to be received for this
-    // frame to all workers in |child_workers|.
+    // A call to DisconnectFrameClient() is still expected to be received for
+    // this frame to all workers in |child_workers|.
     // Note: the [] operator is intentionally used to default initialize the
     // count to zero if needed.
     detached_frame_count_per_worker_[worker_node]++;
@@ -445,7 +767,6 @@
 
   auto it = service_worker_nodes_.find(version_id);
   if (it == service_worker_nodes_.end()) {
-    NOTREACHED();
     return nullptr;
   }
   return it->second.get();
diff --git a/components/performance_manager/worker_watcher.h b/components/performance_manager/worker_watcher.h
index e1a2d00..f21b790 100644
--- a/components/performance_manager/worker_watcher.h
+++ b/components/performance_manager/worker_watcher.h
@@ -14,6 +14,7 @@
 #include "base/macros.h"
 #include "base/scoped_observer.h"
 #include "base/sequence_checker.h"
+#include "components/performance_manager/service_worker_client.h"
 #include "content/public/browser/dedicated_worker_service.h"
 #include "content/public/browser/global_routing_id.h"
 #include "content/public/browser/service_worker_context.h"
@@ -31,7 +32,26 @@
 // This class keeps track of running workers of all types for a single browser
 // context and handles the ownership of the worker nodes.
 //
-// TODO(https://crbug.com/993029): Add support for service workers.
+// Most of the complexity of this class is tracking every worker's clients. Each
+// type of worker handles them a bit differently.
+//
+// The simplest case is dedicated workers, where each worker always has exactly
+// one frame client. Technically, it is possible to create a nested dedicated
+// worker, but for now they are treated as child of the ancestor frame.
+//
+// Shared workers are quite similar to dedicated workers but they can have any
+// number of clients. Also, a shared worker can temporarily appear to have no
+// clients shortly after being created and just before being destroyed.
+//
+// Service workers are more complicated to handle. They also can have any number
+// of clients, but they aren't only frames. They could also be dedicated worker
+// and shared worker clients. These different types of client are tracked using
+// the ServiceWorkerClient class. Also, because of the important role the
+// service worker plays with frame navigations, the service worker can be
+// created before its first client's navigation has committed to a
+// RenderFrameHost. So when a OnControlleeAdded() notification is received for
+// a client frame, it is necessary to wait until the render frame host was
+// determined.
 class WorkerWatcher : public content::DedicatedWorkerService::Observer,
                       public content::SharedWorkerService::Observer,
                       public content::ServiceWorkerContextObserver {
@@ -77,19 +97,60 @@
       content::GlobalFrameRoutingId render_frame_host_id) override;
 
   // content::ServiceWorkerContextObserver:
+  // Note: If you add a new function here, make sure it is also added to
+  // ServiceWorkerContextAdapter.
   void OnVersionStartedRunning(
       int64_t version_id,
       const content::ServiceWorkerRunningInfo& running_info) override;
   void OnVersionStoppedRunning(int64_t version_id) override;
+  void OnControlleeAdded(
+      int64_t version_id,
+      const std::string& client_uuid,
+      const content::ServiceWorkerClientInfo& client_info) override;
+  void OnControlleeRemoved(int64_t version_id,
+                           const std::string& client_uuid) override;
+  void OnControlleeNavigationCommitted(
+      int64_t version_id,
+      const std::string& client_uuid,
+      content::GlobalFrameRoutingId render_frame_host_id) override;
 
  private:
   friend class WorkerWatcherTest;
 
-  void ConnectClient(WorkerNodeImpl* worker_node,
-                     content::GlobalFrameRoutingId client_render_frame_host_id);
-  void DisconnectClient(
+  // Posts a task to the PM graph to connect/disconnect |worker_node| with the
+  // frame node associated to |client_render_frame_host_id|.
+  void ConnectFrameClient(
       WorkerNodeImpl* worker_node,
       content::GlobalFrameRoutingId client_render_frame_host_id);
+  void DisconnectFrameClient(
+      WorkerNodeImpl* worker_node,
+      content::GlobalFrameRoutingId client_render_frame_host_id);
+
+  // Posts a task to the PM graph to connect/disconnect |worker_node| with the
+  // dedicated worker node associated to |client_dedicated_worker_token|.
+  void ConnectDedicatedWorkerClient(
+      WorkerNodeImpl* worker_node,
+      blink::DedicatedWorkerToken client_dedicated_worker_token);
+  void DisconnectDedicatedWorkerClient(
+      WorkerNodeImpl* worker_node,
+      blink::DedicatedWorkerToken client_dedicated_worker_token);
+
+  // Posts a task to the PM graph to connect/disconnect |worker_node| with the
+  // shared worker node associated to |client_shared_worker_id|.
+  void ConnectSharedWorkerClient(
+      WorkerNodeImpl* worker_node,
+      blink::SharedWorkerToken client_shared_worker_id);
+  void DisconnectSharedWorkerClient(
+      WorkerNodeImpl* worker_node,
+      blink::SharedWorkerToken client_shared_worker_id);
+
+  // Posts a task to the PM graph to connect/disconnect |service_worker_node|
+  // with all of its existing clients. Called when a service worker starts/stops
+  // running.
+  void ConnectAllServiceWorkerClients(WorkerNodeImpl* service_worker_node,
+                                      int64_t version_id);
+  void DisconnectAllServiceWorkerClients(WorkerNodeImpl* service_worker_node,
+                                         int64_t version_id);
 
   void OnBeforeFrameNodeRemoved(
       content::GlobalFrameRoutingId render_frame_host_id,
@@ -147,13 +208,31 @@
   base::flat_map<int64_t /*version_id*/, std::unique_ptr<WorkerNodeImpl>>
       service_worker_nodes_;
 
-  // Maps each frame to the shared workers that this frame is a client of. This
-  // is used when a frame is torn down before the OnBeforeWorkerTerminated() is
-  // received, to ensure the deletion of the worker nodes in the right order
-  // (workers before frames).
+  // Keeps track of frame clients that are awaiting the navigation commit
+  // notification. Used for service workers only.
+  base::flat_set<std::string /*client_uuid*/> client_frames_awaiting_commit_;
+
+  // Maps each service worker to its clients.
+  base::flat_map<
+      int64_t /*version_id*/,
+      base::flat_map<std::string /*client_uuid*/, ServiceWorkerClient>>
+      service_worker_clients_;
+
+  // Maps each frame to the workers that this frame is a client of in the graph.
+  // This is used when a frame is torn down before the
+  // OnBeforeWorkerTerminated() is received, to ensure the deletion of the
+  // worker nodes in the right order (workers before frames).
   base::flat_map<content::GlobalFrameRoutingId, base::flat_set<WorkerNodeImpl*>>
       frame_node_child_workers_;
 
+  // Maps each dedicated worker to all its child workers.
+  base::flat_map<blink::DedicatedWorkerToken, base::flat_set<WorkerNodeImpl*>>
+      dedicated_worker_child_workers_;
+
+  // Maps each shared worker to all its child workers.
+  base::flat_map<blink::SharedWorkerToken, base::flat_set<WorkerNodeImpl*>>
+      shared_worker_child_workers_;
+
 #if DCHECK_IS_ON()
   // Keeps track of how many OnClientRemoved() calls are expected for an
   // existing worker. This happens when OnBeforeFrameNodeRemoved() is invoked
diff --git a/components/performance_manager/worker_watcher_unittest.cc b/components/performance_manager/worker_watcher_unittest.cc
index 121cb84..66e18ce 100644
--- a/components/performance_manager/worker_watcher_unittest.cc
+++ b/components/performance_manager/worker_watcher_unittest.cc
@@ -9,6 +9,7 @@
 #include <vector>
 
 #include "base/bind_helpers.h"
+#include "base/guid.h"
 #include "base/macros.h"
 #include "base/observer_list.h"
 #include "base/run_loop.h"
@@ -23,6 +24,7 @@
 #include "components/performance_manager/graph/worker_node_impl.h"
 #include "components/performance_manager/performance_manager_impl.h"
 #include "components/performance_manager/process_node_source.h"
+#include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/shared_worker_service.h"
 #include "content/public/test/fake_service_worker_context.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -51,6 +53,14 @@
          base::Contains(client_frame_node->child_worker_nodes(), worker_node);
 }
 
+// Helper function to check that |worker_node| and |client_worker_node| are
+// correctly hooked up together.
+bool IsWorkerClient(WorkerNodeImpl* worker_node,
+                    WorkerNodeImpl* client_worker_node) {
+  return base::Contains(worker_node->client_workers(), client_worker_node) &&
+         base::Contains(client_worker_node->child_workers(), worker_node);
+}
+
 // TestDedicatedWorkerService --------------------------------------------------
 
 // A test DedicatedWorkerService that allows to simulate creating and destroying
@@ -158,14 +168,12 @@
   void DestroySharedWorker(const blink::SharedWorkerToken& shared_worker_token);
 
   // Adds a new frame client to an existing worker.
-  void AddFrameClientToWorker(
-      const blink::SharedWorkerToken& shared_worker_token,
-      content::GlobalFrameRoutingId client_render_frame_host_id);
+  void AddClient(const blink::SharedWorkerToken& shared_worker_token,
+                 content::GlobalFrameRoutingId client_render_frame_host_id);
 
   // Removes an existing frame client from a worker.
-  void RemoveFrameClientFromWorker(
-      const blink::SharedWorkerToken& shared_worker_token,
-      content::GlobalFrameRoutingId client_render_frame_host_id);
+  void RemoveClient(const blink::SharedWorkerToken& shared_worker_token,
+                    content::GlobalFrameRoutingId client_render_frame_host_id);
 
  private:
   base::ObserverList<Observer> observer_list_;
@@ -239,7 +247,7 @@
   shared_worker_client_frames_.erase(it);
 }
 
-void TestSharedWorkerService::AddFrameClientToWorker(
+void TestSharedWorkerService::AddClient(
     const blink::SharedWorkerToken& shared_worker_token,
     content::GlobalFrameRoutingId client_render_frame_host_id) {
   // Add the frame to the set of clients for this worker.
@@ -255,7 +263,7 @@
     observer.OnClientAdded(shared_worker_token, client_render_frame_host_id);
 }
 
-void TestSharedWorkerService::RemoveFrameClientFromWorker(
+void TestSharedWorkerService::RemoveClient(
     const blink::SharedWorkerToken& shared_worker_token,
     content::GlobalFrameRoutingId client_render_frame_host_id) {
   // Notify observers.
@@ -290,21 +298,32 @@
   void AddObserver(content::ServiceWorkerContextObserver* observer) override;
   void RemoveObserver(content::ServiceWorkerContextObserver* observer) override;
 
-  // Starts a new service worker and returns its version ID.
-  int64_t StartServiceWorker(int worker_process_id);
+  // Creates a new service worker and returns its version ID.
+  int64_t CreateServiceWorker();
 
-  // Stops a service shared worker.
+  // Deletes an existing service worker.
+  void DestroyServiceWorker(int64_t version_id);
+
+  // Starts an existing service worker.
+  void StartServiceWorker(int64_t version_id, int worker_process_id);
+
+  // Destroys a service shared worker.
   void StopServiceWorker(int64_t version_id);
 
-  // Adds a new frame client to an existing worker.
-  void AddFrameClientToWorker(
-      int64_t version_id,
-      content::GlobalFrameRoutingId client_render_frame_host_id);
+  // Adds a new client to an existing service worker and returns its generated
+  // client UUID.
+  std::string AddClient(int64_t version_id,
+                        const content::ServiceWorkerClientInfo& client_info);
 
-  // Removes an existing frame client from a worker.
-  void RemoveFrameClientFromWorker(
+  // Removes an existing client from a worker.
+  void RemoveClient(int64_t version_id, const std::string& client_uuid);
+
+  // Simulates when the navigation commits, meaning that the RenderFrameHost is
+  // now available for a window client. Not valid for worker clients.
+  void OnControlleeNavigationCommitted(
       int64_t version_id,
-      content::GlobalFrameRoutingId client_render_frame_host_id);
+      const std::string& client_uuid,
+      content::GlobalFrameRoutingId render_frame_host_id);
 
  private:
   base::ObserverList<content::ServiceWorkerContextObserver>::Unchecked
@@ -313,10 +332,15 @@
   // The ID that the next service worker will be assigned.
   int64_t next_service_worker_instance_id_ = 0;
 
-  // Contains the set of clients for each running workers.
-  base::flat_map<int64_t /*version_id*/,
-                 base::flat_set<content::GlobalFrameRoutingId>>
-      service_worker_client_frames_;
+  struct ServiceWorkerInfo {
+    bool is_running = false;
+
+    // Contains all the clients
+    base::flat_set<std::string /*client_uuid*/> clients;
+  };
+
+  base::flat_map<int64_t /*version_id*/, ServiceWorkerInfo>
+      service_worker_infos_;
 };
 
 TestServiceWorkerContext::TestServiceWorkerContext() = default;
@@ -333,68 +357,107 @@
   observer_list_.RemoveObserver(observer);
 }
 
-int64_t TestServiceWorkerContext::StartServiceWorker(int worker_process_id) {
+int64_t TestServiceWorkerContext::CreateServiceWorker() {
   // Create a new version ID and add it to the map.
-  GURL worker_url = GenerateWorkerUrl();
   int64_t version_id = next_service_worker_instance_id_++;
 
-  bool inserted = service_worker_client_frames_.insert({version_id, {}}).second;
+  bool inserted = service_worker_infos_.insert({version_id, {}}).second;
   DCHECK(inserted);
 
+  return version_id;
+}
+
+void TestServiceWorkerContext::DestroyServiceWorker(int64_t version_id) {
+  auto it = service_worker_infos_.find(version_id);
+  DCHECK(it != service_worker_infos_.end());
+  const ServiceWorkerInfo& info = it->second;
+
+  // Can only delete a service worker that isn't running and has no clients.
+  DCHECK(!info.is_running);
+  DCHECK(info.clients.empty());
+
+  // Remove the worker instance from the map.
+  service_worker_infos_.erase(it);
+}
+
+void TestServiceWorkerContext::StartServiceWorker(int64_t version_id,
+                                                  int worker_process_id) {
+  auto it = service_worker_infos_.find(version_id);
+  DCHECK(it != service_worker_infos_.end());
+  ServiceWorkerInfo& info = it->second;
+
+  DCHECK(!info.is_running);
+  info.is_running = true;
+
   // Notify observers.
+  GURL worker_url = GenerateWorkerUrl();
+  GURL scope_url;
   for (auto& observer : observer_list_) {
     observer.OnVersionStartedRunning(
         version_id,
         content::ServiceWorkerRunningInfo(worker_url, GURL(), worker_process_id,
                                           blink::ServiceWorkerToken()));
   }
-
-  return version_id;
 }
 
 void TestServiceWorkerContext::StopServiceWorker(int64_t version_id) {
-  auto it = service_worker_client_frames_.find(version_id);
-  DCHECK(it != service_worker_client_frames_.end());
+  auto it = service_worker_infos_.find(version_id);
+  DCHECK(it != service_worker_infos_.end());
+  ServiceWorkerInfo& info = it->second;
 
-  // A stopping worker should have no clients.
-  DCHECK(it->second.empty());
+  DCHECK(info.is_running);
+  info.is_running = false;
 
   // Notify observers that the worker is terminating.
   for (auto& observer : observer_list_)
     observer.OnVersionStoppedRunning(version_id);
-
-  // Remove the worker instance from the map.
-  service_worker_client_frames_.erase(it);
 }
 
-void TestServiceWorkerContext::AddFrameClientToWorker(
+std::string TestServiceWorkerContext::AddClient(
     int64_t version_id,
-    content::GlobalFrameRoutingId client_render_frame_host_id) {
-  // Add the frame to the set of clients for this worker.
-  auto it = service_worker_client_frames_.find(version_id);
-  DCHECK(it != service_worker_client_frames_.end());
+    const content::ServiceWorkerClientInfo& client_info) {
+  auto it = service_worker_infos_.find(version_id);
+  DCHECK(it != service_worker_infos_.end());
+  ServiceWorkerInfo& info = it->second;
 
-  base::flat_set<content::GlobalFrameRoutingId>& client_frames = it->second;
-  bool inserted = client_frames.insert(client_render_frame_host_id).second;
+  std::string client_uuid = base::GenerateGUID();
+
+  bool inserted = info.clients.insert(client_uuid).second;
   DCHECK(inserted);
 
-  // TODO(pmonette): Notify observers when the ServiceWorkerContextObserver
-  //                 interface supports it.
+  for (auto& observer : observer_list_)
+    observer.OnControlleeAdded(version_id, client_uuid, client_info);
+
+  return client_uuid;
 }
 
-void TestServiceWorkerContext::RemoveFrameClientFromWorker(
-    int64_t version_id,
-    content::GlobalFrameRoutingId client_render_frame_host_id) {
-  // TODO(pmonette): Notify observers when the ServiceWorkerContextObserver
-  //                 interface supports it.
+void TestServiceWorkerContext::RemoveClient(int64_t version_id,
+                                            const std::string& client_uuid) {
+  auto it = service_worker_infos_.find(version_id);
+  DCHECK(it != service_worker_infos_.end());
+  ServiceWorkerInfo& info = it->second;
 
-  // Then remove the frame from the set of clients of this worker.
-  auto it = service_worker_client_frames_.find(version_id);
-  DCHECK(it != service_worker_client_frames_.end());
-
-  base::flat_set<content::GlobalFrameRoutingId>& client_frames = it->second;
-  size_t removed = client_frames.erase(client_render_frame_host_id);
+  size_t removed = info.clients.erase(client_uuid);
   DCHECK_EQ(removed, 1u);
+
+  for (auto& observer : observer_list_)
+    observer.OnControlleeRemoved(version_id, client_uuid);
+}
+
+void TestServiceWorkerContext::OnControlleeNavigationCommitted(
+    int64_t version_id,
+    const std::string& client_uuid,
+    content::GlobalFrameRoutingId render_frame_host_id) {
+  auto it = service_worker_infos_.find(version_id);
+  DCHECK(it != service_worker_infos_.end());
+  ServiceWorkerInfo& info = it->second;
+
+  DCHECK(base::Contains(info.clients, client_uuid));
+
+  for (auto& observer : observer_list_) {
+    observer.OnControlleeNavigationCommitted(version_id, client_uuid,
+                                             render_frame_host_id);
+  }
 }
 
 // TestProcessNodeSource -------------------------------------------------------
@@ -528,8 +591,7 @@
 
   bool inserted =
       frame_node_callbacks_
-          .insert(std::make_pair(
-              frame_node, std::move(on_before_frame_node_removed_callback)))
+          .emplace(frame_node, std::move(on_before_frame_node_removed_callback))
           .second;
   DCHECK(inserted);
 }
@@ -725,7 +787,7 @@
         EXPECT_TRUE(IsWorkerClient(worker_node, client_frame_node));
       }));
 
-  // Disconnect and clean up the worker.
+  // Disconnect and clean up the dedicated worker.
   dedicated_worker_service()->DestroyDedicatedWorker(token);
 }
 
@@ -744,8 +806,7 @@
       shared_worker_service()->CreateSharedWorker(render_process_id);
 
   // Connect the frame to the worker.
-  shared_worker_service()->AddFrameClientToWorker(shared_worker_token,
-                                                  render_frame_host_id);
+  shared_worker_service()->AddClient(shared_worker_token, render_frame_host_id);
 
   // Check expectations on the graph.
   CallOnGraphAndWait(base::BindLambdaForTesting(
@@ -759,29 +820,51 @@
         EXPECT_TRUE(IsWorkerClient(worker_node, client_frame_node));
       }));
 
-  // Disconnect and clean up the worker.
-  shared_worker_service()->RemoveFrameClientFromWorker(shared_worker_token,
-                                                       render_frame_host_id);
+  // Disconnect and clean up the shared worker.
+  shared_worker_service()->RemoveClient(shared_worker_token,
+                                        render_frame_host_id);
   shared_worker_service()->DestroySharedWorker(shared_worker_token);
 }
 
 // This test creates one service worker with one client frame.
-TEST_F(WorkerWatcherTest, SimpleServiceWorker) {
+TEST_F(WorkerWatcherTest, ServiceWorkerFrameClient) {
   int render_process_id = process_node_source()->CreateProcessNode();
 
-  // Create the frame node.
+  // Create and start the service worker.
+  int64_t service_worker_version_id =
+      service_worker_context()->CreateServiceWorker();
+  service_worker_context()->StartServiceWorker(service_worker_version_id,
+                                               render_process_id);
+
+  // Add a frame tree node as a client of the service worker.
+  int frame_tree_node_id = GenerateNextId();
+  std::string service_worker_client_uuid = service_worker_context()->AddClient(
+      service_worker_version_id,
+      content::ServiceWorkerClientInfo(frame_tree_node_id));
+
+  // Check expectations on the graph.
+  CallOnGraphAndWait(base::BindLambdaForTesting(
+      [process_node = process_node_source()->GetProcessNode(render_process_id),
+       worker_node =
+           GetServiceWorkerNode(service_worker_version_id)](GraphImpl* graph) {
+        EXPECT_TRUE(graph->NodeInGraph(worker_node));
+        EXPECT_EQ(worker_node->worker_type(), WorkerNode::WorkerType::kService);
+        EXPECT_EQ(worker_node->process_node(), process_node);
+
+        // The frame can not be connected to the service worker until its
+        // render frame host is available, which happens when the navigation
+        // commits.
+        EXPECT_TRUE(worker_node->client_frames().empty());
+      }));
+
+  // Now simulate the navigation commit.
   content::GlobalFrameRoutingId render_frame_host_id =
       frame_node_source()->CreateFrameNode(
           render_process_id,
           process_node_source()->GetProcessNode(render_process_id));
-
-  // Create the worker.
-  int64_t service_worker_version_id =
-      service_worker_context()->StartServiceWorker(render_process_id);
-
-  // Connect the frame to the worker.
-  service_worker_context()->AddFrameClientToWorker(service_worker_version_id,
-                                                   render_frame_host_id);
+  service_worker_context()->OnControlleeNavigationCommitted(
+      service_worker_version_id, service_worker_client_uuid,
+      render_frame_host_id);
 
   // Check expectations on the graph.
   CallOnGraphAndWait(base::BindLambdaForTesting(
@@ -792,15 +875,253 @@
         EXPECT_TRUE(graph->NodeInGraph(worker_node));
         EXPECT_EQ(worker_node->worker_type(), WorkerNode::WorkerType::kService);
         EXPECT_EQ(worker_node->process_node(), process_node);
-        // TODO(pmonette): Change the following to EXPECT_TRUE when the
-        //                 service worker node gets hooked up correctly.
-        EXPECT_FALSE(IsWorkerClient(worker_node, client_frame_node));
+
+        // Now is it correctly hooked up.
+        EXPECT_TRUE(IsWorkerClient(worker_node, client_frame_node));
       }));
 
-  // Disconnect and clean up the worker.
-  service_worker_context()->RemoveFrameClientFromWorker(
-      service_worker_version_id, render_frame_host_id);
+  // Disconnect and clean up the service worker.
+  service_worker_context()->RemoveClient(service_worker_version_id,
+                                         service_worker_client_uuid);
   service_worker_context()->StopServiceWorker(service_worker_version_id);
+  service_worker_context()->DestroyServiceWorker(service_worker_version_id);
+}
+
+// Ensures that the WorkerWatcher handles the case where a frame with a service
+// worker is created but it's navigation is never committed before the
+// FrameTreeNode is destroyed.
+TEST_F(WorkerWatcherTest, ServiceWorkerFrameClientDestroyedBeforeCommit) {
+  int render_process_id = process_node_source()->CreateProcessNode();
+
+  // Create and start the service worker.
+  int64_t service_worker_version_id =
+      service_worker_context()->CreateServiceWorker();
+  service_worker_context()->StartServiceWorker(service_worker_version_id,
+                                               render_process_id);
+
+  // Add a frame tree node as a client of the service worker.
+  int frame_tree_node_id = GenerateNextId();
+  std::string service_worker_client_uuid = service_worker_context()->AddClient(
+      service_worker_version_id,
+      content::ServiceWorkerClientInfo(frame_tree_node_id));
+
+  // Check expectations on the graph.
+  CallOnGraphAndWait(base::BindLambdaForTesting(
+      [process_node = process_node_source()->GetProcessNode(render_process_id),
+       worker_node =
+           GetServiceWorkerNode(service_worker_version_id)](GraphImpl* graph) {
+        EXPECT_TRUE(graph->NodeInGraph(worker_node));
+        EXPECT_EQ(worker_node->worker_type(), WorkerNode::WorkerType::kService);
+        EXPECT_EQ(worker_node->process_node(), process_node);
+
+        // The frame was never added as a client of the service worker.
+        EXPECT_TRUE(worker_node->client_frames().empty());
+      }));
+
+  // Disconnect and clean up the service worker.
+  service_worker_context()->RemoveClient(service_worker_version_id,
+                                         service_worker_client_uuid);
+  service_worker_context()->StopServiceWorker(service_worker_version_id);
+  service_worker_context()->DestroyServiceWorker(service_worker_version_id);
+}
+
+TEST_F(WorkerWatcherTest, AllTypesOfServiceWorkerClients) {
+  int render_process_id = process_node_source()->CreateProcessNode();
+
+  // Create and start the service worker.
+  int64_t service_worker_version_id =
+      service_worker_context()->CreateServiceWorker();
+  service_worker_context()->StartServiceWorker(service_worker_version_id,
+                                               render_process_id);
+
+  // Create a client of each type and connect them to the service worker.
+
+  // Frame client.
+  int frame_tree_node_id = GenerateNextId();
+  std::string frame_client_uuid = service_worker_context()->AddClient(
+      service_worker_version_id,
+      content::ServiceWorkerClientInfo(frame_tree_node_id));
+  content::GlobalFrameRoutingId render_frame_host_id =
+      frame_node_source()->CreateFrameNode(
+          render_process_id,
+          process_node_source()->GetProcessNode(render_process_id));
+  service_worker_context()->OnControlleeNavigationCommitted(
+      service_worker_version_id, frame_client_uuid, render_frame_host_id);
+
+  // Dedicated worker client.
+  blink::DedicatedWorkerToken dedicated_worker_token =
+      dedicated_worker_service()->CreateDedicatedWorker(render_process_id,
+                                                        render_frame_host_id);
+  std::string dedicated_worker_client_uuid =
+      service_worker_context()->AddClient(
+          service_worker_version_id,
+          content::ServiceWorkerClientInfo(dedicated_worker_token));
+
+  // Shared worker client.
+  blink::SharedWorkerToken shared_worker_token =
+      shared_worker_service()->CreateSharedWorker(render_process_id);
+  std::string shared_worker_client_uuid = service_worker_context()->AddClient(
+      service_worker_version_id,
+      content::ServiceWorkerClientInfo(shared_worker_token));
+
+  // Check expectations on the graph.
+  CallOnGraphAndWait(base::BindLambdaForTesting(
+      [process_node = process_node_source()->GetProcessNode(render_process_id),
+       service_worker_node = GetServiceWorkerNode(service_worker_version_id),
+       client_frame_node =
+           frame_node_source()->GetFrameNode(render_frame_host_id),
+       dedicated_worker_node = GetDedicatedWorkerNode(dedicated_worker_token),
+       shared_worker_node =
+           GetSharedWorkerNode(shared_worker_token)](GraphImpl* graph) {
+        EXPECT_TRUE(graph->NodeInGraph(service_worker_node));
+        EXPECT_TRUE(IsWorkerClient(service_worker_node, client_frame_node));
+        EXPECT_TRUE(IsWorkerClient(service_worker_node, dedicated_worker_node));
+        EXPECT_TRUE(IsWorkerClient(service_worker_node, shared_worker_node));
+      }));
+
+  // Disconnect and clean up the service worker and its clients.
+  service_worker_context()->RemoveClient(service_worker_version_id,
+                                         shared_worker_client_uuid);
+  shared_worker_service()->DestroySharedWorker(shared_worker_token);
+  service_worker_context()->RemoveClient(service_worker_version_id,
+                                         dedicated_worker_client_uuid);
+  dedicated_worker_service()->DestroyDedicatedWorker(dedicated_worker_token);
+  service_worker_context()->RemoveClient(service_worker_version_id,
+                                         frame_client_uuid);
+
+  service_worker_context()->StopServiceWorker(service_worker_version_id);
+  service_worker_context()->DestroyServiceWorker(service_worker_version_id);
+}
+
+// Tests that the WorkerWatcher can handle the case where the service worker
+// starts after it has been assigned a client. In this case, the clients are not
+// connected to the service worker until it starts. It also tests that when the
+// service worker stops, its existing clients are also disconnected.
+TEST_F(WorkerWatcherTest, ServiceWorkerStartsAndStopsWithExistingClients) {
+  int render_process_id = process_node_source()->CreateProcessNode();
+
+  // Create the worker.
+  int64_t service_worker_version_id =
+      service_worker_context()->CreateServiceWorker();
+
+  // Create a client of each type and connect them to the service worker.
+
+  // Frame client.
+  int frame_tree_node_id = GenerateNextId();
+  std::string frame_client_uuid = service_worker_context()->AddClient(
+      service_worker_version_id,
+      content::ServiceWorkerClientInfo(frame_tree_node_id));
+  content::GlobalFrameRoutingId render_frame_host_id =
+      frame_node_source()->CreateFrameNode(
+          render_process_id,
+          process_node_source()->GetProcessNode(render_process_id));
+  service_worker_context()->OnControlleeNavigationCommitted(
+      service_worker_version_id, frame_client_uuid, render_frame_host_id);
+
+  // Dedicated worker client.
+  blink::DedicatedWorkerToken dedicated_worker_token =
+      dedicated_worker_service()->CreateDedicatedWorker(render_process_id,
+                                                        render_frame_host_id);
+  std::string dedicated_worker_client_uuid =
+      service_worker_context()->AddClient(
+          service_worker_version_id,
+          content::ServiceWorkerClientInfo(dedicated_worker_token));
+
+  // Shared worker client.
+  blink::SharedWorkerToken shared_worker_token =
+      shared_worker_service()->CreateSharedWorker(render_process_id);
+  std::string shared_worker_client_uuid = service_worker_context()->AddClient(
+      service_worker_version_id,
+      content::ServiceWorkerClientInfo(shared_worker_token));
+
+  // The service worker node doesn't even exist yet.
+  EXPECT_FALSE(GetServiceWorkerNode(service_worker_version_id));
+
+  // Check expectations on the graph.
+  CallOnGraphAndWait(base::BindLambdaForTesting(
+      [process_node = process_node_source()->GetProcessNode(render_process_id),
+       frame_node = frame_node_source()->GetFrameNode(render_frame_host_id),
+       dedicated_worker_node = GetDedicatedWorkerNode(dedicated_worker_token),
+       shared_worker_node =
+           GetSharedWorkerNode(shared_worker_token)](GraphImpl* graph) {
+        // The clients exists in the graph but they are not connected to the
+        // service worker.
+        EXPECT_TRUE(graph->NodeInGraph(frame_node));
+        EXPECT_TRUE(graph->NodeInGraph(dedicated_worker_node));
+        EXPECT_TRUE(graph->NodeInGraph(shared_worker_node));
+
+        // Note: Because a dedicated worker is always connected to a frame, this
+        // frame node actually has |dedicated_worker_node| as its sole client.
+        ASSERT_EQ(frame_node->child_worker_nodes().size(), 1u);
+        EXPECT_TRUE(base::Contains(frame_node->child_worker_nodes(),
+                                   dedicated_worker_node));
+        EXPECT_TRUE(dedicated_worker_node->child_workers().empty());
+        EXPECT_TRUE(shared_worker_node->child_workers().empty());
+      }));
+
+  // Now start the service worker.
+  service_worker_context()->StartServiceWorker(service_worker_version_id,
+                                               render_process_id);
+
+  // Check expectations on the graph.
+  CallOnGraphAndWait(base::BindLambdaForTesting(
+      [process_node = process_node_source()->GetProcessNode(render_process_id),
+       service_worker_node = GetServiceWorkerNode(service_worker_version_id),
+       frame_node = frame_node_source()->GetFrameNode(render_frame_host_id),
+       dedicated_worker_node = GetDedicatedWorkerNode(dedicated_worker_token),
+       shared_worker_node =
+           GetSharedWorkerNode(shared_worker_token)](GraphImpl* graph) {
+        EXPECT_TRUE(graph->NodeInGraph(service_worker_node));
+        EXPECT_EQ(service_worker_node->worker_type(),
+                  WorkerNode::WorkerType::kService);
+        EXPECT_EQ(service_worker_node->process_node(), process_node);
+
+        EXPECT_TRUE(graph->NodeInGraph(frame_node));
+        EXPECT_TRUE(graph->NodeInGraph(dedicated_worker_node));
+        EXPECT_TRUE(graph->NodeInGraph(shared_worker_node));
+
+        // Now is it correctly hooked up.
+        EXPECT_TRUE(IsWorkerClient(service_worker_node, frame_node));
+        EXPECT_TRUE(IsWorkerClient(service_worker_node, dedicated_worker_node));
+        EXPECT_TRUE(IsWorkerClient(service_worker_node, shared_worker_node));
+      }));
+
+  // Stop the service worker. All the clients will be disconnected.
+  service_worker_context()->StopServiceWorker(service_worker_version_id);
+
+  // Check expectations on the graph.
+  CallOnGraphAndWait(base::BindLambdaForTesting(
+      [process_node = process_node_source()->GetProcessNode(render_process_id),
+       frame_node = frame_node_source()->GetFrameNode(render_frame_host_id),
+       dedicated_worker_node = GetDedicatedWorkerNode(dedicated_worker_token),
+       shared_worker_node =
+           GetSharedWorkerNode(shared_worker_token)](GraphImpl* graph) {
+        // The clients exists in the graph but they are not connected to the
+        // service worker.
+        EXPECT_TRUE(graph->NodeInGraph(frame_node));
+        EXPECT_TRUE(graph->NodeInGraph(dedicated_worker_node));
+        EXPECT_TRUE(graph->NodeInGraph(shared_worker_node));
+
+        // Note: Because a dedicated worker is always connected to a frame, this
+        // frame node actually has |dedicated_worker_node| as its sole client.
+        ASSERT_EQ(frame_node->child_worker_nodes().size(), 1u);
+        EXPECT_TRUE(base::Contains(frame_node->child_worker_nodes(),
+                                   dedicated_worker_node));
+        EXPECT_TRUE(dedicated_worker_node->child_workers().empty());
+        EXPECT_TRUE(shared_worker_node->child_workers().empty());
+      }));
+
+  // Disconnect and clean up the service worker and its clients
+  service_worker_context()->RemoveClient(service_worker_version_id,
+                                         shared_worker_client_uuid);
+  shared_worker_service()->DestroySharedWorker(shared_worker_token);
+  service_worker_context()->RemoveClient(service_worker_version_id,
+                                         dedicated_worker_client_uuid);
+  dedicated_worker_service()->DestroyDedicatedWorker(dedicated_worker_token);
+  service_worker_context()->RemoveClient(service_worker_version_id,
+                                         frame_client_uuid);
+
+  service_worker_context()->DestroyServiceWorker(service_worker_version_id);
 }
 
 TEST_F(WorkerWatcherTest, SharedWorkerCrossProcessClient) {
@@ -817,8 +1138,7 @@
       shared_worker_service()->CreateSharedWorker(worker_process_id);
 
   // Connect the frame to the worker.
-  shared_worker_service()->AddFrameClientToWorker(shared_worker_token,
-                                                  render_frame_host_id);
+  shared_worker_service()->AddClient(shared_worker_token, render_frame_host_id);
 
   // Check expectations on the graph.
   CallOnGraphAndWait(base::BindLambdaForTesting(
@@ -835,9 +1155,9 @@
         EXPECT_TRUE(IsWorkerClient(worker_node, client_frame_node));
       }));
 
-  // Disconnect and clean up the worker.
-  shared_worker_service()->RemoveFrameClientFromWorker(shared_worker_token,
-                                                       render_frame_host_id);
+  // Disconnect and clean up the shared worker.
+  shared_worker_service()->RemoveClient(shared_worker_token,
+                                        render_frame_host_id);
   shared_worker_service()->DestroySharedWorker(shared_worker_token);
 }
 
@@ -853,15 +1173,15 @@
       frame_node_source()->CreateFrameNode(
           render_process_id,
           process_node_source()->GetProcessNode(render_process_id));
-  shared_worker_service()->AddFrameClientToWorker(shared_worker_token,
-                                                  render_frame_host_id_1);
+  shared_worker_service()->AddClient(shared_worker_token,
+                                     render_frame_host_id_1);
 
   content::GlobalFrameRoutingId render_frame_host_id_2 =
       frame_node_source()->CreateFrameNode(
           render_process_id,
           process_node_source()->GetProcessNode(render_process_id));
-  shared_worker_service()->AddFrameClientToWorker(shared_worker_token,
-                                                  render_frame_host_id_2);
+  shared_worker_service()->AddClient(shared_worker_token,
+                                     render_frame_host_id_2);
 
   // Check expectations on the graph.
   CallOnGraphAndWait(base::BindLambdaForTesting(
@@ -880,11 +1200,11 @@
         EXPECT_TRUE(IsWorkerClient(worker_node, client_frame_node_2));
       }));
 
-  // Disconnect and clean up the worker.
-  shared_worker_service()->RemoveFrameClientFromWorker(shared_worker_token,
-                                                       render_frame_host_id_1);
-  shared_worker_service()->RemoveFrameClientFromWorker(shared_worker_token,
-                                                       render_frame_host_id_2);
+  // Disconnect and clean up the shared worker.
+  shared_worker_service()->RemoveClient(shared_worker_token,
+                                        render_frame_host_id_1);
+  shared_worker_service()->RemoveClient(shared_worker_token,
+                                        render_frame_host_id_2);
   shared_worker_service()->DestroySharedWorker(shared_worker_token);
 }
 
@@ -900,13 +1220,13 @@
   // Create the 2 workers and connect them to the frame.
   const blink::SharedWorkerToken& shared_worker_token_1 =
       shared_worker_service()->CreateSharedWorker(render_process_id);
-  shared_worker_service()->AddFrameClientToWorker(shared_worker_token_1,
-                                                  render_frame_host_id);
+  shared_worker_service()->AddClient(shared_worker_token_1,
+                                     render_frame_host_id);
 
   const blink::SharedWorkerToken& shared_worker_token_2 =
       shared_worker_service()->CreateSharedWorker(render_process_id);
-  shared_worker_service()->AddFrameClientToWorker(shared_worker_token_2,
-                                                  render_frame_host_id);
+  shared_worker_service()->AddClient(shared_worker_token_2,
+                                     render_frame_host_id);
 
   // Check expectations on the graph.
   CallOnGraphAndWait(base::BindLambdaForTesting(
@@ -927,13 +1247,13 @@
         EXPECT_TRUE(IsWorkerClient(worker_node_2, client_frame_node));
       }));
 
-  // Disconnect and clean up the workers.
-  shared_worker_service()->RemoveFrameClientFromWorker(shared_worker_token_1,
-                                                       render_frame_host_id);
+  // Disconnect and clean up the shared workers.
+  shared_worker_service()->RemoveClient(shared_worker_token_1,
+                                        render_frame_host_id);
   shared_worker_service()->DestroySharedWorker(shared_worker_token_1);
 
-  shared_worker_service()->RemoveFrameClientFromWorker(shared_worker_token_2,
-                                                       render_frame_host_id);
+  shared_worker_service()->RemoveClient(shared_worker_token_2,
+                                        render_frame_host_id);
   shared_worker_service()->DestroySharedWorker(shared_worker_token_2);
 }
 
@@ -941,29 +1261,36 @@
   int render_process_id = process_node_source()->CreateProcessNode();
 
   // Create the frame node.
+  int frame_tree_node_id = GenerateNextId();
   content::GlobalFrameRoutingId render_frame_host_id =
       frame_node_source()->CreateFrameNode(
           render_process_id,
           process_node_source()->GetProcessNode(render_process_id));
 
   // Create a worker of each type.
-  const blink::DedicatedWorkerToken& token =
+  const blink::DedicatedWorkerToken& dedicated_worker_token =
       dedicated_worker_service()->CreateDedicatedWorker(render_process_id,
                                                         render_frame_host_id);
   const blink::SharedWorkerToken& shared_worker_token =
       shared_worker_service()->CreateSharedWorker(render_process_id);
   int64_t service_worker_version_id =
-      service_worker_context()->StartServiceWorker(render_process_id);
+      service_worker_context()->CreateServiceWorker();
+  service_worker_context()->StartServiceWorker(service_worker_version_id,
+                                               render_process_id);
 
-  // Connect the frame to the shared worker.
-  shared_worker_service()->AddFrameClientToWorker(shared_worker_token,
-                                                  render_frame_host_id);
-  service_worker_context()->AddFrameClientToWorker(service_worker_version_id,
-                                                   render_frame_host_id);
+  // Connect the frame to the shared worker and the service worker. Note that it
+  // is already connected to the dedicated worker.
+  shared_worker_service()->AddClient(shared_worker_token, render_frame_host_id);
+  std::string service_worker_client_uuid = service_worker_context()->AddClient(
+      service_worker_version_id,
+      content::ServiceWorkerClientInfo(frame_tree_node_id));
+  service_worker_context()->OnControlleeNavigationCommitted(
+      service_worker_version_id, service_worker_client_uuid,
+      render_frame_host_id);
 
   // Check that everything is wired up correctly.
   CallOnGraphAndWait(base::BindLambdaForTesting(
-      [dedicated_worker_node = GetDedicatedWorkerNode(token),
+      [dedicated_worker_node = GetDedicatedWorkerNode(dedicated_worker_token),
        shared_worker_node = GetSharedWorkerNode(shared_worker_token),
        service_worker_node = GetServiceWorkerNode(service_worker_version_id),
        client_frame_node = frame_node_source()->GetFrameNode(
@@ -973,16 +1300,14 @@
         EXPECT_TRUE(graph->NodeInGraph(service_worker_node));
         EXPECT_TRUE(IsWorkerClient(dedicated_worker_node, client_frame_node));
         EXPECT_TRUE(IsWorkerClient(shared_worker_node, client_frame_node));
-        // TODO(pmonette): Change the following to EXPECT_TRUE when the
-        //                 service worker node gets hooked up correctly.
-        EXPECT_FALSE(IsWorkerClient(service_worker_node, client_frame_node));
+        EXPECT_TRUE(IsWorkerClient(service_worker_node, client_frame_node));
       }));
 
   frame_node_source()->DeleteFrameNode(render_frame_host_id);
 
-  // Check that the worker is no longer connected to the deleted frame.
+  // Check that the workers are no longer connected to the deleted frame.
   CallOnGraphAndWait(base::BindLambdaForTesting(
-      [dedicated_worker_node = GetDedicatedWorkerNode(token),
+      [dedicated_worker_node = GetDedicatedWorkerNode(dedicated_worker_token),
        shared_worker_node = GetSharedWorkerNode(shared_worker_token),
        service_worker_node =
            GetServiceWorkerNode(service_worker_version_id)](GraphImpl* graph) {
@@ -994,14 +1319,15 @@
         EXPECT_TRUE(service_worker_node->client_frames().empty());
       }));
 
-  // The watcher is still expecting a worker removed notification.
-  service_worker_context()->RemoveFrameClientFromWorker(
-      service_worker_version_id, render_frame_host_id);
+  // Clean up. The watcher is still expecting a worker removed notification.
+  service_worker_context()->RemoveClient(service_worker_version_id,
+                                         service_worker_client_uuid);
   service_worker_context()->StopServiceWorker(service_worker_version_id);
-  shared_worker_service()->RemoveFrameClientFromWorker(shared_worker_token,
-                                                       render_frame_host_id);
+  service_worker_context()->DestroyServiceWorker(service_worker_version_id);
+  shared_worker_service()->RemoveClient(shared_worker_token,
+                                        render_frame_host_id);
   shared_worker_service()->DestroySharedWorker(shared_worker_token);
-  dedicated_worker_service()->DestroyDedicatedWorker(token);
+  dedicated_worker_service()->DestroyDedicatedWorker(dedicated_worker_token);
 }
 
 }  // namespace performance_manager
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json
index f3d20a0..97fe9fcb 100644
--- a/components/policy/resources/policy_templates.json
+++ b/components/policy/resources/policy_templates.json
@@ -9325,16 +9325,14 @@
       'features': {
         'dynamic_refresh': True,
       },
-      'deprecated': True,
       'example_value': [ 'madmax@managedchrome.com' ],
       'id': 122,
       'caption': '''Login user white list''',
       'tags': [],
       'desc': '''Defines the list of users that are allowed to login to the device. Entries are of the form <ph name="USER_ALLOWLIST_ENTRY_FORMAT">user@domain</ph>, such as <ph name="USER_ALLOWLIST_ENTRY_EXAMPLE">madmax@managedchrome.com</ph>. To allow arbitrary users on a domain, use entries of the form <ph name="USER_ALLOWLIST_ENTRY_WILDCARD">*@domain</ph>.
 
-      If this policy is not configured, there are no restrictions on which users are allowed to sign in. Note that creating new users still requires the <ph name="DEVICE_ALLOW_NEW_USERS_POLICY_NAME">DeviceAllowNewUsers</ph> policy to be configured appropriately.
+      If this policy is not configured, there are no restrictions on which users are allowed to sign in. Note that creating new users still requires the <ph name="DEVICE_ALLOW_NEW_USERS_POLICY_NAME">DeviceAllowNewUsers</ph> policy to be configured appropriately.''',
 
-      This policy is deprecated, please use <ph name="DEVICE_USER_ALLOWLIST_POLICY_NAME">DeviceUserAllowlist</ph> instead.''',
       'arc_support': 'This policy controls who may start a <ph name="PRODUCT_OS_NAME">$2<ex>Chromium OS</ex></ph> session. It does not prevent users from signing in to additional Google accounts within Android. If you want to prevent this, configure the Android-specific <ph name="ACCOUNT_TYPES_WITH_MANAGEMENT_DISABLED_CLOUDDPC_POLICY_NAME">accountTypesWithManagementDisabled</ph> policy as part of <ph name="ARC_POLICY_POLICY_NAME">ArcPolicy</ph>.',
     },
     {
@@ -9346,7 +9344,7 @@
         'items': { 'type': 'string' },
         'sensitiveValue': True,
       },
-      'supported_on': ['chrome_os:86-'],
+      'future_on': ['chrome_os'],
       'device_only': True,
       'features': {
         'dynamic_refresh': True,
@@ -14351,7 +14349,6 @@
       'features': {
         'dynamic_refresh': False,
       },
-      'deprecated': True,
       'example_value': [
         {
           'vendor_id' : 1027,
@@ -14367,9 +14364,7 @@
       'tags': ['system-security'],
       'desc': '''Setting the policy defines the list of USB devices users can detach from their kernel driver to use through the chrome.usb API directly inside a web app. Entries are pairs of USB Vendor Identifier and Product Identifier to identify specific hardware.
 
-      If not set, the list of a detachable USB devices is empty.
-
-      This policy is deprecated, please use <ph name="USB_DETACHABLE_ALLOWLIST">UsbDetachableAllowlist</ph> instead.''',
+      If not set, the list of a detachable USB devices is empty.''',
     },
     {
       'name': 'UsbDetachableAllowlist',
@@ -14386,7 +14381,7 @@
           },
         },
       },
-      'supported_on': ['chrome_os:86-'],
+      'future_on': ['chrome_os'],
       'device_only': True,
       'features': {
         'dynamic_refresh': False,
@@ -15504,7 +15499,6 @@
         'dynamic_refresh': True,
         'per_profile': False,
       },
-      'deprecated': True,
       'example_value': {
         "url": "https://example.com/printerpolicy",
         "hash": "deadbeefdeadbeefdeadbeefdeadbeefdeafdeadbeefdeadbeef"
@@ -15520,15 +15514,13 @@
 
       The file is downloaded and cached. It will be re-downloaded whenever the URL or the hash changes.
 
-      If this policy is set, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will download the file for printer configurations and make printers available in accordance with <ph name="DEVICE_NATIVE_PRINTERS_ACCESS_MODE">DeviceNativePrintersAccessMode</ph>, <ph name="DEVICE_PRINTERS_ALLOWLIST">DevicePrintersAllowlist</ph>, and <ph name="DEVICE_PRINTERS_BLOCKLIST">DevicePrintersBlocklist</ph>.
+      If this policy is set, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will download the file for printer configurations and make printers available in accordance with <ph name="DEVICE_NATIVE_PRINTERS_ACCESS_MODE">DeviceNativePrintersAccessMode</ph>, <ph name="DEVICE_NATIVE_PRINTERS_WHITELIST_POLICY_NAME">DeviceNativePrintersWhitelist</ph>, and <ph name="DEVICE_NATIVE_PRINTERS_BLACKLIST_POLICY_NAME">DeviceNativePrintersBlacklist</ph>.
 
       This policy has no effect on whether users can configure printers on individual devices.  It is intended to be supplementary to the configuration of printers by individual users.
 
       This policy is additive to the <ph name="BULK_PRINTERS_POLICY_NAME">NativePrintersBulkConfiguration</ph>.
 
       If this policy is unset, there will be no device printers and the other <ph name="DEVICE_NATIVE_PRINTERS_POLICY_PATTERN">DeviceNativePrinter*</ph> policies will be ignored.
-
-      This policy is deprecated, please use <ph name="DEVICE_PRINTERS">DevicePrinters</ph> instead.
       ''',
     },
     {
@@ -15563,7 +15555,6 @@
         'dynamic_refresh': True,
         'per_profile': False,
       },
-      'deprecated': True,
       'example_value': 1,
       'caption': '''Device printers configuration access policy.''',
       'tags': [],
@@ -15572,8 +15563,6 @@
       Designates which access policy is used for bulk printer configuration. If <ph name="PRINTERS_ALLOW_ALL">AllowAll</ph> is selected, all printers are shown. If <ph name="PRINTERS_BLACKLIST">BlacklistRestriction</ph> is selected, <ph name="DEVICE_NATIVE_PRINTERS_BLACKLIST">DeviceNativePrintersBlacklist</ph> is used to restrict access to the specified printers.  If <ph name="PRINTERS_WHITELIST">WhitelistPrintersOnly</ph> is selected, <ph name="DEVICE_NATIVE_PRINTERS_WHITELIST">DevicePrintersWhitelist</ph> designates only those printers which are selectable.
 
       If this policy is not set, <ph name="PRINTERS_ALLOW_ALL">AllowAll</ph> is assumed.
-
-      This policy is deprecated, please use <ph name="DEVICE_PRINTERS_ACCESS_MODE">DevicePrintersAccessMode</ph> instead.
       ''',
     },
     {
@@ -15590,7 +15579,6 @@
       'features': {
         'dynamic_refresh': True,
       },
-      'deprecated': True,
       'example_value':  ["id1", "id2", "id3"],
       'caption': '''Disabled enterprise device printers''',
       'tags': [],
@@ -15599,8 +15587,6 @@
       This policy is only used if <ph name="PRINTERS_BLACKLIST">BlacklistRestriction</ph> is chosen for <ph name="DEVICE_NATIVE_PRINTERS_ACCESS_MODE">DeviceNativePrintersAccessMode</ph>.
 
       If this policy is used, all printers are provided to the user except for the ids listed in this policy. The ids must correspond to the "id" or "guid" fields in the file specified in <ph name="DEVICE_PRINTERS_POLICY">DeviceNativePrinters</ph>.
-
-      This policy is deprecated, please use <ph name="DEVICE_PRINTERS_BLOCKLIST">DevicePrintersBlocklist</ph> instead.
       ''',
     },
     {
@@ -15614,7 +15600,6 @@
         'type': 'array',
         'items': { 'type': 'string' },
       },
-      'deprecated': True,
       'features': {
         'dynamic_refresh': True,
         'per_profile': False,
@@ -15627,8 +15612,6 @@
       This policy is only used if <ph name="PRINTERS_WHITELIST">WhitelistPrintersOnly</ph> is chosen for <ph name="DEVICE_NATIVE_PRINTERS_ACCESS_MODE">DeviceNativePrintersAccessMode</ph>
 
       If this policy is used, only the printers with ids matching the values in this policy are available to the user. The ids must correspond to the "id" or "guid" fields in the file specified in <ph name="DEVICE_PRINTERS_POLICY">DeviceNativePrinters</ph>.
-
-      This policy is deprecated, please use <ph name="DEVICE_PRINTERS_ALLOWLIST">DevicePrintersAllowlist</ph> instead.
       ''',
     },
     {
@@ -15644,7 +15627,7 @@
           'hash': { 'type': 'string' }
         },
       },
-      'supported_on': ['chrome_os:86-'],
+      'future_on': ['chrome_os'],
       'features': {
         'dynamic_refresh': True,
         'per_profile': False,
@@ -15664,7 +15647,7 @@
 
       The file is downloaded and cached. It will be re-downloaded whenever the URL or the hash changes.
 
-      If this policy is set, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will download the file for printer configurations and make printers available in accordance with <ph name="DEVICE_PRINTERS_ACCESS_MODE">DevicePrintersAccessMode</ph>, <ph name="DEVICE_PRINTERS_ALLOWLIST">DevicePrintersAllowlist</ph>, and <ph name="DEVICE_PRINTERS_BLOCKLIST">DevicePrintersBlocklist</ph>.
+      If this policy is set, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will download the file for printer configurations and make printers available in accordance with <ph name="DEVICE_PRINTERS_ACCESS_MODE_POLICY_NAME">DevicePrintersAccessMode</ph>, <ph name="DEVICE_PRINTERS_ALLOWLIST_POLICY_NAME">DevicePrintersAllowlist</ph>, and <ph name="DEVICE_PRINTERS_BLOCKLIST_POLICY_NAME">DevicePrintersBlocklist</ph>.
 
       This policy has no effect on whether users can configure printers on individual devices.  It is intended to be supplementary to the configuration of printers by individual users.
 
@@ -15678,7 +15661,7 @@
       'owners': ['skau@chromium.org', 'nikitapodguzov@chromium.org'],
       'id': 733,
       'device_only': True,
-      'supported_on': ['chrome_os:86-'],
+      'future_on': ['chrome_os'],
       'type': 'int-enum',
       'schema': {
         'type': 'integer',
@@ -15708,9 +15691,9 @@
       'example_value': 1,
       'caption': '''Device printers configuration access policy.''',
       'tags': [],
-      'desc': '''Controls which printers from the <ph name="DEVICE_PRINTERS_POLICY">DeviceNativePrinters</ph> are available to users.
+      'desc': '''Controls which printers from the <ph name="DEVICE_PRINTERS_POLICY_NAME">DevicePrinters</ph> are available to users.
 
-      Designates which access policy is used for bulk printer configuration. If <ph name="PRINTERS_ALLOW_ALL">AllowAll</ph> is selected, all printers are shown. If <ph name="PRINTERS_BLOCKLIST">BlocklistRestriction</ph> is selected, <ph name="DEVICE_PRINTERS_BLOCKLIST">DevicePrintersBlocklist</ph> is used to restrict access to the specified printers.  If <ph name="PRINTERS_ALLOWLIST">AllowlistPrintersOnly</ph> is selected, <ph name="DEVICE_PRINTERS_ALLOWLIST">DevicePrintersAllowlist</ph> designates only those printers which are selectable.
+      Designates which access policy is used for bulk printer configuration. If <ph name="PRINTERS_ALLOW_ALL">AllowAll</ph> is selected, all printers are shown. If <ph name="PRINTERS_BLOCKLIST">BlocklistRestriction</ph> is selected, <ph name="DEVICE_PRINTERS_BLOCKLIST_POLICY_NAME">DevicePrintersBlocklist</ph> is used to restrict access to the specified printers.  If <ph name="PRINTERS_ALLOWLIST">AllowlistPrintersOnly</ph> is selected, <ph name="DEVICE_PRINTERS_ALLOWLIST_POLICY_NAME">DevicePrintersAllowlist</ph> designates only those printers which are selectable.
 
       If this policy is not set, <ph name="PRINTERS_ALLOW_ALL">AllowAll</ph> is assumed.
       ''',
@@ -15718,7 +15701,7 @@
     {
       'name': 'DevicePrintersBlocklist',
       'owners': ['skau@chromium.org', 'nikitapodguzov@chromium.org', 'bmalcolm@chromium.org'],
-      'supported_on': ['chrome_os:86-'],
+      'future_on': ['chrome_os'],
       'device_only': True,
       'id': 734,
       'type': 'list',
@@ -15734,15 +15717,15 @@
       'tags': [],
       'desc': '''Specifies the printers which a user cannot use.
 
-      This policy is only used if <ph name="PRINTERS_BLOCKLIST">BlocklistRestriction</ph> is chosen for <ph name="DEVICE_PRINTERS_ACCESS_MODE">DevicePrintersAccessMode</ph>.
+      This policy is only used if <ph name="PRINTERS_BLOCKLIST">BlocklistRestriction</ph> is chosen for <ph name="DEVICE_PRINTERS_ACCESS_MODE_POLICY_NAME">DevicePrintersAccessMode</ph>.
 
-      If this policy is used, all printers are provided to the user except for the ids listed in this policy. The ids must correspond to the "id" or "guid" fields in the file specified in <ph name="DEVICE_PRINTERS_POLICY">DeviceNativePrinters</ph>.
+      If this policy is used, all printers are provided to the user except for the ids listed in this policy. The ids must correspond to the "id" or "guid" fields in the file specified in <ph name="DEVICE_PRINTERS_POLICY_NAME">DevicePrinters</ph>.
       ''',
     },
     {
       'name': 'DevicePrintersAllowlist',
       'owners': ['skau@chromium.org', 'nikitapodguzov@chromium.org', 'bmalcolm@chromium.org'],
-      'supported_on': ['chrome_os:86-'],
+      'future_on': ['chrome_os'],
       'device_only': True,
       'id': 735,
       'type': 'list',
@@ -15759,9 +15742,9 @@
       'tags': [],
       'desc': '''Specifies the printers which a user can use.
 
-      This policy is only used if <ph name="PRINTERS_ALLOWLIST">AllowlistPrintersOnly</ph> is chosen for <ph name="DEVICE_PRINTERS_ACCESS_MODE">DevicePrintersAccessMode</ph>
+      This policy is only used if <ph name="PRINTERS_ALLOWLIST">AllowlistPrintersOnly</ph> is chosen for <ph name="DEVICE_PRINTERS_ACCESS_MODE_POLICY_NAME">DevicePrintersAccessMode</ph>
 
-      If this policy is used, only the printers with ids matching the values in this policy are available to the user. The ids must correspond to the "id" or "guid" fields in the file specified in <ph name="DEVICE_PRINTERS_POLICY">DeviceNativePrinters</ph>.
+      If this policy is used, only the printers with ids matching the values in this policy are available to the user. The ids must correspond to the "id" or "guid" fields in the file specified in <ph name="DEVICE_PRINTERS_POLICY_NAME">DevicePrinters</ph>.
       ''',
     },
     {
@@ -23205,6 +23188,32 @@
        If the policy is disabled, warnings will not be shown for insecure forms, and autofill will work normally.''',
     },
     {
+      'name': 'LookalikeWarningAllowlistDomains',
+      'owners': ['file://chrome/browser/lookalikes/OWNERS'],
+      'type': 'list',
+      'schema': {
+        'type': 'array',
+        'items': { 'type': 'string' },
+      },
+      'supported_on': ['chrome.*:86-', 'chrome_os:86-', 'android:86-'],
+      'features': {
+        'dynamic_refresh': True,
+        'per_profile': True,
+      },
+      'example_value': ['foo.example.com','example.org'],
+      'id': 782,
+      'caption': '''Suppress lookalike domain warnings on domains''',
+      'tags': ['system-security', 'website-sharing'],
+      'desc': '''This policy prevents the display of lookalike URL warnings on the sites listed. These warnings are typically shown on sites that <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> believes might be trying to spoof another site the user is familiar with.
+
+       If the policy is enabled and set to one or more domains, no lookalike warnings pages will be shown when the user visits pages on that domain.
+
+       If the policy is disabled, not set, or set to an empty list, warnings may appear on any site the user visits.
+
+       A hostname can be allowed with a complete host match, or any domain match. For example, a URL like "https://foo.example.com/bar" may have warnings suppressed if this list includes either "foo.example.com" or "example.com".'''
+
+    },
+    {
       'name': 'CCTToSDialogEnabled',
       'owners': ['skym@chromium.org', 'wenyufu@chromium.org', 'twellington@chromium.org'],
       'type': 'main',
@@ -24171,6 +24180,6 @@
   ],
   'placeholders': [],
   'deleted_policy_ids': [412, 476, 546, 562, 569, 578],
-  'highest_id_currently_used': 781,
+  'highest_id_currently_used': 782,
   'highest_atomic_group_id_currently_used': 40
 }
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index 480acc9..49783a5 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -1070,11 +1070,6 @@
       Falls die Richtlinie nicht konfiguriert ist, kommt die Standardeinstellung zum Einsatz, bei der die Funktion von verwalteten Nutzern nicht verwendet und von nicht verwalteten Nutzern verwendet werden kann.</translation>
 <translation id="2660846099862559570">Nie Proxy verwenden</translation>
 <translation id="2665422249821137126">Großen Cursor auf der Anmeldeseite aktivieren</translation>
-<translation id="266882888912227087"> Steuert die Benachrichtigung zum automatischen Start der verwalteten Gastsitzung unter <ph name="PRODUCT_OS_NAME" />.
-
-      Ist die Richtlinie auf "true" gesetzt, wird die Benachrichtigung mit der Datenschutzwarnung nach einigen Sekunden geschlossen.
-
-      Ist die Richtlinie auf "false" gesetzt oder nicht konfiguriert, bleibt die Benachrichtigung mit der Datenschutzwarnung angepinnt, bis der Nutzer sie schließt.</translation>
 <translation id="2672012807430078509">Steuerung, durch die NTLM als Authentifizierungsprotokoll für SMB-Bereitstellungen aktiviert wird</translation>
 <translation id="2678503605767349615">Erforderliche geräteübergreifende Clientzertifikate</translation>
 <translation id="268577405881275241">Funktion für Datenkomprimierungs-Proxy aktivieren</translation>
@@ -2467,7 +2462,6 @@
       <ph name="PAGE_SIZE_NAME" /> sollte eines der aufgelisteten Formate oder "custom" enthalten, wenn sich die erforderliche Papiergröße nicht in der Liste befindet. Wenn der Wert "custom" angegeben wird, sollte die Property "<ph name="PAGE_SIZE_CUSTOM_SIZE" />" festgelegt werden. Sie beschreibt die gewünschte Höhe und Breite in Mikrometern. In anderen Fällen sollte die Property "<ph name="PAGE_SIZE_CUSTOM_SIZE" />" nicht verwendet werden. Richtlinien, die gegen diese Regeln verstoßen, werden ignoriert.
 
       Wenn die Seitengröße auf dem vom Nutzer gewählten Drucker nicht verfügbar ist, wird diese Richtlinie ignoriert.</translation>
-<translation id="479290425281021210">Gibt an, ob unsichere Websites Anfragen an eher private Netzwerk-Endpunkte senden dürfen.</translation>
 <translation id="4802744647065138872">Begrenzt die Anzahl der Snapshots von Nutzerdaten, die für den Fall eines Notfall-Rollbacks aufbewahrt werden.</translation>
 <translation id="4802905909524200151">Updateverhalten von <ph name="TPM_FIRMWARE_UPDATE_TPM" />-Firmware konfigurieren</translation>
 <translation id="4804828344300125154">Nach Nutzerabmeldung immer neu starten.</translation>
@@ -3825,13 +3819,6 @@
 
       Wenn die Richtlinie deaktiviert ist, wird stattdessen eine Fehlermeldung angezeigt,</translation>
 <translation id="6821268164692776674"><ph name="CLOUD_PRINT_NAME" />- und "In Google Drive speichern"-Ziele</translation>
-<translation id="6823297401452148231">Diese Richtlinie legt fest, ob unsichere Websites Anfragen an eher private Netzwerk-Endpunkte senden dürfen. Sie entscheidet z. B. darüber, ob http://evil.com Anfragen sowohl an "localhost" als auch an Endpunkte des privaten Netzwerks senden darf, wobei beide nicht öffentlich über das Internet zugänglich sind. Weitere Informationen finden Sie unter https://wicg.github.io/cors-rfc1918/#goals.
-
-          Wenn diese Richtlinie nicht konfiguriert ist, hängt das Standardverhalten bei Anfragen aus unsicheren Kontexten an eher private Netzwerk-Endpunkte von der persönlichen Konfiguration der Funktion "<ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />" durch den Nutzer ab. Diese kann im Rahmen einer Testphase oder in der Befehlszeile festgelegt werden.
-
-          Wenn diese Richtlinie auf "False" gesetzt ist, ist es unsicheren Websites nicht gestattet, Anfragen an eher private Netzwerk-Endpunkte zu senden. Das bedeutet, dass es unsicheren Websites, die durch öffentliche IP-Adressen bereitgestellt werden, nicht gestattet ist, Anfragen an localhost oder private IP-Adressen zu senden. Unsicheren Websites, die durch private IP-Adressen bereitgestellt werden, ist es nicht gestattet, Anfragen an localhost zu senden.
-
-          Wenn die Richtlinie auf "True" gesetzt ist, dürfen unsichere Websites vorbehaltlich anderer Cross-Origin-Checks Anfragen an alle Netzwerk-Endpunkte senden.</translation>
 <translation id="6833064854262015312">Wenn Sie die Richtlinie auf "True" setzen, wird der Modus mit hohem Kontrast auf dem Anmeldebildschirm aktiviert. Wenn Sie die Richtlinie auf "False" setzen, wird der Modus mit hohem Kontrast auf dem Anmeldebildschirm deaktiviert.
 
       Wenn Sie diese Richtlinie konfigurieren, können Nutzer vorübergehend den Modus mit hohem Kontrast aktivieren oder deaktivieren. Wenn der Anmeldebildschirm neu geladen wird oder eine Minute lang inaktiv bleibt, wird er in den Originalzustand zurückversetzt.
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index f34e577b..fbc64cb 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -1090,11 +1090,6 @@
       Si no se establece esta política, los usuarios administrados no podrán usar la configuración predeterminada, pero los usuarios no administrados sí podrán usarla.</translation>
 <translation id="2660846099862559570">Nunca usar un proxy</translation>
 <translation id="2665422249821137126">Habilita el cursor grande en la pantalla de acceso</translation>
-<translation id="266882888912227087"> Controla las notificaciones de inicio automático de la sesión de invitado administrada en <ph name="PRODUCT_OS_NAME" />.
-
-      Si se establece esta política como verdadera, se cerrará la notificación de advertencia de privacidad después de unos segundos.
-
-      Si se establece esta política como falsa o no se establece, se fijará la notificación de advertencia de privacidad hasta que el usuario la descarte.</translation>
 <translation id="2672012807430078509">Controlar el uso de NTLM como protocolo de autenticación para las activaciones de archivos compartidos SMB</translation>
 <translation id="2678503605767349615">Certificados de cliente obligatorios en todo el dispositivo</translation>
 <translation id="268577405881275241">Habilitar la función del proxy de compresión de datos</translation>
@@ -2483,7 +2478,6 @@
       <ph name="PAGE_SIZE_NAME" /> debe contener uno de los formatos incluidos o "personalizado" si el tamaño del papel necesario no está en la lista. Si se proporciona un valor "personalizado", se debe especificar la propiedad <ph name="PAGE_SIZE_CUSTOM_SIZE" />. Describe el ancho y altura deseados en micrómetros. De lo contrario, no se debe especificar la propiedad <ph name="PAGE_SIZE_CUSTOM_SIZE" />. Se ignorará la política que infrinja estas reglas.
 
       Si el tamaño de la página no está disponible en la impresora que elija el usuario, se ignorará esta política.</translation>
-<translation id="479290425281021210">Especifica si se permite que los sitios web no seguros envíen solicitudes a extremos de red más privados</translation>
 <translation id="4802744647065138872">Limita la cantidad de instantáneas sobre los datos del usuario que se conservan en caso de tener que realizar reversión de emergencia.</translation>
 <translation id="4802905909524200151">Configurar el comportamiento de actualización del firmware <ph name="TPM_FIRMWARE_UPDATE_TPM" /></translation>
 <translation id="4804828344300125154">Reinicia siempre cuando el usuario sale de su cuenta.</translation>
@@ -2928,7 +2922,7 @@
       Si no se configura esta política, los usuarios podrán elegir la imagen de avatar que los identifique en la pantalla de acceso.</translation>
 <translation id="5431392643649571773">Si habilitas la política, la función de <ph name="PRODUCT_NAME" /> permite el uso de la Memoria caché atrás/adelante. Cuando sales de una página durante la navegación, se puede preservar su estado actual (árbol de documentos, secuencia de comandos, etc.) en la Memoria caché atrás/adelante. Si regresas a esa página, es posible restablecerla desde la Memoria caché atrás/adelante y mostrarla en el estado en el que estaba antes de que se almacenara en caché.
 
-          Esta función puede causar problemas para algunos sitios web que no esperan este almacenamiento en caché. Específicamente, algunos sitios dependen del envío del evento "<ph name="UNLOAD_HANDLER_NAME" />" cuando el usuario abandona la página en el navegador. Si la página utiliza la función Memoria caché atrás/adelante, no se enviará el evento "<ph name="UNLOAD_HANDLER_NAME" />".
+          Esta función puede causar problemas en algunos sitios web que no esperan este almacenamiento en caché. Específicamente, algunos sitios dependen del envío del evento "<ph name="UNLOAD_HANDLER_NAME" />" cuando el usuario abandona la página en el navegador. Si la página utiliza la función Memoria caché atrás/adelante, no se enviará el evento "<ph name="UNLOAD_HANDLER_NAME" />".
 
           Si habilitas esta política o no la estableces,
           se activará la función <ph name="PRODUCT_NAME" />.
@@ -3836,13 +3830,6 @@
 
       Si inhabilitas la política, se mostrará un mensaje de error en lugar de la solicitud de configuración de red.</translation>
 <translation id="6821268164692776674">Destinos <ph name="CLOUD_PRINT_NAME" /> y "Guardar en Google Drive"</translation>
-<translation id="6823297401452148231">Controla si los sitios web no seguros pueden enviar solicitudes a extremos de red más privados. P. ej., controla si http://evil.com puede enviar solicitudes a "localhost" y a extremos de la red privada, inaccesibles desde la red pública de Internet. Para obtener más información, consulta https://wicg.github.io/cors-rfc1918/#goals.
-
-          Si no se establece esta política, el comportamiento predeterminado para las solicitudes que se envíen desde contextos no seguros a extremos de red más privados dependerá de la configuración personal del usuario con respecto a la función <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />, la cual se puede establecer en una prueba de campo o en la línea de comandos.
-
-          Si la estableces como falsa, los sitios web no seguros tendrán prohibido enviar solicitudes a extremos de red más privados. Es decir, se impedirá que los sitios web no seguros que provengan de direcciones IP públicas envíen solicitudes a localhost y a direcciones IP privadas. Los sitios web no seguros que provengan de direcciones IP privadas tendrán prohibido enviar solicitudes a localhost.
-
-          Si estableces esta política como verdadera, los sitios web no seguros podrán enviar solicitudes a cualquier extremo de red, sujeto a otras verificaciones de cross-origin.</translation>
 <translation id="6833064854262015312">Si estableces el valor "True" para la política, se activará el modo de contraste alto en la pantalla de acceso. Si estableces el valor "False", se desactivará el modo de contraste alto en esta pantalla.
 
       Si configuras la política, los usuarios podrán activar o desactivar el modo de contraste alto de forma temporal. Cuando la pantalla de acceso se actualice o permanezca inactiva durante un minuto, los comentarios se revertirán a su estado original.
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index 58317d22..2dc6428 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -1092,11 +1092,6 @@
       Si no se define esta política, no estará disponible de forma predeterminada para los usuarios administrados pero sí lo estará para los no administrados.</translation>
 <translation id="2660846099862559570">No utilizar nunca un proxy</translation>
 <translation id="2665422249821137126">Habilitar el cursor grande en la pantalla de inicio de sesión</translation>
-<translation id="266882888912227087"> Controla las notificaciones de inicio automático de las sesiones de invitado administradas en <ph name="PRODUCT_OS_NAME" />.
-
-      Si se asigna el valor "True" a esta política, la notificación de advertencia de privacidad se cerrará después de unos segundos.
-
-      Si se le asigna el valor "False" o no se le asigna ningún valor, la notificación de advertencia de privacidad permanecerá fijada hasta que el usuario la cierre.</translation>
 <translation id="2672012807430078509">Controla la habilitación de NTLM como protocolo de autenticación para activaciones SMB.</translation>
 <translation id="2678503605767349615">Certificados de cliente de todo el dispositivo obligatorios</translation>
 <translation id="268577405881275241">Habilitar la función del proxy de compresión de datos</translation>
@@ -1488,7 +1483,7 @@
 <translation id="3264793472749429012">Codificaciones del proveedor de búsquedas predeterminadas</translation>
 <translation id="3273221114520206906">Configuración de JavaScript predeterminada</translation>
 <translation id="3284094172359247914">Controlar el uso de la API WebUSB</translation>
-<translation id="3288595667065905535">Versión</translation>
+<translation id="3288595667065905535">Canal de lanzamiento</translation>
 <translation id="3292147213643666827">Permite que <ph name="PRODUCT_NAME" /> actúe como proxy entre <ph name="CLOUD_PRINT_NAME" /> y las impresoras anteriores conectadas al ordenador.
 
       Si esta opción se habilita o no se configura, los usuarios podrán habilitar el proxy de Google Cloud Print si realizan el proceso de autenticación con sus cuentas de Google.
@@ -2501,7 +2496,6 @@
       <ph name="PAGE_SIZE_NAME" /> debe contener uno de los formatos incluidos en la lista, o "personalizado" si el tamaño del papel necesario no está en la lista. Si se proporciona un valor "personalizado", se debe especificar la propiedad <ph name="PAGE_SIZE_CUSTOM_SIZE" />. Describe el ancho y altura deseados en micrómetros. De lo contrario, no se debe especificar la propiedad <ph name="PAGE_SIZE_CUSTOM_SIZE" />. Se ignorará la política que infrinja estas reglas.
 
       Si el tamaño de la página no está disponible en la impresora que elija el usuario, se ignorará esta política.</translation>
-<translation id="479290425281021210">Especificar si se permite que los sitios web no seguros envíen peticiones a puntos de conexión más privados de la red.</translation>
 <translation id="4802744647065138872">Limita el número de instantáneas de datos de usuario retenidas para usarlas en caso de restauración de emergencia.</translation>
 <translation id="4802905909524200151">Configurar comportamiento de actualización del firmware de <ph name="TPM_FIRMWARE_UPDATE_TPM" /></translation>
 <translation id="4804828344300125154">Reiniciar siempre cuando el usuario cierre sesión.</translation>
@@ -3683,7 +3677,7 @@
 <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>
-<translation id="6544897973797372144">Si el valor correspondiente a esta política se establece en True y no se especifica la política ChromeOsReleaseChannel, los usuarios del dominio pertinente podrán cambiar el canal de versiones del dispositivo. Si el valor de esta política se establece en False, el dispositivo se bloqueará en el último canal configurado.
+<translation id="6544897973797372144">Si el valor correspondiente a esta política se establece en True y no se especifica la política ChromeOsReleaseChannel, los usuarios del dominio pertinente podrán cambiar el canal de lanzamiento del dispositivo. Si el valor de esta política se establece en False, el dispositivo se bloqueará en el último canal configurado.
 
       La política ChromeOsReleaseChannel anulará el canal seleccionado por el usuario, pero, si el canal de la política es más estable que el instalado en el dispositivo, este se podrá cambiar únicamente después de que la versión del canal más estable supere a la instalada en el dispositivo.</translation>
 <translation id="6548795012081567926">Permite definir una lista de patrones de URL donde se especifica qué sitios web pueden establecer cookies.
@@ -3862,13 +3856,6 @@
 
       Si se le asigna el valor "Disabled", se mostrará un mensaje de error en lugar de la solicitud de configuración de red.</translation>
 <translation id="6821268164692776674">Destinos <ph name="CLOUD_PRINT_NAME" /> y Guardar en Google Drive</translation>
-<translation id="6823297401452148231">Controla si se permite que los sitios web no seguros envíen solicitudes a puntos de conexión más privados de la red. Por ejemplo, controla si se permite que http://evil.com envíe solicitudes a localhost o a puntos de conexión de la red privada (a ninguno de los dos se puede acceder desde el Internet público). Para consultar más información, visita https://wicg.github.io/cors-rfc1918/#goals.
-
-          Si no se establece esta política, el comportamiento predeterminado de las solicitudes desde contextos no seguros a puntos de conexión más privados de la red dependerá de la configuración personal que el usuario aplique a la función <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />, que puede definirse mediante una prueba pública o en la línea de comandos.
-
-          Si se asigna el valor false a esta política, los sitios web no seguros no podrán enviar solicitudes a puntos de conexión más privados de la red. Es decir, los sitios web no seguros con direcciones IP públicas no podrán enviar solicitudes ni a localhost ni a direcciones IP privadas. Los sitios web no seguros con direcciones IP privadas no podrán enviar solicitudes a localhost.
-
-          Si se asigna el valor true a esta política, los sitios web no seguros podrán enviar solicitudes a cualquier punto de conexión de la red (en función de otras comprobaciones de orígenes cruzados).</translation>
 <translation id="6833064854262015312">Si se le asigna el valor "true" a esta política, el modo de contraste alto se activa en la pantalla de inicio de sesión. Si se le asigna el valor "false", el modo de contraste alto se desactiva en la pantalla de inicio de sesión.
 
       Si se configura esta política, los usuarios pueden cambiar temporalmente el modo de contraste alto activándolo o desactivándolo. Cuando la pantalla de inicio de sesión se vuelve a cargar o permanece inactiva durante un minuto, vuelve a su estado original.
@@ -4467,7 +4454,7 @@
       Esta política solo se aplica a usuarios menores de edad.
       Cuando esta política está activada, el código de acceso parental se puede verificar en el dispositivo del menor.
       Cuando esta política está desactivada, no se puede verificar el código de acceso parental en el dispositivo del menor.</translation>
-<translation id="7625444193696794922">Permite especificar el canal de versiones al que se vinculará este dispositivo.</translation>
+<translation id="7625444193696794922">Permite especificar el canal de lanzamiento al que se vinculará este dispositivo.</translation>
 <translation id="7629840767216985001">Si se le asigna el valor "true" a esta política, el cursor grande se activa en la pantalla de inicio de sesión. Si se le asigna el valor "false", el cursor grande se desactiva en la pantalla de inicio de sesión.
 
       Si se configura esta política, los usuarios pueden activar y desactivar temporalmente el cursor grande. Cuando la pantalla de inicio de sesión se vuelve a cargar o permanece inactiva durante un minuto, vuelve a su estado original.
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index c884a449..0d8dda57 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -1100,11 +1100,6 @@
       Si vous ne configurez pas cette règle, le paramètre sera désactivé par défaut pour les utilisateurs gérés et activé par défaut pour les utilisateurs non gérés.</translation>
 <translation id="2660846099862559570">Ne jamais utiliser de proxy</translation>
 <translation id="2665422249821137126">Activer le grand curseur sur l'écran de connexion</translation>
-<translation id="266882888912227087"> Contrôler les notifications de lancement automatique des sessions Invité gérées sur <ph name="PRODUCT_OS_NAME" />.
-
-      Si cette règle est définie sur "True", les avertissements concernant la confidentialité se ferment après quelques secondes.
-
-      Si cette règle est définie sur "False" ou n'est pas configurée, les avertissements concernant la confidentialité restent épinglés jusqu'à ce que l'utilisateur les ferme.</translation>
 <translation id="2672012807430078509">Contrôle l'activation du protocole d'authentification NTLM pour les installations SMB</translation>
 <translation id="2678503605767349615">Certificats clients requis au niveau de l'appareil</translation>
 <translation id="268577405881275241">Activer la fonctionnalité de proxy pour la compression de données</translation>
@@ -2503,7 +2498,6 @@
       La propriété <ph name="PAGE_SIZE_NAME" /> doit contenir l'un des formats répertoriés ou être définie sur "Personnalisé" si le format du papier requis ne figure pas dans la liste. Si elle est définie sur "Personnalisé", il est obligatoire de spécifier également la propriété <ph name="PAGE_SIZE_CUSTOM_SIZE" />. La hauteur et la largeur souhaitées sont exprimées en micromètres. Dans le cas contraire, la propriété <ph name="PAGE_SIZE_CUSTOM_SIZE" /> ne doit pas être renseignée. Toute règle qui ne respecte pas ces consignes sera ignorée.
 
       Si la taille de la page n'est pas disponible pour l'imprimante sélectionnée, cette règle est ignorée.</translation>
-<translation id="479290425281021210">Permet de spécifier si les sites Web non sécurisés sont autorisés à envoyer des requêtes à des points de terminaison plus privés du réseau.</translation>
 <translation id="4802744647065138872">Limite le nombre d'instantanés de données utilisateur retenus en prévision d'un éventuel rollback d'urgence.</translation>
 <translation id="4802905909524200151">Configurer le comportement de la fonctionnalité de mise à jour du micrologiciel <ph name="TPM_FIRMWARE_UPDATE_TPM" /></translation>
 <translation id="4804828344300125154">Redémarrer à chaque déconnexion de l'utilisateur.</translation>
@@ -3856,13 +3850,6 @@
 
       Si cette règle est désactivée, un message d'erreur s'affiche à la place.</translation>
 <translation id="6821268164692776674">Destinations <ph name="CLOUD_PRINT_NAME" /> et "Enregistrer dans Google Drive"</translation>
-<translation id="6823297401452148231">Permet de contrôler si les sites Web non sécurisés sont autorisés à envoyer des requêtes à des points de terminaison plus privés du réseau. Par exemple, cette règle vous permet de contrôler si l'URL http://evil.com est autorisée à envoyer des requêtes aux hôtes locaux ("localhost") et aux points de terminaison du réseau privé, aucun n'étant accessible depuis Internet. Pour en savoir plus, consultez la page https://wicg.github.io/cors-rfc1918/#goals.
-
-          Lorsque cette règle n'est pas configurée, le comportement par défaut des requêtes envoyées depuis des contextes non sécurisés vers des points de terminaison plus privés du réseau dépend de la configuration personnelle de l'utilisateur concernant la fonctionnalité <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />, qui peut être définie lors d'un test ou via une ligne de commande.
-
-          Si cette règle est définie sur "False", les sites Web non sécurisés ne sont pas autorisés à envoyer des requêtes à des points de terminaison plus privés du réseau. Cela signifie que les sites Web non sécurisés desservis par des adresses IP publiques ne peuvent pas envoyer des requêtes à localhost ni aux adresses IP privées. Les sites Web non sécurisés desservis par des adresses IP privées ne peuvent pas envoyer des requêtes à localhost.
-
-          Si cette règle est définie sur "True", les sites Web non sécurisés sont autorisés à envoyer des requêtes à n'importe quel point de terminaison du réseau (d'autres vérifications inter-URL peuvent être réalisées).</translation>
 <translation id="6833064854262015312">Définissez cette règle sur "True" pour activer le mode Contraste élevé sur l'écran de connexion. Définissez-la sur "False" pour désactiver le mode Contraste élevé sur l'écran de connexion.
 
       Si vous définissez cette règle, les utilisateurs peuvent temporairement activer ou désactiver le mode Contraste élevé. Lorsque l'écran de connexion s'actualise ou qu'il reste inactif pendant une minute, il revient à son état d'origine.
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb
index e7460ced8..be31992 100644
--- a/components/policy/resources/policy_templates_id.xtb
+++ b/components/policy/resources/policy_templates_id.xtb
@@ -1094,11 +1094,6 @@
       Jika kebijakan ini tidak ditetapkan, setelan defaultnya adalah tidak diizinkan untuk pengguna yang dikelola dan diizinkan untuk pengguna yang tidak dikelola.</translation>
 <translation id="2660846099862559570">Jangan pernah gunakan proxy</translation>
 <translation id="2665422249821137126">Mengaktifkan kursor besar di layar login</translation>
-<translation id="266882888912227087"> Mengontrol notifikasi otomatis untuk sesi tamu terkelola di <ph name="PRODUCT_OS_NAME" />.
-
-      Jika kebijakan ini ditetapkan ke True, notifikasi peringatan privasi akan ditutup setelah beberapa detik.
-
-      Jika kebijakan ini ditetapkan ke False atau tidak ditetapkan, notifikasi peringatan privasi akan terus ditampilkan hingga pengguna menutupnya.</translation>
 <translation id="2672012807430078509">Kontrol yang mengaktifkan NTLM sebagai protokol autentikasi untuk pemasangan SMB</translation>
 <translation id="2678503605767349615">Sertifikat Klien seluruh perangkat yang diperlukan</translation>
 <translation id="268577405881275241">Aktifkan fitur proxy kompresi data</translation>
@@ -2494,7 +2489,6 @@
       <ph name="PAGE_SIZE_NAME" /> harus berisi salah satu format yang tercantum atau 'kustom' jika ukuran kertas yang diminta tidak ada dalam daftar. Jika nilai 'kustom' ditetapkan, properti <ph name="PAGE_SIZE_CUSTOM_SIZE" /> harus ditentukan. Nilai ini menjelaskan tinggi dan lebar yang diinginkan dalam satuan mikrometer. Jika tidak, properti <ph name="PAGE_SIZE_CUSTOM_SIZE" /> tidak harus ditentukan. Kebijakan yang melanggar aturan ini akan diabaikan.
 
       Jika ukuran halaman tidak tersedia pada printer yang dipilih pengguna, kebijakan ini diabaikan.</translation>
-<translation id="479290425281021210">Menentukan apakah akan mengizinkan situs yang tidak aman untuk membuat permintaan ke endpoint jaringan yang lebih pribadi.</translation>
 <translation id="4802744647065138872">Membatasi jumlah rekaman data pengguna yang disimpan untuk digunakan ketika terjadi rollback darurat.</translation>
 <translation id="4802905909524200151">Mengonfigurasi perilaku update firmware <ph name="TPM_FIRMWARE_UPDATE_TPM" /></translation>
 <translation id="4804828344300125154">Selalu reboot saat pengguna logout.</translation>
@@ -3854,13 +3848,6 @@
 
       Jika kebijakan disetel ke Nonaktif, pesan error akan ditampilkan.</translation>
 <translation id="6821268164692776674">Tujuan <ph name="CLOUD_PRINT_NAME" /> dan 'Simpan ke Google Drive'</translation>
-<translation id="6823297401452148231">Mengontrol apakah situs yang tidak aman diizinkan untuk membuat permintaan ke endpoint jaringan yang lebih pribadi. Misalnya, mengontrol apakah http://evil.com diizinkan untuk membuat permintaan ke `localhost` dan endpoint di jaringan pribadi, yang keduanya tidak dapat diakses dari internet publik. Lihat https://wicg.github.io/cors-rfc1918/#goals untuk detail selengkapnya.
-
-          Jika kebijakan ini tidak disetel, perilaku default untuk permintaan dari konteks yang tidak aman ke endpoint jaringan yang lebih pribadi akan bergantung pada konfigurasi pribadi pengguna untuk fitur <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />, yang dapat disetel berdasarkan uji coba lapangan atau command line.
-
-          Jika kebijakan in disetel ke salah (false), situs yang tidak aman dilarang membuat permintaan ke endpoint jaringan yang lebih pribadi. Artinya, situs tidak aman yang disalurkan dari alamat IP publik dilarang membuat permintaan ke localhost dan alamat IP pribadi. Situs tidak aman yang disalurkan dari alamat IP pribadi dilarang membuat permintaan ke localhost.
-
-          Jika kebijakan ini disetel ke benar (true), situs yang tidak aman diizinkan untuk membuat permintaan ke endpoint jaringan mana saja, bergantung pada pemeriksaan lintas asal lainnya.</translation>
 <translation id="6833064854262015312">Jika kebijakan ditetapkan ke Benar (True), Mode kontras tinggi akan diaktifkan di layar login. Jika kebijakan ditetapkan ke Salah (False), Mode kontras tinggi akan dinonaktifkan di layar login.
 
       Jika kebijakan ditetapkan, pengguna dapat mengaktifkan atau menonaktifkan Mode kontras tinggi untuk sementara. Saat dimuat ulang atau tidak ada aktivitas selama satu menit, layar login akan kembali ke keadaan semula.
@@ -4343,7 +4330,7 @@
 
       <ph name="PRINTER_DISPLAY_NAME" /> dan <ph name="PRINTER_DESCRIPTION" /> adalah string format bebas yang dapat disesuaikan untuk memudahkan pemilihan printer. <ph name="PRINTER_MANUFACTURER" /> dan <ph name="PRINTER_MODEL" /> diberikan agar pengguna akhir mudah mengidentifikasi printer. Keduanya mewakili produsen dan model printer. <ph name="PRINTER_URI" /> harus berupa alamat yang dapat dijangkau dari komputer klien termasuk <ph name="URI_SCHEME" />, <ph name="URI_PORT" />, dan <ph name="URI_QUEUE" />. <ph name="PRINTER_UUID" /> bersifat opsional. Jika tersedia, akan digunakan untuk membantu menghapus duplikat printer <ph name="ZEROCONF_DISCOVERY" />.
 
-      <ph name="PRINTER_EFFECTIVE_MODEL" /> harus mengandung nama printer atau <ph name="PRINTER_AUTOCONF" /> harus ditetapkan ke true. Printer dengan kedua atau tanpa properti apa pun akan diabaikan.
+      <ph name="PRINTER_EFFECTIVE_MODEL" /> harus mengandung nama printer atau <ph name="PRINTER_AUTOCONF" /> harus ditetapkan ke benar. Printer dengan kedua atau tanpa properti apa pun akan diabaikan.
 
       Penyiapan printer diselesaikan pada saat penggunaan printer yang pertama.  PPD tidak didownload sebelum printer digunakan.  Setelah waktu tersebut, PPD yang sering digunakan akan disimpan dalam cache.
 
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index 662f230..87fd060 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -1112,11 +1112,6 @@
       Se questa norma non viene impostata, per impostazione predefinita non sarà disponibile per gli utenti gestiti, mentre lo sarà invece per gli utenti non gestiti.</translation>
 <translation id="2660846099862559570">Non utilizzare mai un proxy</translation>
 <translation id="2665422249821137126">Attiva il puntatore grande nella schermata di accesso</translation>
-<translation id="266882888912227087"> Consente di controllare la notifica sull'avvio automatico della sessione Ospite gestita su <ph name="PRODUCT_OS_NAME" />.
-
-      Se questo criterio viene impostato su True, la notifica di avviso sulla privacy viene chiusa dopo alcuni secondi.
-
-      Se il criterio viene impostato su False o non viene impostato, la notifica di avviso sulla privacy viene bloccata finché non viene ignorata dall'utente.</translation>
 <translation id="2672012807430078509">Controlla l'attivazione del protocollo di autenticazione NTLM per i montaggi SMB</translation>
 <translation id="2678503605767349615">Certificati client a livello di dispositivo richiesti</translation>
 <translation id="268577405881275241">Attiva la funzione proxy di compressione dei dati</translation>
@@ -2532,7 +2527,6 @@
       <ph name="PAGE_SIZE_NAME" /> non dovrebbe contenere uno dei formati elencati o "personalizzato" se la dimensione della carta richiesta non è nell'elenco. Se viene fornito il valore "personalizzato", deve essere specificata la proprietà <ph name="PAGE_SIZE_CUSTOM_SIZE" />. Descrive l'altezza e la larghezza desiderate in micrometri. Diversamente la proprietà <ph name="PAGE_SIZE_CUSTOM_SIZE" /> non deve essere specificata. Il criterio che viola queste regole viene ignorato.
 
       Se le dimensioni della pagina non sono disponibili nella stampante scelta dall'utente, questo criterio viene ignorato.</translation>
-<translation id="479290425281021210">Consente di specificare se consentire ai siti web non sicuri di effettuare richieste agli endpoint di rete con un livello di protezione più alto.</translation>
 <translation id="4802744647065138872">Limita il numero di istantanee di dati utente conservate per essere utilizzate in caso di rollback di emergenza</translation>
 <translation id="4802905909524200151">Configura il comportamento di aggiornamento del firmware <ph name="TPM_FIRMWARE_UPDATE_TPM" /></translation>
 <translation id="4804828344300125154">Riavvia sempre all'uscita dell'utente.</translation>
@@ -3951,13 +3945,6 @@
 
       Se il criterio viene impostato su Disattivato, viene visualizzato invece un messaggio di errore.</translation>
 <translation id="6821268164692776674">Destinazioni <ph name="CLOUD_PRINT_NAME" /> e "Salva su Google Drive"</translation>
-<translation id="6823297401452148231">Consente di controllare se i siti web non sicuri possono effettuare richieste agli endpoint di rete con un livello di protezione più alto. Ad esempio, consente di controllare se http://evil.com può effettuare richieste sia a "localhost" sia agli endpoint sulla rete privata, nessuno dei quali è accessibile dalla rete pubblica. Per maggiori dettagli, consulta il sito https://wicg.github.io/cors-rfc1918/#goals.
-
-          Se il criterio non viene configurato, il comportamento predefinito per le richieste da contesti non sicuri agli endpoint di rete con un livello di protezione più alto dipende dalla configurazione personale dell'utente per la funzionalità <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />, che può essere configurata in base a una prova sul campo o alla riga di comando.
-
-          Se il criterio viene impostato su Falso, i siti web non sicuri non possono effettuare richieste agli endpoint di rete con un livello di protezione più alto. Vale a dire che i siti web non sicuri pubblicati da indirizzi IP pubblici non possono effettuare richieste a localhost e indirizzi IP privati. I siti web non sicuri pubblicati da indirizzi IP privati non possono effettuare richieste a localhost.
-
-          Se il criterio viene impostato su Vero, i siti web non sicuri possono effettuare richieste a qualsiasi endpoint di rete, soggetti ad altri controlli multiorigine.</translation>
 <translation id="6833064854262015312">Se il criterio è impostato su True, la modalità ad alto contrasto viene attivata nella schermata di accesso. Se il criterio è impostato su False, la modalità ad alto contrasto viene disattivata nella schermata di accesso.
 
       Se imposti il criterio, gli utenti possono modificare temporaneamente la modalità ad alto contrasto attivandola o disattivandola. Quando la schermata di accesso viene ricaricata o rimane inattiva per un minuto, viene ripristinato lo stato originale della modalità.
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index b86efd5..935cfb2 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -1074,11 +1074,6 @@
       このポリシーが未設定の場合、デフォルトの設定は、管理対象ユーザーに対しては「許可しない」、管理対象外のユーザーに対しては「許可する」となります。</translation>
 <translation id="2660846099862559570">プロキシを使用しない</translation>
 <translation id="2665422249821137126">ログイン画面で大きいカーソルを有効にする</translation>
-<translation id="266882888912227087"> <ph name="PRODUCT_OS_NAME" /> での、管理対象のゲスト セッションの自動起動通知を制御します。
-
-      このポリシーを True に設定した場合、プライバシーに関する警告通知は数秒後に閉じられます。
-
-      このポリシーを False に設定するか未設定のままにした場合、プライバシーに関する警告通知は固定され、ユーザーが閉じるまで表示されます。</translation>
 <translation id="2672012807430078509">SMB マウントの認証プロトコルとして NTLM を有効にするかどうかを設定する</translation>
 <translation id="2678503605767349615">必要なデバイス共通のクライアント証明書</translation>
 <translation id="268577405881275241">データ圧縮プロキシ機能を有効にする</translation>
@@ -2469,7 +2464,6 @@
       <ph name="PAGE_SIZE_NAME" /> にはリストのいずれかの形式または「カスタム」(必要な用紙サイズがリストにない場合)を指定する必要があります。「カスタム」値を使用する場合は、<ph name="PAGE_SIZE_CUSTOM_SIZE" /> プロパティを指定する必要があります。このプロパティには、必要な高さと幅を mm 単位で指定します。それ以外の場合、<ph name="PAGE_SIZE_CUSTOM_SIZE" /> プロパティは指定しないでください。これらのルールにそぐわない場合、ポリシーは無視されます。
 
       ユーザーが選択したプリンタでこのページサイズを使用できない場合、このポリシーは無視されます。</translation>
-<translation id="479290425281021210">より限定されたプライベート ネットワークのエンドポイントに対して、安全でないウェブサイトからのリクエスト実行を許可するかどうかを指定します。</translation>
 <translation id="4802744647065138872">緊急のロールバックに備えて保持するユーザーデータのスナップショット数を制限します。</translation>
 <translation id="4802905909524200151"><ph name="TPM_FIRMWARE_UPDATE_TPM" /> ファームウェア アップデートの動作を設定する</translation>
 <translation id="4804828344300125154">ユーザーがログアウトするたびに再起動します。</translation>
@@ -3789,13 +3783,6 @@
 
       このポリシーを無効に設定した場合は、代わりにエラー メッセージが表示されます。</translation>
 <translation id="6821268164692776674"><ph name="CLOUD_PRINT_NAME" />と「Google ドライブに保存」の送信先</translation>
-<translation id="6823297401452148231">安全でないウェブサイトから、アクセスが限定されたプライベート ネットワーク エンドポイントへのリクエストを許可するかどうかを制御します。たとえば、プライベート ネットワーク側の「ローカルホスト」とエンドポイントはいずれも公開インターネットからアクセスできません。http://evil.com というサイトからこのような宛先へのリクエストを許可するかどうかをこのポリシーで制御できます。詳細については、https://wicg.github.io/cors-rfc1918/#goals をご覧ください。
-
-          このポリシーを設定しない場合、安全でないウェブサイトから、より限定されたプライベート ネットワーク エンドポイントに送信されたリクエストがデフォルトで許可またはブロックされるかは、ユーザーの個人設定で <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" /> 機能がどのように設定されているかによって決まります。なお、この機能は、フィールド トライアルまたはコマンドラインで設定できます。
-
-          このポリシーが False に設定されている場合、安全でないウェブサイトから、より限定されたプライベート ネットワーク エンドポイントへのリクエストは禁止されます。つまり、パブリック IP アドレスでホストされる安全でないウェブサイトから、ローカルホストとプライベート IP アドレスへのリクエストは禁止されます。プライベート IP アドレスでホストされる安全でないウェブサイトからは、ローカルホストにリクエストを送信できません。
-
-          このポリシーが True に設定されている場合は、他のクロスオリジン チェックに合格することを条件として、安全でないウェブサイトから任意のネットワーク エンドポイントにリクエストを送信できます。</translation>
 <translation id="6833064854262015312">このポリシーを True に設定した場合、ログイン画面でハイコントラスト モードが有効になります。このポリシーを False に設定した場合、ログイン画面でハイコントラスト モードが無効になります。
 
       このポリシーを設定した場合、ユーザーはハイコントラスト モードを一時的に有効または無効に変更できます。ログイン画面が再読み込みされるか 1 分間アイドル状態が続くと、元の状態に戻ります。
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb
index 99ac200..e12654c 100644
--- a/components/policy/resources/policy_templates_ko.xtb
+++ b/components/policy/resources/policy_templates_ko.xtb
@@ -1091,11 +1091,6 @@
       이 정책을 설정하지 않고 그대로 두면 기본적으로 관리되는 사용자에게는 허용되지 않고 관리되지 않는 사용자에게는 허용됩니다.</translation>
 <translation id="2660846099862559570">프록시 사용하지 않음</translation>
 <translation id="2665422249821137126">로그인 화면에서 큰 커서 사용</translation>
-<translation id="266882888912227087"> <ph name="PRODUCT_OS_NAME" />에서 관리되는 게스트 세션의 자동 실행 알림을 제어합니다.
-
-      정책이 True로 설정되면 개인정보 보호 경고 알림이 몇 초 후 닫힙니다.
-
-      False로 설정되거나 설정되지 않으면 사용자가 닫을 때까지 개인정보 보호 경고 알림이 고정됩니다.</translation>
 <translation id="2672012807430078509">SMB 마운트용 인증 프로토콜로 NTLM을 사용할지 여부를 제어합니다.</translation>
 <translation id="2678503605767349615">기기 수준 필수 클라이언트 인증서</translation>
 <translation id="268577405881275241">데이터 압축 프록시 기능 사용</translation>
@@ -2498,7 +2493,6 @@
       필수 페이지 크기가 목록에 없을 경우 <ph name="PAGE_SIZE_NAME" />에는 나열된 형식 중 하나 또는 '맞춤 설정'이 포함되어야 합니다. '맞춤 설정' 값이 제공될 경우 <ph name="PAGE_SIZE_CUSTOM_SIZE" /> 속성이 지정되어야 합니다. 원하는 높이와 너비를 마이크로미터 단위로 설명합니다. 그 외의 경우에는 <ph name="PAGE_SIZE_CUSTOM_SIZE" /> 속성을 지정해서는 안 됩니다. 이 규칙을 위반하는 정책은 무시됩니다.
 
       사용자가 선택한 프린터에서 페이지 크기를 사용할 수 없는 경우 이 정책은 무시됩니다.</translation>
-<translation id="479290425281021210">안전하지 않은 웹사이트가 비공개 네트워크 엔드포인트에 요청할 수 있도록 허용할지 지정합니다.</translation>
 <translation id="4802744647065138872">응급 상황 롤백 시 사용하기 위해 보관하는 사용자 데이터 스냅샷 수를 제한합니다.</translation>
 <translation id="4802905909524200151"><ph name="TPM_FIRMWARE_UPDATE_TPM" /> 펌웨어 업데이트 동작 설정</translation>
 <translation id="4804828344300125154">사용자 로그아웃 시 항상 재부팅합니다.</translation>
@@ -3863,13 +3857,6 @@
 
       정책을 사용 안함으로 설정하면 오류 메시지가 대신 표시됩니다.</translation>
 <translation id="6821268164692776674"><ph name="CLOUD_PRINT_NAME" /> 및 'Google 드라이브에 저장' 목적지</translation>
-<translation id="6823297401452148231">안전하지 않은 웹사이트가 비공개 네트워크 엔드포인트에 요청할 수 있도록 허용할지 제어합니다. 즉, http://evil.com이 비공개 네트워크에서 `localhost` 및 엔드포인트 두 항목 모두에 요청할 수 있는지 제어합니다. 이 두 항목 모두 공개 인터넷에서는 액세스할 수 없습니다. 자세한 내용은 https://wicg.github.io/cors-rfc1918/#goals를 참고하세요.
-
-          이 정책을 설정하지 않으면 안전하지 않은 환경으로부터 비공개 네트워크 엔드포인트로의 요청에 대한 기본 동작이 <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" /> 정책에 관한 사용자의 개인 설정에 따라 달라지며, 이러한 설정은 필드 평가판이나 명령줄에서 설정할 수 있습니다.
-
-          이 정책이 False로 설정되면 안전하지 않은 웹사이트는 비공개 네트워크 엔드포인트에 요청하는 것이 금지됩니다. 즉, 공개 IP 주소에서 제공되는 안전하지 않은 웹사이트는 localhost 및 비공개 IP 주소 두 항목 모두에 요청하는 것이 금지됩니다. 비공개 IP 주소에서 제공되는 안전하지 않은 웹사이트는 localhost에 요청하는 것이 금지됩니다.
-
-          이 정책이 True로 설정되면 안전하지 않은 웹사이트는 모든 네트워크 엔드포인트에 요청하는 것이 허용되며, 이 요청은 다른 교차 원본 확인의 적용을 받습니다.</translation>
 <translation id="6833064854262015312">이 정책을 True로 설정하면 로그인 화면에서 고대비 모드가 사용 설정됩니다. 정책을 False로 설정하면 로그인 화면에서 고대비 모드가 사용 중지됩니다.
 
       정책을 설정하면 사용자가 일시적으로 고대비 모드를 사용 설정하거나 사용 중지하도록 변경할 수 있습니다. 로그인 화면이 새로고침되거나 1분 정도 유휴 상태가 유지되면 원래 상태로 돌아갑니다.
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index cb9f220..6cf544c 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -1070,11 +1070,6 @@
       Als dit beleid niet wordt ingesteld, is sms-synchronisatie standaard niet toegestaan voor beheerde gebruikers en wel toegestaan voor niet-beheerde gebruikers.</translation>
 <translation id="2660846099862559570">Nooit een proxy gebruiken</translation>
 <translation id="2665422249821137126">De grote muisaanwijzer op het inlogscherm inschakelen</translation>
-<translation id="266882888912227087"> Beheer meldingen voor het automatisch starten van beheerde gastsessies op <ph name="PRODUCT_OS_NAME" />.
-
-      Als dit beleid is ingesteld op True, wordt de privacywaarschuwing na een paar seconden gesloten.
-
-      Als het beleid is ingesteld op False of niet is ingesteld, blijft de privacywaarschuwing in beeld tot de gebruiker deze sluit.</translation>
 <translation id="2672012807430078509">Bepaalt of NTLM is ingeschakeld als verificatieprotocol voor SMB-activeringen</translation>
 <translation id="2678503605767349615">Vereiste clientcertificaten voor het hele apparaat</translation>
 <translation id="268577405881275241">De proxyfunctie voor het comprimeren van gegevens inschakelen</translation>
@@ -2474,7 +2469,6 @@
       <ph name="PAGE_SIZE_NAME" /> moet een van de vermelde indelingen bevatten of 'custom' als het vereiste papierformaat niet in de lijst staat. Als de waarde 'custom' is opgegeven, moet de eigenschap <ph name="PAGE_SIZE_CUSTOM_SIZE" /> worden gespecificeerd. Dit beschrijft de gewenste hoogte en breedte in micrometers. Anders moet de eigenschap <ph name="PAGE_SIZE_CUSTOM_SIZE" /> niet worden gespecificeerd. Beleid dat deze regels schendt, wordt genegeerd.
 
       Als het paginaformaat niet beschikbaar is op de printer die de gebruiker heeft gekozen, wordt dit beleid genegeerd.</translation>
-<translation id="479290425281021210">Hiermee geef je aan of niet-beveiligde websites verzoeken mogen sturen naar meer-privé netwerkeindpunten.</translation>
 <translation id="4802744647065138872">Beperkt het aantal momentopnamen van gebruikersgegevens dat wordt bewaard voor gebruik bij een noodrollback.</translation>
 <translation id="4802905909524200151">Updategedrag voor <ph name="TPM_FIRMWARE_UPDATE_TPM" />-firmware configureren</translation>
 <translation id="4804828344300125154">Altijd opnieuw opstarten na uitloggen gebruiker.</translation>
@@ -3825,13 +3819,6 @@
 
       Als je het beleid uitschakelt, wordt in plaats daarvan een foutmelding weergegeven.</translation>
 <translation id="6821268164692776674">De bestemmingen <ph name="CLOUD_PRINT_NAME" /> en 'Opslaan in Google Drive'</translation>
-<translation id="6823297401452148231">Hiermee kun je bepalen of niet-beveiligde websites verzoeken mogen sturen aan meer-privé netwerkeindpunten. Deze instelling bepaalt bijvoorbeeld of http://evil.com verzoeken mag sturen naar zowel localhost als eindpunten in het privénetwerk, die geen van beide toegankelijk zijn via het openbare internet. Bekijk https://wicg.github.io/cors-rfc1918/#goals voor meer informatie.
-
-          Als je dit beleid niet instelt, hangt het standaardgedrag voor verzoeken vanuit niet-beveiligde contexten naar meer-privé netwerkeindpunten af van de persoonlijke configuratie van de gebruiker voor de functie <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />, die kan worden ingesteld via een online test of via de opdrachtregel.
-
-          Als dit beleid is ingesteld op False, mogen niet-beveiligde websites geen verzoeken sturen naar meer-privé netwerkeindpunten. Dit betekent dat niet-beveiligde websites die worden geleverd via openbare IP-adressen, geen verzoeken mogen sturen naar zowel localhost als privé-IP-adressen. Niet-beveiligde websites die worden geleverd via openbare IP-adressen, mogen geen verzoeken sturen naar localhost.
-
-          Als je dit beleid instelt op True, mogen niet-beveiligde websites verzoeken sturen naar elk willekeurig netwerkeindpunt (hiervoor worden andere cross-origin-checks uitgevoerd).</translation>
 <translation id="6833064854262015312">Als je het beleid instelt op True, wordt de modus voor hoog contrast ingeschakeld op het inlogscherm. Als je het beleid instelt op False, wordt de modus voor hoog contrast uitgeschakeld op het inlogscherm.
 
       Als je dit beleid instelt, kunnen gebruikers de modus voor hoog contrast tijdelijk wijzigen (dat wil zeggen in- of uitschakelen). Als het inlogscherm opnieuw wordt geladen of een minuut lang niet wordt gebruikt, wordt de oorspronkelijke status hersteld.
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb
index 9981451..e480dd4 100644
--- a/components/policy/resources/policy_templates_pt-BR.xtb
+++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -1077,11 +1077,6 @@
       Se esta política não for definida, o padrão será "não permitido" para usuários gerenciados e "permitido" para usuários não gerenciados.</translation>
 <translation id="2660846099862559570">Nunca usar um proxy</translation>
 <translation id="2665422249821137126">Ativar o cursor grande na tela de login</translation>
-<translation id="266882888912227087"> Controlar notificações de lançamento automático da sessão de visitante gerenciada no <ph name="PRODUCT_OS_NAME" />.
-
-      Se esta política for definida como verdadeira, a notificação de aviso de privacidade será fechada após alguns segundos.
-
-      Se a política for definida como falsa ou não for configurada, a notificação de aviso de privacidade será fixada até que o usuário a dispense.</translation>
 <translation id="2672012807430078509">Controles que ativam o NTLM como protocolo de autenticação para ativações de PMEs</translation>
 <translation id="2678503605767349615">Certificados do cliente em todo o dispositivo obrigatórios</translation>
 <translation id="268577405881275241">Ativar o recurso de proxy de compactação de dados</translation>
@@ -1420,7 +1415,7 @@
 <translation id="3152425128389603870">Disponibilizar e ativar por padrão a área de trabalho unificada</translation>
 <translation id="3159375329008977062">O usuário tem permissão para exportar/importar contêineres do Crostini por meio da IU</translation>
 <translation id="3165808775394012744">Essas políticas estão incluídas aqui para facilitar a remoção delas.</translation>
-<translation id="3166210414652928099">Permite o uso de apps para Android de fontes não confiáveis</translation>
+<translation id="3166210414652928099">Permite o uso de apps Android de fontes não confiáveis</translation>
 <translation id="316778957754360075">Esta configuração foi descontinuada a partir da versão 29 do <ph name="PRODUCT_NAME" />. O modo recomendado de configurar as coleções de extensões/aplicativos hospedados pela organização é incluir na hospedagem do site os pacotes CRX em ExtensionInstallSources e colocar links de download direto para os pacotes em uma página da Web. É possível criar um iniciador da página da Web usando a política ExtensionInstallForcelist.</translation>
 <translation id="3168968618972302728">Políticas relacionadas à autenticação do Kerberos.</translation>
 <translation id="3171369832001535378">Modelo de nome do host da rede do dispositivo</translation>
@@ -1634,7 +1629,7 @@
           Se estas configurações forem desativadas, os usuários não poderão salvar novas senhas, mas ainda poderão usar as senhas salvas anteriormente.
 
           Se esta política estiver ativada ou desativada, os usuários não poderão alterá-la ou substituí-la no <ph name="PRODUCT_NAME" />. Se ela não for definida, os usuários poderão salvar senhas ou desativar essa função.</translation>
-<translation id="3492834335089638487">Essa política controla, no lugar do dispositivo, o uso de apps para Android de fontes não confiáveis (diferentes da Google Play Store).
+<translation id="3492834335089638487">Essa política controla, no lugar do dispositivo, o uso de apps Android de fontes não confiáveis (diferentes da Google Play Store).
 
       Se o valor da política não for definido, a funcionalidade será tratada como não permitida.
 
@@ -1918,7 +1913,7 @@
 
       Para que os destinos da <ph name="CLOUD_PRINT_NAME" /> continuem disponíveis, é necessário que esta política seja definida como verdadeira e que <ph name="POLICY_ENUM_PRINTERTYPEDENYLIST_CLOUD" /> não seja incluída na política <ph name="POLICY_PRINTERTYPEDENYLIST" />.</translation>
 <translation id="3915395663995367577">URL de um arquivo proxy .pac</translation>
-<translation id="3917288538553140422">A definição da política especifica a ação a ser tomada quando o diretório principal do usuário tiver sido criado com criptografia ecryptfs. A não ser que seja realizada a migração de diretórios principais da criptografia ecryptfs para ext4, os apps para Android poderão parar de funcionar.
+<translation id="3917288538553140422">A definição da política especifica a ação a ser tomada quando o diretório principal do usuário tiver sido criado com criptografia ecryptfs. A não ser que seja realizada a migração de diretórios principais da criptografia ecryptfs para ext4, os apps Android poderão parar de funcionar.
 
       Definir a política como:
 
@@ -1926,7 +1921,7 @@
 
       * Wipe ou MinimalMigrate significa que novos diretórios principais com criptografia ext4 substituirão os diretórios com criptografia ecryptfs antigos durante o login. Para ajudar o usuário a evitar logins repetidos, MinimalMigrate tenta preservar os tokens de login;
 
-      * DisallowArc ou deixá-la sem definição evita a migração, e os apps para Android do usuário param de funcionar.
+      * DisallowArc ou deixá-la sem definição evita a migração, e os apps Android do usuário param de funcionar.
 
       Esta política não se aplica a usuários de quiosque.
 
@@ -2469,7 +2464,6 @@
       <ph name="PAGE_SIZE_NAME" /> precisa conter um dos formatos listados ou "personalizado" se o tamanho do papel exigido não estiver na lista. Se um valor "personalizado" for fornecido, a propriedade <ph name="PAGE_SIZE_CUSTOM_SIZE" /> precisará ser especificada. Ela descreve a altura e a largura desejadas em micrômetros. Caso contrário, a propriedade <ph name="PAGE_SIZE_CUSTOM_SIZE" /> não precisa ser especificada. A política que violar essas regras será ignorada.
 
       Se o tamanho da página não estiver disponível na impressora escolhida pelo usuário, esta política será ignorada.</translation>
-<translation id="479290425281021210">Especifica se permite que sites não seguros façam solicitações para endpoints de uma rede mais privada.</translation>
 <translation id="4802744647065138872">Limita o número de snapshots de dados do usuário retidos para uso em caso de reversão de emergência.</translation>
 <translation id="4802905909524200151">Configurar o comportamento de atualização do firmware <ph name="TPM_FIRMWARE_UPDATE_TPM" /></translation>
 <translation id="4804828344300125154">É sempre reinicializado quando o usuário sai.</translation>
@@ -2834,11 +2828,11 @@
           Se definida como verdadeira ou não configurada, este usuário poderá criar e gerenciar usuários supervisionados.</translation>
 <translation id="5369937289900051171">Apenas impressão colorida</translation>
 <translation id="5370279767682621504">Ativar suporte a HTTP/0.9 em portas não padrão</translation>
-<translation id="5377606826822211923">Controla, no lugar do usuário, o uso de apps para Android de fontes não confiáveis</translation>
+<translation id="5377606826822211923">Controla, no lugar do usuário, o uso de apps Android de fontes não confiáveis</translation>
 <translation id="5377668121137111316">Se esta política for definida como verdadeira, o teclado na tela será ativado. Se esta política for definida como falsa o teclado na tela será desativado.
 
       Se você definir a política, os usuários não poderão mudá-la. Se a política não for definida, o teclado na tela será desativado, mas os usuários poderão ativá-lo quando quiserem.</translation>
-<translation id="537786648513450280">Controla, no lugar do dispositivo, o uso de apps para Android de fontes não confiáveis</translation>
+<translation id="537786648513450280">Controla, no lugar do dispositivo, o uso de apps Android de fontes não confiáveis</translation>
 <translation id="5379858577608862519">Especifica se o encaminhamento de portas em contêineres Crostini é permitido.
 
       Se esta política não for definida ou for definida como verdadeira, os usuários poderão configurar o encaminhamento de portas nos contêineres Crostini
@@ -3205,7 +3199,7 @@
 <translation id="5845686745936515940">Permite reverter todos os cookies para o comportamento <ph name="ATTRIBUTE_SAMESITE_NAME" /> legado. A reversão para o comportamento legado faz com que os cookies que não especificam um atributo <ph name="ATTRIBUTE_SAMESITE_NAME" /> sejam tratados como <ph name="ATTRIBUTE_VALUE_SAMESITE_NONE" />, remove o requisito para cookies <ph name="ATTRIBUTE_VALUE_SAMESITE_NONE" /> executarem o atributo <ph name="ATTRIBUTE_SECURE_NAME" /> e pula a comparação do esquema ao avaliar se dois sites são o mesmo. Para ver uma descrição completa, consulte https://www.chromium.org/administrators/policy-list-3/cookie-legacy-samesite-policies (em inglês).
 
           Quando essa política não é definida, o comportamento <ph name="ATTRIBUTE_SAMESITE_NAME" /> padrão para cookies depende da configuração pessoal do usuário para os recursos <ph name="FEATURE_NAME_SAMESITE_BY_DEFAULT_COOKIES" />, <ph name="FEATURE_NAME_SAMESITE_NONE_MUST_BE_SECURE" /> e <ph name="FEATURE_NAME_SCHEMEFUL_SAME_SITE" />, que podem ser definidos por um teste de campo, ou ativando e desativando as sinalizações <ph name="FLAG_NAME_SAMESITE_BY_DEFAULT_COOKIES" />, <ph name="FLAG_NAME_SAMESITE_NONE_MUST_BE_SECURE" /> ou <ph name="FLAG_NAME_SCHEMEFUL_SAME_SITE" />, respectivamente.</translation>
-<translation id="585270638818921943">Impede o uso de apps para Android de fontes não confiáveis</translation>
+<translation id="585270638818921943">Impede o uso de apps Android de fontes não confiáveis</translation>
 <translation id="5859344336338527083">Se definida, a política especificará os URLs que podem instalar extensões, apps e temas. Antes do <ph name="PRODUCT_NAME" /> 21, os usuários podiam clicar em um link para um arquivo *.crx e o <ph name="PRODUCT_NAME" /> se oferecia para instalar o arquivo após alguns avisos. Depois dessa versão, esses arquivos precisam ser transferidos por download e arrastados para a página de configurações do <ph name="PRODUCT_NAME" />. Essa configuração permite que URLs específicos utilizem o fluxo de instalação antigo e mais simples.
 
       Cada item nesta lista é um padrão de correspondência de estilo de extensão (consulte https://developer.chrome.com/extensions/match_patterns). Os usuários conseguem instalar com facilidade os itens de qualquer URL correspondente a um item da lista. Tanto o local do arquivo *.crx quanto a página de onde o download é feito (ou seja, o referenciador) precisam ser permitidos por esses padrões.
@@ -3275,7 +3269,7 @@
       Se definida como true, o sistema é limitado para atingir as taxas de upload e download (em kbits/s) estabelecidas.</translation>
 <translation id="5907283448020542268">A não ser que a política <ph name="DEFAULT_GEOLOCATION_SETTING_POLICY_NAME" /> seja definida como <ph name="BLOCK_GEOLOCATION_SETTING" />, a definição de <ph name="GLS_ENABLED" /> ativará os Serviços de localização do Google durante a configuração inicial. Se a política for definida como <ph name="GLS_DISABLED" /> ou não for definida, os Serviços de localização continuarão desativados durante a configuração.
 
-      Se a política for definida como <ph name="BR_UNDER_USER_CONTROL" />, os usuários receberão solicitações para escolher usar ou não os Serviços de localização do Google. Caso os serviços sejam ativados, apps para Android os usarão para procurar a localização do dispositivo e enviar dados de local anônimos ao Google.
+      Se a política for definida como <ph name="BR_UNDER_USER_CONTROL" />, os usuários receberão solicitações para escolher usar ou não os Serviços de localização do Google. Caso os serviços sejam ativados, apps Android os usarão para procurar a localização do dispositivo e enviar dados de local anônimos ao Google.
 
       Após a configuração inicial, os usuários poderão ativar ou desativar os Serviços de localização do Google.</translation>
 <translation id="591088232153082363">Carregamento adaptável com base no padrão de uso da bateria.</translation>
@@ -3422,7 +3416,7 @@
       Se esta política ficar sem definição, não haverá exceções para a lista de bloqueio da política <ph name="URL_BLOCKLIST_POLICY_NAME" />.</translation>
 <translation id="6183327369896253878">A definição da política estabelece quais identificadores de aplicativo do <ph name="PRODUCT_OS_NAME" /> são mostrados como apps fixados na barra de acesso rápido, e os usuários não podem mudá-los.
 
-      Especifique apps do Chrome pelos IDs deles (como pjkljhegncpnkpknbcohdijeoejaedia), apps para Android pelos nomes de pacote deles (como com.google.android.gm) e apps da Web pelo URL usado em <ph name="WEB_APP_INSTALL_FORCE_LIST_POLICY_NAME" /> (como https://google.com/maps).
+      Especifique apps do Chrome pelos IDs deles (como pjkljhegncpnkpknbcohdijeoejaedia), apps Android pelos nomes de pacote deles (como com.google.android.gm) e apps da Web pelo URL usado em <ph name="WEB_APP_INSTALL_FORCE_LIST_POLICY_NAME" /> (como https://google.com/maps).
 
       Se a política não for definida, os usuários poderão mudar a lista de apps fixados no acesso rápido.</translation>
 <translation id="6190022522129724693">Configuração padrão de pop-ups</translation>
@@ -3568,7 +3562,7 @@
           Se você optar pela detecção automática do servidor proxy, o URL do script "http://wpad/wpad.dat" será fornecido aos apps Android. Nenhuma outra parte do protocolo de detecção automática de proxy será usada.
 
           Se você optar por usar um script de proxy .pac, o URL do script será fornecido aos apps Android.</translation>
-<translation id="6438972408080276697">Se a política for definida como verdadeira, o Google receberá informações sobre eventos importantes e acionados por políticas relacionados à instalação de apps para Android. Se a política for definida como falsa, nenhum evento será capturado.</translation>
+<translation id="6438972408080276697">Se a política for definida como verdadeira, o Google receberá informações sobre eventos importantes e acionados por políticas relacionados à instalação de apps Android. Se a política for definida como falsa, nenhum evento será capturado.</translation>
 <translation id="6440051664870270040">Permitir que sites naveguem e abram pop-ups simultaneamente</translation>
 <translation id="6447948611083700881">Backup e restauração desativados</translation>
 <translation id="6449476513004303784">Não permitir que os usuários gerenciem certificados</translation>
@@ -3809,13 +3803,6 @@
 
       A desativação da política faz com que uma mensagem de erro seja exibida.</translation>
 <translation id="6821268164692776674">Destinos do <ph name="CLOUD_PRINT_NAME" /> e "Salvar no Google Drive"</translation>
-<translation id="6823297401452148231">Controla se os sites não seguros têm permissão para fazer solicitações para endpoints de uma rede mais privada. Por exemplo, controla se http://evil.com tem permissão para fazer solicitações tanto para o "localhost" como para endpoints na rede privada. Nenhum deles é acessível pela Internet pública. Consulte https://wicg.github.io/cors-rfc1918/#goals (link em inglês) para ver mais detalhes.
-
-          Quando esta política for deixada sem definição, o comportamento padrão para solicitações de contexto não seguro para endpoints de uma rede mais privada dependerá da configuração pessoal do usuário para o recurso <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />, que pode ser definido por um experimento público ou na linha de comando.
-
-          Quando esta política está definida como falsa, os sites não seguros não poderão fazer solicitações para endpoints de uma rede mais privada. Isto é, os sites não seguros veiculados de endereços IP públicos não poderão fazer solicitações tanto para o localhost quanto para endereços IP privados. Sites não seguros veiculados de endereços IP privados não poderão fazer solicitações ao localhost.
-
-          Quando a política for definida como verdadeira, os sites não seguros terão permissão para fazer solicitações para qualquer endpoint de rede, sujeito a outras verificações de origem cruzada.</translation>
 <translation id="6833064854262015312">Se esta política for definida como verdadeira, o modo de alto contraste será ativado na tela de login. Se esta política for definida como falsa, o modo de alto contraste será desativado na tela.
 
       Se você definir a política, os usuários poderão ativar ou desativar o modo de alto contraste temporariamente. Quando a tela de login for atualizada ou ficar inativa por um minuto, o modo de alto contraste retornará ao estado original.
@@ -4239,7 +4226,7 @@
       Se esta política não for configurada, a limpeza automática usa a estratégia integrada padrão, que atualmente é a estratégia "RemoveLRUIfDormant".</translation>
 <translation id="7336785017449297672">Controla configurações do relógio e de fuso horário.</translation>
 <translation id="7336878834592315572">Manter cookies enquanto durar a sessão</translation>
-<translation id="7338217396351647423">A definição da política especifica um conjunto de políticas que serão entregues ao ambiente de execução do ARC. Os administradores podem usar essa oportunidade para selecionar os apps para Android que serão instalados automaticamente. Insira o valor em um formato JSON válido.
+<translation id="7338217396351647423">A definição da política especifica um conjunto de políticas que serão entregues ao ambiente de execução do ARC. Os administradores podem usar essa oportunidade para selecionar os apps Android que serão instalados automaticamente. Insira o valor em um formato JSON válido.
 
       Para fixar apps no acesso rápido, consulte PinnedLauncherApps.</translation>
 <translation id="7339315111520512972">Força a execução do código de rede no processo do navegador</translation>
@@ -4358,7 +4345,7 @@
 
       Se a política não for definida, o <ph name="PRODUCT_NAME" /> não delegará credenciais de usuário, mesmo que um servidor seja detectado como intranet.</translation>
 <translation id="7566878661979235378">Tipo de autenticação de login SAML</translation>
-<translation id="7567373982693549834">Esta política controla, no lugar de cada usuário, o uso de apps para Android de fontes não confiáveis (diferentes do Google Play).
+<translation id="7567373982693549834">Esta política controla, no lugar de cada usuário, o uso de apps Android de fontes não confiáveis (diferentes do Google Play).
 
       Se o valor da política não for definido, a funcionalidade será tratada como não permitida.
 
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb
index ea0e5c0..55b07d3 100644
--- a/components/policy/resources/policy_templates_ru.xtb
+++ b/components/policy/resources/policy_templates_ru.xtb
@@ -1079,11 +1079,6 @@
       Если правило не настроено, по умолчанию синхронизация будет отключена для управляемых профилей и включена для остальных.</translation>
 <translation id="2660846099862559570">Никогда не использовать прокси-сервер</translation>
 <translation id="2665422249821137126">Включить большой курсор на экране входа</translation>
-<translation id="266882888912227087"> Позволяет настроить показ уведомлений об автоматических запусках управляемых гостевых сеансов в <ph name="PRODUCT_OS_NAME" />.
-
-      Если для правила задано значение True, уведомление с предупреждением о конфиденциальности закроется через несколько секунд после появления.
-
-      Если установлено значение False или правило не настроено, уведомление не исчезнет, пока пользователь не скроет его сам.</translation>
 <translation id="2672012807430078509">Определяет, можно ли использовать NTLM в качестве протокола аутентификации для подключений SMB</translation>
 <translation id="2678503605767349615">Обязательные сертификаты клиента на уровне устройства</translation>
 <translation id="268577405881275241">Использовать прокси-сервер для сжатия данных</translation>
@@ -2485,7 +2480,6 @@
       В параметре <ph name="PAGE_SIZE_NAME" /> необходимо выбрать один из форматов, перечисленных в списке. Если необходимого размера страницы там нет, должно быть указано значение custom. Если выбрано значение custom, требуется задать свойство <ph name="PAGE_SIZE_CUSTOM_SIZE" />, которое описывает высоту и ширину в микрометрах. В противном случае значение свойства <ph name="PAGE_SIZE_CUSTOM_SIZE" /> указывать не нужно. Правило, которое нарушает эти условия, игнорируется.
 
       Если указанный размер страницы недоступен на выбранном пользователем принтере, правило не будет учитываться.</translation>
-<translation id="479290425281021210">Позволяет разрешать или запрещать для небезопасных сайтов отправку запросов к конечным точкам более частной сети.</translation>
 <translation id="4802744647065138872">Ограничение количества снимков пользовательских данных, которые хранятся для выполнения вынужденного отката версии</translation>
 <translation id="4802905909524200151">Настройка обновления встроенного ПО для доверенного платформенного модуля (<ph name="TPM_FIRMWARE_UPDATE_TPM" />)</translation>
 <translation id="4804828344300125154">Всегда перезагружать устройство после выхода пользователя из системы</translation>
@@ -2933,7 +2927,7 @@
       Если правило настроено, пользователи не могут изменить или переопределить его.
 
       Если правило не настроено, пользователям разрешается самостоятельно выбирать аватар для экрана входа в систему.</translation>
-<translation id="5431392643649571773">Если функция <ph name="PRODUCT_NAME" /> включена, она позволяет использовать возвратный кеш. Когда пользователь переходит на другую страницу, функция сохраняет ее в возвратный кеш в ее текущем состоянии (дерево документа, скрипт и т. д.). Если пользователь возвращается на страницу, она восстанавливается из возвратного кеша в том состоянии, в котором она была кеширована.
+<translation id="5431392643649571773">Если функция <ph name="PRODUCT_NAME" /> включена, она позволяет использовать возвратный кеш. Когда пользователь переходит с одной страницы на другую, функция сохраняет первую страницу в возвратный кеш в ее текущем состоянии (дерево документа, скрипт и т. д.). Если пользователь возвращается на страницу, она восстанавливается из возвратного кеша в том состоянии, в котором она была кеширована.
 
           Эта функция может работать некорректно на сайтах, которые не рассчитаны на кеширование. В частности, это касается сайтов, где при переходе на другую страницу используются обработчики события <ph name="UNLOAD_HANDLER_NAME" />. Если страница попадает в возвратный кеш, событие <ph name="UNLOAD_HANDLER_NAME" /> не будет срабатывать.
 
@@ -3842,13 +3836,6 @@
 
       Если правило отключено, показывается сообщение об ошибке.</translation>
 <translation id="6821268164692776674">Варианты "<ph name="CLOUD_PRINT_NAME" />" и "Сохранить на Google Диске"</translation>
-<translation id="6823297401452148231">Позволяет разрешать или запрещать для небезопасных сайтов отправку запросов к конечным точкам более частной сети. Например, вы можете разрешить сайту http://opasno.com отправлять запросы как на сервер localhost, так и к конечным точкам частной сети. Обе эти возможности недоступны в открытых сетях. Подробнее: https://wicg.github.io/cors-rfc1918/#goals.
-
-          Если правило не настроено, поведение запросов, которые отправляются из небезопасных источников к конечным точкам частной сети, будет зависеть от пользовательских настроек функции <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />. Их можно задать с помощью экспериментальных функций или командной строки.
-
-          Если задано значение False, небезопасные сайты не смогут отправлять запросы к конечным точкам частной сети. То есть небезопасные сайты, обслуживаемые с внешних IP-адресов, не смогут отправлять запросы ни на сервер localhost, ни к конечным точкам частной сети. Небезопасные сайты, обслуживаемые с частных IP-адресов, не смогут отправлять запросы на сервер localhost.
-
-          Если задано значение True, небезопасные сайты смогут отправлять запросы к конечным точкам любых сетей, к которым применяются другие проверки происхождения.</translation>
 <translation id="6833064854262015312">Если для правила задано значение True, на экране входа будет включен режим высокой контрастности. Если для правила задано значение False, режим высокой контрастности на этом экране будет выключен.
 
       Если вы настроите это правило, пользователи смогут временно включить или выключить режим высокой контрастности. При перезагрузке экрана входа или после одной минуты бездействия будет восстановлено исходное состояние этой функции.
@@ -4336,7 +4323,7 @@
 
       С помощью этого правила нельзя разрешить или запретить пользователям настраивать принтеры на своих устройствах.  Оно только дополняет настройки пользователей.
 
-      В среде Active Directory переменная <ph name="MACHINE_NAME_VARIABLE" /> может заменяться на имя устройства Active Directory или на часть этого названия. Например, если имя устройства – <ph name="MACHINE_NAME_EXAMPLE" />, то переменная <ph name="MACHINE_NAME_VARIABLE_EXAMPLE" /> будет возвращать значение <ph name="MACHINE_NAME_PART_EXAMPLE" /> (4 символа, начиная с 6-й позиции). Обратите внимание, что отсчет позиции начинается с нуля.
+      В среде Active Directory переменная <ph name="MACHINE_NAME_VARIABLE" /> может заменяться на имя устройства Active Directory или на часть этого имени. Например, если имя устройства – <ph name="MACHINE_NAME_EXAMPLE" />, то переменная <ph name="MACHINE_NAME_VARIABLE_EXAMPLE" /> будет возвращать значение <ph name="MACHINE_NAME_PART_EXAMPLE" /> (4 символа, начиная с 6-й позиции). Обратите внимание, что отсчет позиции начинается с нуля.
 
       Это правило больше не поддерживается. Используйте вместо него правило <ph name="PRINTERS_POLICY_NAME" />.
       </translation>
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index 543a3878..9cbccf6 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -895,6 +895,14 @@
 
       หากตั้งค่านโยบายนี้เป็น "ตรวจสอบการอัปโหลดและดาวน์โหลด" <ph name="PRODUCT_NAME" /> จะทำงานตามกฎที่อธิบายไว้ภายใต้นโยบาย "ตรวจสอบการดาวน์โหลด" และ "ตรวจสอบการอัปโหลด"
       </translation>
+<translation id="2424098959650060417">ควบคุมว่าผู้ใช้จะใช้งานเครื่องพิมพ์จาก <ph name="BULK_PRINTERS_POLICY_NAME" /> เครื่องใดได้บ้าง
+
+      กำหนดนโยบายการเข้าถึงที่ใช้สำหรับการกำหนดค่าเครื่องพิมพ์จำนวนมาก หากเลือก <ph name="PRINTERS_ALLOW_ALL" /> ระบบจะแสดงเครื่องพิมพ์ทั้งหมด หากเลือก <ph name="PRINTERS_BLACKLIST" /> ระบบจะใช้ <ph name="BULK_PRINTERS_BLACKLIST" /> เพื่อจำกัดการเข้าถึงเครื่องพิมพ์ที่ระบุไว้ในนั้น  หากเลือก <ph name="PRINTERS_WHITELIST" /> ระบบจะใช้ <ph name="BULK_PRINTERS_WHITELIST" /> ซึ่งระบุเฉพาะเครื่องพิมพ์ที่เลือกใช้งานได้
+
+      หากไม่ได้ตั้งค่านโยบายนี้ไว้ ระบบจะถือว่าเลือก <ph name="PRINTERS_ALLOW_ALL" />
+
+      นโยบายนี้เลิกใช้งานไปแล้ว โปรดใช้ <ph name="PRINTERS_BULK_ACCESS_MODE_POLICY_NAME_POLICY_NAME" /> แทน
+      </translation>
 <translation id="2426782419955104525">เปิดใช้ฟีเจอร์ค้นหาทันใจของ <ph name="PRODUCT_NAME" /> และป้องกันไม่ให้ผู้ใช้เปลี่ยนการตั้งค่านี้
 
       หากคุณเปิดใช้การตั้งค่านี้ <ph name="PRODUCT_NAME" /> จะมีการเปิดใช้ "ค้นหาทันใจ"
@@ -1069,11 +1077,6 @@
       หากไม่ได้ตั้งค่านโยบายนี้ ระบบจะไม่อนุญาตให้ใช้ค่าเริ่มต้นสำหรับผู้ใช้ที่มีการจัดการ แต่จะอนุญาตสำหรับผู้ใช้ที่ไม่มีการจัดการ</translation>
 <translation id="2660846099862559570">ไม่ใช้พร็อกซี</translation>
 <translation id="2665422249821137126">เปิดใช้เคอร์เซอร์ขนาดใหญ่ในหน้าจอการเข้าสู่ระบบ</translation>
-<translation id="266882888912227087"> ควบคุมการแจ้งเตือนการเรียกใช้อัตโนมัติของเซสชันผู้เยี่ยมชมที่มีการจัดการใน <ph name="PRODUCT_OS_NAME" />
-
-      หากตั้งค่านโยบายนี้เป็น "จริง" การแจ้งเตือนของคำเตือนด้านความเป็นส่วนตัวจะปิดหลังผ่านไปสักครู่
-
-      หากตั้งค่านโยบายเป็น "เท็จ" หรือไม่ได้ตั้งค่า การแจ้งเตือนของคำเตือนด้านความเป็นส่วนตัวจะตรึงอยู่จนกว่าผู้ใช้จะปิดการแจ้งเตือนดังกล่าว</translation>
 <translation id="2672012807430078509">ควบคุมการเปิดใช้ NTLM เป็นโปรโตคอลการตรวจสอบสิทธิ์สำหรับการต่อเชื่อม SMB</translation>
 <translation id="2678503605767349615">ต้องมีใบรับรองไคลเอ็นต์ระดับอุปกรณ์</translation>
 <translation id="268577405881275241">เปิดใช้ฟีเจอร์พร็อกซีการบีบอัดข้อมูล</translation>
@@ -1706,6 +1709,17 @@
           หากไม่มีการตั้งค่านโยบายนี้ ระบบจะปิดฟีเจอร์เลือกเพื่อให้อ่านในขั้นต้นแต่ผู้ใช้เปิดใช้ได้ทุกเมื่อ</translation>
 <translation id="3591527072193107424">เปิดใช้ฟีเจอร์การรองรับเบราว์เซอร์เวอร์ชันเก่า</translation>
 <translation id="3591584750136265240">กำหนดค่าลักษณะการตรวจสอบสิทธิ์ของการเข้าสู่ระบบ</translation>
+<translation id="3603469950773500315">เปิดใช้การลดการตรวจสอบ <ph name="CORS" /> ในการนำ <ph name="CORS" /> ใหม่ไปใช้ เพื่อให้ส่วนขยายยังคงทำงานร่วมกันได้ และให้ <ph name="PRODUCT_NAME" /> ส่งส่วนหัวที่ระบุโดยไม่ต้องตรวจสอบ <ph name="CORS" />
+
+      หากตั้งค่ารายการนี้ให้ว่างเปล่า <ph name="PRODUCT_NAME" /> จะเรียกใช้ส่วนขยายในลักษณะการทำงานที่เข้ากันได้ และจะไม่แสดงการเปลี่ยนแปลง <ph name="API" /> สำหรับ <ph name="PRODUCT_NAME" /> 79 ดังที่อธิบายไว้ใน <ph name="WEB_REQUEST_API_MANUAL" />
+
+      หากตั้งค่ารายการนี้ให้มีชื่อส่วนหัวของคำขอ <ph name="HTTP" /> การตรวจสอบ <ph name="CORS" /> จะเพิกเฉยต่อส่วนหัวที่อยู่ในรายการ พร้อมทั้งเปิดใช้การลดการตรวจสอบสำหรับส่วนขยาย
+
+      หากไม่ได้ตั้งค่ารายการนี้ไว้ ระบบจะไม่บังคับใช้การลดการตรวจสอบทั้ง 2 รายการที่อธิบายไว้ด้านบน
+
+      ดูรายละเอียดเกี่ยวกับ <ph name="CORS" /> ได้ที่ <ph name="CORS_HELP_URL" />
+
+      โปรดทราบว่าเราได้ประกาศว่าจะนำนโยบายนี้ออกใน <ph name="PRODUCT_NAME" /> เวอร์ชัน 82 แต่ได้นำออกในเวอร์ชัน 84</translation>
 <translation id="3624515566460517364">ตรวจสอบการละเมิดกฎการปกป้องข้อมูลที่ละเอียดอ่อนสำหรับการอัปโหลดและดาวน์โหลด</translation>
 <translation id="3627678165642179114">เปิดหรือปิดใช้งานบริการเว็บสำหรับการตรวจสอบการสะกด</translation>
 <translation id="3628480121685794414">เปิดใช้การพิมพ์แบบด้านเดียว</translation>
@@ -2461,7 +2475,6 @@
       <ph name="PAGE_SIZE_NAME" /> ควรมีรูปแบบที่อยู่ในรายการ 1 รูปแบบ หรือมีรูปแบบ "ที่กำหนดเอง" หากไม่มีขนาดกระดาษที่จำเป็นอยู่ในรายการ หากระบุค่า "ที่กำหนดเอง" ก็ควรระบุพร็อพเพอร์ตี้ <ph name="PAGE_SIZE_CUSTOM_SIZE" /> ซึ่งอธิบายความสูงและความกว้างที่ต้องการเป็นไมโครเมตรด้วย มิเช่นนั้นก็ไม่ควรมีการระบุพร็อพเพอร์ตี้ <ph name="PAGE_SIZE_CUSTOM_SIZE" /> ระบบจะไม่สนใจนโยบายที่ละเมิดกฎนี้
 
       หากไม่มีขนาดหน้าดังกล่าวในเครื่องพิมพ์ที่ผู้ใช้เลือก ระบบจะไม่สนใจนโยบายนี้</translation>
-<translation id="479290425281021210">ระบุว่าจะอนุญาตให้เว็บไซต์ที่ไม่ปลอดภัยส่งคำขอไปยังปลายทางเครือข่ายที่มีความเป็นส่วนตัวมากกว่าหรือไม่</translation>
 <translation id="4802744647065138872">จำกัดจำนวนสแนปชอตข้อมูลผู้ใช้ที่เก็บรักษาไว้สำหรับใช้ในกรณีที่ต้องทำการย้อนกลับฉุกเฉิน</translation>
 <translation id="4802905909524200151">กำหนดค่าพฤติกรรมอัปเดตเฟิร์มแวร์ <ph name="TPM_FIRMWARE_UPDATE_TPM" /></translation>
 <translation id="4804828344300125154">รีบูตทุกครั้งเมื่อผู้ใช้ออกจากระบบ</translation>
@@ -2906,7 +2919,7 @@
       หากไม่ได้ตั้งค่านโยบายนี้ ผู้ใช้จะเลือกรูปโปรไฟล์ของตนเองในหน้าจอเข้าสู่ระบบได้</translation>
 <translation id="5431392643649571773">เมื่อเปิดใช้ ฟีเจอร์ <ph name="PRODUCT_NAME" /> จะอนุญาตให้ใช้การแคชย้อนหลัง เมื่อออกจากหน้าเว็บไป สถานะปัจจุบันของหน้า (โครงสร้างเอกสาร สคริปต์ ฯลฯ) อาจคงอยู่ในการแคชย้อนหลัง หากเบราว์เซอร์กลับมาที่หน้าดังกล่าว ระบบอาจกู้คืนหน้านั้นจากแคชย้อนหลังและแสดงหน้าในสถานะก่อนที่จะมีการแคช
 
-          ฟีเจอร์นี้อาจทำให้เกิดปัญหาในบางเว็บไซต์ที่ไม่ได้เตรียมพร้อมสำหรับการแคชลักษณะนี้ กล่าวคือบางเว็บไซต์จะพึ่งพาเหตุการณ์ "<ph name="UNLOAD_HANDLER_NAME" />" ที่ส่งเมื่อเบราว์เซอร์ออกจากหน้า แต่จะไม่มีการส่งเหตุการณ์ "<ph name="UNLOAD_HANDLER_NAME" />" หากจัดเก็บหน้าไว้ในแคชย้อนหลัง
+          ฟีเจอร์นี้อาจทำให้เกิดปัญหาในบางเว็บไซต์ที่ไม่ได้เตรียมพร้อมสำหรับการแคชลักษณะนี้ กล่าวคือบางเว็บไซต์จะต้องอาศัยเหตุการณ์ "<ph name="UNLOAD_HANDLER_NAME" />" ที่จะส่งไปเมื่อเบราว์เซอร์ออกจากหน้าดังกล่าว แต่จะไม่มีการส่งเหตุการณ์ "<ph name="UNLOAD_HANDLER_NAME" />" หากจัดเก็บหน้าไว้ในแคชย้อนหลัง
 
           หากตั้งค่านโยบายนี้เป็น "เปิดใช้" หรือไม่ได้ตั้งค่า ระบบจะเปิดใช้ฟีเจอร์ <ph name="PRODUCT_NAME" />
 
@@ -3205,6 +3218,12 @@
 
           เมื่อไม่ได้ตั้งค่านโยบายนี้ ลักษณะการทำงาน <ph name="ATTRIBUTE_SAMESITE_NAME" /> ที่เป็นค่าเริ่มต้นของคุกกี้จะขึ้นอยู่กับการกำหนดค่าส่วนตัวของผู้ใช้สำหรับฟีเจอร์ <ph name="FEATURE_NAME_SAMESITE_BY_DEFAULT_COOKIES" />, ฟีเจอร์ <ph name="FEATURE_NAME_SAMESITE_NONE_MUST_BE_SECURE" /> และฟีเจอร์ <ph name="FEATURE_NAME_SCHEMEFUL_SAME_SITE" /> ซึ่งอาจมีการตั้งค่าโดยการทดสอบในวงจำกัด หรือโดยการเปิดหรือปิดใช้แฟล็ก <ph name="FLAG_NAME_SAMESITE_BY_DEFAULT_COOKIES" />, แฟล็ก <ph name="FLAG_NAME_SAMESITE_NONE_MUST_BE_SECURE" /> หรือแฟล็ก <ph name="FLAG_NAME_SCHEMEFUL_SAME_SITE" /> ตามลำดับ</translation>
 <translation id="585270638818921943">ป้องกันไม่ให้ผู้ใช้ใช้แอป Android จากแหล่งที่มาที่ไม่น่าเชื่อถือ</translation>
+<translation id="585671885349598586">ระบุเครื่องพิมพ์ที่ผู้ใช้ใช้งานไม่ได้
+
+      ใช้นโยบายนี้ต่อเมื่อเลือก <ph name="PRINTERS_BLOCKLIST" /> สำหรับ <ph name="PRINTERS_BULK_ACCESS_MODE_POLICY_NAME" /> เท่านั้น
+
+      ถ้าใช้นโยบายนี้ ผู้ใช้จะใช้เครื่องพิมพ์ได้ทุกเครื่องยกเว้นเครื่องที่มีรหัสตามที่ระบุไว้ในนโยบายนี้ รหัสดังกล่าวต้องตรงกับช่อง "id" หรือ "guid" ในไฟล์ที่ระบุใน <ph name="PRINTERS_BULK_CONFIGURATION_POLICY_NAME" />
+      </translation>
 <translation id="5859344336338527083">การตั้งค่านโยบายจะระบุ URL ที่ติดตั้งส่วนขยาย แอป และธีมได้ ก่อน <ph name="PRODUCT_NAME" /> 21 ผู้ใช้คลิกลิงก์เพื่อไปยังไฟล์ *.crx ได้ จากนั้น <ph name="PRODUCT_NAME" /> จะเสนอให้ติดตั้งไฟล์หลังจากแสดงคำเตือน 2-3 รายการ แต่ในเวอร์ชันต่อมา จะต้องมีการดาวน์โหลดไฟล์ดังกล่าวและลากไปที่หน้าการตั้งค่า <ph name="PRODUCT_NAME" /> การตั้งค่านี้อนุญาตให้บาง URL มีขั้นตอนการติดตั้งแบบเก่าแต่ใช้งานง่ายกว่าได้
 
       แต่ละรายการในลิสต์นี้เป็นรูปแบบการจับคู่สไตล์ส่วนขยาย (ดู https://developer.chrome.com/extensions/match_patterns) ผู้ใช้จะติดตั้งรายการต่างๆ ได้โดยง่ายจาก URL ที่ตรงกับรายการในลิสต์นี้ ทั้งตำแหน่งของไฟล์ *.crx และหน้าเว็บที่เริ่มการดาวน์โหลด (URL ที่มา) จะต้องได้รับอนุญาตจากรูปแบบเหล่านี้
@@ -3484,6 +3503,17 @@
       แต่ละรายการของนโยบายมีลักษณะเป็นสตริงที่มีรหัสส่วนขยายและอาจมี URL "อัปเดต" ที่คั่นด้วยเครื่องหมายอัฒภาค (<ph name="SEMICOLON" />) รหัสส่วนขยายคือสตริงตัวอักษร 32 ตัว เช่น ที่พบใน <ph name="CHROME_EXTENSIONS_LINK" /> เมื่ออยู่ในโหมดนักพัฒนาซอฟต์แวร์ URL "อัปเดต" (หากระบุไว้) ควรชี้ไปยังเอกสาร XML ไฟล์ Manifest ของการอัปเดตตามที่อธิบายไว้ที่ <ph name="LINK_TO_EXTENSION_DOC1" /> โดยค่าเริ่มต้น ระบบจะใช้ URL อัปเดตของ Chrome เว็บสโตร์ (ปัจจุบันคือ "https://clients2.google.com/service/update2/crx") โปรดทราบว่า URL "อัปเดต" ที่กำหนดไว้ในนโยบายนี้จะใช้สำหรับการติดตั้งครั้งแรกเท่านั้น ส่วนการอัปเดตส่วนขยายในครั้งต่อๆ ไปจะใช้ URL อัปเดตที่ระบุไว้ในไฟล์ Manifest ของส่วนขยาย
 
       ตัวอย่างเช่น <ph name="LOGIN_SCREEN_EXTENSION_POLICY_EXAMPLE" /> จะติดตั้งแอป <ph name="SMART_CARD_CONNECTOR_APP_NAME" /> จาก URL "อัปเดต" ของ Chrome เว็บสโตร์มาตรฐาน ดูข้อมูลเพิ่มเติมเกี่ยวกับการโฮสต์ส่วนขยายได้ที่ <ph name="LINK_TO_EXTENSION_DOC2" /></translation>
+<translation id="6275833043726517413">ควรใช้การใช้งาน <ph name="CORS" /> เดิมมากกว่า <ph name="CORS" /> ใหม่
+
+      หากตั้งค่านี้เป็น "จริง" ระบบจะใช้การใช้งานเดิมซึ่งควรจะเข้ากันได้กับเวอร์ชันก่อนหน้า
+
+      หากตั้งค่าเป็น "เท็จ" หรือไม่ได้ตั้งค่า การใช้งานใหม่อาจก่อให้เกิดปัญหาด้านความเข้ากันได้เฉพาะสำหรับองค์กร
+
+      เราจะนำนโยบายนี้ออกหลังจากเวลาผ่านไประยะหนึ่ง
+
+      ดูรายละเอียดเกี่ยวกับ <ph name="CORS" /> ได้ที่ <ph name="CORS_HELP_URL" />
+
+      โปรดทราบว่าเราได้ประกาศว่าจะนำนโยบายนี้ออกใน <ph name="PRODUCT_NAME" /> เวอร์ชัน 82 แต่ได้นำออกในเวอร์ชัน 84</translation>
 <translation id="6281043242780654992">กำหนดค่านโยบายสำหรับการรับส่งข้อความดั้งเดิม โฮสต์การรับส่งข้อความดั้งเดิมที่อยู่ในบัญชีดำจะไม่ได้รับอนุญาตเว้นเสียแต่ว่าจะถูกกำหนดให้อยู่ในรายการที่อนุญาตพิเศษ</translation>
 <translation id="6282799760374509080">อนุญาตหรือปฏิเสธการจับเสียง</translation>
 <translation id="6284362063448764300">TLS 1.1</translation>
@@ -3808,13 +3838,6 @@
 
       การตั้งค่านโยบายเป็น "ปิดใช้" จะมีข้อความแสดงข้อผิดพลาดขึ้นมาแทน</translation>
 <translation id="6821268164692776674">ปลายทาง <ph name="CLOUD_PRINT_NAME" /> และ "บันทึกลงใน Google ไดรฟ์"</translation>
-<translation id="6823297401452148231">ควบคุมว่าอนุญาตให้เว็บไซต์ที่ไม่ปลอดภัยส่งคำขอไปยังปลายทางเครือข่ายที่มีความเป็นส่วนตัวมากกว่าหรือไม่ เช่น ควบคุมว่าจะอนุญาตให้ http://evil.com ส่งคำขอถึงทั้ง localhost และปลายทางในเครือข่ายส่วนตัวหรือไม่ โดยทั้ง 2 ทางเข้าถึงไม่ได้จากอินเทอร์เน็ตสาธารณะ ดูรายละเอียดเพิ่มเติมได้ที่ https://wicg.github.io/cors-rfc1918/#goals
-
-          เมื่อไม่ได้ตั้งค่านโยบายนี้ ลักษณะการทำงานเริ่มต้นสำหรับคำขอจากบริบทที่ไม่ปลอดภัยถึงปลายทางเครือข่ายที่มีความเป็นส่วนตัวมากกว่าจะขึ้นอยู่กับการกำหนดค่าส่วนตัวของผู้ใช้สำหรับฟีเจอร์ <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" /> ซึ่งอาจตั้งค่าไว้ด้วยการทดสอบในวงจำกัดหรือในบรรทัดคำสั่ง
-
-          เมื่อตั้งค่านโยบายนี้เป็น "เท็จ" เว็บไซต์ที่ไม่ปลอดภัยจะถูกห้ามไม่ให้ส่งคำขอถึงปลายทางเครือข่ายที่มีความเป็นส่วนตัวมากกว่า กล่าวคือเว็บไซต์ที่ไม่ปลอดภัยซึ่งแสดงจากที่อยู่ IP สาธารณะจะถูกห้ามไม่ให้ส่งคำขอถึงทั้ง localhost และที่อยู่ IP ส่วนตัว ส่วนเว็บไซต์ที่ไม่ปลอดภัยซึ่งแสดงจากที่อยู่ IP ส่วนตัวจะถูกห้ามไม่ให้ส่งคำขอถึง localhost
-
-          เมื่อตั้งค่านโยบายนี้เป็น "จริง" เว็บไซต์ที่ไม่ปลอดภัยจะได้รับอนุญาตให้ส่งคำขอถึงปลายทางเครือข่ายใดก็ได้ โดยขึ้นอยู่กับการตรวจสอบข้ามต้นทางอื่นๆ</translation>
 <translation id="6833064854262015312">การตั้งค่านโยบายนี้เป็น "จริง" จะเปิดโหมดคอนทราสต์สูงในหน้าจอลงชื่อเข้าใช้ การตั้งค่านโยบายนี้เป็น "เท็จ" จะปิดโหมดคอนทราสต์สูงในหน้าจอลงชื่อเข้าใช้
 
       หากตั้งค่านโยบายนี้ไว้ ผู้ใช้จะเปลี่ยนโหมดคอนทราสต์สูงเป็นเปิดหรือปิดได้ชั่วคราว เมื่อหน้าจอลงชื่อเข้าใช้โหลดซ้ำหรือไม่มีการใช้งานเป็นเวลา 1 นาที โหมดนี้จะเปลี่ยนกลับไปอยู่ในสถานะเดิม
@@ -4003,6 +4026,22 @@
 <translation id="7063895219334505671">อนุญาตให้แสดงป๊อปอัปบนไซต์เหล่านี้</translation>
 <translation id="706669471845501145">อนุญาตให้ไซต์แสดงการแจ้งเตือนของเดสก์ท็อป</translation>
 <translation id="7068108874199666656">อนุญาตให้ใช้การกำหนดค่าเครือข่ายแบบพุชสำหรับผู้ใช้ทั้งหมดของอุปกรณ์ <ph name="PRODUCT_OS_NAME" /> การกำหนดค่าเครือข่ายจะเป็นสตริงรูปแบบ JSON ตามที่กำหนดโดยรูปแบบการกำหนดค่าเครือข่ายแบบเปิด</translation>
+<translation id="7069358643254839205">จัดเตรียมการกำหนดค่าสำหรับเครื่องพิมพ์องค์กรที่เชื่อมโยงกับอุปกรณ์
+
+      นโยบายนี้ให้คุณระบุการกำหนดค่าเครื่องพิมพ์ให้แก่อุปกรณ์ <ph name="PRODUCT_OS_NAME" />  รูปแบบจะเหมือนกับพจนานุกรม NativePrinters แต่มีช่อง "id" หรือ "guid" ที่จำเป็นต้องกรอกเพิ่มเข้ามาสำหรับเครื่องพิมพ์แต่ละเครื่องเพื่อใช้ระบุว่าอยู่ในรายการที่อนุญาตหรือไม่อนุญาต
+
+      ไฟล์ต้องมีขนาดไม่เกิน 5 MB และต้องเข้ารหัสเป็น JSON  ไฟล์ที่ระบุเครื่องพิมพ์ประมาณ 21,000 เครื่องคาดว่าจะเข้ารหัสได้เป็นไฟล์ขนาด 5 MB 1 ไฟล์  และจะใช้แฮชแบบเข้ารหัสเพื่อยืนยันความสมบูรณ์ของการดาวน์โหลด
+
+      ระบบจะดาวน์โหลดและเก็บแคชของไฟล์ไว้ แล้วจะดาวน์โหลดอีกครั้งเมื่อ URL หรือแฮชมีการเปลี่ยนแปลง
+
+      หากตั้งค่านโยบายนี้ <ph name="PRODUCT_OS_NAME" /> จะดาวน์โหลดไฟล์สำหรับการกำหนดค่าเครื่องพิมพ์และทำให้เครื่องพิมพ์พร้อมใช้งานโดยสอดคล้องกับ <ph name="DEVICE_PRINTERS_ACCESS_MODE" />, <ph name="DEVICE_PRINTERS_ALLOWLIST" /> และ <ph name="DEVICE_PRINTERS_BLOCKLIST" />
+
+      นโยบายนี้ไม่มีผลต่อความสามารถของผู้ใช้ในการกำหนดค่าเครื่องพิมพ์ในอุปกรณ์ใดๆ  แต่เป็นเพียงนโยบายเพิ่มเติมสำหรับการกำหนดค่าเครื่องพิมพ์ของผู้ใช้แต่ละราย
+
+      นโยบายนี้เป็นส่วนเพิ่มเติมของ <ph name="PRINTERS_BULK_CONFIGURATION_POLICY_NAME" />
+
+      หากไม่ได้ตั้งค่านโยบายนี้ จะไม่มีเครื่องพิมพ์สำหรับอุปกรณ์และระบบจะเพิกเฉยต่อนโยบาย <ph name="DEVICE_PRINTERS_POLICY_PATTERN" /> อื่นๆ
+      </translation>
 <translation id="7070525176564511548">ต้องป้อนรหัสผ่านทุกสัปดาห์ (168 ชั่วโมง)</translation>
 <translation id="7072208053150563108">อัตราการเปลี่ยนรหัสผ่านโดยเครื่อง</translation>
 <translation id="7079519252486108041">ปิดกั้นป๊อปอัปบนไซต์เหล่านี้</translation>
@@ -4210,6 +4249,11 @@
       ไม่รองรับการค้นหาอัตโนมัติและการติดตั้งปลั๊กอินที่ขาดหายไปแล้ว</translation>
 <translation id="7267809745244694722">แป้นสื่อมีค่าเริ่มต้นเป็นแป้นฟังก์ชัน</translation>
 <translation id="7271085005502526897">การนำเข้าหน้าแรกจากเบราว์เซอร์เริ่มต้นในการเรียกใช้งานครั้งแรก</translation>
+<translation id="7271181393214180342">การตั้งค่านโยบายเป็น "เปิดใช้" หมายความว่า การตรวจสอบสิทธิ์ HTTP จะยึดตามการอนุมัติโดยนโยบาย KDC กล่าวคือ <ph name="PRODUCT_NAME" /> จะมอบสิทธิ์ใช้ข้อมูลเข้าสู่ระบบของผู้ใช้ให้แก่บริการที่กำลังเข้าถึงในกรณีที่ KDC ตั้งค่า <ph name="OK_AS_DELEGATE" /> ในตั๋วบริการ ดู RFC 5896 (https://tools.ietf.org/html/rfc5896.html) บริการควรได้รับอนุญาตจาก <ph name="AUTH_NEGOTIATE_DELEGATE_ALLOWLIST_POLICY_NAME" /> ด้วย
+
+      การตั้งค่านโยบายเป็น "ปิดใช้" หรือไม่ได้ตั้งค่าหมายความว่า ระบบจะไม่สนใจนโยบาย KDC ในแพลตฟอร์มที่รองรับ และจะดำเนินการตาม <ph name="AUTH_NEGOTIATE_DELEGATE_ALLOWLIST_POLICY_NAME" /> เท่านั้น
+
+      ใน <ph name="MS_WIN_NAME" /> ระบบจะดำเนินการตามนโยบาย KDC เสมอ</translation>
 <translation id="7273823081800296768">หากการตั้งค่านี้เปิดใช้งานหรือไม่ได้กำหนดค่า ผู้ใช้สามารถเลือกที่จะจับคู่ลูกค้าและโฮสต์ในเวลาเชื่อมต่อ โดยไม่จำเป็นต้องป้อน PIN ทุกครั้ง
 
           หากการตั้งค่านี้ถูกปิดใช้งาน ฟีเจอร์นี้จะไม่สามารถใช้ได้</translation>
@@ -4244,6 +4288,29 @@
 <translation id="7339315111520512972">บังคับให้เรียกใช้โค้ดเครือข่ายในกระบวนการของเบราว์เซอร์</translation>
 <translation id="7340034977315324840">รายงานจำนวนครั้งของกิจกรรมบนอุปกรณ์</translation>
 <translation id="7343497214039883642">ไฟล์การกำหนดค่าเครื่องพิมพ์องค์กรสำหรับอุปกรณ์</translation>
+<translation id="7348384750433771321">ระบุการกำหนดค่าเครื่องพิมพ์ขององค์กร
+
+      นโยบายนี้ให้คุณระบุการกำหนดค่าเครื่องพิมพ์ให้แก่อุปกรณ์ <ph name="PRODUCT_OS_NAME" />  รูปแบบจะเหมือนกับพจนานุกรม NativePrinters แต่มีช่อง "id" หรือ "guid" ที่จำเป็นต้องกรอกเพิ่มเข้ามาสำหรับเครื่องพิมพ์แต่ละเครื่องเพื่อใช้ระบุว่าอยู่ในรายการที่อนุญาตหรือไม่อนุญาต
+
+      ไฟล์ต้องมีขนาดไม่เกิน 5 MB และต้องเข้ารหัสเป็น JSON  ไฟล์ที่ระบุเครื่องพิมพ์ประมาณ 21,000 เครื่องคาดว่าจะเข้ารหัสได้เป็นไฟล์ขนาด 5 MB 1 ไฟล์  และจะใช้แฮชแบบเข้ารหัสเพื่อยืนยันความสมบูรณ์ของการดาวน์โหลด
+
+      ระบบจะดาวน์โหลดและเก็บแคชของไฟล์ไว้ แล้วจะดาวน์โหลดอีกครั้งเมื่อ URL หรือแฮชมีการเปลี่ยนแปลง
+
+      หากตั้งค่านโยบายนี้ <ph name="PRODUCT_OS_NAME" /> จะดาวน์โหลดไฟล์สำหรับการกำหนดค่าเครื่องพิมพ์และทำให้เครื่องพิมพ์พร้อมใช้งานโดยสอดคล้องกับ <ph name="BULK_PRINTERS_ACCESS_MODE_POLICY_NAME" />, <ph name="BULK_PRINTERS_WHITELIST" /> และ <ph name="BULK_PRINTERS_BLACKLIST" />
+
+      หากตั้งค่านโยบายนี้ ผู้ใช้จะเปลี่ยนหรือลบล้างไม่ได้
+
+      นโยบายนี้ไม่มีผลต่อความสามารถของผู้ใช้ในการกำหนดค่าเครื่องพิมพ์ในอุปกรณ์ใดๆ  แต่เป็นเพียงนโยบายเพิ่มเติมสำหรับการกำหนดค่าเครื่องพิมพ์ของผู้ใช้แต่ละราย
+
+      นโยบายนี้เลิกใช้งานไปแล้ว โปรดใช้ <ph name="PRINTERS_BULK_CONFIGURATION_POLICY_NAME" /> แทน</translation>
+<translation id="7355640439776250098">ระบุเครื่องพิมพ์ที่ผู้ใช้จะใช้ไม่ได้
+
+      ระบบจะใช้นโยบายนี้หากมีการเลือก <ph name="PRINTERS_BLACKLIST" /> ไว้สำหรับ <ph name="BULK_PRINTERS_ACCESS_MODE_POLICY_NAME" />
+
+      หากใช้นโยบายนี้ ระบบจะจัดเตรียมเครื่องพิมพ์ทั้งหมดให้แก่ผู้ใช้ ยกเว้นรหัสที่ระบุไว้ในนโยบายนี้ รหัสดังกล่าวต้องตรงกับช่อง "id" หรือช่อง "guid" ในไฟล์ที่ระบุไว้ใน <ph name="BULK_PRINTERS_POLICY_NAME" />
+
+      นโยบายนี้เลิกใช้งานไปแล้ว โปรดใช้ <ph name="PRINTERS_BULK_BLOCKLIST" /> แทน
+      </translation>
 <translation id="7360181094056034924">ควบคุมการทำงานของ <ph name="PRODUCT_NAME" /> กับข้อมูลการอัปโหลดและดาวน์โหลดที่เห็นว่าต้องสแกน  การถ่วงเวลาการส่งหมายความว่า <ph name="PRODUCT_NAME" /> จะไม่อนุญาตให้ผู้ใช้เข้าถึงไฟล์ที่ดาวน์โหลดมา เลือกไฟล์ที่จะอัปโหลด วางจากคลิปบอร์ด หรือลากและวางข้อมูล จนกว่าระบบจะสแกนไฟล์หรือข้อมูลนั้นแล้ว และรู้ผลคำตัดสินของการสแกนก่อน  การจำกัดนี้ใช้เฉพาะกับไฟล์หรือข้อมูลที่ต้องมีการสแกนตามที่กำหนดโดย <ph name="SEND_FILES_FOR_MALWARE_CHECK_POLICY_NAME" />, <ph name="CHECK_CONTENT_COMPLIANCE_POLICY_NAME" /> และนโยบายต่างๆ ที่ควบคุมรายการโดเมนที่เปิดใช้การตรวจสอบ
 
       หากไม่ได้ตั้งค่านโยบายนี้หรือตั้งค่าเป็น "ไม่มี" <ph name="PRODUCT_NAME" /> จะไม่ถ่วงเวลาไฟล์ใดๆ ในการอัปโหลด วางจากคลิปบอร์ด ลากและวางข้อมูล หรือถ่วงเวลาการเข้าถึงไฟล์ใดๆ ที่ดาวน์โหลดมา  การสแกนจะทำงานอยู่เบื้องหลัง
@@ -4438,6 +4505,24 @@
       หากคุณตั้งค่านโยบายไว้ ผู้ใช้จะเปลี่ยนค่านั้นใน <ph name="PRODUCT_NAME" /> ไม่ได้ หากไม่ได้ตั้งค่าไว้ ระบบจะเปิดใช้ผู้ให้บริการค้นหาเริ่มต้น และผู้ใช้จะกำหนดรายการผู้ให้บริการค้นหาได้
 
       ใน <ph name="MS_WIN_NAME" /> ฟังก์ชันการทำงานนี้ใช้ได้เฉพาะในอินสแตนซ์ที่เข้าร่วมโดเมน <ph name="MS_AD_NAME" />, ทำงานใน Windows 10 Pro หรือลงทะเบียนในการจัดการระบบคลาวด์ของเบราว์เซอร์ Chrome ใน <ph name="MAC_OS_NAME" /> ฟังก์ชันการทำงานนี้ใช้ได้เฉพาะในอินสแตนซ์ที่จัดการผ่าน MDM หรือเข้าร่วมในโดเมนผ่าน MCX</translation>
+<translation id="7673108452297907398">จัดเตรียมการกำหนดค่าสำหรับเครื่องพิมพ์องค์กรที่เชื่อมโยงกับอุปกรณ์
+
+      นโยบายนี้ให้คุณระบุการกำหนดค่าเครื่องพิมพ์ให้แก่อุปกรณ์ <ph name="PRODUCT_OS_NAME" />  รูปแบบจะเหมือนกับพจนานุกรม NativePrinters แต่มีช่อง "id" หรือ "guid" ที่จำเป็นต้องกรอกเพิ่มเข้ามาสำหรับเครื่องพิมพ์แต่ละเครื่องเพื่อใช้ระบุว่าอยู่ในรายการที่อนุญาตหรือไม่อนุญาต
+
+      ไฟล์ต้องมีขนาดไม่เกิน 5 MB และต้องเข้ารหัสเป็น JSON  ไฟล์ที่ระบุเครื่องพิมพ์ประมาณ 21,000 เครื่องคาดว่าจะเข้ารหัสได้เป็นไฟล์ขนาด 5 MB 1 ไฟล์  และจะใช้แฮชแบบเข้ารหัสเพื่อยืนยันความสมบูรณ์ของการดาวน์โหลด
+
+      ระบบจะดาวน์โหลดและเก็บแคชของไฟล์ไว้ แล้วจะดาวน์โหลดอีกครั้งเมื่อ URL หรือแฮชมีการเปลี่ยนแปลง
+
+      หากตั้งค่านโยบายนี้ <ph name="PRODUCT_OS_NAME" /> จะดาวน์โหลดไฟล์สำหรับการกำหนดค่าเครื่องพิมพ์และทำให้เครื่องพิมพ์พร้อมใช้งานโดยสอดคล้องกับ <ph name="DEVICE_NATIVE_PRINTERS_ACCESS_MODE" />, <ph name="DEVICE_PRINTERS_ALLOWLIST" /> และ <ph name="DEVICE_PRINTERS_BLOCKLIST" />
+
+      นโยบายนี้ไม่มีผลต่อความสามารถของผู้ใช้ในการกำหนดค่าเครื่องพิมพ์ในอุปกรณ์ใดๆ  แต่เป็นเพียงนโยบายเพิ่มเติมสำหรับการกำหนดค่าเครื่องพิมพ์ของผู้ใช้แต่ละราย
+
+      นโยบายนี้เป็นส่วนเพิ่มเติมของ <ph name="BULK_PRINTERS_POLICY_NAME" />
+
+      หากไม่ได้ตั้งค่านโยบายนี้ จะไม่มีเครื่องพิมพ์สำหรับอุปกรณ์และระบบจะเพิกเฉยต่อนโยบาย <ph name="DEVICE_NATIVE_PRINTERS_POLICY_PATTERN" /> อื่นๆ
+
+      นโยบายนี้เลิกใช้งานไปแล้ว โปรดใช้ <ph name="DEVICE_PRINTERS" /> แทน
+      </translation>
 <translation id="7673194325208122247">ระยะเวลา (มิลลิวินาที)</translation>
 <translation id="7677220829878081413">
       เมื่อตั้งค่าเป็น ArcSession นโยบายนี้จะบังคับให้อุปกรณ์รีบูตเมื่อผู้ใช้ออกจากระบบหาก Android เริ่มต้นแล้ว
@@ -5144,6 +5229,19 @@
 <translation id="8757552286070680084">การกำหนดค่า Wilco DTC</translation>
 <translation id="8758831693895931466">เปิดใช้การลงทะเบียนการจัดการระบบคลาวด์ที่บังคับ</translation>
 <translation id="8759829385824155666">ประเภทของการเข้ารหัสลับ Kerberos ที่อนุญาต</translation>
+<translation id="8760176996829352091">ระบุการกำหนดค่าเครื่องพิมพ์ขององค์กร
+
+      นโยบายนี้ให้คุณระบุการกำหนดค่าเครื่องพิมพ์ให้แก่อุปกรณ์ <ph name="PRODUCT_OS_NAME" /> รูปแบบจะเหมือนกับพจนานุกรม <ph name="PRINTERS_POLICY_NAME" /> แต่จะมีช่อง "id" หรือ "guid" ที่จำเป็นต้องกรอกเพิ่มเข้ามาสำหรับเครื่องพิมพ์แต่ละเครื่องเพื่อการอนุญาตหรือบล็อก
+
+      ไฟล์ต้องมีขนาดไม่เกิน 5 MB และต้องเข้ารหัสเป็น JSON ไฟล์ที่ระบุเครื่องพิมพ์ประมาณ 21,000 เครื่องคาดว่าจะเข้ารหัสได้เป็นไฟล์ขนาด 5 MB 1 ไฟล์ และจะใช้แฮชแบบเข้ารหัสเพื่อยืนยันความสมบูรณ์ของการดาวน์โหลด
+
+      ระบบจะดาวน์โหลดและเก็บแคชของไฟล์ไว้ แล้วจะดาวน์โหลดอีกครั้งเมื่อ URL หรือแฮชมีการเปลี่ยนแปลง
+
+      หากตั้งค่านโยบายนี้ <ph name="PRODUCT_OS_NAME" /> จะดาวน์โหลดไฟล์สำหรับการกำหนดค่าเครื่องพิมพ์และทำให้เครื่องพิมพ์พร้อมใช้งานโดยสอดคล้องกับ <ph name="PRINTERS_BULK_ACCESS_MODE_POLICY_NAME_POLICY_NAME" />, <ph name="PRINTERS_BULK_ALLOWLIST" /> และ <ph name="PRINTERS_BULK_BLOCKLIST" />
+
+      หากตั้งค่านโยบายนี้ ผู้ใช้จะเปลี่ยนหรือลบล้างไม่ได้
+
+      นโยบายนี้ไม่มีผลต่อความสามารถของผู้ใช้ในการกำหนดค่าเครื่องพิมพ์ในอุปกรณ์ใดๆ แต่เป็นเพียงนโยบายเพิ่มเติมสำหรับการกำหนดค่าเครื่องพิมพ์ของผู้ใช้แต่ละราย</translation>
 <translation id="8764477907716150749">นโยบายนี้มีไว้สำหรับการใช้งานภายในของ <ph name="PRODUCT_NAME" /> เอง</translation>
 <translation id="877185520360032968">การตั้งค่านโยบายนี้จะเปลี่ยนไดเรกทอรีเริ่มต้นที่ Chrome จะใช้สำหรับการดาวน์โหลดไฟล์ แต่ผู้ใช้จะเปลี่ยนไดเรกทอรีได้
 
@@ -5418,6 +5516,12 @@
 <translation id="9096086085182305205">รายการที่อนุญาตสำหรับเซิร์ฟเวอร์การตรวจสอบสิทธิ์</translation>
 <translation id="9105265795073104888">แอป Android สามารถใช้เพียงชุดย่อยของตัวเลือกการกำหนดค่าพร็อกซี โดยแอป Android อาจเลือกใช้พร็อกซีโดยสมัครใจ คุณไม่สามารถบังคับให้แอปใช้พร็อกซีได้</translation>
 <translation id="9106865192244721694">อนุญาต WebUSB ในเว็บไซต์เหล่านี้</translation>
+<translation id="910760342417457561">ควบคุมว่าจะให้เครื่องพิมพ์ใดจาก <ph name="PRINTERS_BULK_CONFIGURATION_POLICY_NAME" /> พร้อมใช้งานสำหรับผู้ใช้
+
+      กำหนดนโยบายการเข้าถึงที่จะนำมาใช้สำหรับการกำหนดค่าเครื่องพิมพ์แบบกลุ่ม หากเลือก <ph name="PRINTERS_ALLOW_ALL" /> ระบบจะแสดงเครื่องพิมพ์ทั้งหมด หากเลือก <ph name="PRINTERS_BLOCKLIST" /> ระบบจะใช้ <ph name="PRINTERS_BULK_BLOCKLIST" /> ในการจำกัดการเข้าถึงเครื่องพิมพ์ที่ระบุ  หากเลือก <ph name="PRINTERS_ALLOWLIST" /> <ph name="PRINTERS_BULK_ALLOWLIST" /> จะกำหนดเฉพาะเครื่องพิมพ์ที่เลือกได้
+
+      หากไม่ได้ตั้งค่านโยบายนี้ไว้ ระบบจะถือว่าเลือก <ph name="PRINTERS_ALLOW_ALL" /> ไว้
+      </translation>
 <translation id="9109086856618439290">เปิดใช้ข้อกำหนดในการให้บริการเมื่อเรียกใช้ CCT/PWA ครั้งแรก</translation>
 <translation id="9112727953998243860">ไฟล์การกำหนดค่าเครื่องพิมพ์องค์กร</translation>
 <translation id="9116740039944096995">รายการรูปแบบ URL อนุญาตคำขอเครือข่ายส่วนตัวที่เริ่มต้นมาจากเว็บไซต์ที่ไม่ปลอดภัยที่แสดงโดยต้นทางที่ตรงกัน
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb
index 35ce4c72..0bbe0bd 100644
--- a/components/policy/resources/policy_templates_tr.xtb
+++ b/components/policy/resources/policy_templates_tr.xtb
@@ -1075,11 +1075,6 @@
       Bu politika ayarlanmadan bırakılırsa varsayılan değer, yönetilen kullanıcılara izin verilmemesi ve yönetilmeyen kullanıcılara izin verilmesi şeklindedir.</translation>
 <translation id="2660846099862559570">Hiçbir zaman proxy kullanma</translation>
 <translation id="2665422249821137126">Giriş ekranında büyük imleci etkinleştir</translation>
-<translation id="266882888912227087"> <ph name="PRODUCT_OS_NAME" /> işletim sisteminde yönetilen misafir oturumunun otomatik başlatma bildirimini yönetin.
-
-      Bu politika True (Doğru) değerine ayarlanırsa gizlilik uyarısı bildirimi birkaç saniye sonra kapanır.
-
-      Bu politika False (Yanlış) değerine ayarlanırsa veya ayarlanmadan bırakılırsa gizlilik uyarısı bildirimi kullanıcı kapatana kadar sabitlenir.</translation>
 <translation id="2672012807430078509">NTLM'nin SMB ekleme için kimlik doğrulama protokolü olarak etkinleştirilmesini kontrol eder</translation>
 <translation id="2678503605767349615">Cihaz genelinde gerekli İstemci Sertifikaları</translation>
 <translation id="268577405881275241">Veri sıkıştırma proxy özelliğini etkinleştir</translation>
@@ -2484,7 +2479,6 @@
       <ph name="PAGE_SIZE_NAME" />, listelenen biçimlerden birini veya gereken kağıt boyutu listede yoksa "özel" biçimi içermelidir. "Özel" değer sağlanıyorsa <ph name="PAGE_SIZE_CUSTOM_SIZE" /> özelliği belirtilmelidir. Bu özellik, istenilen yüksekliği ve genişliği mikrometre cinsinden verir. Aksi takdirde <ph name="PAGE_SIZE_CUSTOM_SIZE" /> özelliği belirtilmemelidir. Bu kuralları ihlal eden politika yok sayılır.
 
       Sayfa boyutu kullanıcı tarafından seçilen yazıcıda kullanılamıyorsa bu politika yok sayılır.</translation>
-<translation id="479290425281021210">Güvenli olmayan web sitelerinin, daha özel ağ uç noktalarına istekte bulunmasına izin verilip verilmeyeceğini belirtir.</translation>
 <translation id="4802744647065138872">Acil geri alma durumunda kullanılmak üzere saklanan kullanıcı verilerinin anlık görüntü sayısını sınırlar.</translation>
 <translation id="4802905909524200151"><ph name="TPM_FIRMWARE_UPDATE_TPM" /> donanım yazılımını güncelleme davranışını yapılandır</translation>
 <translation id="4804828344300125154">Kullanıcı oturumu kapatıldığında her zaman cihazı yeniden başlat.</translation>
@@ -3836,13 +3830,6 @@
 
       Politikayı Devre dışı değerine ayarlanırsa bunun yerine bir hata mesajı gösterilir.</translation>
 <translation id="6821268164692776674"><ph name="CLOUD_PRINT_NAME" /> ve "Google Drive'a kaydet" hedefleri</translation>
-<translation id="6823297401452148231">Güvenli olmayan web sitelerinin daha özel ağ uç noktalarına istekte bulunmasına izin verilip verilmediğini kontrol eder. Örneğin, http://evil.com sitesinin, özel ağ üzerindeki "localhost" ve uç noktalara (ikisine de herkese açık internetten erişilemez) istekte bulunmasına izin verilip verilmediğini kontrol eder. Daha fazla ayrıntı için https://wicg.github.io/cors-rfc1918/#goals sayfasına bakabilirsiniz.
-
-          Bu politika ayarlanmadığında, güvenli olmayan bağlamlardan daha özel ağ uç noktalarına yapılan istekler için varsayılan davranış, kullanıcının <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" /> özelliğini kişisel yapılandırmasına bağlıdır. Bu özellik, saha denemesi tarafından veya komut satırında ayarlanmış olabilir.
-
-          Bu politika False (Yanlış) değerine ayarlandığında, güvenli olmayan web sitelerinin daha özel ağ uç noktalarına istekte bulunmasına izin verilmez. Yani herkese açık IP adreslerinden sunulan güvenli olmayan web sitelerinin, hem localhost'a hem de özel IP adreslerine istekte bulunmasına izin verilmez. Özel IP adreslerinden sunulan güvenli olmayan web sitelerinin, localhost'a istekte bulunmasına izin verilmez.
-
-          Bu politika True (Doğru) değerine ayarlandığında, güvenli olmayan web sitelerinin, diğer çapraz kaynak kontrollerine tabi olarak herhangi bir ağ uç noktasına istekte bulunmasına izin verilir.</translation>
 <translation id="6833064854262015312">Politikayı True (Doğru) değerine ayarlamak, oturum açma ekranında Yüksek kontrast modunu açar. Politikayı False (Yanlış) değerine ayarlamak, oturum açma ekranında Yüksek kontrast modunu kapatır.
 
       Politikayı ayarlarsanız kullanıcılar Yüksek kontrast modunu 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.
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb
index 50b42fa..173c5d9 100644
--- a/components/policy/resources/policy_templates_uk.xtb
+++ b/components/policy/resources/policy_templates_uk.xtb
@@ -1094,11 +1094,6 @@
       Якщо це правило не налаштовано, функція синхронізації буде доступна лише користувачам, якими не керує адміністратор.</translation>
 <translation id="2660846099862559570">Ніколи не використовувати проксі-сервер</translation>
 <translation id="2665422249821137126">Увімкнути великий курсор на екрані входу</translation>
-<translation id="266882888912227087"> Керуйте сповіщенням про автоматичний запуск керованого сеансу в режимі "Гість" у <ph name="PRODUCT_OS_NAME" />.
-
-      Якщо для цього правила вибрано значення true, сповіщення про загрозу конфіденційності зникне через кілька секунд.
-
-      Якщо для цього правила вибрано значення false або його не налаштовано, сповіщення про загрозу конфіденційності буде закріплено, доки користувач не закриє його.</translation>
 <translation id="2672012807430078509">Указує, чи можна вмикати NTLM як протокол автентифікації для підключення SMB</translation>
 <translation id="2678503605767349615">Обов'язкові сертифікати клієнтів на рівні пристрою</translation>
 <translation id="268577405881275241">Увімкнути проксі-сервер стиснення даних</translation>
@@ -2495,7 +2490,6 @@
       <ph name="PAGE_SIZE_NAME" /> має містити один із вказаних форматів або "власне" значення, якщо потрібного розміру паперу немає в списку. Якщо "власне" значення надано, потрібно вказати ресурс <ph name="PAGE_SIZE_CUSTOM_SIZE" />. Це бажана висота й ширина в мікрометрах. В іншому випадку ресурс <ph name="PAGE_SIZE_CUSTOM_SIZE" /> не потрібно вказувати. Правило, яке порушує ці правила, ігнорується.
 
       Якщо розмір сторінки недоступний на вибраному користувачем принтері, це правило ігнорується.</translation>
-<translation id="479290425281021210">Визначає, чи можуть незахищені веб-сайти надсилати запити більш приватним кінцевим точкам мережі.</translation>
 <translation id="4802744647065138872">Обмежує кількість знімків даних користувача, які зберігаються на випадок екстреного відкочування.</translation>
 <translation id="4802905909524200151">Налаштовує поведінку оновлень мікропрограми модуля <ph name="TPM_FIRMWARE_UPDATE_TPM" /></translation>
 <translation id="4804828344300125154">Завжди перезапускати після виходу користувача з облікового запису.</translation>
@@ -3854,13 +3848,6 @@
 
       Якщо це правило деактивовано, натомість відображається повідомлення про помилку.</translation>
 <translation id="6821268164692776674">Місця призначення: <ph name="CLOUD_PRINT_NAME" /> і "Зберегти на Google Диску"</translation>
-<translation id="6823297401452148231">Керує тим, чи дозволено незахищеним веб-сайтам надсилати запити більш приватним кінцевим точкам мережі. Наприклад, це правило керує тим, чи може сайт http://evil.com надсилати запити локальному хосту та кінцевим точкам приватної мережі, які є недоступними через відкриту для всіх інтернет-мережу. Докладніше читайте на сторінці https://wicg.github.io/cors-rfc1918/#goals.
-
-          Якщо це правило не налаштовано, поведінка за умовчанням запитів із незахищених контекстів для більш приватних кінцевих точок мережі залежатиме від того, як користувач налаштував функцію <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />. Це можна зробити на етапі тестування або в командному рядку.
-
-          Якщо для цього правила вибрано значення false, незахищеним веб-сайтам заборонено надсилати запити більш приватним кінцевим точкам мережі. Тобто незахищені веб-сайти, розміщені за загальнодоступними ІР-адресами, не можуть надсилати запити локальному хосту та приватним ІР-адресам. Незахищеним веб-сайтам, розміщеним за приватними ІР-адресами, заборонено надсилати запити локальному хосту.
-
-          Якщо для цього правила вибрано значення true, незахищені веб-сайти можуть надсилати запити всім кінцевим точкам мережі, які підлягають іншим міждоменним перевіркам.</translation>
 <translation id="6833064854262015312">Якщо для цього правила вибрано значення True, режим високого контрасту буде ввімкнено на екрані входу. Якщо для нього вибрано значення False, режим високого контрасту буде вимкнено на екрані входу.
 
       Якщо ви налаштуєте це правило, користувачі зможуть тимчасово вмикати або вимикати режим високого контрасту. Коли екран входу оновиться або користувач буде неактивним упродовж однієї хвилини, буде відновлено початковий статус режиму.
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index bb8ee5f..1c663303 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -1094,11 +1094,6 @@
       Nếu không đặt chính sách này, chế độ mặc định sẽ là không được phép đối với người dùng được quản lý và được phép đối với người dùng không được quản lý.</translation>
 <translation id="2660846099862559570">Không bao giờ sử dụng proxy</translation>
 <translation id="2665422249821137126">Bật con trỏ lớn trên màn hình đăng nhập</translation>
-<translation id="266882888912227087"> Kiểm soát thông báo tự động chạy phiên khách được quản lý trên <ph name="PRODUCT_OS_NAME" />.
-
-      Nếu bạn đặt chính sách này thành True, thì hệ thống sẽ đóng thông báo cảnh báo về quyền riêng tư sau một vài giây.
-
-      Nếu bạn không đặt hoặc đặt chính sách này thành False, thì hệ thống sẽ ghim thông báo cảnh báo về quyền riêng tư cho đến khi người dùng đóng thông báo đó.</translation>
 <translation id="2672012807430078509">Kiểm soát việc bật NTLM làm giao thức xác thực cho các điểm kết nối SMB</translation>
 <translation id="2678503605767349615">Chứng chỉ ứng dụng bắt buộc cho toàn thiết bị</translation>
 <translation id="268577405881275241">Bật tính năng proxy nén dữ liệu</translation>
@@ -2502,7 +2497,6 @@
       <ph name="PAGE_SIZE_NAME" /> nên chứa một trong các định dạng được liệt kê hoặc giá trị "tùy chỉnh" nếu kích thước giấy bắt buộc không có trong danh sách đó. Nếu cung cấp giá trị "tùy chỉnh", thì bạn nên chỉ định thuộc tính <ph name="PAGE_SIZE_CUSTOM_SIZE" />. Thuộc tính này mô tả chiều dài và chiều rộng mong muốn tính bằng micromet. Nếu không, bạn không nên chỉ định thuộc tính <ph name="PAGE_SIZE_CUSTOM_SIZE" />. Chính sách vi phạm những quy tắc này sẽ bị bỏ qua.
 
       Nếu kích thước trang không có sẵn trên máy in mà người dùng chọn, thì chính sách này sẽ bị bỏ qua.</translation>
-<translation id="479290425281021210">Chỉ định xem có cho phép các trang web không an toàn gửi yêu cầu đến các thiết bị đầu cuối trên mạng riêng hay không.</translation>
 <translation id="4802744647065138872">Giới hạn số lượng ảnh chụp nhanh dữ liệu người dùng được giữ lại để sử dụng trong trường hợp khôi phục khẩn cấp.</translation>
 <translation id="4802905909524200151">Định cấu hình hành vi của bản cập nhật chương trình cơ sở <ph name="TPM_FIRMWARE_UPDATE_TPM" /></translation>
 <translation id="4804828344300125154">Luôn khởi động lại khi đăng xuất người dùng.</translation>
@@ -3869,13 +3863,6 @@
 
       Nếu bạn đặt chính sách này thành Tắt, một thông báo lỗi sẽ hiện ra.</translation>
 <translation id="6821268164692776674">Đích <ph name="CLOUD_PRINT_NAME" /> và 'Lưu vào Google Drive'</translation>
-<translation id="6823297401452148231">Kiểm soát việc có cho phép các trang web không an toàn gửi yêu cầu đến các thiết bị đầu cuối trên mạng riêng hay không. Ví dụ: kiểm soát việc có cho phép http://evil.com gửi yêu cầu đến cả "máy chủ cục bộ" và các thiết bị đầu cuối trên mạng riêng hay không (không thiết bị đầu cuối nào có thể truy cập được qua Internet công cộng). Hãy truy cập vào https://wicg.github.io/cors-rfc1918/#goals để biết thêm thông tin chi tiết.
-
-          Nếu bạn không đặt chính sách này, chế độ mặc định đối với yêu cầu gửi từ các nguồn không an toàn đến thiết bị đầu cuối trên mạng riêng sẽ phụ thuộc vào cấu hình cá nhân của người dùng dành cho tính năng <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" />. Bạn có thể đặt tính năng này trong giai đoạn thực nghiệm hoặc thông qua dòng lệnh.
-
-          Khi bạn đặt chính sách này thành tắt, các trang web không an toàn sẽ bị cấm gửi yêu cầu đến các thiết bị đầu cuối trên mạng riêng. Nghĩa là các trang web không an toàn phân phối từ các địa chỉ IP công cộng sẽ bị cấm gửi yêu cầu đến cả máy chủ cục bộ và địa chỉ IP riêng. Các trang web không an toàn phân phối từ các địa chỉ IP riêng sẽ bị cấm gửi yêu cầu đến máy chủ cục bộ.
-
-          Khi bạn đặt chính sách này thành bật, các trang web không an toàn sẽ được phép gửi yêu cầu đến mọi thiết bị đầu cuối trên mạng nhưng phải trải qua các quá trình kiểm tra khác trên nhiều nguồn gốc.</translation>
 <translation id="6833064854262015312">Khi bạn đặt chính sách này thành True, chế độ tương phản cao sẽ bật trên màn hình đăng nhập. Khi bạn đặt chính sách này thành False, chế độ tương phản cao sẽ tắt trên màn hình.
 
       Nếu bạn đặt chính sách này, thì người dùng có thể tạm thời thay đổi chế độ tương phản cao, bật hoặc tắt chế độ này. Khi màn hình đăng nhập tải lại hoặc không hoạt động trong vài phút, chế độ tương phản cao sẽ trở về trạng thái ban đầu.
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index 34177f3..cd7cf64 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -1063,11 +1063,6 @@
       如果此政策未设置,默认情况下,受管理用户将不能使用短信同步功能,不受管理的用户则可以。</translation>
 <translation id="2660846099862559570">从不使用代理</translation>
 <translation id="2665422249821137126">在登录屏幕上启用大号光标</translation>
-<translation id="266882888912227087"> 控制 <ph name="PRODUCT_OS_NAME" />上受管理访客会话的自动启动通知。
-
-      如果此政策设为 True,系统会在隐私权警告通知显示了数秒后关闭它。
-
-      如果此政策设为 False 或未设置,系统则会将隐私权警告通知固定在屏幕上,直到用户关闭它为止。</translation>
 <translation id="2672012807430078509">控制是否允许将 NTLM 作为 SMB 装载功能的身份验证协议</translation>
 <translation id="2678503605767349615">必需的设备级客户端证书</translation>
 <translation id="268577405881275241">启用数据压缩代理功能</translation>
@@ -2453,7 +2448,6 @@
       <ph name="PAGE_SIZE_NAME" /> 应包含所列格式之一,如果所需页面大小不在列表中,则应包含“custom”值。如果提供了“custom”值,则应指定 <ph name="PAGE_SIZE_CUSTOM_SIZE" /> 属性,用于指定所需的高度和宽度(以微米为单位)。如果未提供“custom”值,便不应指定 <ph name="PAGE_SIZE_CUSTOM_SIZE" /> 属性。系统会忽略违反这些规则的政策。
 
       如果这一页面大小在用户选择的打印机上不适用,系统会忽略此政策。</translation>
-<translation id="479290425281021210">指定是否允许不安全网站向更专用网络上的端点发送请求。</translation>
 <translation id="4802744647065138872">限制为供执行紧急回滚时使用而保留的用户数据快照的数量。</translation>
 <translation id="4802905909524200151">配置 <ph name="TPM_FIRMWARE_UPDATE_TPM" /> 固件更新行为</translation>
 <translation id="4804828344300125154">在用户退出后一律重新启动。</translation>
@@ -3796,13 +3790,6 @@
 
       如果此政策已停用,系统则会显示错误消息。</translation>
 <translation id="6821268164692776674"><ph name="CLOUD_PRINT_NAME" />和“保存到 Google 云端硬盘”目的地</translation>
-<translation id="6823297401452148231">此政策旨在控制是否允许不安全网站向更专用网络上的端点发送请求。例如,控制是否允许 http://evil.com 向 localhost 以及专用网络上的端点(这二者均无法通过公开互联网访问)发送请求。如需了解详情,请参阅 https://wicg.github.io/cors-rfc1918/#goals。
-
-          如果此政策未设置,对于从不安全情境向更专用网络上的端点发送的请求,其默认行为将取决于用户针对 <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" /> 功能(此功能可通过现场试验来设置,也可在命令行中设置)指定的个人配置。
-
-          如果此政策设为 false,系统将禁止不安全网站向更专用网络上的端点发送请求。换而言之,系统将禁止通过公开 IP 地址提供的不安全网站向 localhost 以及专用 IP 地址发送请求,此外,系统还将禁止通过专用 IP 地址提供的不安全网站向 localhost 发送请求。
-
-          如果此政策设为 true,系统将允许不安全网站向任意网络上的端点发送请求,但这些网站会受到其他跨源检查机制的约束。</translation>
 <translation id="6833064854262015312">将此政策设为 True 时,系统会在登录屏幕上开启高对比度模式。将此政策设为 False 时,系统会在登录屏幕上关闭高对比度模式。
 
       如果您设置了此政策,用户便可暂时更改(开启或关闭)高对比度模式。当登录屏幕重新加载或闲置了 1 分钟后,高对比度模式就会还原为初始状态。
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index e451d7a..2aa05ace6 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -1065,11 +1065,6 @@
       如未設定這項政策,在預設情況下,受管理的使用者無法使用這項功能,未受管理的使用者則可使用這項功能。</translation>
 <translation id="2660846099862559570">永不使用 Proxy</translation>
 <translation id="2665422249821137126">在登入畫面上啟用大型游標</translation>
-<translation id="266882888912227087"> 控管 <ph name="PRODUCT_OS_NAME" />上受管理訪客工作階段的自動啟動通知。
-
-      如果將這項政策設為 True,系統會在數秒後關閉隱私權警告通知。
-
-      如果將這項政策設為 False 或不予設定,系統會持續顯示隱私權警告通知,直到使用者關閉為止。</translation>
 <translation id="2672012807430078509">控管是否要為 SMB 掛接功能啟用 NTLM 驗證通訊協定</translation>
 <translation id="2678503605767349615">必須提供裝置通用用戶端憑證</translation>
 <translation id="268577405881275241">啟用資料壓縮 Proxy 功能</translation>
@@ -2453,7 +2448,6 @@
       <ph name="PAGE_SIZE_NAME" /> 應包含其中一個列出的格式或是「自訂」(如果清單未列出所需的紙張大小)。如果將值設為「自訂」,則需一併指定 <ph name="PAGE_SIZE_CUSTOM_SIZE" /> 屬性,描述所需的高度和寬度 (以微米為單位)。否則,請勿指定 <ph name="PAGE_SIZE_CUSTOM_SIZE" /> 屬性。系統會忽略違反這些規則的政策。
 
       如果頁面大小不適用於使用者選取的印表機,系統會忽略這項政策。</translation>
-<translation id="479290425281021210">指定是否允許不安全網站向更私密的網站端點傳送要求。</translation>
 <translation id="4802744647065138872">限制系統為因應緊急復原作業所保留的使用者資料快照數量。</translation>
 <translation id="4802905909524200151">設定 <ph name="TPM_FIRMWARE_UPDATE_TPM" /> 韌體更新行為</translation>
 <translation id="4804828344300125154">�在使用者登出時一律重新啟動。</translation>
@@ -3801,13 +3795,6 @@
 
       如果將這項政策設為停用,系統會改為顯示錯誤訊息。</translation>
 <translation id="6821268164692776674"><ph name="CLOUD_PRINT_NAME" />與「儲存至 Google 雲端硬碟」的目的地</translation>
-<translation id="6823297401452148231">這項政策可控管是否允許不安全網站向更私密的網路端點傳送要求。例如,控管是否允許 http://evil.com 向私人網路上的「localhost」和端點傳送要求,這兩者都無法透過公開網際網路存取。詳情請參閱 https://wicg.github.io/cors-rfc1918/#goals。
-
-          如果不設定這項政策,從不安全網站向更私密的網路端點傳送要求的預設行為將取決於使用者對 <ph name="BLOCK_INSECURE_PRIVATE_NETWORK_REQUESTS_FEATURE_NAME" /> 功能的個人設定,使用者可以透過實際測試或指令列來進行設定。
-
-          如果將這項政策設為 False,不安全網站將無法向更私密的網路端點傳送要求。也就是說,由公開 IP 位址所提供的不安全網站將無法向 localhost 和私人 IP 位址傳送要求。由私人 IP 位址所提供的不安全網站將無法向 localhost 傳送要求。
-
-          如果將這項政策設為 True,不安全網站即可向任何網路端點傳送要求,並且需經過其他跨來源檢查。</translation>
 <translation id="6833064854262015312">將這項政策設為 True 時,系統會在登入畫面啟用高對比模式。將這項政策設為 False 時,系統會在登入畫面停用高對比模式。
 
       如果設定這項政策,使用者可暫時將高對比模式變更為啟用或停用。當登入畫面重新載入或閒置達一分鐘時,高對比模式會還原成原始狀態。
diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc
index 062f16a9..b5fac6e 100644
--- a/components/renderer_context_menu/render_view_context_menu_base.cc
+++ b/components/renderer_context_menu/render_view_context_menu_base.cc
@@ -428,7 +428,7 @@
   }
 }
 
-RenderFrameHost* RenderViewContextMenuBase::GetRenderFrameHost() {
+RenderFrameHost* RenderViewContextMenuBase::GetRenderFrameHost() const {
   return RenderFrameHost::FromID(render_process_id_, render_frame_id_);
 }
 
diff --git a/components/renderer_context_menu/render_view_context_menu_base.h b/components/renderer_context_menu/render_view_context_menu_base.h
index 8183506..2fc1837 100644
--- a/components/renderer_context_menu/render_view_context_menu_base.h
+++ b/components/renderer_context_menu/render_view_context_menu_base.h
@@ -163,7 +163,7 @@
   virtual void AppendPlatformEditableItems() {}
 
   // May return nullptr if the frame was deleted while the menu was open.
-  content::RenderFrameHost* GetRenderFrameHost();
+  content::RenderFrameHost* GetRenderFrameHost() const;
 
   bool IsCustomItemChecked(int id) const;
   bool IsCustomItemEnabled(int id) const;
diff --git a/components/safe_browsing/content/web_ui/safe_browsing_ui.cc b/components/safe_browsing/content/web_ui/safe_browsing_ui.cc
index 39bd094..9b2bc2b 100644
--- a/components/safe_browsing/content/web_ui/safe_browsing_ui.cc
+++ b/components/safe_browsing/content/web_ui/safe_browsing_ui.cc
@@ -1286,9 +1286,40 @@
       lookupType = "DOWNLOAD";
       break;
   }
-
   request_dict.SetKey("lookup_type", base::Value(lookupType));
 
+  request_dict.SetKey("version", base::Value(request.version()));
+
+  std::string os;
+  switch (request.os_type()) {
+    case RTLookupRequest::OS_TYPE_UNSPECIFIED:
+      DCHECK(false) << "RTLookupRequest::os_type is undefined.";
+      os = "UNSPECIFIED";
+      break;
+    case RTLookupRequest::OS_TYPE_LINUX:
+      os = "LINUX";
+      break;
+    case RTLookupRequest::OS_TYPE_WINDOWS:
+      os = "WINDOWS";
+      break;
+    case RTLookupRequest::OS_TYPE_MAC:
+      os = "MAC";
+      break;
+    case RTLookupRequest::OS_TYPE_ANDROID:
+      os = "ANDROID";
+      break;
+    case RTLookupRequest::OS_TYPE_IOS:
+      os = "IOS";
+      break;
+    case RTLookupRequest::OS_TYPE_CHROME_OS:
+      os = "CHROME_OS";
+      break;
+    case RTLookupRequest::OS_TYPE_FUCHSIA:
+      os = "FUCHSIA";
+      break;
+  }
+  request_dict.SetKey("os", base::Value(os));
+
   std::string request_serialized;
   JSONStringValueSerializer serializer(&request_serialized);
   serializer.set_pretty_print(true);
diff --git a/components/safe_browsing/core/browser/safe_browsing_url_checker_impl.cc b/components/safe_browsing/core/browser/safe_browsing_url_checker_impl.cc
index 5653eac..d0c360c 100644
--- a/components/safe_browsing/core/browser/safe_browsing_url_checker_impl.cc
+++ b/components/safe_browsing/core/browser/safe_browsing_url_checker_impl.cc
@@ -588,6 +588,7 @@
 
 void SafeBrowsingUrlCheckerImpl::OnRTLookupResponse(
     bool is_rt_lookup_successful,
+    bool is_cached_response,
     std::unique_ptr<RTLookupResponse> response) {
   DCHECK(CurrentlyOnThread(ThreadID::IO));
   bool is_expected_resource_type =
@@ -616,7 +617,12 @@
         RealTimeUrlLookupServiceBase::GetSBThreatTypeForRTThreatType(
             response->threat_info(0).threat_type());
   }
-  OnUrlResult(url, sb_threat_type, ThreatMetadata());
+  if (is_cached_response && sb_threat_type == SB_THREAT_TYPE_SAFE) {
+    // TODO(vakh): Add a UMA metric.
+    PerformHashBasedCheck(url);
+  } else {
+    OnUrlResult(url, sb_threat_type, ThreatMetadata());
+  }
 }
 
 }  // namespace safe_browsing
diff --git a/components/safe_browsing/core/browser/safe_browsing_url_checker_impl.h b/components/safe_browsing/core/browser/safe_browsing_url_checker_impl.h
index 355056e..cd6ad9e 100644
--- a/components/safe_browsing/core/browser/safe_browsing_url_checker_impl.h
+++ b/components/safe_browsing/core/browser/safe_browsing_url_checker_impl.h
@@ -193,7 +193,10 @@
   // Called when the |response| from the real-time lookup service is received.
   // |is_rt_lookup_successful| is true if the response code is OK and the
   // response body is successfully parsed.
+  // |is_cached_response| is true if the response is a cache hit. In such a
+  // case, fall back to hash-based checks if the cached verdict is |SAFE|.
   void OnRTLookupResponse(bool is_rt_lookup_successful,
+                          bool is_cached_response,
                           std::unique_ptr<RTLookupResponse> response);
 
   // Logs |request| on any open chrome://safe-browsing pages.
diff --git a/components/safe_browsing/core/browser/safe_browsing_url_checker_impl_unittest.cc b/components/safe_browsing/core/browser/safe_browsing_url_checker_impl_unittest.cc
index 70d664f11..4632da5 100644
--- a/components/safe_browsing/core/browser/safe_browsing_url_checker_impl_unittest.cc
+++ b/components/safe_browsing/core/browser/safe_browsing_url_checker_impl_unittest.cc
@@ -194,10 +194,11 @@
     threat_info.set_threat_type(threat_type);
     threat_info.set_verdict_type(verdict_type);
     *new_threat_info = threat_info;
-    base::PostTask(FROM_HERE, CreateTaskTraits(ThreadID::IO),
-                   base::BindOnce(std::move(response_callback),
-                                  /* is_rt_lookup_successful */ true,
-                                  std::move(response)));
+    base::PostTask(
+        FROM_HERE, CreateTaskTraits(ThreadID::IO),
+        base::BindOnce(std::move(response_callback),
+                       /* is_rt_lookup_successful */ true,
+                       /* is_cached_response */ false, std::move(response)));
   }
 
   void SetThreatTypeForUrl(const GURL& gurl, SBThreatType threat_type) {
diff --git a/components/safe_browsing/core/db/BUILD.gn b/components/safe_browsing/core/db/BUILD.gn
index 992ae8f..a69b7a4 100644
--- a/components/safe_browsing/core/db/BUILD.gn
+++ b/components/safe_browsing/core/db/BUILD.gn
@@ -261,6 +261,7 @@
     ":v4_protocol_manager_util",
     "//base",
     "//components/safe_browsing:buildflags",
+    "//components/safe_browsing/core:features",
     "//components/safe_browsing/core/:webui_proto",
     "//components/safe_browsing/core/common:safe_browsing_prefs",
     "//net",
diff --git a/components/safe_browsing/core/db/v4_get_hash_protocol_manager.cc b/components/safe_browsing/core/db/v4_get_hash_protocol_manager.cc
index 7025de1..81a4d3a 100644
--- a/components/safe_browsing/core/db/v4_get_hash_protocol_manager.cc
+++ b/components/safe_browsing/core/db/v4_get_hash_protocol_manager.cc
@@ -340,10 +340,8 @@
                        &resource_request->headers);
 
   resource_request->load_flags = net::LOAD_DISABLE_CACHE;
-  if (base::FeatureList::IsEnabled(kSafeBrowsingRemoveCookies)) {
-    resource_request->load_flags |=
-        net::LOAD_DO_NOT_SAVE_COOKIES | net::LOAD_DO_NOT_SEND_COOKIES;
-  }
+  if (base::FeatureList::IsEnabled(kSafeBrowsingRemoveCookies))
+    resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
   std::unique_ptr<network::SimpleURLLoader> owned_loader =
       network::SimpleURLLoader::Create(std::move(resource_request),
                                        traffic_annotation);
diff --git a/components/safe_browsing/core/db/v4_local_database_manager.cc b/components/safe_browsing/core/db/v4_local_database_manager.cc
index 1088191..533d03d 100644
--- a/components/safe_browsing/core/db/v4_local_database_manager.cc
+++ b/components/safe_browsing/core/db/v4_local_database_manager.cc
@@ -413,8 +413,10 @@
   DCHECK(CurrentlyOnThread(ThreadID::IO));
 
   StoresToCheck stores_to_check({GetUrlHighConfidenceAllowlistId()});
-  if (!enabled_ || !CanCheckUrl(url) ||
-      !AreAllStoresAvailableNow(stores_to_check)) {
+  bool all_stores_available = AreAllStoresAvailableNow(stores_to_check);
+  UMA_HISTOGRAM_BOOLEAN("SafeBrowsing.RT.AllStoresAvailable",
+                        all_stores_available);
+  if (!enabled_ || !CanCheckUrl(url) || !all_stores_available) {
     // NOTE(vakh): If Safe Browsing isn't enabled yet, or if the URL isn't a
     // navigation URL, or if the allowlist isn't ready yet, return MATCH.
     // The full URL check won't be performed, but hash-based check will still
diff --git a/components/safe_browsing/core/db/v4_update_protocol_manager.cc b/components/safe_browsing/core/db/v4_update_protocol_manager.cc
index 4eeb85f..ca37287 100644
--- a/components/safe_browsing/core/db/v4_update_protocol_manager.cc
+++ b/components/safe_browsing/core/db/v4_update_protocol_manager.cc
@@ -15,6 +15,7 @@
 #include "base/timer/timer.h"
 #include "components/safe_browsing/buildflags.h"
 #include "components/safe_browsing/core/db/safebrowsing.pb.h"
+#include "components/safe_browsing/core/features.h"
 #include "net/base/load_flags.h"
 #include "net/http/http_response_headers.h"
 #include "net/http/http_status_code.h"
@@ -343,6 +344,8 @@
   GetUpdateUrlAndHeaders(req_base64, &resource_request->url,
                          &resource_request->headers);
   resource_request->load_flags = net::LOAD_DISABLE_CACHE;
+  if (base::FeatureList::IsEnabled(kSafeBrowsingRemoveCookies))
+    resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
   std::unique_ptr<network::SimpleURLLoader> loader =
       network::SimpleURLLoader::Create(std::move(resource_request),
                                        traffic_annotation);
diff --git a/components/safe_browsing/core/proto/realtimeapi.proto b/components/safe_browsing/core/proto/realtimeapi.proto
index 6b595d61..ef03222 100644
--- a/components/safe_browsing/core/proto/realtimeapi.proto
+++ b/components/safe_browsing/core/proto/realtimeapi.proto
@@ -35,6 +35,30 @@
 
   // The DM Token for Enterprise-enrolled devices (go/uss-dmtoken).
   optional string dm_token = 5;
+
+  // |version| helps the Safe Browsing server understand what verison of the
+  // proto Chrome understands, and also what kinds of behaviours it supports.
+  // It should be incremented when adding new fields and/or when making changes
+  // to how existing fields may be interpreted.
+  // Version 1:
+  //   * Client supports caching with |COVERING_MATCH| verdicts.
+  //   * Client supports the |os_type| field.
+  //   * Client falls back to hash-based checks if there's a SAFE match in the
+  //     cache.
+  optional int32 version = 6 [default = 0];
+
+  // The operating system of the client.
+  enum OSType {
+    OS_TYPE_UNSPECIFIED = 0;
+    OS_TYPE_ANDROID = 1;
+    OS_TYPE_CHROME_OS = 2;
+    OS_TYPE_FUCHSIA = 3;
+    OS_TYPE_IOS = 4;
+    OS_TYPE_LINUX = 5;
+    OS_TYPE_MAC = 6;
+    OS_TYPE_WINDOWS = 7;
+  }
+  optional OSType os_type = 7;
 }
 
 message RTLookupResponse {
diff --git a/components/safe_browsing/core/realtime/url_lookup_service_base.cc b/components/safe_browsing/core/realtime/url_lookup_service_base.cc
index 8f4bd937..02de9a1 100644
--- a/components/safe_browsing/core/realtime/url_lookup_service_base.cc
+++ b/components/safe_browsing/core/realtime/url_lookup_service_base.cc
@@ -11,6 +11,7 @@
 #include "base/strings/string_piece.h"
 #include "base/task/post_task.h"
 #include "base/time/time.h"
+#include "build/build_config.h"
 #include "components/prefs/pref_service.h"
 #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
 #include "components/safe_browsing/core/common/thread_utils.h"
@@ -34,10 +35,13 @@
 const size_t kMinBackOffResetDurationInSeconds = 5 * 60;   //  5 minutes.
 const size_t kMaxBackOffResetDurationInSeconds = 30 * 60;  // 30 minutes.
 
-const size_t kURLLookupTimeoutDurationInSeconds = 10;  // 10 seconds.
+const size_t kURLLookupTimeoutDurationInSeconds = 3;
 
 constexpr char kAuthHeaderBearer[] = "Bearer ";
 
+// Represents the value stored in the |version| field of |RTLookupRequest|.
+const int kRTLookupRequestVersion = 1;
+
 // UMA helper functions.
 void RecordBooleanWithAndWithoutSuffix(const std::string& metric,
                                        const std::string& suffix,
@@ -87,6 +91,25 @@
       (metric + suffix).c_str(), net_error, response_code);
 }
 
+RTLookupRequest::OSType GetRTLookupRequestOSType() {
+#if defined(OS_ANDROID)
+  return RTLookupRequest::OS_TYPE_ANDROID;
+#elif defined(OS_CHROMEOS)
+  return RTLookupRequest::OS_TYPE_CHROME_OS;
+#elif defined(OS_FUCHSIA)
+  return RTLookupRequest::OS_TYPE_FUCHSIA;
+#elif defined(OS_IOS)
+  return RTLookupRequest::OS_TYPE_IOS;
+#elif defined(OS_LINUX)
+  return RTLookupRequest::OS_TYPE_LINUX;
+#elif defined(OS_MAC)
+  return RTLookupRequest::OS_TYPE_MAC;
+#elif defined(OS_WIN)
+  return RTLookupRequest::OS_TYPE_WINDOWS;
+#endif
+  return RTLookupRequest::OS_TYPE_UNSPECIFIED;
+}
+
 }  // namespace
 
 RealTimeUrlLookupServiceBase::RealTimeUrlLookupServiceBase(
@@ -290,6 +313,7 @@
     base::PostTask(FROM_HERE, CreateTaskTraits(ThreadID::IO),
                    base::BindOnce(std::move(response_callback),
                                   /* is_rt_lookup_successful */ true,
+                                  /* is_cached_response */ true,
                                   std::move(cache_response)));
     return;
   }
@@ -392,9 +416,10 @@
                                      GetMetricSuffix(),
                                      response->threat_info_size());
 
-  base::PostTask(FROM_HERE, CreateTaskTraits(ThreadID::IO),
-                 base::BindOnce(std::move(it->second), is_rt_lookup_successful,
-                                std::move(response)));
+  base::PostTask(
+      FROM_HERE, CreateTaskTraits(ThreadID::IO),
+      base::BindOnce(std::move(it->second), is_rt_lookup_successful,
+                     /* is_cached_response */ false, std::move(response)));
 
   delete it->first;
   pending_requests_.erase(it);
@@ -416,6 +441,8 @@
   auto request = std::make_unique<RTLookupRequest>();
   request->set_url(SanitizeURL(url).spec());
   request->set_lookup_type(RTLookupRequest::NAVIGATION);
+  request->set_version(kRTLookupRequestVersion);
+  request->set_os_type(GetRTLookupRequestOSType());
   base::Optional<std::string> dm_token_string = GetDMTokenString();
   if (dm_token_string.has_value()) {
     request->set_dm_token(dm_token_string.value());
@@ -448,10 +475,12 @@
 
 void RealTimeUrlLookupServiceBase::Shutdown() {
   for (auto& pending : pending_requests_) {
-    // Treat all pending requests as safe.
+    // Treat all pending requests as safe, and not from cache so that a
+    // hash-based check isn't performed.
     auto response = std::make_unique<RTLookupResponse>();
     std::move(pending.second)
-        .Run(/* is_rt_lookup_successful */ true, std::move(response));
+        .Run(/* is_rt_lookup_successful */ true, /* is_cached_response */ false,
+             std::move(response));
     delete pending.first;
   }
   pending_requests_.clear();
diff --git a/components/safe_browsing/core/realtime/url_lookup_service_base.h b/components/safe_browsing/core/realtime/url_lookup_service_base.h
index 23517fcf..26fc2c0 100644
--- a/components/safe_browsing/core/realtime/url_lookup_service_base.h
+++ b/components/safe_browsing/core/realtime/url_lookup_service_base.h
@@ -42,7 +42,7 @@
     base::OnceCallback<void(std::unique_ptr<RTLookupRequest>, std::string)>;
 
 using RTLookupResponseCallback =
-    base::OnceCallback<void(bool, std::unique_ptr<RTLookupResponse>)>;
+    base::OnceCallback<void(bool, bool, std::unique_ptr<RTLookupResponse>)>;
 
 class VerdictCacheManager;
 
diff --git a/components/safe_browsing/core/realtime/url_lookup_service_unittest.cc b/components/safe_browsing/core/realtime/url_lookup_service_unittest.cc
index ffb482a..72be5a3 100644
--- a/components/safe_browsing/core/realtime/url_lookup_service_unittest.cc
+++ b/components/safe_browsing/core/realtime/url_lookup_service_unittest.cc
@@ -575,7 +575,8 @@
 
   // |request_callback| should not be called.
   EXPECT_CALL(request_callback, Run(_, _)).Times(0);
-  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true, _));
+  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true,
+                                     /* is_cached_response */ true, _));
 
   task_environment_->RunUntilIdle();
 
@@ -608,7 +609,8 @@
           }),
       response_callback.Get());
 
-  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true, _));
+  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true,
+                                     /* is_cached_response */ false, _));
 
   WaitForAccessTokenRequestIfNecessaryAndRespondWithToken(
       "access_token_string");
@@ -642,7 +644,8 @@
           }),
       response_callback.Get());
 
-  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true, _));
+  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true,
+                                     /* is_cached_response */ false, _));
 
   task_environment_->RunUntilIdle();
 
@@ -672,7 +675,8 @@
           }),
       response_callback.Get());
 
-  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true, _));
+  EXPECT_CALL(response_callback, Run(/* is_rt_lookup_successful */ true,
+                                     /* is_cached_response */ false, _));
 
   task_environment_->RunUntilIdle();
 
diff --git a/components/security_interstitials/core/browser/resources/interstitial_large.js b/components/security_interstitials/core/browser/resources/interstitial_large.js
index b234965c..e200a79 100644
--- a/components/security_interstitials/core/browser/resources/interstitial_large.js
+++ b/components/security_interstitials/core/browser/resources/interstitial_large.js
@@ -228,6 +228,16 @@
     });
   }
 
+  if (lookalike) {
+    console.log(
+        'Chrome has determined that ' +
+        loadTimeData.getString('lookalikeRequestHostname') +
+        ' could be fake or fraudulent.\n\n' +
+        'If you believe this is shown in error please visit ' +
+        'https://bugs.chromium.org/p/chromium/issues/entry?' +
+        'template=Safety+Tips+Appeals');
+  }
+
   preventDefaultOnPoundLinkClicks();
   setupExtendedReportingCheckbox();
   setupSSLDebuggingInfo();
diff --git a/components/security_interstitials/core/pref_names.cc b/components/security_interstitials/core/pref_names.cc
index 5b7453cf6..c10617e 100644
--- a/components/security_interstitials/core/pref_names.cc
+++ b/components/security_interstitials/core/pref_names.cc
@@ -10,4 +10,7 @@
 
 const char kMixedFormsWarningsEnabled[] = "profile.mixed_forms_warnings";
 
+const char kLookalikeWarningAllowlistDomains[] =
+    "profile.lookalike_domain_allowlist";
+
 }  // namespace prefs
diff --git a/components/security_interstitials/core/pref_names.h b/components/security_interstitials/core/pref_names.h
index e8df72e7..1a134ed 100644
--- a/components/security_interstitials/core/pref_names.h
+++ b/components/security_interstitials/core/pref_names.h
@@ -20,6 +20,11 @@
 // will be disabled.
 extern const char kMixedFormsWarningsEnabled[];
 
+// A list pref used to enumerate hostnames that should never be identified as
+// possible spoofy lookalike domains. This prevents both the lookalike
+// interstitial and safety tips from displaying.
+extern const char kLookalikeWarningAllowlistDomains[];
+
 }  // namespace prefs
 
 #endif  // COMPONENTS_SECURITY_INTERSTITIALS_CORE_PREF_NAMES_H_
diff --git a/components/signin/core/browser/dice_header_helper.cc b/components/signin/core/browser/dice_header_helper.cc
index cbe10e9..1de3ed9 100644
--- a/components/signin/core/browser/dice_header_helper.cc
+++ b/components/signin/core/browser/dice_header_helper.cc
@@ -26,6 +26,7 @@
 const char kSigninActionAttrName[] = "action";
 const char kSigninAuthUserAttrName[] = "authuser";
 const char kSigninAuthorizationCodeAttrName[] = "authorization_code";
+const char kSigninNoAuthorizationCodeAttrName[] = "no_authorization_code";
 const char kSigninEmailAttrName[] = "email";
 const char kSigninIdAttrName[] = "id";
 
@@ -101,6 +102,13 @@
         params.signin_info->authorization_code = value;
       else
         DLOG(WARNING) << "Authorization code expected only with SIGNIN action";
+    } else if (key_name == kSigninNoAuthorizationCodeAttrName) {
+      if (params.signin_info) {
+        params.signin_info->no_authorization_code = true;
+      } else {
+        DLOG(WARNING)
+            << "No authorization code header expected only with SIGNIN action";
+      }
     } else {
       DLOG(WARNING) << "Unexpected Gaia header attribute '" << key_name << "'.";
     }
@@ -112,9 +120,11 @@
     return DiceResponseParams();
   }
 
-  if (params.signin_info && params.signin_info->authorization_code.empty()) {
-    DLOG(WARNING) << "Missing authorization code in Dice SIGNIN header: "
-                  << header_value;
+  if (params.signin_info && params.signin_info->authorization_code.empty() &&
+      !params.signin_info->no_authorization_code) {
+    DLOG(WARNING)
+        << "Missing authorization code  and no authorization code headers"
+        << "in Dice SIGNIN header: " << header_value;
     return DiceResponseParams();
   }
 
diff --git a/components/signin/core/browser/signin_header_helper.h b/components/signin/core/browser/signin_header_helper.h
index a1199093..52d2d5c8 100644
--- a/components/signin/core/browser/signin_header_helper.h
+++ b/components/signin/core/browser/signin_header_helper.h
@@ -114,6 +114,9 @@
     AccountInfo account_info;
     // Authorization code to fetch a refresh token.
     std::string authorization_code;
+    // Whether Dice response contains the 'no_authorization_code' header value.
+    // If true then LSO was unavailable for provision of auth code.
+    bool no_authorization_code = false;
   };
 
   // Parameters for the SIGNOUT action.
diff --git a/components/signin/core/browser/signin_header_helper_unittest.cc b/components/signin/core/browser/signin_header_helper_unittest.cc
index eaf3715..1d99b68 100644
--- a/components/signin/core/browser/signin_header_helper_unittest.cc
+++ b/components/signin/core/browser/signin_header_helper_unittest.cc
@@ -488,7 +488,23 @@
   }
 
   {
-    // Missing authorization code.
+    // Signin response with no_authorization_code and missing
+    // authorization_code.
+    DiceResponseParams params = BuildDiceSigninResponseParams(
+        base::StringPrintf("action=SIGNIN,id=%s,email=%s,authuser=%i,no_"
+                           "authorization_code=true",
+                           kGaiaID, kEmail, kSessionIndex));
+    EXPECT_EQ(DiceAction::SIGNIN, params.user_intention);
+    ASSERT_TRUE(params.signin_info);
+    EXPECT_EQ(kGaiaID, params.signin_info->account_info.gaia_id);
+    EXPECT_EQ(kEmail, params.signin_info->account_info.email);
+    EXPECT_EQ(kSessionIndex, params.signin_info->account_info.session_index);
+    EXPECT_TRUE(params.signin_info->authorization_code.empty());
+    EXPECT_TRUE(params.signin_info->no_authorization_code);
+  }
+
+  {
+    // Missing authorization code and no_authorization_code.
     DiceResponseParams params = BuildDiceSigninResponseParams(
         base::StringPrintf("action=SIGNIN,id=%s,email=%s,authuser=%i", kGaiaID,
                            kEmail, kSessionIndex));
diff --git a/components/strings/components_strings_af.xtb b/components/strings/components_strings_af.xtb
index 87a4e6a..27d03d2 100644
--- a/components/strings/components_strings_af.xtb
+++ b/components/strings/components_strings_af.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">Ontdoen herrangskikking</translation>
 <translation id="1125573121925420732">Waarskuwings kan algemeen wees terwyl webwerwe hul sekuriteit opdateer. Dit behoort binnekort te verbeter.</translation>
 <translation id="112840717907525620">Beleidkas OK</translation>
+<translation id="1130564665089811311">Vertaal Bladsy-knoppie; druk Enter om hierdie bladsy met Google Vertaal te vertaal</translation>
 <translation id="1131264053432022307">Prent wat jy gekopieer het</translation>
 <translation id="1150979032973867961">Hierdie bediener kon nie bewys dat dit <ph name="DOMAIN" /> is nie; sy sekuriteitsertifikaat word nie deur jou rekenaar se bedryfstelsel vertrou nie. Dit kan veroorsaak word deur 'n wanopstelling of 'n aanvaller wat jou verbinding onderskep.</translation>
 <translation id="1151972924205500581">Wagwoord word vereis</translation>
@@ -408,6 +409,7 @@
 <translation id="2634124572758952069"><ph name="HOST_NAME" /> se bediener se IP-adres kon nie gevind word nie.</translation>
 <translation id="2639739919103226564">Status:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, druk Tab en dan Enter om jou blaaigeskiedenis, webkoekies, kas en meer in Chrome-instellings uit te vee</translation>
 <translation id="2650446666397867134">Toegang tot die leêr is geweier</translation>
 <translation id="2653659639078652383">Dien in</translation>
 <translation id="2660779039299703961">Geleentheid</translation>
@@ -430,6 +432,7 @@
 <translation id="2705137772291741111">Die gestoorde (gekaste) kopie van hierdie werf was onleesbaar.</translation>
 <translation id="2709516037105925701">Outovul</translation>
 <translation id="2713444072780614174">Wit</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, druk Tab en dan Enter om jou betalings- en kredietkaartinligting in Chrome-instellings te bestuur</translation>
 <translation id="2721148159707890343">Versoek was suksesvol</translation>
 <translation id="272451190272506600">Raak sensor om te betaal</translation>
 <translation id="2728127805433021124">Bediener se sertifikaat is met 'n swak handtekening-algoritme onderteken.</translation>
@@ -642,6 +645,7 @@
 <translation id="3630155396527302611">As dit reeds gelys is as 'n program wat by die netwerk mag ingaan, probeer
       om dit van die lys af te verwyder en dit weer by te voeg.</translation>
 <translation id="3631244953324577188">Biometrie</translation>
+<translation id="3633738897356909127">Dateer Chrome Op-knoppie; druk Enter om Chrome vanuit jou Chrome-instellings op te dateer</translation>
 <translation id="3634530185120165534">Laai 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Stawing suksesvol</translation>
@@ -665,7 +669,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Die instaanbediener, brandmuur en DNS-opstelling nagaan<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Programme wat hierdie fout kan veroorsaak, sluit in teenvirus-, brandmuur- en webfiltrering- of instaanbedienersagteware.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Webwerwe wat jy besoek en die inhoud van bladsye wat nie veilig is nie</translation>
 <translation id="3736520371357197498">As jy die risiko's vir jou sekuriteit verstaan, mag jy <ph name="BEGIN_LINK" />hierdie onveilige werf besoek<ph name="END_LINK" /> voordat die gevaarlike programme verwyder is.</translation>
 <translation id="3738166223076830879">Jou administrateur bestuur jou blaaier.</translation>
 <translation id="3744899669254331632">Jy kan <ph name="SITE" /> nie nou onmiddelllik besoek nie, omdat die webwerf deurmekaar eiebewyse gestuur het wat Chrome nie kan verwerk nie. Netwerkfoute en -aanvalle is gewoonlik tydelik, so hierdie bladsy sal waarskynlik later werk.</translation>
@@ -866,6 +869,7 @@
 <translation id="4506599922270137252">Die stelseladministrateur kontak</translation>
 <translation id="450710068430902550">Deling met administrateur</translation>
 <translation id="4508814173490746936">Kon nie Touch ID gebruik nie</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, druk Tab en dan Enter om hierdie bladsy met Google Vertaal te vertaal</translation>
 <translation id="4510487217173779431">Chou4 (Envelope)</translation>
 <translation id="4515275063822566619">Kaarte en adresse kom uit Chrome en jou Google-rekening (<ph name="ACCOUNT_EMAIL" />). Jy kan hulle in <ph name="BEGIN_LINK" />Instellings<ph name="END_LINK" /> bestuur.</translation>
 <translation id="4517607026994743406">Comm-10 (Envelope)</translation>
@@ -946,6 +950,7 @@
 <translation id="4879725228911483934">Maak vensters oop en plaas hulle op jou skerms</translation>
 <translation id="4880827082731008257">Soekgeskiedenis</translation>
 <translation id="4881695831933465202">Maak oop</translation>
+<translation id="4889420713887366944">Maak Incognitovenster Oop-knoppie; druk Enter om 'n nuwe incognitovenster oop te maak om privaat te blaai</translation>
 <translation id="4892518386797173871">Agter</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Stoor …</translation>
@@ -1107,6 +1112,7 @@
 <translation id="5523118979700054094">Beleidnaam</translation>
 <translation id="55293785478302737">Randhegting</translation>
 <translation id="553484882784876924">Prc6 (Envelope)</translation>
+<translation id="5535133333442455806">Vee Blaaierdata Uit-knoppie; druk Enter om jou blaaigeskiedenis, webkoekies, kas en meer in Chrome-instellings uit te vee</translation>
 <translation id="5536214594743852365">Wys die "<ph name="SECTION" />"-afdeling</translation>
 <translation id="5539243836947087108">Vlot</translation>
 <translation id="5540224163453853">Kon nie die versoekte artikel vind nie.</translation>
@@ -1606,6 +1612,7 @@
 <translation id="7600965453749440009">Moet nooit <ph name="LANGUAGE" /> vertaal nie</translation>
 <translation id="7610193165460212391">Waarde is buite die reeks <ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Verval: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, druk Tab en dan Enter om jou wagwoorde in Chrome-instellings te bekyk en te bestuur</translation>
 <translation id="7615602087246926389">Jy het reeds data wat geënkripteer is deur 'n ander weergawe van jou Google-rekeningwagwoord te gebruik. Voer dit asseblief hieronder in.</translation>
 <translation id="7616645509853975347">Jou administrateur het Chrome Enterprise Connectors op jou blaaier aangeskakel. Hierdie verbinders het toegang tot van jou data.</translation>
 <translation id="7619838219691048931">Eindbladsy</translation>
@@ -1862,6 +1869,8 @@
 <translation id="8725066075913043281">Probeer weer</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> is jou kode vir <ph name="ORIGIN" /></translation>
@@ -1878,6 +1887,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> het Chrome Enterprise Connectors op jou blaaier aangeskakel. Hierdie verbinders het toegang tot van jou data.</translation>
 <translation id="8805819170075074995">Lysinskrywing "<ph name="LANGUAGE_ID" />": Inskrywing word geïgnoreer omdat dit ook by die SpellcheckLanguage-beleid ingesluit word.</translation>
 <translation id="8807160976559152894">Knip ná elke bladsy</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, druk Tab en dan Enter om Chrome vanuit jou Chrome-instellings op te dateer</translation>
 <translation id="8820817407110198400">Boekmerke</translation>
 <translation id="883848425547221593">Ander boekmerke</translation>
 <translation id="884264119367021077">Versendingsadres</translation>
@@ -1897,6 +1907,7 @@
 <translation id="890493561996401738">Verwyder Voorstel-knoppie; druk Enter om te verwyder; <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Jy is nou incognito</translation>
 <translation id="8912362522468806198">Google-rekening</translation>
+<translation id="8913778647360618320">Bestuur Betaalmetodes-knoppie; druk Enter om jou betalings- en kredietkaartinligting in Chrome-instellings te bestuur</translation>
 <translation id="8918231688545606538">Hierdie bladsy is verdag</translation>
 <translation id="892588693504540538">Pons regs bo</translation>
 <translation id="8931333241327730545">Wil jy hierdie kaart in jou Google-rekening stoor?</translation>
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb
index 9055550f..1a35d61 100644
--- a/components/strings/components_strings_am.xtb
+++ b/components/strings/components_strings_am.xtb
@@ -658,7 +658,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ወኪሉን፣ ኬላውን እና የዲኤንኤስ ውቅረትን መፈተሽ<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">ይህን ስህተት ሊያስከትሉ የሚችሉ መተግበሪያዎች ጸረ-ቫይረስ፣ ኬላ እና ድር ማጣሪያ ተኪ ሶፍትዌር ያካትታሉ።</translation>
 <translation id="373042150751172459">B4 (የደብዳቤ ፖስታ)</translation>
-<translation id="3731873414101415120">የሚጎበኟቸውን ድር ጣቢያዎች እና ደህንነታችው ያልተጠበቁ የገጾች ይዘቶች</translation>
 <translation id="3736520371357197498">ደህንነትዎ ላይ የሚያመጣቸውን ስጋቶች ከተረዱ አደገኛ ፕሮግራሞቹ ከመወገዳቸው በፊት <ph name="BEGIN_LINK" />ይህን ደህንነቱ ያልተጠበቀ ጣቢያ ሊጎብኙ<ph name="END_LINK" /> ይችላሉ።</translation>
 <translation id="3738166223076830879">የእርስዎ አሳሽ በእርስዎ አስተዳዳሪ የሚተዳደር ነው።</translation>
 <translation id="3744899669254331632">የድር ጣቢያው Chromium ሊያስኬዳቸው የማይችሉ የተዘበራረቁ ምስክርነቶችን ስለላከ አሁን ላይ <ph name="SITE" />ን መጎብኘት አይችሉም። የአውታረ መረብ ስህተቶች እና ጥቃቶች ብዙውን ጊዜ ጊዜያዊ ናቸው፣ ስለዚህ ይህ ገጽ በኋላ ላይ ምናልባት ሊሰራ ይችል ይሆናል።</translation>
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb
index 50cb827b..b1e4a3c 100644
--- a/components/strings/components_strings_ar.xtb
+++ b/components/strings/components_strings_ar.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />التحقق من تهيئة الخادم الوكيل والجدار الناري ونظام أسماء النطاقات<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">تتضمن التطبيقات التي يمكن أن تسبب ذلك الخطأ برنامج مكافحة الفيروسات والجدار الناري وبرنامج تصفية الويب أو برنامج الخادم الوكيل.</translation>
 <translation id="373042150751172459">‏B4 (مغلف)</translation>
-<translation id="3731873414101415120">المواقع الإلكترونية التي تزورها ومحتوى الصفحات غير الآمنة</translation>
 <translation id="3736520371357197498">إذا كنت على دراية بالمخاطر على أمنك، يمكنك <ph name="BEGIN_LINK" />زيارة هذا الموقع غير الآمن<ph name="END_LINK" /> قبل أن تتم إزالة البرامج الخطيرة.</translation>
 <translation id="3738166223076830879">يتولّى مشرفك إدارة متصفِّحك.</translation>
 <translation id="3744899669254331632">‏لا يمكنك زيارة <ph name="SITE" /> في الوقت الحالي لأن الموقع أرسل اعتمادات مختلطة حيث لا يستطيع Chromium المعالجة. أخطاء الشبكة وهجماتها عادةً ما تكون مؤقتة، لذلك من المحتمل أن تعمل هذه الصفحة في وقت لاحق.</translation>
diff --git a/components/strings/components_strings_as.xtb b/components/strings/components_strings_as.xtb
index ac0dd2c..955d671 100644
--- a/components/strings/components_strings_as.xtb
+++ b/components/strings/components_strings_as.xtb
@@ -662,7 +662,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />প্ৰক্সি, ফায়াৰৱাল আৰু DNS কনফিগাৰেশ্বন পৰীক্ষণ<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">এই আসোঁৱাহটোৰ সৃষ্টি কৰিব পৰা এপ্লিকেশ্বনসমূহত এণ্টিভাইৰাছ, ফায়াৰৱাল আৰু ৱেব-ফিল্টাৰিং বা প্ৰক্সি ছফ্টৱেৰ অন্তর্ভুক্ত।</translation>
 <translation id="373042150751172459">B4 (লেফাফা)</translation>
-<translation id="3731873414101415120">আপুনি চোৱা ৱেবছাইটসমূহ আৰু অসুৰক্ষিত পৃষ্ঠাসমূহৰ সমল</translation>
 <translation id="3736520371357197498">যদি আপুনি আপোনাৰ সুৰক্ষাৰ প্ৰতি সৃষ্টি হ‘ব পৰা ভাবুকিৰ কথা বুজি পাইছে তেন্তে বিপজ্জনক প্ৰ‘গ্ৰামসমূহ আঁতৰোৱাৰ আগেয়ে আপুনি <ph name="BEGIN_LINK" />এই অসুৰক্ষিত ছাইটটো<ph name="END_LINK" /> খুলি চাব পাৰে।</translation>
 <translation id="3738166223076830879">আপোনাৰ প্ৰশাসকে আপোনাৰ ব্ৰাউজাৰটো পৰিচালনা কৰে।</translation>
 <translation id="3744899669254331632">বর্তমান আপুনি <ph name="SITE" />ৰ চাব নোৱাৰে কাৰণ ৱেবছাইটটোৱে এক বিশৃংখল ক্ৰিডেনশ্বিয়েল পঠিয়াইছে যিটোত Chromiumএ প্ৰক্ৰিয়া চলাব নোৱাৰে। নেটৱর্কৰ আসোঁৱাহ আৰু আক্ৰমণবোৰ সাধাৰণতে অস্থায়ী হয় গতিকে এই পৃষ্ঠাটোৱে পাছত কাম কৰিব পাৰে।</translation>
diff --git a/components/strings/components_strings_az.xtb b/components/strings/components_strings_az.xtb
index 71caaf1..494a1ff3 100644
--- a/components/strings/components_strings_az.xtb
+++ b/components/strings/components_strings_az.xtb
@@ -661,7 +661,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Proksi, güvənlik divarı və DNS konfiqurasiyası yoxlanılır<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Bu xətaya səbəb olan tətbiqlərdə antivirus, həmişəlik proqram təminatı, veb filtrləmə və proksi proqram təminatı ola bilər.</translation>
 <translation id="373042150751172459">B4 (Zərf)</translation>
-<translation id="3731873414101415120">Daxil olduğunuz veb saytlar və güvənli olmayan səhifələrin məzmunu</translation>
 <translation id="3736520371357197498">Güvənliyinizin üzləşdiyi riskləri anlayırsınızsa, təhlükəli proqramlar silinmədən öncə <ph name="BEGIN_LINK" />güvənsiz sayta daxil ola bilərsiniz<ph name="END_LINK" />.</translation>
 <translation id="3738166223076830879">Brauzeriniz administratorunuz tərəfindən idarə edilir.</translation>
 <translation id="3744899669254331632">Sayt güvənsiz kredensiallar göndərdiyi üçün <ph name="SITE" /> ünvanına girə bilməzsiniz.</translation>
diff --git a/components/strings/components_strings_be.xtb b/components/strings/components_strings_be.xtb
index c1fcb74a5..557a2eb 100644
--- a/components/strings/components_strings_be.xtb
+++ b/components/strings/components_strings_be.xtb
@@ -664,7 +664,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Праверыць проксі-сервер, брандмаўэр і канфігурацыю DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Выклікаць гэту памылку могуць такія праграмы, як антывірусы, брандмаўэры, сістэмы вэб-фільтрацыі і проксі-серверы.</translation>
 <translation id="373042150751172459">B4 (канверт)</translation>
-<translation id="3731873414101415120">Вэб-сайты, якія вы наведваеце, і змесціва на небяспечных старонках</translation>
 <translation id="3736520371357197498">Калі вы разумееце рызыкі бяспекі, можаце <ph name="BEGIN_LINK" />наведаць гэты небяспечны сайт<ph name="END_LINK" /> да таго, як зламысныя праграмы будуць выдалены.</translation>
 <translation id="3738166223076830879">Вашым браўзерам кіруе адміністратар.</translation>
 <translation id="3744899669254331632">Наведаць сайт <ph name="SITE" /> зараз нельга: ён адправіў зашыфраваныя ўліковыя даныя, якія Chromium не можа апрацаваць. Звычайна сеткавыя памылкі і атакі – часовая з'ява, таму гэта старонка будзе, хутчэй за ўсё, працаваць пазней.</translation>
diff --git a/components/strings/components_strings_bg.xtb b/components/strings/components_strings_bg.xtb
index eedfb2af..1bc21f0 100644
--- a/components/strings/components_strings_bg.xtb
+++ b/components/strings/components_strings_bg.xtb
@@ -661,7 +661,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Проверете конфигурацията на прокси сървъра, защитната стена и DNS<ph name="END_LINK" />.</translation>
 <translation id="372429172604983730">Тази грешка може да се дължи на приложение, като например антивирусна програма или софтуер за защитна стена или за филтриране на съдържание в мрежата.</translation>
 <translation id="373042150751172459">B4 (плик)</translation>
-<translation id="3731873414101415120">Уебсайтовете, които посещавате, и съдържанието на незащитените страници</translation>
 <translation id="3736520371357197498">Ако разбирате рисковете за сигурността си, може <ph name="BEGIN_LINK" />да посетите този ненадежден сайт<ph name="END_LINK" /> преди премахването на опасните програми.</translation>
 <translation id="3738166223076830879">Браузърът се управлява от администратора ви.</translation>
 <translation id="3744899669254331632">В момента не можете да посетите <ph name="SITE" />, защото уебсайтът изпрати кодирани идентификационни данни, които Chromium не може да обработи. Обикновено грешките в мрежата и атаките срещу нея са временни, така че тази страница вероятно ще работи по-късно.</translation>
@@ -1378,7 +1377,7 @@
 <translation id="6687335167692595844">Размерът на шрифта е заявен</translation>
 <translation id="6689249931105087298">Относително с компенсиране на черните точки</translation>
 <translation id="6689271823431384964">Chrome предлага да запази картите ви в профила ви в Google, защото сте влезли в него. Можете да промените това поведение от настройките. Името на картодържателя е от профила ви.</translation>
-<translation id="6710213216561001401">Предишна</translation>
+<translation id="6710213216561001401">Предишно</translation>
 <translation id="6710594484020273272">&lt;Въведете дума за търсене&gt;</translation>
 <translation id="671076103358959139">Означение за регистриране:</translation>
 <translation id="6711464428925977395">Нещо не е наред с прокси сървъра или адресът е неправилен.</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb
index 1e832f8..8dbdc1f7 100644
--- a/components/strings/components_strings_bn.xtb
+++ b/components/strings/components_strings_bn.xtb
@@ -666,7 +666,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />প্রক্সি, ফায়ারওয়াল এবং ডিএনএস কনফিগারেশন পরীক্ষা করে দেখুন<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">অ্যান্টিভাইরাস, ফায়ারওয়াল এবং ওয়েব-ফিল্টারিং বা প্রক্সি সফ্টওয়্যারের মতো অ্যাপ্লিকেশন এই ধরণের ত্রুটির কারণ হতে পারে।</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">আপনার ব্রাউজ করা ওয়েবসাইটের বিবরণ এবং নিরাপদ নয় এমন পৃষ্ঠার কন্টেন্ট</translation>
 <translation id="3736520371357197498">আপনি যদি আপনার নিরাপত্তার ঝুঁকিগুলি বুঝতে পারেন, তাহলে ক্ষতিকারক প্রোগ্রাম সরানোর আগে আপনি <ph name="BEGIN_LINK" />বিপজ্জনক সাইটে যেতে পারেন<ph name="END_LINK" />।</translation>
 <translation id="3738166223076830879">আপনার অ্যাডমিনিস্ট্রেটর ব্রাউজারটি ম্যানেজ করেন।</translation>
 <translation id="3744899669254331632">এই মূহুর্তে আপনি <ph name="SITE" />-এ যেতে পারবেন না কারণ ওয়েবসাইটি অসংলগ্ন ক্রেডেনশিয়াল পাঠিয়েছে যা Chromium প্রসেস করতে পারেনা৷ নেটওয়ার্ক সমস্যা এবং আক্রমণ সাধারণত অস্থায়ী, তাই এই পৃষ্ঠাটি সম্ভবত পরে কাজ করবে৷</translation>
@@ -1382,7 +1381,7 @@
 <translation id="6687335167692595844">ফন্ট সাইজের অনুরোধ করা হয়েছে</translation>
 <translation id="6689249931105087298">ব্ল্যাক পয়েন্ট কম্প্রেশনের সাথে রিলেটিভ</translation>
 <translation id="6689271823431384964">আপনি সাইন-ইন করে আছেন বলে, Chrome আপনার কার্ডগুলি Google অ্যাকাউন্টে সেভ করতে চান কিনা তা জানতে চাইছে। সেটিংস থেকে আপনি এই বিকল্প পরিবর্তন করতে পারেন। আপনার অ্যাকাউন্ট থেকেই কার্ডহোল্ডারের নাম পাওয়া গেছে।</translation>
-<translation id="6710213216561001401">পূর্ববর্তী</translation>
+<translation id="6710213216561001401">আগের</translation>
 <translation id="6710594484020273272">&lt;সার্চের পদ লিখুন&gt;</translation>
 <translation id="671076103358959139">নথিভুক্ত করার জন্য টোকেন:</translation>
 <translation id="6711464428925977395">প্রক্সী সার্ভারের কোনো সমস্যা হয়েছে, অথবা ঠিকানাটি ভুল।</translation>
diff --git a/components/strings/components_strings_bs.xtb b/components/strings/components_strings_bs.xtb
index 8fc9644..a0d57f4 100644
--- a/components/strings/components_strings_bs.xtb
+++ b/components/strings/components_strings_bs.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">Poništi pre&amp;uređenje</translation>
 <translation id="1125573121925420732">Upozorenja mogu biti uobičajena dok web-lokacije ažuriraju sigurnost. To bi se uskoro trebalo poboljšati.</translation>
 <translation id="112840717907525620">Keš memorija pravila UREDU</translation>
+<translation id="1130564665089811311">Gumb Prevedi stranicu, pritisnite Enter da biste preveli ovu stranicu s Google prevoditeljem</translation>
 <translation id="1131264053432022307">Slika koju ste kopirali</translation>
 <translation id="1150979032973867961">Ovaj server nije mogao potvrditi da je ovo domena <ph name="DOMAIN" />. Operativni sistem vašeg računara ne smatra njenu potvrdu sigurnosti pouzdanom. Uzrok tome može biti pogrešna konfiguracija ili napadač koji je prekinuo vašu vezu.</translation>
 <translation id="1151972924205500581">Potrebna je lozinka</translation>
@@ -408,6 +409,7 @@
 <translation id="2634124572758952069">IP adresa poslužitelja hosta <ph name="HOST_NAME" /> nije pronađena.</translation>
 <translation id="2639739919103226564">Status:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste izbrisali povijest pregledavanja, kolačiće, predmemoriju i još mnogo toga u postavkama Chromea</translation>
 <translation id="2650446666397867134">Pristup fajlu je odbijen</translation>
 <translation id="2653659639078652383">Pošalji</translation>
 <translation id="2660779039299703961">Događaj</translation>
@@ -430,6 +432,7 @@
 <translation id="2705137772291741111">Sačuvana (keširana) kopija ove web lokacije nije čitljiva.</translation>
 <translation id="2709516037105925701">Automatsko popunjavanje</translation>
 <translation id="2713444072780614174">Bijela</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste upravljali podacima o plaćanju i kreditnoj kartici u postavkama Chromea</translation>
 <translation id="2721148159707890343">Zahtjev je uspio</translation>
 <translation id="272451190272506600">Dodirnite senzor da platite</translation>
 <translation id="2728127805433021124">Certifikat poslužitelja potpisan je slabim algoritmom potpisa.</translation>
@@ -642,6 +645,7 @@
 <translation id="3630155396527302611">Ako je već naveden kao program kome je dozvoljen pristup mreži, pokušajte
       ga ukloniti s liste pa ponovo dodati.</translation>
 <translation id="3631244953324577188">Biometrika</translation>
+<translation id="3633738897356909127">Gumb Ažuriranje Chromea, pritisnite Enter da biste ažurirali Chrome u postavkama Chromea</translation>
 <translation id="3634530185120165534">Ladica 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Potvrda valjanosti je uspjela</translation>
@@ -665,7 +669,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />provjerite proxy, vatrozid i konfiguraciju DNS-a<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Aplikacije koje mogu prouzročiti tu pogrešku uključuju antivirusni softver, softver vatrozida ili proxyja ili softver za filtriranje weba.</translation>
 <translation id="373042150751172459">B4 (koverta)</translation>
-<translation id="3731873414101415120">Web lokacije koje posjetite i sadržaj nesigurnih stranica</translation>
 <translation id="3736520371357197498">Ako razumijete koliki su rizici po vašu sigurnost, možete <ph name="BEGIN_LINK" />posjetiti ovu nesigurnu web lokaciju<ph name="END_LINK" /> prije uklanjanja štetnih programa.</translation>
 <translation id="3738166223076830879">Vašim preglednikom upravlja vaš administrator.</translation>
 <translation id="3744899669254331632">Trenutno ne možete posjetiti <ph name="SITE" /> jer je ova web lokacija poslala kodirane akreditive koje Chromium ne može obraditi. Greške i napadi na mreži su obično privremeni, pa će ova web lokacija vjerovatno raditi kasnije.</translation>
@@ -866,6 +869,7 @@
 <translation id="4506599922270137252">Kontaktirati administratora sistema</translation>
 <translation id="450710068430902550">Dijeljenje s administratorom</translation>
 <translation id="4508814173490746936">Korištenje identifikacije dodirom nije uspjelo</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste preveli ovu stranicu uz pomoć Google prevoditelja</translation>
 <translation id="4510487217173779431">Chou4 (koverta)</translation>
 <translation id="4515275063822566619">Kartice i adrese dolaze iz Cromea i vašeg Google računa (<ph name="ACCOUNT_EMAIL" />). Njima možete upravljati u <ph name="BEGIN_LINK" />Postavkama<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (Koverta)</translation>
@@ -946,6 +950,7 @@
 <translation id="4879725228911483934">Otvarati i postavljati prozore na ekranima</translation>
 <translation id="4880827082731008257">Pretraži povijest</translation>
 <translation id="4881695831933465202">Otvori</translation>
+<translation id="4889420713887366944">Gumb Otvori anonimni prozor, pritisnite Enter da biste otvorili novi anonimni prozor za pregledavanje u privatnosti</translation>
 <translation id="4892518386797173871">Zadnji dio</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Sačuvaj...</translation>
@@ -1107,6 +1112,7 @@
 <translation id="5523118979700054094">Naziv pravila</translation>
 <translation id="55293785478302737">Uvez uz rub</translation>
 <translation id="553484882784876924">Prc6 (Koverta)</translation>
+<translation id="5535133333442455806">Gumb Izbriši podatke o pregledavanju, pritisnite Enter da biste izbrisali povijest pregledavanja, kolačiće, predmemoriju i još mnogo toga u postavkama Chromea</translation>
 <translation id="5536214594743852365">Prikaži odjeljak "<ph name="SECTION" />"</translation>
 <translation id="5539243836947087108">Baza</translation>
 <translation id="5540224163453853">Traženi članak nije pronađen.</translation>
@@ -1606,6 +1612,7 @@
 <translation id="7600965453749440009">Nikad ne prevodi <ph name="LANGUAGE" /> jezik</translation>
 <translation id="7610193165460212391">Vrijednost je izvan raspona <ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Ističe: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste vidjeli zaporke u postavkama Chromea i upravljali njima</translation>
 <translation id="7615602087246926389">Već imate podatke koji su šifrirani pomoću druge verzije lozinke vašeg Google računa. Unesite je u nastavku.</translation>
 <translation id="7616645509853975347">Vaš administrator je uključio Konektore Chromea za preduzeća u vašem pregledniku. Pomoću tih konektora je moguće pristupiti nekim vašim podacima.</translation>
 <translation id="7619838219691048931">Zadnja tabela</translation>
@@ -1862,6 +1869,8 @@
 <translation id="8725066075913043281">Pokušaj ponovo</translation>
 <translation id="8728672262656704056">Ušli ste u anonimni način rada</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="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">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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> je vaš kôd za <ph name="ORIGIN" /></translation>
@@ -1878,6 +1887,7 @@
 <translation id="8793655568873652685">Domena <ph name="ENROLLMENT_DOMAIN" /> je uključila Konektore Chromea za preduzeća u vašem pregledniku. Pomoću tih konektora je moguće pristupiti nekim vašim podacima.</translation>
 <translation id="8805819170075074995">Unos na listi "<ph name="LANGUAGE_ID" />": Unos je zanemaren jer je uključen i u pravilo SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Skraćivanje nakon svake stranice</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste ažurirali Chrome iz postavki Chromea</translation>
 <translation id="8820817407110198400">Oznake</translation>
 <translation id="883848425547221593">Ostale oznake</translation>
 <translation id="884264119367021077">Adresa za isporuku</translation>
@@ -1897,6 +1907,7 @@
 <translation id="890493561996401738">Dugme za uklanjanje prijedloga. Pritisnite Enter da uklonite, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Ušli ste u anonimni način rada</translation>
 <translation id="8912362522468806198">Google račun</translation>
+<translation id="8913778647360618320">Gumb Upravljajte načinima plaćanja, pritisnite Enter da biste upravljali podacima o plaćanju i kreditnoj kartici u postavkama Chromea</translation>
 <translation id="8918231688545606538">Ova stranica je sumnjiva</translation>
 <translation id="892588693504540538">Bušenje u gornjem desnom uglu</translation>
 <translation id="8931333241327730545">Želite li sačuvati ovu karticu na svoj Google račun?</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index d8ceb9eb..75548ab 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Desfés el canvi d'ordre</translation>
 <translation id="1125573121925420732">És probable que rebis advertiments mentre s'actualitza la seguretat als llocs web, però això millorarà aviat.</translation>
 <translation id="112840717907525620">La memòria cau de la política està en bon estat</translation>
+<translation id="1130564665089811311">Botó Tradueix la pàgina; prem Retorn per traduir aquesta pàgina amb el Traductor de Google</translation>
 <translation id="1131264053432022307">Imatge que has copiat</translation>
 <translation id="1150979032973867961">Aquest servidor no ha pogut comprovar que sigui <ph name="DOMAIN" /> perquè el sistema operatiu del vostre ordinador considera que el seu certificat de seguretat no és de confiança. Això pot ser a causa d'una configuració incorrecta o d'un atacant que intercepta la vostra connexió.</translation>
 <translation id="1151972924205500581">Es requereix una contrasenya</translation>
@@ -404,6 +405,7 @@
 <translation id="2634124572758952069">No s'ha trobat l'adreça IP del servidor de l'amfitrió <ph name="HOST_NAME" />.</translation>
 <translation id="2639739919103226564">Estat:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />; prem Tab i després Retorn per esborrar l'historial de navegació, les galetes, la memòria cau i altres dades des de la configuració de Chrome</translation>
 <translation id="2650446666397867134">S'ha denegat l'accés al fitxer</translation>
 <translation id="2653659639078652383">Envia</translation>
 <translation id="2660779039299703961">Esdeveniment</translation>
@@ -426,6 +428,7 @@
 <translation id="2705137772291741111">La còpia desada (a la memòria cau) d'aquest lloc no s'ha pogut llegir.</translation>
 <translation id="2709516037105925701">Emplenament automàtic</translation>
 <translation id="2713444072780614174">Blanc</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />; prem Tab i després Retorn per gestionar la informació dels pagaments i de les targetes de crèdit a la configuració de Chrome</translation>
 <translation id="2721148159707890343">Sol·licitud realitzada correctament</translation>
 <translation id="272451190272506600">Toca el sensor per pagar</translation>
 <translation id="2728127805433021124">El certificat del servidor està signat mitjançant un algoritme de signatura dèbil.</translation>
@@ -636,6 +639,7 @@
 <translation id="3630155396527302611">Si ja està inclòs a la llista de programes autoritzats per accedir a la xarxa, proveu
       de suprimir-lo de la llista i torneu-lo a afegir.</translation>
 <translation id="3631244953324577188">Biometria</translation>
+<translation id="3633738897356909127">Botó Actualitza Chrome; prem Retorn per actualitzar Chrome des de la configuració de Chrome</translation>
 <translation id="3634530185120165534">Safata 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Validació correcta</translation>
@@ -659,7 +663,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Comproveu el servidor intermediari, el tallafoc i la configuració de DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Entre les aplicacions que poden provocar aquest error hi ha l'antivirus, el tallafoc i el programari de filtratge web o del servidor intermediari.</translation>
 <translation id="373042150751172459">B4 (sobre)</translation>
-<translation id="3731873414101415120">Els llocs web que visites i el contingut de les pàgines no segures</translation>
 <translation id="3736520371357197498">Si enteneu el risc que suposa per a la vostra seguretat, podeu <ph name="BEGIN_LINK" />visitar aquest lloc no segur<ph name="END_LINK" /> abans que no s'hagin suprimit els programes perillosos.</translation>
 <translation id="3738166223076830879">El teu administrador gestiona el navegador.</translation>
 <translation id="3744899669254331632">En aquest moments no podeu visitar la pàgina <ph name="SITE" /> perquè el lloc web ha enviat credencials aleatòries que Chromium no pot processar. Els atacs i els errors de xarxa acostumen a ser temporals, o sigui que probablement la pàgina funcionarà més endavant.</translation>
@@ -855,6 +858,7 @@
 <translation id="4506599922270137252">Contacteu amb l'administrador del sistema</translation>
 <translation id="450710068430902550">Comparteix informació amb l'administrador</translation>
 <translation id="4508814173490746936">No s'ha pogut fer servir Touch ID</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />; prem Tab i després Retorn per traduir aquesta pàgina amb el Traductor de Google</translation>
 <translation id="4510487217173779431">Chou4 (sobre)</translation>
 <translation id="4515275063822566619">Les targetes i les adreces s'obtenen de Chrome i del teu Compte de Google (<ph name="ACCOUNT_EMAIL" />). Pots gestionar-les des de <ph name="BEGIN_LINK" />Configuració<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (sobre)</translation>
@@ -935,6 +939,7 @@
 <translation id="4879725228911483934">Obrir i col·locar finestres a les teves pantalles</translation>
 <translation id="4880827082731008257">Cerca a l'historial</translation>
 <translation id="4881695831933465202">Obre</translation>
+<translation id="4889420713887366944">Botó Obre una finestra d'incògnit; prem Retorn per obrir una finestra d'incògnit nova i navegar en privat</translation>
 <translation id="4892518386797173871">Part posterior</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Desa...</translation>
@@ -1096,6 +1101,7 @@
 <translation id="5523118979700054094">Nom de la política</translation>
 <translation id="55293785478302737">Cosit de la vora</translation>
 <translation id="553484882784876924">Prc6 (sobre)</translation>
+<translation id="5535133333442455806">Botó Esborra les dades de navegació; prem Retorn per esborrar l'historial de navegació, les galetes, la memòria cau i altres dades des de la configuració de Chrome</translation>
 <translation id="5536214594743852365">Mostra la secció "<ph name="SECTION" />"</translation>
 <translation id="5539243836947087108">Raft</translation>
 <translation id="5540224163453853">No s'ha pogut trobar l'article sol·licitat.</translation>
@@ -1595,6 +1601,7 @@
 <translation id="7600965453749440009">No tradueixis mai de: <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">El valor es troba fora de l'interval <ph name="VALUE" /> .</translation>
 <translation id="7613889955535752492">Data de caducitat: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />; prem Tab i després Retorn per veure i gestionar les contrasenyes a la configuració de Chrome</translation>
 <translation id="7615602087246926389">Ja teniu dades encriptades amb una versió diferent de la contrasenya del vostre compte de Google. Introduïu-la a continuació.</translation>
 <translation id="7616645509853975347">L'administrador ha activat Chrome Enterprise Connectors al navegador. Aquests connectors tenen accés a algunes de les teves dades.</translation>
 <translation id="7619838219691048931">Full final</translation>
@@ -1851,6 +1858,8 @@
 <translation id="8725066075913043281">Torna-ho a provar</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> és el teu codi per a <ph name="ORIGIN" /></translation>
@@ -1867,6 +1876,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> ha activat Chrome Enterprise Connectors al navegador. Aquests connectors tenen accés a algunes de les teves dades.</translation>
 <translation id="8805819170075074995">Entrada "<ph name="LANGUAGE_ID" />" de la llista: l'entrada s'ha ignorat perquè també s'inclou a la política SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Retalla després de cada pàgina</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />; prem Tab i després Retorn per actualitzar Chrome des de la configuració de Chrome</translation>
 <translation id="8820817407110198400">Adreces d'interès</translation>
 <translation id="883848425547221593">Altres adreces d'interès</translation>
 <translation id="884264119367021077">Adreça d’enviament</translation>
@@ -1886,6 +1896,7 @@
 <translation id="890493561996401738">Botó Suprimeix el suggeriment, prem Retorn per suprimir, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Has passat al mode d'incògnit</translation>
 <translation id="8912362522468806198">Compte de Google</translation>
+<translation id="8913778647360618320">Botó Gestiona les formes de pagament; prem Retorn per gestionar la informació dels pagaments i de les targetes de crèdit a la configuració de Chrome</translation>
 <translation id="8918231688545606538">Aquesta pàgina és sospitosa</translation>
 <translation id="892588693504540538">Encunyació a la part superior dreta</translation>
 <translation id="8931333241327730545">Voleu desar aquesta targeta al vostre compte de Google?</translation>
diff --git a/components/strings/components_strings_cs.xtb b/components/strings/components_strings_cs.xtb
index 13502de..ca6b8730 100644
--- a/components/strings/components_strings_cs.xtb
+++ b/components/strings/components_strings_cs.xtb
@@ -655,7 +655,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Zkontrolovat proxy server, firewall a konfiguraci DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Tuto chybu mohou způsobovat aplikace, jako jsou antivirové programy, firewally a software na filtrování nebo zprostředkování webového provozu.</translation>
 <translation id="373042150751172459">B4 (obálka)</translation>
-<translation id="3731873414101415120">Navštívené weby a obsah nezabezpečených stránek</translation>
 <translation id="3736520371357197498">Pokud bezpečnostní rizika chápete, můžete <ph name="BEGIN_LINK" />tento nespolehlivý web navštívit<ph name="END_LINK" /> ještě před tím, než budou nebezpečné programy odstraněny.</translation>
 <translation id="3738166223076830879">Váš prohlížeč spravuje administrátor.</translation>
 <translation id="3744899669254331632">Web <ph name="SITE" /> teď nelze navštívit, protože tento web odeslal nesprávné identifikační údaje, které prohlížeč Chromium nedokáže zpracovat. Síťové chyby a útoky jsou obvykle dočasné, tato stránka pravděpodobně později bude fungovat.</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb
index 45c5813..35ef58a 100644
--- a/components/strings/components_strings_da.xtb
+++ b/components/strings/components_strings_da.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Fortryd omarrangering</translation>
 <translation id="1125573121925420732">Advarsler kan almindeligt forekomme, når websites opdaterer deres sikkerhed. Dette forbedres snart.</translation>
 <translation id="112840717907525620">Cache for politik er OK</translation>
+<translation id="1130564665089811311">Knappen Oversæt side – tryk på Enter for at oversætte denne side med Google Oversæt</translation>
 <translation id="1131264053432022307">Billede, du har kopieret</translation>
 <translation id="1150979032973867961">Denne server kunne ikke bevise, at den er <ph name="DOMAIN" />, da operativsystemet på din computer ikke har tillid til sikkerhedscertifikatet. Dette kan skyldes en fejlkonfiguration, eller at en hacker har opfanget din forbindelse.</translation>
 <translation id="1151972924205500581">En adgangskode er påkrævet</translation>
@@ -408,6 +409,7 @@
 <translation id="2634124572758952069">IP-adressen på serveren for <ph name="HOST_NAME" /> blev ikke fundet.</translation>
 <translation id="2639739919103226564">Status:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, tryk på Tab-tasten efterfulgt af Enter for at rydde din browserhistorik, dine cookies, din cache m.m. i Chrome-indstillingerne</translation>
 <translation id="2650446666397867134">Der blev nægtet adgang til filen</translation>
 <translation id="2653659639078652383">Send</translation>
 <translation id="2660779039299703961">Hændelse</translation>
@@ -430,6 +432,7 @@
 <translation id="2705137772291741111">Den gemte (cachelagrede) kopi af dette website kunne ikke læses.</translation>
 <translation id="2709516037105925701">AutoFyld</translation>
 <translation id="2713444072780614174">Hvid</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" /> – tryk på Tab-tasten efterfulgt af Enter for at administrere oplysninger om dine betalinger og betalingskort i Chrome-indstillingerne</translation>
 <translation id="2721148159707890343">Anmodning lykkedes</translation>
 <translation id="272451190272506600">Rør ved sensoren for at betale</translation>
 <translation id="2728127805433021124">Serverens certifikat er signeret ved hjælp af en svag signaturalgoritme.</translation>
@@ -642,6 +645,7 @@
 <translation id="3630155396527302611">Hvis programmet allerede står på listen over programmer, der har adgang til netværket, kan du prøve
     at fjerne det fra listen og tilføje det igen.</translation>
 <translation id="3631244953324577188">Biometriske systemer</translation>
+<translation id="3633738897356909127">Knappen Opdater Chrome – tryk på Enter for at opdatere Chrome i dine Chrome-indstillinger</translation>
 <translation id="3634530185120165534">Bakke 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Valideringen er fuldført</translation>
@@ -665,7 +669,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Tjekke proxy-, firewall- og DNS-konfigurationen<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Apps, der kan forårsage denne fejl, er blandt andet antivirus-, firewall- og webfiltrerings- eller proxysoftware.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">De websites, du besøger, og indholdet på sider, der ikke er sikre</translation>
 <translation id="3736520371357197498">Hvis du forstår den sikkerhedsrisiko, du udsætter dig for, kan du <ph name="BEGIN_LINK" />gå til dette usikre website<ph name="END_LINK" />, inden de farlige programmer er fjernet.</translation>
 <translation id="3738166223076830879">Din browser administreres af din administrator.</translation>
 <translation id="3744899669254331632">Du kan ikke gå til <ph name="SITE" /> lige nu, da websitet sendte krypterede loginoplysninger, som Chromium ikke kan behandle. Netværksfejl og angreb er normalt midlertidige, så denne side vil sandsynligvis fungere igen senere.</translation>
@@ -866,6 +869,7 @@
 <translation id="4506599922270137252">Kontakte systemadministratoren</translation>
 <translation id="450710068430902550">Deling med administrator</translation>
 <translation id="4508814173490746936">Touch ID kunne ikke anvendes</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" /> – tryk på Tab-tasten efterfulgt af Enter for at oversætte denne side med Google Oversæt</translation>
 <translation id="4510487217173779431">Chou4 (Envelope)</translation>
 <translation id="4515275063822566619">Kort og adresser stammer fra Chrome og din Google-konto (<ph name="ACCOUNT_EMAIL" />). Du kan administrere dem i <ph name="BEGIN_LINK" />Indstillinger<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (Envelope)</translation>
@@ -946,6 +950,7 @@
 <translation id="4879725228911483934">Åbne og placere vinduer på dine skærme</translation>
 <translation id="4880827082731008257">Søg i historikken</translation>
 <translation id="4881695831933465202">Åbn</translation>
+<translation id="4889420713887366944">Knappen Åbn inkognitovindue – tryk på Enter for at åbne et nyt inkognitovindue og browse privat</translation>
 <translation id="4892518386797173871">Bagest</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Gem...</translation>
@@ -1107,6 +1112,7 @@
 <translation id="5523118979700054094">Navn på politik</translation>
 <translation id="55293785478302737">Kanthæftning</translation>
 <translation id="553484882784876924">Prc6 (Envelope)</translation>
+<translation id="5535133333442455806">Knappen Ryd browserdata – tryk på Enter for at rydde din browserhistorik, dine cookies, din cache m.m. i Chrome-indstillingerne</translation>
 <translation id="5536214594743852365">Vis sektionen "<ph name="SECTION" />"</translation>
 <translation id="5539243836947087108">Flåde</translation>
 <translation id="5540224163453853">Den anmodede artikel blev ikke fundet.</translation>
@@ -1606,6 +1612,7 @@
 <translation id="7600965453749440009">Oversæt aldrig <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">Værdien er uden for intervallet <ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Udløbsdato: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" /> – tryk på Tab-tasten efterfulgt af Enter for at se og administrere dine adgangskoder i Chrome-indstillingerne</translation>
 <translation id="7615602087246926389">Du har allerede data, der er krypteret med en anden version af adgangskoden til din Google-konto. Angiv adgangskoden i feltet nedenfor.</translation>
 <translation id="7616645509853975347">Din administrator har aktiveret Chrome Enterprise Connectors i din browser. Disse connectorer har adgang til nogle af dine data.</translation>
 <translation id="7619838219691048931">Sidste ark</translation>
@@ -1863,6 +1870,8 @@
 <translation id="8725066075913043281">Forsøg igen</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> er din kode til <ph name="ORIGIN" /></translation>
@@ -1879,6 +1888,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> har aktiveret Chrome Enterprise Connectors i din browser. Disse connectorer har adgang til nogle af dine data.</translation>
 <translation id="8805819170075074995">Listepost "<ph name="LANGUAGE_ID" />": Posten blev ignoreret, fordi den også er inkluderet i politikken SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Beskær efter hver side</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" /> – tryk på Tab-tasten efterfulgt af Enter for at opdatere Chrome i dine Chrome-indstillinger</translation>
 <translation id="8820817407110198400">Bogmærker</translation>
 <translation id="883848425547221593">Andre bogmærker</translation>
 <translation id="884264119367021077">Leveringsadresse</translation>
@@ -1898,6 +1908,7 @@
 <translation id="890493561996401738">Knappen Fjern forslag. Tryk på Enter for at fjerne, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Du er i inkognitotilstand</translation>
 <translation id="8912362522468806198">Google-konto</translation>
+<translation id="8913778647360618320">Knappen Administrer betalingsmetoder – tryk på Enter for at administrere oplysninger om dine betalinger og betalingskort i Chrome-indstillingerne</translation>
 <translation id="8918231688545606538">Denne side er mistænkelig</translation>
 <translation id="892588693504540538">Hul øverst til højre</translation>
 <translation id="8931333241327730545">Vil du gemme dette kort på din Google-konto?</translation>
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb
index 363b271..2e72a7dc4e 100644
--- a/components/strings/components_strings_de.xtb
+++ b/components/strings/components_strings_de.xtb
@@ -657,7 +657,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Proxy, Firewall und DNS-Konfiguration prüfen<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Anwendungen, die diesen Fehler verursachen können, sind Antivirensoftware, Firewalls, Webfilter- oder Proxy-Software.</translation>
 <translation id="373042150751172459">B4 (Umschlag)</translation>
-<translation id="3731873414101415120">Von Ihnen besuchte Websites und Inhalte von nicht sicheren Seiten</translation>
 <translation id="3736520371357197498">Wenn Sie die Sicherheitsrisiken kennen, können Sie <ph name="BEGIN_LINK" />diese unsichere Website aufrufen<ph name="END_LINK" />, bevor die gefährlichen Programme entfernt wurden.</translation>
 <translation id="3738166223076830879">Ihr Browser wird von Ihrem Administrator verwaltet.</translation>
 <translation id="3744899669254331632">Sie können <ph name="SITE" /> zurzeit nicht aufrufen, weil die Website verschlüsselte Anmeldedaten gesendet hat, die von Chromium nicht verarbeitet werden können. Netzwerkfehler und Angriffe sind in der Regel nur vorübergehend, sodass die Seite wahrscheinlich später wieder funktioniert.</translation>
@@ -1369,7 +1368,7 @@
 <translation id="6687335167692595844">Gewünschte Schriftgröße</translation>
 <translation id="6689249931105087298">Relativ mit Schwarzpunktkompensation</translation>
 <translation id="6689271823431384964">Chrome bietet Ihnen die Möglichkeit, die Karten in Ihrem Google-Konto zu speichern, weil Sie angemeldet sind. Sie können dies in den Einstellungen ändern. Der Name des Karteninhabers stammt aus Ihrem Konto.</translation>
-<translation id="6710213216561001401">Zurück</translation>
+<translation id="6710213216561001401">Vorherige Einreichung</translation>
 <translation id="6710594484020273272">&lt;Suchbegriff eingeben&gt;</translation>
 <translation id="671076103358959139">Registrierungstoken:</translation>
 <translation id="6711464428925977395">Mit dem Proxyserver ist ein Problem aufgetreten oder die Adresse ist falsch.</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb
index 80c8dae..3ae56a06 100644
--- a/components/strings/components_strings_el.xtb
+++ b/components/strings/components_strings_el.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Αναίρεση αναδιάταξης</translation>
 <translation id="1125573121925420732">Οι προειδοποιήσεις μπορεί να είναι συνήθεις ενώ οι ιστότοποι ενημερώνουν την ασφάλειά τους. Αυτό αναμένεται να βελτιωθεί σύντομα.</translation>
 <translation id="112840717907525620">Η προσωρινή μνήμη της πολιτικής είναι εντάξει</translation>
+<translation id="1130564665089811311">Κουμπί μετάφρασης σελίδας, πατήστε Enter για μετάφραση της σελίδας με τη Μετάφραση Google.</translation>
 <translation id="1131264053432022307">Εικόνα που αντιγράψατε</translation>
 <translation id="1150979032973867961">Ο διακομιστής δεν μπόρεσε να αποδείξει ότι είναι <ph name="DOMAIN" />. Το πιστοποιητικό ασφαλείας του δεν θεωρείται έμπιστο από το λειτουργικό σύστημα της συσκευής σας. Αυτό μπορεί να οφείλεται σε λανθασμένη ρύθμιση ή σε κάποιον τρίτο που επιτίθεται στη σύνδεσή σας.</translation>
 <translation id="1151972924205500581">Απαιτείται κωδικός πρόσβασης</translation>
@@ -408,6 +409,7 @@
 <translation id="2634124572758952069">Δεν ήταν δυνατή η εύρεση της διεύθυνσης IP διακομιστή του κεντρικού υπολογιστή <ph name="HOST_NAME" />.</translation>
 <translation id="2639739919103226564">Κατάσταση:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, πατήστε Tab και έπειτα Enter για εκκαθάριση του ιστορικού περιήγησης, των cookie, της κρυφής μνήμης κ.α. στις ρυθμίσεις του Chrome.</translation>
 <translation id="2650446666397867134">Η πρόσβαση στο αρχείο απορρίφθηκε</translation>
 <translation id="2653659639078652383">Υποβολή</translation>
 <translation id="2660779039299703961">Συμβάν</translation>
@@ -430,6 +432,7 @@
 <translation id="2705137772291741111">Δεν είναι δυνατή η ανάγνωση του αποθηκευμένου αντιγράφου (κρυφής μνήμης) αυτού του ιστότοπου.</translation>
 <translation id="2709516037105925701">Αυτόματη συμπλήρωση</translation>
 <translation id="2713444072780614174">Λευκό</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, πατήστε Tab και έπειτα Enter για να διαχειριστείτε τα στοιχεία πληρωμών και πιστωτικών καρτών στις ρυθμίσεις του Chrome.</translation>
 <translation id="2721148159707890343">Το αίτημα ήταν επιτυχές</translation>
 <translation id="272451190272506600">Αγγίξτε τον αισθητήρα για την πληρωμή</translation>
 <translation id="2728127805433021124">Το πιστοποιητικό του διακομιστή είναι υπογεγραμμένο με έναν αδύναμο αλγόριθμο υπογραφής.</translation>
@@ -642,6 +645,7 @@
 <translation id="3630155396527302611">Εάν έχει ήδη καταχωριστεί ως πρόγραμμα στο οποίο επιτρέπεται η πρόσβαση στο δίκτυο, δοκιμάστε
       να το καταργήσετε από τη λίστα και να το προσθέσετε ξανά.</translation>
 <translation id="3631244953324577188">Βιομετρικά</translation>
+<translation id="3633738897356909127">Κουμπί ενημέρωσης Chrome, πατήστε Enter για να ενημερώσετε το Chrome από τις ρυθμίσεις του Chrome.</translation>
 <translation id="3634530185120165534">Δίσκος 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Επιτυχής επικύρωση</translation>
@@ -665,7 +669,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Ελέγξτε το διακομιστή μεσολάβησης, το τείχος προστασίας και τη διαμόρφωση DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Οι εφαρμογές που μπορούν να προκαλέσουν αυτό το σφάλμα περιλαμβάνουν λογισμικό προστασίας από ιούς, τείχος προστασίας και λογισμικό φιλτραρίσματος ιστού ή λογισμικό διακομιστή μεσολάβησης.</translation>
 <translation id="373042150751172459">B4 (Φάκελος)</translation>
-<translation id="3731873414101415120">Ιστότοποι που επισκέπτεστε και περιεχόμενα μη ασφαλών σελίδων</translation>
 <translation id="3736520371357197498">Εάν κατανοείτε τους κινδύνους για την ασφάλειά σας, μπορείτε να <ph name="BEGIN_LINK" />επισκεφτείτε αυτόν τον μη ασφαλή ιστότοπο<ph name="END_LINK" /> πριν από την κατάργηση των επικίνδυνων προγραμμάτων.</translation>
 <translation id="3738166223076830879">Η διαχείριση του προγράμματος περιήγησης πραγματοποιείται από τον διαχειριστή σας.</translation>
 <translation id="3744899669254331632">Δεν μπορείτε να επισκεφτείτε τον ιστότοπο <ph name="SITE" /> αυτήν τη στιγμή, επειδή ο ιστότοπος έστειλε κωδικοποιημένα διαπιστευτήρια τα οποία δεν είναι δυνατό να επεξεργαστεί το Chromium. Τα σφάλματα δικτύου και οι επιθέσεις είναι συνήθως προσωρινά φαινόμενα, συνεπώς η σελίδα πιθανότατα θα λειτουργήσει αργότερα.</translation>
@@ -867,6 +870,7 @@
 <translation id="4506599922270137252">Επικοινωνήστε με το διαχειριστή συστήματος</translation>
 <translation id="450710068430902550">Κοινοποίηση στο διαχειριστή</translation>
 <translation id="4508814173490746936">Δεν ήταν δυνατή η χρήση του Touch ID</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, πατήστε Tab και έπειτα Enter για μετάφραση αυτής της σελίδας με τη Μετάφραση Google.</translation>
 <translation id="4510487217173779431">Chou4 (Φάκελος)</translation>
 <translation id="4515275063822566619">Οι κάρτες και οι διευθύνσεις προέρχονται από το Chrome και τον Λογαριασμό σας Google (<ph name="ACCOUNT_EMAIL" />). Μπορείτε να τις διαχειριστείτε στις <ph name="BEGIN_LINK" />Ρυθμίσεις<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (Φάκελος)</translation>
@@ -947,6 +951,7 @@
 <translation id="4879725228911483934">Άνοιγμα και τοποθέτηση παραθύρων στις οθόνες σας</translation>
 <translation id="4880827082731008257">Αναζήτηση ιστορικού</translation>
 <translation id="4881695831933465202">Άνοιγμα</translation>
+<translation id="4889420713887366944">Κουμπί ανοίγματος παραθύρου για ανώνυμη περιήγηση, πατήστε Enter για να ανοίξετε ένα νέο παράθυρο για ανώνυμη περιήγηση.</translation>
 <translation id="4892518386797173871">Πίσω</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Αποθήκευση…</translation>
@@ -1108,6 +1113,7 @@
 <translation id="5523118979700054094">Όνομα πολιτικής</translation>
 <translation id="55293785478302737">Ραφή στο άκρο</translation>
 <translation id="553484882784876924">Prc6 (Φάκελος)</translation>
+<translation id="5535133333442455806">Κουμπί διαγραφής δεδομένων περιήγησης, πατήστε Enter για εκκαθάριση του ιστορικού περιήγησης, των cookie, της κρυφής μνήμης κ.α. στις ρυθμίσεις του Chrome.</translation>
 <translation id="5536214594743852365">Εμφάνιση της ενότητας "<ph name="SECTION" />"</translation>
 <translation id="5539243836947087108">Βάση</translation>
 <translation id="5540224163453853">Δεν ήταν δυνατή η εύρεση του άρθρου που ζητήσατε.</translation>
@@ -1607,6 +1613,7 @@
 <translation id="7600965453749440009">Να μην γίνεται ποτέ μετάφραση από <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">Η τιμή είναι εκτός του εύρους τιμών <ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Λήξη: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, πατήστε Tab και έπειτα Enter για να δείτε και να διαχειριστείτε τους κωδικούς πρόσβασής σας στις ρυθμίσεις του Chrome.</translation>
 <translation id="7615602087246926389">Έχετε ήδη δεδομένα που είναι κρυπτογραφημένα με χρήση διαφορετικής έκδοσης του κωδικού πρόσβασης για τον Λογαριασμό σας Google. Εισαγάγετέ τον παρακάτω.</translation>
 <translation id="7616645509853975347">Ο διαχειριστής σας ενεργοποίησε το Chrome Enterprise Connectors στο πρόγραμμα περιήγησής σας. Αυτές οι εφαρμογές σύνδεσης έχουν πρόσβαση σε ορισμένα από τα δεδομένα σας.</translation>
 <translation id="7619838219691048931">Τελευταίο φύλλο</translation>
@@ -1864,6 +1871,8 @@
 <translation id="8725066075913043281">Προσπαθήστε ξανά</translation>
 <translation id="8728672262656704056">Πραγματοποιείτε ανώνυμη περιήγηση</translation>
 <translation id="8730621377337864115">Ολοκληρώθηκε</translation>
+<translation id="8731544501227493793">Κουμπί διαχείρισης κωδικών πρόσβασης, πατήστε Enter για προβολή και διαχείριση των κωδικών πρόσβασής σας στις ρυθμίσεις του Chrome</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>
 <translation id="8742371904523228557">Το <ph name="ONE_TIME_CODE" /> είναι ο κωδικός σας για το <ph name="ORIGIN" /></translation>
@@ -1880,6 +1889,7 @@
 <translation id="8793655568873652685">Το <ph name="ENROLLMENT_DOMAIN" /> ενεργοποίησε το Chrome Enterprise Connectors στο πρόγραμμα περιήγησής σας. Αυτές οι εφαρμογές σύνδεσης έχουν πρόσβαση σε ορισμένα από τα δεδομένα σας.</translation>
 <translation id="8805819170075074995">Καταχώριση λίστας "<ph name="LANGUAGE_ID" />": Η καταχώριση παραβλέπεται επειδή περιλαμβάνεται επίσης στην πολιτική SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Περικοπή μετά από κάθε σελίδα</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, πατήστε Tab και έπειτα Enter για να ενημερώσετε το Chrome από τις ρυθμίσεις του Chrome.</translation>
 <translation id="8820817407110198400">Σελιδοδείκτες</translation>
 <translation id="883848425547221593">Άλλοι σελιδοδείκτες</translation>
 <translation id="884264119367021077">Διεύθυνση αποστολής</translation>
@@ -1899,6 +1909,7 @@
 <translation id="890493561996401738">Κατάργηση κουμπιού Πρόταση, πατήστε Enter για κατάργηση, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" />.</translation>
 <translation id="8910670906166981838">Είστε σε κατάσταση ανώνυμης περιήγησης.</translation>
 <translation id="8912362522468806198">Λογαριασμός Google</translation>
+<translation id="8913778647360618320">Κουμπί διαχείρισης τρόπων πληρωμής, πατήστε Enter για να διαχειριστείτε τα στοιχεία πληρωμών και πιστωτικών καρτών στις ρυθμίσεις του Chrome.</translation>
 <translation id="8918231688545606538">Αυτή η σελίδα είναι ύποπτη.</translation>
 <translation id="892588693504540538">Τρύπημα επάνω δεξιά</translation>
 <translation id="8931333241327730545">Θέλετε να αποθηκεύσετε αυτήν την κάρτα στο Λογαριασμό σας Google;</translation>
diff --git a/components/strings/components_strings_en-GB.xtb b/components/strings/components_strings_en-GB.xtb
index 1305e1c..0b9afc70 100644
--- a/components/strings/components_strings_en-GB.xtb
+++ b/components/strings/components_strings_en-GB.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Undo reorder</translation>
 <translation id="1125573121925420732">Warnings may be common while websites update their security. This should improve soon.</translation>
 <translation id="112840717907525620">Policy cache OK</translation>
+<translation id="1130564665089811311">Translate page button; press enter to translate this page with Google Translate</translation>
 <translation id="1131264053432022307">Image that you copied</translation>
 <translation id="1150979032973867961">This server could not prove that it is <ph name="DOMAIN" />; its security certificate is not trusted by your computer's operating system. This may be caused by a misconfiguration or an attacker intercepting your connection.</translation>
 <translation id="1151972924205500581">Password required</translation>
@@ -407,6 +408,7 @@
 <translation id="2634124572758952069"><ph name="HOST_NAME" />’s server IP address could not be found.</translation>
 <translation id="2639739919103226564">Status:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, press tab, then enter to clear your browsing history, cookies, cache and more in Chrome settings</translation>
 <translation id="2650446666397867134">Access to the file was denied</translation>
 <translation id="2653659639078652383">Submit</translation>
 <translation id="2660779039299703961">Event</translation>
@@ -429,6 +431,7 @@
 <translation id="2705137772291741111">The saved (cached) copy of this site was unreadable.</translation>
 <translation id="2709516037105925701">Auto-fill</translation>
 <translation id="2713444072780614174">White</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, press tab, then enter to manage your payments and credit card info in Chrome settings</translation>
 <translation id="2721148159707890343">Request succeeded</translation>
 <translation id="272451190272506600">Touch sensor to pay</translation>
 <translation id="2728127805433021124">Server's certificate is signed using a weak signature algorithm.</translation>
@@ -641,6 +644,7 @@
 <translation id="3630155396527302611">If it is already listed as a program allowed to access the network, try
       removing it from the list and adding it again.</translation>
 <translation id="3631244953324577188">Biometrics</translation>
+<translation id="3633738897356909127">Update Chrome button; press enter to update Chrome from your Chrome settings</translation>
 <translation id="3634530185120165534">Tray 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Validation successful</translation>
@@ -664,7 +668,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Checking the proxy, firewall and DNS configuration<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Applications that can cause this error include antivirus, firewall and web-filtering or proxy software.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Websites that you visit and the contents of not secure pages</translation>
 <translation id="3736520371357197498">If you understand the risks to your security, you may <ph name="BEGIN_LINK" />visit this unsafe site<ph name="END_LINK" /> before the dangerous programs have been removed.</translation>
 <translation id="3738166223076830879">Your browser is managed by your administrator.</translation>
 <translation id="3744899669254331632">You cannot visit <ph name="SITE" /> right now because the website sent scrambled credentials that Chromium cannot process. Network errors and attacks are usually temporary, so this page will probably work later.</translation>
@@ -865,6 +868,7 @@
 <translation id="4506599922270137252">Contacting the system admin</translation>
 <translation id="450710068430902550">Sharing with Administrator</translation>
 <translation id="4508814173490746936">Couldn't use Touch ID</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, press tab, then enter to translate this page with Google Translate</translation>
 <translation id="4510487217173779431">Chou4 (Envelope)</translation>
 <translation id="4515275063822566619">Cards and addresses are from Chrome and your Google Account (<ph name="ACCOUNT_EMAIL" />). You can manage them in <ph name="BEGIN_LINK" />Settings<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (Envelope)</translation>
@@ -945,6 +949,7 @@
 <translation id="4879725228911483934">Open and place windows on your screens</translation>
 <translation id="4880827082731008257">Search history</translation>
 <translation id="4881695831933465202">Open</translation>
+<translation id="4889420713887366944">Open incognito window button; press enter to open a new incognito window to browse privately</translation>
 <translation id="4892518386797173871">Rear</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Save...</translation>
@@ -1106,6 +1111,7 @@
 <translation id="5523118979700054094">Policy name</translation>
 <translation id="55293785478302737">Edge stitch</translation>
 <translation id="553484882784876924">Prc6 (Envelope)</translation>
+<translation id="5535133333442455806">Clear browsing data button; press enter to clear your browsing history, cookies, cache and more in Chrome settings</translation>
 <translation id="5536214594743852365">Show the '<ph name="SECTION" />' section</translation>
 <translation id="5539243836947087108">Raft</translation>
 <translation id="5540224163453853">Could not find the requested article.</translation>
@@ -1605,6 +1611,7 @@
 <translation id="7600965453749440009">Never translate <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">Value is out of range <ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Exp: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, press tab, then enter to view and manage your passwords in Chrome settings</translation>
 <translation id="7615602087246926389">You already have data that is encrypted using a different version of your Google Account password. Please enter it below.</translation>
 <translation id="7616645509853975347">Your administrator has turned on Chrome Enterprise Connectors on your browser. These connectors have access to some of your data.</translation>
 <translation id="7619838219691048931">End sheet</translation>
@@ -1861,6 +1868,8 @@
 <translation id="8725066075913043281">Try again</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> is your code for <ph name="ORIGIN" /></translation>
@@ -1877,6 +1886,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> has turned on Chrome Enterprise Connectors on your browser. These connectors have access to some of your data.</translation>
 <translation id="8805819170075074995">List entry '<ph name="LANGUAGE_ID" />': entry ignored because it is also included in the SpellcheckLanguage policy.</translation>
 <translation id="8807160976559152894">Trim after each page</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, press tab, then enter to update Chrome from your Chrome settings</translation>
 <translation id="8820817407110198400">Bookmarks</translation>
 <translation id="883848425547221593">Other Bookmarks</translation>
 <translation id="884264119367021077">Delivery address</translation>
@@ -1896,6 +1906,7 @@
 <translation id="890493561996401738">Remove Suggestion button, press Enter to remove, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">You've gone incognito</translation>
 <translation id="8912362522468806198">Google Account</translation>
+<translation id="8913778647360618320">Manage payment methods button; press enter to manage your payments and credit card info in Chrome settings</translation>
 <translation id="8918231688545606538">This page is suspicious</translation>
 <translation id="892588693504540538">Punch top right</translation>
 <translation id="8931333241327730545">Do you want to save this card to your Google Account?</translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb
index 467e15c7..dc6962a2 100644
--- a/components/strings/components_strings_es-419.xtb
+++ b/components/strings/components_strings_es-419.xtb
@@ -664,7 +664,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Comprobar la configuración del proxy, firewall o DNS<ph name="END_LINK" />.</translation>
 <translation id="372429172604983730">Las apps que pueden causar este error incluyen antivirus, firewall, filtros web o software proxy.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Los sitios web que visitas y el contenido de páginas no seguras</translation>
 <translation id="3736520371357197498">Si comprendes los riesgos para tu seguridad, puedes <ph name="BEGIN_LINK" />visitar este sitio no seguro<ph name="END_LINK" /> antes de que se hayan eliminado los programas peligrosos.</translation>
 <translation id="3738166223076830879">Tu administrador gestiona el navegador.</translation>
 <translation id="3744899669254331632">No puedes visitar <ph name="SITE" /> en este momento porque el sitio web envió credenciales encriptadas que Chromium no puede procesar. Los ataques y errores de red generalmente son temporales, por lo que esta página probablemente funcionará de nuevo más tarde.</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index e81817d..593a770 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Comprobar el proxy, el cortafuegos y la configuración de DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Entre las aplicaciones que pueden provocar este error se incluyen software cortafuegos, antivirus, proxy y de filtrado web.</translation>
 <translation id="373042150751172459">B4 (sobre)</translation>
-<translation id="3731873414101415120">Sitios web que visitas y los contenidos de páginas no seguras</translation>
 <translation id="3736520371357197498">Si entiendes los riesgos para tu seguridad, puedes <ph name="BEGIN_LINK" />acceder a este sitio no seguro<ph name="END_LINK" /> antes de que se hayan eliminado los programas peligrosos.</translation>
 <translation id="3738166223076830879">Tu administrador gestiona el navegador.</translation>
 <translation id="3744899669254331632">No puedes acceder a <ph name="SITE" /> en este momento porque el sitio web ha enviado credenciales codificadas que Chromium no puede procesar. Los ataques y los errores de red suelen ser temporales, por lo que es probable que esta página funcione más tarde.</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb
index dba504d..fb9f31f 100644
--- a/components/strings/components_strings_et.xtb
+++ b/components/strings/components_strings_et.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Võta korrastamine tagasi</translation>
 <translation id="1125573121925420732">Sel ajal kui veebisaidid värskendavad turvafunktsioone, võite sageli hoiatusi näha. See olukord peaks varsti lahenema.</translation>
 <translation id="112840717907525620">Reegli vahemälu töötab probleemideta</translation>
+<translation id="1130564665089811311">Nupp Tõlgi leht, selle lehe tõlkimiseks rakendusega Google'i tõlge vajutage sisestusklahvi</translation>
 <translation id="1131264053432022307">Teie kopeeritud pilt</translation>
 <translation id="1150979032973867961">Server ei suutnud tõestada, et see on domeen <ph name="DOMAIN" />, arvuti operatsioonisüsteem ei usalda selle turvasertifikaati. Selle põhjuseks võib olla vale seadistus või ründaja, kes on sekkunud teie ühendusse.</translation>
 <translation id="1151972924205500581">Parool on nõutav</translation>
@@ -407,6 +408,7 @@
 <translation id="2634124572758952069">Hosti <ph name="HOST_NAME" /> serveri IP-aadressi ei leitud.</translation>
 <translation id="2639739919103226564">Olek:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, vajutage Chrome'i seadetes sirvimisajaloo, küpsisefailide ja muu kustutamiseks ning vahemälu tühjendamiseks tabulaatorit ja seejärel sisestusklahvi</translation>
 <translation id="2650446666397867134">Faili juurde ei saa pääseda</translation>
 <translation id="2653659639078652383">Esita</translation>
 <translation id="2660779039299703961">Sündmus</translation>
@@ -429,6 +431,7 @@
 <translation id="2705137772291741111">Selle saidi (vahemällu) salvestatud koopia oli loetamatu.</translation>
 <translation id="2709516037105925701">Automaatne täitmine</translation>
 <translation id="2713444072780614174">Valge</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, vajutage Chrome'i seadetes maksete ja krediitkaarditeabe haldamiseks tabulaatorit ning seejärel sisestusklahvi</translation>
 <translation id="2721148159707890343">Taotlus õnnestus</translation>
 <translation id="272451190272506600">Maksmiseks puudutage andurit</translation>
 <translation id="2728127805433021124">Serveri sertifikaat on allkirjastatud nõrga allkirjaalgoritmiga.</translation>
@@ -641,6 +644,7 @@
 <translation id="3630155396527302611">Kui see on juba loendis kui programm, millele on lubatud võrgujuurdepääs, proovige
       see loendist eemaldada ja siis uuesti lisada.</translation>
 <translation id="3631244953324577188">Biomeetria</translation>
+<translation id="3633738897356909127">Nupp Värskenda Chrome'i, vajutage Chrome'i seadetes Chrome'i värskendamiseks sisestusklahvi</translation>
 <translation id="3634530185120165534">Salv 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Valideerimine õnnestus</translation>
@@ -664,7 +668,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Kontrollige puhverserveri, tulemüüri ja DNS-i seadistust<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Selle vea võib põhjustada näiteks viirusetõrjetarkvara, tulemüür või veebi filtreerimise või puhverserveritarkvara.</translation>
 <translation id="373042150751172459">B4 (ümbrik)</translation>
-<translation id="3731873414101415120">Teie külastatavad veebisaidid ja ebaturvaliste lehtede sisu</translation>
 <translation id="3736520371357197498">Kui mõistate, kuidas teie turvalisust ohustatakse, siis võite <ph name="BEGIN_LINK" />seda ebaturvalist saiti külastada<ph name="END_LINK" /> enne, kui ohtlikud programmid on eemaldatud.</translation>
 <translation id="3738166223076830879">Teie brauserit haldab teie administraator.</translation>
 <translation id="3744899669254331632">Te ei saa saiti <ph name="SITE" /> praegu külastada, sest veebisait saatis tagasi arusaamatud mandaadid, mida Chromium ei saa töödelda. Võrguvead ja -rünnakud on tavaliselt ajutised, nii et leht tõenäoliselt hiljem töötab.</translation>
@@ -865,6 +868,7 @@
 <translation id="4506599922270137252">Võtke ühendust süsteemiadministraatoriga</translation>
 <translation id="450710068430902550">Administraatoriga jagamine</translation>
 <translation id="4508814173490746936">Touch ID-d ei saanud kasutada</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, vajutage selle lehe tõlkimiseks rakendusega Google'i tõlge tabulaatorit ja siis sisestusklahvi</translation>
 <translation id="4510487217173779431">Chou4 (ümbrik)</translation>
 <translation id="4515275063822566619">Kaardid ja aadressid pärinevad Chrome'ist ning teie Google'i kontolt (<ph name="ACCOUNT_EMAIL" />). Neid saate hallata menüüs <ph name="BEGIN_LINK" />Seaded<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (ümbrik)</translation>
@@ -945,6 +949,7 @@
 <translation id="4879725228911483934">Avada ja paigutada aknaid teie ekraanikuvadel</translation>
 <translation id="4880827082731008257">Otsi ajaloost</translation>
 <translation id="4881695831933465202">Ava</translation>
+<translation id="4889420713887366944">Nupp Ava inkognito aken, vajutage privaatse sirvimise jaoks uue inkognito akna avamiseks sisestusklahvi</translation>
 <translation id="4892518386797173871">Tagumine</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Salvesta …</translation>
@@ -1106,6 +1111,7 @@
 <translation id="5523118979700054094">Reegli nimi</translation>
 <translation id="55293785478302737">Servaõmblus</translation>
 <translation id="553484882784876924">Prc6 (ümbrik)</translation>
+<translation id="5535133333442455806">Nupp Kustuta sirvimisandmed, vajutage Chrome'i seadetes sirvimisajaloo, küpsisefailide ja muu kustutamiseks ning vahemälu tühjendamiseks sisestusklahvi</translation>
 <translation id="5536214594743852365">Kuva jaotis „<ph name="SECTION" />”</translation>
 <translation id="5539243836947087108">Alus</translation>
 <translation id="5540224163453853">Taotletud artiklit ei õnnestunud leida.</translation>
@@ -1605,6 +1611,7 @@
 <translation id="7600965453749440009">Ära kunagi tõlgi: <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">Väärtus on vahemikust (<ph name="VALUE" />) väljaspool.</translation>
 <translation id="7613889955535752492">Aegub: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, vajutage Chrome'i seadetes paroolide vaatamiseks ja haldamiseks tabulaatorit ning seejärel sisestusklahvi</translation>
 <translation id="7615602087246926389">Teil on juba andmed, mis on krüpteeritud Google'i konto parooli teise versiooniga. Sisestage see allpool.</translation>
 <translation id="7616645509853975347">Teie administraator lülitas teie brauseris sisse teenuse Chrome Enterprise Connectors. Nendel liidestel on juurdepääs osadele teie andmetele.</translation>
 <translation id="7619838219691048931">Viimane leht</translation>
@@ -1861,6 +1868,8 @@
 <translation id="8725066075913043281">Proovi uuesti</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> on saidi <ph name="ORIGIN" /> puhul teie kood</translation>
@@ -1877,6 +1886,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> lülitas teie brauseris sisse teenuse Chrome Enterprise Connectors. Nendel liidestel on juurdepääs osadele teie andmetele.</translation>
 <translation id="8805819170075074995">Loendikirje „<ph name="LANGUAGE_ID" />”: kirjet eiratakse, kuna seda hõlmab ka reegel SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Kärbi pärast iga lehte</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, vajutage Chrome'i seadetes Chrome'i värskendamiseks tabulaatorit ja seejärel sisestusklahvi</translation>
 <translation id="8820817407110198400">Järjehoidjad</translation>
 <translation id="883848425547221593">Muud järjehoidjad</translation>
 <translation id="884264119367021077">Tarneaadress</translation>
@@ -1896,6 +1906,7 @@
 <translation id="890493561996401738">Soovituse eemaldamise nupp, vajutage eemaldamiseks sisestusklahvi, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Olete inkognito režiimis</translation>
 <translation id="8912362522468806198">Google'i konto</translation>
+<translation id="8913778647360618320">Nupp Makseviiside haldamine, vajutage Chrome'i seadetes maksete ja krediitkaarditeabe haldamiseks sisestusklahvi</translation>
 <translation id="8918231688545606538">See leht on kahtlane</translation>
 <translation id="892588693504540538">Auk ülal paremal</translation>
 <translation id="8931333241327730545">Kas soovite selle kaardi salvestada oma Google'i kontole?</translation>
diff --git a/components/strings/components_strings_eu.xtb b/components/strings/components_strings_eu.xtb
index 7807312..da7f6e7d 100644
--- a/components/strings/components_strings_eu.xtb
+++ b/components/strings/components_strings_eu.xtb
@@ -655,7 +655,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Proxya, suebakia eta DNS konfigurazioa egiaztatu<ph name="END_LINK" />.</translation>
 <translation id="372429172604983730">Hona hemen errore hau sor dezaketen software motak: antibirusak, suebakiak, web-iragazkiak edo proxy-softwarea.</translation>
 <translation id="373042150751172459">B4 (gutun-azala)</translation>
-<translation id="3731873414101415120">Ikusi dituzun webguneak eta seguruak ez diren orrien edukia</translation>
 <translation id="3736520371357197498">Segurtasunari eragiten dioten arriskuak ulertzen badituzu, beharbada <ph name="BEGIN_LINK" />webgune ez-seguru hau bisitatu<ph name="END_LINK" /> nahi izango duzu programa arriskutsuak kendu aurretik.</translation>
 <translation id="3738166223076830879">Administratzaileak kudeatzen du arakatzailea.</translation>
 <translation id="3744899669254331632">Une honetan ezin duzu <ph name="SITE" /> bisitatu, webguneak Chromium-ek prozesatu ezin dituen kredentzial nahasiak bidali baititu. Sareko erroreak eta erasoak aldi baterako izan ohi dira eta, beraz, segur aski orriak geroago funtzionatuko du.</translation>
@@ -1808,6 +1807,7 @@
 <translation id="8498891568109133222"><ph name="HOST_NAME" /> webguneak ez du garaiz erantzun.</translation>
 <translation id="8503559462189395349">Chrome-ko pasahitzak</translation>
 <translation id="8503813439785031346">Erabiltzaile-izena</translation>
+<translation id="8507227106804027148">Agindu-lerroa</translation>
 <translation id="8508648098325802031">Bilaketa-ikonoa</translation>
 <translation id="8522552481199248698">Google-ko kontua babesten eta pasahitza aldatzen lagun diezazuke Chrome-k.</translation>
 <translation id="8530813470445476232">Garbitu arakatze-historia, cookieak, cachea eta beste Chrome-ren ezarpenetan</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb
index 7f20e2c..04a7c54 100644
--- a/components/strings/components_strings_fa.xtb
+++ b/components/strings/components_strings_fa.xtb
@@ -663,7 +663,6 @@
 <translation id="3717027428350673159">‏<ph name="BEGIN_LINK" />بررسی پروکسی، دیوار آتش و پیکربندی DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">برنامه‌هایی که می‌توانند موجب این خطا شوند شامل ضدویروس‌ها، دیوار آتش و نرم‌افزار فیلتر کردن وب یا پراکسی هستند.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">وب‌سایت‌هایی که از آن‌ها بازدید می‌کنید و محتوای صفحه‌های ناامن</translation>
 <translation id="3736520371357197498">اگر خطرات امنیتی که متوجه شما هستند را درک می‌کنید، می‌توانید قبل از حذف شدن برنامه‌های خطرناک از <ph name="BEGIN_LINK" />این سایت غیرایمن بازدید کنید<ph name="END_LINK" />.</translation>
 <translation id="3738166223076830879">سرپرست شما مرورگرتان را مدیریت می‌کند.</translation>
 <translation id="3744899669254331632">‏نمی‌توانید اکنون از <ph name="SITE" /> دیدن کنید زیرا وب‌سایت اعتبارنامه‌های درهمی ارسال کرده که Chromium نمی‌تواند پردازش کند. خطاها و حمله‌های شبکه معمولاً موقتی هستند، بنابراین احتمالاً این صفحه بعداً کار می‌کند.</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb
index 3105da6..18b2bb4 100644
--- a/components/strings/components_strings_fi.xtb
+++ b/components/strings/components_strings_fi.xtb
@@ -666,7 +666,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Tarkista välityspalvelimen, palomuurin ja nimipalvelun määritykset<ph name="END_LINK" />.</translation>
 <translation id="372429172604983730">Tätä virhettä voivat aiheuttaa esimerkiksi virustorjuntaohjelmat, palomuurit ja verkon suodatus- tai välityspalvelinohjelmistot.</translation>
 <translation id="373042150751172459">B4 (kirjekuori)</translation>
-<translation id="3731873414101415120">Avaamasi verkkosivustot ja vaarallisten sivujen sisältö</translation>
 <translation id="3736520371357197498">Jos ymmärrät käyntiä koskevat turvallisuusriskit, voit <ph name="BEGIN_LINK" />siirtyä vaarantuneeseen sivustoon<ph name="END_LINK" /> jo ennen haitallisten ohjelmien poistamista.</translation>
 <translation id="3738166223076830879">Järjestelmänvalvoja ylläpitää selaintasi.</translation>
 <translation id="3744899669254331632">Et voi siirtyä sivustoon <ph name="SITE" /> tällä hetkellä, koska sivusto lähetti salatut kirjautumistiedot, joita Chromium ei osaa käsitellä. Verkkovirheet ja hyökkäykset ovat yleensä väliaikaisia, joten sivu toimii luultavasti myöhemmin.</translation>
diff --git a/components/strings/components_strings_fil.xtb b/components/strings/components_strings_fil.xtb
index d8bea81..e99a809 100644
--- a/components/strings/components_strings_fil.xtb
+++ b/components/strings/components_strings_fil.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Suriin ang configuration ng proxy, firewall at DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Kabilang ang antivirus, firewall, at pag-filter ng web o proxy na software sa mga application na maaaring magsanhi ng ganitong error.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Mga website na binibisita mo at ang mga content ng mga hindi secure na page</translation>
 <translation id="3736520371357197498">Kung nauunawaan mo ang mga peligro sa iyong seguridad, maaari mong <ph name="BEGIN_LINK" />bisitahin ang hindi ligtas na site na ito<ph name="END_LINK" /> bago maalis ang mga mapanganib na program.</translation>
 <translation id="3738166223076830879">Pinapamahalaan ng iyong administrator ang browser mo.</translation>
 <translation id="3744899669254331632">Hindi mo maaaring bisitahin ang <ph name="SITE" /> sa ngayon dahil nagpadala ang website ng mga pinaghalong kredensyal na hindi maproseso ng Chromium. Karaniwang pansamantala ang mga error at pag-atake sa network, kaya malamang na gagana ang page na ito sa ibang pagkakataon.</translation>
@@ -1382,7 +1381,7 @@
 <translation id="6687335167692595844">Hiniling na laki ng font</translation>
 <translation id="6689249931105087298">Kaugnay sa black point compression</translation>
 <translation id="6689271823431384964">Nag-aalok ang Chrome na i-save ang iyong mga card sa Google Account mo dahil naka-sign in ka. Puwede mong baguhin ang gawing ito sa mga setting. Mula sa iyong account ang pangalan ng cardholder.</translation>
-<translation id="6710213216561001401">Nakaraan</translation>
+<translation id="6710213216561001401">Nauna</translation>
 <translation id="6710594484020273272">&lt;I-type ang termino para sa paghahanap&gt;</translation>
 <translation id="671076103358959139">Token sa Pag-enroll</translation>
 <translation id="6711464428925977395">May problema sa proxy server, o mali ang address.</translation>
diff --git a/components/strings/components_strings_fr-CA.xtb b/components/strings/components_strings_fr-CA.xtb
index 469712f..c35400b 100644
--- a/components/strings/components_strings_fr-CA.xtb
+++ b/components/strings/components_strings_fr-CA.xtb
@@ -659,7 +659,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />De vérifier la configuration du mandataire, du pare-feu et du DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Voici des applications qui peuvent provoquer cette erreur : un logiciel antivirus, un logiciel de pare-feu, ou un logiciel de filtrage Web ou de mandataire.</translation>
 <translation id="373042150751172459">Enveloppe B4</translation>
-<translation id="3731873414101415120">Les sites Web que vous visitez et le contenu des pages non sécurisées</translation>
 <translation id="3736520371357197498">Si vous comprenez les risques pour votre sécurité, vous pouvez <ph name="BEGIN_LINK" />visiter ce site dangereux<ph name="END_LINK" /> avant que les programmes dangereux aient été supprimés.</translation>
 <translation id="3738166223076830879">Votre navigateur est géré par votre administrateur.</translation>
 <translation id="3744899669254331632">Vous ne pas présentement consulter le site <ph name="SITE" />, car il a renvoyé des authentifiants brouillés que Chromium ne peut pas traiter. Les erreurs et attaques réseau étant généralement temporaires, cette page sera peut-être à nouveau accessible plus tard.</translation>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb
index fc5e230..49f1356a 100644
--- a/components/strings/components_strings_fr.xtb
+++ b/components/strings/components_strings_fr.xtb
@@ -663,7 +663,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Vérifier les configurations du proxy, du pare-feu et du DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Les antivirus, les pare-feu et les logiciels de filtrage Web ou de proxy font partie des applications qui peuvent être à l'origine du problème.</translation>
 <translation id="373042150751172459">B4 (enveloppe)</translation>
-<translation id="3731873414101415120">Sites Web consultés et contenus des pages non sécurisées</translation>
 <translation id="3736520371357197498">Si vous avez compris les risques auxquels vous vous exposez, vous pouvez <ph name="BEGIN_LINK" />consulter ce site dangereux<ph name="END_LINK" /> avant que les programmes malveillants n'aient été supprimés.</translation>
 <translation id="3738166223076830879">Votre navigateur est géré par votre administrateur.</translation>
 <translation id="3744899669254331632"><ph name="SITE" /> est actuellement inaccessible. Le site Web a envoyé des identifiants brouillés inutilisables par Chromium. Les erreurs de réseau et les attaques étant généralement temporaires, cette page devrait à nouveau fonctionner ultérieurement.</translation>
diff --git a/components/strings/components_strings_gl.xtb b/components/strings/components_strings_gl.xtb
index 5eb57777..41db249 100644
--- a/components/strings/components_strings_gl.xtb
+++ b/components/strings/components_strings_gl.xtb
@@ -662,7 +662,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Comprobar o proxy, o firewall e a configuración de DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Entre as aplicacións que poden provocar este erro inclúense o software de filtrado web ou proxy, o antivirus e o firewall.</translation>
 <translation id="373042150751172459">B4 (sobre)</translation>
-<translation id="3731873414101415120">Os sitios web que visitas e o contido de páxinas que non son seguras</translation>
 <translation id="3736520371357197498">Se aceptas os riscos para a túa seguranza, podes <ph name="BEGIN_LINK" />visitar este sitio non seguro<ph name="END_LINK" /> antes de que se eliminen os programas perigosos.</translation>
 <translation id="3738166223076830879">O teu administrador xestiona o teu navegador.</translation>
 <translation id="3744899669254331632">Non se pode visitar <ph name="SITE" /> nestes momentos porque o sitio web enviou credenciais codificadas que Chromium non pode procesar. Os erros e ataques da rede normalmente son temporais, polo que é probable que esta páxina funcione máis tarde.</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb
index e6f2b3a..30661a0a 100644
--- a/components/strings/components_strings_gu.xtb
+++ b/components/strings/components_strings_gu.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />પ્રૉક્સી, ફાયરવૉલ અને DNS ગોઠવણી ચેક કરવાનો પ્રયાસ કરો<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">જે ઍપ્લિકેશનોને કારણે આ ભૂલ થઈ શકે છે તેમાં ઍન્ટિવાયરસ, ફાયરવૉલ અને વેબ-ફિલ્ટરિંગ અથવા પ્રૉક્સી સૉફ્ટવેરનો સમાવેશ થાય છે.</translation>
 <translation id="373042150751172459">B4 (એન્વલપ)</translation>
-<translation id="3731873414101415120">તમે મુલાકાત લો છો તે વેબસાઇટ અને અસુરક્ષિત પેજ પરનાં કન્ટેન્ટ</translation>
 <translation id="3736520371357197498">જો તમે તમારી સુરક્ષાના જોખમોને સમજો છો, તો તમે જોખમી પ્રોગ્રામ્સ દૂર કરી દેવામાં આવે તે પહેલાં <ph name="BEGIN_LINK" />આ અસલામત સાઇટની મુલાકાત<ph name="END_LINK" /> લઈ શકો છો.</translation>
 <translation id="3738166223076830879">તમારા વ્યવસ્થાપક દ્વારા તમારું બ્રાઉઝર મેનેજ કરવામાં આવે છે.</translation>
 <translation id="3744899669254331632">તમે અત્યારે <ph name="SITE" /> ની મુલાકાત લઈ શકતા નથી કારણ કે વેબસાઇટે સ્ક્રૅમ્બલ કરેલ ઓળખાણપત્રો મોકલ્યાં છે જેના પર Chromium પ્રક્રિયા કરી શકતું નથી. નેટવર્ક ભૂલો અને હુમલાઓ સામાન્ય રીતે અસ્થાયી હોય છે, તેથી આ પૃષ્ઠ સંભવતઃ પછીથી કાર્ય કરશે.</translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb
index 208beeb..40e6df9 100644
--- a/components/strings/components_strings_hi.xtb
+++ b/components/strings/components_strings_hi.xtb
@@ -662,7 +662,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />प्रॉक्सी, फायरवॉल और डीएनएस कॉन्फ़िगरेशन की जाँच करें<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">जिन ऐप्लिकेशन की वजह से यह गड़बड़ी हो सकती है उनमें एंटीवायरस, फ़ायरवॉल और वेब-फ़िल्टरिंग या प्रॉक्सी सॉफ़्टवेयर शामिल हैं.</translation>
 <translation id="373042150751172459">बी4 (एन्वेलप)</translation>
-<translation id="3731873414101415120">एडमिन यह देख सकता है कि आप किन वेबसाइटों पर जाते हैं. साथ ही, उन पेजों को भी देख सकता है जिनकी सामग्री सुरक्षित नहीं है</translation>
 <translation id="3736520371357197498">अगर आप अपनी सुरक्षा संबंधी जोखिमों को समझते हैं तो, खतरनाक प्रोग्राम हटाए जाने से पहले आप <ph name="BEGIN_LINK" />इस असुरक्षित साइट पर विज़िट<ph name="END_LINK" /> कर सकते हैं.</translation>
 <translation id="3738166223076830879">आपका एडमिन आपके ब्राउज़र को प्रबंधित करता है.</translation>
 <translation id="3744899669254331632">आप इस समय <ph name="SITE" /> पर नहीं जा सकते क्‍योंकि वेबसाइट ने ऐसे अव्‍यवस्‍थित क्रेडेंशियल भेजे थे जिन्‍हें क्रोमियम प्रोसेस नहीं कर सकता. नेटवर्क की गड़बड़ी और हमले आमतौर पर कुछ समय के लिए होते हैं, इसलिए हो सकता है कि यह पेज बाद में काम करेगा.</translation>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb
index 9682e2d..b740fff 100644
--- a/components/strings/components_strings_hr.xtb
+++ b/components/strings/components_strings_hr.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Poništi promjenu rasporeda</translation>
 <translation id="1125573121925420732">Upozorenja mogu biti uobičajena dok web-lokacije ažuriraju sigurnost. To bi se uskoro trebalo poboljšati.</translation>
 <translation id="112840717907525620">Predmemorija pravila ispravna je</translation>
+<translation id="1130564665089811311">Gumb Prevedi stranicu, pritisnite Enter da biste preveli ovu stranicu s Google prevoditeljem</translation>
 <translation id="1131264053432022307">Slika koju ste kopirali</translation>
 <translation id="1150979032973867961">Poslužitelj nije mogao dokazati da je <ph name="DOMAIN" />; operativni sustav vašeg računala smatra da njegov sigurnosni certifikat nije pouzdan. To može biti uzrokovano pogrešnom konfiguracijom ili napadom na vašu vezu.</translation>
 <translation id="1151972924205500581">Potrebna je zaporka</translation>
@@ -408,6 +409,7 @@
 <translation id="2634124572758952069">IP adresa poslužitelja hosta <ph name="HOST_NAME" /> nije pronađena.</translation>
 <translation id="2639739919103226564">Status:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste izbrisali povijest pregledavanja, kolačiće, predmemoriju i još mnogo toga u postavkama Chromea</translation>
 <translation id="2650446666397867134">Pristup datoteci nije dopušten</translation>
 <translation id="2653659639078652383">Pošalji</translation>
 <translation id="2660779039299703961">Događaj</translation>
@@ -430,6 +432,7 @@
 <translation id="2705137772291741111">Spremljena (predmemorirana) kopija web-lokacije nije čitljiva.</translation>
 <translation id="2709516037105925701">Automatsko popunjavanje</translation>
 <translation id="2713444072780614174">Bijela</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste upravljali podacima o plaćanju i kreditnoj kartici u postavkama Chromea</translation>
 <translation id="2721148159707890343">Zahtjev je uspio</translation>
 <translation id="272451190272506600">Dodirnite senzor za plaćanje</translation>
 <translation id="2728127805433021124">Certifikat poslužitelja potpisan je slabim algoritmom potpisa.</translation>
@@ -641,6 +644,7 @@
 <translation id="362276910939193118">Pokaži cijelu povijest</translation>
 <translation id="3630155396527302611">Ako je već navedena kao program koji smije pristupiti mreži, pokušajte je ukloniti s popisa pa je ponovo dodati.</translation>
 <translation id="3631244953324577188">Biometrijski podaci</translation>
+<translation id="3633738897356909127">Gumb Ažuriranje Chromea, pritisnite Enter da biste ažurirali Chrome u postavkama Chromea</translation>
 <translation id="3634530185120165534">Ladica 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Valjanost je uspješna</translation>
@@ -664,7 +668,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />provjerite proxy, vatrozid i konfiguraciju DNS-a<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Aplikacije koje mogu prouzročiti tu pogrešku uključuju antivirusni softver, softver vatrozida ili proxyja ili softver za filtriranje weba.</translation>
 <translation id="373042150751172459">B4 (omotnica)</translation>
-<translation id="3731873414101415120">Web-lokacije koje posjećujete i sadržaj stranica koje nisu sigurne</translation>
 <translation id="3736520371357197498">Ako ste svjesni sigurnosnih rizika, možete <ph name="BEGIN_LINK" />posjetiti tu nesigurnu web-lokaciju<ph name="END_LINK" /> prije uklanjanja opasnih programa.</translation>
 <translation id="3738166223076830879">Vašim preglednikom upravlja vaš administrator.</translation>
 <translation id="3744899669254331632">Trenutačno ne možete otvoriti <ph name="SITE" /> jer je web-lokacija poslala šifrirane vjerodajnice koje Chromium ne može obraditi. Mrežne pogreške i napadi obično su privremeni, tako da će stranica kasnije vjerojatno funkcionirati.</translation>
@@ -866,6 +869,7 @@
 <translation id="4506599922270137252">kontaktirajte administratora sustava</translation>
 <translation id="450710068430902550">Dijeljenje s administratorom</translation>
 <translation id="4508814173490746936">Upotreba Touch ID-ja nije uspjela</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste preveli ovu stranicu uz pomoć Google prevoditelja</translation>
 <translation id="4510487217173779431">Chou4 (omotnica)</translation>
 <translation id="4515275063822566619">Kartice i adrese dolaze iz Cromea i vašeg Google računa (<ph name="ACCOUNT_EMAIL" />). Njima možete upravljati u <ph name="BEGIN_LINK" />Postavkama<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (omotnica)</translation>
@@ -946,6 +950,7 @@
 <translation id="4879725228911483934">otvarati i postavljati prozore na vašim zaslonima</translation>
 <translation id="4880827082731008257">Pretraži povijest</translation>
 <translation id="4881695831933465202">Otvori</translation>
+<translation id="4889420713887366944">Gumb Otvori anonimni prozor, pritisnite Enter da biste otvorili novi anonimni prozor za pregledavanje u privatnosti</translation>
 <translation id="4892518386797173871">Stražnji</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Spremi...</translation>
@@ -1107,6 +1112,7 @@
 <translation id="5523118979700054094">Naziv pravila</translation>
 <translation id="55293785478302737">Rubni šav</translation>
 <translation id="553484882784876924">Prc6 (omotnica)</translation>
+<translation id="5535133333442455806">Gumb Izbriši podatke o pregledavanju, pritisnite Enter da biste izbrisali povijest pregledavanja, kolačiće, predmemoriju i još mnogo toga u postavkama Chromea</translation>
 <translation id="5536214594743852365">Prikaži odjeljak "<ph name="SECTION" />"</translation>
 <translation id="5539243836947087108">Podloga</translation>
 <translation id="5540224163453853">Traženi članak nije pronađen.</translation>
@@ -1606,6 +1612,7 @@
 <translation id="7600965453749440009">Nikad ne prevodi <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">Vrijednost je izvan raspona <ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Istječe: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste vidjeli zaporke u postavkama Chromea i upravljali njima</translation>
 <translation id="7615602087246926389">Već imate podatke koji su kriptirani pomoću druge verzije zaporke vašeg Google računa. Unesite je u nastavku.</translation>
 <translation id="7616645509853975347">Vaš administrator uključio je poveznike za Chrome za poduzeća u vašem pregledniku. Ti poveznici imaju pristup nekim vašim podacima.</translation>
 <translation id="7619838219691048931">Zadnji list</translation>
@@ -1863,6 +1870,8 @@
 <translation id="8725066075913043281">Pokušajte ponovo</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> je vaš kôd za <ph name="ORIGIN" /></translation>
@@ -1879,6 +1888,7 @@
 <translation id="8793655568873652685">Domena <ph name="ENROLLMENT_DOMAIN" /> uključila je poveznike za Chrome za poduzeća u vašem pregledniku. Ti poveznici imaju pristup nekim vašim podacima.</translation>
 <translation id="8805819170075074995">Unos na popisu "<ph name="LANGUAGE_ID" />": unos je zanemaren jer je uključen i u pravilu SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Obreži nakon svake stranice</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste ažurirali Chrome iz postavki Chromea</translation>
 <translation id="8820817407110198400">Knjižne oznake</translation>
 <translation id="883848425547221593">Druge oznake</translation>
 <translation id="884264119367021077">Adresa za dostavu</translation>
@@ -1898,6 +1908,7 @@
 <translation id="890493561996401738">Gumb za uklanjanje prijedloga, pritisnite Enter za uklanjanje <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Sada ste u anonimnom načinu</translation>
 <translation id="8912362522468806198">Google Račun</translation>
+<translation id="8913778647360618320">Gumb Upravljajte načinima plaćanja, pritisnite Enter da biste upravljali podacima o plaćanju i kreditnoj kartici u postavkama Chromea</translation>
 <translation id="8918231688545606538">Stranica je sumnjiva</translation>
 <translation id="892588693504540538">Bušenje pri vrhu desno</translation>
 <translation id="8931333241327730545">Želite li spremiti tu karticu na Google račun?</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb
index fe65b8f..a3f244a 100644
--- a/components/strings/components_strings_hu.xtb
+++ b/components/strings/components_strings_hu.xtb
@@ -661,7 +661,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />A proxy, a tűzfal és a DNS-konfiguráció ellenőrzése<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">A hibát okozó alkalmazás lehet tűzfal, illetve víruskereső, webszűrő vagy proxyszoftver.</translation>
 <translation id="373042150751172459">B4 (boríték)</translation>
-<translation id="3731873414101415120">A felkeresett webhelyek és a nem biztonságos oldalak tartalma</translation>
 <translation id="3736520371357197498">Ha tisztában van a biztonságát fenyegető kockázatokkal, a veszélyes programok eltávolítása előtt is <ph name="BEGIN_LINK" />felkeresheti a nem biztonságos webhelyet<ph name="END_LINK" />.</translation>
 <translation id="3738166223076830879">Böngészőjét a rendszergazdája kezeli.</translation>
 <translation id="3744899669254331632">Most nem keresheti fel a(z) <ph name="SITE" /> webhelyet, mert az zavaros, a Chromium által nem feldolgozható hitelesítő adatokat küldött. A hálózati hibák és támadások általában ideiglenesek, úgyhogy az oldal később valószínűleg megfelelően fog működni.</translation>
diff --git a/components/strings/components_strings_hy.xtb b/components/strings/components_strings_hy.xtb
index ec2f0ce..d4f5d154 100644
--- a/components/strings/components_strings_hy.xtb
+++ b/components/strings/components_strings_hy.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Ստուգել պրոքսի-սերվերի, հրապատի և DNS-ի կազմաձևումը<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Սխալի պատճառ կարող է լինել հակավիրուսային ծրագիրը, հրապատը, վեբ բովանդակության զտման կամ միջնորդ սերվերի ծրագրերը:</translation>
 <translation id="373042150751172459">B4 (ծրար)</translation>
-<translation id="3731873414101415120">Ձեր այցելած կայքերը և չպաշտպանված էջերի բովանդակությունը</translation>
 <translation id="3736520371357197498">Եթե դուք հասկանում եք ձեզ սպառնացող վտանգը, ապա կարող եք նախքան վտանգավոր ծրագրերի հեռացնելը <ph name="BEGIN_LINK" />այցելել այս ոչ ապահով կայքը<ph name="END_LINK" />:</translation>
 <translation id="3738166223076830879">Ձեր դիտարկիչը կառավարվում է ադմինիստրատորի կողմից։</translation>
 <translation id="3744899669254331632">Դուք չեք կարող այցելել <ph name="SITE" /> հենց հիմա, քանի որ կայքն ուղարկել է գաղտնագրված հավատարմագրեր, որոնք Chromium-ը չի կարող մշակել: Ցանցային սխալներն ու հարձակումները սովորաբար ժամանակավոր են, այնպես որ այս էջը, հավանաբար, կաշխատի ավելի ուշ:</translation>
diff --git a/components/strings/components_strings_id.xtb b/components/strings/components_strings_id.xtb
index ce217c3..6991847 100644
--- a/components/strings/components_strings_id.xtb
+++ b/components/strings/components_strings_id.xtb
@@ -660,7 +660,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Periksa proxy, firewall, dan konfigurasi DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Aplikasi yang dapat menyebabkan error ini mencakup antivirus, firewall, dan software proxy atau pemfilteran web.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Situs yang Anda kunjungi dan konten dari halaman yang tidak aman</translation>
 <translation id="3736520371357197498">Jika Anda memahami risiko terhadap keamanan, Anda dapat <ph name="BEGIN_LINK" />mengunjungi situs tidak aman ini<ph name="END_LINK" /> sebelum program berbahaya tersebut dibuang.</translation>
 <translation id="3738166223076830879">Browser dikelola oleh administrator Anda.</translation>
 <translation id="3744899669254331632">Anda tidak dapat mengunjungi <ph name="SITE" /> sekarang karena situs web mengirim kredensial tak beraturan yang tidak dapat diproses Chromium. Kesalahan jaringan dan serangan biasanya bersifat sementara, sehingga halaman ini mungkin akan bekerja nanti.</translation>
@@ -1451,7 +1450,7 @@
 <translation id="7081308185095828845">Fitur ini tidak tersedia di perangkat Anda</translation>
 <translation id="7083258188081898530">Baki 9</translation>
 <translation id="7086090958708083563">Upload yang diminta oleh pengguna</translation>
-<translation id="7087282848513945231">Wilayah</translation>
+<translation id="7087282848513945231">County</translation>
 <translation id="7108338896283013870">Sembunyikan</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> ingin menggunakan kamera Anda</translation>
 <translation id="7108819624672055576">Diizinkan oleh ekstensi</translation>
diff --git a/components/strings/components_strings_is.xtb b/components/strings/components_strings_is.xtb
index 3d670f5..08a7d0c9 100644
--- a/components/strings/components_strings_is.xtb
+++ b/components/strings/components_strings_is.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">Aft&amp;urkalla nýja röðun</translation>
 <translation id="1125573121925420732">Viðvaranir geta verið tíðar á meðan vefsvæði uppfæra öryggisvarnir sínar. Þetta ætti að lagast fljótlega.</translation>
 <translation id="112840717907525620">Skyndiminni reglu í lagi</translation>
+<translation id="1130564665089811311">Hnappurinn Þýða síðu, ýttu á Enter til að þýða þessa síðu með Google Translate</translation>
 <translation id="1131264053432022307">Myndir sem þú afritaðir</translation>
 <translation id="1150979032973867961">Þessi þjónn gat ekki sannað að hann væri <ph name="DOMAIN" />; stýrikerfi tölvunnar treystir ekki öryggisvottorðinu hans. Þetta kann að orsakast af vanstillingu eða tölvuþrjóti sem komist hefur inn í tenginguna.</translation>
 <translation id="1151972924205500581">Aðgangsorðs krafist</translation>
@@ -409,6 +410,7 @@
 <translation id="2634124572758952069">IP-tala þjóns <ph name="HOST_NAME" /> fannst ekki.</translation>
 <translation id="2639739919103226564">Staða:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, ýttu á Tab og svo Enter til að hreinsa vafraferil, fótspor, skyndiminni og fleira í stillingum Chrome</translation>
 <translation id="2650446666397867134">Aðgangi að skránni var hafnað</translation>
 <translation id="2653659639078652383">Senda</translation>
 <translation id="2660779039299703961">Tilvik</translation>
@@ -431,6 +433,7 @@
 <translation id="2705137772291741111">Ekki var hægt að lesa vistuð afrit (í skyndiminni) af þessu vefsvæði.</translation>
 <translation id="2709516037105925701">Sjálfvirk útfylling</translation>
 <translation id="2713444072780614174">Hvítur</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, ýttu á Tab og svo Enter til að stjórna greiðslu- og kreditkortaupplýsingum í stillingum Chrome</translation>
 <translation id="2721148159707890343">Beiðni tókst</translation>
 <translation id="272451190272506600">Snertu skynjarann til að greiða</translation>
 <translation id="2728127805433021124">Vottorð þjónsins er undirritað með ótraustu undirritunarreikniriti.</translation>
@@ -643,6 +646,7 @@
 <translation id="3630155396527302611">Ef síðan er þegar skráð sem forrit sem hefur aðgang að netinu skaltu prófa
       að taka hana af listanum og bæta henni svo við aftur.</translation>
 <translation id="3631244953324577188">Lífkenni</translation>
+<translation id="3633738897356909127">Hnappurinn Uppfæra Chrome, ýttu á Enter til að uppfæra Chrome úr stillingum Chrome</translation>
 <translation id="3634530185120165534">Bakki 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Sannvottun heppnaðist</translation>
@@ -666,7 +670,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Athuga staðgengilsþjóninn, eldvegginn og DNS-stillingarnar<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Forrit sem geta valdið þessari villu eru meðal annars vírusvarnir, eldveggir og hugbúnaður fyrir netsíur eða staðgengilsþjóna.</translation>
 <translation id="373042150751172459">B4 (umslag)</translation>
-<translation id="3731873414101415120">Vefsvæði sem þú heimsækir og efni síðna sem ekki eru öruggar</translation>
 <translation id="3736520371357197498">Ef þú skilur öryggisáhættuna sem það hefur í för með sér geturðu <ph name="BEGIN_LINK" />heimsótt þetta óörugga vefsvæði<ph name="END_LINK" /> áður en skaðlegu forritin hafa verið fjarlægð.</translation>
 <translation id="3738166223076830879">Vafranum er stjórnað af kerfisstjóranum þínum.</translation>
 <translation id="3744899669254331632">Þú getur ekki heimsótt <ph name="SITE" /> í augnablikinu vegna þess að vefsvæðið sendi dulkóðuð skilríki sem Chromium getur ekki unnið úr. Netkerfisvillur og árásir ganga yfirleitt fljótt yfir svo síðan mun líklega virka aftur síðar.</translation>
@@ -867,6 +870,7 @@
 <translation id="4506599922270137252">Hafa samband við kerfisstjórann</translation>
 <translation id="450710068430902550">Deilir með kerfisstjóra.</translation>
 <translation id="4508814173490746936">Ekki var hægt að nota Touch ID</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, ýttu á Tab og svo Enter til að þýða þessa síðu með Google Translate</translation>
 <translation id="4510487217173779431">Chou4 (umslag)</translation>
 <translation id="4515275063822566619">Kort og heimilisföng eru fengin úr Chrome og Google reikningnum þínum (<ph name="ACCOUNT_EMAIL" />). Þú getur haft umsjón með þeim í <ph name="BEGIN_LINK" />stillingunum<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (umslag)</translation>
@@ -947,6 +951,7 @@
 <translation id="4879725228911483934">Opna og setja glugga á skjáinn</translation>
 <translation id="4880827082731008257">Leitarferill</translation>
 <translation id="4881695831933465202">Opna</translation>
+<translation id="4889420713887366944">Hnappurinn Opna huliðsglugga, ýttu á Enter til að opna nýjan huliðsglugga og fara huldu höfði</translation>
 <translation id="4892518386797173871">Aftari</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Vista...</translation>
@@ -1108,6 +1113,7 @@
 <translation id="5523118979700054094">Heiti reglu</translation>
 <translation id="55293785478302737">Saumur</translation>
 <translation id="553484882784876924">Prc6 (umslag)</translation>
+<translation id="5535133333442455806">Hnappurinn Hreinsa vefskoðunargögn, ýttu á Enter til að hreinsa vefskoðunargögn, fótspor, skyndiminni og fleira í stillingum Chrome</translation>
 <translation id="5536214594743852365">Sýna hlutann „<ph name="SECTION" />“</translation>
 <translation id="5539243836947087108">Undirstaða</translation>
 <translation id="5540224163453853">Umbeðin grein fannst ekki.</translation>
@@ -1607,6 +1613,7 @@
 <translation id="7600965453749440009">Þýða aldrei <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">Gildið er utan sviðs <ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Rennur út: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, ýttu á Tab og svo Enter til að skoða og stjórna aðgangsorðunum þínum í stillingum Chrome</translation>
 <translation id="7615602087246926389">Þú ert nú þegar með gögn sem eru dulkóðuð með annarri útgáfu af aðgangsorði Google reikningsins þíns. Sláðu það inn hér fyrir neðan.</translation>
 <translation id="7616645509853975347">Kerfisstjórinn þinn hefur kveikt á Chrome Enterprise Connectors í vafranum þínum. Þessi tengi hafa aðgang að sumum af gögnunum þínum.</translation>
 <translation id="7619838219691048931">Síðasta blað</translation>
@@ -1863,6 +1870,8 @@
 <translation id="8725066075913043281">Reyna aftur</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> er kóðinn þinn fyrir <ph name="ORIGIN" /></translation>
@@ -1879,6 +1888,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> kveikti á Chrome Enterprise Connectors í vafranum. Þessi tengi hafa aðgang að sumum af gögnunum þínum.</translation>
 <translation id="8805819170075074995">Listafærslan „<ph name="LANGUAGE_ID" />“: Færslan er hunsuð því hún kemur einnig fram í reglunni „SpellcheckLanguage“.</translation>
 <translation id="8807160976559152894">Klippa eftir hverja síðu</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, ýttu á Tab og svo Enter til að uppfæra Chrome úr stillingum Chrome</translation>
 <translation id="8820817407110198400">Bókamerki</translation>
 <translation id="883848425547221593">Önnur bókamerki</translation>
 <translation id="884264119367021077">Sendingarheimilisfang</translation>
@@ -1898,6 +1908,7 @@
 <translation id="890493561996401738">Hnappur til að fjarlægja tillögu, ýttu á færslulykilinn til að fjarlægja, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Þú ferð nú huldu höfði</translation>
 <translation id="8912362522468806198">Google reikningur</translation>
+<translation id="8913778647360618320">Hnappurinn Stjórna greiðslumátum, ýttu á Enter til að stjórna greiðslu- og kreditkortaupplýsingum í stillingum Chrome</translation>
 <translation id="8918231688545606538">Þessi síða er grunsamleg</translation>
 <translation id="892588693504540538">Gatað efst til hægri</translation>
 <translation id="8931333241327730545">Viltu vista þetta kort á Google reikningnum þínum?</translation>
diff --git a/components/strings/components_strings_it.xtb b/components/strings/components_strings_it.xtb
index ced2637..8a4eea8a 100644
--- a/components/strings/components_strings_it.xtb
+++ b/components/strings/components_strings_it.xtb
@@ -662,7 +662,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Controllare la configurazione del proxy, firewall e DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Le applicazioni che possono causare questo errore includono software antivirus, firewall e proxy o di filtraggio web.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Siti web visitati e contenuti delle pagine non sicure</translation>
 <translation id="3736520371357197498">Se sei consapevole dei rischi per la tua sicurezza, potresti <ph name="BEGIN_LINK" />visitare questo sito non sicuro<ph name="END_LINK" /> senza aspettare che vengano rimossi i programmi pericolosi.</translation>
 <translation id="3738166223076830879">Il tuo browser è gestito dal tuo amministratore.</translation>
 <translation id="3744899669254331632">Al momento non puoi visitare il sito <ph name="SITE" /> perché tale sito web ha inviato credenziali criptate che Chromium non è riuscito a elaborare. Gli attacchi e gli errori di rete in genere sono temporanei, pertanto è possibile che questa pagina funzioni più tardi.</translation>
@@ -1378,7 +1377,7 @@
 <translation id="6687335167692595844">Dimensioni carattere richieste</translation>
 <translation id="6689249931105087298">Relativo con compressione del punto nero</translation>
 <translation id="6689271823431384964">Chrome chiede se vuoi salvare le tue carte nel tuo Account Google perché hai eseguito l'accesso. Puoi modificare questo comportamento nelle impostazioni. Il nome del titolare della carta proviene dal tuo account.</translation>
-<translation id="6710213216561001401">Indietro</translation>
+<translation id="6710213216561001401">Precedente</translation>
 <translation id="6710594484020273272">&lt;Digita un termine di ricerca&gt;</translation>
 <translation id="671076103358959139">Token di registrazione:</translation>
 <translation id="6711464428925977395">Si è verificato un problema con il server proxy oppure l'indirizzo non è corretto.</translation>
diff --git a/components/strings/components_strings_iw.xtb b/components/strings/components_strings_iw.xtb
index 6f328c6..0298b11 100644
--- a/components/strings/components_strings_iw.xtb
+++ b/components/strings/components_strings_iw.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159">‏<ph name="BEGIN_LINK" />לבדוק את תצורת ה-DNS, חומת האש ושרת ה-Proxy<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">‏יישומים שיכולים לגרום לשגיאה הזו כוללים תוכנות אנטי-וירוס, חומות אש ותוכנות proxy או סינון אינטרנט.</translation>
 <translation id="373042150751172459">B4 (Envelope)‎</translation>
-<translation id="3731873414101415120">אתרים שביקרת בהם ותוכן של דפים לא בטוחים</translation>
 <translation id="3736520371357197498">אם אתה מבין את הסיכונים בנוגע לאבטחה שלך, תוכל <ph name="BEGIN_LINK" />להיכנס לאתר לא בטוח זה<ph name="END_LINK" /> לפני הסרת התכניות המסוכנות.</translation>
 <translation id="3738166223076830879">הדפדפן מנוהל על ידי מנהל המערכת</translation>
 <translation id="3744899669254331632">‏אינך יכול לבקר כרגע ב-<ph name="SITE" /> מפני שהאתר שלח פרטי כניסה מעורבלים ש-Chromium אינו יכול לעבד. שגיאות רשת והתקפות הן בדרך כלל זמניות, לכן סביר להניח שדף זה יפעל כהלכה בהמשך.</translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb
index 78f8a64..19c231f 100644
--- a/components/strings/components_strings_ja.xtb
+++ b/components/strings/components_strings_ja.xtb
@@ -659,7 +659,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />プロキシ、ファイアウォール、DNS の設定を確認する<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">このエラーの原因としては、ウィルス対策ソフトウェア、ファイアウォール ソフトウェア、ウェブ フィルタリング ソフトウェア、プロキシ ソフトウェアなどが考えられます。</translation>
 <translation id="373042150751172459">B4(封筒)</translation>
-<translation id="3731873414101415120">アクセスしたウェブサイトと安全でないページのコンテンツ</translation>
 <translation id="3736520371357197498">危険なプログラムが削除されるより前に<ph name="BEGIN_LINK" />この安全でないサイトにアクセスする<ph name="END_LINK" />場合は、セキュリティ上のリスクについてご承知おきください。</translation>
 <translation id="3738166223076830879">お使いのブラウザは管理者によって管理されています。</translation>
 <translation id="3744899669254331632"><ph name="SITE" /> から送信された暗号化済みの認証情報を Chromium で処理できないため、現在このウェブサイトにアクセスできません。通常、ネットワーク エラーやネットワークへの攻撃は一時的なものです。しばらくするとページにアクセスできるようになります。</translation>
diff --git a/components/strings/components_strings_ka.xtb b/components/strings/components_strings_ka.xtb
index 7d17595..f5a8788 100644
--- a/components/strings/components_strings_ka.xtb
+++ b/components/strings/components_strings_ka.xtb
@@ -659,7 +659,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />პროქსის, ქსელის დაცვისა და DNS-ის კონფიგურაციის შემოწმება<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">ამ შეცდომის გამომწვევი აპლიკაციები მოიცავს ანტივირუსულ, ქსელის დაცვისა და ვებ-გაფილტვრის ან პროქსი-სერვერების პროგრამულ უზრუნველყოფას.</translation>
 <translation id="373042150751172459">B4 (კონვერტი)</translation>
-<translation id="3731873414101415120">თქვენ მიერ მონახულებული ვებსაიტები და დაუცველი გვერდების კონტენტი</translation>
 <translation id="3736520371357197498">თუ გათვითცნობიერებული გაქვთ რისკი, შეგიძლიათ <ph name="BEGIN_LINK" />შეხვიდეთ ამ არასაიმედო საიტზე<ph name="END_LINK" /> საზიანო პროგრამების წაშლამდე.</translation>
 <translation id="3738166223076830879">თქვენს ბრაუზერს მართავს თქვენი ადმინისტრატორი.</translation>
 <translation id="3744899669254331632"><ph name="SITE" /> საიტის ნახვა ამჟამად შეუძლებელია, რადგან ვებსაიტმა გამოგზავნა დაშიფრული ავტორიზაციის მონაცემები, რომელთა დამუშავება Chromium-ს არ შეუძლია. ქსელის შეცდომები და თავდასხმები, როგორც წესი, დროებითია, ამიტომ ეს გვერდი, შესაძლოა, მოგვიანებით ამუშავდეს.</translation>
diff --git a/components/strings/components_strings_kk.xtb b/components/strings/components_strings_kk.xtb
index db7afb2..1610ff3 100644
--- a/components/strings/components_strings_kk.xtb
+++ b/components/strings/components_strings_kk.xtb
@@ -664,7 +664,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Проксиді, брандмауэрді және DNS конфигурациясын тексеру<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Мұндай қате тудыратын қолданбаларға антивирустар, брандмауэрлер, вебсүзгілер және прокси-сервер бағдарламалық құралдары жатады.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Сіз кіретін веб-сайттар және қорғалмаған беттердің мазмұндары</translation>
 <translation id="3736520371357197498">Қауіпсіздігіңіздің қатерлерін түсінсеңіз, қауіпті бағдарламалар жойылмай жатып, <ph name="BEGIN_LINK" />осы қауіпті сайтқа кіруіңізге<ph name="END_LINK" /> болады.</translation>
 <translation id="3738166223076830879">Браузеріңізді әкімші басқарады.</translation>
 <translation id="3744899669254331632">Қазір <ph name="SITE" /> сайтына кіру мүмкін емес, себебі веб-сайт Chromium өңдей алмайтын шифрланған есептік деректерді жіберді. Желі қателері мен шабуылдары әдетте уақытша болғандықтан, бұл бет кейінірек жұмыс істеуі мүмкін.</translation>
diff --git a/components/strings/components_strings_km.xtb b/components/strings/components_strings_km.xtb
index 284a77c..1b0c265 100644
--- a/components/strings/components_strings_km.xtb
+++ b/components/strings/components_strings_km.xtb
@@ -668,7 +668,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ពិនិត្យការកំណត់រចនាសម្ព័ន្ធប្រូកស៊ី firewall និង DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">កម្មវិធីដែលអាចបណ្តាលឱ្យមានបញ្ហានេះ រួមមានកម្មវិធីកម្ចាត់មេរោគ ជញ្ជាំងភ្លើង និងកម្មវិធីត្រងបណ្តាញ ឬប្រូកស៊ី។</translation>
 <translation id="373042150751172459">B4 (ស្រោម​សំបុត្រ)</translation>
-<translation id="3731873414101415120">គេហទំព័រ​ដែលអ្នក​ចូលមើល និង​ខ្លឹមសារ​នៃទំព័រ​ដែលគ្មានសុវត្ថិភាព</translation>
 <translation id="3736520371357197498">ប្រសិនបើអ្នកយល់ពីហានិភ័យសុវត្ថិភាពរបស់អ្នក អ្នកអាច <ph name="BEGIN_LINK" />ទៅកាន់គេហទំព័រដែលមិនមានសុវត្ថិភាពនេះ<ph name="END_LINK" /> មុនពេលកម្មវិធីគ្រោះថ្នាក់នេះត្រូវបានដកចេញ។</translation>
 <translation id="3738166223076830879">កម្មវិធីរុករកតាមអ៊ីនធឺណិត​របស់អ្នក​ស្ថិតក្រោមការគ្រប់គ្រងរបស់​ស្ថាប័នអ្នក។</translation>
 <translation id="3744899669254331632">អ្នកមិនអាចទៅកាន់ <ph name="SITE" /> ទេឥឡូវនេះ ពីព្រោះគេហទំព័របានផ្ញើអត្តសញ្ញាណសម្គាល់មិនច្បាស់លាស់ ដែល Chromium មិនអាចដំណើរការបាន។ កំហុស និងការវាយប្រហារបណ្តាញជាធម្មតាកើតមានជាបណ្តោះអាសន្នទេ ដូច្នេះទំព័រនេះប្រហែលជាអាចដំណើរការវិញនាពេលក្រោយ។</translation>
diff --git a/components/strings/components_strings_kn.xtb b/components/strings/components_strings_kn.xtb
index 1d79d74..c1b55f0 100644
--- a/components/strings/components_strings_kn.xtb
+++ b/components/strings/components_strings_kn.xtb
@@ -658,7 +658,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ಪ್ರಾಕ್ಸಿ, ಫೈರ್‌ವಾಲ್ ಮತ್ತು DNS ಕಾನ್ಫಿಗರೇಶನ್‌‌ ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">ಈ ದೋಷವನ್ನು ಉಂಟುಮಾಡಬಹುದಾದ ಅಪ್ಲಿಕೇಶನ್‌‌ಗಳು ಆಂಟಿವೈರಸ್, ಫೈರ್‌ವಾಲ್‌ ಮತ್ತು ವೆಬ್‌-ಫಿಲ್ಟರಿಂಗ್ ಅಥವಾ ಪ್ರಾಕ್ಸಿ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಒಳಗೊಂಡಿವೆ.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">ನೀವು ಭೇಟಿ ನೀಡುವ ವೆಬ್‌ಸೈಟ್‌ಗಳು ಮತ್ತು ಸುರಕ್ಷಿತವಲ್ಲದ ಪುಟಗಳ ಕಂಟೆಂಟ್‌ಗಳು</translation>
 <translation id="3736520371357197498">ನಿಮ್ಮ ಸುರಕ್ಷತೆ ಅಪಾಯಗಳು ನಿಮಗೆ ಅರ್ಥವಾಗಿದ್ದರೆ, ಅಪಾಯಕಾರಿ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದಕ್ಕೂ ಮೊದಲು ನೀವು <ph name="BEGIN_LINK" />ಈ ಅಸುರಕ್ಷಿತ ಸೈಟ್‌ಗೆ ಭೇಟಿ ನೀಡಬಹುದು<ph name="END_LINK" />.</translation>
 <translation id="3738166223076830879">ನಿಮ್ಮ ಬ್ರೌಸರ್ ಅನ್ನು ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನಿರ್ವಹಿಸುತ್ತಿದ್ದಾರೆ.</translation>
 <translation id="3744899669254331632">ನೀವು ಇದೀಗ <ph name="SITE" /> ಗೆ ಭೇಟಿ ನೀಡಲು ಸಾಧ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ವೆಬ್‌ಸೈಟ್ Chromium ಗೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗದ ಅವ್ಯವಸ್ಥಿತ ರುಜುವಾತುಗಳನ್ನು ಕಳುಹಿಸಿದೆ. ನೆಟ್‌ವರ್ಕ್ ದೋಷಗಳು ಮತ್ತು ಆಕ್ರಮಣಗಳು ಸಾಮಾನ್ಯವಾಗಿ ತಾತ್ಕಾಲಿಕವಾಗಿರುತ್ತವೆ, ಆದ್ದರಿಂದ ಈ ಪುಟವು ಬಹುಶಃ ನಂತರ ಕಾರ್ಯನಿರ್ವಹಿಸಬಹುದು.</translation>
@@ -1369,7 +1368,7 @@
 <translation id="6687335167692595844">ವಿನಂತಿಸಲಾದ ಫಾಂಟ್ ಗಾತ್ರ</translation>
 <translation id="6689249931105087298">ಕಪ್ಪು ಬಿಂದು ಕಂಪ್ರೆಶ್ಶನ್‌ಗೆ ಸಂಬಂಧಿಸಿದ</translation>
 <translation id="6689271823431384964">ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿರುವ ಕಾರಣದಿಂದಾಗಿ, ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿ ನಿಮ್ಮ ಕಾರ್ಡ್‌ಗಳನ್ನು ಉಳಿಸಲು Chrome ಅವಕಾಶ ನೀಡುತ್ತಿದೆ. ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನೀವು ಈ ವರ್ತನೆಯನ್ನು ಬದಲಿಸಬಹುದು. ಕಾರ್ಡ್ ಹೋಲ್ಡರ್ ಹೆಸರು ನಿಮ್ಮ ಖಾತೆಯಿಂದ ಬರುತ್ತದೆ.</translation>
-<translation id="6710213216561001401">ಹಿಂದೆ</translation>
+<translation id="6710213216561001401">ಹಿಂದಿನದು</translation>
 <translation id="6710594484020273272">&lt;ಹುಡುಕಾಟದ ಪದ ಟೈಪ್ ಮಾಡಿ&gt;</translation>
 <translation id="671076103358959139">ನೋಂದಣಿಯ ಟೋಕನ್:</translation>
 <translation id="6711464428925977395">ಪ್ರಾಕ್ಸಿ ಸರ್ವರ್‌‌ನಲ್ಲಿ ಏನೋ ದೋಷವಿದೆ ಅಥವಾ ವಿಳಾಸವು ತಪ್ಪಾಗಿದೆ.</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb
index 2ef673f..fb4a190 100644
--- a/components/strings/components_strings_ko.xtb
+++ b/components/strings/components_strings_ko.xtb
@@ -659,7 +659,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />프록시, 방화벽, DNS 설정 확인<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">이 오류를 일으키는 애플리케이션에는 바이러스 백신, 방화벽, 웹 필터링 또는 프록시 소프트웨어 등이 있습니다.</translation>
 <translation id="373042150751172459">B4(봉투)</translation>
-<translation id="3731873414101415120">내가 방문한 웹사이트 및 안전하지 않은 페이지의 콘텐츠</translation>
 <translation id="3736520371357197498">보안 관련 위험을 이해한다면 위험한 프로그램이 삭제되기 전에 <ph name="BEGIN_LINK" />안전하지 않은 사이트<ph name="END_LINK" />에 방문해도 됩니다.</translation>
 <translation id="3738166223076830879">관리자가 관리하는 브라우저입니다.</translation>
 <translation id="3744899669254331632">웹사이트가 Chromium이 처리할 수 없는 암호화된 사용자 인증 정보를 전송하였으므로 지금은 <ph name="SITE" />에 방문할 수 없습니다. 네트워크 오류와 공격은 대체로 일시적인 문제이기 때문에 이후에는 이 페이지가 제대로 작동할 가능성이 높습니다.</translation>
diff --git a/components/strings/components_strings_ky.xtb b/components/strings/components_strings_ky.xtb
index 014a1e68..543955a3 100644
--- a/components/strings/components_strings_ky.xtb
+++ b/components/strings/components_strings_ky.xtb
@@ -664,7 +664,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Прокси, брандауэр жана DNS конфигурациясын текшерип көрүңүз<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Мындай катага себеп болуучу колдонмолорго антивирус, тармактык коргоо, веб-чыпкалоо же прокси программа кирет.</translation>
 <translation id="373042150751172459">B4 (Конверт)</translation>
-<translation id="3731873414101415120">Сиз баш баккан вебсайттар жана кооптуу барактардагы мазмундар</translation>
 <translation id="3736520371357197498">Эгер коопсуздугуңузга кандай коркунуч келтирилип жаткандыгын түшүнсөңүз, коркунучтуу программалар алынып салынганга чейин бул <ph name="BEGIN_LINK" />кооптуу сайтка<ph name="END_LINK" /> кире берсеңиз болот.</translation>
 <translation id="3738166223076830879">Серепчиңизди администраторуңуз башкарат.</translation>
 <translation id="3744899669254331632">Учурда <ph name="SITE" /> сайтына кире албайсыз, анткени вебсайт Chromium иштете албаган шифрленген далдаштырма дайындарды жөнөттү. Адатта тармактагы каталар жана чабуулдар убактылуу көрүнүш болгондуктан, бул баракча кийинчерээк иштеп калышы мүмкүн.</translation>
diff --git a/components/strings/components_strings_lo.xtb b/components/strings/components_strings_lo.xtb
index cf819a1..d14deeed 100644
--- a/components/strings/components_strings_lo.xtb
+++ b/components/strings/components_strings_lo.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">ປ່ຽນ​ກັບ​ຄືນຄໍາສັ່ງຈັດລໍາດັບຄືນ</translation>
 <translation id="1125573121925420732">ອາດຈະເຫັນຄຳເຕືອນເລື້ອຍໆໃນຂະນະທີ່ເວັບໄຊອັບເດດຄວາມປອດໄພຂອງພວກມັນ. ສິ່ງນີ້ຈະດີຂຶ້ນໃນໄວໆນີ້.</translation>
 <translation id="112840717907525620">ແຄຊ໌ນະໂຍບາຍໃຊ້ໄດ້</translation>
+<translation id="1130564665089811311">ປຸ່ມແປໜ້າ, ກົດ Enter ເພື່ອແປໜ້ານີ້ດ້ວຍ Google ແປພາສາ</translation>
 <translation id="1131264053432022307">ຮູບພາບທີ່ທ່ານສຳເນົາ</translation>
 <translation id="1150979032973867961">ເຊີບເວີນີ້ບໍ່ສາມາດພິສູດໄດ້ວ່າ ມັນແມ່ນ <ph name="DOMAIN" />; ໃບຢັ້ງຢືນຄວາມປອດໄພຂອງມັນບໍ່ໄດ້ຮັບການເຊື່ອໝັ້ນໂດຍລະບົບການດໍາເນີນງານຂອງຄອມພິວເຕີຂອງທ່ານ. ອັນນີ້ອາດຈະເຮັດໃຫ້ເກີດມີການປັບຕັ້ງຄ່າຜິດ ຫຼືຜູ້ໂຈມຕີອາດຈະດັກເອົາການເຊື່ອມຕໍ່ຂອງທ່ານ.</translation>
 <translation id="1151972924205500581">ຕ້ອງມີລະ​ຫັດ​ຜ່ານ​</translation>
@@ -408,6 +409,7 @@
 <translation id="2634124572758952069">ບໍ່ສາມາດຊອກເຫັນທີ່ຢູ່ IP ເຊີບເວີຂອງ <ph name="HOST_NAME" />.</translation>
 <translation id="2639739919103226564">ສະ​ຖາ​ນະ​</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, ກົດແຖບ ຈາກນັ້ນກົດ Enter ເພື່ອລຶບປະຫວັດການທ່ອງເວັບຂອງທ່ານ, ຄຸກກີ້, ແຄສ ແລະ ອື່ນໆອີກໃນການຕັ້ງຄ່າ Chrome</translation>
 <translation id="2650446666397867134">ການ​ເຂົ້າ​ຫາໄຟລ​໌​ຖືກ​ປະ​ຕິ​ເສດ</translation>
 <translation id="2653659639078652383">ສົ່ງ</translation>
 <translation id="2660779039299703961">ເຫດ​ການ</translation>
@@ -430,6 +432,7 @@
 <translation id="2705137772291741111">ສຳເນົາທີ່ບັນທຶກໄວ້ຂອງເວັບໄຊນີ້ບໍ່ສາມາດອ່ານໄດ້.</translation>
 <translation id="2709516037105925701">ຕື່ມອັດຕະໂນມັດ</translation>
 <translation id="2713444072780614174">ສີ​ຂາວ</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, ກົດແຖບ ຈາກນັ້ນກົດ Enter ເພື່ອຈັດການການຈ່າຍເງິນ ແລະ ຂໍ້ມູນບັດເຄຣດິດຂອງທ່ານໃນການຕັ້ງຄ່າ Chrome</translation>
 <translation id="2721148159707890343">ການ​ຮ້ອງ​ຂໍ​ສໍາ​ເລັດ</translation>
 <translation id="272451190272506600">ແຕະເຊັນເຊີເພື່ອຈ່າຍ</translation>
 <translation id="2728127805433021124">ໃບຢັ້ງຢືນຂອງເຊີບເວີໄດ້ຮັບການລົງລາຍເຊັນດ້ວຍການໃຊ້ຂັ້ນຕອນການລົງລາຍເຊັນອ່ອນແອ</translation>
@@ -642,6 +645,7 @@
 <translation id="3630155396527302611">ຖ້າວ່າມັນຢູ່ໃນລາຍການເປັນໂປຣແກຣມທີ່ໄດ້ຮັບອະນຸຍາດໃຫ້ເຂົ້າຫາເຄືອຂ່າຍໄດ້, ໃຫ້ລອງ
       ລຶບມັນອອກໄປຈາກລາຍການ ແລ້ວເພີ່ມມັນໃສ່ຄືນໃໝ່.</translation>
 <translation id="3631244953324577188">ຂໍ້ມູນຊີວະມິຕິ</translation>
+<translation id="3633738897356909127">ປຸ່ມອັບເດດ Chrome, ກົດ Enter ເພື່ອອັບເດດ Chrome ຈາກການຕັ້ງຄ່າ Chrome ຂອງທ່ານ</translation>
 <translation id="3634530185120165534">ຖາດ 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">ການຮັບຮອງສໍາ​ເລັດ</translation>
@@ -665,7 +669,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ກຳລັງກວດເບິ່ງການຕັ້ງຄ່າພຣັອກຊີ, ໄຟລ໌ວໍ ແລະ DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">ແອັບພລິເຄຊັນທີ່ສາມາດກໍ່ໃຫ້ເກີດຄວາມຜິດພາດນີ້ໄດ້ລວມມີໂປຣແກຣມປ້ອງກັນໄວຣັສ, ໄຟຣ໌ວໍ ແລະ ຊອບແວກັ່ນຕອງເວັບ ຫຼື ພຣັອກຊີ.</translation>
 <translation id="373042150751172459">B4 (ຊອງຈົດໝາຍ)</translation>
-<translation id="3731873414101415120">ເວັບໄຊທີ່ທ່ານເຂົ້າເບິ່ງ ແລະ ເນື້ອຫາຂອງໜ້າທີ່ບໍ່ປອດໄພ</translation>
 <translation id="3736520371357197498">ຖ້າທ່ານເຂົ້າໃຈຄວາມສ່ຽງຕໍ່ຄວາມປອດໄພຂອງທ່ານ, ທ່ານອາດຈະ <ph name="BEGIN_LINK" />ເຂົ້າເບິ່ງເວັບໄຊທ໌ທີ່ບໍ່ປອດໄພນີ້<ph name="END_LINK" /> ກ່ອນໂປຣແກຼມທີ່ເປັນອັນຕະລາຍຈະຖືກເອົາອອກໄປ.</translation>
 <translation id="3738166223076830879">ໂປຣແກຣມທ່ອງເວັບຂອງທ່ານຖືກຈັດການໂດຍຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ.</translation>
 <translation id="3744899669254331632">ທ່ານ​ບໍ່​ສາ​ມາດ​ເຂົ້າ​ເບິ່ງ <ph name="SITE" /> ໄດ້​ດຽວ​ນີ້ ເພາະ​ວ່າ​ເວັບ​ໄຊ​ທ໌​ສົ່ງ​​ໃບຢັ້ງ​ຢືນທີ່​ຖືກ​ລົບ​ກວນ​ທີ່ Chromium ບໍ່​ສາ​ມາດ​ດຳ​ເນີນ​ການ​ໄດ້​ແລ້ວ. ປົກ​ກະ​ຕິນັ້ນ ຄວາມ​ຜິດ​ພາດ ແລະ​ການ​ໂຈມ​ຕີ​ເຄືອ​ຂ່າຍ​ຈະ​ມີ​ຊົ່ວ​ຄາວ, ດັ່ງ​ນັ້ນ ໜ້າ​ນີ້​ອາດ​ຈະ​ເຮັດ​ວຽກ​ໄດ້​ພາຍ​ຫຼັງ.</translation>
@@ -866,6 +869,7 @@
 <translation id="4506599922270137252">ກຳລັງຕິດຕໍ່ຫາຜູ້ເບິ່ງແຍງລະບົບ</translation>
 <translation id="450710068430902550">ການແບ່ງປັນກັບຜູ້ເບິ່ງແຍງລະບົບ</translation>
 <translation id="4508814173490746936">ບໍ່ສາມາດໃຊ້ Touch ID</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, ກົດແຖບ ຈາກນັ້ນກົດ Enter ເພື່ອແປໜ້ານີ້ດ້ວຍ Google ແປພາສາ</translation>
 <translation id="4510487217173779431">Chou4 (ຊອງຈົດໝາຍ)</translation>
 <translation id="4515275063822566619">ບັດ ແລະ ທີ່ຢູ່ມາຈາກ Chrome ແລະ ບັນຊີ Google ຂອງທ່ານ (<ph name="ACCOUNT_EMAIL" />). ທ່ານສາມາດຈັດການພວກມັນໄດ້ໃນ <ph name="BEGIN_LINK" />ການຕັ້ງຄ່າ<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (ຊອງຈົດໝາຍ)</translation>
@@ -946,6 +950,7 @@
 <translation id="4879725228911483934">ເປີດ ແລະ ວາງໜ້າຈໍໄວ້ໃສ່ໃນໜ້າຈໍຂອງທ່ານ</translation>
 <translation id="4880827082731008257">ຄົ້ນຫາປະຫວັດ</translation>
 <translation id="4881695831933465202">ເປີດ</translation>
+<translation id="4889420713887366944">ປຸ່ມເປີດໜ້າຈໍທີ່ບໍ່ເປີດເຜີຍຕົວຕົນ, ກົດ Enter ເພື່ອເປີດໜ້າຈໍທີ່ບໍ່ເປີດເຜີຍຕົວຕົນໃໝ່ເພື່ອທ່ອງເວັບແບບເປັນສ່ວນຕົວ</translation>
 <translation id="4892518386797173871">ຫຼັງ</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">ບັນທຶກ...</translation>
@@ -1107,6 +1112,7 @@
 <translation id="5523118979700054094">ຊື່​ນະ​ໂຍ​ບາຍ</translation>
 <translation id="55293785478302737">ຫຍິບຂອບ</translation>
 <translation id="553484882784876924">Prc6 (ຊອງຈົດໝາຍ)</translation>
+<translation id="5535133333442455806">ປຸ່ມລຶບຂໍ້ມູນການທ່ອງເວັບ, ກົດ Enter ເພື່ອລຶບປະຫວັດການທ່ອງເວັບຂອງທ່ານ, ຄຸກກີ້, ແຄສ ແລະ ອື່ນໆອີກໃນການຕັ້ງຄ່າ Chrome</translation>
 <translation id="5536214594743852365">ສະແດງຂໍ້ "<ph name="SECTION" />"</translation>
 <translation id="5539243836947087108">Raft</translation>
 <translation id="5540224163453853">ບໍ່ສາມາດຊອກຫາບົດຄວາມທີ່ຂໍໄດ້.</translation>
@@ -1606,6 +1612,7 @@
 <translation id="7600965453749440009">ຢ່າແປ <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">ຄ່າຢູ່ນອກເຂດ <ph name="VALUE" /> .</translation>
 <translation id="7613889955535752492">ໝົດອາຍຸ: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, ກົດແຖບ ຈາກນັ້ນກົດ Enter ເພື່ອເບິ່ງ ແລະ ຈັດການລະຫັດຜ່ານຂອງທ່ານໃນການຕັ້ງຄ່າ Chrome</translation>
 <translation id="7615602087246926389">ທ່ານມີຂໍ້ມູນທີ່ໃສ່ລະຫັດໂດຍການໃຊ້ລະຫັດຜ່ານບັນຊີ Google ຂອງທ່ານ​ໃນລຸ້ນຕ່າງກັນ. ກະລຸນາປ້ອນມັນເຂົ້າຢູ່ລຸ່ມນີ້.</translation>
 <translation id="7616645509853975347">ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານໄດ້ເປີດ Chrome Enterprise Connectors ໃນໂປຣແກຣມທ່ອງເວັບຂອງທ່ານແລ້ວ. ເຄື່ອງມືເຊື່ອມຕໍ່ເຫຼົ່ານີ້ມີສິດເຂົ້າເຖິງບາງຂໍ້ມູນຂອງທ່ານໄດ້.</translation>
 <translation id="7619838219691048931">ແຜ່ນວຽກສຸດທ້າຍ</translation>
@@ -1862,6 +1869,8 @@
 <translation id="8725066075913043281">ລອງໃໝ່ອີກ</translation>
 <translation id="8728672262656704056">ທ່ານໄດ້ເຂົ້າສູ່ໂໝດ incognito ແລ້ວ</translation>
 <translation id="8730621377337864115">ສໍາເລັດ</translation>
+<translation id="8731544501227493793">ປຸ່ມຈັດການລະຫັດຜ່ານ, ກົດ Enter ເພື່ອເບິ່ງ ແລະ ຈັດການລະຫັດຜ່ານສຂອງທ່ານໃນການຕັ້ງຄ່າ Chrome</translation>
+<translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, ກົດແຖບ ຈາກນັ້ນ Enter ເພື່ອເປີດໜ້າຈໍທີ່ບໍ່ເປີດເຜີຍຕົວຕົນໃໝ່ເພື່ອຊອຫາແບບເປັນສ່ວນຕົວ</translation>
 <translation id="8738058698779197622">ເພື່ອ​ຕັ້ງ​ການ​ເຊື່ອມ​ຕໍ່​ທີ່​ປອດ​ໄພ, ຈຳ​ເປັນ​ຕ້ອງ​ໄດ້​ຕັ້ງ​ໂມງ​ຂອງ​ທ່ານ​ໃຫ້​ຖືກ​ຕ້ອງ. ອັນ​ນີ້​ເພາະ​ວ່າ​ໃບ​ຢັ້ງ​ຢືນ​ທີ່​ເວັບ​ໄຊ​ທ໌​ໃຊ້​ລະ​ບຸ​ຕົວ​ມັນ​ເອງ​ແມ່ນ​ຈະ​ໃຊ້​ໄດ້​ເປັນ​ໄລ​ຍະ​ເວ​ລາ​ສະ​ເພາະ​ເທົ່າ​ນັ້ນ. ເນື່ອງ​ຈາກ​ໂມງ​ຂອງ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ບໍ່​ຖືກ​ຕ້ອງ, Chromium ບໍ່​ສາ​ມາດກວດ​ສອບ​ໃບ​ຢັ້ງ​ຢືນ​ເຫຼົ່າ​ນີ້​ໄດ້.</translation>
 <translation id="8740359287975076522">ບໍ່ສາມາດຊອກພົບ &lt;abbr id="dnsDefinition"&gt;ທີ່ຢູ່ DNS&lt;/abbr&gt; ຂອງ <ph name="HOST_NAME" /> ໄດ້. ກຳລັງວິເຄາະບັນຫາຢູ່.</translation>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> ແມ່ນລະຫັດສຳລັບ <ph name="ORIGIN" /> ຂອງທ່ານ</translation>
@@ -1878,6 +1887,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> ໄດ້ເປີດ Chrome Enterprise Connectors ໃນໂປຣແກຣມທ່ອງເວັບຂອງທ່ານແລ້ວ. ເຄື່ອງມືເຊື່ອມຕໍ່ເຫຼົ່ານີ້ມີສິດເຂົ້າເຖິງບາງຂໍ້ມູນຂອງທ່ານໄດ້.</translation>
 <translation id="8805819170075074995">ບອກລາຍການ "<ph name="LANGUAGE_ID" />": ລາຍການຖືກລະເລີຍ ເພາະວ່າມັນຮວມມີຢູ່ໃນນະໂຍບາຍ SpellcheckLanguage ນຳ.</translation>
 <translation id="8807160976559152894">ຕັດອອກຫຼັງຈາກແຕ່ລະໜ້າ</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, ກົດແຖບ ຈາກນັ້ນ Enter ເພື່ອອັບເດດ Chrome ຈາກການຕັ້ງຄ່າ Chrome ຂອງທ່ານ</translation>
 <translation id="8820817407110198400">ບຸກມາກ</translation>
 <translation id="883848425547221593">ບຸກມາກສ໌ອື່ນໆ</translation>
 <translation id="884264119367021077">ທີ່​ຢູ່​ຈັດສົ່ງ</translation>
@@ -1897,6 +1907,7 @@
 <translation id="890493561996401738">ລຶບປຸ່ມການແນະນຳອອກ, ກົດ Enter ເພື່ອລຶບອອກ, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">ທ່ານໄດ້ເຂົ້າສູ່ໂໝດບໍ່ເປີດເຜີຍຕົວຕົນແລ້ວ</translation>
 <translation id="8912362522468806198">ບັນຊີ Google</translation>
+<translation id="8913778647360618320">ປຸ່ມຈັດການວິທີການຈ່າຍເງິນ, ກົດ Enter ເພື່ອຈັດການການຈ່າຍເງິນ ແລະ ຂໍ້ມູນບັດເຄຣດິດໃນການຕັ້ງຄ່າ Chrome</translation>
 <translation id="8918231688545606538">ໜ້ານີ້ໜ້າສົງໄສ</translation>
 <translation id="892588693504540538">ເຈາະຮູເທິງສຸດເບື້ອງຊ້າຍ</translation>
 <translation id="8931333241327730545">ທ່ານຕ້ອງການບັນທຶກບັດນີ້ໃສ່ບັນຊີ Google ຂອງທ່ານບໍ?</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb
index 79327e5..e4a64b4 100644
--- a/components/strings/components_strings_lt.xtb
+++ b/components/strings/components_strings_lt.xtb
@@ -666,7 +666,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Patikrinti tarpinio serverio, užkardos ir DNS konfigūraciją<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Ši klaida galėjo įvykti dėl antivirusinės, užkardos ar žiniatinklio filtravimo programos arba tarpinio serverio programinės įrangos.</translation>
 <translation id="373042150751172459">B4 (vokas)</translation>
-<translation id="3731873414101415120">Svetainės, kuriose lankotės, ir nesaugių puslapių turinys</translation>
 <translation id="3736520371357197498">Jei suprantate, kokia rizika gali kilti jūsų saugai, galite <ph name="BEGIN_LINK" />apsilankyti šioje nesaugioje svetainėje<ph name="END_LINK" />, kol iš jos dar nepašalintos pavojingos programos.</translation>
 <translation id="3738166223076830879">Jūsų naršyklę tvarko jūsų administratorius.</translation>
 <translation id="3744899669254331632">Negalite dabar apsilankyti svetainėje <ph name="SITE" />, nes ji atsiuntė užšifruotus prisijungimo duomenis, kurių „Chromium“ negali apdoroti. Tinklo klaidos ir užpuolimai dažniausiai yra laikini, todėl šis puslapis vėliau tikriausiai veiks.</translation>
@@ -1383,7 +1382,7 @@
 <translation id="6687335167692595844">Reikia nurodyti šrifto dydį</translation>
 <translation id="6689249931105087298">Santykinis su juodų taškų sutankinimu</translation>
 <translation id="6689271823431384964">„Chrome“ siūlo išsaugoti korteles „Google“ paskyroje, nes esate prisijungę. Šią elgseną galite pakeisti nustatymuose. Kortelės savininko vardas gaunamas iš jūsų paskyros.</translation>
-<translation id="6710213216561001401">Ankstesnis</translation>
+<translation id="6710213216561001401">Ankstesnė</translation>
 <translation id="6710594484020273272">&lt;Įveskite paieškos terminą&gt;</translation>
 <translation id="671076103358959139">Registracijos prieigos raktas:</translation>
 <translation id="6711464428925977395">Kažkas negerai su tarpiniu serveriu arba adresas netinkamas.</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb
index 0b31d2f..429d821 100644
--- a/components/strings/components_strings_lv.xtb
+++ b/components/strings/components_strings_lv.xtb
@@ -662,7 +662,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Pārbaudiet starpniekserveri, ugunsmūri un DNS konfigurāciju<ph name="END_LINK" />.</translation>
 <translation id="372429172604983730">Šo kļūdu var izraisīt tādas lietojumprogrammas kā pretvīrusu, ugunsmūra, tīmekļa filtrēšanas vai starpniekservera programmatūra.</translation>
 <translation id="373042150751172459">B4 (aploksne)</translation>
-<translation id="3731873414101415120">Jūsu apmeklētās vietnes un nedrošu lapu saturs</translation>
 <translation id="3736520371357197498">Ja apzināties drošības risku, varat <ph name="BEGIN_LINK" />apmeklēt šo nedrošo vietni<ph name="END_LINK" />, pirms ir noņemtas bīstamās programmas.</translation>
 <translation id="3738166223076830879">Jūsu pārlūku pārvalda administrators.</translation>
 <translation id="3744899669254331632">Pašlaik jūs nevarat apmeklēt vietni <ph name="SITE" />, jo šī vietne nosūtīja kodētus akreditācijas datus, kurus Chromium nevar apstrādāt. Tā kā tīkla kļūdas un uzbrukumi parasti ir īslaicīga problēma, iespējams, vēlāk šī lapa atkal darbosies.</translation>
diff --git a/components/strings/components_strings_mk.xtb b/components/strings/components_strings_mk.xtb
index a7a1f261..30a5f80 100644
--- a/components/strings/components_strings_mk.xtb
+++ b/components/strings/components_strings_mk.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Да ги проверите проксито, заштитниот ѕид и DNS-конфигурацијата<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Апликациите што може да ја предизвикаат грешкава опфаќаат антивируси, заштитни ѕидови и веб-филтри или прокси-софтвери.</translation>
 <translation id="373042150751172459">B4 (Плик)</translation>
-<translation id="3731873414101415120">Веб-сајтовите што ги посетувате и содржините од небезбедни страници</translation>
 <translation id="3736520371357197498">Доколку ги разбирате ризиците за вашата безбедност, може <ph name="BEGIN_LINK" />да ја посетите небезбеднава локација<ph name="END_LINK" /> пред да се отстранат опасните програми.</translation>
 <translation id="3738166223076830879">Администраторот управува со прелистувачот.</translation>
 <translation id="3744899669254331632">Не може да го посетите <ph name="SITE" /> во моментов бидејќи веб-локацијата испрати измешани акредитиви кои Chromium не може да ги обработи. Грешките и нападите на мрежите се најчесто привремени, па веројатно оваа страница подоцна ќе работи.</translation>
@@ -1824,7 +1823,7 @@
 <translation id="8498891568109133222">На <ph name="HOST_NAME" /> му требаше премногу време да одговори.</translation>
 <translation id="8503559462189395349">Лозинки на Chrome</translation>
 <translation id="8503813439785031346">Корисничко име</translation>
-<translation id="8507227106804027148">Линија за наредби</translation>
+<translation id="8507227106804027148">Командна линија</translation>
 <translation id="8508648098325802031">Икона за пребарување</translation>
 <translation id="8522552481199248698">Chrome може да ви помогне да ја заштитите сметката на Google и да ја промените лозинката.</translation>
 <translation id="8530813470445476232">Избришете ја историјата на прелистување, колачињата, кешот и друго во поставките за Chrome</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb
index b314309..5f4d86b4 100644
--- a/components/strings/components_strings_ml.xtb
+++ b/components/strings/components_strings_ml.xtb
@@ -661,7 +661,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />പ്രോക്‌സിയും ഫയർവാളും DNS കോൺഫിഗറേഷനും പരിശോധിക്കുന്നു<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">ആന്‍റിവൈറസ്, ഫയർവാൾ, വെബ് ഫിൽട്ടറിംഗ് അല്ലെങ്കിൽ പ്രോക്‌സി സോഫ്റ്റ്‌വെയർ എന്നിവ ഉൾപ്പെടെയുള്ള ആപ്പുകൾ ഈ പിശകിന് കാരണമാകുന്നു.</translation>
 <translation id="373042150751172459">B4 (എൻവലപ്പ്)</translation>
-<translation id="3731873414101415120">നിങ്ങൾ സന്ദർശിക്കുന്ന വെബ്‌സൈറ്റുകളും സുരക്ഷിതമല്ലാത്ത പേജുകളുടെ ഉള്ളടക്കങ്ങളും</translation>
 <translation id="3736520371357197498">നിങ്ങളുടെ സുരക്ഷയെ ബാധിച്ചേക്കാവുന്ന അപകട സാധ്യതകളെക്കുറിച്ച് മനസ്സിലാക്കുകയാണെങ്കിൽപ്പോലും, പ്രോഗ്രാമുകൾ നീക്കംചെയ്യുന്നതിനു മുമ്പ് <ph name="BEGIN_LINK" />ഈ സുരക്ഷിതമല്ലാത്ത സൈറ്റ്<ph name="END_LINK" /> നിങ്ങൾക്ക് സന്ദർശിക്കാം (ശുപാർശചെയ്യുന്നില്ല).</translation>
 <translation id="3738166223076830879">നിങ്ങളുടെ ബ്രൗസർ മാനേജ് ചെയ്യുന്നത് നിങ്ങളുടെ അഡ്‌മിൻ ആണ്.</translation>
 <translation id="3744899669254331632">Chromium-ന് പ്രോസസ് ചെയ്യാനാകാത്ത രൂപമാറ്റം വരുത്തിയ ക്രെഡൻഷ്യലുകൾ വെബ്സൈറ്റ് അയയ്ക്കുന്നതിനാൽ നിങ്ങൾക്കിപ്പോൾ <ph name="SITE" /> സന്ദർശിക്കാനാകില്ല. നെറ്റ്‌വർക്ക് പിശകുകളും ആക്രമണങ്ങളും സാധാരണയായി താൽക്കാലികമായതിനാൽ ഈ പേജ് മിക്കവാറും പിന്നീട് പ്രവർത്തിക്കും.</translation>
diff --git a/components/strings/components_strings_mn.xtb b/components/strings/components_strings_mn.xtb
index bfd3129..b115fa40 100644
--- a/components/strings/components_strings_mn.xtb
+++ b/components/strings/components_strings_mn.xtb
@@ -666,7 +666,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Прокси, галт хана болон DNS оновчилгоог шалгаж байна<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Энэ алдааг антивирус, галт хана, вэб шүүлтүүр эсвэл прокси программ хангамж зэрэг апп үүсгэх боломжтой.</translation>
 <translation id="373042150751172459">B4 (Дугтуй)</translation>
-<translation id="3731873414101415120">Таны зочилдог вэб сайтууд болон аюултай хуудаснуудын контентууд</translation>
 <translation id="3736520371357197498">Аюултай програмуудыг устгахаас өмнө та энэхүү <ph name="BEGIN_LINK" />сайт руу орохдоо<ph name="END_LINK" /> таны аюулгүй байдалд учирч болох эрсдлийг анхаарна уу.</translation>
 <translation id="3738166223076830879">Танай администратор хөтчийг тань удирддаг.</translation>
 <translation id="3744899669254331632">Сайтаас эргэлзээтэй мэдээлэл илгээсэн учраас та <ph name="SITE" /> руу орж болохгүй. Үүнээс болж Chromium нь  сүлжээний алдааг боловсруулж чадахгүй байна.  Иймэрхүү дайралтууд түр зуурын шинжтэй байдаг учраас энэ хуудас хэсэг хугацааны дараа хэвийн ажиллаж магадгүй.</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb
index 3159001..3e9ca276 100644
--- a/components/strings/components_strings_mr.xtb
+++ b/components/strings/components_strings_mr.xtb
@@ -664,7 +664,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />प्रॉक्सी, फायरवॉल आणि DNS कॉन्फिगरेशन तपासणे<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">या एररला कारणीभूत असू शकणार्‍या ॲप्लिकेशनमध्ये अँटिव्हायरस, फायरवॉल आणि वेब फिल्टरिंग किंवा प्रॉक्सी सॉफ्टवेअरचा समावेश होतो.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">तुम्ही भेट देत असलेल्या वेबसाइट आणि सुरक्षित नसलेल्या पेजचे आशय</translation>
 <translation id="3736520371357197498">तुम्ही तुमच्या सुरक्षिततेच्या जोखमी समजत असल्यास, धोकादायक प्रोग्राम काढण्यापूर्वी तुम्ही <ph name="BEGIN_LINK" />या असुरक्षित साइटला भेट देऊ शकता<ph name="END_LINK" />.</translation>
 <translation id="3738166223076830879">तुमचा ब्राउझर तुमच्या अ‍ॅडमिनिस्ट्रेटरद्वारे व्यवस्थापित केला जातो.</translation>
 <translation id="3744899669254331632">Chromium प्रक्रिया करू शकत नसलेले सरमिसळ केलेले क्रेडेन्‍शियल वेबसाइटने पाठविल्‍याने तुम्ही आत्ता <ph name="SITE" /> ला भेट देऊ शकत नाही. नेटवर्क एरर आणि आक्रमण सहसा तात्पुरते आहेत त्यामुळे संभवत: हे पेज नंतर कार्य करेल.</translation>
diff --git a/components/strings/components_strings_ms.xtb b/components/strings/components_strings_ms.xtb
index 48303cc..ca36cbef 100644
--- a/components/strings/components_strings_ms.xtb
+++ b/components/strings/components_strings_ms.xtb
@@ -666,7 +666,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Menyemak proksi, tembok api dan konfigurasi DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Aplikasi yang boleh menyebabkan ralat ini termasuk antivirus, tembok api dan perisian penapisan web atau proksi.</translation>
 <translation id="373042150751172459">B4 (Sampul Surat)</translation>
-<translation id="3731873414101415120">Tapak web yang anda lawati dan kandungan bagi halaman yang tidak selamat</translation>
 <translation id="3736520371357197498">Jika anda memahami risiko terhadap keselamatan anda, anda boleh <ph name="BEGIN_LINK" />melawati tapak web yang tidak selamat ini<ph name="END_LINK" /> sebelum program berbahaya dialih keluar.</translation>
 <translation id="3738166223076830879">Penyemak imbas anda diurus oleh pentadbir anda.</translation>
 <translation id="3744899669254331632">Anda tidak boleh melawat <ph name="SITE" /> sekarang kerana tapak web telah menghantar bukti kelayakan hancur yang tidak boleh diproses oleh Chromium. Ralat dan serangan rangkaian biasanya sementara. Oleh itu halaman ini mungkin akan berfungsi kemudian.</translation>
diff --git a/components/strings/components_strings_my.xtb b/components/strings/components_strings_my.xtb
index c7d8cb8..13dd7cdb 100644
--- a/components/strings/components_strings_my.xtb
+++ b/components/strings/components_strings_my.xtb
@@ -664,7 +664,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ပရောက်စီ၊ firewall နှင့် DNS ပြင်ဆင်သတ်မှတ်မှုကို စစ်ဆေးနေသည်<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">ဤအမှားအယွင်းကို ဖြစ်စေသည့် အပလီကေးရှင်းများတွင် ဗိုင်းရပ်စ်ကာကွယ်ခြင်း၊ firewall နှင့် ဝဘ်စစ်ထုတ်ခြင်း သို့မဟုတ် ပရောက်စီဆော့ဖ်ဝဲတို့ ပါဝင်ပါသည်။</translation>
 <translation id="373042150751172459">B4 (စာအိတ်)</translation>
-<translation id="3731873414101415120">သင်ဝင်ကြည့်သော ဝဘ်ဆိုက်များနှင့် လုံခြုံမှုမရှိသော စာမျက်နှာများတွင် ပါဝင်သည့် အကြောင်းအရာများ</translation>
 <translation id="3736520371357197498">သင်က သင့်အတွက် ရှိနိုင်သည့် အန္တရာယ်များကို နားလည် ဆိုလျှင်၊ သင်သည် <ph name="BEGIN_LINK" />မလုံခြုံသော ဆိုက်ကို<ph name="END_LINK" /> အန္တရာယ် ရှိကြသည့် ပရိုဂရမ်များကို ဖယ်ရှားပေးမှု မတိုင်ခင် ဝင်ကြည့်နိုင်ပါသည်။</translation>
 <translation id="3738166223076830879">သင်၏ ဘရောင်ဇာကို သင့်စီမံခန့်ခွဲသူက စီမံခန့်ခွဲထားပါသည်။</translation>
 <translation id="3744899669254331632">ဝက်ဘ်ဆိုက်က ဗလုံးဗထွေး ပို့လိုက်သည့် အထောက်အထားများကို Chromium ဖက်မှ စီမံဆောင်ရွက် မရနိုင်သောကြောင့် သင်သည် <ph name="SITE" /> ကို ယခုချက်ချင်း ဝင်မရနိုင်ပါ။ ကွန်ရက် အမှားများ နှင့် တိုက်ခိုက်မှုများမှာ ယာယီမျှသာ ဖြစ်ကြတာမို့လို့၊ ဒီစာမျက်နှာသည် နောက်ပိုင်းမှာ အလုပ်လုပ်နိုင်ပါမည်။</translation>
diff --git a/components/strings/components_strings_ne.xtb b/components/strings/components_strings_ne.xtb
index 9882aa59..32d8d6d 100644
--- a/components/strings/components_strings_ne.xtb
+++ b/components/strings/components_strings_ne.xtb
@@ -662,7 +662,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />प्रोक्सी, फायरवाल र DNS को कन्फिगरेसनलाई जाँच गर्नुहोस्<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">यो त्रुटि उत्पन्न गराउन सक्ने एपहरूमा एन्टिभाइरस, फायरवाल र वेब-फिल्टर वा प्रोक्सी सफ्टवेयर पर्दछन्।</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">तपाईंले चलाउने वेबसाइट तथा असुरक्षित वेब पृष्ठका सामग्रीहरू</translation>
 <translation id="3736520371357197498">यदि तपाईं आफ्नो सुरक्षामा भएका जोखिमहरूलाई बुझ्नुहुन्छ भने, तपाईं खतरनाक कार्यक्रमहरू हटाइनु भन्दा पहिले तपाईं <ph name="BEGIN_LINK" />यो असुरक्षित साइट भ्रमण<ph name="END_LINK" /> गर्न सक्नुहुन्छ।</translation>
 <translation id="3738166223076830879">तपाईंका एड्मिन तपाईंको ब्राउजर व्यवस्थापन गर्नुहुन्छ।</translation>
 <translation id="3744899669254331632">तपाईं अहिले <ph name="SITE" />को  भ्रमण गर्न सक्नुहुन्न किनकि क्रोमियमले प्रशोधन गर्न सक्दैन भन्नेवेबसाइटले अपत्यारिला प्रमाणहरू पठायो। सञ्जाल त्रुटि र आक्रमणहरू सामन्यतया: अस्थायी हुन्छन्, यसैले यो पृष्ठले पछि सायद  काम गर्ने छ।</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb
index 11ffa41..a053e22 100644
--- a/components/strings/components_strings_nl.xtb
+++ b/components/strings/components_strings_nl.xtb
@@ -655,7 +655,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Controleer de proxy, firewall en DNS-configuratie<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Apps die deze fout kunnen veroorzaken, omvatten antivirussoftware, firewalls en webfilter- of proxysoftware.</translation>
 <translation id="373042150751172459">B4 (envelop)</translation>
-<translation id="3731873414101415120">Websites die je hebt bezocht en content van niet-beveiligde pagina's</translation>
 <translation id="3736520371357197498">Als je de beveiligingsrisico's begrijpt, kun je <ph name="BEGIN_LINK" />deze onveilige site bezoeken<ph name="END_LINK" /> voordat de gevaarlijke programma's zijn verwijderd.</translation>
 <translation id="3738166223076830879">Je browser wordt beheerd door je beheerder.</translation>
 <translation id="3744899669254331632">Je kunt <ph name="SITE" /> op dit moment niet bezoeken, omdat de website gecodeerde inloggegevens heeft verstuurd die niet door Chromium kunnen worden verwerkt. Aangezien netwerkfouten en aanvallen doorgaans van tijdelijke aard zijn, zal deze pagina later waarschijnlijk wel werken.</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb
index c8f392c3..9ba2bb8 100644
--- a/components/strings/components_strings_no.xtb
+++ b/components/strings/components_strings_no.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Sjekk proxy-tjener-, brannmur- og DNS-konfigurasjonen<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Apper som kan forårsake denne feilen, omfatter programvare for antivirus, brannmur og nettfiltrering eller proxy-tjenester.</translation>
 <translation id="373042150751172459">B4 (konvolutt)</translation>
-<translation id="3731873414101415120">Nettsteder du besøker, og innholdet på usikre sider</translation>
 <translation id="3736520371357197498">Hvis du forstår sikkerhetsrisikoen, kan du <ph name="BEGIN_LINK" />gå til det usikre nettstedet<ph name="END_LINK" /> før de farlige programmene er fjernet.</translation>
 <translation id="3738166223076830879">Nettleseren administreres av administratoren din.</translation>
 <translation id="3744899669254331632">Du kan ikke gå til <ph name="SITE" /> akkurat nå, fordi nettstedet sendte kryptert legitimasjon som Chromium ikke kan behandle. Nettverksfeil og -angrep er vanligvis forbigående, så siden kommer sikkert til å virke senere.</translation>
diff --git a/components/strings/components_strings_or.xtb b/components/strings/components_strings_or.xtb
index 3d408c3..203520d 100644
--- a/components/strings/components_strings_or.xtb
+++ b/components/strings/components_strings_or.xtb
@@ -656,7 +656,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ପ୍ରୋକ୍ସି ଓ ଫାୟାରୱାଲ୍ ଏବଂ DNS କନ୍‌ଫିଗ୍‌ରେସନ୍‌ ଯାଞ୍ଚ ହେଉଛି<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">ଯେଉଁ ଆପ୍ଲିକେସନ୍‌ ଯୋଗୁଁ ଏହି ତ୍ରୁଟି ହୋ‍ଇପାରେ ସେମାନଙ୍କ ମଧ୍ୟରେ ଆଣ୍ଟିଭାଇରସ୍‌, ଫାୟାର୍‌ୱାଲ୍‌ ଏବଂ ୱେବ୍‌-ଫିଲ୍ଟରିଂ କିମ୍ବା ପ୍ରକ୍ସି ସଫ୍ଟୱେର୍ ସାମିଲ୍‍ ଅଛି।</translation>
 <translation id="373042150751172459">B4 (ଏନଭଲପ୍)</translation>
-<translation id="3731873414101415120">ଆପଣ ଭିଜିଟ୍ କରିଥିବା ୱେବସାଇଟ୍ ଏବଂ ସୁରକ୍ଷିତ ନଥିବା ପୃଷ୍ଠାଗୁଡ଼ିକର ବିଷୟବସ୍ତୁ</translation>
 <translation id="3736520371357197498">ଆପଣଙ୍କ ସୁରକ୍ଷା ପ୍ରତି ଥିବା ବିପଦକୁ ଯଦି ଆପଣ ବୁଝିପାରନ୍ତି, ତେବେ ବିପଦପୂର୍ଣ୍ଣ ପ୍ରୋଗ୍ରାମ୍‍ଗୁଡ଼ିକୁ କଢ଼ାଯିବା ପୂର୍ବରୁ ଆପଣ ଏହି <ph name="BEGIN_LINK" />ଅସୁରକ୍ଷିତ ସାଇଟ୍‍କୁ ଯାଇପାରନ୍ତି<ph name="END_LINK" />।</translation>
 <translation id="3738166223076830879">ଆପଣଙ୍କର ଆଡମିନିଷ୍ଟ୍ରେଟରଙ୍କ ଦ୍ୱାରା ଆପଣଙ୍କ ବ୍ରାଉଜର୍ ପରିଚାଳିତ ହେଉଛି।</translation>
 <translation id="3744899669254331632">ଆପଣ ବର୍ତ୍ତମାନ <ph name="SITE" />କୁ ଯାଇପାରିବେ ନାହିଁ କାରଣ ୱେବ୍-ସାଇଟ୍ ଅସ୍ପଷ୍ଟ କ୍ରେଡେନ୍ସିଆଲ୍‍ଗୁଡ଼ିକୁ ପଠାଇଛି ଯାହାକୁ, Chromium କାର୍ଯ୍ୟକାରୀ କରିପାରିବ ନାହିଁ। ନେଟ୍‍ୱାର୍କ ତ୍ରୁଟି ଓ ଆକ୍ରମଣଗୁଡ଼ିକ ସାଧାରଣତଃ ଅସ୍ଥାୟୀ ଅଟେ ତେଣୁ ଏହି ପୃଷ୍ଠା ପରେ କାମ କରିପାରେ।</translation>
diff --git a/components/strings/components_strings_pa.xtb b/components/strings/components_strings_pa.xtb
index 163aa89..3055d98 100644
--- a/components/strings/components_strings_pa.xtb
+++ b/components/strings/components_strings_pa.xtb
@@ -657,7 +657,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ਪ੍ਰੌਕਸੀ, ਫ਼ਾਇਰਵਾਲ, ਅਤੇ DNS ਸੰਰੂਪਣ ਦੀ ਜਾਂਚ ਕਰੋ<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">ਜਿਨ੍ਹਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਕਰਕੇ ਗੜਬੜ ਹੋ ਸਕਦੀ ਹੈ ਉਹਨਾਂ ਵਿੱਚ ਐਂਟੀਵਾਇਰਸ, ਫ਼ਾਇਰਵਾਲ, ਅਤੇ ਵੈੱਬ-ਫਿਲਟਰਿੰਗ ਜਾਂ ਪ੍ਰੌਕਸੀ ਸਾਫਟਵੇਅਰ ਸ਼ਾਮਲ ਹਨ।</translation>
 <translation id="373042150751172459">B4 (ਲਿਫ਼ਾਫ਼ਾ)</translation>
-<translation id="3731873414101415120">ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੀਆਂ ਜਾਂਦੀਆਂ ਵੈੱਬਸਾਈਟਾਂ ਅਤੇ ਗੈਰ-ਸੁਰੱਖਿਅਤ ਪੰਨਿਆਂ ਦੀਆਂ ਸਮੱਗਰੀਆਂ</translation>
 <translation id="3736520371357197498">ਜੇਕਰ ਤੁਹਾਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਤੁਹਾਡੀ ਸੁਰੱਖਿਆ ਨੂੰ ਖਤਰਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਹਾਨੀਕਾਰਕ ਪ੍ਰੋਗਰਾਮਾਂ ਨੂੰ ਹਟਾਏ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ <ph name="BEGIN_LINK" />ਇਸ ਅਸੁਰੱਖਿਅਤ ਸਾਈਟ 'ਤੇ ਜਾ ਸਕਦੇ ਹੋ<ph name="END_LINK" />।</translation>
 <translation id="3738166223076830879">ਤੁਹਾਡਾ ਪ੍ਰਸ਼ਾਸਕ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ।</translation>
 <translation id="3744899669254331632">ਤੁਸੀਂ ਇਸ ਵੇਲੇ <ph name="SITE" /> ਤੇ ਵਿਜਿਟ ਨਹੀਂ ਕਰ ਸਕਦੇ ਕਿਉਂਕਿ ਵੈੱਬਸਾਈਟ ਨੇ ਸਕ੍ਰੈਂਬਲ ਕੀਤੇ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲਸ ਭੇਜੇ ਸਨ ਜਿਹਨਾਂ ਨਾਲ Chromium ਪ੍ਰਕਿਰਿਆ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਨੈਟਵਰਕ ਅਸ਼ੁੱਧੀਆਂ ਅਤੇ ਹਮਲੇ ਆਮ ਤੌਰ ਤੇ ਅਸਥਾਈ ਹੁੰਦੇ ਹਨ, ਇਸਲਈ ਇਹ ਸਫ਼ਾ ਸ਼ਾਇਦ ਬਾਅਦ ਵਿੱਚ ਕੰਮ ਕਰੇਗਾ।</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb
index 74843b7d..d1ebeb03 100644
--- a/components/strings/components_strings_pl.xtb
+++ b/components/strings/components_strings_pl.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Cofnij zmianę kolejności</translation>
 <translation id="1125573121925420732">Ostrzeżenia mogą pojawiać się często, dopóki strony internetowe nie zaktualizują swoich zabezpieczeń. Wkrótce powinno się to poprawić.</translation>
 <translation id="112840717907525620">Pamięć podręczna zasad: OK</translation>
+<translation id="1130564665089811311">Przycisk tłumaczenia strony. Naciśnij Enter, by Tłumacz Google przetłumaczył tę stronę.</translation>
 <translation id="1131264053432022307">Skopiowany obraz</translation>
 <translation id="1150979032973867961">Ten serwer nie mógł udowodnić, że należy do <ph name="DOMAIN" />. Jego certyfikat bezpieczeństwa nie jest zaufany w systemie operacyjnym tego komputera. Może to być spowodowane błędną konfiguracją lub przechwyceniem połączenia przez atakującego.</translation>
 <translation id="1151972924205500581">Wymagane hasło</translation>
@@ -404,6 +405,7 @@
 <translation id="2634124572758952069">Nie udało się znaleźć adresu IP serwera ze stroną <ph name="HOST_NAME" />.</translation>
 <translation id="2639739919103226564">Stan:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />. Naciśnij Tab, a potem Enter, by wyczyścić historię przeglądania, pliki cookie, pamięć podręczną i inne dane w ustawieniach Chrome.</translation>
 <translation id="2650446666397867134">Odmówiono dostępu do pliku</translation>
 <translation id="2653659639078652383">Prześlij</translation>
 <translation id="2660779039299703961">Wydarzenie</translation>
@@ -426,6 +428,7 @@
 <translation id="2705137772291741111">Zapisana w pamięci podręcznej kopia tej strony jest uszkodzona.</translation>
 <translation id="2709516037105925701">Autouzupełnianie</translation>
 <translation id="2713444072780614174">Biały</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />. Naciśnij Tab, a potem Enter, by zarządzać informacjami o płatnościach i danymi kart kredytowych w ustawieniach Chrome.</translation>
 <translation id="2721148159707890343">Żądanie wykonane pomyślnie</translation>
 <translation id="272451190272506600">Aby zapłacić, dotknij czytnika</translation>
 <translation id="2728127805433021124">Certyfikat serwera został podpisany przy użyciu słabego algorytmu podpisu.</translation>
@@ -638,6 +641,7 @@
 <translation id="3630155396527302611">Jeśli ten program jest już na liście programów mogących korzystać z sieci,
     spróbuj go z niej usunąć i dodać ponownie.</translation>
 <translation id="3631244953324577188">Biometria</translation>
+<translation id="3633738897356909127">Przycisk aktualizacji Chrome. Naciśnij Enter, by zaktualizować przeglądarkę Chrome z poziomu jej ustawień.</translation>
 <translation id="3634530185120165534">Taca 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Weryfikacja powiodła się</translation>
@@ -661,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Sprawdź serwer proxy, zaporę sieciową i konfigurację DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Aplikacje, które mogą wywoływać ten błąd, to na przykład programy antywirusowe, zapory sieciowe oraz oprogramowanie do filtrowania ruchu w sieci lub obsługi serwera proxy.</translation>
 <translation id="373042150751172459">B4 (koperta)</translation>
-<translation id="3731873414101415120">Odwiedzone strony internetowe i zawartość niezabezpieczonych stron</translation>
 <translation id="3736520371357197498">Jeśli rozumiesz zagrożenie, możesz <ph name="BEGIN_LINK" />odwiedzić tę niebezpieczną stronę<ph name="END_LINK" />, zanim niebezpieczne programy zostaną usunięte.</translation>
 <translation id="3738166223076830879">Przeglądarką zarządza administrator.</translation>
 <translation id="3744899669254331632">Nie możesz teraz odwiedzić strony <ph name="SITE" />, ponieważ wysłała ona zaszyfrowane dane logowania, których Chromium nie może przetworzyć. Błędy sieciowe i ataki są zazwyczaj tymczasowe, więc prawdopodobnie strona będzie dostępna później.</translation>
@@ -857,6 +860,7 @@
 <translation id="4506599922270137252">Skontaktuj się z administratorem systemu</translation>
 <translation id="450710068430902550">Udostępnianie administratorowi</translation>
 <translation id="4508814173490746936">Nie udało się użyć Touch ID</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />. Naciśnij Tab, a potem Enter, by Tłumacz Google przetłumaczył tę stronę.</translation>
 <translation id="4510487217173779431">Chou4 (koperta)</translation>
 <translation id="4515275063822566619">Karty i adresy pochodzą z Chrome i Twojego konta Google (<ph name="ACCOUNT_EMAIL" />). Możesz nimi zarządzać w <ph name="BEGIN_LINK" />Ustawieniach<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (koperta)</translation>
@@ -937,6 +941,7 @@
 <translation id="4879725228911483934">Otwierać i rozmieszczać okna na Twoich ekranach.</translation>
 <translation id="4880827082731008257">Przeszukaj historię</translation>
 <translation id="4881695831933465202">Otwórz</translation>
+<translation id="4889420713887366944">Przycisk otwierania okna incognito. Naciśnij Enter, by otworzyć nowe okno incognito i przeglądać prywatnie.</translation>
 <translation id="4892518386797173871">Tył</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Zapisz...</translation>
@@ -1098,6 +1103,7 @@
 <translation id="5523118979700054094">Nazwa zasady</translation>
 <translation id="55293785478302737">Zszywanie wzdłuż krawędzi</translation>
 <translation id="553484882784876924">Prc6 (koperta)</translation>
+<translation id="5535133333442455806">Przycisk czyszczenia danych przeglądania. Naciśnij Enter, by wyczyścić historię przeglądania, pliki cookie, pamięć podręczną i inne dane w ustawieniach Chrome.</translation>
 <translation id="5536214594743852365">Pokaż sekcję „<ph name="SECTION" />”</translation>
 <translation id="5539243836947087108">Tratwa</translation>
 <translation id="5540224163453853">Nie udało się znaleźć tego artykułu.</translation>
@@ -1373,7 +1379,7 @@
 <translation id="6687335167692595844">Zażądano rozmiaru czcionki</translation>
 <translation id="6689249931105087298">Względna z kompresją punktu czerni</translation>
 <translation id="6689271823431384964">Chrome proponuje zalogowanym użytkownikom zapisywanie kart na koncie Google. Możesz to zmienić w ustawieniach. Imię i nazwisko posiadacza karty pochodzi z Twojego konta.</translation>
-<translation id="6710213216561001401">Wstecz</translation>
+<translation id="6710213216561001401">Poprzedni</translation>
 <translation id="6710594484020273272">&lt;Wpisz wyszukiwane słowa&gt;</translation>
 <translation id="671076103358959139">Token rejestracji:</translation>
 <translation id="6711464428925977395">Serwer proxy działa nieprawidłowo albo adres jest błędny.</translation>
@@ -1597,6 +1603,7 @@
 <translation id="7600965453749440009">Nigdy nie tłumacz z języka: <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">Wartość spoza zakresu (<ph name="VALUE" />)</translation>
 <translation id="7613889955535752492">Wygasa: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />. Naciśnij Tab, a potem Enter, by wyświetlić hasła i zarządzać nimi w ustawieniach Chrome.</translation>
 <translation id="7615602087246926389">Masz już dane zaszyfrowane przy użyciu innej wersji hasła konta Google. Wpisz je poniżej.</translation>
 <translation id="7616645509853975347">Administrator włączył w przeglądarce oprogramowanie sprzęgające Chrome Enterprise. Może ono mieć dostęp do niektórych Twoich danych.</translation>
 <translation id="7619838219691048931">Arkusz końcowy</translation>
@@ -1853,6 +1860,8 @@
 <translation id="8725066075913043281">Spróbuj ponownie</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> to Twój kod do <ph name="ORIGIN" /></translation>
@@ -1869,6 +1878,7 @@
 <translation id="8793655568873652685">Strona <ph name="ENROLLMENT_DOMAIN" /> włączyła w przeglądarce oprogramowanie sprzęgające Chrome Enterprise. Może ono mieć dostęp do niektórych Twoich danych.</translation>
 <translation id="8805819170075074995">Pozycja na liście „<ph name="LANGUAGE_ID" />”: pozycja została zignorowana, ponieważ występuje też w zasadzie SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Przycięcie po każdej stronie</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />. Naciśnij Tab, a potem Enter, by zaktualizować przeglądarkę Chrome z poziomu jej ustawień.</translation>
 <translation id="8820817407110198400">Zakładki</translation>
 <translation id="883848425547221593">Inne zakładki</translation>
 <translation id="884264119367021077">Adres wysyłki</translation>
@@ -1888,6 +1898,7 @@
 <translation id="890493561996401738">Usuń przycisk sugestii. Naciśnij Enter, by usunąć, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Jesteś w trybie incognito</translation>
 <translation id="8912362522468806198">Konta Google</translation>
+<translation id="8913778647360618320">Przycisk zarządzania formami płatności. Naciśnij Enter, by zarządzać informacjami o płatnościach i danymi kart kredytowych w ustawieniach Chrome.</translation>
 <translation id="8918231688545606538">Ta strona jest podejrzana</translation>
 <translation id="892588693504540538">Otwór w prawym górnym rogu</translation>
 <translation id="8931333241327730545">Chcesz zapisać tę kartę na swoim koncie Google?</translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb
index 50b57c0..863e558 100644
--- a/components/strings/components_strings_pt-BR.xtb
+++ b/components/strings/components_strings_pt-BR.xtb
@@ -659,7 +659,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Verificar a configuração de DNS, proxy e firewall<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Entre os apps que podem causar esse erro estão antivírus, firewall e softwares de filtros ou proxy da Web.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Os sites que você visita e o conteúdo de páginas não seguras</translation>
 <translation id="3736520371357197498">Se você entende os riscos à sua segurança, pode <ph name="BEGIN_LINK" />acessar este site inseguro<ph name="END_LINK" /> antes de os programas perigosos serem removidos.</translation>
 <translation id="3738166223076830879">Seu navegador é gerenciado pelo administrador.</translation>
 <translation id="3744899669254331632">Você não pode visitar <ph name="SITE" /> agora porque o website enviou credenciais embaralhadas que o Chromium não consegue processar. Erros de rede e ataques são geralmente temporários, de modo que esta página provavelmente funcionará mais tarde.</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb
index 1305e2fc..917ee7f 100644
--- a/components/strings/components_strings_pt-PT.xtb
+++ b/components/strings/components_strings_pt-PT.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Anular reordenação</translation>
 <translation id="1125573121925420732">Pode ser frequente a apresentação de avisos enquanto os Websites atualizam a respetiva segurança. Esta situação deve melhorar brevemente.</translation>
 <translation id="112840717907525620">Cache da política OK</translation>
+<translation id="1130564665089811311">Botão Traduzir página; prima Enter para traduzir esta página com o Google Tradutor.</translation>
 <translation id="1131264053432022307">Imagem que copiou</translation>
 <translation id="1150979032973867961">Este servidor não conseguiu provar que é o domínio <ph name="DOMAIN" />; o sistema operativo do seu computador não confia no respetivo certificado de segurança. Isto pode ser o resultado de uma configuração incorreta ou de um invasor a intercetar a sua ligação.</translation>
 <translation id="1151972924205500581">É necessária a palavra-passe</translation>
@@ -408,6 +409,7 @@
 <translation id="2634124572758952069">Não foi possível encontrar o endereço IP do servidor de <ph name="HOST_NAME" />.</translation>
 <translation id="2639739919103226564">Estado:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para limpar o seu histórico de navegação, cookies, cache e muito mais nas Definições do Chrome.</translation>
 <translation id="2650446666397867134">O acesso ao ficheiro foi negado</translation>
 <translation id="2653659639078652383">Enviar</translation>
 <translation id="2660779039299703961">Evento</translation>
@@ -430,6 +432,7 @@
 <translation id="2705137772291741111">A cópia guardada (em cache) deste site era ilegível.</translation>
 <translation id="2709516037105925701">Preenchimento automático</translation>
 <translation id="2713444072780614174">Branco</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para as suas informações de cartões de crédito e pagamentos nas Definições do Chrome.</translation>
 <translation id="2721148159707890343">Pedido com êxito</translation>
 <translation id="272451190272506600">Toque no sensor para pagar.</translation>
 <translation id="2728127805433021124">O certificado do servidor foi assinado utilizando um algoritmo de assinatura fraco.</translation>
@@ -642,6 +645,7 @@
 <translation id="3630155396527302611">Se já estiver indicado na lista como sendo um programa com permissão para aceder à rede, experimente
     removê-lo da lista e adicioná-lo novamente.</translation>
 <translation id="3631244953324577188">Biometria</translation>
+<translation id="3633738897356909127">Botão Atualizar Chrome; prima Enter para atualizar o Chrome nas Definições do Chrome.</translation>
 <translation id="3634530185120165534">Tabuleiro 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Validação com êxito</translation>
@@ -665,7 +669,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Verificar a configuração do proxy, da firewall e de DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">As aplicações que podem causar este erro incluem antivírus, firewalls e software de filtragem Web ou proxy.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Os Websites que visita e o conteúdo de páginas não seguras.</translation>
 <translation id="3736520371357197498">Se compreende os riscos para a sua segurança, pode <ph name="BEGIN_LINK" />visitar este site não seguro<ph name="END_LINK" /> antes de os programas perigosos terem sido removidos.</translation>
 <translation id="3738166223076830879">O seu navegador é gerido pelo seu administrador.</translation>
 <translation id="3744899669254331632">Não pode visitar <ph name="SITE" /> neste momento, porque o Website enviou credenciais baralhadas que o Chromium não consegue processar. Os erros de rede e os ataques são geralmente temporários, pelo que esta página deverá funcionar mais tarde.</translation>
@@ -866,6 +869,7 @@
 <translation id="4506599922270137252">Contactar o gestor do sistema</translation>
 <translation id="450710068430902550">Partilha com o gestor</translation>
 <translation id="4508814173490746936">Não foi possível utilizar o Touch ID</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para traduzir esta página com o Google Tradutor.</translation>
 <translation id="4510487217173779431">Chou4 (Envelope)</translation>
 <translation id="4515275063822566619">Os cartões e os endereços são provenientes do Chrome e da sua Conta Google (<ph name="ACCOUNT_EMAIL" />). Pode geri-los nas <ph name="BEGIN_LINK" />Definições<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (Envelope)</translation>
@@ -946,6 +950,7 @@
 <translation id="4879725228911483934">Abrir e colocar janelas nos seus ecrãs</translation>
 <translation id="4880827082731008257">Pesquisar histórico</translation>
 <translation id="4881695831933465202">Abrir</translation>
+<translation id="4889420713887366944">Botão Abrir janela de navegação anónima; prima Enter para abrir uma nova janela de navegação anónima para navegar em privado.</translation>
 <translation id="4892518386797173871">Traseiro</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Guardar…</translation>
@@ -1107,6 +1112,7 @@
 <translation id="5523118979700054094">Nome da política</translation>
 <translation id="55293785478302737">Coser extremidade</translation>
 <translation id="553484882784876924">Prc6 (Envelope)</translation>
+<translation id="5535133333442455806">Botão Limpar dados de navegação; prima Enter para limpar o seu histórico de navegação, cookies, cache e muito mais nas Definições do Chrome.</translation>
 <translation id="5536214594743852365">Mostrar a secção "<ph name="SECTION" />"</translation>
 <translation id="5539243836947087108">Raft</translation>
 <translation id="5540224163453853">Não foi possível encontrar o artigo solicitado.</translation>
@@ -1605,6 +1611,7 @@
 <translation id="7600965453749440009">Nunca traduzir do <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">O valor está fora do intervalo <ph name="VALUE" /> .</translation>
 <translation id="7613889955535752492">Exp.: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para ver e gerir as suas palavras-passe nas Definições do Chrome.</translation>
 <translation id="7615602087246926389">Já tem dados encriptados usando uma versão diferente da palavra-passe da sua Conta Google. Introduza-a abaixo.</translation>
 <translation id="7616645509853975347">O seu administrador ativou os Chrome Enterprise Connectors no navegador. Estes conetores têm acesso a alguns dos seus dados.</translation>
 <translation id="7619838219691048931">Folha final</translation>
@@ -1862,6 +1869,8 @@
 <translation id="8725066075913043281">Tentar novamente</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> é o seu código para <ph name="ORIGIN" />.</translation>
@@ -1878,6 +1887,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> ativou os Chrome Enterprise Connectors no navegador. Estes conetores têm acesso a alguns dos seus dados.</translation>
 <translation id="8805819170075074995">Entrada da lista "<ph name="LANGUAGE_ID" />": a entrada foi ignorada porque também está incluída na política SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Cortar no fim de cada página</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para atualizar o Chrome nas Definições do Chrome.</translation>
 <translation id="8820817407110198400">Marcadores</translation>
 <translation id="883848425547221593">Outros marcadores</translation>
 <translation id="884264119367021077">Endereço para envio</translation>
@@ -1897,6 +1907,7 @@
 <translation id="890493561996401738">Botão Remover sugestão, prima Enter para remover, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" />.</translation>
 <translation id="8910670906166981838">Está no Modo de navegação anónima</translation>
 <translation id="8912362522468806198">Conta Google</translation>
+<translation id="8913778647360618320">Botão Gerir métodos de pagamento; prima Enter para gerir as suas informações de cartões de crédito e pagamentos nas Definições do Chrome.</translation>
 <translation id="8918231688545606538">Esta página é suspeita</translation>
 <translation id="892588693504540538">Perfurar na parte superior direita</translation>
 <translation id="8931333241327730545">Pretende guardar este cartão na sua Conta Google?</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb
index f792d4d..b6ba4cb 100644
--- a/components/strings/components_strings_ro.xtb
+++ b/components/strings/components_strings_ro.xtb
@@ -663,7 +663,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />să verifici configurarea pentru proxy, firewall și DNS;<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Aplicațiile care pot genera această eroare includ software-ul antivirus, firewall, de filtrare web sau proxy.</translation>
 <translation id="373042150751172459">B4 (Plic)</translation>
-<translation id="3731873414101415120">Site-urile pe care le accesezi și conținutul paginilor nesecurizate</translation>
 <translation id="3736520371357197498">Dacă înțelegeți riscurile de securitate, puteți să <ph name="BEGIN_LINK" />accesați acest site nesigur<ph name="END_LINK" /> înainte ca programele periculoase să fie eliminate.</translation>
 <translation id="3738166223076830879">Browserul este gestionat de administratorul tău.</translation>
 <translation id="3744899669254331632">Nu poți accesa acum <ph name="SITE" />, deoarece site-ul a trimis date de conectare într-un format necunoscut pe care Chromium nu le poate procesa. Erorile de rețea și atacurile sunt de obicei temporare și probabil că această pagină va funcționa mai târziu.</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb
index d32f37c..8d5c459 100644
--- a/components/strings/components_strings_ru.xtb
+++ b/components/strings/components_strings_ru.xtb
@@ -658,7 +658,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Проверьте настройки прокси-сервера, брандмауэра и DNS<ph name="END_LINK" />.</translation>
 <translation id="372429172604983730">Эта ошибка может возникать из-за антивирусных приложений, брандмауэра, программ для веб-фильтрации или прокси-сервера.</translation>
 <translation id="373042150751172459">B4 (конверт)</translation>
-<translation id="3731873414101415120">Сайты, которые вы посещаете, и содержимое незащищенных страниц.</translation>
 <translation id="3736520371357197498">Если вы готовы подвергнуть риску ваши личные данные, вы можете <ph name="BEGIN_LINK" />перейти на зараженный сайт<ph name="END_LINK" />, не дожидаясь удаления вредоносного ПО.</translation>
 <translation id="3738166223076830879">Этим браузером управляет администратор.</translation>
 <translation id="3744899669254331632">Перейти на сайт <ph name="SITE" /> невозможно, так как его идентификационные данные зашифрованы, и Chrome не может их обработать. Это могло произойти из-за ошибки сети или атаки на сайт. Скорее всего, он заработает через некоторое время.</translation>
diff --git a/components/strings/components_strings_si.xtb b/components/strings/components_strings_si.xtb
index 98bf1ec..54aeb57 100644
--- a/components/strings/components_strings_si.xtb
+++ b/components/strings/components_strings_si.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">යළි ඇණවුම් කිරීම &amp;පසුගමනය කරන්න</translation>
 <translation id="1125573121925420732">වෙබ් අඩවි ඔවුන්ගේ ආරක්ෂාව යාවත්කාලීන කරන අතරතුර අනතුරු ඇඟවීම් පොදු දෙයක් විය හැක. මෙය ඉක්මනින් වැඩි දියුණු විය යුතුය.</translation>
 <translation id="112840717907525620">ප්‍රතිපත්ති තාවකාලික මතකය හරි</translation>
+<translation id="1130564665089811311">පිටුව පරිවර්තනය කරන්න බොත්තම, Google පරිවර්තනය සමඟ මෙම පිටුව පරිවර්තනය කිරීමට Enter ඔබන්න</translation>
 <translation id="1131264053432022307">ඔබ පිටපත් කළ රූපය</translation>
 <translation id="1150979032973867961">මෙම සේවාදායකයට එය <ph name="DOMAIN" /> බව සනාථ කිරීමට නොහැකි විය; එහි ආරක්ෂණ සහතිකය ඔබගේ පරිගණකයෙහි මෙහෙයුම් පද්ධතිය මගින් විශ්වාස නොකරයි. මෙය වැරදි වින්‍යාස කිරීමක් හෝ ප්‍රහාරකයකු ඔබගේ සබැඳුමට බාධා කිරීමක් නිසා විය හැකිය.</translation>
 <translation id="1151972924205500581">රහස්වචනය අවශ්‍යයි</translation>
@@ -408,6 +409,7 @@
 <translation id="2634124572758952069"><ph name="HOST_NAME" /> සේවාදායකයේ IP ලිපිනය සොයා ගත නොහැකි විය.</translation>
 <translation id="2639739919103226564">තත්වය:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, Chrome සැකසීම් තුළ ඔබගේ බ්‍රවුස් කිරීමේ ඉතිහාසය, කුකි, හැඹිලිය සහ තවත් දේ හිස් කිරීමට, Tab ඔබා අනතුරුව Enter ඔබන්න</translation>
 <translation id="2650446666397867134">ගොනුවට පිවිසුම ප්‍රතික්ශේප විය</translation>
 <translation id="2653659639078652383">ඉදිරිපත් කරන්න</translation>
 <translation id="2660779039299703961">ඉසව්ව</translation>
@@ -430,6 +432,7 @@
 <translation id="2705137772291741111">මෙම අඩවියෙහි සුරැකි (හැඹිලිගත කළ) පිටපත කියවිය නොහැකි විය.</translation>
 <translation id="2709516037105925701">ස්වයං පිරවීම</translation>
 <translation id="2713444072780614174">සුදු</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, Chrome සැකසීම් තුළ ඔබගේ ගෙවීම් සහ ණය කාඩ්පත් තතු කළමනාකරණය කිරීමට Tab ඔබා අනතුරුව Enter ඔබන්න</translation>
 <translation id="2721148159707890343">ඉල්ලීම සාර්ථකයි</translation>
 <translation id="272451190272506600">ගෙවීමට සංවේදකය ස්පර්ශ කරන්න</translation>
 <translation id="2728127805433021124">සේවාදායකයේ සහතිකය දුර්වල අත්සන් ඇල්ගොරිතමයක් භාවිතයෙන් සන් කර ඇත.</translation>
@@ -640,6 +643,7 @@
 <translation id="3630155396527302611">එය දැනටමත් ජාලයට ප්‍රවේශ විය හැකි ක්‍රමලේඛයක් ලෙස ලැයිස්තුගත කර තිබේ නම්, එය
       ලැයිස්තුවෙන් ඉවත් කර නැවත එක් කිරීමට උත්සාහ කරන්න.</translation>
 <translation id="3631244953324577188">ජෛවමිතික</translation>
+<translation id="3633738897356909127">Chrome යාවත්කාලීන කරන්න බොත්තම, ඔබගේ Chrome සැකසීම් වෙතින් Chrome යාවත්කාලීන කිරීමට Enter ඔබන්න</translation>
 <translation id="3634530185120165534">බඳුන 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">වලංගුකරණය සාර්ථකයි</translation>
@@ -663,7 +667,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ප්‍රොක්සි, සුරැකුම් පවුර සහ DNS වින්‍යාස කිරීම පරීක්ෂා කරමින්<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">මෙම දෝෂයට හේතු වන යෙදුම්වල ප්‍රති-වයිරස, ෆයර්වෝල් සහ වෙබ්-පෙරහන් හෝ ප්‍රොක්සි මෘදුකාංග ඇතුළත් වේ.</translation>
 <translation id="373042150751172459">B4 (ලියුම් කවරය)</translation>
-<translation id="3731873414101415120">ඔබ පැමිණෙන වෙබ් අඩවි සහ සුරක්‍ෂිත නොවන පිටුවල අන්තර්ගත</translation>
 <translation id="3736520371357197498">ඔබට ඔබගේ ආරක්ෂාව සඳහා වන අවදානම් වැටහෙන්නේ නම්, ඔබ හානිකර ක්‍රමලේඛ ඉවත් කර තිබීමට පෙර <ph name="BEGIN_LINK" />මෙම අනාරක්ෂාකාරී වෙබ් අඩවිය වෙත පිවිසිය හැක<ph name="END_LINK" /></translation>
 <translation id="3738166223076830879">ඔබේ බ්‍රවුසරය ඔබේ පරිපාලක විසින් කළමනාකරණය කරයි.</translation>
 <translation id="3744899669254331632">Chromium වලට ක්‍රියාවලිය කළ නොහැකි අවුල් අක්තපත්‍ර වෙබ් අඩවියට යැවූ නිසා ඔබට දැන් <ph name="SITE" /> වෙත පැමිණිය නොහැක. ජාල දෝෂ සහ ප්‍රහාර සාමාන්‍යයෙන් තාවකාලිකය, පෙනෙන හැටියට මෙම පිටුව පසුව වැඩ කරයි.</translation>
@@ -861,6 +864,7 @@
 <translation id="4506599922270137252">පද්ධති පරිපාලක අමතමින්</translation>
 <translation id="450710068430902550">පරිපාලක සමඟ බෙදා ගැනීම</translation>
 <translation id="4508814173490746936">ස්පර්ශ හැඳුනුම භාවිත කළ නොහැකි විය</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, Google පරිවර්තනය සමගින් මෙම පිටුව පරිවර්තනය කිරීමට Tab ඔබා අනතුරුව Enter ඔබන්න</translation>
 <translation id="4510487217173779431">Chou4 (ලියුම් කවරය)</translation>
 <translation id="4515275063822566619">කාඩ්පත් සහ ලිපින Chrome සහ ඔබේ Google ගිණුම (<ph name="ACCOUNT_EMAIL" />) වෙතිනි. ඔබට ඒවා <ph name="BEGIN_LINK" />සැකසීම්<ph name="END_LINK" /> තුළ කළමනාකරණය කළ හැකිය.</translation>
 <translation id="4517607026994743406">Comm-10 (ලියුම් කවරය)</translation>
@@ -941,6 +945,7 @@
 <translation id="4879725228911483934">ඔබේ තිරය මත කවුළු විවෘත කරන්න සහ තබන්න</translation>
 <translation id="4880827082731008257">ඉතිහාසය සොයන්න</translation>
 <translation id="4881695831933465202">විවෘත කරන්න</translation>
+<translation id="4889420713887366944">අප්‍රසිද්ධ කවුළුව විවෘත කිරීමේ බොත්තම, පුද්ගලිකව බ්‍රවුස් කිරීමට නව Chrome අප්‍රසිද්ධ කවුළුව විවෘත කිරීමට Enter ඔබන්න</translation>
 <translation id="4892518386797173871">පසුපස</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">සුරකින්න...</translation>
@@ -1102,6 +1107,7 @@
 <translation id="5523118979700054094">ප්‍රතිපත්තියේ නම</translation>
 <translation id="55293785478302737">දාර මැස්ම</translation>
 <translation id="553484882784876924">Prc6 (ලියුම් කවරය)</translation>
+<translation id="5535133333442455806">බ්‍රවුස් කිරීමේ දත්ත හිස් කරන්න බොත්තම, Chrome සැකසීම් තුළ ඔබගේ ගවේෂණ ඉතිහාසය, කුකි, හැඹිලිය සහ තවත් දේ හිස් කිරීමට Enter ඔබන්න</translation>
 <translation id="5536214594743852365">"<ph name="SECTION" />" කොටස පෙන්වන්න</translation>
 <translation id="5539243836947087108">උඩුප</translation>
 <translation id="5540224163453853">ඉල්ලා සිටි ලිපිය සොයා ගත නොහැකි විය.</translation>
@@ -1601,6 +1607,7 @@
 <translation id="7600965453749440009"><ph name="LANGUAGE" /> කිසිදා පරිවර්තනය නොකරන්න</translation>
 <translation id="7610193165460212391">අගය <ph name="VALUE" /> පරාසයෙන් බැහැරව ඇත.</translation>
 <translation id="7613889955535752492">කල් ඉකුත් වීම: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, Chrome සැකසීම් තුළ ඔබගේ මුරපද බැලීමට සහ කළමනාකරණය කිරීමට Tab ඔබා අනතුරුව Enter ඔබන්න</translation>
 <translation id="7615602087246926389">Google Account රහස්වචනය වෙනත් අනුවාදයක් භාවිතා කරමින් සංකේතනය කළ දත්ත ඔබට දැනටමත් තිබේ. කරුණාකර එය පහත ඇතුළු කරන්න.</translation>
 <translation id="7616645509853975347">ඔබේ පරිපාලක ඔබේ බ්‍රව්සරයේ Chrome Enterprise Connectors ක්‍රියාත්මක කර ඇත. මෙම සම්බන්ධකවලට ඔබේ දත්ත සමහරක් වෙත ප්‍රවේශය තිබේ.</translation>
 <translation id="7619838219691048931">අවසන් පත්‍රය</translation>
@@ -1857,6 +1864,8 @@
 <translation id="8725066075913043281">නැවත උත්සහ කරන්න</translation>
 <translation id="8728672262656704056">ඔබ අප්‍රසිද්ධව ගොස් ඇත</translation>
 <translation id="8730621377337864115">අවසන්</translation>
+<translation id="8731544501227493793">මුරපද කළමනාකරණය කරන්න බොත්තම, ඔබගේ මුරපද Chrome සැකසීම් තුළ බැලීමට සහ කළමනාකරණය කිරීමට Enter ඔබන්න</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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> යනු <ph name="ORIGIN" /> සඳහා ඔබේ කේතය වෙයි</translation>
@@ -1873,6 +1882,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> ඔබේ බ්‍රව්සරයේ Chrome Enterprise Connectors ක්‍රියාත්මක කර ඇත. මෙම සම්බන්ධකවලට ඔබේ දත්ත සමහරක් වෙත ප්‍රවේශය තිබේ.</translation>
 <translation id="8805819170075074995">ලැයිස්තු ඇතුළත් කිරීම "<ph name="LANGUAGE_ID" />": එය SpellcheckLanguage ප්‍රතිපත්තිය තුළ ද ඇතුළු කොට තිබෙන බැවින් ඇතුළත් කිරීම නොසලකා හරිනු ලැබේ.</translation>
 <translation id="8807160976559152894">සෑම පිටුවකටම පසුව කප්පාදු කරන්න</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, ඔබගේ Chrome සැකසීම් වෙතින් Chrome යාවත්කාලීන කිරීමට Tab ඔබා අනතුරුව Enter ඔබන්න</translation>
 <translation id="8820817407110198400">පිටුසන්</translation>
 <translation id="883848425547221593">වෙනත් පිටු සලකුණු</translation>
 <translation id="884264119367021077">නැව්ගත ලිපිනය</translation>
@@ -1892,6 +1902,7 @@
 <translation id="890493561996401738">යෝජනා බොත්තම ඉවත් කරන්න, ඉවත් කිරීමට Enter ඔබන්න, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">ඔබ අප්‍රසිද්ධව ඇත</translation>
 <translation id="8912362522468806198">Google ගිණුම</translation>
+<translation id="8913778647360618320">ගෙවීම් ක්‍රම කළමනාකරණය කිරීමේ බොත්තම, Chrome සැකසීම් තුළ ඔබගේ ගෙවීම් සහ ණය කාඩ්පත් තතු කළමනාකරණය කිරීමට Tab ඔබා අනතුරුව Enter ඔබන්න</translation>
 <translation id="8918231688545606538">මෙම පිටුව සැක සහිතයි</translation>
 <translation id="892588693504540538">ඉහළ දකුණ අනින්න</translation>
 <translation id="8931333241327730545">ඔබට ඔබේ Google ගිණුම වෙත මෙම කාඩ්පත සුරැකීමට අවශ්‍යද?</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb
index 8d8fdb6c..c771509 100644
--- a/components/strings/components_strings_sk.xtb
+++ b/components/strings/components_strings_sk.xtb
@@ -655,7 +655,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Skontrolovať proxy server, bránu firewall a konfiguráciu DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Medzi aplikácie, ktoré môžu túto chybu spôsobiť, patria okrem iných antivírusové programy, brány firewall, softvér na filtrovanie webu alebo proxy softvér.</translation>
 <translation id="373042150751172459">B4 (obálka)</translation>
-<translation id="3731873414101415120">Weby, ktoré navštívite, a obsah nezabezpečených stránok</translation>
 <translation id="3736520371357197498">Ak si uvedomujete bezpečnostné riziko, môžete <ph name="BEGIN_LINK" />tieto nebezpečné stránky navštíviť<ph name="END_LINK" /> ešte skôr, ako budú nebezpečné programy odstránené.</translation>
 <translation id="3738166223076830879">Prehliadač je ovládaný vaším správcom.</translation>
 <translation id="3744899669254331632">Webové stránky <ph name="SITE" /> momentálne nemôžete navštíviť, pretože odoslali zakódované poverenia, ktoré Chromium neodkáže spracovať. Chyby siete a útoky sú zvyčajne dočasné, takže táto stránka by mala pravdepodobne neskôr fungovať.</translation>
@@ -1366,7 +1365,7 @@
 <translation id="6687335167692595844">Bola vyžiadaná veľkosť písma</translation>
 <translation id="6689249931105087298">Relatívne s kompresiou čierneho bodu</translation>
 <translation id="6689271823431384964">Chrome poskytuje možnosť uložiť karty v účte Google, pretože ste sa prihlásili. Toto správanie môžete zmeniť v nastaveniach. Toto meno majiteľa karty pochádza z vášho účtu.</translation>
-<translation id="6710213216561001401">Dozadu</translation>
+<translation id="6710213216561001401">Späť</translation>
 <translation id="6710594484020273272">&lt;Zadajte hľadaný výraz&gt;</translation>
 <translation id="671076103358959139">Registračný token:</translation>
 <translation id="6711464428925977395">Vyskytol sa problém s proxy serverom alebo je adresa nesprávna.</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb
index a2bc8a0..803a3331 100644
--- a/components/strings/components_strings_sl.xtb
+++ b/components/strings/components_strings_sl.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />preveriti strežnik proxy, požarni zid in konfiguracijo DNS-ja<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Aplikacije, ki lahko povzročijo to napako, so med drugim protivirusni program, požarni zid, programska oprema za spletno filtriranje ali strežnik proxy.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Spletna mesta, ki jih obiščete, in vsebina strani, ki niso varne</translation>
 <translation id="3736520371357197498">Če se zavedate varnostnega tveganja, lahko <ph name="BEGIN_LINK" />obiščete to spletno mesto, ki ni varno<ph name="END_LINK" />, preden bodo nevarni programi odstranjeni.</translation>
 <translation id="3738166223076830879">Brskalnik upravlja vaš skrbnik.</translation>
 <translation id="3744899669254331632">Spletnega mesta <ph name="SITE" /> trenutno ne morete obiskati, ker je poslalo šifrirane poverilnice, ki jih Chromium ne more obdelati. Napake v omrežju in napadi so običajno začasni, zato bo ta stran verjetno delovala pozneje.</translation>
@@ -1382,7 +1381,7 @@
 <translation id="6687335167692595844">Zahtevana je velikost besedila</translation>
 <translation id="6689249931105087298">Relativno s stiskanjem črnih pik</translation>
 <translation id="6689271823431384964">Chrome ponuja shranjevanje kartic v račun za Google, ker ste prijavljeni. To lahko spremenite v nastavitvah. Ime imetnika računa je iz vašega računa.</translation>
-<translation id="6710213216561001401">Nazaj</translation>
+<translation id="6710213216561001401">Prejšnji</translation>
 <translation id="6710594484020273272">&lt;Vnesite iskalno poizvedbo&gt;</translation>
 <translation id="671076103358959139">Žeton za včlanitev:</translation>
 <translation id="6711464428925977395">Nekaj je narobe s strežnikom proxy ali pa naslov ni pravilen.</translation>
diff --git a/components/strings/components_strings_sq.xtb b/components/strings/components_strings_sq.xtb
index a2b968ad..e87e477 100644
--- a/components/strings/components_strings_sq.xtb
+++ b/components/strings/components_strings_sq.xtb
@@ -662,7 +662,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Të kontrollosh përfaqësuesin, murin mbrojtës dhe konfigurimin e DNS-së<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Aplikacionet që mund ta shkaktojnë këtë gabim përfshijnë softuerë antivirusi, murin mbrojtës, si dhe softuerë filtrimi uebi ose ndërmjetësues.</translation>
 <translation id="373042150751172459">B4 (Zarf)</translation>
-<translation id="3731873414101415120">Faqet e internetit që viziton dhe përmbajtja e faqeve jo të sigurta</translation>
 <translation id="3736520371357197498">Nëse i kupton rreziqet për sigurinë tënde, mund <ph name="BEGIN_LINK" />ta vizitosh këtë faqe të pasigurt<ph name="END_LINK" /> para se të jenë hequr programet e rrezikshme.</translation>
 <translation id="3738166223076830879">Shfletuesi yt menaxhohet nga administratori yt.</translation>
 <translation id="3744899669254331632">Nuk mund ta vizitosh <ph name="SITE" /> tani sepse sajti i uebit dërgoi kredenciale të koduara që nuk mund të përpunohen nga Chromium. Gabimet dhe sulmet në rrjet zakonisht janë të përkohshme, kështu që kjo faqe ndoshta do të punojë më vonë.</translation>
diff --git a/components/strings/components_strings_sr-Latn.xtb b/components/strings/components_strings_sr-Latn.xtb
index 60dae63e..784142f 100644
--- a/components/strings/components_strings_sr-Latn.xtb
+++ b/components/strings/components_strings_sr-Latn.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Opozovi promenu redosleda</translation>
 <translation id="1125573121925420732">Upozorenja mogu često da se prikazuju dok veb-sajtovi ažuriraju bezbednost. To bi uskoro trebalo da se poboljša.</translation>
 <translation id="112840717907525620">Keš smernica je u redu</translation>
+<translation id="1130564665089811311">Dugme Prevedi stranicu, pritisnite Enter da biste preveli ovu stranicu pomoću Google prevodioca</translation>
 <translation id="1131264053432022307">Kopirana slika</translation>
 <translation id="1150979032973867961">Ovaj server ne može da dokaže da je <ph name="DOMAIN" />; operativni sistem računara nema poverenja u njegov bezbednosni sertifikat. Uzrok tome je možda pogrešna konfiguracija ili napadač koji je prekinuo vezu.</translation>
 <translation id="1151972924205500581">Lozinka je obavezna</translation>
@@ -408,6 +409,7 @@
 <translation id="2634124572758952069">Nismo uspeli da pronađemo IP adresu servera hosta <ph name="HOST_NAME" />.</translation>
 <translation id="2639739919103226564">Status:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, pa Enter da biste obrisali istoriju pregledanja, kolačiće, keš i drugo u podešavanjima Chrome-a</translation>
 <translation id="2650446666397867134">Pristup datoteci je odbijen</translation>
 <translation id="2653659639078652383">Pošalji</translation>
 <translation id="2660779039299703961">Događaj</translation>
@@ -430,6 +432,7 @@
 <translation id="2705137772291741111">Sačuvana (keširana) kopija ovog sajta nije mogla da se čita.</translation>
 <translation id="2709516037105925701">Automatsko popunjavanje</translation>
 <translation id="2713444072780614174">Bela</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, pa Enter da biste upravljali plaćanjima i informacijama o kreditnim karticama u podešavanjima Chrome-a</translation>
 <translation id="2721148159707890343">Zahtev je uspeo</translation>
 <translation id="272451190272506600">Dodirnite senzor da biste platili</translation>
 <translation id="2728127805433021124">Sertifikat servera je potpisan slabim algoritmom.</translation>
@@ -642,6 +645,7 @@
 <translation id="3630155396527302611">Ako je već naveden kao program kome je dozvoljen pristup mreži, pokušajte da ga
       uklonite sa liste i da ga ponovo dodate.</translation>
 <translation id="3631244953324577188">Biometrija</translation>
+<translation id="3633738897356909127">Dugme Ažuriraj Chrome, pritisnite Enter da biste ažurirali Chrome iz podešavanja Chrome-a</translation>
 <translation id="3634530185120165534">5. fioka</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Potvrda valjanosti je uspela</translation>
@@ -665,7 +669,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />da proverite konfiguraciju proksija, zaštitnog zida i DNS-a<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Aplikacije koje mogu da dovedu do ove greške obuhvataju antivirusni softver, zaštitni zid i veb-filtriranje ili proksi softver.</translation>
 <translation id="373042150751172459">B4 (koverat)</translation>
-<translation id="3731873414101415120">Veb-sajtovi koje posećujete i sadržaj stranica koje nisu bezbedne</translation>
 <translation id="3736520371357197498">Ako razumete bezbednosne rizike, možete da <ph name="BEGIN_LINK" />posetite ovaj nebezbedni sajt<ph name="END_LINK" /> pre nego što uklonimo opasne programe.</translation>
 <translation id="3738166223076830879">Administrator upravlja pregledačem.</translation>
 <translation id="3744899669254331632">Trenutno ne možete da posetite <ph name="SITE" /> jer je veb-sajt poslao kodirane akreditive koje Chromium ne može da obradi. Greške na mreži i napadi su uglavnom privremeni, pa će stranica verovatno proraditi kasnije.</translation>
@@ -866,6 +869,7 @@
 <translation id="4506599922270137252">da kontaktirate administratora sistema</translation>
 <translation id="450710068430902550">Deljenje sa administratorom</translation>
 <translation id="4508814173490746936">Korišćenje Touch ID-a nije uspelo</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, pa Enter da biste preveli ovu stranicu pomoću Google prevodioca</translation>
 <translation id="4510487217173779431">Chou4 (koverat)</translation>
 <translation id="4515275063822566619">Kartice i adrese su iz Chrome-a i sa vašeg Google naloga (<ph name="ACCOUNT_EMAIL" />). Njima možete da upravljate u <ph name="BEGIN_LINK" />podešavnjima<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (koverat)</translation>
@@ -946,6 +950,7 @@
 <translation id="4879725228911483934">da otvara i postavlja prozore na ekrane</translation>
 <translation id="4880827082731008257">Pretraži istoriju</translation>
 <translation id="4881695831933465202">Otvori</translation>
+<translation id="4889420713887366944">Dugme Otvori prozor bez arhiviranja, pritisnite Enter da biste otvorili nov prozor bez arhiviranja i pregledali privatno</translation>
 <translation id="4892518386797173871">Zadnji deo</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Sačuvaj...</translation>
@@ -1107,6 +1112,7 @@
 <translation id="5523118979700054094">Naziv smernica</translation>
 <translation id="55293785478302737">Spajanje ivica šavom</translation>
 <translation id="553484882784876924">Prc6 (koverat)</translation>
+<translation id="5535133333442455806">Dugme Obriši podatke pregledanja, pritisnite Enter da biste obrisali istoriju pregledanja, kolačiće, keš i drugo u podešavanjima Chromea</translation>
 <translation id="5536214594743852365">Prikaži odeljak <ph name="SECTION" /></translation>
 <translation id="5539243836947087108">Podloga</translation>
 <translation id="5540224163453853">Nismo pronašli zahtevani članak.</translation>
@@ -1605,6 +1611,7 @@
 <translation id="7600965453749440009">Nikad ne prevodi <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">Vrednost je izvan opsega <ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Ističe: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, pa Enter da biste pregledali lozinke i upravljali njima u podešavanjima Chrome-a</translation>
 <translation id="7615602087246926389">Već imate podatke koji su šifrovani pomoću druge verzije lozinke za Google nalog. Unesite je u nastavku.</translation>
 <translation id="7616645509853975347">Administrator je uključio Chrome Enterprise Connectors u pregledaču. Ovi priključci imaju pristup nekim vašim podacima.</translation>
 <translation id="7619838219691048931">Poslednji list</translation>
@@ -1862,6 +1869,8 @@
 <translation id="8725066075913043281">Probajte ponovo</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> je vaš kôd za <ph name="ORIGIN" /></translation>
@@ -1878,6 +1887,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> je uključio Chrome Enterprise Connectors u pregledaču. Ovi priključci imaju pristup nekim vašim podacima.</translation>
 <translation id="8805819170075074995">Unos na listi „<ph name="LANGUAGE_ID" />“: Unos se zanemaruje jer je obuhvaćen i smernicama SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Skraćivanje posle svake stranice</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, pa Enter da biste ažurirali Chrome iz podešavanja Chrome-a</translation>
 <translation id="8820817407110198400">Obeleživači</translation>
 <translation id="883848425547221593">Ostali obeleživači</translation>
 <translation id="884264119367021077">Adresa za isporuku</translation>
@@ -1897,6 +1907,7 @@
 <translation id="890493561996401738">Dugme Ukloni predlog, pritisnite Enter da biste uklonili, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Prešli ste na režim bez arhiviranja</translation>
 <translation id="8912362522468806198">Google naloga</translation>
+<translation id="8913778647360618320">Dugme Upravljaj načinima plaćanja, pritisnite Enter da biste upravljali plaćanjima i informacijama o kreditnim karticama u podešavanjima Chrome-a</translation>
 <translation id="8918231688545606538">Ova stranica je sumnjiva</translation>
 <translation id="892588693504540538">Bušenje u gornjem desnom uglu</translation>
 <translation id="8931333241327730545">Da li želite da sačuvate ovu karticu na Google nalog?</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb
index 77951cb..654ccd2 100644
--- a/components/strings/components_strings_sr.xtb
+++ b/components/strings/components_strings_sr.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Опозови промену редоследа</translation>
 <translation id="1125573121925420732">Упозорења могу често да се приказују док веб-сајтови ажурирају безбедност. То би ускоро требало да се побољша.</translation>
 <translation id="112840717907525620">Кеш смерница је у реду</translation>
+<translation id="1130564665089811311">Дугме Преведи страницу, притисните Enter да бисте превели ову страницу помоћу Google преводиоца</translation>
 <translation id="1131264053432022307">Копирана слика</translation>
 <translation id="1150979032973867961">Овај сервер не може да докаже да је <ph name="DOMAIN" />; оперативни систем рачунара нема поверења у његов безбедносни сертификат. Узрок томе је можда погрешна конфигурација или нападач који је прекинуо везу.</translation>
 <translation id="1151972924205500581">Лозинка је обавезна</translation>
@@ -408,6 +409,7 @@
 <translation id="2634124572758952069">Нисмо успели да пронађемо IP адресу сервера хоста <ph name="HOST_NAME" />.</translation>
 <translation id="2639739919103226564">Статус:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, притисните Tab, па Enter да бисте обрисали историју прегледања, колачиће, кеш и друго у подешавањима Chrome-а</translation>
 <translation id="2650446666397867134">Приступ датотеци је одбијен</translation>
 <translation id="2653659639078652383">Пошаљи</translation>
 <translation id="2660779039299703961">Догађај</translation>
@@ -430,6 +432,7 @@
 <translation id="2705137772291741111">Сачувана (кеширана) копија овог сајта није могла да се чита.</translation>
 <translation id="2709516037105925701">Аутоматско попуњавање</translation>
 <translation id="2713444072780614174">Бела</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, притисните Tab, па Enter да бисте управљали плаћањима и информацијама о кредитним картицама у подешавањима Chrome-а</translation>
 <translation id="2721148159707890343">Захтев је успео</translation>
 <translation id="272451190272506600">Додирните сензор да бисте платили</translation>
 <translation id="2728127805433021124">Сертификат сервера је потписан слабим алгоритмом.</translation>
@@ -642,6 +645,7 @@
 <translation id="3630155396527302611">Ако је већ наведен као програм коме је дозвољен приступ мрежи, покушајте да га
       уклоните са листе и да га поново додате.</translation>
 <translation id="3631244953324577188">Биометрија</translation>
+<translation id="3633738897356909127">Дугме Ажурирај Chrome, притисните Enter да бисте ажурирали Chrome из подешавања Chrome-а</translation>
 <translation id="3634530185120165534">5. фиока</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Потврда ваљаности је успела</translation>
@@ -665,7 +669,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />да проверите конфигурацију проксија, заштитног зида и DNS-а<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Апликације које могу да доведу до ове грешке обухватају антивирусни софтвер, заштитни зид и веб-филтрирање или прокси софтвер.</translation>
 <translation id="373042150751172459">B4 (коверат)</translation>
-<translation id="3731873414101415120">Веб-сајтови које посећујете и садржај страница које нису безбедне</translation>
 <translation id="3736520371357197498">Ако разумете безбедносне ризике, можете да <ph name="BEGIN_LINK" />посетите овај небезбедни сајт<ph name="END_LINK" /> пре него што уклонимо опасне програме.</translation>
 <translation id="3738166223076830879">Администратор управља прегледачем.</translation>
 <translation id="3744899669254331632">Тренутно не можете да посетите <ph name="SITE" /> јер је веб-сајт послао кодиране акредитиве које Chromium не може да обради. Грешке на мрежи и напади су углавном привремени, па ће страница вероватно прорадити касније.</translation>
@@ -866,6 +869,7 @@
 <translation id="4506599922270137252">да контактирате администратора система</translation>
 <translation id="450710068430902550">Дељење са администратором</translation>
 <translation id="4508814173490746936">Коришћење Touch ID-а није успело</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, притисните Tab, па Enter да бисте превели ову страницу помоћу Google преводиоца</translation>
 <translation id="4510487217173779431">Chou4 (коверат)</translation>
 <translation id="4515275063822566619">Картице и адресе су из Chrome-а и са вашег Google налога (<ph name="ACCOUNT_EMAIL" />). Њима можете да управљате у <ph name="BEGIN_LINK" />подешавњима<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (коверат)</translation>
@@ -946,6 +950,7 @@
 <translation id="4879725228911483934">да отвара и поставља прозоре на екране</translation>
 <translation id="4880827082731008257">Претражи историју</translation>
 <translation id="4881695831933465202">Отвори</translation>
+<translation id="4889420713887366944">Дугме Отвори прозор без архивирања, притисните Enter да бисте отворили нов прозор без архивирања и прегледали приватно</translation>
 <translation id="4892518386797173871">Задњи део</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Сачувај...</translation>
@@ -1107,6 +1112,7 @@
 <translation id="5523118979700054094">Назив смерница</translation>
 <translation id="55293785478302737">Спајање ивица шавом</translation>
 <translation id="553484882784876924">Prc6 (коверат)</translation>
+<translation id="5535133333442455806">Дугме Обриши податке прегледања, притисните Enter да бисте обрисали историју прегледања, колачиће, кеш и друго у подешавањима Chromeа</translation>
 <translation id="5536214594743852365">Прикажи одељак <ph name="SECTION" /></translation>
 <translation id="5539243836947087108">Подлога</translation>
 <translation id="5540224163453853">Нисмо пронашли захтевани чланак.</translation>
@@ -1605,6 +1611,7 @@
 <translation id="7600965453749440009">Никад не преводи <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">Вредност је изван опсега <ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Истиче: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, притисните Tab, па Enter да бисте прегледали лозинке и управљали њима у подешавањима Chrome-а</translation>
 <translation id="7615602087246926389">Већ имате податке који су шифровани помоћу друге верзије лозинке за Google налог. Унесите је у наставку.</translation>
 <translation id="7616645509853975347">Администратор је укључио Chrome Enterprise Connectors у прегледачу. Ови прикључци имају приступ неким вашим подацима.</translation>
 <translation id="7619838219691048931">Последњи лист</translation>
@@ -1862,6 +1869,8 @@
 <translation id="8725066075913043281">Пробајте поново</translation>
 <translation id="8728672262656704056">Прешли сте у режим Без архивирања</translation>
 <translation id="8730621377337864115">Готово</translation>
+<translation id="8731544501227493793">Дугме Управљај лозинкама, притисните Enter да бисте прегледали лозинке и управљали њима у подешавањима Chrome-а</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>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> је ваш кôд за <ph name="ORIGIN" /></translation>
@@ -1878,6 +1887,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> је укључио Chrome Enterprise Connectors у прегледачу. Ови прикључци имају приступ неким вашим подацима.</translation>
 <translation id="8805819170075074995">Унос на листи „<ph name="LANGUAGE_ID" />“: Унос се занемарује јер је обухваћен и смерницама SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Скраћивање после сваке странице</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, притисните Tab, па Enter да бисте ажурирали Chrome из подешавања Chrome-а</translation>
 <translation id="8820817407110198400">Обележивачи</translation>
 <translation id="883848425547221593">Остали обележивачи</translation>
 <translation id="884264119367021077">Адреса за испоруку</translation>
@@ -1897,6 +1907,7 @@
 <translation id="890493561996401738">Дугме Уклони предлог, притисните Enter да бисте уклонили, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Прешли сте на режим без архивирања</translation>
 <translation id="8912362522468806198">Google налога</translation>
+<translation id="8913778647360618320">Дугме Управљај начинима плаћања, притисните Enter да бисте управљали плаћањима и информацијама о кредитним картицама у подешавањима Chrome-а</translation>
 <translation id="8918231688545606538">Ова страница је сумњива</translation>
 <translation id="892588693504540538">Бушење у горњем десном углу</translation>
 <translation id="8931333241327730545">Да ли желите да сачувате ову картицу на Google налог?</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb
index b23841fd..50245a95 100644
--- a/components/strings/components_strings_sv.xtb
+++ b/components/strings/components_strings_sv.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />kontrollera proxyn, brandväggen och DNS-konfigureringen<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Det här problemet kan orsakas av bland annat antivirusprogram, brandväggar, webbfiltrerings- och proxyprogram.</translation>
 <translation id="373042150751172459">B4 (kuvert)</translation>
-<translation id="3731873414101415120">De webbplatser du besöker och innehåll på sidor som inte är säkra</translation>
 <translation id="3736520371357197498">Om du är medveten om säkerhetsriskerna kan du <ph name="BEGIN_LINK" />besöka den här osäkra webbplatsen<ph name="END_LINK" /> innan de skadliga programmen har tagits bort.</translation>
 <translation id="3738166223076830879">Webbläsaren hanteras av administratören.</translation>
 <translation id="3744899669254331632">Du kan inte besöka <ph name="SITE" /> just nu eftersom webbplatsen skickade krypterade användaruppgifter som Chromium inte kan bearbeta. Nätverksfel och attacker är ofta tillfälliga, så sidan kommer förmodligen fungera senare.</translation>
diff --git a/components/strings/components_strings_sw.xtb b/components/strings/components_strings_sw.xtb
index ec34334..741b01c2 100644
--- a/components/strings/components_strings_sw.xtb
+++ b/components/strings/components_strings_sw.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">Tendua kupanga upya</translation>
 <translation id="1125573121925420732">Huenda onyo zikawa nyingi wakati tovuti zinasasisha usalama. Hali hii itaboreshwa hivi karibuni.</translation>
 <translation id="112840717907525620">Akiba ya sera ni SAWA</translation>
+<translation id="1130564665089811311">Kitufe cha 'Tafsiri ukurasa', bonyeza 'Enter' ili utafsiri ukurasa huu kwa kutumia Google Tafsiri</translation>
 <translation id="1131264053432022307">Picha Uliyonakili</translation>
 <translation id="1150979032973867961">Seva hii haikuweza kuthibitisha kuwa ni <ph name="DOMAIN" />; cheti chake cha usalama hakiaminiwi na mfumo wa uendeshaji wa kompyuta yako. Hii inaweza kusababishwa na usanidi usiofaa au mvamizi kuingilia muunganisho wako.</translation>
 <translation id="1151972924205500581">Nenosiri linahitajika</translation>
@@ -407,6 +408,7 @@
 <translation id="2634124572758952069">Haikupata anwani ya IP ya seva ya <ph name="HOST_NAME" />.</translation>
 <translation id="2639739919103226564">Hali:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, bonyeza 'Tab' kisha 'Enter' ili ufute historia yako ya kuvinjari, vidakuzi, akiba na zaidi katika mipangilio ya Chrome</translation>
 <translation id="2650446666397867134">Ufikivu katika faili umekataliwa</translation>
 <translation id="2653659639078652383">Wasilisha</translation>
 <translation id="2660779039299703961">Tukio</translation>
@@ -429,6 +431,7 @@
 <translation id="2705137772291741111">Nakala iliyohifadhiwa (iliyowekwa katika akiba) ya tovuti hii haikusomeka.</translation>
 <translation id="2709516037105925701">Kujaza Kiotomatiki</translation>
 <translation id="2713444072780614174">Nyeupe</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, bonyeza 'Tab' kisha 'Enter' ili udhibiti maelezo yako ya malipo na ya kadi ya mikopo katika mipangilio ya Chrome</translation>
 <translation id="2721148159707890343">Ombi limefanikiwa</translation>
 <translation id="272451190272506600">Gusa kitambuzi ili ulipe</translation>
 <translation id="2728127805433021124">Cheti cha seva kimetiwa sahihi kwa kutumia algoriti dhaifu ya sahihi.</translation>
@@ -641,6 +644,7 @@
 <translation id="3630155396527302611">Ikiwa tayari imeorodheshwa kuwa programu inayoruhusiwa kufikia mtandao, jaribu
     kuiondoa kwenye orodha kisha uiongeze tena.</translation>
 <translation id="3631244953324577188">Bayometriki</translation>
+<translation id="3633738897356909127">Kitufe cha 'Sasisha Chrome', bonyeza 'Enter' ili usasishe Chrome katika mipangilio yako ya Chrome</translation>
 <translation id="3634530185120165534">Trei ya tano</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Uhalalishaji umefanikiwa</translation>
@@ -664,7 +668,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Kuangalia seva mbadala, kingamtandao na mipangilio ya DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Programu zinazoweza kusababisha hitilafu hii ni pamoja na kingavirusi, kinga mtandao, kichujio cha wavuti au programu ya seva mbadala.</translation>
 <translation id="373042150751172459">B4 (Bahasha)</translation>
-<translation id="3731873414101415120">Tovuti unazotembelea na maudhui ya kurasa zisizo salama</translation>
 <translation id="3736520371357197498">Ikiwa unaelewa kiwango cha hatari kinachoweza kutokea, unaweza <ph name="BEGIN_LINK" />kutembelea tovuti hii isiyo salama<ph name="END_LINK" /> kabla programu hatari hazijaondolewa.</translation>
 <translation id="3738166223076830879">Kivinjari chako kinadhibitiwa na msimamizi wako.</translation>
 <translation id="3744899669254331632">Huwezi kutembelea <ph name="SITE" /> sasa hivi kwa sababu tovuti ilituma kitambulisho kilichoharibika ambacho Chromium haiwezi kuchakata. Hitilafu na uvamizi wa mtandao kwa kawaida huwa vya muda, kwa hivyo ukurasa huu huenda utafanya kazi baadaye.</translation>
@@ -865,6 +868,7 @@
 <translation id="4506599922270137252">Kuwasiliana na msimamizi wa mfumo</translation>
 <translation id="450710068430902550">Kushiriki na Msimamizi</translation>
 <translation id="4508814173490746936">Imeshindwa kutumia Touch ID</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, bonyeza 'Tab' kisha 'Enter' ili utafsiri ukurasa huu kwa kutumia Google Tafsiri</translation>
 <translation id="4510487217173779431">Chou4 (Bahasha)</translation>
 <translation id="4515275063822566619">Kadi na anwani zinatoka Chrome na Akaunti yako ya Google (<ph name="ACCOUNT_EMAIL" />). Unaweza kuzidhibiti katika <ph name="BEGIN_LINK" />Mipangilio<ph name="END_LINK" />.</translation>
 <translation id="4517607026994743406">Comm-10 (Bahasha)</translation>
@@ -945,6 +949,7 @@
 <translation id="4879725228911483934">Fungua na uonyeshe madirisha kwenye skrini zako</translation>
 <translation id="4880827082731008257">Tafuta katika historia</translation>
 <translation id="4881695831933465202">Fungua</translation>
+<translation id="4889420713887366944">Kitufe cha 'Fungua Dirisha Fiche', bonyeza 'Enter' ufungue dirisha jipya fiche ili uvinjari kwa faragha</translation>
 <translation id="4892518386797173871">Nyuma</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Hifadhi...</translation>
@@ -1106,6 +1111,7 @@
 <translation id="5523118979700054094">Jina la sera</translation>
 <translation id="55293785478302737">Mshono wa ncha</translation>
 <translation id="553484882784876924">Prc6 (Bahasha)</translation>
+<translation id="5535133333442455806">Kitufe cha 'Futa data ya kuvinjari', bonyeza 'Enter' ili ufute historia yako ya kuvinjari, vidakuzi, akiba na zaidi katika mipangilio ya Chrome</translation>
 <translation id="5536214594743852365">Onyesha sehemu ya "<ph name="SECTION" />"</translation>
 <translation id="5539243836947087108">Chelezo</translation>
 <translation id="5540224163453853">Haikuweza kupata makala yaliyoitishwa.</translation>
@@ -1381,7 +1387,7 @@
 <translation id="6687335167692595844">Imeomba ukubwa wa fonti</translation>
 <translation id="6689249931105087298">Ya kiwango cha kati yenye sehemu nyeusi iliyobanwa</translation>
 <translation id="6689271823431384964">Chrome itakuhifadhia kadi zako katika Akaunti yako ya Google kwa sababu umeingia katika akaunti. Unaweza kubadilisha hali hii katika mipangilio. Jina la mwenye kadi linatoka kwenye akaunti yako.</translation>
-<translation id="6710213216561001401">Iliyotangulia</translation>
+<translation id="6710213216561001401">Iliyopita</translation>
 <translation id="6710594484020273272">&lt;Andika neno unalotaka kutafuta&gt;</translation>
 <translation id="671076103358959139">Tokeni ya Kujiandikisha:</translation>
 <translation id="6711464428925977395">Kuna hitilafu katika seva mbadala, au anwani siyo sahihi.</translation>
@@ -1603,6 +1609,7 @@
 <translation id="7600965453749440009">Kamwe usitafsiri <ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">Thamani imezidi masafa<ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Muda wa matumizi utakwisha: <ph name="EXPIRATION_MONTH" /> / <ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, bonyeza 'Tab' kisha 'Enter' ili uangalie na udhibiti manenosiri yako katika mipangilio ya Chrome</translation>
 <translation id="7615602087246926389">Tayari una data ambayo imesimbwa kwa fiche kwa kutumia toleo tofauti la nenosiri lako la  Akaunti ya Google. Tafadhali liingize hapo chini.</translation>
 <translation id="7616645509853975347">Msimamizi wako amewasha Viunganishi vya Chrome Enterprise kwenye kivinjari chako. Viunganishi hivi vina uwezo wa kufikia baadhi ya data yako.</translation>
 <translation id="7619838219691048931">Laha la mwisho</translation>
@@ -1858,6 +1865,8 @@
 <translation id="8725066075913043281">Jaribu tena</translation>
 <translation id="8728672262656704056">Unavinjari katika hali fiche</translation>
 <translation id="8730621377337864115">Nimemaliza</translation>
+<translation id="8731544501227493793">Kitufe cha 'Dhibiti manenosiri', bonyeza 'Enter' ili uangalie na udhibiti manenosiri yako katika mipangilio ya Chrome</translation>
+<translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, bonyeza 'Tab' kisha 'Enter' ufungue dirisha jipya fiche ili uvinjari kwa faragha</translation>
 <translation id="8738058698779197622">Ili kutambua muunganisho salama, saa yako inahitaji kuwekwa sahihi. Hii ni kwa sababu vyeti ambavyo tovuti hutumia kujitambua ni sahihi kwa vipindi mahususi pekee. Kwa kuwa saa ya kifaa chako si sahihi, Chromium haiwezi kuthibitisha vyeti hivi.</translation>
 <translation id="8740359287975076522"><ph name="HOST_NAME" /> &lt;abbr id="dnsDefinition"&gt;anwani ya DNS&lt;/abbr&gt; haikupatikana. Tatizo linachunguzwa.</translation>
 <translation id="8742371904523228557"><ph name="ONE_TIME_CODE" /> ni nambari yako ya <ph name="ORIGIN" /></translation>
@@ -1874,6 +1883,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> amewasha Viunganishi vya Chrome Enterprise kwenye kivinjari chako. Viunganishi hivi vina uwezo wa kufikia baadhi ya data yako.</translation>
 <translation id="8805819170075074995">Hoja orodha "<ph name="LANGUAGE_ID" />": Hoja imekataliwa kwa sababu pia imejumuishwa katika sera ya SpellcheckLanguage.</translation>
 <translation id="8807160976559152894">Punguza baada ya kila ukurasa</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, bonyeza 'Tab' kisha 'Enter' ili usasishe Chrome katika mipangilio yako ya Chrome</translation>
 <translation id="8820817407110198400">Alamisho</translation>
 <translation id="883848425547221593">Alamisho Zingine</translation>
 <translation id="884264119367021077">Anwani ya kusafirisha</translation>
@@ -1893,6 +1903,7 @@
 <translation id="890493561996401738">Ondoa kitufe cha Mapendekezo, bofya Enter ili uondoe, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Unavinjari katika hali fiche</translation>
 <translation id="8912362522468806198">Akaunti ya Google</translation>
+<translation id="8913778647360618320">Kitufe cha 'Dhibiti njia za kulipa', bonyeza 'Enter' ili udhibiti maelezo yako ya malipo na ya kadi ya mikopo katika mipangilio ya Chrome</translation>
 <translation id="8918231688545606538">Ukurasa huu unatiliwa shaka</translation>
 <translation id="892588693504540538">Toboa juu kulia</translation>
 <translation id="8931333241327730545">Je, ungependa kuhifadhi kadi hii katika Akaunti yako ya Google?</translation>
diff --git a/components/strings/components_strings_ta.xtb b/components/strings/components_strings_ta.xtb
index 64cce35..68b1ab1 100644
--- a/components/strings/components_strings_ta.xtb
+++ b/components/strings/components_strings_ta.xtb
@@ -659,7 +659,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ப்ராக்ஸி, ஃபயர்வால் மற்றும் DNS உள்ளமைவைச் சரிபார்த்தல்<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">வைரஸ்தடுப்பு, ஃபயர்வால், இணைய வடிப்பான் அல்லது ப்ராக்ஸி மென்பொருள் உள்ளிட்ட ஆப்ஸ்கள் இந்தப் பிழையை ஏற்படுத்தக்கூடும்.</translation>
 <translation id="373042150751172459">B4 (என்வலப்)</translation>
-<translation id="3731873414101415120">நீங்கள் பார்வையிட்ட இணையதளங்களும் பாதுகாப்பற்ற பக்கங்களின் உள்ளடக்கமும்</translation>
 <translation id="3736520371357197498">உங்கள் பாதுகாப்பிற்கான ஆபத்தைப் புரிந்துகொண்டால், தீங்கிழைக்கும் நிரல்கள் அகற்றப்படுவதற்கு முன் <ph name="BEGIN_LINK" />இந்தப் பாதுகாப்பற்ற தளத்தைப் பார்வையிடலாம்<ph name="END_LINK" />.</translation>
 <translation id="3738166223076830879">உங்கள் உலாவி உங்கள் நிர்வாகியால் நிர்வகிக்கப்படுகிறது.</translation>
 <translation id="3744899669254331632">Chromiumமால் செயல்படுத்த முடியாத தவறான அனுமதிச் சான்றுகளை அனுப்பியுள்ளதால் இப்போது <ph name="SITE" />ஐப் பார்வையிட முடியாது. பொதுவாக நெட்வொர்க் பிழைகளும் தாக்குதல்களும் தற்காலிகமாகவே இருக்கும், சிறிதுநேரம் கழித்து இந்தப் பக்கம் சரியாகச் செயல்படலாம்.</translation>
diff --git a/components/strings/components_strings_te.xtb b/components/strings/components_strings_te.xtb
index 42f783dd..54954552 100644
--- a/components/strings/components_strings_te.xtb
+++ b/components/strings/components_strings_te.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ప్రాక్సీ, ఫైర్‌వాల్ మరియు DNS కాన్ఫిగరేషన్‌ను తనిఖీ చేయడం<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">ఈ ఎర్రర్‌కు దారితీసే అప్లికేషన్‌లలో యాంటీవైరస్, ఫైర్‌వాల్ మరియు వెబ్ ఫిల్టరింగ్ లేదా ప్రాక్సీ సాఫ్ట్‌వేర్ ఉండవచ్చు.</translation>
 <translation id="373042150751172459">B4 (ఎన్వలప్)</translation>
-<translation id="3731873414101415120">మీరు సందర్శించే వెబ్‌సైట్‌లు అలాగే సురక్షితం కాని పేజీల కంటెంట్‌లు</translation>
 <translation id="3736520371357197498">మీ భద్రతకు వాటిల్లే ఆపదల గురించి మీకు అర్థం అయ్యి ఉంటే, ప్రమాదకరమైన ప్రోగ్రామ్‌లు తీసివేయబడటానికి ముందే <ph name="BEGIN_LINK" />ఈ అసురక్షితమైన సైట్‌ను సందర్శించవచ్చు<ph name="END_LINK" />.</translation>
 <translation id="3738166223076830879">మీ బ్రౌజర్ మీ అడ్మినిస్ట్రేట‌ర్ ద్వారా మేనేజ్ చేయబడుతోంది.</translation>
 <translation id="3744899669254331632">మీరు సందర్శించాలనుకుంటున్న <ph name="SITE" /> వెబ్‌సైట్, Chromium ప్రాసెస్ చేయలేని చిందరవందరైన ఆధారాలను పంపినందున ప్రస్తుతం దాన్ని సందర్శించలేరు. నెట్‌వర్క్ ఎర్ర‌ర్‌లు మరియు దాడులు సాధారణంగా తాత్కాలికంగా మాత్రమే ఉంటాయి. కాబట్టి ఈ పేజీ బహుశా తర్వాత పని చేయవచ్చు.</translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb
index 75258c7..f0e686d 100644
--- a/components/strings/components_strings_th.xtb
+++ b/components/strings/components_strings_th.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;เลิกทำการจัดลำดับใหม่</translation>
 <translation id="1125573121925420732">คุณอาจเห็นคำเตือนอยู่บ่อยๆ ระหว่างที่เว็บไซต์อัปเดตความปลอดภัย เราจะปรับปรุงเร็วๆ นี้</translation>
 <translation id="112840717907525620">แคชนโยบายใช้ได้</translation>
+<translation id="1130564665089811311">ปุ่มแปลหน้าเว็บ กด Enter เพื่อแปลหน้านี้ด้วย Google แปลภาษา</translation>
 <translation id="1131264053432022307">รูปภาพที่คุณคัดลอก</translation>
 <translation id="1150979032973867961">เซิร์ฟเวอร์นี้ไม่สามารถพิสูจน์ได้ว่าเป็น <ph name="DOMAIN" /> เพราะระบบปฏิบัติการของคอมพิวเตอร์ของคุณไม่เชื่อถือใบรับรองความปลอดภัย โดยอาจเกิดจากการกำหนดค่าผิดหรือผู้บุกรุกที่ขัดขวางการเชื่อมต่อของคุณ</translation>
 <translation id="1151972924205500581">ต้องมีรหัสผ่าน</translation>
@@ -404,6 +405,7 @@
 <translation id="2634124572758952069">ไม่พบที่อยู่ IP ของเซิร์ฟเวอร์ <ph name="HOST_NAME" /></translation>
 <translation id="2639739919103226564">สถานะ:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" /> กด Tab ตามด้วย Enter เพื่อล้างประวัติการท่องเว็บ คุกกี้ แคช และอื่นๆ ในการตั้งค่า Chrome</translation>
 <translation id="2650446666397867134">การเข้าถึงไฟล์ถูกปฏิเสธ</translation>
 <translation id="2653659639078652383">ส่ง</translation>
 <translation id="2660779039299703961">กิจกรรม</translation>
@@ -426,6 +428,7 @@
 <translation id="2705137772291741111">อ่านสำเนาที่บันทึกไว้ (แคช) ของเว็บไซต์นี้ไม่ได้</translation>
 <translation id="2709516037105925701">ป้อนอัตโนมัติ</translation>
 <translation id="2713444072780614174">สีขาว</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" /> กด Tab ตามด้วย Enter เพื่อจัดการการชำระเงินและข้อมูลบัตรเครดิตในการตั้งค่า Chrome</translation>
 <translation id="2721148159707890343">คำขอสำเร็จ</translation>
 <translation id="272451190272506600">แตะเซ็นเซอร์เพื่อจ่าย</translation>
 <translation id="2728127805433021124">ใบรับรองของเซิร์ฟเวอร์ถูกเซ็นชื่อด้วยอัลกอริทึมลายเซ็นที่ไม่รัดกุม</translation>
@@ -635,6 +638,7 @@
 <translation id="3630155396527302611">หากโปรแกรมอยู่ในรายการที่ได้รับอนุญาตให้เข้าถึงเครือข่ายอยู่แล้ว
       ลองนำโปรแกรมออกจากรายการและเพิ่มกลับเข้าไปใหม่</translation>
 <translation id="3631244953324577188">ข้อมูลไบโอเมตริก</translation>
+<translation id="3633738897356909127">ปุ่มอัปเดต Chrome กด Enter เพื่ออัปเดต Chrome จากการตั้งค่า Chrome</translation>
 <translation id="3634530185120165534">ถาด 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">การตรวจสอบสำเร็จ</translation>
@@ -658,7 +662,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ตรวจสอบพร็อกซี ไฟร์วอลล์ และการกำหนดค่า DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">แอปพลิเคชันที่อาจทำให้เกิดข้อผิดพลาดนี้ ได้แก่ ซอฟต์แวร์ป้องกันไวรัส ซอฟต์แวร์ไฟร์วอลล์ รวมถึงซอฟต์แวร์การกรองเว็บหรือซอฟต์แวร์พร็อกซี</translation>
 <translation id="373042150751172459">B4 (ซองจดหมาย)</translation>
-<translation id="3731873414101415120">เว็บไซต์ที่คุณเข้าชมและเนื้อหาของหน้าที่ไม่ปลอดภัย</translation>
 <translation id="3736520371357197498">หากคุณเข้าใจความเสี่ยงต่อความปลอดภัย คุณสามารถ<ph name="BEGIN_LINK" />ไปยังไซต์ที่ไม่ปลอดภัยนี้<ph name="END_LINK" /> ก่อนจะมีการนำโปรแกรมอันตรายออก</translation>
 <translation id="3738166223076830879">เบราว์เซอร์ของคุณจัดการโดยผู้ดูแลระบบ</translation>
 <translation id="3744899669254331632">คุณไม่สามารถไปที่ <ph name="SITE" /> ได้ในขณะนี้เนื่องจากเว็บไซต์ได้ส่งข้อมูลรับรองที่มีการแปลงข้อมูลซึ่ง Chromium ไม่สามารถดำเนินการได้ ข้อผิดพลาดของเครือข่ายและการโจมตีมักจะเกิดขึ้นชั่วคราว ดังนั้นหน้านี้อาจจะใช้งานได้ในภายหลัง</translation>
@@ -854,6 +857,7 @@
 <translation id="4506599922270137252">ติดต่อผู้ดูแลระบบ</translation>
 <translation id="450710068430902550">การแชร์กับผู้ดูแลระบบ</translation>
 <translation id="4508814173490746936">ใช้ Touch ID ไม่ได้</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" /> กด Tab ตามด้วย Enter เพื่อแปลหน้านี้ด้วย Google แปลภาษา</translation>
 <translation id="4510487217173779431">Chou4 (ซองจดหมาย)</translation>
 <translation id="4515275063822566619">ข้อมูลบัตรและที่อยู่มาจาก Chrome และบัญชี Google (<ph name="ACCOUNT_EMAIL" />) คุณสามารถจัดการข้อมูลเหล่านี้ใน<ph name="BEGIN_LINK" />การตั้งค่า<ph name="END_LINK" /></translation>
 <translation id="4517607026994743406">Comm-10 (ซองจดหมาย)</translation>
@@ -934,6 +938,7 @@
 <translation id="4879725228911483934">เปิดและแสดงหน้าต่างบนหน้าจอของคุณ</translation>
 <translation id="4880827082731008257">ค้นประวัติการเข้าชม</translation>
 <translation id="4881695831933465202">เปิด</translation>
+<translation id="4889420713887366944">ปุ่มเปิดหน้าต่างที่ไม่ระบุตัวตน กด Enter เพื่อเปิดหน้าต่างใหม่ที่ไม่ระบุตัวตนเพื่อท่องเว็บแบบส่วนตัว</translation>
 <translation id="4892518386797173871">หลัง</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" /> และ <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">บันทึก...</translation>
@@ -1095,6 +1100,7 @@
 <translation id="5523118979700054094">ชื่อนโยบาย</translation>
 <translation id="55293785478302737">เย็บขอบ</translation>
 <translation id="553484882784876924">Prc6 (ซองจดหมาย)</translation>
+<translation id="5535133333442455806">ปุ่มล้างข้อมูลการท่องเว็บ กด Enter เพื่อล้างประวัติการท่องเว็บ คุกกี้ แคช และอื่นๆ ในการตั้งค่า Chrome</translation>
 <translation id="5536214594743852365">แสดงส่วน "<ph name="SECTION" />"</translation>
 <translation id="5539243836947087108">Raft</translation>
 <translation id="5540224163453853">ไม่พบบทความที่ขอ</translation>
@@ -1594,6 +1600,7 @@
 <translation id="7600965453749440009">ไม่ต้องแปลภาษา<ph name="LANGUAGE" /></translation>
 <translation id="7610193165460212391">ค่าอยู่นอกช่วง <ph name="VALUE" /></translation>
 <translation id="7613889955535752492">หมดอายุ: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" /> กด Tab ตามด้วย Enter เพื่อดูและจัดการรหัสผ่านในการตั้งค่า Chrome</translation>
 <translation id="7615602087246926389">คุณมีข้อมูลที่ถูกเข้ารหัสโดยใช้รหัสผ่านบัญชี Google รูปแบบอื่นอยู่แล้ว โปรดป้อนรหัสผ่านด้านล่าง</translation>
 <translation id="7616645509853975347">ผู้ดูแลระบบได้เปิดใช้เครื่องมือเชื่อมต่อ Chrome Enterprise ในเบราว์เซอร์ เครื่องมือเชื่อมต่อเหล่านี้เข้าถึงข้อมูลบางอย่างของคุณได้</translation>
 <translation id="7619838219691048931">แผ่นงานสุดท้าย</translation>
@@ -1851,6 +1858,8 @@
 <translation id="8725066075913043281">ลองอีกครั้ง</translation>
 <translation id="8728672262656704056">คุณได้เข้าสู่โหมดไม่ระบุตัวตนแล้ว</translation>
 <translation id="8730621377337864115">เสร็จสิ้น</translation>
+<translation id="8731544501227493793">จัดการปุ่มรหัสผ่าน กด Enter เพื่อดูและจัดการรหัสผ่านในการตั้งค่า Chrome</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>
 <translation id="8742371904523228557">รหัสสำหรับ <ph name="ORIGIN" /> คือ <ph name="ONE_TIME_CODE" /></translation>
@@ -1867,6 +1876,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> ได้เปิดใช้เครื่องมือเชื่อมต่อ Chrome Enterprise ในเบราว์เซอร์ เครื่องมือเชื่อมต่อเหล่านี้เข้าถึงข้อมูลบางอย่างของคุณได้</translation>
 <translation id="8805819170075074995">รายการ "<ph name="LANGUAGE_ID" />": ระบบไม่สนใจรายการนี้เพราะมีอยู่ในนโยบาย SpellcheckLanguage เช่นกัน</translation>
 <translation id="8807160976559152894">ตัดออกหลังหน้าแต่ละหน้า</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" /> กด Tab ตามด้วย Enter เพื่ออัปเดต Chrome จากการตั้งค่า Chrome</translation>
 <translation id="8820817407110198400">บุ๊กมาร์ก</translation>
 <translation id="883848425547221593">บุ๊กมาร์กอื่นๆ</translation>
 <translation id="884264119367021077">ที่อยู่สำหรับจัดส่ง</translation>
@@ -1886,6 +1896,7 @@
 <translation id="890493561996401738">ปุ่ม "นำคำแนะนำออก" กด Enter เพื่อนำออก <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">คุณเข้าสู่โหมดไม่ระบุตัวตนแล้ว</translation>
 <translation id="8912362522468806198">บัญชี Google</translation>
+<translation id="8913778647360618320">ปุ่มจัดการวิธีการชำระเงิน กด Enter เพื่อจัดการการชำระเงินและข้อมูลบัตรเครดิตในการตั้งค่า Chrome</translation>
 <translation id="8918231688545606538">หน้านี้ดูน่าสงสัย</translation>
 <translation id="892588693504540538">เจาะรูด้านขวาบน</translation>
 <translation id="8931333241327730545">คุณต้องการบันทึกบัตรนี้ในบัญชี Google ไหม</translation>
diff --git a/components/strings/components_strings_tr.xtb b/components/strings/components_strings_tr.xtb
index 531fc131..1ce335a5 100644
--- a/components/strings/components_strings_tr.xtb
+++ b/components/strings/components_strings_tr.xtb
@@ -660,7 +660,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Proxy, güvenlik duvarı ve DNS yapılandırmasını kontrol etme<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Bu hataya neden olabilecek uygulamalar arasında virüsten korunma programları, güvenlik duvarları ve web filtreleme veya proxy yazılımları sayılabilir.</translation>
 <translation id="373042150751172459">B4 (Zarf)</translation>
-<translation id="3731873414101415120">Ziyaret ettiğiniz web siteleri ve güvenli olmayan sayfaların içerikleri</translation>
 <translation id="3736520371357197498">Güvenliğinizle ilgili riskleri anlıyorsanız tehlikeli programlar kaldırılmadan önce <ph name="BEGIN_LINK" />güvenli olmayan bu siteyi ziyaret edebilirsiniz<ph name="END_LINK" />.</translation>
 <translation id="3738166223076830879">Tarayıcınız, kuruluşunuz tarafından yönetilmektedir.</translation>
 <translation id="3744899669254331632">Web sitesi Chromium'un işleyemediği karışık kimlik bilgileri gönderdiğinden <ph name="SITE" /> sitesini şu anda ziyaret edemezsiniz. Ağ hataları ve saldırılar genellikle geçici türdendir, dolayısıyla bu sayfa muhtemelen daha sonra çalışacaktır.</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb
index bdcbf2d..2c63860 100644
--- a/components/strings/components_strings_uk.xtb
+++ b/components/strings/components_strings_uk.xtb
@@ -663,7 +663,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />перевірити конфігурацію проксі-сервера, брандмауера та DNS-сервера<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">До додатків, що можуть спричиняти цю помилку, належать антивіруси, брандмауери та програми для веб-фільтрування доступу через проксі.</translation>
 <translation id="373042150751172459">B4 (конверт)</translation>
-<translation id="3731873414101415120">Відвідані веб-сайти та вміст ненадійних сторінок</translation>
 <translation id="3736520371357197498">Якщо ви розумієте ризики, пов’язані з безпекою, <ph name="BEGIN_LINK" />перейдіть на цей ненадійний сайт<ph name="END_LINK" /> до того, як небезпечні програми буде видалено.</translation>
 <translation id="3738166223076830879">Ваша організація керує веб-переглядачем.</translation>
 <translation id="3744899669254331632">Зараз не можна перейти на сторінку <ph name="SITE" />, оскільки веб-сайт надіслав зашифровані облікові дані, які Chromium не може обробити. Помилки мережі й атаки зазвичай є тимчасовими, тому ця сторінка може працювати пізніше.</translation>
@@ -1380,7 +1379,7 @@
 <translation id="6687335167692595844">Запит на розмір шрифту</translation>
 <translation id="6689249931105087298">Відносно стиснення чорної точки</translation>
 <translation id="6689271823431384964">Chrome пропонує вам зберегти картки в обліковому записі Google, оскільки ви ввійшли в нього. Це можна змінити в налаштуваннях. Ім'я власника картки взято з вашого облікового запису.</translation>
-<translation id="6710213216561001401">Попереднє</translation>
+<translation id="6710213216561001401">Назад</translation>
 <translation id="6710594484020273272">&lt;Введіть пошуковий термін&gt;</translation>
 <translation id="671076103358959139">Маркер реєстрації:</translation>
 <translation id="6711464428925977395">Помилка проксі-сервера або неправильна адреса.</translation>
diff --git a/components/strings/components_strings_ur.xtb b/components/strings/components_strings_ur.xtb
index 34d06454..b4b3f4a 100644
--- a/components/strings/components_strings_ur.xtb
+++ b/components/strings/components_strings_ur.xtb
@@ -668,7 +668,6 @@
 <translation id="3717027428350673159">‏<ph name="BEGIN_LINK" />پراکسی، فائروال اور DNS کنفیگریشن کو چیک کیا جا رہا ہے<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">وہ ایپلیکیشنز جو اس خرابی کا سبب بن سکتی ہیں، ان میں اینٹی وائرس، فائروال اور ویب فلٹرنگ یا پراکسی سافٹ وئير شامل ہيں۔</translation>
 <translation id="373042150751172459">B4 ‎(Envelope‎)‎</translation>
-<translation id="3731873414101415120">وہ ویب سائٹس جو آپ ملاحظہ کرتے ہیں اور غیر محفوظ صفحات کے مواد</translation>
 <translation id="3736520371357197498">اگر آپ اپنی سیکیورٹی کے خطروں کو سمجھتے ہیں تو آپ خطرناک پروگراموں کو ہٹائے جانے سے پہلے <ph name="BEGIN_LINK" />یہ غیر محفوظ سائٹ ملاحظہ<ph name="END_LINK" /> کر سکتے ہیں۔</translation>
 <translation id="3738166223076830879">آپ کا براؤزر آپ کے منتظم کے زیر انتظام ہے۔</translation>
 <translation id="3744899669254331632">‏آپ ابھی <ph name="SITE" /> ملاحظہ نہیں کر سکتے ہیں کیونکہ ویب سائٹ نے جلد بازی والی اسنادات بھیجی ہیں جس پر Chromium کارروائی نہیں کر سکتا ہے۔ نیٹ ورک کی خرابیاں اور حملے عموماً عارضی ہوتے ہیں لہذا یہ صفحہ شاید بعد میں کام کرے گا۔</translation>
diff --git a/components/strings/components_strings_uz.xtb b/components/strings/components_strings_uz.xtb
index 89bea91..3e03f40 100644
--- a/components/strings/components_strings_uz.xtb
+++ b/components/strings/components_strings_uz.xtb
@@ -37,6 +37,7 @@
 <translation id="1113869188872983271">&amp;Qayta tartiblashni qaytarish</translation>
 <translation id="1125573121925420732">Saytlar xavfsizlik sozlamalarini yangilayotganda ogohlantirishlar umumiy bo‘lishi mumkin. Bu tezda yashilanadi.</translation>
 <translation id="112840717907525620">Siyosat keshida xatoliklar yo‘q</translation>
+<translation id="1130564665089811311">“Sahifani tarjima qilish” tugmasi, bu sahifani Google Tarjimon orqali tarjima qilish uchun Enter tugmasini bosing</translation>
 <translation id="1131264053432022307">Nusxalangan rasm</translation>
 <translation id="1150979032973867961">Bu <ph name="DOMAIN" /> serveri ekanligini tasdiqlab bo‘lmadi. Uning havfsizlik sertifikati kompyuteringizdagi operatsion tizimga ishonchli tuyulmayapti. Balki, server noto‘g‘ri sozlangan yoki kimdir ma’lumotlaringizni o‘g‘rilashga urinayotgan bo‘lishi mumkin.</translation>
 <translation id="1151972924205500581">Parol kiritish zarur</translation>
@@ -407,6 +408,7 @@
 <translation id="2634124572758952069"><ph name="HOST_NAME" /> serverining IP manzili topilmadi.</translation>
 <translation id="2639739919103226564">Holat:</translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
+<translation id="2649259151839507861"><ph name="CLEAR_BROWSING_DATA_FOCUSED_FRIENDLY_MATCH_TEXT" />, Chrome sozlamalari orqali brauzer tarixi, cookie fayllari, kesh va boshqa maʼlumotlarni tozalash uchun Enter tugmasini bosing</translation>
 <translation id="2650446666397867134">Faylga kirish taqiqlandi</translation>
 <translation id="2653659639078652383">Yuborish</translation>
 <translation id="2660779039299703961">Hodisa</translation>
@@ -429,6 +431,7 @@
 <translation id="2705137772291741111">Bu saytning keshda saqlangan nusxasini o‘qib bo‘lmadi.</translation>
 <translation id="2709516037105925701">Avtoto‘ldirish</translation>
 <translation id="2713444072780614174">Oq</translation>
+<translation id="2715612312510870559"><ph name="UPDATE_CREDIT_CARD_FOCUSED_FRIENDLY_MATCH_TEXT" />, Chrome sozlamalari orqali toʻlov va kredit karta axborotini boshqarish uchun avval Tab, keyin esa Enter tugmasini bosing</translation>
 <translation id="2721148159707890343">So‘rov bajarildi</translation>
 <translation id="272451190272506600">Toʻlash uchun sensorga tegining</translation>
 <translation id="2728127805433021124">Server sertifikati kuchsiz imzo algoritmi yordamida imzolangan.</translation>
@@ -637,6 +640,7 @@
 <translation id="362276910939193118">To‘liq tarixni ko‘rsatish</translation>
 <translation id="3630155396527302611">Agar bu dasturga avvaldan tarmoqqa ulanish uchun ruxsat berilgan bo‘lsa, undan ruxsatni olib tashlab, keyin qaytadan ruxsat bering.</translation>
 <translation id="3631244953324577188">Biometrik tizimlar</translation>
+<translation id="3633738897356909127">Chromeni yangilash tugmasi, Chrome sozlamalari orqali Chromeni yangilash uchun Enter tugmasini bosing</translation>
 <translation id="3634530185120165534">Tarnov 5</translation>
 <translation id="3640766068866876100">Index-4x6-Ext</translation>
 <translation id="3650584904733503804">Tekshiruv muvaffaqiyatli bajarildi</translation>
@@ -660,7 +664,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Proksi-server, himoya devori va DNS sozlamalarini tekshirish<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Bu xatoga odatda antivirus, himoya devori, internet filterlari yoki proksi-server dasturlari sabab bo‘ladi.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Siz kirgan sahifalar va xavfli kontentlar</translation>
 <translation id="3736520371357197498">Shaxsiy ma’lumotlaringizga havfli bo‘lishiga qaramay va zararli dasturlar hali olib tashlanmagan bo‘lsa ham bu saytga baribir o‘tishni xohlasangiz, <ph name="BEGIN_LINK" />bu yerni bosing<ph name="END_LINK" />.</translation>
 <translation id="3738166223076830879">Brauzeringiz administrator tomonidan boshqariladi.</translation>
 <translation id="3744899669254331632"><ph name="SITE" /> saytiga o‘tib bo‘lmadi, chunki veb-sayt shifrlangan hisob ma’lumotlarini yubordi, Chromium ular bilan ishlay olmaydi. Tarmoq xatoligi yoki saytga hujumlar odatda vaqtinchalik bo‘ladi, shu sababli bu sahifa keyinroq ishga tushishi mumkin.</translation>
@@ -861,6 +864,7 @@
 <translation id="4506599922270137252">Tizim administratori bilan bog‘lanish</translation>
 <translation id="450710068430902550">Administratorga ulashish</translation>
 <translation id="4508814173490746936">Touch ID ishlatib boʻlmadi</translation>
+<translation id="4509074745930862522"><ph name="TRANSLATE_FOCUSED_FRIENDLY_MATCH_TEXT" />, bu sahifani Google Translate orqali tarjima qilish uchun avval Tab, keyin esa Enter tugmasini bosing</translation>
 <translation id="4510487217173779431">Chou4 (Envelope)</translation>
 <translation id="4515275063822566619">Google hisobi (<ph name="ACCOUNT_EMAIL" />), Chrome brauzerida saqlangan karta va manzillar. Siz ularni <ph name="BEGIN_LINK" />Sozlamalar<ph name="END_LINK" /> orqali boshqarishingiz mumkin.</translation>
 <translation id="4517607026994743406">Comm-10 (Envelope)</translation>
@@ -941,6 +945,7 @@
 <translation id="4879725228911483934">Ekranlaringizga oynalarni ochish va joylashtirish</translation>
 <translation id="4880827082731008257">Qidiruv tarixi</translation>
 <translation id="4881695831933465202">Ochish</translation>
+<translation id="4889420713887366944">Inkognito oynasini ochish tugmasi, yangi Inkognito oynasini ochib internetni kuzatuvsiz kezish uchun Enter tugmasini bosing</translation>
 <translation id="4892518386797173871">Orqasi</translation>
 <translation id="4895877746940133817"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /></translation>
 <translation id="4901778704868714008">Saqlash...</translation>
@@ -1102,6 +1107,7 @@
 <translation id="5523118979700054094">Parametr nomi</translation>
 <translation id="55293785478302737">Chekkasini tikish</translation>
 <translation id="553484882784876924">Prc6 (Envelope)</translation>
+<translation id="5535133333442455806">“Maʼlumotlarni tozalash” tugmasi, Chrome sozlamalari orqali brauzer tarixi, cookie fayllari, kesh va boshqa maʼlumotlarni tozalash uchun Enter tugmasini bosing</translation>
 <translation id="5536214594743852365">“<ph name="SECTION" />” bandini ochish</translation>
 <translation id="5539243836947087108">Taxta</translation>
 <translation id="5540224163453853">So‘ralgan maqola topilmadi.</translation>
@@ -1600,6 +1606,7 @@
 <translation id="7600965453749440009"><ph name="LANGUAGE" /> tili hech qachon tarjima qilinmasin</translation>
 <translation id="7610193165460212391">Diapazondan tashqaridagi qiymat: <ph name="VALUE" />.</translation>
 <translation id="7613889955535752492">Muddati: <ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
+<translation id="7614494068621678628"><ph name="MANAGE_PASSWORDS_FOCUSED_FRIENDLY_MATCH_TEXT" />, Chrome sozlamalari orqali parollaringizni boshqarish uchun avval Tab, keyin esa Enter tugmasini bosing</translation>
 <translation id="7615602087246926389">Sizda allaqachon boshqa Google hisobi paroli orqali shifrlangan ma’lumotlar mavjud. O‘sha parolni quyida kiriting.</translation>
 <translation id="7616645509853975347">Brauzeringizda administrator tomonidan Chrome korporativ konnektorlari yoqilgan. Bu konnektorlar ayrim axborotlaringizdan foydalana oladi.</translation>
 <translation id="7619838219691048931">Oxirgi varaq</translation>
@@ -1856,6 +1863,8 @@
 <translation id="8725066075913043281">Qayta urinib ko‘ring</translation>
 <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="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>
 <translation id="8742371904523228557"><ph name="ORIGIN" /> sayti uchun tasdiq kodingiz: <ph name="ONE_TIME_CODE" /></translation>
@@ -1872,6 +1881,7 @@
 <translation id="8793655568873652685"><ph name="ENROLLMENT_DOMAIN" /> brauzeringizda Chrome korporativ konnektorlarini faollashtirdi. Bu konnektorlar ayrim axborotlaringizdan foydalana oladi.</translation>
 <translation id="8805819170075074995">“<ph name="LANGUAGE_ID" />” tili: Bu til SpellcheckLanguage parametrida borligi uchun inkor etildi.</translation>
 <translation id="8807160976559152894">Har bir sahifa chekkasini qirqish</translation>
+<translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, Chrome sozlamalari orqali Chromeni yangilash uchun Enter tugmasini bosing</translation>
 <translation id="8820817407110198400">Bukmarklar</translation>
 <translation id="883848425547221593">Boshqa xatcho‘plar</translation>
 <translation id="884264119367021077">Yetkazib berish manzili</translation>
@@ -1891,6 +1901,7 @@
 <translation id="890493561996401738">Taklifni olib tashlash tugmasi, olib tashlash uchun Enter tugmasini bosing, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8910670906166981838">Inkognito rejimiga kirdingiz</translation>
 <translation id="8912362522468806198">Google hisobi</translation>
+<translation id="8913778647360618320">Toʻlov usullarini boshqarish tugmasi, Chrome sozlamalari orqali toʻlov va kredit karta axborotini boshqarish uchun Enter tugmasini bosing</translation>
 <translation id="8918231688545606538">Bu sahifa shubhali</translation>
 <translation id="892588693504540538">Yuqori oʻngdan teshik ochish</translation>
 <translation id="8931333241327730545">Ushbu karta Google hisobingizda saqlansinmi?</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb
index b806669..199cfdc8 100644
--- a/components/strings/components_strings_vi.xtb
+++ b/components/strings/components_strings_vi.xtb
@@ -665,7 +665,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Kiểm tra proxy, tường lửa và cấu hình DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Các ứng dụng có thể gây ra lỗi này gồm có phần mềm diệt vi-rút, tường lửa và lọc web hoặc phần mềm proxy.</translation>
 <translation id="373042150751172459">B4 (Phong bì)</translation>
-<translation id="3731873414101415120">Các trang web bạn truy cập và nội dung của các trang không an toàn</translation>
 <translation id="3736520371357197498">Nếu bạn hiểu các rủi ro bảo mật, bạn có thể <ph name="BEGIN_LINK" />truy cập trang web không an toàn này<ph name="END_LINK" /> trước khi các chương trình nguy hiểm bị xóa.</translation>
 <translation id="3738166223076830879">Quản trị viên quản lý trình duyệt của bạn.</translation>
 <translation id="3744899669254331632">Bạn không thể truy cập <ph name="SITE" /> ngay bây giờ vì trang web này đã gửi thông tin đăng nhập hỗn độn mà Chromium không thể xử lý. Lỗi mạng và các cuộc tấn công thường chỉ diễn ra tạm thời nên trang này có thể sẽ hoạt động sau.</translation>
@@ -1382,7 +1381,7 @@
 <translation id="6687335167692595844">Kích thước phông chữ đã yêu cầu</translation>
 <translation id="6689249931105087298">Tương đối có nén điểm đen</translation>
 <translation id="6689271823431384964">Chrome đang đề xuất lưu thẻ của bạn vào Tài khoản Google vì bạn đã đăng nhập. Bạn có thể thay đổi hoạt động này trong phần cài đặt. Tên chủ thẻ được lấy từ tài khoản của bạn.</translation>
-<translation id="6710213216561001401">Trước đó</translation>
+<translation id="6710213216561001401">Trước</translation>
 <translation id="6710594484020273272">&lt;Nhập cụm từ tìm kiếm&gt;</translation>
 <translation id="671076103358959139">Mã đăng ký:</translation>
 <translation id="6711464428925977395">Đã xảy ra sự cố với máy chủ proxy hoặc địa chỉ không chính xác.</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb
index 1115471..4db0973e 100644
--- a/components/strings/components_strings_zh-CN.xtb
+++ b/components/strings/components_strings_zh-CN.xtb
@@ -655,7 +655,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />检查代理服务器、防火墙和 DNS 配置<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">可能导致此错误的应用包括防病毒软件、防火墙软件和网络过滤/代理软件。</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">您访问过的网站,以及不安全网页的内容</translation>
 <translation id="3736520371357197498">如果您了解自己将面临的安全风险,则可以在危险程序被清除前<ph name="BEGIN_LINK" />访问这个不安全的网站<ph name="END_LINK" />。</translation>
 <translation id="3738166223076830879">您的浏览器由管理员管理。</translation>
 <translation id="3744899669254331632">您目前无法访问 <ph name="SITE" />,因为此网站发送了 Chromium 无法处理的杂乱凭据。网络错误和攻击通常是暂时的,因此,此网页稍后可能会恢复正常。</translation>
@@ -1366,7 +1365,7 @@
 <translation id="6687335167692595844">请求的字号</translation>
 <translation id="6689249931105087298">相对(使用黑点压缩)</translation>
 <translation id="6689271823431384964">Chrome 正在询问是否要将卡保存到您的 Google 帐号中,因为您已登录。您可在“设置”中更改此行为。持卡人姓名来自您的帐号。</translation>
-<translation id="6710213216561001401">上一个</translation>
+<translation id="6710213216561001401">上一项</translation>
 <translation id="6710594484020273272">&lt;输入搜索字词&gt;</translation>
 <translation id="671076103358959139">注册令牌:</translation>
 <translation id="6711464428925977395">代理服务器出现问题,或者地址有误。</translation>
diff --git a/components/strings/components_strings_zh-HK.xtb b/components/strings/components_strings_zh-HK.xtb
index 07a4a96..a4ee1c04 100644
--- a/components/strings/components_strings_zh-HK.xtb
+++ b/components/strings/components_strings_zh-HK.xtb
@@ -657,7 +657,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />檢查 Proxy、防火牆和 DNS 設定<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">可能造成此錯誤的應用程式包括防毒軟件、防火牆及網頁篩選或 Proxy 軟件。</translation>
 <translation id="373042150751172459">B4 (信封)</translation>
-<translation id="3731873414101415120">您瀏覽的網站和不安全頁面的內容</translation>
 <translation id="3736520371357197498">如果您瞭解安全性風險,也可以選擇在危險程式尚未被移除的狀態下<ph name="BEGIN_LINK" />瀏覽這個不安全的網站<ph name="END_LINK" />。</translation>
 <translation id="3738166223076830879">您的瀏覽器由管理員管理。</translation>
 <translation id="3744899669254331632">您目前無法瀏覽 <ph name="SITE" />,因為該網站傳送了 Chromium 無法處理的干擾憑證。網絡錯誤及攻擊行為通常是短暫性問題,因此這個網頁稍後應可正常運作。</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb
index 653f1ad..9e9368a 100644
--- a/components/strings/components_strings_zh-TW.xtb
+++ b/components/strings/components_strings_zh-TW.xtb
@@ -659,7 +659,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />檢查 Proxy、防火牆和 DNS 設定<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">可能造成這個錯誤的應用程式包括防毒軟體、防火牆、網路篩選或 Proxy 軟體。</translation>
 <translation id="373042150751172459">B4 (信封)</translation>
-<translation id="3731873414101415120">你造訪的網站和不安全頁面的內容</translation>
 <translation id="3736520371357197498">如果你瞭解安全性風險,也可以選擇在危險程式尚未遭到移除的狀態下<ph name="BEGIN_LINK" />造訪這個不安全的網站<ph name="END_LINK" />。</translation>
 <translation id="3738166223076830879">你的瀏覽器是由系統管理員管理。</translation>
 <translation id="3744899669254331632"><ph name="SITE" /> 傳送的憑證受到干擾,造成 Chromium 無法處理,因此你目前無法造訪該網站。網路錯誤和攻擊通常是暫時性狀態,因此這個網頁可能稍後就會恢復正常運作。</translation>
diff --git a/components/strings/components_strings_zu.xtb b/components/strings/components_strings_zu.xtb
index 36241a6..a3cb2f90 100644
--- a/components/strings/components_strings_zu.xtb
+++ b/components/strings/components_strings_zu.xtb
@@ -662,7 +662,6 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Ukuhlola i-proxy, i-firewall, nokulungiswa kwe-DNS<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Izinhlelo zokusebenza ezingabangela leli phutha zifaka isivikeli magciwane, uhlelo lokuvikela, nokuhlungwa kwewebhu noma isofthiwe yommeleli.</translation>
 <translation id="373042150751172459">B4 (Envelope)</translation>
-<translation id="3731873414101415120">Amawebhusayithi owavakashelayo nokuqukethwe kwamakhasi angavikelekile kangako</translation>
 <translation id="3736520371357197498">Uma uqonda izingozi zokuvikeleka kwakho, ungase <ph name="BEGIN_LINK" />uvakashele le sayithi engaphephile<ph name="END_LINK" /> ngaphambi kokususwa kwezinhlelo eziyingozi.</translation>
 <translation id="3738166223076830879">Isiphequluli sakho siphethwe umlawuli wakho.</translation>
 <translation id="3744899669254331632">Awukwazi ukuvakashela i-<ph name="SITE" /> khona manje ngoba iwebhusayithi ithumele ukuqinisekiswa okugaqagaqa i-Chromium engakwazi ukubucubungula. Amaphutha wenethiwekhi nokuhlaselwa kuvamise ukuba ngokwesikhashana, ngakho-ke leli khasi lizosebenza ngemuva kwesikhathi.</translation>
diff --git a/components/sync/driver/glue/sync_engine_backend.cc b/components/sync/driver/glue/sync_engine_backend.cc
index aa09eb9..b22deb19 100644
--- a/components/sync/driver/glue/sync_engine_backend.cc
+++ b/components/sync/driver/glue/sync_engine_backend.cc
@@ -36,6 +36,7 @@
 #include "components/sync/nigori/nigori_model_type_processor.h"
 #include "components/sync/nigori/nigori_storage_impl.h"
 #include "components/sync/nigori/nigori_sync_bridge_impl.h"
+#include "components/sync/protocol/sync_invalidations_payload.pb.h"
 
 // Helper macros to log with the syncer thread name; useful when there
 // are multiple syncers involved.
@@ -589,12 +590,25 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(
       base::FeatureList::IsEnabled(switches::kSubscribeForSyncInvalidations));
-  // TODO(crbug.com/1102322): use data types from active or from payload.
-  const ModelTypeSet active_datatypes{ModelType::BOOKMARKS};
-  for (const ModelType type : active_datatypes) {
+
+  sync_pb::SyncInvalidationsPayload payload_message;
+  // TODO(crbug.com/1119804): Track parsing failures in a histogram.
+  if (!payload_message.ParseFromString(payload)) {
+    return;
+  }
+  for (const auto& data_type_invalidation :
+       payload_message.data_type_invalidations()) {
+    const int field_number = data_type_invalidation.data_type_id();
+    ModelType model_type = GetModelTypeFromSpecificsFieldNumber(field_number);
+    if (!IsRealDataType(model_type)) {
+      DLOG(WARNING) << "Unknown field number " << field_number;
+      continue;
+    }
+
+    // TODO(crbug.com/1119798): Use only enabled data types.
     std::unique_ptr<InvalidationInterface> inv_adapter =
-        std::make_unique<SyncInvalidationAdapter>(payload);
-    sync_manager_->OnIncomingInvalidation(type, std::move(inv_adapter));
+        std::make_unique<SyncInvalidationAdapter>(payload_message.hint());
+    sync_manager_->OnIncomingInvalidation(model_type, std::move(inv_adapter));
   }
 }
 
diff --git a/components/sync/driver/glue/sync_engine_impl_unittest.cc b/components/sync/driver/glue/sync_engine_impl_unittest.cc
index 26274a4..86f1dfda 100644
--- a/components/sync/driver/glue/sync_engine_impl_unittest.cc
+++ b/components/sync/driver/glue/sync_engine_impl_unittest.cc
@@ -31,6 +31,7 @@
 #include "components/invalidation/public/invalidation_util.h"
 #include "components/invalidation/public/invalidator_state.h"
 #include "components/sync/base/invalidation_helper.h"
+#include "components/sync/base/model_type.h"
 #include "components/sync/base/sync_prefs.h"
 #include "components/sync/driver/sync_driver_switches.h"
 #include "components/sync/engine/cycle/commit_counters.h"
@@ -45,6 +46,7 @@
 #include "components/sync/invalidations/mock_sync_invalidations_service.h"
 #include "components/sync/invalidations/switches.h"
 #include "components/sync/invalidations/sync_invalidations_service.h"
+#include "components/sync/protocol/sync_invalidations_payload.pb.h"
 #include "components/sync/test/callback_counter.h"
 #include "components/sync_preferences/pref_service_syncable.h"
 #include "components/sync_preferences/testing_pref_service_syncable.h"
@@ -658,11 +660,20 @@
        ShouldInvalidateDataTypesOnIncomingInvalidation) {
   EXPECT_CALL(mock_instance_id_driver_, AddListener(backend_.get()));
   InitializeBackend(/*expect_success=*/true);
-  // TODO(crbug.com/1102322): use real payload with invalidated data types.
-  backend_->OnInvalidationReceived(/*payload=*/"");
+
+  sync_pb::SyncInvalidationsPayload payload;
+  auto* bookmarks_invalidation = payload.add_data_type_invalidations();
+  bookmarks_invalidation->set_data_type_id(
+      GetSpecificsFieldNumberFromModelType(ModelType::BOOKMARKS));
+  auto* preferences_invalidation = payload.add_data_type_invalidations();
+  preferences_invalidation->set_data_type_id(
+      GetSpecificsFieldNumberFromModelType(ModelType::PREFERENCES));
+
+  backend_->OnInvalidationReceived(payload.SerializeAsString());
+
   fake_manager_->WaitForSyncThread();
-  // Currently only one data type is expected to invalidate.
-  EXPECT_EQ(1, fake_manager_->GetInvalidationCount());
+  EXPECT_EQ(1, fake_manager_->GetInvalidationCount(ModelType::BOOKMARKS));
+  EXPECT_EQ(1, fake_manager_->GetInvalidationCount(ModelType::PREFERENCES));
 }
 
 }  // namespace
diff --git a/components/sync/engine/fake_sync_manager.cc b/components/sync/engine/fake_sync_manager.cc
index 082653e6..70cf88e 100644
--- a/components/sync/engine/fake_sync_manager.cc
+++ b/components/sync/engine/fake_sync_manager.cc
@@ -31,8 +31,7 @@
       initial_sync_ended_types_(initial_sync_ended_types),
       progress_marker_types_(progress_marker_types),
       configure_fail_types_(configure_fail_types),
-      last_configure_reason_(CONFIGURE_REASON_UNKNOWN),
-      num_invalidations_received_(0) {}
+      last_configure_reason_(CONFIGURE_REASON_UNKNOWN) {}
 
 FakeSyncManager::~FakeSyncManager() {}
 
@@ -48,8 +47,13 @@
   return reason;
 }
 
-int FakeSyncManager::GetInvalidationCount() const {
-  return num_invalidations_received_;
+int FakeSyncManager::GetInvalidationCount(ModelType type) const {
+  auto it = num_invalidations_received_.find(type);
+  if (it == num_invalidations_received_.end()) {
+    return 0;
+  } else {
+    return it->second;
+  }
 }
 
 void FakeSyncManager::WaitForSyncThread() {
@@ -180,7 +184,7 @@
 void FakeSyncManager::OnIncomingInvalidation(
     ModelType type,
     std::unique_ptr<InvalidationInterface> invalidation) {
-  num_invalidations_received_++;
+  num_invalidations_received_[type]++;
 }
 
 ModelTypeSet FakeSyncManager::GetLastRefreshRequestTypes() {
diff --git a/components/sync/engine/fake_sync_manager.h b/components/sync/engine/fake_sync_manager.h
index e0a0d5e..5b6545e 100644
--- a/components/sync/engine/fake_sync_manager.h
+++ b/components/sync/engine/fake_sync_manager.h
@@ -5,6 +5,7 @@
 #ifndef COMPONENTS_SYNC_ENGINE_FAKE_SYNC_MANAGER_H_
 #define COMPONENTS_SYNC_ENGINE_FAKE_SYNC_MANAGER_H_
 
+#include <map>
 #include <memory>
 #include <string>
 #include <vector>
@@ -13,6 +14,7 @@
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
 #include "base/observer_list.h"
+#include "components/sync/base/model_type.h"
 #include "components/sync/engine/fake_model_type_connector.h"
 #include "components/sync/engine/sync_manager.h"
 #include "components/sync/test/fake_sync_encryption_handler.h"
@@ -56,8 +58,8 @@
   // GetAndResetConfigureReason, or since startup if never called.
   ConfigureReason GetAndResetConfigureReason();
 
-  // Returns the number of invalidations received since startup.
-  int GetInvalidationCount() const;
+  // Returns the number of invalidations received for type since startup.
+  int GetInvalidationCount(ModelType type) const;
 
   // Block until the sync thread has finished processing any pending messages.
   void WaitForSyncThread();
@@ -130,8 +132,8 @@
 
   FakeModelTypeConnector fake_model_type_connector_;
 
-  // Number of invalidations received since startup.
-  int num_invalidations_received_;
+  // Number of invalidations received per type since startup.
+  std::map<ModelType, int> num_invalidations_received_;
 
   DISALLOW_COPY_AND_ASSIGN(FakeSyncManager);
 };
diff --git a/components/sync/protocol/proto_enum_conversions.cc b/components/sync/protocol/proto_enum_conversions.cc
index bac8aef9e..256dda6 100644
--- a/components/sync/protocol/proto_enum_conversions.cc
+++ b/components/sync/protocol/proto_enum_conversions.cc
@@ -446,11 +446,12 @@
 const char* ProtoEnumToString(
     sync_pb::UserEventSpecifics::FlocIdComputed::EventTrigger trigger) {
   ASSERT_ENUM_BOUNDS(sync_pb::UserEventSpecifics::FlocIdComputed, EventTrigger,
-                     UNSPECIFIED, REFRESHED);
+                     UNSPECIFIED, HISTORY_DELETE);
   switch (trigger) {
     ENUM_CASE(sync_pb::UserEventSpecifics::FlocIdComputed, UNSPECIFIED);
     ENUM_CASE(sync_pb::UserEventSpecifics::FlocIdComputed, NEW);
     ENUM_CASE(sync_pb::UserEventSpecifics::FlocIdComputed, REFRESHED);
+    ENUM_CASE(sync_pb::UserEventSpecifics::FlocIdComputed, HISTORY_DELETE);
   }
   NOTREACHED();
   return "";
diff --git a/components/sync/protocol/user_event_specifics.proto b/components/sync/protocol/user_event_specifics.proto
index ee417eabe..204b304 100644
--- a/components/sync/protocol/user_event_specifics.proto
+++ b/components/sync/protocol/user_event_specifics.proto
@@ -187,8 +187,12 @@
       // Event added because the floc id is re-computed due to a long period of
       // time has passed since the last computation.
       REFRESHED = 2;
+      // Event added because the floc id is re-computed due to history deletion.
+      HISTORY_DELETE = 3;
     }
     optional EventTrigger event_trigger = 1;
+
+    // If not set, it means that the floc is disabled.
     optional uint64 floc_id = 2;
   }
 
diff --git a/components/sync/test/android/javatests/src/org/chromium/components/sync/test/util/MockSyncContentResolverDelegate.java b/components/sync/test/android/javatests/src/org/chromium/components/sync/test/util/MockSyncContentResolverDelegate.java
index 91be4aa..b6b7511 100644
--- a/components/sync/test/android/javatests/src/org/chromium/components/sync/test/util/MockSyncContentResolverDelegate.java
+++ b/components/sync/test/android/javatests/src/org/chromium/components/sync/test/util/MockSyncContentResolverDelegate.java
@@ -25,10 +25,12 @@
 import java.util.concurrent.TimeUnit;
 
 /**
- * Mock implementation of the {@link SyncContentResolverDelegate}.
+ * Fake implementation of the {@link SyncContentResolverDelegate}.
  *
  * This implementation only supports status change listeners for the type
- * SYNC_OBSERVER_TYPE_SETTINGS.
+ * SYNC_OBSERVER_TYPE_SETTINGS. Differently from the real implementation, it
+ * doesn't allow calling the auto-sync methods (e.g. getIsSyncable()) with a null
+ * account.
  */
 public class MockSyncContentResolverDelegate implements SyncContentResolverDelegate {
     private final Set<String> mSyncAutomaticallySet;
@@ -84,21 +86,15 @@
 
     @Override
     public boolean getSyncAutomatically(Account account, String authority) {
-        String key = createKey(account, authority);
         synchronized (mSyncableMapLock) {
-            return mSyncAutomaticallySet.contains(key);
+            return mSyncAutomaticallySet.contains(createKey(account, authority));
         }
     }
 
     @Override
     public void setSyncAutomatically(Account account, String authority, boolean sync) {
-        String key = createKey(account, authority);
         synchronized (mSyncableMapLock) {
-            if (!mIsSyncableMap.containsKey(key) || !mIsSyncableMap.get(key)) {
-                throw new IllegalArgumentException("Account " + account
-                        + " is not syncable for authority " + authority
-                        + ". Can not set sync state to " + sync);
-            }
+            String key = createKey(account, authority);
             if (sync) {
                 mSyncAutomaticallySet.add(key);
             } else if (mSyncAutomaticallySet.contains(key)) {
@@ -110,24 +106,14 @@
 
     @Override
     public void setIsSyncable(Account account, String authority, int syncable) {
-        String key = createKey(account, authority);
-
         synchronized (mSyncableMapLock) {
-            switch (syncable) {
-                case 0:
-                    mIsSyncableMap.put(key, false);
-                    break;
-                case 1:
-                    mIsSyncableMap.put(key, true);
-                    break;
-                case -1:
-                    if (mIsSyncableMap.containsKey(key)) {
-                        mIsSyncableMap.remove(key);
-                    }
-                    break;
-                default:
-                    throw new IllegalArgumentException(
-                            "Unable to understand syncable argument: " + syncable);
+            String key = createKey(account, authority);
+            if (syncable > 0) {
+                mIsSyncableMap.put(key, true);
+            } else if (syncable == 0) {
+                mIsSyncableMap.put(key, false);
+            } else if (mIsSyncableMap.containsKey(key)) {
+                mIsSyncableMap.remove(key);
             }
         }
         notifyObservers();
@@ -135,13 +121,12 @@
 
     @Override
     public int getIsSyncable(Account account, String authority) {
-        String key = createKey(account, authority);
         synchronized (mSyncableMapLock) {
+            String key = createKey(account, authority);
             if (mIsSyncableMap.containsKey(key)) {
                 return mIsSyncableMap.get(key) ? 1 : 0;
-            } else {
-                return -1;
             }
+            return -1;
         }
     }
 
diff --git a/components/test/data/payments/payment_handler_status.js b/components/test/data/payments/payment_handler_status.js
index b8b0803..17512e9 100644
--- a/components/test/data/payments/payment_handler_status.js
+++ b/components/test/data/payments/payment_handler_status.js
@@ -11,7 +11,7 @@
  * @return {string} - The status field or error message.
  */
 async function getStatus(method) { // eslint-disable-line no-unused-vars
-  return getStatusInternal([{supportedMethods: method}]);
+  return getStatusForMethodData([{supportedMethods: method}]);
 }
 
 /**
@@ -25,7 +25,7 @@
   for (let method of methods) {
     methodData.push({supportedMethods: method});
   }
-  return getStatusInternal(methodData);
+  return getStatusForMethodData(methodData);
 }
 
 /**
@@ -34,7 +34,7 @@
  * @param {array<PaymentMethodData>} methodData - The method data to use.
  * @return {string} - The status field or error message.
  */
-async function getStatusInternal(methodData) {
+async function getStatusForMethodData(methodData) {
   try {
     const request = new PaymentRequest(
         methodData,
diff --git a/components/ukm/ukm_entry_filter.h b/components/ukm/ukm_entry_filter.h
index 64e931e..dbcbe37b 100644
--- a/components/ukm/ukm_entry_filter.h
+++ b/components/ukm/ukm_entry_filter.h
@@ -44,6 +44,10 @@
   virtual bool FilterEntry(
       mojom::UkmEntry* entry,
       base::flat_set<uint64_t>* removed_metric_hashes) const = 0;
+
+  // UkmService invokes this method every time a report is generated.
+  //
+  virtual void OnStoreRecordingsInReport() const {}
 };
 
 }  // namespace ukm
diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc
index b1145f9d..0cf4bb4f 100644
--- a/components/ukm/ukm_recorder_impl.cc
+++ b/components/ukm/ukm_recorder_impl.cc
@@ -530,6 +530,11 @@
     }
   }
   source_counts_proto->set_entryless_sources(num_sources_entryless);
+
+  // Notify observers that a report was generated.
+  if (entry_filter_) {
+    entry_filter_->OnStoreRecordingsInReport();
+  }
 }
 
 bool UkmRecorderImpl::ShouldRestrictToWhitelistedSourceIds() const {
diff --git a/components/variations/variations_associated_data.cc b/components/variations/variations_associated_data.cc
index 7dc9ae2..0894ea9f 100644
--- a/components/variations/variations_associated_data.cc
+++ b/components/variations/variations_associated_data.cc
@@ -10,7 +10,6 @@
 
 #include "base/macros.h"
 #include "base/memory/singleton.h"
-#include "base/metrics/field_trial.h"
 #include "base/metrics/field_trial_param_associator.h"
 #include "base/metrics/field_trial_params.h"
 #include "base/strings/string_split.h"
@@ -18,6 +17,13 @@
 
 namespace variations {
 
+namespace internal {
+
+const base::Feature kRestrictGoogleWebVisibility{
+    "RestrictGoogleWebVisibility", base::FEATURE_DISABLED_BY_DEFAULT};
+
+}  // namespace internal
+
 namespace {
 
 // The internal singleton accessor for the map, used to keep it thread-safe.
@@ -31,41 +37,43 @@
     return base::Singleton<GroupMapAccessor>::get();
   }
 
+  // Ensures that |group_identifier| is associated with only one non-trigger,
+  // trigger, or signed-in key.
+  void ValidateID(IDCollectionKey key,
+                  const ActiveGroupId& group_identifier,
+                  const VariationID id) {
+    static_assert(ID_COLLECTION_COUNT == 6,
+                  "If you add a new collection key, add handling code here!");
+#if DCHECK_IS_ON()
+    for (int i = 0; i < ID_COLLECTION_COUNT; ++i) {
+      IDCollectionKey other_key = static_cast<IDCollectionKey>(i);
+      if (key == other_key)
+        continue;
+
+      VariationID other_id = GetID(other_key, group_identifier);
+
+      // For a GOOGLE_APP key, validate that all other collections with this
+      // |group_identifier| have the same associated ID.
+      if (key == GOOGLE_APP) {
+        DCHECK(other_id == EMPTY_ID || other_id == id);
+        continue;
+      }
+
+      // The ID should not be registered under a different non-GOOGLE_APP
+      // IDCollectionKey.
+      if (other_key != GOOGLE_APP)
+        DCHECK_EQ(EMPTY_ID, other_id);
+    }
+#endif  // DCHECK_IS_ON()
+  }
+
   // Note that this normally only sets the ID for a group the first time, unless
   // |force| is set to true, in which case it will always override it.
   void AssociateID(IDCollectionKey key,
                    const ActiveGroupId& group_identifier,
                    const VariationID id,
                    const bool force) {
-    static_assert(4 == ID_COLLECTION_COUNT,
-                  "If you add a new collection key, add handling code here!");
-#if DCHECK_IS_ON()
-    // Ensure that at most one of the trigger/non-trigger/signed-in web property
-    // IDs are set.
-    if (key == GOOGLE_WEB_PROPERTIES || key == GOOGLE_WEB_PROPERTIES_TRIGGER ||
-        key == GOOGLE_WEB_PROPERTIES_SIGNED_IN) {
-      if (key != GOOGLE_WEB_PROPERTIES)
-        DCHECK_EQ(EMPTY_ID, GetID(GOOGLE_WEB_PROPERTIES, group_identifier));
-      if (key != GOOGLE_WEB_PROPERTIES_TRIGGER) {
-        DCHECK_EQ(EMPTY_ID,
-                  GetID(GOOGLE_WEB_PROPERTIES_TRIGGER, group_identifier));
-      }
-      if (key != GOOGLE_WEB_PROPERTIES_SIGNED_IN) {
-        DCHECK_EQ(EMPTY_ID,
-                  GetID(GOOGLE_WEB_PROPERTIES_SIGNED_IN, group_identifier));
-      }
-    }
-
-    // Validate that all collections with this |group_identifier| have the same
-    // associated ID.
-    for (int i = 0; i < ID_COLLECTION_COUNT; ++i) {
-      IDCollectionKey other_key = static_cast<IDCollectionKey>(i);
-      if (other_key == key)
-        continue;
-      VariationID other_id = GetID(other_key, group_identifier);
-      DCHECK(other_id == EMPTY_ID || other_id == id);
-    }
-#endif
+    ValidateID(key, group_identifier, id);
 
     base::AutoLock scoped_lock(lock_);
 
diff --git a/components/variations/variations_associated_data.h b/components/variations/variations_associated_data.h
index aa581ca..33e1ccc 100644
--- a/components/variations/variations_associated_data.h
+++ b/components/variations/variations_associated_data.h
@@ -10,6 +10,7 @@
 #include <string>
 #include <vector>
 
+#include "base/metrics/field_trial.h"
 #include "components/variations/active_field_trials.h"
 
 // This file provides various helpers that extend the functionality around
@@ -36,18 +37,22 @@
 //  std::string value = GetVariationParamValue("trial", "param_x");
 //  // use |value|, which will be "" if it does not exist
 //
-// VariationID id = GetGoogleVariationID(GOOGLE_WEB_PROPERTIES, "trial",
-//                                       "group1");
+// VariationID id = GetGoogleVariationID(
+//     GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, "trial", "group1");
 // if (id != variations::EMPTY_ID) {
 //   // use |id|
 // }
 
-namespace base {
-struct Feature;
-}  // namespace base
-
 namespace variations {
 
+namespace internal {
+// A feature that supports more finely-grained control over the transmission of
+// VariationIDs to Google web properties by allowing some VariationIDs to not be
+// transmitted in all contexts. See IsFirstPartyContext() in
+// variations_http_headers.cc for more details.
+extern const base::Feature kRestrictGoogleWebVisibility;
+}  // namespace internal
+
 typedef int VariationID;
 
 const VariationID EMPTY_ID = 0;
@@ -55,16 +60,26 @@
 // A key into the Associate/Get methods for VariationIDs. This is used to create
 // separate ID associations for separate parties interested in VariationIDs.
 enum IDCollectionKey {
-  // This collection is used by Google web properties, transmitted through the
-  // X-Client-Data header.
-  GOOGLE_WEB_PROPERTIES,
+  // The IDs in this collection are used by Google web properties and are
+  // transmitted via the X-Client-Data header. These IDs are transmitted in
+  // first- and third-party contexts.
+  GOOGLE_WEB_PROPERTIES_ANY_CONTEXT,
+  // Used when kRestrictGoogleWebVisibility is enabled. The IDs in this
+  // collection are used by Google web properties and are transmitted via the
+  // X-Client-Data header. These IDs are transmitted in first-party contexts.
+  GOOGLE_WEB_PROPERTIES_FIRST_PARTY,
   // This collection is used by Google web properties for signed in users only,
   // transmitted through the X-Client-Data header.
   GOOGLE_WEB_PROPERTIES_SIGNED_IN,
-  // This collection is used by Google web properties for IDs that trigger
-  // server side experimental behavior, transmitted through the
-  // X-Client-Data header.
-  GOOGLE_WEB_PROPERTIES_TRIGGER,
+  // The IDs in this collection are used by Google web properties to trigger
+  // server-side experimental behavior and are transmitted via the X-Client-Data
+  // header. These IDs are transmitted in first- and third-party contexts.
+  GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT,
+  // Used when kRestrictGoogleWebVisibility is enabled. The IDs in this
+  // collection are used by Google web properties to trigger server-side
+  // experimental behavior and are transmitted via the X-Client-Data header.
+  // These IDs are transmitted in first-party contexts.
+  GOOGLE_WEB_PROPERTIES_TRIGGER_FIRST_PARTY,
   // This collection is used by the Google App and is passed at the time
   // the cross-app communication is triggered.
   GOOGLE_APP,
diff --git a/components/variations/variations_associated_data_unittest.cc b/components/variations/variations_associated_data_unittest.cc
index e6f21b85..cdc6027 100644
--- a/components/variations/variations_associated_data_unittest.cc
+++ b/components/variations/variations_associated_data_unittest.cc
@@ -6,6 +6,7 @@
 
 #include "base/macros.h"
 #include "base/metrics/field_trial.h"
+#include "base/test/scoped_feature_list.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace variations {
@@ -56,7 +57,11 @@
       CreateFieldTrial("trial", 100, "default", &default_group_number));
 
   ASSERT_EQ(default_group_number, trial->group());
-  ASSERT_EQ(EMPTY_ID, GetIDForTrial(GOOGLE_WEB_PROPERTIES, trial.get()));
+
+  for (int i = 0; i < ID_COLLECTION_COUNT; ++i) {
+    ASSERT_EQ(EMPTY_ID,
+              GetIDForTrial(static_cast<IDCollectionKey>(i), trial.get()));
+  }
 }
 
 // Test that successfully associating the FieldTrial with some ID, and then
@@ -70,13 +75,13 @@
       CreateFieldTrial("trial", 100, default_name, nullptr));
 
   trial->AppendGroup(non_default_name, 100);
-  AssociateGoogleVariationID(GOOGLE_WEB_PROPERTIES, trial->trial_name(),
-      default_name, TEST_VALUE_A);
-  AssociateGoogleVariationID(GOOGLE_WEB_PROPERTIES, trial->trial_name(),
-      non_default_name, TEST_VALUE_B);
+  AssociateGoogleVariationID(GOOGLE_APP, trial->trial_name(), default_name,
+                             TEST_VALUE_A);
+  AssociateGoogleVariationID(GOOGLE_APP, trial->trial_name(), non_default_name,
+                             TEST_VALUE_B);
   trial->Disable();
   ASSERT_EQ(default_name, trial->group_name());
-  ASSERT_EQ(TEST_VALUE_A, GetIDForTrial(GOOGLE_WEB_PROPERTIES, trial.get()));
+  ASSERT_EQ(TEST_VALUE_A, GetIDForTrial(GOOGLE_APP, trial.get()));
 }
 
 // Test various successful association cases.
@@ -88,15 +93,14 @@
   int winner_group = trial_true->AppendGroup(winner, 10);
 
   // Set GoogleVariationIDs so we can verify that they were chosen correctly.
-  AssociateGoogleVariationID(GOOGLE_WEB_PROPERTIES, trial_true->trial_name(),
-      default_name1, TEST_VALUE_A);
-  AssociateGoogleVariationID(GOOGLE_WEB_PROPERTIES, trial_true->trial_name(),
-      winner, TEST_VALUE_B);
+  AssociateGoogleVariationID(GOOGLE_APP, trial_true->trial_name(),
+                             default_name1, TEST_VALUE_A);
+  AssociateGoogleVariationID(GOOGLE_APP, trial_true->trial_name(), winner,
+                             TEST_VALUE_B);
 
   EXPECT_EQ(winner_group, trial_true->group());
   EXPECT_EQ(winner, trial_true->group_name());
-  EXPECT_EQ(TEST_VALUE_B,
-            GetIDForTrial(GOOGLE_WEB_PROPERTIES, trial_true.get()));
+  EXPECT_EQ(TEST_VALUE_B, GetIDForTrial(GOOGLE_APP, trial_true.get()));
 
   const std::string default_name2 = "default2";
   scoped_refptr<base::FieldTrial> trial_false(
@@ -104,14 +108,13 @@
   const std::string loser = "ALoser";
   const int loser_group = trial_false->AppendGroup(loser, 0);
 
-  AssociateGoogleVariationID(GOOGLE_WEB_PROPERTIES, trial_false->trial_name(),
-      default_name2, TEST_VALUE_A);
-  AssociateGoogleVariationID(GOOGLE_WEB_PROPERTIES, trial_false->trial_name(),
-      loser, TEST_VALUE_B);
+  AssociateGoogleVariationID(GOOGLE_APP, trial_false->trial_name(),
+                             default_name2, TEST_VALUE_A);
+  AssociateGoogleVariationID(GOOGLE_APP, trial_false->trial_name(), loser,
+                             TEST_VALUE_B);
 
   EXPECT_NE(loser_group, trial_false->group());
-  EXPECT_EQ(TEST_VALUE_A,
-            GetIDForTrial(GOOGLE_WEB_PROPERTIES, trial_false.get()));
+  EXPECT_EQ(TEST_VALUE_A, GetIDForTrial(GOOGLE_APP, trial_false.get()));
 }
 
 // Test that not associating a FieldTrial with any IDs ensure that the empty ID
@@ -128,25 +131,23 @@
   // have a valid VariationID associated with it.
   EXPECT_EQ(winner_group, no_id_trial->group());
   EXPECT_EQ(winner, no_id_trial->group_name());
-  EXPECT_EQ(EMPTY_ID, GetIDForTrial(GOOGLE_WEB_PROPERTIES, no_id_trial.get()));
+  for (int i = 0; i < ID_COLLECTION_COUNT; ++i) {
+    ASSERT_EQ(EMPTY_ID, GetIDForTrial(static_cast<IDCollectionKey>(i),
+                                      no_id_trial.get()));
+  }
 }
 
 // Ensure that the AssociateGoogleVariationIDForce works as expected.
 TEST_F(VariationsAssociatedDataTest, ForceAssociation) {
-  EXPECT_EQ(EMPTY_ID,
-            GetGoogleVariationID(GOOGLE_WEB_PROPERTIES, "trial", "group"));
-  AssociateGoogleVariationID(GOOGLE_WEB_PROPERTIES, "trial", "group",
-                             TEST_VALUE_A);
-  EXPECT_EQ(TEST_VALUE_A,
-            GetGoogleVariationID(GOOGLE_WEB_PROPERTIES, "trial", "group"));
-  AssociateGoogleVariationID(GOOGLE_WEB_PROPERTIES, "trial", "group",
-                             TEST_VALUE_B);
-  EXPECT_EQ(TEST_VALUE_A,
-            GetGoogleVariationID(GOOGLE_WEB_PROPERTIES, "trial", "group"));
-  AssociateGoogleVariationIDForce(GOOGLE_WEB_PROPERTIES, "trial", "group",
-                                  TEST_VALUE_B);
-  EXPECT_EQ(TEST_VALUE_B,
-            GetGoogleVariationID(GOOGLE_WEB_PROPERTIES, "trial", "group"));
+  EXPECT_EQ(EMPTY_ID, GetGoogleVariationID(GOOGLE_APP, "trial", "group"));
+
+  AssociateGoogleVariationID(GOOGLE_APP, "trial", "group", TEST_VALUE_A);
+  EXPECT_EQ(TEST_VALUE_A, GetGoogleVariationID(GOOGLE_APP, "trial", "group"));
+  AssociateGoogleVariationID(GOOGLE_APP, "trial", "group", TEST_VALUE_B);
+  EXPECT_EQ(TEST_VALUE_A, GetGoogleVariationID(GOOGLE_APP, "trial", "group"));
+
+  AssociateGoogleVariationIDForce(GOOGLE_APP, "trial", "group", TEST_VALUE_B);
+  EXPECT_EQ(TEST_VALUE_B, GetGoogleVariationID(GOOGLE_APP, "trial", "group"));
 }
 
 }  // namespace variations
diff --git a/components/variations/variations_id_collection_unittest.cc b/components/variations/variations_id_collection_unittest.cc
index 562dc68..8461bc3 100644
--- a/components/variations/variations_id_collection_unittest.cc
+++ b/components/variations/variations_id_collection_unittest.cc
@@ -79,15 +79,17 @@
 };
 
 TEST_F(VariationsIdCollectionTest, VariousSetupAndFinalization) {
-  SetupAndFinalizeTrial(kTrial1, GOOGLE_WEB_PROPERTIES, kVariation1);
-  SetupTrial(kTrial2, GOOGLE_WEB_PROPERTIES, kVariation2);
-  ResetCollection(GOOGLE_WEB_PROPERTIES);
+  SetupAndFinalizeTrial(kTrial1, GOOGLE_WEB_PROPERTIES_ANY_CONTEXT,
+                        kVariation1);
+  SetupTrial(kTrial2, GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, kVariation2);
+  ResetCollection(GOOGLE_WEB_PROPERTIES_ANY_CONTEXT);
 
   EXPECT_EQ(Set({kVariation1}), collection()->GetIds());
   EXPECT_EQ(Vec({}), GetNewIds());
 
   FinalizeTrial(kTrial2);
-  SetupAndFinalizeTrial(kTrial3, GOOGLE_WEB_PROPERTIES, kVariation3);
+  SetupAndFinalizeTrial(kTrial3, GOOGLE_WEB_PROPERTIES_ANY_CONTEXT,
+                        kVariation3);
 
   EXPECT_EQ(Set({kVariation1, kVariation2, kVariation3}),
             collection()->GetIds());
@@ -95,9 +97,11 @@
 }
 
 TEST_F(VariationsIdCollectionTest, VariousKeys) {
-  SetupAndFinalizeTrial(kTrial1, GOOGLE_WEB_PROPERTIES, kVariation1);
+  SetupAndFinalizeTrial(kTrial1, GOOGLE_WEB_PROPERTIES_ANY_CONTEXT,
+                        kVariation1);
   SetupAndFinalizeTrial(kTrial2, GOOGLE_WEB_PROPERTIES_SIGNED_IN, kVariation2);
-  SetupAndFinalizeTrial(kTrial3, GOOGLE_WEB_PROPERTIES_TRIGGER, kVariation3);
+  SetupAndFinalizeTrial(kTrial3, GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT,
+                        kVariation3);
   ResetCollection(GOOGLE_WEB_PROPERTIES_SIGNED_IN);
 
   EXPECT_EQ(Set({kVariation2}), collection()->GetIds());
@@ -105,14 +109,14 @@
 }
 
 TEST_F(VariationsIdCollectionTest, MultipleFinalization) {
-  ResetCollection(GOOGLE_WEB_PROPERTIES);
+  ResetCollection(GOOGLE_WEB_PROPERTIES_ANY_CONTEXT);
   collection()->OnFieldTrialGroupFinalized(kTrial1, kGroup);
   EXPECT_EQ(Set({}), collection()->GetIds());
   EXPECT_EQ(Vec({}), GetNewIds());
 
   // Even though OnFieldTrialGroupFinalized is called, the VariationID lookup
   // should still fail and it should be gracefully handled.
-  SetupTrial(kTrial2, GOOGLE_WEB_PROPERTIES, kVariation1);
+  SetupTrial(kTrial2, GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, kVariation1);
   collection()->OnFieldTrialGroupFinalized(kTrial1, kGroup);
   EXPECT_EQ(Set({}), collection()->GetIds());
   EXPECT_EQ(Vec({}), GetNewIds());
diff --git a/components/variations/variations_ids_provider.cc b/components/variations/variations_ids_provider.cc
index a1b6e92..ea2d477e 100644
--- a/components/variations/variations_ids_provider.cc
+++ b/components/variations/variations_ids_provider.cc
@@ -79,7 +79,7 @@
 }
 
 std::string VariationsIdsProvider::GetVariationsString() {
-  return GetVariationsString(GOOGLE_WEB_PROPERTIES);
+  return GetVariationsString(GOOGLE_WEB_PROPERTIES_ANY_CONTEXT);
 }
 
 std::vector<VariationID> VariationsIdsProvider::GetVariationsVector(
@@ -90,9 +90,9 @@
 std::vector<VariationID>
 VariationsIdsProvider::GetVariationsVectorForWebPropertiesKeys() {
   const std::set<IDCollectionKey> web_properties_keys{
-      variations::GOOGLE_WEB_PROPERTIES,
+      variations::GOOGLE_WEB_PROPERTIES_ANY_CONTEXT,
       variations::GOOGLE_WEB_PROPERTIES_SIGNED_IN,
-      variations::GOOGLE_WEB_PROPERTIES_TRIGGER};
+      variations::GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT};
   return GetVariationsVectorImpl(web_properties_keys);
 }
 
@@ -153,9 +153,10 @@
     const std::string& group_name) {
   base::AutoLock scoped_lock(lock_);
   const size_t old_size = variation_ids_set_.size();
-  CacheVariationsId(trial_name, group_name, GOOGLE_WEB_PROPERTIES);
+  CacheVariationsId(trial_name, group_name, GOOGLE_WEB_PROPERTIES_ANY_CONTEXT);
   CacheVariationsId(trial_name, group_name, GOOGLE_WEB_PROPERTIES_SIGNED_IN);
-  CacheVariationsId(trial_name, group_name, GOOGLE_WEB_PROPERTIES_TRIGGER);
+  CacheVariationsId(trial_name, group_name,
+                    GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT);
   CacheVariationsId(trial_name, group_name, GOOGLE_APP);
   if (variation_ids_set_.size() != old_size)
     UpdateVariationIDsHeaderValue();
@@ -167,11 +168,11 @@
 
   synthetic_variation_ids_set_.clear();
   for (const SyntheticTrialGroup& group : groups) {
-    VariationID id =
-        GetGoogleVariationIDFromHashes(GOOGLE_WEB_PROPERTIES, group.id);
+    VariationID id = GetGoogleVariationIDFromHashes(
+        GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, group.id);
     if (id != EMPTY_ID) {
       synthetic_variation_ids_set_.insert(
-          VariationIDEntry(id, GOOGLE_WEB_PROPERTIES));
+          VariationIDEntry(id, GOOGLE_WEB_PROPERTIES_ANY_CONTEXT));
     }
     id = GetGoogleVariationIDFromHashes(GOOGLE_WEB_PROPERTIES_SIGNED_IN,
                                         group.id);
@@ -200,11 +201,11 @@
 
   for (const auto& entry : initial_groups) {
     CacheVariationsId(entry.trial_name, entry.group_name,
-                      GOOGLE_WEB_PROPERTIES);
+                      GOOGLE_WEB_PROPERTIES_ANY_CONTEXT);
     CacheVariationsId(entry.trial_name, entry.group_name,
                       GOOGLE_WEB_PROPERTIES_SIGNED_IN);
     CacheVariationsId(entry.trial_name, entry.group_name,
-                      GOOGLE_WEB_PROPERTIES_TRIGGER);
+                      GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT);
     CacheVariationsId(entry.trial_name, entry.group_name, GOOGLE_APP);
   }
   UpdateVariationIDsHeaderValue();
@@ -251,15 +252,19 @@
         if (is_signed_in)
           proto.add_variation_id(entry.first);
         break;
-      case GOOGLE_WEB_PROPERTIES:
+      case GOOGLE_WEB_PROPERTIES_ANY_CONTEXT:
         proto.add_variation_id(entry.first);
         break;
-      case GOOGLE_WEB_PROPERTIES_TRIGGER:
+      case GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT:
         proto.add_trigger_variation_id(entry.first);
         break;
       case GOOGLE_APP:
         // These IDs should not be added into Google Web headers.
         break;
+      case GOOGLE_WEB_PROPERTIES_FIRST_PARTY:
+      case GOOGLE_WEB_PROPERTIES_TRIGGER_FIRST_PARTY:
+        // TODO(crbug/1094303): Add support for the above IDCollectionKeys.
+        break;
       case ID_COLLECTION_COUNT:
         // This case included to get full enum coverage for switch, so that
         // new enums introduce compiler warnings. Nothing to do for this.
@@ -310,8 +315,8 @@
       return false;
     }
     target_set->insert(VariationIDEntry(
-        variation_id,
-        trigger_id ? GOOGLE_WEB_PROPERTIES_TRIGGER : GOOGLE_WEB_PROPERTIES));
+        variation_id, trigger_id ? GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT
+                                 : GOOGLE_WEB_PROPERTIES_ANY_CONTEXT));
   }
   return true;
 }
diff --git a/components/variations/variations_ids_provider_unittest.cc b/components/variations/variations_ids_provider_unittest.cc
index 18e25ce7..9be52dc5 100644
--- a/components/variations/variations_ids_provider_unittest.cc
+++ b/components/variations/variations_ids_provider_unittest.cc
@@ -165,11 +165,11 @@
 
   const std::string default_name = "default";
   scoped_refptr<base::FieldTrial> trial_1(CreateTrialAndAssociateId(
-      "t1", default_name, GOOGLE_WEB_PROPERTIES, 123));
+      "t1", default_name, GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, 123));
   ASSERT_EQ(default_name, trial_1->group_name());
 
   scoped_refptr<base::FieldTrial> trial_2(CreateTrialAndAssociateId(
-      "t2", default_name, GOOGLE_WEB_PROPERTIES_TRIGGER, 456));
+      "t2", default_name, GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT, 456));
   ASSERT_EQ(default_name, trial_2->group_name());
 
   scoped_refptr<base::FieldTrial> trial_3(CreateTrialAndAssociateId(
@@ -208,8 +208,8 @@
 
 TEST_F(VariationsIdsProviderTest, GetGoogleAppVariationsString) {
   // All GOOGLE_WEB_PROPERTIES(_X) ids shouldn't be included.
-  CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES, 123);
-  CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES, 124);
+  CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, 123);
+  CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, 124);
   CreateTrialAndAssociateId("t3", "g3", GOOGLE_WEB_PROPERTIES_SIGNED_IN, 125);
 
   // GOOGLE_APP ids should be included.
@@ -221,8 +221,8 @@
 }
 
 TEST_F(VariationsIdsProviderTest, GetVariationsString) {
-  CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES, 123);
-  CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES, 124);
+  CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, 123);
+  CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, 124);
   // SIGNED_IN ids shouldn't be included.
   CreateTrialAndAssociateId("t3", "g3", GOOGLE_WEB_PROPERTIES_SIGNED_IN, 125);
   // GOOGLE_APP ids shouldn't be included.
@@ -234,10 +234,12 @@
 }
 
 TEST_F(VariationsIdsProviderTest, GetVariationsVector) {
-  CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES, 121);
-  CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES, 122);
-  CreateTrialAndAssociateId("t3", "g3", GOOGLE_WEB_PROPERTIES_TRIGGER, 123);
-  CreateTrialAndAssociateId("t4", "g4", GOOGLE_WEB_PROPERTIES_TRIGGER, 124);
+  CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, 121);
+  CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, 122);
+  CreateTrialAndAssociateId("t3", "g3",
+                            GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT, 123);
+  CreateTrialAndAssociateId("t4", "g4",
+                            GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT, 124);
   CreateTrialAndAssociateId("t5", "g5", GOOGLE_WEB_PROPERTIES_SIGNED_IN, 125);
   CreateTrialAndAssociateId("t6", "g6", GOOGLE_APP, 126);
 
@@ -245,9 +247,10 @@
   provider.ForceVariationIds({"100", "200", "t101"}, "");
 
   EXPECT_EQ((std::vector<VariationID>{100, 121, 122, 200}),
-            provider.GetVariationsVector(GOOGLE_WEB_PROPERTIES));
-  EXPECT_EQ((std::vector<VariationID>{101, 123, 124}),
-            provider.GetVariationsVector(GOOGLE_WEB_PROPERTIES_TRIGGER));
+            provider.GetVariationsVector(GOOGLE_WEB_PROPERTIES_ANY_CONTEXT));
+  EXPECT_EQ(
+      (std::vector<VariationID>{101, 123, 124}),
+      provider.GetVariationsVector(GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT));
   EXPECT_EQ((std::vector<VariationID>{125}),
             provider.GetVariationsVector(GOOGLE_WEB_PROPERTIES_SIGNED_IN));
   EXPECT_EQ((std::vector<VariationID>{126}),
@@ -255,8 +258,9 @@
 }
 
 TEST_F(VariationsIdsProviderTest, GetVariationsVectorForWebPropertiesKeys) {
-  CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES, 121);
-  CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES_TRIGGER, 122);
+  CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, 121);
+  CreateTrialAndAssociateId("t2", "g2",
+                            GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT, 122);
   CreateTrialAndAssociateId("t3", "g3", GOOGLE_WEB_PROPERTIES_SIGNED_IN, 123);
   CreateTrialAndAssociateId("t4", "g4", GOOGLE_APP, 124);  // Will be excluded.
   VariationsIdsProvider provider;
@@ -266,10 +270,12 @@
 }
 
 TEST_F(VariationsIdsProviderTest, GetVariationsVectorImpl) {
-  CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES, 121);
-  CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES, 122);
-  CreateTrialAndAssociateId("t3", "g3", GOOGLE_WEB_PROPERTIES_TRIGGER, 123);
-  CreateTrialAndAssociateId("t4", "g4", GOOGLE_WEB_PROPERTIES_TRIGGER, 124);
+  CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, 121);
+  CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES_ANY_CONTEXT, 122);
+  CreateTrialAndAssociateId("t3", "g3",
+                            GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT, 123);
+  CreateTrialAndAssociateId("t4", "g4",
+                            GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT, 124);
   CreateTrialAndAssociateId("t5", "g5", GOOGLE_WEB_PROPERTIES_SIGNED_IN, 125);
   CreateTrialAndAssociateId("t6", "g6", GOOGLE_WEB_PROPERTIES_SIGNED_IN,
                             124);  // Note: Duplicate.
@@ -280,10 +286,12 @@
 
   EXPECT_EQ((std::vector<VariationID>{100, 101, 121, 122, 123, 124, 200}),
             provider.GetVariationsVectorImpl(
-                {GOOGLE_WEB_PROPERTIES, GOOGLE_WEB_PROPERTIES_TRIGGER}));
+                {GOOGLE_WEB_PROPERTIES_ANY_CONTEXT,
+                 GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT}));
   EXPECT_EQ((std::vector<VariationID>{101, 123, 124, 125}),
-            provider.GetVariationsVectorImpl({GOOGLE_WEB_PROPERTIES_SIGNED_IN,
-                                              GOOGLE_WEB_PROPERTIES_TRIGGER}));
+            provider.GetVariationsVectorImpl(
+                {GOOGLE_WEB_PROPERTIES_SIGNED_IN,
+                 GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT}));
   EXPECT_EQ((std::vector<VariationID>{124, 125, 126}),
             provider.GetVariationsVectorImpl(
                 {GOOGLE_APP, GOOGLE_WEB_PROPERTIES_SIGNED_IN}));
diff --git a/components/variations/variations_seed_processor.cc b/components/variations/variations_seed_processor.cc
index ab5d7063..a0dc36d 100644
--- a/components/variations/variations_seed_processor.cc
+++ b/components/variations/variations_seed_processor.cc
@@ -42,16 +42,16 @@
   if (experiment.has_google_web_experiment_id()) {
     const VariationID variation_id =
         static_cast<VariationID>(experiment.google_web_experiment_id());
-    AssociateGoogleVariationIDForce(GOOGLE_WEB_PROPERTIES,
-                                    trial_name,
-                                    experiment.name(),
+    AssociateGoogleVariationIDForce(GOOGLE_WEB_PROPERTIES_ANY_CONTEXT,
+                                    trial_name, experiment.name(),
                                     variation_id);
   }
   if (experiment.has_google_web_trigger_experiment_id()) {
     const VariationID variation_id =
         static_cast<VariationID>(experiment.google_web_trigger_experiment_id());
-    AssociateGoogleVariationIDForce(GOOGLE_WEB_PROPERTIES_TRIGGER, trial_name,
-                                    experiment.name(), variation_id);
+    AssociateGoogleVariationIDForce(GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT,
+                                    trial_name, experiment.name(),
+                                    variation_id);
   }
 
   if (experiment.has_google_app_experiment_id()) {
diff --git a/components/variations/variations_seed_processor_unittest.cc b/components/variations/variations_seed_processor_unittest.cc
index 0adc5ed..60a58dd 100644
--- a/components/variations/variations_seed_processor_unittest.cc
+++ b/components/variations/variations_seed_processor_unittest.cc
@@ -177,8 +177,8 @@
   EXPECT_EQ(kFlagGroup1Name,
             base::FieldTrialList::FindFullName(kFlagStudyName));
 
-  VariationID id = GetGoogleVariationID(GOOGLE_WEB_PROPERTIES, kFlagStudyName,
-                                        kFlagGroup1Name);
+  VariationID id = GetGoogleVariationID(GOOGLE_WEB_PROPERTIES_ANY_CONTEXT,
+                                        kFlagStudyName, kFlagGroup1Name);
   EXPECT_EQ(kExperimentId, id);
 }
 
@@ -593,8 +593,8 @@
 
   // Check that params and experiment ids correspond.
   EXPECT_EQ("y", GetVariationParamValue(study.name(), "x"));
-  VariationID id = GetGoogleVariationID(GOOGLE_WEB_PROPERTIES, kFlagStudyName,
-                                        kNonFlagGroupName);
+  VariationID id = GetGoogleVariationID(GOOGLE_WEB_PROPERTIES_ANY_CONTEXT,
+                                        kFlagStudyName, kNonFlagGroupName);
   EXPECT_EQ(kExperimentId, id);
 }
 
diff --git a/components/viz/common/gpu/context_provider.h b/components/viz/common/gpu/context_provider.h
index dfb8935..a2176ccb 100644
--- a/components/viz/common/gpu/context_provider.h
+++ b/components/viz/common/gpu/context_provider.h
@@ -103,7 +103,7 @@
   // provider must have been successfully bound to a thread before calling this.
   virtual const gpu::Capabilities& ContextCapabilities() const = 0;
 
-  // Returns feature blacklist decisions and driver bug workarounds info.  The
+  // Returns feature blocklist decisions and driver bug workarounds info.  The
   // context provider must have been successfully bound to a thread before
   // calling this.
   virtual const gpu::GpuFeatureInfo& GetGpuFeatureInfo() const = 0;
diff --git a/components/viz/common/gpu/raster_context_provider.h b/components/viz/common/gpu/raster_context_provider.h
index e73b88ef..49f65af 100644
--- a/components/viz/common/gpu/raster_context_provider.h
+++ b/components/viz/common/gpu/raster_context_provider.h
@@ -107,7 +107,7 @@
   // provider must have been successfully bound to a thread before calling this.
   virtual const gpu::Capabilities& ContextCapabilities() const = 0;
 
-  // Returns feature blacklist decisions and driver bug workarounds info.  The
+  // Returns feature blocklist decisions and driver bug workarounds info.  The
   // context provider must have been successfully bound to a thread before
   // calling this.
   virtual const gpu::GpuFeatureInfo& GetGpuFeatureInfo() const = 0;
diff --git a/components/viz/host/gpu_host_impl.cc b/components/viz/host/gpu_host_impl.cc
index 2765f02..1d65eed 100644
--- a/components/viz/host/gpu_host_impl.cc
+++ b/components/viz/host/gpu_host_impl.cc
@@ -224,9 +224,9 @@
 
   shutdown_timeout_.Stop();
 
-  // If GPU features are already blacklisted, no need to establish the channel.
+  // If GPU features are already blocklisted, no need to establish the channel.
   if (!delegate_->GpuAccessAllowed()) {
-    DVLOG(1) << "GPU blacklisted, refusing to open a GPU channel.";
+    DVLOG(1) << "GPU access blocked, refusing to open a GPU channel.";
     std::move(callback).Run(mojo::ScopedMessagePipeHandle(), gpu::GPUInfo(),
                             gpu::GpuFeatureInfo(),
                             EstablishChannelStatus::kGpuAccessDenied);
@@ -386,7 +386,7 @@
   auto callback = std::move(channel_requests_.front());
   channel_requests_.pop();
 
-  // Currently if any of the GPU features are blacklisted, we don't establish a
+  // Currently if any of the GPU features are blocklisted, we don't establish a
   // GPU channel.
   if (channel_handle.is_valid() && !delegate_->GpuAccessAllowed()) {
     gpu_service_remote_->CloseChannel(client_id);
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
index d991c21..97bb30e 100644
--- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn
@@ -537,6 +537,7 @@
       "display_embedder/software_output_device_ozone_unittest.cc",
     ]
     deps += [
+      "//ui/base:features",
       "//ui/compositor:test_support",
       "//ui/ozone",
     ]
diff --git a/components/viz/service/display/dc_layer_overlay.cc b/components/viz/service/display/dc_layer_overlay.cc
index 254e49aa..38145d5 100644
--- a/components/viz/service/display/dc_layer_overlay.cc
+++ b/components/viz/service/display/dc_layer_overlay.cc
@@ -74,7 +74,7 @@
     int current_frame_processed_overlay_count,
     DisplayResourceProvider* resource_provider) {
   // Note: Do not override this value based on base::Feature values. It is the
-  // result after the GPU blacklist has been consulted.
+  // result after the GPU blocklist has been consulted.
   if (!has_overlay_support)
     return DC_LAYER_FAILED_UNSUPPORTED_QUAD;
 
diff --git a/components/viz/service/display/gl_renderer_unittest.cc b/components/viz/service/display/gl_renderer_unittest.cc
index 0a62ad7..100b85c 100644
--- a/components/viz/service/display/gl_renderer_unittest.cc
+++ b/components/viz/service/display/gl_renderer_unittest.cc
@@ -2764,6 +2764,11 @@
 };
 
 TEST_F(GLRendererTest, OverlaySyncTokensAreProcessed) {
+#if defined(USE_X11)
+  // TODO(1096425): Remove this.
+  if (!features::IsUsingOzonePlatform())
+    GTEST_SKIP();
+#endif
   auto gl_owned = std::make_unique<WaitSyncTokenCountingGLES2Interface>();
   WaitSyncTokenCountingGLES2Interface* gl = gl_owned.get();
 
@@ -4609,6 +4614,11 @@
 
 TEST_F(GLRendererWithGpuFenceTest,
        GpuFenceIdIsUsedOnlyForRootRenderPassOverlay) {
+#if defined(USE_X11)
+  // TODO(1096425): Remove this.
+  if (!features::IsUsingOzonePlatform())
+    GTEST_SKIP();
+#endif
   gfx::Size viewport_size(100, 100);
   RenderPass* root_pass = cc::AddRenderPass(
       &render_passes_in_draw_order_, RenderPassId{1}, gfx::Rect(viewport_size),
diff --git a/components/viz/service/display/overlay_unittest.cc b/components/viz/service/display/overlay_unittest.cc
index 34f85ed..80ba59e 100644
--- a/components/viz/service/display/overlay_unittest.cc
+++ b/components/viz/service/display/overlay_unittest.cc
@@ -44,6 +44,10 @@
 #include "ui/gfx/geometry/rect_conversions.h"
 #include "ui/latency/latency_info.h"
 
+#if defined(USE_OZONE)
+#include "ui/base/ui_base_features.h"
+#endif
+
 using testing::_;
 using testing::Mock;
 
@@ -2298,6 +2302,14 @@
     child_resource_provider_->ShutdownAndReleaseAllResources();
   }
 
+  void SetUp() override {
+#if defined(USE_X11)
+    // TODO(1096425): non-Ozone/X11 doesn't seem to support overlays.
+    if (!features::IsUsingOzonePlatform())
+      GTEST_SKIP();
+#endif
+  }
+
   void Init(bool use_overlay_processor) {
     if (use_overlay_processor)
       owned_overlay_processor_ = std::make_unique<SingleOverlayProcessor>();
diff --git a/components/viz/service/display_embedder/skia_output_device_gl.cc b/components/viz/service/display_embedder/skia_output_device_gl.cc
index 35466d4..1de042f 100644
--- a/components/viz/service/display_embedder/skia_output_device_gl.cc
+++ b/components/viz/service/display_embedder/skia_output_device_gl.cc
@@ -15,7 +15,6 @@
 #include "gpu/command_buffer/service/gl_utils.h"
 #include "gpu/command_buffer/service/mailbox_manager.h"
 #include "gpu/command_buffer/service/shared_context_state.h"
-#include "gpu/command_buffer/service/shared_image_factory.h"
 #include "gpu/command_buffer/service/texture_base.h"
 #include "gpu/command_buffer/service/texture_manager.h"
 #include "third_party/skia/include/core/SkSurface.h"
@@ -35,7 +34,6 @@
 
 SkiaOutputDeviceGL::SkiaOutputDeviceGL(
     gpu::MailboxManager* mailbox_manager,
-    gpu::SharedImageRepresentationFactory* representation_factory,
     gpu::SharedContextState* context_state,
     scoped_refptr<gl::GLSurface> gl_surface,
     scoped_refptr<gpu::gles2::FeatureInfo> feature_info,
@@ -45,7 +43,6 @@
                        memory_tracker,
                        std::move(did_swap_buffer_complete_callback)),
       mailbox_manager_(mailbox_manager),
-      representation_factory_(representation_factory),
       context_state_(context_state),
       gl_surface_(std::move(gl_surface)),
       supports_async_swap_(gl_surface_->SupportsAsyncSwap()) {
@@ -343,26 +340,11 @@
 
 scoped_refptr<gl::GLImage> SkiaOutputDeviceGL::GetGLImageForMailbox(
     const gpu::Mailbox& mailbox) {
-  // TODO(crbug.com/1005306): Remove ConsumeTexture here once
+  // TODO(crbug.com/1005306): Use SharedImageManager to get textures here once
   // all clients are using SharedImageInterface to create textures.
-  // For example, the legacy mailbox still uses GL textures (no overlay)
-  // and is still used.
   auto* texture_base = mailbox_manager_->ConsumeTexture(mailbox);
-  if (!texture_base) {
-    auto overlay = representation_factory_->ProduceOverlay(mailbox);
-    if (!overlay)
-      return nullptr;
-
-    // Return GLImage since the ScopedReadAccess isn't being held by anyone.
-    // TODO(crbug.com/1011555): Have SkiaOutputSurfaceImplOnGpu hold on to the
-    // ScopedReadAccess for overlays like it does for PromiseImage based
-    // resources.
-    std::unique_ptr<gpu::SharedImageRepresentationOverlay::ScopedReadAccess>
-        scoped_overlay_read_access =
-            overlay->BeginScopedReadAccess(/*need_gl_image=*/true);
-    DCHECK(scoped_overlay_read_access);
-    return scoped_overlay_read_access->gl_image();
-  }
+  if (!texture_base)
+    return nullptr;
 
   if (texture_base->GetType() == gpu::TextureBase::Type::kPassthrough) {
     gpu::gles2::TexturePassthrough* texture =
diff --git a/components/viz/service/display_embedder/skia_output_device_gl.h b/components/viz/service/display_embedder/skia_output_device_gl.h
index 50a659f7..c237b00 100644
--- a/components/viz/service/display_embedder/skia_output_device_gl.h
+++ b/components/viz/service/display_embedder/skia_output_device_gl.h
@@ -22,7 +22,6 @@
 namespace gpu {
 class MailboxManager;
 class SharedContextState;
-class SharedImageRepresentationFactory;
 
 namespace gles2 {
 class FeatureInfo;
@@ -35,7 +34,6 @@
  public:
   SkiaOutputDeviceGL(
       gpu::MailboxManager* mailbox_manager,
-      gpu::SharedImageRepresentationFactory* representation_factory,
       gpu::SharedContextState* context_state,
       scoped_refptr<gl::GLSurface> gl_surface,
       scoped_refptr<gpu::gles2::FeatureInfo> feature_info,
@@ -76,7 +74,6 @@
   scoped_refptr<gl::GLImage> GetGLImageForMailbox(const gpu::Mailbox& mailbox);
 
   gpu::MailboxManager* const mailbox_manager_;
-  gpu::SharedImageRepresentationFactory* const representation_factory_;
 
   gpu::SharedContextState* const context_state_;
   scoped_refptr<gl::GLSurface> gl_surface_;
diff --git a/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc b/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
index c239798..42f7b6e 100644
--- a/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
+++ b/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
@@ -1077,8 +1077,7 @@
               GetDidSwapBuffersCompleteCallback());
         } else {
           output_device_ = std::make_unique<SkiaOutputDeviceGL>(
-              dependency_->GetMailboxManager(),
-              shared_image_representation_factory_.get(), context_state_.get(),
+              dependency_->GetMailboxManager(), context_state_.get(),
               gl_surface_, feature_info_, memory_tracker_,
               GetDidSwapBuffersCompleteCallback());
         }
diff --git a/components/viz/test/data/scaled_mask_with_effect_gl.png b/components/viz/test/data/scaled_mask_with_effect_gl.png
index 58615ef..f02eace8 100644
--- a/components/viz/test/data/scaled_mask_with_effect_gl.png
+++ b/components/viz/test/data/scaled_mask_with_effect_gl.png
Binary files differ
diff --git a/components/viz/test/data/scaled_mask_with_effect_skia_gl.png b/components/viz/test/data/scaled_mask_with_effect_skia_gl.png
index f4e965c..d2e1278 100644
--- a/components/viz/test/data/scaled_mask_with_effect_skia_gl.png
+++ b/components/viz/test/data/scaled_mask_with_effect_skia_gl.png
Binary files differ
diff --git a/components/viz/test/data/scaled_mask_with_effect_skia_vk.png b/components/viz/test/data/scaled_mask_with_effect_skia_vk.png
index f4e965c..93736c75 100644
--- a/components/viz/test/data/scaled_mask_with_effect_skia_vk.png
+++ b/components/viz/test/data/scaled_mask_with_effect_skia_vk.png
Binary files differ
diff --git a/components/viz/test/test_gpu_service_holder.cc b/components/viz/test/test_gpu_service_holder.cc
index 6f42f8d6..0ed30cd 100644
--- a/components/viz/test/test_gpu_service_holder.cc
+++ b/components/viz/test/test_gpu_service_holder.cc
@@ -229,7 +229,7 @@
 #endif
   }
 
-  // Always enable gpu and oop raster, regardless of platform and blacklist.
+  // Always enable gpu and oop raster, regardless of platform and blocklist.
   // The latter instructs GpuChannelManager::GetSharedContextState to create a
   // GrContext, which is required by SkiaRenderer as well as OOP-R.
   gpu::GPUInfo gpu_info;
diff --git a/content/browser/accessibility/ax_platform_node_win_browsertest.cc b/content/browser/accessibility/ax_platform_node_win_browsertest.cc
index c83b531..119e9fe 100644
--- a/content/browser/accessibility/ax_platform_node_win_browsertest.cc
+++ b/content/browser/accessibility/ax_platform_node_win_browsertest.cc
@@ -604,4 +604,74 @@
   }
 }
 
+IN_PROC_BROWSER_TEST_F(AXPlatformNodeWinBrowserTest, IFrameTraversal) {
+  LoadInitialAccessibilityTreeFromHtmlFilePath(
+      "/accessibility/html/iframe-traversal.html");
+  WaitForAccessibilityTreeToContainNodeWithName(shell()->web_contents(),
+                                                "Text in iframe");
+
+  BrowserAccessibility* root_node = GetRootAndAssertNonNull();
+  BrowserAccessibility* before_iframe_node =
+      FindNodeAfter(root_node, "Before iframe");
+  ASSERT_NE(nullptr, before_iframe_node);
+  ASSERT_EQ(ax::mojom::Role::kStaticText, before_iframe_node->GetRole());
+  before_iframe_node = before_iframe_node->PlatformGetFirstChild();
+  ASSERT_NE(nullptr, before_iframe_node);
+  ASSERT_EQ(ax::mojom::Role::kInlineTextBox, before_iframe_node->GetRole());
+
+  BrowserAccessibility* inside_iframe_node =
+      FindNodeAfter(before_iframe_node, "Text in iframe");
+  ASSERT_NE(nullptr, inside_iframe_node);
+  ASSERT_EQ(ax::mojom::Role::kStaticText, inside_iframe_node->GetRole());
+  inside_iframe_node = inside_iframe_node->PlatformGetFirstChild();
+  ASSERT_NE(nullptr, inside_iframe_node);
+  ASSERT_EQ(ax::mojom::Role::kInlineTextBox, inside_iframe_node->GetRole());
+
+  BrowserAccessibility* after_iframe_node =
+      FindNodeAfter(inside_iframe_node, "After iframe");
+  ASSERT_NE(nullptr, after_iframe_node);
+  ASSERT_EQ(ax::mojom::Role::kStaticText, after_iframe_node->GetRole());
+  after_iframe_node = after_iframe_node->PlatformGetFirstChild();
+  ASSERT_NE(nullptr, after_iframe_node);
+  ASSERT_EQ(ax::mojom::Role::kInlineTextBox, after_iframe_node->GetRole());
+
+  EXPECT_LT(*before_iframe_node->CreatePositionAt(0),
+            *inside_iframe_node->CreatePositionAt(0));
+  EXPECT_EQ(*before_iframe_node->CreatePositionAt(13),
+            *inside_iframe_node->CreatePositionAt(0));
+  EXPECT_LT(*inside_iframe_node->CreatePositionAt(0),
+            *after_iframe_node->CreatePositionAt(0));
+  EXPECT_EQ(*inside_iframe_node->CreatePositionAt(14),
+            *after_iframe_node->CreatePositionAt(0));
+
+  // Traverse the leaves of the AXTree forwards.
+  BrowserAccessibilityPosition::AXPositionInstance tree_position =
+      root_node->CreatePositionAt(0)->CreateNextLeafTreePosition();
+  EXPECT_TRUE(tree_position->IsTreePosition());
+  EXPECT_EQ(before_iframe_node, tree_position->GetAnchor());
+  tree_position = tree_position->CreateNextLeafTreePosition();
+  EXPECT_TRUE(tree_position->IsTreePosition());
+  EXPECT_EQ(inside_iframe_node, tree_position->GetAnchor());
+  tree_position = tree_position->CreateNextLeafTreePosition();
+  EXPECT_TRUE(tree_position->IsTreePosition());
+  EXPECT_EQ(after_iframe_node, tree_position->GetAnchor());
+  tree_position = tree_position->CreateNextLeafTreePosition();
+  EXPECT_TRUE(tree_position->IsNullPosition());
+
+  // Traverse the leaves of the AXTree backwards.
+  tree_position = after_iframe_node->CreatePositionAt(0)
+                      ->CreatePositionAtEndOfAnchor()
+                      ->AsLeafTreePosition();
+  EXPECT_TRUE(tree_position->IsTreePosition());
+  EXPECT_EQ(after_iframe_node, tree_position->GetAnchor());
+  tree_position = tree_position->CreatePreviousLeafTreePosition();
+  EXPECT_TRUE(tree_position->IsTreePosition());
+  EXPECT_EQ(inside_iframe_node, tree_position->GetAnchor());
+  tree_position = tree_position->CreatePreviousLeafTreePosition();
+  EXPECT_TRUE(tree_position->IsTreePosition());
+  EXPECT_EQ(before_iframe_node, tree_position->GetAnchor());
+  tree_position = tree_position->CreatePreviousLeafTreePosition();
+  EXPECT_TRUE(tree_position->IsNullPosition());
+}
+
 }  // namespace content
diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc
index 013b4fb..6bfe3b7 100644
--- a/content/browser/accessibility/browser_accessibility.cc
+++ b/content/browser/accessibility/browser_accessibility.cc
@@ -124,13 +124,9 @@
 }
 
 uint32_t BrowserAccessibility::PlatformChildCount() const {
-  if (HasStringAttribute(ax::mojom::StringAttribute::kChildTreeId)) {
-    if (PlatformGetRootOfChildTree())
-      return 1;
+  if (PlatformIsLeaf())
     return 0;
-  }
-
-  return PlatformIsLeaf() ? 0 : InternalChildCount();
+  return PlatformGetRootOfChildTree() ? 1 : InternalChildCount();
 }
 
 BrowserAccessibility* BrowserAccessibility::PlatformGetParent() const {
@@ -146,10 +142,8 @@
 }
 
 BrowserAccessibility* BrowserAccessibility::PlatformGetLastChild() const {
-  BrowserAccessibility* last_unignored_child = InternalGetLastChild();
-  if (!last_unignored_child)
-    last_unignored_child = PlatformGetRootOfChildTree();
-  return last_unignored_child;
+  BrowserAccessibility* child_tree_root = PlatformGetRootOfChildTree();
+  return child_tree_root ? child_tree_root : InternalGetLastChild();
 }
 
 BrowserAccessibility* BrowserAccessibility::PlatformGetNextSibling() const {
@@ -209,20 +203,12 @@
 
 BrowserAccessibility* BrowserAccessibility::PlatformGetChild(
     uint32_t child_index) const {
-  BrowserAccessibility* result = nullptr;
-
-  if (HasStringAttribute(ax::mojom::StringAttribute::kChildTreeId)) {
-    DCHECK_EQ(node_->children().size(), 0u)
-        << "A node should not have both children and a child tree.";
-
-    // child_trees do not have siblings.
-    if (child_index == 0)
-      result = PlatformGetRootOfChildTree();
-  } else {
-    result = InternalGetChild(child_index);
+  BrowserAccessibility* child_tree_root = PlatformGetRootOfChildTree();
+  if (child_tree_root) {
+    // A node with a child tree has only one child.
+    return child_index ? nullptr : child_tree_root;
   }
-
-  return result;
+  return InternalGetChild(child_index);
 }
 
 BrowserAccessibility* BrowserAccessibility::PlatformGetClosestPlatformObject()
@@ -1553,7 +1539,7 @@
     return !child_count ||
            (child_count == 1 && InternalGetFirstChild()->IsText());
   }
-  return node()->IsLeaf();
+  return PlatformGetRootOfChildTree() ? false : node()->IsLeaf();
 }
 
 bool BrowserAccessibility::IsToplevelBrowserWindow() {
@@ -2145,15 +2131,18 @@
 }
 
 BrowserAccessibility* BrowserAccessibility::PlatformGetRootOfChildTree() const {
-  if (!HasStringAttribute(ax::mojom::StringAttribute::kChildTreeId))
+  std::string child_tree_id;
+  if (!GetStringAttribute(ax::mojom::StringAttribute::kChildTreeId,
+                          &child_tree_id)) {
     return nullptr;
-  AXTreeID child_tree_id = AXTreeID::FromString(
-      GetStringAttribute(ax::mojom::StringAttribute::kChildTreeId));
+  }
+  DCHECK_EQ(node_->children().size(), 0u)
+      << "A node should not have both children and a child tree.";
+
   BrowserAccessibilityManager* child_manager =
-      BrowserAccessibilityManager::FromID(child_tree_id);
+      BrowserAccessibilityManager::FromID(AXTreeID::FromString(child_tree_id));
   if (child_manager && child_manager->GetRoot()->PlatformGetParent() == this)
     return child_manager->GetRoot();
-
   return nullptr;
 }
 
diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
index 8c8f28e0..288ef959f 100644
--- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
+++ b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
@@ -2121,12 +2121,25 @@
   RunHtmlTest(FILE_PATH_LITERAL("progress.html"));
 }
 
-IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, AccessibilityPortal) {
+// https://crbug.com/1120210
+#if defined(OS_ANDROID)
+#define MAYBE_AccessibilityPortal DISABLED_AccessibilityPortal
+#else
+#define MAYBE_AccessibilityPortal AccessibilityPortal
+#endif
+IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, MAYBE_AccessibilityPortal) {
   RunHtmlTest(FILE_PATH_LITERAL("portal.html"));
 }
 
+// https://crbug.com/1120210
+#if defined(OS_ANDROID)
+#define MAYBE_AccessibilityPortalNameFromText \
+  DISABLED_AccessibilityPortalNameFromText
+#else
+#define MAYBE_AccessibilityPortalNameFromText AccessibilityPortalNameFromText
+#endif
 IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
-                       AccessibilityPortalNameFromText) {
+                       MAYBE_AccessibilityPortalNameFromText) {
   RunHtmlTest(FILE_PATH_LITERAL("portal-name-from-text.html"));
 }
 
@@ -2136,8 +2149,16 @@
   RunHtmlTest(FILE_PATH_LITERAL("portal-with-widget-inside.html"));
 }
 
+// https://crbug.com/1120210
+#if defined(OS_ANDROID)
+#define MAYBE_AccessibilityPortalNameFromVisibleText \
+  DISABLED_AccessibilityPortalNameFromVisibleText
+#else
+#define MAYBE_AccessibilityPortalNameFromVisibleText \
+  AccessibilityPortalNameFromVisibleText
+#endif
 IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
-                       AccessibilityPortalNameFromVisibleText) {
+                       MAYBE_AccessibilityPortalNameFromVisibleText) {
   RunHtmlTest(FILE_PATH_LITERAL("portal-name-from-visible-text.html"));
 }
 
diff --git a/content/browser/bad_message.cc b/content/browser/bad_message.cc
index 1b3866f..0fe35923 100644
--- a/content/browser/bad_message.cc
+++ b/content/browser/bad_message.cc
@@ -69,9 +69,9 @@
   filter->ShutdownForBadMessage();
 }
 
-base::debug::CrashKeyString* GetRequestedSiteURLKey() {
+base::debug::CrashKeyString* GetRequestedSiteInfoKey() {
   static auto* crash_key = base::debug::AllocateCrashKeyString(
-      "requested_site_url", base::debug::CrashKeySize::Size64);
+      "requested_site_info", base::debug::CrashKeySize::Size256);
   return crash_key;
 }
 
diff --git a/content/browser/bad_message.h b/content/browser/bad_message.h
index 692868c..25f1a39 100644
--- a/content/browser/bad_message.h
+++ b/content/browser/bad_message.h
@@ -283,8 +283,8 @@
 
 // Site isolation. These keys help debug renderer kills such as
 // https://crbug.com/773140.
-// Retuns a key named "requested_site_url".
-base::debug::CrashKeyString* GetRequestedSiteURLKey();
+// Retuns a key for logging a requested SiteInfo.
+base::debug::CrashKeyString* GetRequestedSiteInfoKey();
 
 }  // namespace bad_message
 }  // namespace content
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
index 9cd1ff2..c9239f5b 100644
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc
@@ -133,6 +133,12 @@
   return requested_origin_key;
 }
 
+base::debug::CrashKeyString* GetExpectedProcessLockKey() {
+  static auto* expected_process_lock_key = base::debug::AllocateCrashKeyString(
+      "expected_process_lock", base::debug::CrashKeySize::Size64);
+  return expected_process_lock_key;
+}
+
 base::debug::CrashKeyString* GetKilledProcessOriginLockKey() {
   static auto* crash_key = base::debug::AllocateCrashKeyString(
       "killed_process_origin_lock", base::debug::CrashKeySize::Size64);
@@ -150,7 +156,7 @@
     const std::string& killed_process_origin_lock,
     const std::string& requested_origin,
     const std::string& failure_reason) {
-  base::debug::SetCrashKeyString(bad_message::GetRequestedSiteURLKey(),
+  base::debug::SetCrashKeyString(GetExpectedProcessLockKey(),
                                  expected_process_lock);
   base::debug::SetCrashKeyString(GetKilledProcessOriginLockKey(),
                                  killed_process_origin_lock);
@@ -1607,10 +1613,9 @@
 
   // Returning false here will result in a renderer kill.  Set some crash
   // keys that will help understand the circumstances of that kill.
-  LogCanAccessDataForOriginCrashKeys(
-      expected_process_lock.lock_url().possibly_invalid_spec(),
-      GetKilledProcessOriginLock(security_state), url.GetOrigin().spec(),
-      failure_reason);
+  LogCanAccessDataForOriginCrashKeys(expected_process_lock.ToString(),
+                                     GetKilledProcessOriginLock(security_state),
+                                     url.GetOrigin().spec(), failure_reason);
   return false;
 }
 
diff --git a/content/browser/cross_origin_opener_policy_browsertest.cc b/content/browser/cross_origin_opener_policy_browsertest.cc
index fe8753c..125899a 100644
--- a/content/browser/cross_origin_opener_policy_browsertest.cc
+++ b/content/browser/cross_origin_opener_policy_browsertest.cc
@@ -1908,19 +1908,8 @@
 
   // Origin Trials key generated with:
   //
-  // tools/origin_trials/generate_token.py https://coop.security:9999
-  // CrossOriginOpenerPolicyReporting --version=3 --expire-timestamp=2029708007
-  //
-  // Token details:
-  //   Version: 3
-  //   Origin: https://coop.security:9999
-  //   Is Subdomain: None
-  //   Is Third Party: None
-  //   Usage Restriction: None
-  //   Feature: CrossOriginOpenerPolicyReporting
-  //   Expiry: 2029708007 (2034-04-26 23:46:47 UTC)
-  //   Signature (Base64): lTh1cb2ViGEtK6YOZc05uu3nEnRdWlJ/D/Dur4xjM7OI2cd9yXVlK
-  //                       GMqN5zIRzcTm8O0dX7CIsxuq6QvCGzyAg==
+  // tools/origin_trials/generate_token.py --expire-days 5000 --version 3
+  // https://coop.security:9999 CrossOriginOpenerPolicyReporting
   static std::string OriginTrialToken() {
     return "A5U4dXG9lYhhLSumDmXNObrt5xJ0XVpSfw/"
            "w7q+MYzOziNnHfcl1ZShjKjecyEc3E5vDtHV+"
@@ -1962,13 +1951,6 @@
   void SetUpCommandLine(base::CommandLine* command_line) final {
     ContentBrowserTest::SetUpCommandLine(command_line);
     command_line->AppendSwitch(switches::kIgnoreCertificateErrors);
-
-    // TODO(https://crbug.com/1119555): Remove this once fixed.
-    // This test relies on the origin-trial's public key to continue to be set
-    // to the default test value. Overriding it would break the test.
-    CHECK(!command_line->HasSwitch("origin-trial-public-key") ||
-          command_line->GetSwitchValueASCII("origin-trial-public-key") ==
-              "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNA=");
   }
 
  private:
@@ -2006,8 +1988,9 @@
             network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone);
 }
 
+// TODO(http://crbug.com/1119555): Flaky on android-bfcache-rel.
 IN_PROC_BROWSER_TEST_F(CoopReportingOriginTrialBrowserTest,
-                       CoopStateWithToken) {
+                       DISABLED_CoopStateWithToken) {
   URLLoaderInterceptor interceptor(base::BindLambdaForTesting(
       [&](URLLoaderInterceptor::RequestParams* params) {
         if (params->url_request.url != OriginTrialURL())
@@ -2035,8 +2018,9 @@
             network::mojom::CrossOriginOpenerPolicyValue::kSameOriginPlusCoep);
 }
 
+// TODO(http://crbug.com/1119555): Flaky on android-bfcache-rel.
 IN_PROC_BROWSER_TEST_F(CoopReportingOriginTrialBrowserTest,
-                       AccessReportingWithoutToken) {
+                       DISABLED_AccessReportingWithoutToken) {
   URLLoaderInterceptor interceptor(base::BindLambdaForTesting(
       [&](URLLoaderInterceptor::RequestParams* params) {
         if (params->url_request.url != OriginTrialURL())
diff --git a/content/browser/frame_host/clipboard_host_impl.cc b/content/browser/frame_host/clipboard_host_impl.cc
index e48ce21..4d26c852 100644
--- a/content/browser/frame_host/clipboard_host_impl.cc
+++ b/content/browser/frame_host/clipboard_host_impl.cc
@@ -132,7 +132,7 @@
     ui::ClipboardBuffer clipboard_buffer,
     ReadAvailableTypesCallback callback) {
   std::vector<base::string16> types;
-  clipboard_->ReadAvailableTypes(clipboard_buffer, /* data_dst = */ nullptr,
+  clipboard_->ReadAvailableTypes(clipboard_buffer, CreateDataEndpoint().get(),
                                  &types);
   std::move(callback).Run(types);
 }
@@ -141,32 +141,33 @@
                                           ui::ClipboardBuffer clipboard_buffer,
                                           IsFormatAvailableCallback callback) {
   bool result = false;
+  auto data_endpoint = CreateDataEndpoint();
   switch (format) {
     case blink::mojom::ClipboardFormat::kPlaintext:
       result = clipboard_->IsFormatAvailable(
           ui::ClipboardFormatType::GetPlainTextType(), clipboard_buffer,
-          /* data_dst = */ nullptr);
+          data_endpoint.get());
 #if defined(OS_WIN)
       result |= clipboard_->IsFormatAvailable(
           ui::ClipboardFormatType::GetPlainTextAType(), clipboard_buffer,
-          /* data_dst = */ nullptr);
+          data_endpoint.get());
 #endif
       break;
     case blink::mojom::ClipboardFormat::kHtml:
-      result = clipboard_->IsFormatAvailable(
-          ui::ClipboardFormatType::GetHtmlType(), clipboard_buffer,
-          /* data_dst = */ nullptr);
+      result =
+          clipboard_->IsFormatAvailable(ui::ClipboardFormatType::GetHtmlType(),
+                                        clipboard_buffer, data_endpoint.get());
       break;
     case blink::mojom::ClipboardFormat::kSmartPaste:
       result = clipboard_->IsFormatAvailable(
           ui::ClipboardFormatType::GetWebKitSmartPasteType(), clipboard_buffer,
-          /* data_dst = */ nullptr);
+          data_endpoint.get());
       break;
     case blink::mojom::ClipboardFormat::kBookmark:
 #if defined(OS_WIN) || defined(OS_MAC)
-      result = clipboard_->IsFormatAvailable(
-          ui::ClipboardFormatType::GetUrlType(), clipboard_buffer,
-          /* data_dst = */ nullptr);
+      result =
+          clipboard_->IsFormatAvailable(ui::ClipboardFormatType::GetUrlType(),
+                                        clipboard_buffer, data_endpoint.get());
 #else
       result = false;
 #endif
@@ -178,18 +179,17 @@
 void ClipboardHostImpl::ReadText(ui::ClipboardBuffer clipboard_buffer,
                                  ReadTextCallback callback) {
   base::string16 result;
+  auto data_dst = CreateDataEndpoint();
   if (clipboard_->IsFormatAvailable(ui::ClipboardFormatType::GetPlainTextType(),
-                                    clipboard_buffer,
-                                    /* data_dst = */ nullptr)) {
-    clipboard_->ReadText(clipboard_buffer, /* data_dst = */ nullptr, &result);
+                                    clipboard_buffer, data_dst.get())) {
+    clipboard_->ReadText(clipboard_buffer, data_dst.get(), &result);
   } else {
 #if defined(OS_WIN)
     if (clipboard_->IsFormatAvailable(
             ui::ClipboardFormatType::GetPlainTextAType(), clipboard_buffer,
-            /* data_dst = */ nullptr)) {
+            data_dst.get())) {
       std::string ascii;
-      clipboard_->ReadAsciiText(clipboard_buffer,
-                                /* data_dst = */ nullptr, &ascii);
+      clipboard_->ReadAsciiText(clipboard_buffer, data_dst.get(), &ascii);
       result = base::ASCIIToUTF16(ascii);
     }
 #endif
@@ -215,8 +215,9 @@
   std::string src_url_str;
   uint32_t fragment_start = 0;
   uint32_t fragment_end = 0;
-  clipboard_->ReadHTML(clipboard_buffer, /* data_dst = */ nullptr, &markup,
-                       &src_url_str, &fragment_start, &fragment_end);
+  auto data_dst = CreateDataEndpoint();
+  clipboard_->ReadHTML(clipboard_buffer, data_dst.get(), &markup, &src_url_str,
+                       &fragment_start, &fragment_end);
 
   std::string data = base::UTF16ToUTF8(markup);
   PerformPasteIfAllowed(
@@ -238,7 +239,8 @@
 void ClipboardHostImpl::ReadRtf(ui::ClipboardBuffer clipboard_buffer,
                                 ReadRtfCallback callback) {
   std::string result;
-  clipboard_->ReadRTF(clipboard_buffer, /* data_dst = */ nullptr, &result);
+  auto data_dst = CreateDataEndpoint();
+  clipboard_->ReadRTF(clipboard_buffer, data_dst.get(), &result);
 
   std::string data = result;
   PerformPasteIfAllowed(clipboard_->GetSequenceNumber(clipboard_buffer),
@@ -255,8 +257,8 @@
 
 void ClipboardHostImpl::ReadImage(ui::ClipboardBuffer clipboard_buffer,
                                   ReadImageCallback callback) {
-  clipboard_->ReadImage(clipboard_buffer,
-                        /* data_dst = */ nullptr,
+  auto data_dst = CreateDataEndpoint();
+  clipboard_->ReadImage(clipboard_buffer, data_dst.get(),
                         base::BindOnce(&ClipboardHostImpl::OnReadImage,
                                        weak_ptr_factory_.GetWeakPtr(),
                                        clipboard_buffer, std::move(callback)));
@@ -285,8 +287,8 @@
                                        const base::string16& type,
                                        ReadCustomDataCallback callback) {
   base::string16 result;
-  clipboard_->ReadCustomData(clipboard_buffer, type, /* data_dst = */ nullptr,
-                             &result);
+  auto data_dst = CreateDataEndpoint();
+  clipboard_->ReadCustomData(clipboard_buffer, type, data_dst.get(), &result);
 
   std::string data = base::UTF16ToUTF8(result);
   PerformPasteIfAllowed(
@@ -333,15 +335,8 @@
 }
 
 void ClipboardHostImpl::CommitWrite() {
-  std::unique_ptr<ui::ClipboardDataEndpoint> data_src;
-  RenderFrameHostImpl* render_frame_host =
-      RenderFrameHostImpl::FromID(render_frame_pid_, render_frame_routing_id_);
-  if (render_frame_host) {
-    data_src = std::make_unique<ui::ClipboardDataEndpoint>(
-        render_frame_host->GetLastCommittedURL());
-  }
   clipboard_writer_ = std::make_unique<ui::ScopedClipboardWriter>(
-      ui::ClipboardBuffer::kCopyPaste, std::move(data_src));
+      ui::ClipboardBuffer::kCopyPaste, CreateDataEndpoint());
 }
 
 void ClipboardHostImpl::PerformPasteIfAllowed(
@@ -398,4 +393,14 @@
   }
 }
 
+std::unique_ptr<ui::ClipboardDataEndpoint>
+ClipboardHostImpl::CreateDataEndpoint() {
+  RenderFrameHostImpl* render_frame_host =
+      RenderFrameHostImpl::FromID(render_frame_pid_, render_frame_routing_id_);
+  if (render_frame_host) {
+    return std::make_unique<ui::ClipboardDataEndpoint>(
+        render_frame_host->GetLastCommittedURL());
+  }
+  return nullptr;
+}
 }  // namespace content
diff --git a/content/browser/frame_host/clipboard_host_impl.h b/content/browser/frame_host/clipboard_host_impl.h
index b1c3576..d9d3d9b 100644
--- a/content/browser/frame_host/clipboard_host_impl.h
+++ b/content/browser/frame_host/clipboard_host_impl.h
@@ -175,6 +175,8 @@
                    ReadImageCallback callback,
                    const SkBitmap& bitmap);
 
+  std::unique_ptr<ui::ClipboardDataEndpoint> CreateDataEndpoint();
+
   mojo::Receiver<blink::mojom::ClipboardHost> receiver_;
   ui::Clipboard* const clipboard_;  // Not owned
   int render_frame_routing_id_;
diff --git a/content/browser/frame_host/raw_clipboard_host_impl.cc b/content/browser/frame_host/raw_clipboard_host_impl.cc
index 9f1d3b7..c72c9e7d 100644
--- a/content/browser/frame_host/raw_clipboard_host_impl.cc
+++ b/content/browser/frame_host/raw_clipboard_host_impl.cc
@@ -108,7 +108,8 @@
     return;
   std::vector<base::string16> raw_types =
       clipboard_->ReadAvailablePlatformSpecificFormatNames(
-          ui::ClipboardBuffer::kCopyPaste, /* data_dst = */ nullptr);
+          ui::ClipboardBuffer::kCopyPaste,
+          CreateDataEndpoint(render_frame_host_).get());
   std::move(callback).Run(raw_types);
 }
 
@@ -124,7 +125,7 @@
   std::string result;
   clipboard_->ReadData(
       ui::ClipboardFormatType::GetType(base::UTF16ToUTF8(format)),
-      /* data_dst = */ nullptr, &result);
+      CreateDataEndpoint(render_frame_host_).get(), &result);
   base::span<const uint8_t> span(
       reinterpret_cast<const uint8_t*>(result.data()), result.size());
   mojo_base::BigBuffer buffer = mojo_base::BigBuffer(span);
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index 805d47d8..5b2ce6aa 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -595,9 +595,9 @@
 // kill.  Note that the commit URL is already reported in a crash key, and
 // additional keys are logged in RenderProcessHostImpl::ShutdownForBadMessage.
 void LogRendererKillCrashKeys(const SiteInfo& site_info) {
-  static auto* site_url_key = base::debug::AllocateCrashKeyString(
-      "current_site_url", base::debug::CrashKeySize::Size64);
-  base::debug::SetCrashKeyString(site_url_key, site_info.GetDebugString());
+  static auto* site_info_key = base::debug::AllocateCrashKeyString(
+      "current_site_info", base::debug::CrashKeySize::Size256);
+  base::debug::SetCrashKeyString(site_info_key, site_info.GetDebugString());
 }
 
 void LogCanCommitOriginAndUrlFailureReason(const std::string& failure_reason) {
@@ -4066,6 +4066,11 @@
   render_view_host_->OnThemeColorChanged(this, theme_color);
 }
 
+void RenderFrameHostImpl::DidChangeBackgroundColor(
+    const SkColor& background_color) {
+  render_view_host_->DidChangeBackgroundColor(this, background_color);
+}
+
 void RenderFrameHostImpl::SetCommitCallbackInterceptorForTesting(
     CommitCallbackInterceptor* interceptor) {
   // This DCHECK's aims to avoid unexpected replacement of an interceptor.
@@ -9020,7 +9025,7 @@
 
     base::debug::SetCrashKeyString(
         base::debug::AllocateCrashKeyString("starting_site_instance",
-                                            base::debug::CrashKeySize::Size64),
+                                            base::debug::CrashKeySize::Size256),
         navigation_request->GetStartingSiteInstance()
             ->GetSiteInfo()
             .GetDebugString());
@@ -9122,7 +9127,7 @@
 
     base::debug::SetCrashKeyString(
         base::debug::AllocateCrashKeyString("starting_site_instance",
-                                            base::debug::CrashKeySize::Size64),
+                                            base::debug::CrashKeySize::Size256),
         navigation_request->GetStartingSiteInstance()
             ->GetSiteInfo()
             .GetDebugString());
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h
index 7e9e130..88ef3e7 100644
--- a/content/browser/frame_host/render_frame_host_impl.h
+++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -1563,6 +1563,7 @@
   void EvictFromBackForwardCache() override;
   void VisibilityChanged(blink::mojom::FrameVisibility) override;
   void DidChangeThemeColor(const base::Optional<SkColor>& theme_color) override;
+  void DidChangeBackgroundColor(const SkColor& background_color) override;
   void DidFailLoadWithError(const GURL& url, int32_t error_code) override;
   void DidFocusFrame() override;
   void DidCallFocus() override;
diff --git a/content/browser/native_file_system/native_file_system_directory_handle_impl.cc b/content/browser/native_file_system/native_file_system_directory_handle_impl.cc
index c2cc78f..cdf7459c 100644
--- a/content/browser/native_file_system/native_file_system_directory_handle_impl.cc
+++ b/content/browser/native_file_system/native_file_system_directory_handle_impl.cc
@@ -433,16 +433,10 @@
         "Name contains invalid characters.");
   }
 
-  std::string escaped_name =
-      net::EscapeQueryParamValue(basename, /*use_plus=*/false);
-
-  GURL parent_url = url().ToGURL();
-  std::string path = base::StrCat({parent_url.path(), "/", escaped_name});
-  GURL::Replacements replacements;
-  replacements.SetPathStr(path);
-  GURL child_url = parent_url.ReplaceComponents(replacements);
-
-  *result = file_system_context()->CrackURL(child_url);
+  const storage::FileSystemURL parent = url();
+  *result = file_system_context()->CreateCrackedFileSystemURL(
+      parent.origin(), parent.mount_type(),
+      parent.virtual_path().Append(base::FilePath::FromUTF8Unsafe(basename)));
   return native_file_system_error::Ok();
 }
 
diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/content/browser/net/cross_origin_opener_policy_reporter.cc
index f213cbc..5c86a8b 100644
--- a/content/browser/net/cross_origin_opener_policy_reporter.cc
+++ b/content/browser/net/cross_origin_opener_policy_reporter.cc
@@ -53,10 +53,18 @@
 
 const char* ToString(network::mojom::CoopAccessReportType report_type) {
   switch (report_type) {
-    case network::mojom::CoopAccessReportType::kReportAccessTo:
-      return "access-to-coop-page";
-    case network::mojom::CoopAccessReportType::kReportAccessFrom:
-      return "access-from-coop-page";
+    case network::mojom::CoopAccessReportType::kAccessFromCoopPageToOpener:
+      return "access-from-coop-page-to-opener";
+    case network::mojom::CoopAccessReportType::kAccessFromCoopPageToOpenee:
+      return "access-from-coop-page-to-openee";
+    case network::mojom::CoopAccessReportType::kAccessFromCoopPageToOther:
+      return "access-from-coop-page-to-other";
+    case network::mojom::CoopAccessReportType::kAccessToCoopPageFromOpener:
+      return "access-to-coop-page-from-opener";
+    case network::mojom::CoopAccessReportType::kAccessToCoopPageFromOpenee:
+      return "access-to-coop-page-from-openee";
+    case network::mojom::CoopAccessReportType::kAccessToCoopPageFromOther:
+      return "access-to-coop-page-from-other";
   }
 }
 
@@ -100,6 +108,11 @@
   return out;
 }
 
+FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
+  FrameTreeNode* opener = frame->original_opener();
+  return opener ? opener->frame_tree()->root() : nullptr;
+}
+
 }  // namespace
 
 CrossOriginOpenerPolicyReporter::CrossOriginOpenerPolicyReporter(
@@ -188,8 +201,8 @@
                      ToString(coop_.report_only_value));
   body.SetStringPath(kProperty, property);
   // TODO(arthursonzogni): Fill "blocked-window-url".
-  if (source_location->url != "" &&
-      report_type == network::mojom::CoopAccessReportType::kReportAccessFrom) {
+  if (network::IsAccessFromCoopPage(report_type) &&
+      source_location->url != "") {
     body.SetStringPath(kSourceFile, source_location->url);
     body.SetIntPath(kLineNumber, source_location->line);
     body.SetIntPath(kColumnNumber, source_location->column);
@@ -278,10 +291,26 @@
       remote_reporter;
   Clone(remote_reporter.InitWithNewPipeAndPassReceiver());
 
-  network::mojom::CoopAccessReportType report_type =
-      accessing_node->current_frame_host()->coop_reporter() == this
-          ? network::mojom::CoopAccessReportType::kReportAccessFrom
-          : network::mojom::CoopAccessReportType::kReportAccessTo;
+  bool access_from_coop_page =
+      this == accessing_node->current_frame_host()->coop_reporter();
+
+  using network::mojom::CoopAccessReportType;
+  CoopAccessReportType report_type;
+  if (access_from_coop_page) {
+    if (accessing_node == TopLevelOpener(accessed_node))
+      report_type = CoopAccessReportType::kAccessFromCoopPageToOpenee;
+    else if (accessed_node == TopLevelOpener(accessing_node))
+      report_type = CoopAccessReportType::kAccessFromCoopPageToOpener;
+    else
+      report_type = CoopAccessReportType::kAccessFromCoopPageToOther;
+  } else {
+    if (accessed_node == TopLevelOpener(accessing_node))
+      report_type = CoopAccessReportType::kAccessToCoopPageFromOpenee;
+    else if (accessing_node == TopLevelOpener(accessed_node))
+      report_type = CoopAccessReportType::kAccessToCoopPageFromOpener;
+    else
+      report_type = CoopAccessReportType::kAccessToCoopPageFromOther;
+  }
 
   accessing_rfh->GetAssociatedLocalMainFrame()->InstallCoopAccessMonitor(
       report_type, accessed_window_token, std::move(remote_reporter));
diff --git a/content/browser/portal/portal_browsertest.cc b/content/browser/portal/portal_browsertest.cc
index 8f387e2..0cbc319 100644
--- a/content/browser/portal/portal_browsertest.cc
+++ b/content/browser/portal/portal_browsertest.cc
@@ -2368,7 +2368,14 @@
 // embedder page. Both page scales should be accounted for so the pattern in
 // the portal should appear the correct size (4x4 checkerboard tiles) as well
 // as be re-rastered for the embedder's zoom so it should appear crisp.
-IN_PROC_BROWSER_TEST_F(PortalPixelBrowserTest, PageScaleRaster) {
+//
+// Flaky on Android: https://crbug.com/1120213
+#if defined(OS_ANDROID)
+#define MAYBE_PageScaleRaster DISABLED_PageScaleRaster
+#else
+#define MAYBE_PageScaleRaster PageScaleRaster
+#endif
+IN_PROC_BROWSER_TEST_F(PortalPixelBrowserTest, MAYBE_PageScaleRaster) {
   ShellContentBrowserClient::Get()->set_override_web_preferences_callback(
       base::BindRepeating([](WebPreferences* prefs) {
         // Enable processing of the viewport <meta> tag in the same way the
diff --git a/content/browser/renderer_host/input/composited_scrolling_browsertest.cc b/content/browser/renderer_host/input/composited_scrolling_browsertest.cc
index 8e810061..baa447e 100644
--- a/content/browser/renderer_host/input/composited_scrolling_browsertest.cc
+++ b/content/browser/renderer_host/input/composited_scrolling_browsertest.cc
@@ -12,6 +12,7 @@
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
+#include "cc/base/features.h"
 #include "content/browser/renderer_host/input/synthetic_gesture.h"
 #include "content/browser/renderer_host/input/synthetic_smooth_scroll_gesture.h"
 #include "content/browser/renderer_host/render_widget_host_impl.h"
@@ -257,6 +258,12 @@
 
   base::HistogramBase::Sample expected_bucket =
       CompositingEnabled() ? kScrollingOnCompositor : kScrollingOnMain;
+  if (base::FeatureList::IsEnabled(::features::kScrollUnification)) {
+    // TODO: crbug.com/1082590
+    // After ScrollUnification all scrolls happen on the compositor thread
+    // but some will still force blocking on main thread
+    expected_bucket = kScrollingOnCompositor;
+  }
 
   histograms.ExpectUniqueSample(kTouchHistogramName, expected_bucket, 2);
   histograms.ExpectUniqueSample(kWheelHistogramName, expected_bucket, 1);
@@ -304,6 +311,12 @@
   base::HistogramBase::Sample expected_bucket =
       CompositingEnabled() ? kScrollingOnCompositorBlockedOnMain
                            : kScrollingOnMain;
+  if (base::FeatureList::IsEnabled(::features::kScrollUnification)) {
+    // TODO: crbug.com/1082590
+    // After ScrollUnification all scrolls happen on the compositor thread
+    // but some will still force blocking on main thread
+    expected_bucket = kScrollingOnCompositorBlockedOnMain;
+  }
 
   histograms.ExpectUniqueSample(kTouchHistogramName, expected_bucket, 2);
   histograms.ExpectUniqueSample(kWheelHistogramName, expected_bucket, 1);
@@ -351,6 +364,12 @@
 
   base::HistogramBase::Sample expected_bucket =
       CompositingEnabled() ? kScrollingOnCompositor : kScrollingOnMain;
+  if (base::FeatureList::IsEnabled(::features::kScrollUnification)) {
+    // TODO: crbug.com/1082590
+    // After ScrollUnification all scrolls happen on the compositor thread
+    // but some will still force blocking on main thread
+    expected_bucket = kScrollingOnCompositor;
+  }
 
   histograms.ExpectUniqueSample(kTouchHistogramName, expected_bucket, 2);
   histograms.ExpectUniqueSample(kWheelHistogramName, expected_bucket, 1);
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 89bf33f3..f298af1 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -4500,7 +4500,7 @@
       !RenderProcessHostImpl::IsSuitableHost(
           render_process_host, site_instance->GetIsolationContext(), site_info,
           site_instance->IsGuest())) {
-    base::debug::SetCrashKeyString(bad_message::GetRequestedSiteURLKey(),
+    base::debug::SetCrashKeyString(bad_message::GetRequestedSiteInfoKey(),
                                    site_info.GetDebugString());
     ChildProcessSecurityPolicyImpl::GetInstance()->LogKilledProcessOriginLock(
         render_process_host->GetID());
diff --git a/content/browser/renderer_host/render_view_host_delegate.h b/content/browser/renderer_host/render_view_host_delegate.h
index 86d2ca73..6b63e02 100644
--- a/content/browser/renderer_host/render_view_host_delegate.h
+++ b/content/browser/renderer_host/render_view_host_delegate.h
@@ -207,6 +207,10 @@
   // by theme-color meta tag has changed.
   virtual void OnThemeColorChanged(RenderViewHostImpl* source) {}
 
+  // Called when the CSS background color for the underlying document has
+  // changed.
+  virtual void OnBackgroundColorChanged(RenderViewHostImpl* source) {}
+
  protected:
   virtual ~RenderViewHostDelegate() {}
 };
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index 4f91411..0ba4a01 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -899,6 +899,16 @@
   delegate_->OnThemeColorChanged(this);
 }
 
+void RenderViewHostImpl::DidChangeBackgroundColor(
+    RenderFrameHostImpl* rfh,
+    const SkColor& background_color) {
+  if (GetMainFrame() != rfh)
+    return;
+
+  main_frame_background_color_ = background_color;
+  delegate_->OnBackgroundColorChanged(this);
+}
+
 void RenderViewHostImpl::SetContentsMimeType(const std::string mime_type) {
   contents_mime_type_ = mime_type;
 }
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
index a66502a..6caa848692 100644
--- a/content/browser/renderer_host/render_view_host_impl.h
+++ b/content/browser/renderer_host/render_view_host_impl.h
@@ -237,10 +237,17 @@
   void OnThemeColorChanged(RenderFrameHostImpl* rfh,
                            const base::Optional<SkColor>& theme_color);
 
+  void DidChangeBackgroundColor(RenderFrameHostImpl* rfh,
+                                const SkColor& background_color);
+
   base::Optional<SkColor> theme_color() const {
     return main_frame_theme_color_;
   }
 
+  base::Optional<SkColor> background_color() const {
+    return main_frame_background_color_;
+  }
+
   void SetContentsMimeType(std::string mime_type);
   const std::string& contents_mime_type() { return contents_mime_type_; }
 
@@ -393,6 +400,9 @@
   // by theme-color meta tag.
   base::Optional<SkColor> main_frame_theme_color_;
 
+  // The background color for the underlying document as computed by CSS.
+  base::Optional<SkColor> main_frame_background_color_;
+
   // Contents MIME type for the main document. It can be used to check whether
   // we can do something for special contents.
   std::string contents_mime_type_;
diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc
index 53d961da..77c847d 100644
--- a/content/browser/site_instance_impl.cc
+++ b/content/browser/site_instance_impl.cc
@@ -91,9 +91,18 @@
 }
 
 std::string SiteInfo::GetDebugString() const {
-  // TODO(wjmaclean): At some point we should consider adding output about
-  // origin- vs. site-keying.
-  return site_url_.possibly_invalid_spec();
+  std::string debug_string =
+      site_url_.is_empty() ? "empty site" : site_url_.possibly_invalid_spec();
+
+  if (process_lock_url_.is_empty())
+    debug_string += ", empty lock";
+  else if (process_lock_url_ != site_url_)
+    debug_string += ", locked to " + process_lock_url_.possibly_invalid_spec();
+
+  if (is_origin_keyed_)
+    debug_string += ", origin-keyed";
+
+  return debug_string;
 }
 
 std::ostream& operator<<(std::ostream& out, const SiteInfo& site_info) {
@@ -1257,7 +1266,7 @@
     } else if (process_lock != lock_to_set) {
       // We should never attempt to reassign a different origin lock to a
       // process.
-      base::debug::SetCrashKeyString(bad_message::GetRequestedSiteURLKey(),
+      base::debug::SetCrashKeyString(bad_message::GetRequestedSiteInfoKey(),
                                      site_info_.GetDebugString());
       policy->LogKilledProcessOriginLock(process_->GetID());
       CHECK(false) << "Trying to lock a process to " << lock_to_set.ToString()
@@ -1272,7 +1281,7 @@
     // process, make sure we aren't putting it in a process for a site that
     // does.
     if (!process_lock.is_empty()) {
-      base::debug::SetCrashKeyString(bad_message::GetRequestedSiteURLKey(),
+      base::debug::SetCrashKeyString(bad_message::GetRequestedSiteInfoKey(),
                                      site_info_.GetDebugString());
       policy->LogKilledProcessOriginLock(process_->GetID());
       CHECK(false) << "Trying to commit non-isolated site " << site_info_
diff --git a/content/browser/speech/OWNERS b/content/browser/speech/OWNERS
index 3925b521..3edb5fec3 100644
--- a/content/browser/speech/OWNERS
+++ b/content/browser/speech/OWNERS
@@ -1,5 +1,5 @@
 # Speech recognition
-olka@chromium.org
+file://third_party/blink/renderer/modules/speech/OWNERS
 
 # Text-to-speech
 per-file *tts_*=dmazzoni@chromium.org
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 4dca843..35e641a 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -1296,6 +1296,10 @@
   return GetRenderViewHost()->theme_color();
 }
 
+base::Optional<SkColor> WebContentsImpl::GetBackgroundColor() {
+  return GetRenderViewHost()->background_color();
+}
+
 void WebContentsImpl::SetAccessibilityMode(ui::AXMode mode) {
   if (mode == accessibility_mode_)
     return;
@@ -5030,18 +5034,16 @@
     delegate_->DidNavigateMainFramePostCommit(this);
   view_->SetOverscrollControllerEnabled(CanOverscrollContent());
 
+  // The following events will not fire again if the page is restored from the
+  // BackForwardCache. So fire them ourselves if needed.
   if (details.is_navigation_to_different_page() &&
       GetRenderViewHost()->did_first_visually_non_empty_paint()) {
-    // This event will not fire again if the page is restored from the
-    // BackForwardCache. So fire it ourselves if needed.
     DidFirstVisuallyNonEmptyPaint(GetRenderViewHost());
   }
-
-  if (GetRenderViewHost()->theme_color() != last_sent_theme_color_) {
-    // This event will not fire again if the page is restored from the
-    // BackForwardCache. So fire it ourselves if needed.
+  if (GetRenderViewHost()->theme_color() != last_sent_theme_color_)
     OnThemeColorChanged(GetRenderViewHost());
-  }
+  if (GetRenderViewHost()->background_color() != last_sent_background_color_)
+    OnBackgroundColorChanged(GetRenderViewHost());
 }
 
 void WebContentsImpl::DidNavigateAnyFramePostCommit(
@@ -5083,6 +5085,16 @@
   }
 }
 
+void WebContentsImpl::OnBackgroundColorChanged(RenderViewHostImpl* source) {
+  if (source->did_first_visually_non_empty_paint() &&
+      last_sent_background_color_ != source->background_color()) {
+    observers_.ForEachObserver([&](WebContentsObserver* observer) {
+      observer->OnBackgroundColorChanged();
+    });
+    last_sent_background_color_ = source->background_color();
+  }
+}
+
 void WebContentsImpl::DidLoadResourceFromMemoryCache(
     RenderFrameHostImpl* source,
     const GURL& url,
@@ -5688,6 +5700,14 @@
     });
     last_sent_theme_color_ = source->theme_color();
   }
+
+  if (source->background_color() != last_sent_background_color_) {
+    // Background color should have updated by now if there was one.
+    observers_.ForEachObserver([&](WebContentsObserver* observer) {
+      observer->OnBackgroundColorChanged();
+    });
+    last_sent_background_color_ = source->background_color();
+  }
 }
 
 bool WebContentsImpl::IsPortal() {
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 0de7c43..f501ce82 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -341,6 +341,7 @@
   void ClosePage() override;
   RenderWidgetHostView* GetFullscreenRenderWidgetHostView() override;
   base::Optional<SkColor> GetThemeColor() override;
+  base::Optional<SkColor> GetBackgroundColor() override;
   WebUI* GetWebUI() override;
   WebUI* GetCommittedWebUI() override;
   void SetUserAgentOverride(const blink::UserAgentOverride& ua_override,
@@ -815,6 +816,7 @@
   RenderFrameHostImpl* GetPendingMainFrame() override;
   void DidFirstVisuallyNonEmptyPaint(RenderViewHostImpl* source) override;
   void OnThemeColorChanged(RenderViewHostImpl* source) override;
+  void OnBackgroundColorChanged(RenderViewHostImpl* source) override;
 
   void RecomputeWebPreferencesSlow() override;
   bool IsWebPreferencesSet() const override;
@@ -1824,6 +1826,9 @@
   // The last published theme color.
   base::Optional<SkColor> last_sent_theme_color_;
 
+  // The last published background color.
+  base::Optional<SkColor> last_sent_background_color_;
+
   // SourceId of the last committed navigation, either a cross-document or
   // same-document navigation.
   ukm::SourceId last_committed_source_id_including_same_document_ =
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
index fd9f9a34..f691c39 100644
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -414,6 +414,8 @@
           {"RawClipboard", blink::features::kRawClipboard, kEnableOnly},
           {"ShadowDOMV0", blink::features::kWebComponentsV0, kUseFeatureState},
           {"StorageAccessAPI", blink::features::kStorageAccessAPI, kEnableOnly},
+          {"TransferableStreams", blink::features::kTransferableStreams,
+           kEnableOnly},
           {"TrustedDOMTypes", features::kTrustedDOMTypes, kEnableOnly},
           {"UserAgentClientHint", features::kUserAgentClientHint,
            kUseFeatureState},
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
index 1968595..27111ce 100644
--- a/content/common/user_agent.cc
+++ b/content/common/user_agent.cc
@@ -123,8 +123,8 @@
 std::string GetOSVersion(IncludeAndroidBuildNumber include_android_build_number,
                          IncludeAndroidModel include_android_model) {
   std::string os_version;
-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_CHROMEOS) || \
-    BUILDFLAG(IS_LACROS)
+#if defined(OS_WIN) || defined(OS_MAC) || \
+    (defined(OS_CHROMEOS) && !BUILDFLAG(IS_LACROS))
   int32_t os_major_version = 0;
   int32_t os_minor_version = 0;
   int32_t os_bugfix_version = 0;
@@ -144,7 +144,7 @@
 #elif defined(OS_MAC)
                       "%d_%d_%d", os_major_version, os_minor_version,
                       os_bugfix_version
-#elif defined(OS_CHROMEOS) || BUILDFLAG(IS_LACROS)
+#elif defined(OS_CHROMEOS) && !BUILDFLAG(IS_LACROS)
                       "%d.%d.%d", os_major_version, os_minor_version,
                       os_bugfix_version
 #elif defined(OS_ANDROID)
@@ -185,7 +185,7 @@
   base::StringAppendF(&os_cpu,
 #if defined(OS_MAC)
                       "%s Mac OS X %s", cpu_type.c_str(), os_version.c_str()
-#elif defined(OS_CHROMEOS) || BUILDFLAG(IS_LACROS)
+#elif defined(OS_CHROMEOS) && !BUILDFLAG(IS_LACROS)
                       "CrOS "
                       "%s %s",
                       cpu_type.c_str(),  // e.g. i686
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
index f1c25ed..bf5155b 100644
--- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h
@@ -375,6 +375,10 @@
   // theme-color meta tag if any.
   virtual base::Optional<SkColor> GetThemeColor() = 0;
 
+  // Returns the background color for the underlying content as set by CSS if
+  // any.
+  virtual base::Optional<SkColor> GetBackgroundColor() = 0;
+
   // Returns the committed WebUI if one exists, otherwise the pending one.
   virtual WebUI* GetWebUI() = 0;
   virtual WebUI* GetCommittedWebUI() = 0;
diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h
index 3666e035..301fa10b 100644
--- a/content/public/browser/web_contents_observer.h
+++ b/content/public/browser/web_contents_observer.h
@@ -538,6 +538,9 @@
   // Invoked when theme color is changed.
   virtual void DidChangeThemeColor() {}
 
+  // Invoked when background color is changed.
+  virtual void OnBackgroundColorChanged() {}
+
   // Called when a message is added to the console of the WebContents. This is
   // invoked before forwarding the message to the WebContents' delegate.
   virtual void OnDidAddMessageToConsole(
diff --git a/content/public/test/background_color_change_waiter.cc b/content/public/test/background_color_change_waiter.cc
new file mode 100644
index 0000000..998ca00
--- /dev/null
+++ b/content/public/test/background_color_change_waiter.cc
@@ -0,0 +1,28 @@
+// 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 "content/public/test/background_color_change_waiter.h"
+
+namespace content {
+
+BackgroundColorChangeWaiter::BackgroundColorChangeWaiter(
+    content::WebContents* web_contents)
+    : content::WebContentsObserver(web_contents) {}
+
+BackgroundColorChangeWaiter::~BackgroundColorChangeWaiter() = default;
+
+void BackgroundColorChangeWaiter::Wait() {
+  if (observed_)
+    return;
+
+  run_loop_.Run();
+}
+
+void BackgroundColorChangeWaiter::OnBackgroundColorChanged() {
+  observed_ = true;
+  if (run_loop_.running())
+    run_loop_.Quit();
+}
+
+}  // namespace content
diff --git a/content/public/test/background_color_change_waiter.h b/content/public/test/background_color_change_waiter.h
new file mode 100644
index 0000000..69eb760
--- /dev/null
+++ b/content/public/test/background_color_change_waiter.h
@@ -0,0 +1,34 @@
+// 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 CONTENT_PUBLIC_TEST_BACKGROUND_COLOR_CHANGE_WAITER_H_
+#define CONTENT_PUBLIC_TEST_BACKGROUND_COLOR_CHANGE_WAITER_H_
+
+#include "base/run_loop.h"
+#include "content/public/browser/web_contents_observer.h"
+
+namespace content {
+
+// Spins a run loop until the |web_contents|' HTML background color changes.
+class BackgroundColorChangeWaiter : public content::WebContentsObserver {
+ public:
+  explicit BackgroundColorChangeWaiter(content::WebContents* web_contents);
+  BackgroundColorChangeWaiter(const BackgroundColorChangeWaiter&) = delete;
+  BackgroundColorChangeWaiter& operator=(const BackgroundColorChangeWaiter&) =
+      delete;
+  ~BackgroundColorChangeWaiter() override;
+
+  void Wait();
+
+  // content::WebContentsObserver:
+  void OnBackgroundColorChanged() override;
+
+ private:
+  bool observed_ = false;
+  base::RunLoop run_loop_;
+};
+
+}  // namespace content
+
+#endif  // CONTENT_PUBLIC_TEST_BACKGROUND_COLOR_CHANGE_WAITER_H_
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 16a16b1..64135cd 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -5643,6 +5643,10 @@
                               blink::ActionAfterPagehide::kNavigation);
   }
 
+  TRACE_EVENT2("navigation", "RenderFrameImpl::BeginNavigation", "url",
+               url.possibly_invalid_spec(), "navigation_type",
+               static_cast<int>(info->navigation_type));
+
   // When an MHTML Archive is present, it should be used to serve iframe
   // content instead of doing a network request. This should never be true for
   // the main frame.
diff --git a/content/shell/renderer/web_test/event_sender.cc b/content/shell/renderer/web_test/event_sender.cc
index 6595b5f..84867a16 100644
--- a/content/shell/renderer/web_test/event_sender.cc
+++ b/content/shell/renderer/web_test/event_sender.cc
@@ -640,7 +640,6 @@
   void GestureLongPress(gin::Arguments* args);
   void GestureLongTap(gin::Arguments* args);
   void GestureTwoFingerTap(gin::Arguments* args);
-  void ContinuousMouseScrollBy(gin::Arguments* args);
   void MouseMoveTo(gin::Arguments* args);
   void MouseLeave(gin::Arguments* args);
   void MouseScrollBy(gin::Arguments* args);
@@ -778,8 +777,6 @@
       .SetMethod("gestureLongTap", &EventSenderBindings::GestureLongTap)
       .SetMethod("gestureTwoFingerTap",
                  &EventSenderBindings::GestureTwoFingerTap)
-      .SetMethod("continuousMouseScrollBy",
-                 &EventSenderBindings::ContinuousMouseScrollBy)
       .SetMethod("keyDown", &EventSenderBindings::KeyDown)
       .SetMethod("mouseDown", &EventSenderBindings::MouseDown)
       .SetMethod("mouseMoveTo", &EventSenderBindings::MouseMoveTo)
@@ -1021,11 +1018,6 @@
     sender_->GestureTwoFingerTap(frame_, args);
 }
 
-void EventSenderBindings::ContinuousMouseScrollBy(gin::Arguments* args) {
-  if (sender_)
-    sender_->MouseScrollBy(args, EventSender::MouseScrollType::PIXEL);
-}
-
 void EventSenderBindings::MouseMoveTo(gin::Arguments* args) {
   if (sender_)
     sender_->MouseMoveTo(frame_, args);
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index d14c114..9d5c0a4 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -97,6 +97,8 @@
     "../public/test/audio_service_test_helper.h",
     "../public/test/back_forward_cache_util.cc",
     "../public/test/back_forward_cache_util.h",
+    "../public/test/background_color_change_waiter.cc",
+    "../public/test/background_color_change_waiter.h",
     "../public/test/background_sync_test_util.cc",
     "../public/test/background_sync_test_util.h",
     "../public/test/blink_test_environment.cc",
diff --git a/content/test/data/accessibility/html/iframe-expected-win.txt b/content/test/data/accessibility/html/iframe-expected-win.txt
index 9ba33d9c..fb7f4469 100644
--- a/content/test/data/accessibility/html/iframe-expected-win.txt
+++ b/content/test/data/accessibility/html/iframe-expected-win.txt
@@ -1,4 +1,4 @@
 ROLE_SYSTEM_DOCUMENT parent='ROLE_SYSTEM_WINDOW' window_class='Chrome_RenderWidgetHostHWND' READONLY FOCUSABLE ia2_hypertext='<obj0>'
 ++IA2_ROLE_SECTION parent='ROLE_SYSTEM_DOCUMENT' window_class='Chrome_RenderWidgetHostHWND' ia2_hypertext='<obj0>'
-++++IA2_ROLE_INTERNAL_FRAME name='Empty iframe' parent='ROLE_SYSTEM_GROUPING' window_class='Chrome_RenderWidgetHostHWND'
+++++IA2_ROLE_INTERNAL_FRAME name='Empty iframe' parent='ROLE_SYSTEM_GROUPING' window_class='Chrome_RenderWidgetHostHWND' ia2_hypertext='<obj0>'
 ++++++ROLE_SYSTEM_DOCUMENT parent='ROLE_SYSTEM_DOCUMENT' window_class='Chrome_RenderWidgetHostHWND' READONLY FOCUSABLE
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/iframe-traversal.html b/content/test/data/accessibility/html/iframe-traversal.html
new file mode 100644
index 0000000..141e61c
--- /dev/null
+++ b/content/test/data/accessibility/html/iframe-traversal.html
@@ -0,0 +1,14 @@
+<!--
+@WIN-ALLOW:ia2_hypertext=*
+-->
+<!DOCTYPE html>
+<html>
+<body>
+<p>Before iframe</p>
+<div>
+  <iframe src="/accessibility/html/frame/static_text.html">
+  </iframe>
+</div>
+<p>After iframe</p>
+</body>
+</html>
diff --git a/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
index 096f76e..88c003b 100644
--- a/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
@@ -768,9 +768,11 @@
 crbug.com/1099960 [ mac swiftshader passthrough ] conformance/context/context-no-alpha-fbo-with-alpha.html [ Failure ]
 crbug.com/1099960 [ mac swiftshader passthrough ] conformance/rendering/color-mask-preserved-during-implicit-clears.html [ Failure ]
 crbug.com/1099960 [ mac swiftshader passthrough ] conformance/rendering/scissor-rect-repeated-rendering.html [ Failure ]
+crbug.com/1119939 [ mac swiftshader passthrough ] conformance/textures/misc/texture-upload-size.html [ Failure ]
 crbug.com/1099960 [ mac swiftshader-gl no-passthrough ] conformance/context/context-no-alpha-fbo-with-alpha.html [ Failure ]
 crbug.com/1099960 [ mac swiftshader-gl no-passthrough ] conformance/rendering/color-mask-preserved-during-implicit-clears.html [ Failure ]
 crbug.com/1099960 [ mac swiftshader-gl no-passthrough ] conformance/rendering/scissor-rect-repeated-rendering.html [ Failure ]
+crbug.com/1119939 [ mac swiftshader-gl no-passthrough ] conformance/textures/misc/texture-upload-size.html [ Failure ]
 
 # Mac. GL backend.
 crbug.com/1099977 [ mac swiftshader-gl no-passthrough ] conformance/context/context-attribute-preserve-drawing-buffer.html [ Failure ]
@@ -809,6 +811,7 @@
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/image_bitmap_from_canvas/tex-2d-rgba-rgba-unsigned_byte.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/image_bitmap_from_canvas/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/image_bitmap_from_canvas/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html [ Failure ]
+crbug.com/1119939 [ mac swiftshader passthrough ] conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html [ Failure ]
@@ -817,11 +820,13 @@
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/misc/gl-pixelstorei.html [ Failure ]
+crbug.com/1119939 [ mac swiftshader passthrough ] conformance/textures/misc/tex-video-using-tex-unit-non-zero.html [ Failure ]
 crbug.com/1102991 [ mac swiftshader passthrough ] conformance/textures/misc/tex-image-and-sub-image-2d-with-array-buffer-view.html [ RetryOnFailure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/misc/texparameter-test.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/misc/texture-corner-case-videos.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/misc/texture-npot-video.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/misc/texture-video-transparent.html [ Failure ]
+crbug.com/1119939 [ mac swiftshader passthrough ] conformance/textures/video/tex-2d-alpha-alpha-unsigned_byte.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/video/tex-2d-luminance-luminance-unsigned_byte.html [ Failure ]
 crbug.com/1099979 [ mac swiftshader passthrough ] conformance/textures/video/tex-2d-rgb-rgb-unsigned_byte.html [ Failure ]
@@ -874,6 +879,7 @@
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/image_bitmap_from_canvas/tex-2d-rgb-rgb-unsigned_short_5_6_5.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/image_bitmap_from_canvas/tex-2d-rgba-rgba-unsigned_byte.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/image_bitmap_from_canvas/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html [ Failure ]
+crbug.com/1119939 [ mac metal passthrough ] conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html [ Failure ]
@@ -885,13 +891,16 @@
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/misc/gl-pixelstorei.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/misc/tex-image-webgl.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/misc/tex-input-validation.html [ Failure ]
+crbug.com/1119939 [ mac metal passthrough ] conformance/textures/misc/tex-video-using-tex-unit-non-zero.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/misc/texparameter-test.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/misc/texture-active-bind-2.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/misc/texture-active-bind.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/misc/texture-corner-case-videos.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/misc/texture-npot-video.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/misc/texture-npot.html [ Failure ]
+crbug.com/1119939 [ mac metal passthrough ] conformance/textures/misc/texture-upload-size.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/misc/texture-video-transparent.html [ Failure ]
+crbug.com/1119939 [ mac metal passthrough ] conformance/textures/video/tex-2d-alpha-alpha-unsigned_byte.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/video/tex-2d-luminance-luminance-unsigned_byte.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html [ Failure ]
 crbug.com/angleproject/4846 [ mac metal passthrough ] conformance/textures/video/tex-2d-rgb-rgb-unsigned_byte.html [ Failure ]
diff --git a/docs/chromeos_build_instructions.md b/docs/chromeos_build_instructions.md
index ad4c9a0..a82f4c79 100644
--- a/docs/chromeos_build_instructions.md
+++ b/docs/chromeos_build_instructions.md
@@ -68,6 +68,7 @@
     is_debug = false           # Release build, runs faster.
     dcheck_always_on = true    # Enables DCHECK despite release build.
     enable_nacl = false        # Skips native client build, compiles faster.
+    use_sysroot = false        # Build for local machine instead of sysroot.
 
     # Set the following true to create a Chrome (instead of Chromium) build.
     # This requires a src-internal checkout.
diff --git a/docs/lacros.md b/docs/lacros.md
new file mode 100644
index 0000000..8ba2a6d
--- /dev/null
+++ b/docs/lacros.md
@@ -0,0 +1,71 @@
+# Lacros
+
+## Background
+
+Lacros is an architecture project to decouple the Chrome browser from the Chrome
+OS window manager and system UI. The name comes from **L**inux **A**nd
+**C**h**R**ome **OS**.
+
+Googlers: [go/lacros](http://go/lacros) has internal docs.
+
+## Technical details
+
+On Chrome OS, the system UI (ash window manager, login screen, etc.) and the web
+browser are the same binary. Lacros separates this functionality into two
+binaries, henceforth known as ash-chrome (system UI) and lacros-chrome (web
+browser).
+
+The basic approach is to rename the existing binary to ash-chrome, with minimal
+changes. We then take the linux-chrome binary, improve its Wayland support, make
+it act like the web browser on Chrome OS, and ship that as the lacros-chrome
+binary. This allows the two binaries to be released independently, with some
+performance/resource costs. The API boundary initially will be semi-stable: it
+will tolerate 1-2 milestones of version skew. We may allow larger amounts of
+skew in the future.
+
+Both binaries are built out of the chromium git repository. However, the
+binaries might be built at different versions. For example, the version of
+lacros built from the M-101 branch might run on top of the ash version built
+from the M-100 branch.
+
+Lacros can be imagined as "Linux chrome with more Wayland support". Lacros uses
+[ozone](https://chromium.googlesource.com/chromium/src.git/+/master/ui/ozone)
+as an abstraction layer for graphics and event handling. Ozone has a "backend"
+with client-side support for the Wayland compositor protocol.
+
+Chrome OS has a Wayland server implementation called
+[exosphere](https://chromium.googlesource.com/chromium/src.git/+/master/components/exo).
+It is used by ARC (to run Android apps) and Crostini (to run Linux apps).
+
+Lacros will use exo as the Wayland server for graphics and event handling. Where
+possible we use stable Wayland protocols. We also share Wayland protocol
+extensions with ARC and Crostini (e.g.
+[zaura-shell](https://chromium.googlesource.com/chromium/src.git/+/master/components/exo/wayland/protocol/aura-shell.xml).
+Higher-level features (e.g. file picking) use Mojo IPC.
+
+We call the new Mojo API surface "crosapi". It's similar in concept to Win32 or
+Cocoa, but much smaller. It's also mostly asynchronous for performance reasons.
+The API lives in
+[//chromeos/crosapi](https://chromium.googlesource.com/chromium/src.git/+/master/chromeos/crosapi).
+The ash-side implementation lives in
+[//chrome/browser/chromeos/crosapi](https://chromium.googlesource.com/chromium/src.git/+/master/chrome/browser/chromeos/crosapi).
+
+Code can be conditionally compiled into lacros via BUILDFLAG(IS_LACROS).
+
+Lacros bugs can be filed under component: OS>LaCrOs.
+
+## Testing
+
+Most test suites require ash-chrome to be running in order to provide a basic
+Wayland server and the crosapi implementation. This requires a special test
+runner:
+
+`./build/lacros/test_runner.py test out/lacros/browser_tests --gtest_filter=BrowserTest.Title`
+
+If you're sshing to your desktop, please prefix the command with
+`./testing/xvfb.py`.
+
+For sheriffs: Test failures that should have been caught by the CQ should be
+treated like test failures on any other platform: investigated and fixed or
+disabled. Use BUILDFLAG(IS_LACROS) to disable a test just for lacros. See the
+[sheriffing how-to](http://go/chrome-sheriffing-how-to#test-failed).
diff --git a/docs/patterns/synchronous-runloop.md b/docs/patterns/synchronous-runloop.md
index bb6c187..adf3512 100644
--- a/docs/patterns/synchronous-runloop.md
+++ b/docs/patterns/synchronous-runloop.md
@@ -133,7 +133,7 @@
 property on a given object).
 
 When waiting for events, it is crucial that the observer is constructed in time
-to see the event (see also [waiting to late](#starting-waiting-too-late)).
+to see the event (see also [waiting too late](#starting-to-wait-for-an-event-too-late)).
 States, on the other hand, can be queried beforehand in the body of a
 Wait()-style function.
 
diff --git a/extensions/browser/api/declarative/rules_registry.cc b/extensions/browser/api/declarative/rules_registry.cc
index fd6feb20..17a6ddf 100644
--- a/extensions/browser/api/declarative/rules_registry.cc
+++ b/extensions/browser/api/declarative/rules_registry.cc
@@ -21,6 +21,7 @@
 #include "extensions/browser/api/declarative/rules_cache_delegate.h"
 #include "extensions/browser/extension_error.h"
 #include "extensions/browser/extension_prefs.h"
+#include "extensions/browser/extension_registry.h"
 #include "extensions/browser/extension_system.h"
 #include "extensions/browser/extensions_browser_client.h"
 #include "extensions/browser/state_store.h"
@@ -311,6 +312,14 @@
                                            std::unique_ptr<base::Value> rules) {
   DCHECK_CURRENTLY_ON(owner_thread());
 
+  // Since this is called in response to asynchronously loading rules from
+  // storage, the extension may have been unloaded by the time this is called.
+  if (!ExtensionRegistry::Get(browser_context())
+           ->enabled_extensions()
+           .Contains(extension_id)) {
+    return;
+  }
+
   std::string error = AddRulesNoFill(extension_id, RulesFromValue(rules.get()),
                                      &rules_, nullptr);
   if (!error.empty())
diff --git a/extensions/browser/extension_file_task_runner.cc b/extensions/browser/extension_file_task_runner.cc
index eb7f4f9..b8e78627 100644
--- a/extensions/browser/extension_file_task_runner.cc
+++ b/extensions/browser/extension_file_task_runner.cc
@@ -30,4 +30,10 @@
   return g_task_runner.Get();
 }
 
+scoped_refptr<base::SequencedTaskRunner> GetOneShotFileTaskRunner() {
+  return base::ThreadPool::CreateSequencedTaskRunner(
+      {base::MayBlock(), base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN,
+       base::TaskPriority::USER_VISIBLE});
+}
+
 }  // namespace extensions
diff --git a/extensions/browser/extension_file_task_runner.h b/extensions/browser/extension_file_task_runner.h
index c502c54..67529d1 100644
--- a/extensions/browser/extension_file_task_runner.h
+++ b/extensions/browser/extension_file_task_runner.h
@@ -13,12 +13,18 @@
 
 namespace extensions {
 
-// Returns the singleton instance of the task runner to be used for
+// Returns the singleton instance of the task runner to be used for most
 // extension-related tasks that read, modify, or delete files. All these tasks
 // must be posted to this task runner, even if it is only reading the file,
 // since other tasks may be modifying it.
 scoped_refptr<base::SequencedTaskRunner> GetExtensionFileTaskRunner();
 
+// Returns a non-singleton task runner, for tasks that touch files, but won't
+// race with each other. Currently, this is used to unpack multiple extensions
+// in parallel. They each touch a different set of files, which avoids potential
+// race conditions.
+scoped_refptr<base::SequencedTaskRunner> GetOneShotFileTaskRunner();
+
 }  // namespace extensions
 
 #endif  // EXTENSIONS_BROWSER_EXTENSION_FILE_TASK_RUNNER_H_
diff --git a/extensions/browser/image_sanitizer.cc b/extensions/browser/image_sanitizer.cc
index 15f37f6..c9004d2 100644
--- a/extensions/browser/image_sanitizer.cc
+++ b/extensions/browser/image_sanitizer.cc
@@ -60,10 +60,11 @@
     const base::FilePath& image_dir,
     const std::set<base::FilePath>& image_paths,
     ImageDecodedCallback image_decoded_callback,
-    SanitizationDoneCallback done_callback) {
+    SanitizationDoneCallback done_callback,
+    const scoped_refptr<base::SequencedTaskRunner>& io_task_runner) {
   std::unique_ptr<ImageSanitizer> sanitizer(new ImageSanitizer(
       image_dir, image_paths, std::move(image_decoded_callback),
-      std::move(done_callback)));
+      std::move(done_callback), io_task_runner));
   sanitizer->Start(decoder);
   return sanitizer;
 }
@@ -72,11 +73,13 @@
     const base::FilePath& image_dir,
     const std::set<base::FilePath>& image_relative_paths,
     ImageDecodedCallback image_decoded_callback,
-    SanitizationDoneCallback done_callback)
+    SanitizationDoneCallback done_callback,
+    const scoped_refptr<base::SequencedTaskRunner>& io_task_runner)
     : image_dir_(image_dir),
       image_paths_(image_relative_paths),
       image_decoded_callback_(std::move(image_decoded_callback)),
-      done_callback_(std::move(done_callback)) {}
+      done_callback_(std::move(done_callback)),
+      io_task_runner_(io_task_runner) {}
 
 ImageSanitizer::~ImageSanitizer() = default;
 
@@ -122,7 +125,7 @@
   for (const base::FilePath& path : image_paths_) {
     base::FilePath full_image_path = image_dir_.Append(path);
     base::PostTaskAndReplyWithResult(
-        extensions::GetExtensionFileTaskRunner().get(), FROM_HERE,
+        io_task_runner_.get(), FROM_HERE,
         base::BindOnce(&ReadAndDeleteBinaryFile, full_image_path),
         base::BindOnce(&ImageSanitizer::ImageFileRead,
                        weak_factory_.GetWeakPtr(), path));
@@ -162,7 +165,7 @@
   // though they may originally be .jpg, etc.  Figure something out.
   // http://code.google.com/p/chromium/issues/detail?id=12459
   base::PostTaskAndReplyWithResult(
-      extensions::GetExtensionFileTaskRunner().get(), FROM_HERE,
+      io_task_runner_.get(), FROM_HERE,
       base::BindOnce(&EncodeImage, decoded_image),
       base::BindOnce(&ImageSanitizer::ImageReencoded,
                      weak_factory_.GetWeakPtr(), image_path));
@@ -180,7 +183,7 @@
 
   int size = base::checked_cast<int>(image_data.size());
   base::PostTaskAndReplyWithResult(
-      extensions::GetExtensionFileTaskRunner().get(), FROM_HERE,
+      io_task_runner_.get(), FROM_HERE,
       base::BindOnce(&WriteFile, image_dir_.Append(image_path),
                      std::move(image_data)),
       base::BindOnce(&ImageSanitizer::ImageWritten, weak_factory_.GetWeakPtr(),
diff --git a/extensions/browser/image_sanitizer.h b/extensions/browser/image_sanitizer.h
index f42965e..0370c3e 100644
--- a/extensions/browser/image_sanitizer.h
+++ b/extensions/browser/image_sanitizer.h
@@ -66,15 +66,18 @@
       const base::FilePath& image_dir,
       const std::set<base::FilePath>& image_relative_paths,
       ImageDecodedCallback image_decoded_callback,
-      SanitizationDoneCallback done_callback);
+      SanitizationDoneCallback done_callback,
+      const scoped_refptr<base::SequencedTaskRunner>& task_runner);
 
   ~ImageSanitizer();
 
  private:
-  ImageSanitizer(const base::FilePath& image_dir,
-                 const std::set<base::FilePath>& image_relative_paths,
-                 ImageDecodedCallback image_decoded_callback,
-                 SanitizationDoneCallback done_callback);
+  ImageSanitizer(
+      const base::FilePath& image_dir,
+      const std::set<base::FilePath>& image_relative_paths,
+      ImageDecodedCallback image_decoded_callback,
+      SanitizationDoneCallback done_callback,
+      const scoped_refptr<base::SequencedTaskRunner>& io_task_runner);
 
   void Start(data_decoder::DataDecoder* decoder);
 
@@ -101,6 +104,7 @@
   std::set<base::FilePath> image_paths_;
   ImageDecodedCallback image_decoded_callback_;
   SanitizationDoneCallback done_callback_;
+  scoped_refptr<base::SequencedTaskRunner> io_task_runner_;
   mojo::Remote<data_decoder::mojom::ImageDecoder> image_decoder_;
   base::WeakPtrFactory<ImageSanitizer> weak_factory_{this};
 
diff --git a/extensions/browser/image_sanitizer_unittest.cc b/extensions/browser/image_sanitizer_unittest.cc
index 2353fe99d..42895a1 100644
--- a/extensions/browser/image_sanitizer_unittest.cc
+++ b/extensions/browser/image_sanitizer_unittest.cc
@@ -17,6 +17,7 @@
 #include "base/threading/thread_task_runner_handle.h"
 #include "build/build_config.h"
 #include "content/public/test/browser_task_environment.h"
+#include "extensions/browser/extension_file_task_runner.h"
 #include "services/data_decoder/public/cpp/data_decoder.h"
 #include "services/data_decoder/public/cpp/test_support/in_process_data_decoder.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -143,7 +144,8 @@
       ImageSanitizer::SanitizationDoneCallback done_callback) {
     sanitizer_ = ImageSanitizer::CreateAndStart(
         &data_decoder_, temp_dir_.GetPath(), image_relative_paths,
-        std::move(image_decoded_callback), std::move(done_callback));
+        std::move(image_decoded_callback), std::move(done_callback),
+        GetExtensionFileTaskRunner());
   }
 
   bool WriteBase64DataToFile(const std::string& base64_data,
diff --git a/extensions/browser/json_file_sanitizer.cc b/extensions/browser/json_file_sanitizer.cc
index a9e7316..19c94356 100644
--- a/extensions/browser/json_file_sanitizer.cc
+++ b/extensions/browser/json_file_sanitizer.cc
@@ -38,18 +38,23 @@
 std::unique_ptr<JsonFileSanitizer> JsonFileSanitizer::CreateAndStart(
     data_decoder::DataDecoder* decoder,
     const std::set<base::FilePath>& file_paths,
-    Callback callback) {
+    Callback callback,
+    const scoped_refptr<base::SequencedTaskRunner>& io_task_runner) {
   // Note we can't use std::make_unique as we want to keep the constructor
   // private.
   std::unique_ptr<JsonFileSanitizer> sanitizer(
-      new JsonFileSanitizer(file_paths, std::move(callback)));
+      new JsonFileSanitizer(file_paths, std::move(callback), io_task_runner));
   sanitizer->Start(decoder);
   return sanitizer;
 }
 
-JsonFileSanitizer::JsonFileSanitizer(const std::set<base::FilePath>& file_paths,
-                                     Callback callback)
-    : file_paths_(file_paths), callback_(std::move(callback)) {}
+JsonFileSanitizer::JsonFileSanitizer(
+    const std::set<base::FilePath>& file_paths,
+    Callback callback,
+    const scoped_refptr<base::SequencedTaskRunner>& io_task_runner)
+    : file_paths_(file_paths),
+      callback_(std::move(callback)),
+      io_task_runner_(io_task_runner) {}
 
 JsonFileSanitizer::~JsonFileSanitizer() = default;
 
@@ -66,7 +71,7 @@
 
   for (const base::FilePath& path : file_paths_) {
     base::PostTaskAndReplyWithResult(
-        extensions::GetExtensionFileTaskRunner().get(), FROM_HERE,
+        io_task_runner_.get(), FROM_HERE,
         base::BindOnce(&ReadAndDeleteTextFile, path),
         base::BindOnce(&JsonFileSanitizer::JsonFileRead,
                        weak_factory_.GetWeakPtr(), path));
@@ -109,7 +114,7 @@
 
   int size = static_cast<int>(json_string.length());
   base::PostTaskAndReplyWithResult(
-      extensions::GetExtensionFileTaskRunner().get(), FROM_HERE,
+      io_task_runner_.get(), FROM_HERE,
       base::BindOnce(&WriteStringToFile, std::move(json_string), file_path),
       base::BindOnce(&JsonFileSanitizer::JsonFileWritten,
                      weak_factory_.GetWeakPtr(), file_path, size));
diff --git a/extensions/browser/json_file_sanitizer.h b/extensions/browser/json_file_sanitizer.h
index dc280d85..6b17256 100644
--- a/extensions/browser/json_file_sanitizer.h
+++ b/extensions/browser/json_file_sanitizer.h
@@ -59,13 +59,16 @@
   static std::unique_ptr<JsonFileSanitizer> CreateAndStart(
       data_decoder::DataDecoder* decoder,
       const std::set<base::FilePath>& file_paths,
-      Callback callback);
+      Callback callback,
+      const scoped_refptr<base::SequencedTaskRunner>& io_task_runner);
 
   ~JsonFileSanitizer();
 
  private:
-  JsonFileSanitizer(const std::set<base::FilePath>& file_paths,
-                    Callback callback);
+  JsonFileSanitizer(
+      const std::set<base::FilePath>& file_paths,
+      Callback callback,
+      const scoped_refptr<base::SequencedTaskRunner>& io_task_runner);
 
   void Start(data_decoder::DataDecoder* decoder);
 
@@ -86,6 +89,7 @@
 
   std::set<base::FilePath> file_paths_;
   Callback callback_;
+  scoped_refptr<base::SequencedTaskRunner> io_task_runner_;
   mojo::Remote<data_decoder::mojom::JsonParser> json_parser_;
   base::WeakPtrFactory<JsonFileSanitizer> weak_factory_{this};
 
diff --git a/extensions/browser/json_file_sanitizer_unittest.cc b/extensions/browser/json_file_sanitizer_unittest.cc
index f82fc03..addabcd 100644
--- a/extensions/browser/json_file_sanitizer_unittest.cc
+++ b/extensions/browser/json_file_sanitizer_unittest.cc
@@ -12,6 +12,7 @@
 #include "base/run_loop.h"
 #include "base/strings/string_number_conversions.h"
 #include "content/public/test/browser_task_environment.h"
+#include "extensions/browser/extension_file_task_runner.h"
 #include "services/data_decoder/public/cpp/data_decoder.h"
 #include "services/data_decoder/public/cpp/test_support/in_process_data_decoder.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -54,7 +55,8 @@
     sanitizer_ = JsonFileSanitizer::CreateAndStart(
         &data_decoder_, file_paths,
         base::BindOnce(&JsonFileSanitizerTest::SanitizationDone,
-                       base::Unretained(this)));
+                       base::Unretained(this)),
+        GetExtensionFileTaskRunner());
   }
 
   JsonFileSanitizer::Status last_reported_status() const {
diff --git a/extensions/browser/sandboxed_unpacker.cc b/extensions/browser/sandboxed_unpacker.cc
index 2c25b11..b216c08 100644
--- a/extensions/browser/sandboxed_unpacker.cc
+++ b/extensions/browser/sandboxed_unpacker.cc
@@ -341,7 +341,8 @@
 
   DCHECK(crx_path.DirName() == temp_dir_.GetPath());
 
-  ZipFileInstaller::Create(base::BindOnce(&SandboxedUnpacker::UnzipDone, this))
+  ZipFileInstaller::Create(unpacker_io_task_runner_,
+                           base::BindOnce(&SandboxedUnpacker::UnzipDone, this))
       ->LoadFromZipFileInDir(crx_path, unzipped_dir);
 }
 
@@ -472,7 +473,8 @@
   image_sanitizer_ = ImageSanitizer::CreateAndStart(
       &data_decoder_, extension_root_, image_paths,
       base::BindRepeating(&SandboxedUnpacker::ImageSanitizerDecodedImage, this),
-      base::BindOnce(&SandboxedUnpacker::ImageSanitizationDone, this));
+      base::BindOnce(&SandboxedUnpacker::ImageSanitizationDone, this),
+      unpacker_io_task_runner_);
 }
 
 void SandboxedUnpacker::ImageSanitizerDecodedImage(const base::FilePath& path,
@@ -566,7 +568,8 @@
   DCHECK(unpacker_io_task_runner_->RunsTasksInCurrentSequence());
   json_file_sanitizer_ = JsonFileSanitizer::CreateAndStart(
       &data_decoder_, message_catalog_paths,
-      base::BindOnce(&SandboxedUnpacker::MessageCatalogsSanitized, this));
+      base::BindOnce(&SandboxedUnpacker::MessageCatalogsSanitized, this),
+      unpacker_io_task_runner_);
 }
 
 void SandboxedUnpacker::MessageCatalogsSanitized(
diff --git a/extensions/browser/sandboxed_unpacker.h b/extensions/browser/sandboxed_unpacker.h
index cf83572..6e5edfe 100644
--- a/extensions/browser/sandboxed_unpacker.h
+++ b/extensions/browser/sandboxed_unpacker.h
@@ -137,8 +137,6 @@
   // TaskShutdownBehavior::SKIP_ON_SHUTDOWN to ensure that either the task is
   // fully run (if initiated before shutdown) or not run at all (if shutdown is
   // initiated first). See crbug.com/235525.
-  // TODO(devlin): We should probably just have SandboxedUnpacker use the common
-  // ExtensionFileTaskRunner, and not pass in a separate one.
   // TODO(devlin): SKIP_ON_SHUTDOWN is also not quite sufficient for this. We
   // should probably instead be using base::ImportantFileWriter or similar.
   SandboxedUnpacker(
diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/browser/updater/extension_downloader.cc
index 00a81f1..6147363 100644
--- a/extensions/browser/updater/extension_downloader.cc
+++ b/extensions/browser/updater/extension_downloader.cc
@@ -196,12 +196,14 @@
     const GURL& url,
     const std::string& package_hash,
     const std::string& version,
-    const std::set<int>& request_ids)
+    const std::set<int>& request_ids,
+    const ManifestFetchData::FetchPriority fetch_priority)
     : id(id),
       url(url),
       package_hash(package_hash),
       version(version),
       request_ids(request_ids),
+      fetch_priority(fetch_priority),
       credentials(CREDENTIALS_NONE),
       oauth2_attempt_count(0) {}
 
@@ -598,6 +600,11 @@
   resource_request->url = active_request->full_url(),
   resource_request->load_flags = net::LOAD_DISABLE_CACHE;
 
+  if (active_request->fetch_priority() ==
+      ManifestFetchData::FetchPriority::FOREGROUND) {
+    resource_request->priority = net::MEDIUM;
+  }
+
   // Send traffic-management headers to the webstore, and omit credentials.
   // https://bugs.chromium.org/p/chromium/issues/detail?id=647516
   if (extension_urls::IsWebstoreUpdateUrl(active_request->full_url())) {
@@ -673,7 +680,8 @@
     // version if we have them.
     auto extension_fetch_data(std::make_unique<ExtensionFetch>(
         extension_id, fetch_data->base_url(), /*hash not fetched*/ "",
-        /*version not fetched*/ "", fetch_data->request_ids()));
+        /*version not fetched*/ "", fetch_data->request_ids(),
+        fetch_data->fetch_priority()));
     base::Optional<base::FilePath> cached_crx_path = GetCachedExtension(
         *extension_fetch_data, /*manifest_fetch_failed*/ true);
     if (cached_crx_path) {
@@ -849,10 +857,11 @@
       DCHECK_EQ(fetch_data->fetch_priority(),
                 ManifestFetchData::FetchPriority::FOREGROUND);
     }
-    FetchUpdatedExtension(std::make_unique<ExtensionFetch>(
-                              extension_id, crx_url, update->package_hash,
-                              update->version, fetch_data->request_ids()),
-                          update->info);
+    FetchUpdatedExtension(
+        std::make_unique<ExtensionFetch>(
+            extension_id, crx_url, update->package_hash, update->version,
+            fetch_data->request_ids(), fetch_data->fetch_priority()),
+        update->info);
   }
 
   // If the manifest response included a <daystart> element, we want to save
@@ -1261,6 +1270,12 @@
   last_extension_loader_load_flags_for_testing_ =
       extension_loader_resource_request_->load_flags;
 
+  const ExtensionFetch* active_request = extensions_queue_.active_request();
+  if (active_request->fetch_priority ==
+      ManifestFetchData::FetchPriority::FOREGROUND) {
+    extension_loader_resource_request_->priority = net::MEDIUM;
+  }
+
   network::mojom::URLLoaderFactory* url_loader_factory_to_use =
       GetURLLoaderFactoryToUse(extension_loader_resource_request_->url);
   extension_loader_ = network::SimpleURLLoader::Create(
diff --git a/extensions/browser/updater/extension_downloader.h b/extensions/browser/updater/extension_downloader.h
index f327782..49bcf7a 100644
--- a/extensions/browser/updater/extension_downloader.h
+++ b/extensions/browser/updater/extension_downloader.h
@@ -200,7 +200,8 @@
                    const GURL& url,
                    const std::string& package_hash,
                    const std::string& version,
-                   const std::set<int>& request_ids);
+                   const std::set<int>& request_ids,
+                   ManifestFetchData::FetchPriority fetch_priority);
     ~ExtensionFetch();
 
     std::string id;
@@ -208,6 +209,7 @@
     std::string package_hash;
     std::string version;
     std::set<int> request_ids;
+    ManifestFetchData::FetchPriority fetch_priority;
 
     enum CredentialsMode {
       CREDENTIALS_NONE = 0,
diff --git a/extensions/browser/zipfile_installer.cc b/extensions/browser/zipfile_installer.cc
index 08b8ec0c..0d76761 100644
--- a/extensions/browser/zipfile_installer.cc
+++ b/extensions/browser/zipfile_installer.cc
@@ -59,9 +59,11 @@
 
 // static
 scoped_refptr<ZipFileInstaller> ZipFileInstaller::Create(
+    const scoped_refptr<base::SequencedTaskRunner>& io_task_runner,
     DoneCallback done_callback) {
   DCHECK(done_callback);
-  return base::WrapRefCounted(new ZipFileInstaller(std::move(done_callback)));
+  return base::WrapRefCounted(
+      new ZipFileInstaller(io_task_runner, std::move(done_callback)));
 }
 
 void ZipFileInstaller::LoadFromZipFile(const base::FilePath& zip_file) {
@@ -89,13 +91,16 @@
   }
 
   base::PostTaskAndReplyWithResult(
-      GetExtensionFileTaskRunner().get(), FROM_HERE,
+      io_task_runner_.get(), FROM_HERE,
       base::BindOnce(&PrepareAndGetUnzipDir, zip_file),
       base::BindOnce(&ZipFileInstaller::Unzip, this));
 }
 
-ZipFileInstaller::ZipFileInstaller(DoneCallback done_callback)
-    : done_callback_(std::move(done_callback)) {}
+ZipFileInstaller::ZipFileInstaller(
+    const scoped_refptr<base::SequencedTaskRunner>& io_task_runner,
+    DoneCallback done_callback)
+    : done_callback_(std::move(done_callback)),
+      io_task_runner_(io_task_runner) {}
 
 ZipFileInstaller::~ZipFileInstaller() = default;
 
@@ -121,7 +126,7 @@
   }
 
   base::PostTaskAndReplyWithResult(
-      GetExtensionFileTaskRunner().get(), FROM_HERE,
+      io_task_runner_.get(), FROM_HERE,
       base::BindOnce(&ReadFileContent, unzip_dir.Append(kManifestFilename)),
       base::BindOnce(&ZipFileInstaller::ManifestRead, this, unzip_dir));
 }
diff --git a/extensions/browser/zipfile_installer.h b/extensions/browser/zipfile_installer.h
index be0dec4..2e70483 100644
--- a/extensions/browser/zipfile_installer.h
+++ b/extensions/browser/zipfile_installer.h
@@ -35,7 +35,9 @@
                                                const std::string& error)>;
 
   // Creates a ZipFileInstaller that invokes |done_callback| when done.
-  static scoped_refptr<ZipFileInstaller> Create(DoneCallback done_callback);
+  static scoped_refptr<ZipFileInstaller> Create(
+      const scoped_refptr<base::SequencedTaskRunner>& io_task_runner,
+      DoneCallback done_callback);
 
   // Creates a temporary directory and unzips the extension in it.
   void LoadFromZipFile(const base::FilePath& zip_file);
@@ -50,7 +52,9 @@
   FRIEND_TEST_ALL_PREFIXES(ZipFileInstallerTest, Theme_FileExtractionFilter);
   FRIEND_TEST_ALL_PREFIXES(ZipFileInstallerTest, ManifestExtractionFilter);
 
-  explicit ZipFileInstaller(DoneCallback done_callback);
+  explicit ZipFileInstaller(
+      const scoped_refptr<base::SequencedTaskRunner>& io_task_runner,
+      DoneCallback done_callback);
   ~ZipFileInstaller();
 
   void LoadFromZipFileImpl(const base::FilePath& zip_file,
@@ -81,6 +85,9 @@
   // File containing the extension to unzip.
   base::FilePath zip_file_;
 
+  // Task runner for file I/O.
+  scoped_refptr<base::SequencedTaskRunner> io_task_runner_;
+
   SEQUENCE_CHECKER(sequence_checker_);
 
   DISALLOW_COPY_AND_ASSIGN(ZipFileInstaller);
diff --git a/fuchsia/engine/web_engine_integration_test.cc b/fuchsia/engine/web_engine_integration_test.cc
index fedcf8c..9fefa1a 100644
--- a/fuchsia/engine/web_engine_integration_test.cc
+++ b/fuchsia/engine/web_engine_integration_test.cc
@@ -227,6 +227,8 @@
     return value ? value->GetBool() : false;
   }
 
+  void RunCameraTest(bool grant_permission);
+
  protected:
   void RunPermissionTest(bool grant);
 
@@ -678,8 +680,7 @@
   EXPECT_EQ(navigation_listener_->title(), "present");
 }
 
-TEST_F(WebEngineIntegrationTest, CameraAccess_WithPermission) {
-  StartWebEngine();
+void WebEngineIntegrationTest::RunCameraTest(bool grant_permission) {
   fuchsia::web::CreateContextParams create_params =
       ContextParamsWithFilteredServiceDirectory();
 
@@ -688,29 +689,33 @@
 
   CreateContextAndFrame(std::move(create_params));
 
-  GrantPermission(fuchsia::web::PermissionType::CAMERA,
-                  embedded_test_server_.GetURL("/").GetOrigin().spec());
+  if (grant_permission) {
+    GrantPermission(fuchsia::web::PermissionType::CAMERA,
+                    embedded_test_server_.GetURL("/").GetOrigin().spec());
+  }
 
+  const char* url =
+      grant_permission ? "/camera.html" : "/camera.html?NoPermission";
   EXPECT_TRUE(cr_fuchsia::LoadUrlAndExpectResponse(
       navigation_controller_.get(), fuchsia::web::LoadUrlParams(),
-      embedded_test_server_.GetURL("/camera.html").spec()));
+      embedded_test_server_.GetURL(url).spec()));
 
   navigation_listener_->RunUntilTitleEquals("ended");
 }
 
+TEST_F(WebEngineIntegrationTest, CameraAccess_WithPermission) {
+  StartWebEngine();
+  RunCameraTest(/*grant_permission=*/true);
+}
+
 TEST_F(WebEngineIntegrationTest, CameraAccess_WithoutPermission) {
   StartWebEngine();
-  fuchsia::web::CreateContextParams create_params =
-      ContextParamsWithFilteredServiceDirectory();
-
-  media::FakeCameraDeviceWatcher fake_camera_device_watcher(
-      filtered_service_directory_->outgoing_directory());
-
-  CreateContextAndFrame(std::move(create_params));
-
-  EXPECT_TRUE(cr_fuchsia::LoadUrlAndExpectResponse(
-      navigation_controller_.get(), fuchsia::web::LoadUrlParams(),
-      embedded_test_server_.GetURL("/camera.html?NoPermission").spec()));
-
-  navigation_listener_->RunUntilTitleEquals("ended");
+  RunCameraTest(/*grant_permission=*/false);
 }
+
+TEST_F(WebEngineIntegrationTest, CameraNoVideoCaptureProcess) {
+  base::CommandLine command_line(base::CommandLine::NO_PROGRAM);
+  command_line.AppendSwitchASCII("disable-features", "MojoVideoCapture");
+  StartWebEngine(std::move(command_line));
+  RunCameraTest(/*grant_permission=*/true);
+}
\ No newline at end of file
diff --git a/gpu/command_buffer/service/shared_image_backing_d3d.cc b/gpu/command_buffer/service/shared_image_backing_d3d.cc
index 05748005..194259c 100644
--- a/gpu/command_buffer/service/shared_image_backing_d3d.cc
+++ b/gpu/command_buffer/service/shared_image_backing_d3d.cc
@@ -6,7 +6,6 @@
 
 #include "base/trace_event/memory_dump_manager.h"
 #include "components/viz/common/resources/resource_format_utils.h"
-#include "components/viz/common/resources/resource_sizes.h"
 #include "gpu/command_buffer/common/shared_image_trace_utils.h"
 #include "gpu/command_buffer/service/shared_image_representation_d3d.h"
 #include "gpu/command_buffer/service/shared_image_representation_skia_gl.h"
@@ -46,7 +45,7 @@
     uint32_t usage,
     Microsoft::WRL::ComPtr<IDXGISwapChain1> swap_chain,
     scoped_refptr<gles2::TexturePassthrough> texture,
-    scoped_refptr<gl::GLImage> image,
+    scoped_refptr<gl::GLImageD3D> image,
     size_t buffer_index,
     Microsoft::WRL::ComPtr<ID3D11Texture2D> d3d11_texture,
     base::win::ScopedHandle shared_handle,
@@ -67,6 +66,7 @@
       d3d11_texture_(std::move(d3d11_texture)),
       shared_handle_(std::move(shared_handle)),
       dxgi_keyed_mutex_(std::move(dxgi_keyed_mutex)) {
+  DCHECK(d3d11_texture_);
   DCHECK(texture_);
 }
 
@@ -171,10 +171,6 @@
   return shared_handle_.Get();
 }
 
-gl::GLImage* SharedImageBackingD3D::GetGLImage() const {
-  return image_.get();
-}
-
 bool SharedImageBackingD3D::PresentSwapChain() {
   TRACE_EVENT0("gpu", "SharedImageBackingD3D::PresentSwapChain");
   if (buffer_index_ != 0) {
@@ -199,7 +195,7 @@
 
   api->glBindTextureFn(GL_TEXTURE_2D, texture_->service_id());
   if (!image_->BindTexImage(GL_TEXTURE_2D)) {
-    DLOG(ERROR) << "GLImage::BindTexImage failed";
+    DLOG(ERROR) << "GLImageD3D::BindTexImage failed";
     return false;
   }
 
@@ -227,12 +223,4 @@
       manager, this, tracker);
 }
 
-std::unique_ptr<SharedImageRepresentationOverlay>
-SharedImageBackingD3D::ProduceOverlay(SharedImageManager* manager,
-                                      MemoryTypeTracker* tracker) {
-  TRACE_EVENT0("gpu", "SharedImageBackingD3D::ProduceOverlay");
-  return std::make_unique<SharedImageRepresentationOverlayD3D>(manager, this,
-                                                               tracker);
-}
-
 }  // namespace gpu
diff --git a/gpu/command_buffer/service/shared_image_backing_d3d.h b/gpu/command_buffer/service/shared_image_backing_d3d.h
index 50e06454..a808c3c 100644
--- a/gpu/command_buffer/service/shared_image_backing_d3d.h
+++ b/gpu/command_buffer/service/shared_image_backing_d3d.h
@@ -32,8 +32,7 @@
 // Implementation of SharedImageBacking that holds buffer (front buffer/back
 // buffer of swap chain) texture (as gles2::Texture/gles2::TexturePassthrough)
 // and a reference to created swap chain.
-class GPU_GLES2_EXPORT SharedImageBackingD3D
-    : public ClearTrackingSharedImageBacking {
+class SharedImageBackingD3D : public ClearTrackingSharedImageBacking {
  public:
   SharedImageBackingD3D(
       const Mailbox& mailbox,
@@ -45,7 +44,7 @@
       uint32_t usage,
       Microsoft::WRL::ComPtr<IDXGISwapChain1> swap_chain,
       scoped_refptr<gles2::TexturePassthrough> texture,
-      scoped_refptr<gl::GLImage> image,
+      scoped_refptr<gl::GLImageD3D> image,
       size_t buffer_index,
       Microsoft::WRL::ComPtr<ID3D11Texture2D> d3d11_texture,
       base::win::ScopedHandle shared_handle,
@@ -74,7 +73,6 @@
   void EndAccessD3D11();
 
   HANDLE GetSharedHandle() const;
-  gl::GLImage* GetGLImage() const;
 
   bool PresentSwapChain() override;
 
@@ -83,10 +81,6 @@
   ProduceGLTexturePassthrough(SharedImageManager* manager,
                               MemoryTypeTracker* tracker) override;
 
-  std::unique_ptr<SharedImageRepresentationOverlay> ProduceOverlay(
-      SharedImageManager* manager,
-      MemoryTypeTracker* tracker) override;
-
   std::unique_ptr<SharedImageRepresentationSkia> ProduceSkia(
       SharedImageManager* manager,
       MemoryTypeTracker* tracker,
@@ -95,10 +89,8 @@
  private:
   Microsoft::WRL::ComPtr<IDXGISwapChain1> swap_chain_;
   scoped_refptr<gles2::TexturePassthrough> texture_;
-  scoped_refptr<gl::GLImage> image_;
+  scoped_refptr<gl::GLImageD3D> image_;
   const size_t buffer_index_;
-
-  // Texture could be nullptr if an empty backing is needed for testing.
   Microsoft::WRL::ComPtr<ID3D11Texture2D> d3d11_texture_;
 
   // If d3d11_texture_ has a keyed mutex, it will be stored in
diff --git a/gpu/command_buffer/service/shared_image_representation_d3d.cc b/gpu/command_buffer/service/shared_image_representation_d3d.cc
index 4afcd6c1..9be3bd1 100644
--- a/gpu/command_buffer/service/shared_image_representation_d3d.cc
+++ b/gpu/command_buffer/service/shared_image_representation_d3d.cc
@@ -132,22 +132,4 @@
 }
 #endif  // BUILDFLAG(USE_DAWN)
 
-SharedImageRepresentationOverlayD3D::SharedImageRepresentationOverlayD3D(
-    SharedImageManager* manager,
-    SharedImageBacking* backing,
-    MemoryTypeTracker* tracker)
-    : SharedImageRepresentationOverlay(manager, backing, tracker) {}
-
-bool SharedImageRepresentationOverlayD3D::BeginReadAccess() {
-  // Note: only the DX11 video decoder uses this overlay and does not need to
-  // synchronize read access from different devices.
-  return true;
-}
-
-void SharedImageRepresentationOverlayD3D::EndReadAccess() {}
-
-gl::GLImage* SharedImageRepresentationOverlayD3D::GetGLImage() {
-  return static_cast<SharedImageBackingD3D*>(backing())->GetGLImage();
-}
-
 }  // namespace gpu
diff --git a/gpu/command_buffer/service/shared_image_representation_d3d.h b/gpu/command_buffer/service/shared_image_representation_d3d.h
index c73d4c7f..72e41f1 100644
--- a/gpu/command_buffer/service/shared_image_representation_d3d.h
+++ b/gpu/command_buffer/service/shared_image_representation_d3d.h
@@ -20,8 +20,6 @@
 
 namespace gpu {
 
-class SharedImageBackingD3D;
-
 // Representation of a SharedImageBackingD3D as a GL TexturePassthrough.
 class SharedImageRepresentationGLTexturePassthroughD3D
     : public SharedImageRepresentationGLTexturePassthrough {
@@ -67,21 +65,5 @@
 };
 #endif  // BUILDFLAG(USE_DAWN)
 
-// Representation of a SharedImageBackingD3D as an overlay.
-class SharedImageRepresentationOverlayD3D
-    : public SharedImageRepresentationOverlay {
- public:
-  SharedImageRepresentationOverlayD3D(SharedImageManager* manager,
-                                      SharedImageBacking* backing,
-                                      MemoryTypeTracker* tracker);
-  ~SharedImageRepresentationOverlayD3D() override = default;
-
- private:
-  bool BeginReadAccess() override;
-  void EndReadAccess() override;
-
-  gl::GLImage* GetGLImage() override;
-};
-
 }  // namespace gpu
 #endif  // GPU_COMMAND_BUFFER_SERVICE_SHARED_IMAGE_REPRESENTATION_D3D_H_
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
index 8eb40a0..b3dd888 100644
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -9,7 +9,9 @@
 #include "base/command_line.h"
 #include "base/logging.h"
 #include "base/metrics/histogram_macros.h"
+#include "base/strings/pattern.h"
 #include "base/strings/string_number_conversions.h"
+#include "base/strings/string_split.h"
 #include "base/threading/scoped_blocking_call.h"
 #include "base/trace_event/trace_event.h"
 #include "build/build_config.h"
@@ -144,6 +146,18 @@
   }
 }
 
+#if BUILDFLAG(ENABLE_VULKAN)
+bool MatchGLRenderer(const GPUInfo& gpu_info, const std::string& patterns) {
+  auto pattern_strings = base::SplitString(patterns, "|", base::TRIM_WHITESPACE,
+                                           base::SPLIT_WANT_ALL);
+  for (const auto& pattern : pattern_strings) {
+    if (base::MatchPattern(gpu_info.gl_renderer, pattern))
+      return true;
+  }
+  return false;
+}
+#endif  // !BUILDFLAG(ENABLE_VULKAN)
+
 }  // namespace
 
 GpuInit::GpuInit() = default;
@@ -787,6 +801,15 @@
   if (!vulkan_implementation_)
     return false;
 
+  auto disable_patterns = base::GetFieldTrialParamValueByFeature(
+      features::kVulkan, "disable_by_gl_renderer");
+  if (MatchGLRenderer(gpu_info_, disable_patterns))
+    return false;
+
+  auto enable_patterns = base::GetFieldTrialParamValueByFeature(
+      features::kVulkan, "force_enable_by_gl_renderer");
+  forced_native |= MatchGLRenderer(gpu_info_, enable_patterns);
+
   if (!use_swiftshader && !forced_native &&
       !CheckVulkanCompabilities(
           vulkan_implementation_->GetVulkanInstance()->vulkan_info(),
diff --git a/gpu/vulkan/x/vulkan_implementation_x11.cc b/gpu/vulkan/x/vulkan_implementation_x11.cc
index 7821b12..52b26b9 100644
--- a/gpu/vulkan/x/vulkan_implementation_x11.cc
+++ b/gpu/vulkan/x/vulkan_implementation_x11.cc
@@ -146,11 +146,7 @@
 
 std::vector<const char*>
 VulkanImplementationX11::GetRequiredDeviceExtensions() {
-  std::vector<const char*> extensions = {
-      VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME,
-      VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME,
-      VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME,
-      VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME};
+  std::vector<const char*> extensions = {};
   if (using_surface_)
     extensions.push_back(VK_KHR_SWAPCHAIN_EXTENSION_NAME);
   return extensions;
@@ -158,7 +154,11 @@
 
 std::vector<const char*>
 VulkanImplementationX11::GetOptionalDeviceExtensions() {
-  return {VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME};
+  return {VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME,
+          VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME,
+          VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME,
+          VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME,
+          VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME};
 }
 
 VkFence VulkanImplementationX11::CreateVkFenceForGpuFence(VkDevice vk_device) {
diff --git a/infra/config/generated/commit-queue.cfg b/infra/config/generated/commit-queue.cfg
index b995558..0639d0d0 100644
--- a/infra/config/generated/commit-queue.cfg
+++ b/infra/config/generated/commit-queue.cfg
@@ -1008,10 +1008,6 @@
         includable_only: true
       }
       builders {
-        name: "chromium/try/linux-lacros-compile-rel"
-        includable_only: true
-      }
-      builders {
         name: "chromium/try/linux-lacros-fyi-rel"
         includable_only: true
       }
diff --git a/infra/config/generated/cr-buildbucket.cfg b/infra/config/generated/cr-buildbucket.cfg
index 537fa3d..d1ad69b 100644
--- a/infra/config/generated/cr-buildbucket.cfg
+++ b/infra/config/generated/cr-buildbucket.cfg
@@ -2810,7 +2810,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.gpu\",\"recipe\":\"chromium\"}"
+      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"builder_group\":\"chromium.gpu\",\"recipe\":\"chromium\"}"
       execution_timeout_secs: 10800
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -3470,7 +3470,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"enable_ats\":true,\"jobs\":500,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.linux\",\"recipe\":\"chromium\"}"
+      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"enable_ats\":true,\"jobs\":500,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"builder_group\":\"chromium.linux\",\"recipe\":\"chromium\"}"
       execution_timeout_secs: 10800
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -4311,7 +4311,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.gpu\",\"recipe\":\"chromium\"}"
+      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"builder_group\":\"chromium.gpu\",\"recipe\":\"chromium\"}"
       execution_timeout_secs: 10800
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -4398,7 +4398,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"jobs\":500},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.linux\",\"recipe\":\"chromium\"}"
+      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"jobs\":500},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"builder_group\":\"chromium.linux\",\"recipe\":\"chromium\"}"
       execution_timeout_secs: 10800
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -9670,11 +9670,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 36000
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -9701,11 +9701,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 10800
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -9732,11 +9732,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 10800
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -9764,11 +9764,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/code_coverage\":{\"coverage_exclude_sources\":\"ios_test_files_and_test_utils\",\"coverage_test_types\":[\"overall\",\"unit\"],\"use_clang_coverage\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/code_coverage\":{\"coverage_exclude_sources\":\"ios_test_files_and_test_utils\",\"coverage_test_types\":[\"overall\",\"unit\"],\"use_clang_coverage\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 72000
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -9795,11 +9795,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 36000
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -9857,11 +9857,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 10800
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -9888,11 +9888,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 36000
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -9919,11 +9919,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 10800
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -9981,11 +9981,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 36000
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -10012,11 +10012,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 36000
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -10043,11 +10043,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 36000
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -10074,11 +10074,11 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 36000
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -14296,8 +14296,8 @@
       properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"11e146\"}"
       execution_timeout_secs: 10800
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -14327,8 +14327,8 @@
       properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"11c29\"}"
       execution_timeout_secs: 36000
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -14358,8 +14358,8 @@
       properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"11e146\"}"
       execution_timeout_secs: 10800
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -16770,8 +16770,8 @@
       properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"11e146\"}"
       execution_timeout_secs: 10800
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -16801,8 +16801,8 @@
       properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.fyi\",\"recipe\":\"chromium\",\"xcode_build_version\":\"11e146\"}"
       execution_timeout_secs: 36000
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -16832,8 +16832,8 @@
       properties: "{\"$build/chromium_tests\":{\"bucketed_triggers\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"chromium.mac\",\"recipe\":\"chromium\",\"xcode_build_version\":\"11e146\"}"
       execution_timeout_secs: 10800
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24016,7 +24016,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24024,8 +24024,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24055,7 +24055,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24063,8 +24063,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24094,7 +24094,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/code_coverage\":{\"coverage_exclude_sources\":\"ios_test_files_and_test_utils\",\"coverage_test_types\":[\"unit\"],\"use_clang_coverage\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/code_coverage\":{\"coverage_exclude_sources\":\"ios_test_files_and_test_utils\",\"coverage_test_types\":[\"unit\"],\"use_clang_coverage\":true},\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24102,8 +24102,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24133,7 +24133,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24141,8 +24141,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24211,7 +24211,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"ios/try\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"ios/try\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24219,8 +24219,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24250,7 +24250,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24258,8 +24258,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24289,7 +24289,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24297,8 +24297,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24328,7 +24328,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"ios/try\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"ios/try\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24336,8 +24336,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24367,7 +24367,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24375,8 +24375,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24406,7 +24406,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24414,8 +24414,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24445,7 +24445,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -24453,8 +24453,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -24484,7 +24484,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8179i_audio\"}"
+      properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.mac\",\"recipe\":\"chromium_trybot\",\"xcode_build_version\":\"12a8189h\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -25174,43 +25174,6 @@
       }
     }
     builders {
-      name: "linux-lacros-compile-rel"
-      swarming_host: "chromium-swarm.appspot.com"
-      swarming_tags: "vpython:native-python-wrapper"
-      dimensions: "builderless:1"
-      dimensions: "cores:8"
-      dimensions: "cpu:x86-64"
-      dimensions: "os:Ubuntu-16.04"
-      dimensions: "pool:luci.chromium.try"
-      dimensions: "ssd:0"
-      exe {
-        cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
-        cipd_version: "refs/heads/master"
-        cmd: "recipes"
-      }
-      properties: "{\"$build/goma\":{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.chromiumos\",\"recipe\":\"chromium_trybot\"}"
-      execution_timeout_secs: 14400
-      expiration_secs: 7200
-      caches {
-        name: "win_toolchain"
-        path: "win_toolchain"
-      }
-      build_numbers: YES
-      service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
-      task_template_canary_percentage {
-        value: 5
-      }
-      resultdb {
-        enable: true
-        bq_exports {
-          project: "luci-resultdb"
-          dataset: "chromium"
-          table: "try_test_results"
-          test_results {}
-        }
-      }
-    }
-    builders {
       name: "linux-lacros-fyi-rel"
       swarming_host: "chromium-swarm.appspot.com"
       swarming_tags: "vpython:native-python-wrapper"
@@ -25521,7 +25484,7 @@
         cipd_version: "refs/heads/master"
         cmd: "recipes"
       }
-      properties: "{\"$build/code_coverage\":{\"use_clang_coverage\":true},\"$build/goma\":{\"enable_ats\":true,\"jobs\":150,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"mastername\":\"tryserver.chromium.linux\",\"recipe\":\"chromium_trybot\"}"
+      properties: "{\"$build/code_coverage\":{\"use_clang_coverage\":true},\"$build/goma\":{\"enable_ats\":true,\"jobs\":150,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"builder_group\":\"tryserver.chromium.linux\",\"recipe\":\"chromium_trybot\"}"
       execution_timeout_secs: 14400
       expiration_secs: 7200
       caches {
@@ -30037,8 +30000,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -30076,8 +30039,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -30115,8 +30078,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -32029,8 +31992,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -32068,8 +32031,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
@@ -32107,8 +32070,8 @@
         path: "win_toolchain"
       }
       caches {
-        name: "xcode_ios_12a8179i_audio"
-        path: "xcode_ios_12a8179i_audio.app"
+        name: "xcode_ios_12a8189h"
+        path: "xcode_ios_12a8189h.app"
       }
       build_numbers: YES
       service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
diff --git a/infra/config/generated/luci-milo.cfg b/infra/config/generated/luci-milo.cfg
index 9ab9056..5c095d0 100644
--- a/infra/config/generated/luci-milo.cfg
+++ b/infra/config/generated/luci-milo.cfg
@@ -15819,9 +15819,6 @@
     name: "buildbucket/luci.chromium.try/linux-chromeos-rel"
   }
   builders {
-    name: "buildbucket/luci.chromium.try/linux-lacros-compile-rel"
-  }
-  builders {
     name: "buildbucket/luci.chromium.try/linux-lacros-rel"
   }
   builder_view_only: true
diff --git a/infra/config/lib/builders.star b/infra/config/lib/builders.star
index c811330..43608d0 100644
--- a/infra/config/lib/builders.star
+++ b/infra/config/lib/builders.star
@@ -132,8 +132,6 @@
     x11e608c = xcode_enum("xcode_ios_11e608c", "xcode_ios_11e608c.app"),
     x11e608cwk = xcode_enum("xcode_ios_11e608cwk", "xcode_ios_11e608cwk.app"),
     x11e503a_xct12b1 = xcode_enum("xcode_ios_11e503a_xct12b1", "xcode_ios_11e503a_xct12b1.app"),
-    # xcode12 beta 4
-    x12a8179i_audio = xcode_enum("xcode_ios_12a8179i_audio", "xcode_ios_12a8179i_audio.app"),
     # xc12 beta 5
     x12a8189h = xcode_enum("xcode_ios_12a8189h", "xcode_ios_12a8189h.app"),
 )
@@ -344,7 +342,9 @@
       * mastername - a string with the group of the builder. Emits a property
         of the form 'mastername:<mastername>'. By default, considered None.
         Other than the property emitted, should be treated the same as
-        builder_group. At most one of builder_group or mastername can be set.
+        builder_group. If builder_group is set, mastername is ignored except
+        that it is treated as an error if both builder_group and mastername are
+        set and are set to different values.
       * cores - an int indicating the number of cores the builder requires for the
         machines that run it. Emits a dimension of the form 'cores:<cores>' will
         be emitted. By default, considered None.
@@ -465,12 +465,12 @@
 
     builder_group = defaults.get_value("builder_group", builder_group)
     mastername = defaults.get_value("mastername", mastername)
-    if builder_group != None and mastername != None:
-        fail("builder_group and mastername cannot both be set")
+    if builder_group != None and mastername != None and builder_group != mastername:
+        fail("mastername ({}) does not match builder_group ({})".format(mastername, builder_group))
 
     if builder_group != None:
         properties["builder_group"] = builder_group
-    if mastername != None:
+    elif mastername != None:
         properties["mastername"] = mastername
 
     pool = defaults.get_value("pool", pool)
diff --git a/infra/config/lib/ci.star b/infra/config/lib/ci.star
index 8705fd6..1316b643 100644
--- a/infra/config/lib/ci.star
+++ b/infra/config/lib/ci.star
@@ -663,7 +663,7 @@
         os = builders.os.MAC_10_15,
         **kwargs):
     if not caches:
-        caches = [builders.xcode_cache.x12a8179i_audio]
+        caches = [builders.xcode_cache.x12a8189h]
 
     return fyi_builder(
         name = name,
@@ -826,10 +826,10 @@
         properties = None,
         **kwargs):
     if not caches:
-        caches = [builders.xcode_cache.x12a8179i_audio]
+        caches = [builders.xcode_cache.x12a8189h]
     if not properties:
         properties = {
-            "xcode_build_version": "12a8179i_audio",
+            "xcode_build_version": "12a8189h",
         }
 
     return mac_builder(
diff --git a/infra/config/lib/try.star b/infra/config/lib/try.star
index 9d6e7e9e..2ae21c4 100644
--- a/infra/config/lib/try.star
+++ b/infra/config/lib/try.star
@@ -385,10 +385,10 @@
         properties = None,
         **kwargs):
     if not caches:
-        caches = [builders.xcode_cache.x12a8179i_audio]
+        caches = [builders.xcode_cache.x12a8189h]
     if not properties:
         properties = {
-            "xcode_build_version": "12a8179i_audio",
+            "xcode_build_version": "12a8189h",
         }
     return try_builder(
         name = name,
diff --git a/infra/config/subprojects/chromium/ci.star b/infra/config/subprojects/chromium/ci.star
index b71f175..2161142 100644
--- a/infra/config/subprojects/chromium/ci.star
+++ b/infra/config/subprojects/chromium/ci.star
@@ -612,7 +612,7 @@
         category = "DEPS|Linux|Builder",
         short_name = "x64",
     ),
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
 )
 
 ci.dawn_builder(
@@ -622,7 +622,7 @@
         short_name = "x64",
     ),
     cores = 2,
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.LINUX_DEFAULT,
     triggered_by = [builder_name("Dawn Linux x64 DEPS Builder")],
 )
@@ -634,7 +634,7 @@
         short_name = "x64",
     ),
     cores = 2,
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.LINUX_DEFAULT,
     triggered_by = [builder_name("Dawn Linux x64 DEPS Builder")],
 )
@@ -647,7 +647,7 @@
         short_name = "x64",
     ),
     cores = None,
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.MAC_ANY,
 )
 
@@ -660,7 +660,7 @@
         short_name = "x64",
     ),
     cores = 2,
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.LINUX_DEFAULT,
     triggered_by = [builder_name("Dawn Mac x64 DEPS Builder")],
 )
@@ -672,7 +672,7 @@
         short_name = "x64",
     ),
     cores = 2,
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.LINUX_DEFAULT,
     triggered_by = [builder_name("Dawn Mac x64 DEPS Builder")],
 )
@@ -683,7 +683,7 @@
         category = "DEPS|Windows|Builder",
         short_name = "x64",
     ),
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.WINDOWS_ANY,
 )
 
@@ -694,7 +694,7 @@
         short_name = "x64",
     ),
     cores = 2,
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.LINUX_DEFAULT,
     triggered_by = [builder_name("Dawn Win10 x64 DEPS Builder")],
 )
@@ -706,7 +706,7 @@
         short_name = "x64",
     ),
     cores = 2,
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.LINUX_DEFAULT,
     triggered_by = [builder_name("Dawn Win10 x64 DEPS Builder")],
 )
@@ -717,7 +717,7 @@
         category = "DEPS|Windows|Builder",
         short_name = "x86",
     ),
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.WINDOWS_ANY,
 )
 
@@ -728,7 +728,7 @@
         short_name = "x86",
     ),
     cores = 2,
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.LINUX_DEFAULT,
     triggered_by = [builder_name("Dawn Win10 x86 DEPS Builder")],
 )
@@ -740,7 +740,7 @@
         short_name = "x86",
     ),
     cores = 2,
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     os = os.LINUX_DEFAULT,
     triggered_by = [builder_name("Dawn Win10 x86 DEPS Builder")],
 )
@@ -750,7 +750,7 @@
     console_view_entry = ci.console_view_entry(
         category = "linux",
     ),
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
 )
 
 ci.fyi_ios_builder(
@@ -760,7 +760,7 @@
         category = "cronet",
     ),
     executable = "recipe:chromium",
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     notifies = ["cronet"],
     properties = {
         "xcode_build_version": "11e146",
@@ -776,6 +776,9 @@
 
 ci.gpu_builder(
     name = "GPU Linux Builder",
+    # TODO(https://crbug.com/1109276) Once support for mastername is removed, do
+    # not explicitly set
+    builder_group = "chromium.gpu",
     console_view_entry = ci.console_view_entry(
         category = "Linux",
     ),
@@ -801,6 +804,9 @@
 
 ci.gpu_thin_tester(
     name = "Linux Release (NVIDIA)",
+    # TODO(https://crbug.com/1109276) Once support for mastername is removed, do
+    # not explicitly set
+    builder_group = "chromium.gpu",
     console_view_entry = ci.console_view_entry(
         category = "Linux",
     ),
@@ -863,6 +869,9 @@
 
 ci.linux_builder(
     name = "Linux Builder",
+    # TODO(https://crbug.com/1109276) Once support for mastername is removed, do
+    # not explicitly set
+    builder_group = "chromium.linux",
     console_view_entry = ci.console_view_entry(
         category = "release",
         short_name = "bld",
@@ -881,6 +890,9 @@
 
 ci.linux_builder(
     name = "Linux Tests",
+    # TODO(https://crbug.com/1109276) Once support for mastername is removed, do
+    # not explicitly set
+    builder_group = "chromium.linux",
     console_view_entry = ci.console_view_entry(
         category = "release",
         short_name = "tst",
@@ -949,7 +961,7 @@
         category = "linux",
         short_name = "loh",
     ),
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     triggered_by = [builder_name("linux-ozone-rel")],
 )
 
@@ -960,7 +972,7 @@
         category = "linux",
         short_name = "low",
     ),
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     triggered_by = [builder_name("linux-ozone-rel")],
 )
 
@@ -971,7 +983,7 @@
         category = "linux",
         short_name = "lox",
     ),
-    main_console_view = None,
+    main_console_view = main_console_if_on_branch(),
     triggered_by = [builder_name("linux-ozone-rel")],
 )
 
diff --git a/infra/config/subprojects/chromium/master-only/ci.star b/infra/config/subprojects/chromium/master-only/ci.star
index f0e934a0..ae4559d 100644
--- a/infra/config/subprojects/chromium/master-only/ci.star
+++ b/infra/config/subprojects/chromium/master-only/ci.star
@@ -1734,7 +1734,7 @@
 
 ci.fyi_coverage_builder(
     name = "ios-simulator-code-coverage",
-    caches = [xcode_cache.x12a8179i_audio],
+    caches = [xcode_cache.x12a8189h],
     console_view_entry = ci.console_view_entry(
         category = "code_coverage",
         short_name = "ios",
@@ -1745,7 +1745,7 @@
     coverage_exclude_sources = "ios_test_files_and_test_utils",
     coverage_test_types = ["overall", "unit"],
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
 )
 
@@ -1802,7 +1802,7 @@
     executable = "recipe:chromium",
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
 )
 
@@ -1814,7 +1814,7 @@
     ),
     executable = "recipe:chromium",
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
 )
 
@@ -1827,7 +1827,7 @@
     executable = "recipe:chromium",
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
 )
 
@@ -1855,7 +1855,7 @@
     executable = "recipe:chromium",
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
     schedule = "0 0,12 * * *",
     triggered_by = [],
@@ -1867,11 +1867,11 @@
         category = "iOS|iOS13",
         short_name = "dev",
     ),
-    caches = [xcode_cache.x12a8179i_audio],
+    caches = [xcode_cache.x12a8189h],
     executable = "recipe:chromium",
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
 )
 
@@ -1881,11 +1881,11 @@
         category = "iOS|iOS13",
         short_name = "sdk13",
     ),
-    caches = [xcode_cache.x12a8179i_audio],
+    caches = [xcode_cache.x12a8189h],
     executable = "recipe:chromium",
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
     schedule = "0 6,18 * * *",
     triggered_by = [],
@@ -1900,7 +1900,7 @@
     executable = "recipe:chromium",
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
 )
 
diff --git a/infra/config/subprojects/chromium/master-only/try.star b/infra/config/subprojects/chromium/master-only/try.star
index 213d73d..e0bed72 100644
--- a/infra/config/subprojects/chromium/master-only/try.star
+++ b/infra/config/subprojects/chromium/master-only/try.star
@@ -271,11 +271,6 @@
     main_list_view = "try",
 )
 
-# TODO(crbug.com/1116180): Clean this up once linux-lacros-rel is up.
-try_.chromium_chromiumos_builder(
-    name = "linux-lacros-compile-rel",
-)
-
 try_.chromium_chromiumos_builder(
     name = "linux-lacros-rel",
     tryjob = try_.job(),
@@ -589,7 +584,7 @@
     coverage_test_types = ["unit"],
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
     tryjob = try_.job(experiment_percentage = 3),
 )
@@ -615,30 +610,30 @@
 try_.chromium_mac_ios_builder(
     name = "ios13-beta-simulator",
     executable = "recipe:chromium_trybot",
-    caches = [xcode_cache.x12a8179i_audio],
+    caches = [xcode_cache.x12a8189h],
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
 )
 
 try_.chromium_mac_ios_builder(
     name = "ios13-sdk-simulator",
     executable = "recipe:chromium_trybot",
-    caches = [xcode_cache.x12a8179i_audio],
+    caches = [xcode_cache.x12a8189h],
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
 )
 
 try_.chromium_mac_ios_builder(
     name = "ios14-beta-simulator",
     executable = "recipe:chromium_trybot",
-    caches = [xcode_cache.x12a8179i_audio],
+    caches = [xcode_cache.x12a8189h],
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
 )
 
@@ -648,7 +643,7 @@
     caches = [xcode_cache.x12a8189h],
     os = os.MAC_10_15,
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
 )
 
diff --git a/infra/config/subprojects/chromium/try.star b/infra/config/subprojects/chromium/try.star
index 7eebd047..a3a40bd2 100644
--- a/infra/config/subprojects/chromium/try.star
+++ b/infra/config/subprojects/chromium/try.star
@@ -388,6 +388,9 @@
 
 try_.chromium_linux_builder(
     name = "linux-rel",
+    # TODO(https://crbug.com/1109276) Once support for mastername is removed, do
+    # not explicitly set
+    builder_group = "tryserver.chromium.linux",
     goma_jobs = goma.jobs.J150,
     tryjob = try_.job(),
     use_clang_coverage = True,
@@ -495,7 +498,7 @@
     name = "ios-simulator",
     executable = "recipe:chromium_trybot",
     properties = {
-        "xcode_build_version": "12a8179i_audio",
+        "xcode_build_version": "12a8189h",
     },
     tryjob = try_.job(),
 )
diff --git a/ios/chrome/app/application_delegate/user_activity_handler.h b/ios/chrome/app/application_delegate/user_activity_handler.h
index d8280a7..b4d66d1 100644
--- a/ios/chrome/app/application_delegate/user_activity_handler.h
+++ b/ios/chrome/app/application_delegate/user_activity_handler.h
@@ -20,13 +20,16 @@
 @interface UserActivityHandler : NSObject
 
 // If the userActivity is a Handoff or an opening from Spotlight, opens a new
-// tab or setup startupParameters to open it later.
-// Returns wether it could continue userActivity.
+// tab or setup startupParameters to open it later. If a new tab must be
+// opened immediately (e.g. if a Siri Shortcut was triggered by the user while
+// Chrome was already in the foreground), it will be done with the provided
+// |browserState|. Returns wether it could continue userActivity.
 + (BOOL)continueUserActivity:(NSUserActivity*)userActivity
          applicationIsActive:(BOOL)applicationIsActive
                    tabOpener:(id<TabOpening>)tabOpener
        connectionInformation:(id<ConnectionInformation>)connectionInformation
-          startupInformation:(id<StartupInformation>)startupInformation;
+          startupInformation:(id<StartupInformation>)startupInformation
+                browserState:(ChromeBrowserState*)browserState;
 
 // Handles the 3D touch application static items. If the First Run UI is active,
 // |completionHandler| will be called with NO.
diff --git a/ios/chrome/app/application_delegate/user_activity_handler.mm b/ios/chrome/app/application_delegate/user_activity_handler.mm
index 5d0a1f0..2cfbfdf 100644
--- a/ios/chrome/app/application_delegate/user_activity_handler.mm
+++ b/ios/chrome/app/application_delegate/user_activity_handler.mm
@@ -89,7 +89,8 @@
          applicationIsActive:(BOOL)applicationIsActive
                    tabOpener:(id<TabOpening>)tabOpener
        connectionInformation:(id<ConnectionInformation>)connectionInformation
-          startupInformation:(id<StartupInformation>)startupInformation {
+          startupInformation:(id<StartupInformation>)startupInformation
+                browserState:(ChromeBrowserState*)browserState {
   NSURL* webpageURL = userActivity.webpageURL;
 
   if ([userActivity.activityType
@@ -151,7 +152,8 @@
                     applicationIsActive:isActive
                               tabOpener:tabOpener
                   connectionInformation:connectionInformation
-                     startupInformation:startupInformation];
+                     startupInformation:startupInformation
+                           browserState:browserState];
         });
       });
       return YES;
@@ -179,6 +181,7 @@
     [connectionInformation setStartupParameters:startupParams];
     webpageURL =
         [NSURL URLWithString:base::SysUTF8ToNSString(kChromeUINewTabURL)];
+
   } else if ([userActivity.activityType
                  isEqualToString:kSiriShortcutOpenInChrome]) {
     base::RecordAction(UserMetricsAction("IOSLaunchedByOpenInChromeIntent"));
@@ -235,14 +238,16 @@
                    applicationIsActive:applicationIsActive
                              tabOpener:tabOpener
                  connectionInformation:connectionInformation
-                    startupInformation:startupInformation];
+                    startupInformation:startupInformation
+                          browserState:browserState];
 }
 
 + (BOOL)continueUserActivityURL:(NSURL*)webpageURL
             applicationIsActive:(BOOL)applicationIsActive
                       tabOpener:(id<TabOpening>)tabOpener
           connectionInformation:(id<ConnectionInformation>)connectionInformation
-             startupInformation:(id<StartupInformation>)startupInformation {
+             startupInformation:(id<StartupInformation>)startupInformation
+                   browserState:(ChromeBrowserState*)browserState {
   if (!webpageURL)
     return NO;
 
@@ -256,6 +261,15 @@
     ApplicationModeForTabOpening targetMode =
         [[connectionInformation startupParameters] applicationMode];
     UrlLoadParams params = UrlLoadParams::InNewTab(webpageGURL);
+
+    if (connectionInformation.startupParameters.textQuery) {
+      NSString* query = connectionInformation.startupParameters.textQuery;
+
+      GURL result = [self generateResultGURLFromSearchQuery:query
+                                               browserState:browserState];
+      params.web_params.url = result;
+    }
+
     if (![[connectionInformation startupParameters] launchInIncognito] &&
         [tabOpener URLIsOpenedInRegularMode:webpageGURL]) {
       // Record metric.
@@ -376,6 +390,25 @@
        [userActivityType isEqualToString:CSSearchableItemActionType]);
 }
 
++ (GURL)generateResultGURLFromSearchQuery:(NSString*)searchQuery
+                             browserState:(ChromeBrowserState*)browserState {
+  TemplateURLService* templateURLService =
+      ios::TemplateURLServiceFactory::GetForBrowserState(browserState);
+
+  const TemplateURL* defaultURL =
+      templateURLService->GetDefaultSearchProvider();
+  DCHECK(!defaultURL->url().empty());
+  DCHECK(
+      defaultURL->url_ref().IsValid(templateURLService->search_terms_data()));
+  base::string16 queryString = base::SysNSStringToUTF16(searchQuery);
+  TemplateURLRef::SearchTermsArgs search_args(queryString);
+
+  GURL result(defaultURL->url_ref().ReplaceSearchTerms(
+      search_args, templateURLService->search_terms_data()));
+
+  return result;
+}
+
 + (void)handleStartupParametersWithTabOpener:(id<TabOpening>)tabOpener
                        connectionInformation:
                            (id<ConnectionInformation>)connectionInformation
@@ -442,19 +475,8 @@
     } else if (connectionInformation.startupParameters.textQuery) {
       NSString* query = connectionInformation.startupParameters.textQuery;
 
-      TemplateURLService* templateURLService =
-          ios::TemplateURLServiceFactory::GetForBrowserState(browserState);
-
-      const TemplateURL* defaultURL =
-          templateURLService->GetDefaultSearchProvider();
-      DCHECK(!defaultURL->url().empty());
-      DCHECK(defaultURL->url_ref().IsValid(
-          templateURLService->search_terms_data()));
-      base::string16 queryString = base::SysNSStringToUTF16(query);
-      TemplateURLRef::SearchTermsArgs search_args(queryString);
-
-      GURL result(defaultURL->url_ref().ReplaceSearchTerms(
-          search_args, templateURLService->search_terms_data()));
+      GURL result = [self generateResultGURLFromSearchQuery:query
+                                               browserState:browserState];
       params.web_params.url = result;
     }
 
diff --git a/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm b/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm
index 26b6bcc..e9d3b47b 100644
--- a/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm
+++ b/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm
@@ -90,6 +90,11 @@
 typedef void (^conditionBlock)(BOOL);
 
 class UserActivityHandlerTest : public PlatformTest {
+ public:
+  UserActivityHandlerTest() {
+    interfaceProvider_ = [[StubBrowserInterfaceProvider alloc] init];
+  }
+
  protected:
   void swizzleHandleStartupParameters() {
     handle_startup_parameters_has_been_called_ = NO;
@@ -136,6 +141,10 @@
 
   BOOL completionHandlerArgument() { return block_argument_; }
 
+  StubBrowserInterfaceProvider* GetInterfaceProvider() {
+    return interfaceProvider_;
+  }
+
  private:
   __block BOOL block_executed_;
   __block BOOL block_argument_;
@@ -143,6 +152,7 @@
   startupParameterBlock swizzle_block_;
   conditionBlock completion_block_;
   __block BOOL handle_startup_parameters_has_been_called_;
+  StubBrowserInterfaceProvider* interfaceProvider_;
 };
 
 #pragma mark - Tests.
@@ -198,12 +208,14 @@
         [OCMockObject mockForProtocol:@protocol(ConnectionInformation)];
 
     // Action.
-    BOOL result =
-        [UserActivityHandler continueUserActivity:userActivity
-                              applicationIsActive:NO
-                                        tabOpener:tabOpenerMock
-                            connectionInformation:connectionInformation
-                               startupInformation:startupInformationMock];
+    BOOL result = [UserActivityHandler
+         continueUserActivity:userActivity
+          applicationIsActive:NO
+                    tabOpener:tabOpenerMock
+        connectionInformation:connectionInformation
+           startupInformation:startupInformationMock
+                 browserState:GetInterfaceProvider()
+                                  .currentInterface.browserState];
 
     // Tests.
     EXPECT_FALSE(result);
@@ -225,12 +237,14 @@
       [OCMockObject mockForProtocol:@protocol(StartupInformation)];
 
   // Action.
-  BOOL result =
-      [UserActivityHandler continueUserActivity:userActivity
-                            applicationIsActive:NO
-                                      tabOpener:tabOpenerMock
-                          connectionInformation:connectionInformationMock
-                             startupInformation:startupInformationMock];
+  BOOL result = [UserActivityHandler
+       continueUserActivity:userActivity
+        applicationIsActive:NO
+                  tabOpener:tabOpenerMock
+      connectionInformation:connectionInformationMock
+         startupInformation:startupInformationMock
+               browserState:GetInterfaceProvider()
+                                .currentInterface.browserState];
 
   // Tests.
   EXPECT_FALSE(result);
@@ -266,12 +280,14 @@
   id connectionInformationMock =
       [OCMockObject mockForProtocol:@protocol(ConnectionInformation)];
   // Action.
-  BOOL result =
-      [UserActivityHandler continueUserActivity:userActivity
-                            applicationIsActive:NO
-                                      tabOpener:tabOpenerMock
-                          connectionInformation:connectionInformationMock
-                             startupInformation:startupInformationMock];
+  BOOL result = [UserActivityHandler
+       continueUserActivity:userActivity
+        applicationIsActive:NO
+                  tabOpener:tabOpenerMock
+      connectionInformation:connectionInformationMock
+         startupInformation:startupInformationMock
+               browserState:GetInterfaceProvider()
+                                .currentInterface.browserState];
 
   // Tests.
   EXPECT_FALSE(result);
@@ -303,12 +319,14 @@
   id tabOpenerMock = [OCMockObject mockForProtocol:@protocol(TabOpening)];
 
   // Action.
-  BOOL result =
-      [UserActivityHandler continueUserActivity:userActivity
-                            applicationIsActive:NO
-                                      tabOpener:tabOpenerMock
-                          connectionInformation:connectionInformationMock
-                             startupInformation:startupInformationMock];
+  BOOL result = [UserActivityHandler
+       continueUserActivity:userActivity
+        applicationIsActive:NO
+                  tabOpener:tabOpenerMock
+      connectionInformation:connectionInformationMock
+         startupInformation:startupInformationMock
+               browserState:GetInterfaceProvider()
+                                .currentInterface.browserState];
 
   // Test.
   EXPECT_OCMOCK_VERIFY(startupInformationMock);
@@ -338,12 +356,14 @@
       startupParameters];
 
   // Action.
-  BOOL result =
-      [UserActivityHandler continueUserActivity:userActivity
-                            applicationIsActive:YES
-                                      tabOpener:tabOpener
-                          connectionInformation:connectionInformationMock
-                             startupInformation:startupInformationMock];
+  BOOL result = [UserActivityHandler
+       continueUserActivity:userActivity
+        applicationIsActive:YES
+                  tabOpener:tabOpener
+      connectionInformation:connectionInformationMock
+         startupInformation:startupInformationMock
+               browserState:GetInterfaceProvider()
+                                .currentInterface.browserState];
 
   // Test.
   EXPECT_EQ(gurl, tabOpener.urlLoadParams.web_params.url);
@@ -369,12 +389,14 @@
   FakeConnectionInformation* connectionInformationMock =
       [[FakeConnectionInformation alloc] init];
 
-  BOOL result =
-      [UserActivityHandler continueUserActivity:userActivity
-                            applicationIsActive:YES
-                                      tabOpener:tabOpener
-                          connectionInformation:connectionInformationMock
-                             startupInformation:fakeStartupInformation];
+  BOOL result = [UserActivityHandler
+       continueUserActivity:userActivity
+        applicationIsActive:YES
+                  tabOpener:tabOpener
+      connectionInformation:connectionInformationMock
+         startupInformation:fakeStartupInformation
+               browserState:GetInterfaceProvider()
+                                .currentInterface.browserState];
 
   GURL newTabURL(kChromeUINewTabURL);
   EXPECT_EQ(newTabURL, tabOpener.urlLoadParams.web_params.url);
@@ -436,12 +458,14 @@
     id tabOpenerMock = [OCMockObject mockForProtocol:@protocol(TabOpening)];
 
     // Action.
-    BOOL result =
-        [UserActivityHandler continueUserActivity:userActivity
-                              applicationIsActive:NO
-                                        tabOpener:tabOpenerMock
-                            connectionInformation:connectionInformationMock
-                               startupInformation:fakeStartupInformation];
+    BOOL result = [UserActivityHandler
+         continueUserActivity:userActivity
+          applicationIsActive:NO
+                    tabOpener:tabOpenerMock
+        connectionInformation:connectionInformationMock
+           startupInformation:fakeStartupInformation
+                 browserState:GetInterfaceProvider()
+                                  .currentInterface.browserState];
 
     // Tests.
     EXPECT_TRUE(result);
@@ -499,12 +523,14 @@
   MockTabOpener* tabOpener = [[MockTabOpener alloc] init];
 
   // Action.
-  BOOL result =
-      [UserActivityHandler continueUserActivity:userActivity
-                            applicationIsActive:NO
-                                      tabOpener:tabOpener
-                          connectionInformation:connectionInformationMock
-                             startupInformation:startupInformationMock];
+  BOOL result = [UserActivityHandler
+       continueUserActivity:userActivity
+        applicationIsActive:NO
+                  tabOpener:tabOpener
+      connectionInformation:connectionInformationMock
+         startupInformation:startupInformationMock
+               browserState:GetInterfaceProvider()
+                                .currentInterface.browserState];
 
   EXPECT_OCMOCK_VERIFY(startupInformationMock);
   EXPECT_TRUE(result);
@@ -551,12 +577,14 @@
   id tabOpenerMock = [OCMockObject mockForProtocol:@protocol(TabOpening)];
 
   // Action.
-  BOOL result =
-      [UserActivityHandler continueUserActivity:userActivity
-                            applicationIsActive:NO
-                                      tabOpener:tabOpenerMock
-                          connectionInformation:connectionInformationMock
-                             startupInformation:startupInformationMock];
+  BOOL result = [UserActivityHandler
+       continueUserActivity:userActivity
+        applicationIsActive:NO
+                  tabOpener:tabOpenerMock
+      connectionInformation:connectionInformationMock
+         startupInformation:startupInformationMock
+               browserState:GetInterfaceProvider()
+                                .currentInterface.browserState];
 
   // Test.
   EXPECT_OCMOCK_VERIFY(startupInformationMock);
@@ -620,12 +648,14 @@
   MockTabOpener* tabOpener = [[MockTabOpener alloc] init];
 
   // Action.
-  BOOL result =
-      [UserActivityHandler continueUserActivity:userActivity
-                            applicationIsActive:YES
-                                      tabOpener:tabOpener
-                          connectionInformation:connectionInformationMock
-                             startupInformation:startupInformationMock];
+  BOOL result = [UserActivityHandler
+       continueUserActivity:userActivity
+        applicationIsActive:YES
+                  tabOpener:tabOpener
+      connectionInformation:connectionInformationMock
+         startupInformation:startupInformationMock
+               browserState:GetInterfaceProvider()
+                                .currentInterface.browserState];
 
   // Test.
   EXPECT_OCMOCK_VERIFY(startupInformationMock);
@@ -684,12 +714,14 @@
       startupParameters];
 
   // Action.
-  BOOL result =
-      [UserActivityHandler continueUserActivity:userActivity
-                            applicationIsActive:YES
-                                      tabOpener:tabOpener
-                          connectionInformation:connectionInformationMock
-                             startupInformation:startupInformationMock];
+  BOOL result = [UserActivityHandler
+       continueUserActivity:userActivity
+        applicationIsActive:YES
+                  tabOpener:tabOpener
+      connectionInformation:connectionInformationMock
+         startupInformation:startupInformationMock
+               browserState:GetInterfaceProvider()
+                                .currentInterface.browserState];
 
   // Test.
   EXPECT_OCMOCK_VERIFY(startupInformationMock);
@@ -724,16 +756,14 @@
   // The test will fail is a method of this object is called.
   //  id interfaceProviderMock =
   //      [OCMockObject mockForProtocol:@protocol(BrowserInterfaceProvider)];
-  StubBrowserInterfaceProvider* interfaceProvider =
-      [[StubBrowserInterfaceProvider alloc] init];
 
   // Action.
   [UserActivityHandler
       handleStartupParametersWithTabOpener:tabOpener
                      connectionInformation:connectionInformationMock
                         startupInformation:startupInformationMock
-                              browserState:interfaceProvider.currentInterface
-                                               .browserState];
+                              browserState:GetInterfaceProvider()
+                                               .currentInterface.browserState];
   [tabOpener completionBlock]();
 
   // Tests.
@@ -771,16 +801,14 @@
   // The test will fail is a method of this object is called.
   //  id interfaceProviderMock =
   //      [OCMockObject mockForProtocol:@protocol(BrowserInterfaceProvider)];
-  StubBrowserInterfaceProvider* interfaceProvider =
-      [[StubBrowserInterfaceProvider alloc] init];
 
   // Action.
   [UserActivityHandler
       handleStartupParametersWithTabOpener:tabOpener
                      connectionInformation:connectionInformationMock
                         startupInformation:startupInformationMock
-                              browserState:interfaceProvider.currentInterface
-                                               .browserState];
+                              browserState:GetInterfaceProvider()
+                                               .currentInterface.browserState];
   [tabOpener completionBlock]();
 
   // Tests.
@@ -892,8 +920,6 @@
 
     // The test will fail is a method of those objects is called.
     id tabOpenerMock = [OCMockObject mockForProtocol:@protocol(TabOpening)];
-    StubBrowserInterfaceProvider* interfaceProvider =
-        [[StubBrowserInterfaceProvider alloc] init];
 
     // Action.
     [UserActivityHandler performActionForShortcutItem:shortcut
@@ -901,7 +927,7 @@
                                             tabOpener:tabOpenerMock
                                 connectionInformation:fakeConnectionInformation
                                    startupInformation:fakeStartupInformation
-                                    interfaceProvider:interfaceProvider];
+                                    interfaceProvider:GetInterfaceProvider()];
 
     // Tests.
     EXPECT_EQ(gurlNewTab,
diff --git a/ios/chrome/app/main_application_delegate.mm b/ios/chrome/app/main_application_delegate.mm
index 5c24dba1..d047843 100644
--- a/ios/chrome/app/main_application_delegate.mm
+++ b/ios/chrome/app/main_application_delegate.mm
@@ -330,11 +330,14 @@
   BOOL applicationIsActive =
       [application applicationState] == UIApplicationStateActive;
 
-  return [UserActivityHandler continueUserActivity:userActivity
-                               applicationIsActive:applicationIsActive
-                                         tabOpener:_tabOpener
-                             connectionInformation:self.sceneController
-                                startupInformation:_startupInformation];
+  return [UserActivityHandler
+       continueUserActivity:userActivity
+        applicationIsActive:applicationIsActive
+                  tabOpener:_tabOpener
+      connectionInformation:self.sceneController
+         startupInformation:_startupInformation
+               browserState:_mainController.interfaceProvider.currentInterface
+                                .browserState];
 }
 
 - (void)application:(UIApplication*)application
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd
index 121774cb..ffb14b3 100644
--- a/ios/chrome/app/strings/ios_strings.grd
+++ b/ios/chrome/app/strings/ios_strings.grd
@@ -717,6 +717,9 @@
       <message name="IDS_IOS_DISCONNECT_DIALOG_TITLE_UNITY" desc="The title of the disconnect dialog [Length: 30em].">
         Sign out and turn off sync?
       </message>
+      <message name="IDS_IOS_DISCOVER_FEED_HEADER_IPH" desc="In-product help that points at the menu icon for the news feed on Chrome's new tab page. This string instructs the user to open the menu for settings that let them control the content that appears on the feed.">
+        Control your stories and activity here
+      </message>
       <message name="IDS_IOS_DISCOVER_FEED_TITLE" desc="The title in the Discover feed menu.">
         Discover
       </message>
diff --git a/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_DISCOVER_FEED_HEADER_IPH.png.sha1 b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_DISCOVER_FEED_HEADER_IPH.png.sha1
new file mode 100644
index 0000000..bc6df84f
--- /dev/null
+++ b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_DISCOVER_FEED_HEADER_IPH.png.sha1
@@ -0,0 +1 @@
+ac7469a1b2f6aee4da011cfba151465980dd9310
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_af.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_af.xtb
index d6011d2..039c8e5 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_af.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_af.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Wanneer hierdie kenmerk aangeskakel is, sal Chromium aanbied om bladsye wat in ander tale geskryf is, te vertaal deur Google Vertaal te gebruik. <ph name="BEGIN_LINK" />Kom meer te wete<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Skakel Chromium-skandeerder aan</translation>
 <translation id="4787850887676698916">Oortjies wat jy op jou ander toestelle in Chromium oopgemaak het, sal hier verskyn.</translation>
+<translation id="4828317641996116749">Chromium kon nie alle wagwoorde nagaan nie. Probeer later weer.</translation>
 <translation id="4999538639245140991">Omdat jy afmeld uit 'n rekening wat deur <ph name="SIGNOUT_MANAGED_DOMAIN" /> bestuur word, sal jou Chromium-data op hierdie toestel uitgevee word. Jou data sal in jou Google-rekening bly.</translation>
 <translation id="5224391634244552924">Geen gestoorde wagwoorde nie. Chromium kan jou wagwoorde nagaan wanneer jy hulle stoor.</translation>
 <translation id="5521125884468363740">Meld aan en skakel sinkronisering aan om jou oortjies te sien van waar ook al jy Chromium gebruik</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Jy kan Chromium nou enige tyd gebruik wanneer jy op skakels in boodskappe, dokumente en ander programme tik.</translation>
 <translation id="7173114856073700355">Maak Instellings oop</translation>
 <translation id="7208566199746267865">Chromium spaar jou tyd deur jou rekeninge na die web te bring. Jy kan rekeninge in Instellings byvoeg of verwyder.</translation>
+<translation id="725427773388857052">Chromium kan help om jou teen dataskendings, onveilige webwerwe, en meer te beskerm.</translation>
 <translation id="7269362888766543920">Sekere byvoegings veroorsaak dat Chromium omval. Probeer om hulle te deïnstalleer.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Om Chromium jou verstekblaaier te maak:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_bs.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_bs.xtb
index e07f9fb4..7133983 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_bs.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_bs.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Kada je ova funkcija uključena, Chromium će ponuditi prevođenje stranica koje su napisane na drugim jezicima, pomoću Google Prevodioca. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Uključite Chromium skener</translation>
 <translation id="4787850887676698916">Ovdje će se pojaviti kartice koje ste otvorili u Chromiumu na drugim uređajima.</translation>
+<translation id="4828317641996116749">Chromium nije uspio provjeriti sve zaporke. Pokušajte ponovo kasnije.</translation>
 <translation id="4999538639245140991">Pošto se odjavljujete s računa kojim upravlja <ph name="SIGNOUT_MANAGED_DOMAIN" />, vaši podaci iz Chromiuma će se izbrisati s ovog uređaja. Vaši podaci će ostati na vašem Google računu.</translation>
 <translation id="5224391634244552924">Nema sačuvanih lozinki. Chromium može provjeravati vaše lozinke kada ih sačuvate.</translation>
 <translation id="5521125884468363740">Da vidite svoje kartice s bilo kojeg uređaja na kojem koristite Chromium, prijavite se i uključite sinhronizaciju</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Sada možete koristiti Chromium svaki put kada dodirnete linkove u porukama, dokumentima i drugim aplikacijama.</translation>
 <translation id="7173114856073700355">Otvori postavke</translation>
 <translation id="7208566199746267865">Chromium vam štedi vrijeme povezivanjem računa na web. U Postavkama možete dodati ili ukloniti račune.</translation>
+<translation id="725427773388857052">Chromium vam može pomoći da se bolje zaštitite od povrede podataka, nesigurnih web-lokacija i još mnogo toga.</translation>
 <translation id="7269362888766543920">Neki programski dodaci uzrokuju pad aplikacije Chromium. Pokušajte ih deinstalirati.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Da postavite Chromium kao zadani preglednik:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ca.xtb
index 156a062..3922b3d 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ca.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Quan aquesta funció està activada, Chromium ofereix la possibilitat de traduir pàgines escrites en altres idiomes mitjançant el Traductor de Google. <ph name="BEGIN_LINK" />Més informació<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Activa l'escàner de Chromium</translation>
 <translation id="4787850887676698916">Les pestanyes que tinguis obertes a Chromium als altres dispositius es mostraran aquí.</translation>
+<translation id="4828317641996116749">Chromium no ha pogut comprovar totes les contrasenyes. Torna-ho a provar més tard.</translation>
 <translation id="4999538639245140991">Com que estàs tancant la sessió d'un compte gestionat per <ph name="SIGNOUT_MANAGED_DOMAIN" />, se suprimiran les teves dades de Chromium d'aquest dispositiu, però continuaran emmagatzemades al teu Compte de Google.</translation>
 <translation id="5224391634244552924">No hi ha cap contrasenya desada. Chromium pot comprovar les teves contrasenyes quan les deses.</translation>
 <translation id="5521125884468363740">Per veure les pestanyes des de tots els llocs on facis servir Chromium, inicia la sessió i activa la sincronització</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Ara pots utilitzar Chromium cada vegada que toquis enllaços en missatges, documents i altres aplicacions</translation>
 <translation id="7173114856073700355">Obre Configuració</translation>
 <translation id="7208566199746267865">Per ajudar-te a estalviar temps, Chromium connecta els teus comptes al web. Pots afegir o suprimir comptes a Configuració.</translation>
+<translation id="725427773388857052">Chromium pot ajudar a protegir-te de violacions de les dades, de llocs web no segurs i més.</translation>
 <translation id="7269362888766543920">Alguns complements fan que Chromium es bloquegi. Prova de desinstal·lar-los.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Per establir Chromium com a navegador predeterminat, fes el següent:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_da.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_da.xtb
index 48c209e..b745519 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_da.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Når denne funktion er aktiveret, vil Chromium tilbyde at oversætte sider, der er skrevet på andre sprog, ved hjælp af Google Oversæt. <ph name="BEGIN_LINK" />Få flere oplysninger<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Aktivér Chromium-scanner</translation>
 <translation id="4787850887676698916">Faner, du har åbnet i Chromium på dine andre enheder, vises her.</translation>
+<translation id="4828317641996116749">Chromium kunne ikke tjekke alle adgangskoder. Prøv igen senere.</translation>
 <translation id="4999538639245140991">Da du er ved at logge ud af en konto, der administreres af <ph name="SIGNOUT_MANAGED_DOMAIN" />, slettes dine Chromium-data på denne enhed. Dine data forbliver på din Google-konto.</translation>
 <translation id="5224391634244552924">Der er ingen gemte adgangskoder. Chromium kan tjekke dine adgangskoder, når du gemmer dem.</translation>
 <translation id="5521125884468363740">Log ind, og aktivér synkronisering på alle de enheder, hvor du bruger Chromium, for at se dine faner på dem</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Du kan nu bruge Chromium, hver gang du trykker på links i meddelelser, dokumenter og andre apps.</translation>
 <translation id="7173114856073700355">Åbn Indstillinger</translation>
 <translation id="7208566199746267865">Med Chromium sparer du tid ved at gøre alle dine konti tilgængelige online. Du kan tilføje eller fjerne konti under Indstillinger.</translation>
+<translation id="725427773388857052">Chromium kan hjælpe med at beskytte dig mod brud på datasikkerheden, usikre websites og meget mere.</translation>
 <translation id="7269362888766543920">Nogle tilføjelser får Chromium til at gå ned. Prøv at afinstallere dem.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Sådan gør du Chromium til din standardbrowser:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_el.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_el.xtb
index 9ce687c..539e5d8 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_el.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Όταν αυτή η λειτουργία είναι ενεργοποιημένη, το Chromium θα προσφέρει τη μετάφραση σελίδων που είναι γραμμένες σε άλλες γλώσσες χρησιμοποιώντας τη Μετάφραση Google. <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Ενεργοποίηση σαρωτή Chromium</translation>
 <translation id="4787850887676698916">Οι καρτέλες που έχετε ανοίξει στο Chromium στις άλλες συσκευές σας θα εμφανίζονται εδώ.</translation>
+<translation id="4828317641996116749">Το Chromium δεν μπόρεσε να ελέγξει όλους τους κωδικούς πρόσβασης. Δοκιμάστε ξανά αργότερα.</translation>
 <translation id="4999538639245140991">Λόγω της αποσύνδεσής σας από κάποιον λογαριασμό που είναι διαχειριζόμενος από τον τομέα <ph name="SIGNOUT_MANAGED_DOMAIN" />, τα δεδομένα Chromium θα διαγραφούν από τη συσκευή. Τα δεδομένα σας θα διατηρηθούν στον Λογαριασμό σας Google.</translation>
 <translation id="5224391634244552924">Δεν υπάρχουν αποθηκευμένοι κωδικοί πρόσβασης. Το Chromium μπορεί να ελέγξει τους κωδικούς πρόσβασής σας όταν τους αποθηκεύσετε.</translation>
 <translation id="5521125884468363740">Για να βλέπετε τις καρτέλες σας από όπου και αν χρησιμοποιείτε το Chromium, συνδεθείτε και ενεργοποιήστε τον συγχρονισμό.</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Μπορείτε πλέον να χρησιμοποιείτε το Chromium κάθε φορά που πατάτε συνδέσμους σε μηνύματα, έγγραφα και άλλες εφαρμογές.</translation>
 <translation id="7173114856073700355">Άνοιγμα ρυθμίσεων</translation>
 <translation id="7208566199746267865">Το Chromium σάς βοηθά να εξοικονομήσετε χρόνο, μεταφέροντας τους λογαριασμούς σας στον ιστό. Μπορείτε να προσθέσετε ή να καταργήσετε λογαριασμούς στις Ρυθμίσεις.</translation>
+<translation id="725427773388857052">Το Chromium μπορεί να σας προστατέψει από παραβιάσεις δεδομένων, μη ασφαλείς ιστοτόπους κ.α.</translation>
 <translation id="7269362888766543920">Ορισμένα πρόσθετα προκαλούν σφάλματα στο Chromium. Δοκιμάστε να τα απεγκαταστήσετε.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Για να κάνετε το Chromium το προεπιλεγμένο πρόγραμμα περιήγησής σας:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_en-GB.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_en-GB.xtb
index 5573dc3e..5eee8fdc 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_en-GB.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_en-GB.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">When this feature is turned on, Chromium will offer to translate pages written in other languages using Google Translate. <ph name="BEGIN_LINK" />Find out more<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Turn on Chromium scanner</translation>
 <translation id="4787850887676698916">Tabs that you've opened in Chromium on your other devices will appear here.</translation>
+<translation id="4828317641996116749">Chromium couldn't check all passwords. Try again later.</translation>
 <translation id="4999538639245140991">Because you're signing out of an account managed by <ph name="SIGNOUT_MANAGED_DOMAIN" />, your Chromium data will be deleted from this device. Your data will remain in your Google Account.</translation>
 <translation id="5224391634244552924">No saved passwords. Chromium can check your passwords when you save them.</translation>
 <translation id="5521125884468363740">To see your tabs from wherever you use Chromium, sign in and turn on sync</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">You can now use Chromium any time that you tap links in messages, documents and other apps.</translation>
 <translation id="7173114856073700355">Open Settings</translation>
 <translation id="7208566199746267865">Chromium saves you time by bringing your accounts to the web. You can add or remove accounts in Settings.</translation>
+<translation id="725427773388857052">Chromium can help keep you safe from data breaches, unsafe websites and more.</translation>
 <translation id="7269362888766543920">Some add-ons cause Chromium to crash. Please try uninstalling them.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">To make Chromium your default:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_et.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_et.xtb
index 4ea290a..fe55f83 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_et.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Kui see funktsioon on sisse lülitatud, pakub Chromium võimalust tõlkida teistes keeltes kirjutatud lehti Google'i tõlke abil. <ph name="BEGIN_LINK" />Lisateave<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Lülitage sisse Chromiumi skanner</translation>
 <translation id="4787850887676698916">Siin kuvatakse teie teistes seadmetes Chromiumis avatud vahelehed.</translation>
+<translation id="4828317641996116749">Chromiumil ei õnnestunud kõiki paroole kontrollida. Proovige hiljem uuesti.</translation>
 <translation id="4999538639245140991">Kuna logite välja kontolt, mida haldab <ph name="SIGNOUT_MANAGED_DOMAIN" />, kustutatakse selles seadmes teie Chromiumi andmed. Google'i kontole jäävad teie andmed alles.</translation>
 <translation id="5224391634244552924">Salvestatud paroole ei ole. Chromium saab teie paroole kontrollida, kui olete need salvestanud.</translation>
 <translation id="5521125884468363740">Selleks et näha vahelehti kõikjalt, kus Chromiumi kasutate, logige sisse ja lülitage sisse sünkroonimine</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Nüüd saate kasutada Chromiumi iga kord, kui puudutate linke sõnumites, dokumentides ja muudes rakendustes.</translation>
 <translation id="7173114856073700355">Ava seaded</translation>
 <translation id="7208566199746267865">Chromium säästab aega, tuues teie kontod veebi. Kontosid saate lisada või eemaldada menüüs Seaded.</translation>
+<translation id="725427773388857052">Chromium aitab teid kaitsta andmetega seotud rikkumiste, ebaturvaliste veebisaitide ja muu eest</translation>
 <translation id="7269362888766543920">Mõned pistikprogrammid põhjustavad Chromiumi kokkujooksmise. Proovige need desinstallida.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Chromiumi vaikebrauseriks määramiseks tehke järgmist.
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_hr.xtb
index 3aef773..619863fa 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_hr.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Kada je ta značajka uključena, Chromium će ponuditi prijevod stranica napisanih na drugim jezicima pomoću Google prevoditelja. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Uključite Chromiumov skener</translation>
 <translation id="4787850887676698916">Ovdje će se prikazati kartice koje ste otvorili u Chromiumu na svojim ostalim uređajima.</translation>
+<translation id="4828317641996116749">Chromium nije uspio provjeriti sve zaporke. Pokušajte ponovo kasnije.</translation>
 <translation id="4999538639245140991">Budući da se odjavljujete s računa kojim upravlja <ph name="SIGNOUT_MANAGED_DOMAIN" />, vaši podaci iz Chromiuma izbrisat će se s ovog uređaja, no ostat će na vašem Google računu.</translation>
 <translation id="5224391634244552924">Nema nijedne spremljene zaporke. Chromium može provjeriti vaše zaporke kad ih spremite.</translation>
 <translation id="5521125884468363740">Da biste vidjeli svoje kartice bez obzira na to gdje koristite Chromium, prijavite se i uključite sinkronizaciju</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Sad možete koristiti Chromium svaki put kad dodirnete veze u porukama, dokumentima i drugim aplikacijama.</translation>
 <translation id="7173114856073700355">Otvorite Postavke</translation>
 <translation id="7208566199746267865">Chromium vam štedi vrijeme sinkronizacijom vaših računa na webu. Račune možete dodavati i uklanjati u postavkama.</translation>
+<translation id="725427773388857052">Chromium vam može pomoći da se bolje zaštitite od povrede podataka, nesigurnih web-lokacija i još mnogo toga.</translation>
 <translation id="7269362888766543920">Neki programski dodaci uzrokuju rušenje Chromiuma. Pokušajte ih deinstalirati.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Da biste postavili Chromium kao zadani preglednik:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_is.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_is.xtb
index b48f775..65f16e3 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_is.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_is.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Þegar þessi eiginleiki er virkur mun Chromium bjóðast til að þýða vefsíður sem eru ritaðar á öðru tungumáli með Google Translate. <ph name="BEGIN_LINK" />Frekari upplýsingar<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Kveiktu á Chromium skanna</translation>
 <translation id="4787850887676698916">Flipar sem þú hefur opnað í Chromium í öðrum tækjum birtast hér.</translation>
+<translation id="4828317641996116749">Chromium gat ekki athugað öll aðgangsorð. Reyndu aftur síðar.</translation>
 <translation id="4999538639245140991">Vegna þess að þú ert að skrá þig út af reikningi sem stýrt er af <ph name="SIGNOUT_MANAGED_DOMAIN" /> verður Chromium gögnum þínum eytt úr þessu tæki. Gögnin verða áfram geymd á Google reikningnum þínum.</translation>
 <translation id="5224391634244552924">Engin vistuð aðgangsorð. Chromium getur athugað aðgangsorðin þín þegar þú vistar þau.</translation>
 <translation id="5521125884468363740">Skráðu þig inn og kveiktu á samstillingu til að sjá flipana þína hvar sem þú notar Chromium</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Núna getur þú notað Chromium hvenær sem þú ýtir á tengil í skilaboðum, skjölum og öðrum forritum.</translation>
 <translation id="7173114856073700355">Opna stillingar</translation>
 <translation id="7208566199746267865">Chromium sparar þér tíma með því að færa reikningana þína yfir á vefinn. Þú getur bætt við reikningum eða fjarlægt þá í stillingum.</translation>
+<translation id="725427773388857052">Chromium getur veitt þér vernd gegn öryggisbrotum, hættulegum vefsvæðum og fleira.</translation>
 <translation id="7269362888766543920">Einhverjar viðbætur valda því að Chromium hrynur. Prófaðu að fjarlægja þær.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Til að gera Chromium að sjálfgefnum vafra:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_lo.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_lo.xtb
index 3b92a24..73d38a2b 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_lo.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_lo.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">ເມື່ອຄຸນສົມບັດນີ້ເປີດຢູ່, Chromium ຈະສະເໜີແປໜ້າຕ່າງໆທີ່ຂຽນເປັນພາສາອື່ນ ໂດຍໃຊ້ Google ແປພາສາ. <ph name="BEGIN_LINK" />ສຶກສາເພີ່ມເຕີມ<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">ເປີດເຄື່ອງສະແກນ Chromium</translation>
 <translation id="4787850887676698916">ແຖບທີ່ທ່ານເຄີຍເປີດໃນ Chromium ຢູ່ໃນອຸປະກອນອື່ນຂອງທ່ານຈະປາກົດຢູ່ບ່ອນນີ້.</translation>
+<translation id="4828317641996116749">Chromium ບໍ່ສາມາດກວດລະຫັດຜ່ານທັງໝົດໄດ້. ລອງໃໝ່ໃນພາຍຫລັງ.</translation>
 <translation id="4999538639245140991">ເພາະວ່າທ່ານກຳລັງອອກຈາກລະບົບບັນຊີທີ່ຈັດການໂດຍ <ph name="SIGNOUT_MANAGED_DOMAIN" />, ຂໍ້ມູນ Chromium ຂອງທ່ານຈະຖືກລຶບອອກຈາກອຸປະກອນນີ້. ຂໍ້ມູນຂອງທ່ານຈະຍັງຄົງຢູ່ໃນບັນຊີ Google ຂອງທ່ານ.</translation>
 <translation id="5224391634244552924">ບໍ່ມີລະຫັດຜ່ານທີ່ບັນທຶກໄວ້. Chromium ສາມາດກວດເບິ່ງລະຫັດຜ່ານຂອງທ່ານເມື່ອທ່ານບັນທຶກພວກມັນໄວ້.</translation>
 <translation id="5521125884468363740">ເພື່ອເຫັນແຖບຂອງທ່ານຈາກທຸກບ່ອນທີ່ທ່ານໃຊ້ Chromium, ກະລຸນາເຂົ້າສູ່ລະບົບ ແລະ ເປີດການຊິ້ງຂໍ້ມູນ</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">ຕອນນີ້ທ່ານສາມາດໃຊ້ Chromium ໄດ້ທຸກເວລາທີ່ທ່ານແຕະລິ້ງໃນຂໍ້ຄວາມ, ເອກະສານ ແລະ ແອັບອື່ນໆ.</translation>
 <translation id="7173114856073700355">ເປີດການຕັ້ງຄ່າ</translation>
 <translation id="7208566199746267865">Chromium ຊ່ວຍທ່ານປະຢັດເວລາໂດຍການນຳເອົາບັນຊີຂອງທ່ານໄປສູ່ເວັບ. ທ່ານສາມາດເພີ່ມ ຫຼື ລຶບບັນຊີຕ່າງໆອອກໄດ້ໃນການຕັ້ງຄ່າ.</translation>
+<translation id="725427773388857052">Chromium ສາມາດຊ່ວຍຮັກສາທ່ານໃຫ້ປອດໄພຈາກການລະເມີດຂໍ້ມູນ, ເວັບໄຊທີ່ບໍ່ປອດໄພ ແລະ ອື່ນໆອີກ</translation>
 <translation id="7269362888766543920">ບາງສ່ວນເພີ່ມເຮັດໃຫ້ Chromium ຂັດຂ້ອງ. ກະລຸນາລອງຖອນການຕິດຕັ້ງພວກມັນ.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">ເພື່ອເຮັດໃຫ້ Chromium ເປັນໂປຣແກຣມເລີ່ມຕົ້ນຂອງທ່ານ:
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 6fcf6bc2..9efc119 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_pl.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Gdy ta funkcja jest włączona, Chromium oferuje tłumaczenie stron w innych językach przy użyciu Tłumacza Google. <ph name="BEGIN_LINK" />Więcej informacji<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Włącz skaner Chromium</translation>
 <translation id="4787850887676698916">Tutaj wyświetlą się karty otwarte w Chromium na innych urządzeniach.</translation>
+<translation id="4828317641996116749">Przeglądarce Chromium nie udało się sprawdzić wszystkich haseł. Spróbuj ponownie później.</translation>
 <translation id="4999538639245140991">Wylogowujesz się z konta, którym zarządza <ph name="SIGNOUT_MANAGED_DOMAIN" />. Spowoduje to usunięcie danych Chromium z tego urządzenia, ale pozostaną one na koncie Google.</translation>
 <translation id="5224391634244552924">Brak zapisanych haseł. Chromium może sprawdzać Twoje hasła, gdy je zapiszesz.</translation>
 <translation id="5521125884468363740">Aby widzieć swoje karty zawsze, kiedy korzystasz z Chromium, zaloguj się i włącz synchronizację</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Teraz możesz używać Chromium za każdym razem, gdy klikniesz link w wiadomościach, dokumentach i w innych aplikacjach.</translation>
 <translation id="7173114856073700355">Otwórz Ustawienia</translation>
 <translation id="7208566199746267865">Chromium oszczędza Twój czas, zapisując konta w internecie. Konta możesz dodawać i usuwać w Ustawieniach.</translation>
+<translation id="725427773388857052">Chromium pomaga chronić Cię przed naruszeniami bezpieczeństwa danych, niebezpiecznymi stronami internetowymi i innymi zagrożeniami.</translation>
 <translation id="7269362888766543920">Niektóre dodatki mogą powodować awarie Chromium. Spróbuj je odinstalować.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Aby ustawić Chromium jako przeglądarkę domyślną:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_pt-PT.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_pt-PT.xtb
index 4a5d494..2753c2e 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_pt-PT.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_pt-PT.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Se esta funcionalidade estiver ativada, o Chromium oferecer-se-á para traduzir páginas escritas noutros idiomas com o Google Tradutor. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Ative o leitor do Chromium</translation>
 <translation id="4787850887676698916">Os separadores que abriu no Chromium nos seus outros dispositivos são apresentados aqui.</translation>
+<translation id="4828317641996116749">O Chromium não conseguiu verificar todas as palavras-passe. Tente novamente mais tarde.</translation>
 <translation id="4999538639245140991">Uma vez que está a terminar sessão numa conta gerida por <ph name="SIGNOUT_MANAGED_DOMAIN" />, os seus dados do Chromium serão eliminados deste dispositivo. Contudo, permanecem na sua Conta Google.</translation>
 <translation id="5224391634244552924">Não existem palavras-passe guardadas. O Chromium consegue verificar as suas palavras-passe quando as guarda.</translation>
 <translation id="5521125884468363740">Para ver os seus separadores onde quer que esteja a utilizar o Chromium, inicie sessão e ative a sincronização.</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Agora, pode utilizar o Chromium sempre que tocar em links de mensagens, documentos e outras apps.</translation>
 <translation id="7173114856073700355">Abrir Definições</translation>
 <translation id="7208566199746267865">O Chromium poupa o seu tempo ao trazer as suas contas para a Web. Pode adicionar ou remover contas nas Definições.</translation>
+<translation id="725427773388857052">O Chromium pode ajudar a proteger contra violações de dados, Websites inseguros e muito mais.</translation>
 <translation id="7269362888766543920">Alguns suplementos provocam falhas no sistema do Chromium. Tente desinstalá-los.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Para definir o Chromium como o navegador predefinido:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_si.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_si.xtb
index 6c30446ea..c72d378 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_si.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_si.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">මෙම විශේෂාංගය ක්‍රියාත්මක කර ඇති විට, Chromium විසින් Google පරිවර්තනය භාවිත කර වෙනත් භාෂාවලින් ලියා ඇති පිටු පරිවර්තනය කිරීම පිරිනමනු ඇත. <ph name="BEGIN_LINK" />තව දැන ගන්න<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Chromium ස්කැනරය සක්‍රීය කරන්න</translation>
 <translation id="4787850887676698916">ඔබේ වෙනත් උපාංගවල ඔබ Chromium හි විවෘත කර ඇති ටැබ මෙහි දිස් වනු ඇත.</translation>
+<translation id="4828317641996116749">Chromium හට සියලු මුරපද පරීක්ෂා කළ නොහැකි විය. පසුව නැවත උත්සාහ කරන්න.</translation>
 <translation id="4999538639245140991">ඔබ <ph name="SIGNOUT_MANAGED_DOMAIN" /> විසින් කළමනාකරණය කරන ගිණුමකින් වරන නිසා, ඔබේ Chromium දත්ත මෙම උපාංගයෙන් මකනු ඇත. ඔබේ දත්ත ඔබේ Google ගිණුම තුළ පවතිනු ඇත.</translation>
 <translation id="5224391634244552924">සුරැකි මුරපද නැත. ඔබ ඔබේ මුරපද පරීක්‍ෂා කරන විට Chromium හට ඒවා පරීක්‍ෂා කළ හැක.</translation>
 <translation id="5521125884468363740">ඔබ Chromium භාවිත කරන ඕනෑම ස්ථානයක සිට ඔබේ ටැබ බැලීමට, පුරා සමමුහුර්ත කිරීම ක්‍රියාත්මක කරන්න</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">පණිවිඩ, ලේඛන සහ වෙනත් යෙදුම්වල සබැඳි තට්ටු කරන ඕනෑම වේලාවක ඔබට දැන් Chromium භාවිත කළ හැකිය</translation>
 <translation id="7173114856073700355">සැකසීම් විවෘත කරන්න</translation>
 <translation id="7208566199746267865">Chromium ඔබේ ගිණුම් වෙබය ගෙන ඒම මගින් ඔබට කාලය ඉතිරි කරයි. ඔබට සැකසීම් තුළ ගිණුම් එක් කිරීම හෝ ඉවත් කිරීම කළ හැකිය.</translation>
+<translation id="725427773388857052">Chromium දත්ත කඩ කිරීම්, අනාරක්ෂිත වෙබ් අඩවි, සහ තවත් ඒවාවලින් ඔබව ආරක්ෂිතව තබා ගැනීමට උදවු කළ හැකිය.</translation>
 <translation id="7269362888766543920">ඇතැම් ඈඳුම් Chromium බිඳ වැටීමට හේතු වේ. ඒවා අස්ථාපනය කිරීමට උත්සාහ කරන්න.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Chromium ඔබගේ පෙරනිමි බවට පත් කිරීමට:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_sr-Latn.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_sr-Latn.xtb
index bba8c9f..1e5c4e0 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_sr-Latn.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_sr-Latn.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Kada je ova funkcija uključena, Chromium će nuditi da prevodi stranice napisane na drugim jezicima pomoću Google prevodioca. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Uključite Chromium skener</translation>
 <translation id="4787850887676698916">Ovde će se prikazati kartice koje ste otvorili u Chromium-u na drugim uređajima.</translation>
+<translation id="4828317641996116749">Chromium nije uspeo da proveri sve lozinke. Probajte ponovo kasnije.</translation>
 <translation id="4999538639245140991">Odjavljujete se sa naloga kojim upravlja <ph name="SIGNOUT_MANAGED_DOMAIN" />, što će izbrisati Chromium podatke sa ovog uređaja. Podaci će ostati na Google nalogu.</translation>
 <translation id="5224391634244552924">Nema sačuvanih lozinki. Chromium može da proverava lozinke kada ih sačuvate.</translation>
 <translation id="5521125884468363740">Da biste videli kartice na bilo kojem uređaju na kom koristite Chromium, prijavite se i uključite sinhronizaciju</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Sada možete da koristite Chromium svaki put kada dodirnete linkove u porukama, dokumentima i drugim aplikacijama.</translation>
 <translation id="7173114856073700355">Otvori Podešavanja</translation>
 <translation id="7208566199746267865">Chromium vam štedi vreme tako što postavlja naloge na veb. Možete da dodajete ili uklanjate naloge u podešavanjima.</translation>
+<translation id="725427773388857052">Chromium može da vas štiti od upada u podatke, nebezbednih veb-sajtova i drugo.</translation>
 <translation id="7269362888766543920">Neki programski dodaci izazivaju otkazivanje Chromium-a. Probajte da ih deinstalirate.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Da biste postavili Chromium za podrazumevani pregledač:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_sr.xtb
index 9559a15..3afdf038 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_sr.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Када је ова функција укључена, Chromium ће нудити да преводи странице написане на другим језицима помоћу Google преводиоца. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Укључите Chromium скенер</translation>
 <translation id="4787850887676698916">Овде ће се приказати картице које сте отворили у Chromium-у на другим уређајима.</translation>
+<translation id="4828317641996116749">Chromium није успео да провери све лозинке. Пробајте поново касније.</translation>
 <translation id="4999538639245140991">Одјављујете се са налога којим управља <ph name="SIGNOUT_MANAGED_DOMAIN" />, што ће избрисати Chromium податке са овог уређаја. Подаци ће остати на Google налогу.</translation>
 <translation id="5224391634244552924">Нема сачуваних лозинки. Chromium може да проверава лозинке када их сачувате.</translation>
 <translation id="5521125884468363740">Да бисте видели картице на било којем уређају на ком користите Chromium, пријавите се и укључите синхронизацију</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Сада можете да користите Chromium сваки пут када додирнете линкове у порукама, документима и другим апликацијама.</translation>
 <translation id="7173114856073700355">Отвори Подешавања</translation>
 <translation id="7208566199746267865">Chromium вам штеди време тако што поставља налоге на веб. Можете да додајете или уклањате налоге у подешавањима.</translation>
+<translation id="725427773388857052">Chromium може да вас штити од упада у податке, небезбедних веб-сајтова и друго.</translation>
 <translation id="7269362888766543920">Неки програмски додаци изазивају отказивање Chromium-а. Пробајте да их деинсталирате.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Да бисте поставили Chromium за подразумевани прегледач:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_sw.xtb
index 95bf1aa..f769da5 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_sw.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_sw.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Kipengele hiki kikiwashwa, Chromium itatafsiri kurasa zilizoandikwa kwa lugha nyingine kwa kutumia Google Tafsiri. <ph name="BEGIN_LINK" />Pata maelezo zaidi<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Washa kichanganuzi cha Chromium</translation>
 <translation id="4787850887676698916">Vichupo ambayo umefungua katika Chromium kwenye vifaa vyako vingine vitaonekana hapa.</translation>
+<translation id="4828317641996116749">Chromium imeshindwa kukagua manenosiri yote. Jaribu tena baadaye.</translation>
 <translation id="4999538639245140991">Kwa sababu unaondoka kwenye akaunti inayodhibitiwa na <ph name="SIGNOUT_MANAGED_DOMAIN" />, data yako ya Chromium itafutwa kwenye kifaa hiki, lakini itasalia katika Akaunti yako ya Google.</translation>
 <translation id="5224391634244552924">Hakuna manenosiri yaliyohifadhiwa. Chromium inaweza kukagua manenosiri yako ukiyahifadhi.</translation>
 <translation id="5521125884468363740">Ili uone vichupo vyako kwenye kifaa chochote unakotumia Chromium, ingia katika akaunti na uwashe kipengele cha kusawazisha</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Sasa unaweza kutumia Chromium wakati wowote unapogusa viungo katika ujumbe, hati na programu zingine.</translation>
 <translation id="7173114856073700355">Fungua Mipangilio</translation>
 <translation id="7208566199746267865">Chromium inaokoa muda wako kwa kuleta akaunti zako kwenye wavuti. Unaweza kuongeza au kuondoa akaunti katika Mipangilio.</translation>
+<translation id="725427773388857052">Chromium inaweza kukusaidia ulinde akaunti yako dhidi ya ufichuzi haramu wa data, tovuti ambazo si salama na zaidi.</translation>
 <translation id="7269362888766543920">Baadhi ya programu jalizi husababisha Chromium iache kufanya kazi. Tafadhali jaribu kuziondoa.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Ili ufanye Chromium iwe kivinjari chako chaguomsingi:
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_th.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_th.xtb
index 897035f..ba00626 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_th.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">เมื่อเปิดฟีเจอร์นี้ Chromium จะเสนอให้แปลหน้าต่างๆ ที่เขียนด้วยภาษาอื่นโดยใช้ Google แปลภาษา <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">เปิดโปรแกรมสแกนของ Chromium</translation>
 <translation id="4787850887676698916">แท็บที่คุณเปิดไว้ใน Chromium ในอุปกรณ์เครื่องอื่นๆ จะปรากฏที่นี่</translation>
+<translation id="4828317641996116749">Chromium ตรวจสอบรหัสผ่านได้ไม่ครบทั้งหมด โปรดลองอีกครั้งภายหลัง</translation>
 <translation id="4999538639245140991">เนื่องจากคุณกำลังออกจากระบบบัญชีที่จัดการโดย <ph name="SIGNOUT_MANAGED_DOMAIN" /> ข้อมูล Chromium ของคุณจะถูกลบออกจากอุปกรณ์นี้ แต่ข้อมูลจะยังคงอยู่ในบัญชี Google</translation>
 <translation id="5224391634244552924">ไม่มีรหัสผ่านที่บันทึกไว้ Chromium จะตรวจสอบรหัสผ่านได้เมื่อคุณบันทึกรหัสผ่านไว้</translation>
 <translation id="5521125884468363740">ลงชื่อเข้าใช้และเปิดการซิงค์เพื่อดูแท็บที่เปิดไว้จากอุปกรณ์ที่คุณใช้ Chromium</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">ตอนนี้คุณจะใช้ Chromium ทุกครั้งที่แตะลิงก์ในข้อความ เอกสาร และแอปอื่นๆ</translation>
 <translation id="7173114856073700355">เปิดการตั้งค่า</translation>
 <translation id="7208566199746267865">Chromium ช่วยคุณประหยัดเวลาโดยนำบัญชีของคุณไปไว้บนเว็บ คุณสามารถเพิ่มหรือนำบัญชีออกได้ในการตั้งค่า</translation>
+<translation id="725427773388857052">Chromium ช่วยให้คุณปลอดภัยจากการละเมิดข้อมูล เว็บไซต์ที่ไม่ปลอดภัย และอื่นๆ ได้</translation>
 <translation id="7269362888766543920">ส่วนเสริมบางรายการทำให้ Chromium ขัดข้อง โปรดลองถอนการติดตั้งส่วนเสริมนั้น</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">หากต้องการกำหนดให้ Chromium เป็นเบราว์เซอร์เริ่มต้น ให้ทำดังนี้
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_uz.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_uz.xtb
index 7412816c..639d84c 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_uz.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_uz.xtb
@@ -27,6 +27,7 @@
 <translation id="4555020257205549924">Agar bu funksiya yoniq bo‘lsa, Chromium sahifalarni Google Tarjimon xizmati yordamida tarjima qilishni taklif qiladi. <ph name="BEGIN_LINK" />Batafsil...<ph name="END_LINK" /></translation>
 <translation id="4681781466797808448">Chromium skanerini ochish</translation>
 <translation id="4787850887676698916">Boshqa qurilmalaringizda ochilgan Chromium sahifalari shu yerda ko‘rsatiladi.</translation>
+<translation id="4828317641996116749">Chromium barcha parollarni tekshira olmadi. Keyinroq qayta urining.</translation>
 <translation id="4999538639245140991">Siz <ph name="SIGNOUT_MANAGED_DOMAIN" /> domenida boshqariladigan hisobdan chiqish arafasidasiz. Barcha Chromium maʼlumotlari ushbu qurilmadan tozalanadi, lekin Google hisobingizdagi axborotlar saqlanib qoladi.</translation>
 <translation id="5224391634244552924">Hech qanday parol saqlanmagan. Chromium faqat saqlangan parollaringizni tekshira oladi.</translation>
 <translation id="5521125884468363740">Boshqa qurilmalardagi Chromium varaqlarini koʻrish uchun hisobga kiring va sinxronizatsiyani yoqing</translation>
@@ -44,6 +45,7 @@
 <translation id="7118091470949186573">Siz endi Chrome brauzerini har doim xabarlar, hujjatlar va boshqa ilovalardagi havolalar ustiga bosib ishga tushirishingiz mumkin.</translation>
 <translation id="7173114856073700355">Sozlamalarni ochish</translation>
 <translation id="7208566199746267865">Chromium xizmatlariga kirishda har safar foydalanuvchi nomi va parol kiritishingiz shart emas. Chromium qurilmada saqlangan hisoblardan foydalanadi. Ularni sozlamalar orqali boshqarishingiz mumkin.</translation>
+<translation id="725427773388857052">Chromium maʼlumotlaringizni axborotlar sizib chiqishi va xavfsizlikka oid boshqa muammolardan himoyalaydi.</translation>
 <translation id="7269362888766543920">Ba’zi kengaytmalar Chromium brauzerini ishdan chiqaradi. Ularni o‘chirib tashlang.</translation>
 <translation id="7337881442233988129">Chromium</translation>
 <translation id="7349905826685622881">Chromium brauzerini asosiy deb belgilash uchun:
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_af.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_af.xtb
index 3351df5..7c411cf 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_af.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_af.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Chrome-wenk. Vir meer oortjieopsies, raak en hou die Wys Oortjies-knoppie op die nutsbalk aan die onderkant of bokant van jou skerm.</translation>
 <translation id="4523886039239821078">Sekere byvoegings het veroorsaak dat Chrome omval. Probeer om hulle te deïnstalleer:</translation>
 <translation id="4698415050768537821">Chrome kon nie alle wagwoorde nagaan nie. Probeer môre weer of <ph name="BEGIN_LINK" />gaan wagwoorde in jou Google-rekening na<ph name="END_LINK" />.</translation>
+<translation id="5030102366287574140">Chrome kan help om jou teen dataskendings, onveilige webwerwe, en meer te beskerm.</translation>
 <translation id="5389212809648216794">Google Chrome kan nie jou kamera gebruik nie omdat dit deur 'n ander program gebruik word</translation>
 <translation id="5639704535586432836">Maak Instellings &gt; Privaatheid &gt; Kamera &gt; Google Chrome oop en skakel die kamera aan.</translation>
 <translation id="5642200033778930880">Google Chrome kan nie jou kamera in deelaansigmodus gebruik nie</translation>
@@ -50,6 +51,7 @@
         1. Maak Instellings oop. 
         2. Tik op Verstekblaaierprogram.
         3. Kies Chrome.</translation>
+<translation id="6822673484890854830">Chrome kon nie alle wagwoorde nagaan nie. Probeer later weer.</translation>
 <translation id="7165736900384873061">Begin om Google Chrome se QR-skandeerder te gebruik</translation>
 <translation id="7172660552945675509">Wenk: <ph name="BEGIN_LINK" />Skuif Chrome na jou dok<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Maak Instellings oop</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_bs.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_bs.xtb
index a5654b8..aada7319 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_bs.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_bs.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Savjet za Chrome. Za više opcija za kartice dodirnite i zadržite dugme Prikaži kartice na alatnoj traci, na dnu ili na vrhu ekrana.</translation>
 <translation id="4523886039239821078">Zbog nekih dodataka Chrome može prestati da radi. Deinstalirajte:</translation>
 <translation id="4698415050768537821">Chrome nije mogao provjeriti sve lozinke. Pokušajte ponovo sutra ili <ph name="BEGIN_LINK" />provjerite lozinke na Google računu.<ph name="END_LINK" /></translation>
+<translation id="5030102366287574140">Chrome vam može pomoći da se bolje zaštitite od povrede podataka, nesigurnih web-lokacija i još mnogo toga.</translation>
 <translation id="5389212809648216794">Google Chrome ne može koristiti vašu kameru jer je koristi druga aplikacija</translation>
 <translation id="5639704535586432836">Otvorite Postavke &gt; Privatnost &gt; Kamera &gt; Google Chrome i uključite kameru.</translation>
 <translation id="5642200033778930880">Google Chrome ne može koristiti vašu kameru u podijeljenom načinu prikaza</translation>
@@ -50,6 +51,7 @@
         1. Otvorite Postavke. 
         2. Dodirnite Zadana aplikacija preglednika.
         3. Odaberite Chrome.</translation>
+<translation id="6822673484890854830">Chrome nije uspio provjeriti sve zaporke. Pokušajte ponovo kasnije.</translation>
 <translation id="7165736900384873061">Uključite QR skener u Google Chromeu</translation>
 <translation id="7172660552945675509">Savjet: <ph name="BEGIN_LINK" />Premjestite Chrome na priključnu stranicu<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Otvori postavke</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ca.xtb
index cde6bfb4..6e529d0b 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ca.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Consell de Chrome. Per accedir a més opcions de pestanyes, mantén premut el botó Mostra pestanyes a la barra d'eines, que és a la part inferior o superior de la pantalla.</translation>
 <translation id="4523886039239821078">Alguns complements fan que Chrome es bloquegi. Desinstal·leu-los.</translation>
 <translation id="4698415050768537821">Chrome no ha pogut comprovar totes les contrasenyes. Torna-ho a provar demà o <ph name="BEGIN_LINK" />comprova les contrasenyes desades al teu Compte de Google<ph name="END_LINK" />.</translation>
+<translation id="5030102366287574140">Chrome pot ajudar a protegir-te de violacions de les dades, de llocs web no segurs i més.</translation>
 <translation id="5389212809648216794">Google Chrome no pot utilitzar la càmera perquè l'està utilitzant una altra aplicació</translation>
 <translation id="5639704535586432836">Obre Configuració &gt; Privacitat &gt; Càmera &gt; Google Chrome i activa la càmera.</translation>
 <translation id="5642200033778930880">Google Chrome no pot utilitzar la càmera en mode de visualització dividida</translation>
@@ -50,6 +51,7 @@
         1. Obre Configuració. 
         2. Toca Aplicació de navegador predeterminada.
         3. Selecciona Chrome.</translation>
+<translation id="6822673484890854830">Chrome no ha pogut comprovar totes les contrasenyes. Torna-ho a provar més tard.</translation>
 <translation id="7165736900384873061">Comença a utilitzar l'escàner QR de Google Chrome</translation>
 <translation id="7172660552945675509">Consell: <ph name="BEGIN_LINK" />moveu Chrome al Dock<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Obre Configuració</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_da.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_da.xtb
index 9dfca01..5cfbbd6e 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_da.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Chrome-tip. Hvis du vil se flere faneindstillinger, skal du trykke på knappen Vis faner på værktøjslinjen og holde fingeren nede. Du finder knappen nederst eller øverst på skærmen.</translation>
 <translation id="4523886039239821078">Nogle tilføjelser får Chrome til at gå ned. Prøv at afinstallere:</translation>
 <translation id="4698415050768537821">Chrome kunne ikke tjekke alle adgangskoder. Prøv igen i morgen, eller <ph name="BEGIN_LINK" />tjek adgangskoder på din Google-konto<ph name="END_LINK" />.</translation>
+<translation id="5030102366287574140">Chrome kan hjælpe med at beskytte dig mod brud på datasikkerheden, usikre websites og meget mere.</translation>
 <translation id="5389212809648216794">Google Chrome kan ikke bruge dit kamera, da det bruges af en anden app</translation>
 <translation id="5639704535586432836">Åbn Indstillinger &gt; Privatliv &gt; Kamera &gt; Google Chrome, og slå kameraet til.</translation>
 <translation id="5642200033778930880">Google Chrome kan ikke bruge dit kamera i tilstanden Opdelt visning</translation>
@@ -50,6 +51,7 @@
         1. Åbn Indstillinger. 
         2. Tryk på Standardbrowserapp.
         3. Vælg Chrome.</translation>
+<translation id="6822673484890854830">Chrome kunne ikke tjekke alle adgangskoder. Prøv igen senere.</translation>
 <translation id="7165736900384873061">Begynd at bruge QR-scanneren fra Google Chrome.</translation>
 <translation id="7172660552945675509">Tip! <ph name="BEGIN_LINK" />Flyt Chrome til din dock<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Åbn Indstillinger</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_el.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_el.xtb
index 8812d96..9b51b22 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_el.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Συμβουλή για το Chrome. Για περισσότερες επιλογές καρτελών, αγγίξτε παρατεταμένα το κουμπί Εμφάνιση καρτελών στη γραμμή εργαλείων, η οποία βρίσκεται στο κάτω ή το επάνω τμήμα της οθόνης.</translation>
 <translation id="4523886039239821078">Ορισμένα πρόσθετα προκαλούν σφάλματα στο Chrome. Aπεγκαταστήστε τα.</translation>
 <translation id="4698415050768537821">Το Chrome δεν μπόρεσε να ελέγξει όλους τους κωδικούς πρόσβασης. Δοκιμάστε ξανά αύριο ή <ph name="BEGIN_LINK" />ελέγξτε τους κωδικούς πρόσβασης στον Λογαριασμό σας Google<ph name="END_LINK" />.</translation>
+<translation id="5030102366287574140">Το Chrome μπορεί να σας προστατέψει από παραβιάσεις δεδομένων, μη ασφαλείς ιστοτόπους κ.α.</translation>
 <translation id="5389212809648216794">Το Google Chrome δεν μπορεί να χρησιμοποιήσει την κάμερά σας επειδή χρησιμοποιείται από άλλη εφαρμογή.</translation>
 <translation id="5639704535586432836">Ανοίξτε το μενού Ρυθμίσεις &gt; Απόρρητο &gt; Κάμερα &gt; Google Chrome και ενεργοποιήστε την κάμερα.</translation>
 <translation id="5642200033778930880">Το Google Chrome δεν μπορεί να χρησιμοποιήσει την κάμερά σας στη λειτουργία προβολής διαχωρισμού οθόνης</translation>
@@ -50,6 +51,7 @@
         1. Ανοίξτε τις Ρυθμίσεις. 
         2. Πατήστε Προεπιλεγμένη εφαρμογή προγράμματος περιήγησης.
         3. Επιλέξτε Chrome.</translation>
+<translation id="6822673484890854830">Το Chrome δεν μπόρεσε να ελέγξει όλους τους κωδικούς πρόσβασης. Δοκιμάστε ξανά αργότερα.</translation>
 <translation id="7165736900384873061">Χρήση σαρωτή QR Google Chrome</translation>
 <translation id="7172660552945675509">Συμβουλή: <ph name="BEGIN_LINK" />Μετακινήστε το Chrome στο dock σας<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Άνοιγμα ρυθμίσεων</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_en-GB.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_en-GB.xtb
index aa0ea8a6..c512a2a 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_en-GB.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_en-GB.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Chrome tip. For more tab options, touch and hold the Show Tabs button in the toolbar, which is at the bottom or top of your screen.</translation>
 <translation id="4523886039239821078">Some add-ons cause Chrome to crash. Please uninstall:</translation>
 <translation id="4698415050768537821">Chrome couldn't check all passwords. Try again tomorrow or <ph name="BEGIN_LINK" />check passwords in your Google Account.<ph name="END_LINK" /></translation>
+<translation id="5030102366287574140">Chrome can help keep you safe from data breaches, unsafe websites and more.</translation>
 <translation id="5389212809648216794">Google Chrome can't use your camera because it's in use by another application</translation>
 <translation id="5639704535586432836">Open Settings &gt; Privacy &gt; Camera &gt; Google Chrome and turn on the camera.</translation>
 <translation id="5642200033778930880">Google Chrome can't use your camera in Split View mode</translation>
@@ -50,6 +51,7 @@
         1. Open Settings. 
         2. Tap Default Browser App.
         3. Select Chrome.</translation>
+<translation id="6822673484890854830">Chrome couldn't check all passwords. Try again later.</translation>
 <translation id="7165736900384873061">Start Using Google Chrome QR Scanner</translation>
 <translation id="7172660552945675509">Tip: <ph name="BEGIN_LINK" />Move Chrome to your dock<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Open Settings</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb
index ad4dcb6e..f1523c3 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Chrome'i nõuanne. Vahelehtede lisavalikute nägemiseks puudutage ja hoidke all ekraanikuva üla- või alaosas tööriistaribal olevat nuppu Kuva vahelehed.</translation>
 <translation id="4523886039239821078">Mõned pistikprogrammid põhjustavad Chrome'i kokkujooksmise. Desinstallige need:</translation>
 <translation id="4698415050768537821">Chrome'il ei õnnestunud kõiki paroole kontrollida. Proovige homme uuesti või <ph name="BEGIN_LINK" />kontrollige oma Google'i kontol paroole<ph name="END_LINK" />.</translation>
+<translation id="5030102366287574140">Chrome aitab teid kaitsta andmetega seotud rikkumiste, ebaturvaliste veebisaitide ja muu eest.</translation>
 <translation id="5389212809648216794">Google Chrome ei saa kaamerat kasutada, kuna seda kasutab muu rakendus</translation>
 <translation id="5639704535586432836">Tehke valikud Seaded &gt; Privaatsus &gt; Kaamera &gt; Google Chrome ja lülitage kaamera sisse.</translation>
 <translation id="5642200033778930880">Google Chrome ei saa kaamerat poolitatud vaate režiimis kasutada</translation>
@@ -50,6 +51,7 @@
         1. Avage menüü Seaded. 
         2. Puudutage valikut Vaikebrauserirakendus.
         3. Valige Chrome.</translation>
+<translation id="6822673484890854830">Chrome'il ei õnnestunud kõiki paroole kontrollida. Proovige hiljem uuesti.</translation>
 <translation id="7165736900384873061">Google Chrome'i QR-skanneri kasutamise alustamine</translation>
 <translation id="7172660552945675509">Nõuanne: <ph name="BEGIN_LINK" />lisage Chrome dokki<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Ava seaded</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hr.xtb
index 0db8dc8..0e4e278 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hr.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Savjet za Chrome. Za više opcija za kartice dodirnite i držite gumb Prikaži kartice na alatnoj traci pri dnu ili vrhu zaslona.</translation>
 <translation id="4523886039239821078">Neki programski dodaci uzrokuju rušenje preglednika Chrome. Deinstalirajte:</translation>
 <translation id="4698415050768537821">Chrome nije uspio provjeriti sve zaporke. Pokušajte ponovno sutra ili <ph name="BEGIN_LINK" />provjerite zaporke na svojem Google računu<ph name="END_LINK" />.</translation>
+<translation id="5030102366287574140">Chrome vam može pomoći da se bolje zaštitite od povrede podataka, nesigurnih web-lokacija i još mnogo toga.</translation>
 <translation id="5389212809648216794">Google Chrome ne može upotrebljavati vaš fotoaparat jer ga upotrebljava neka druga aplikacija</translation>
 <translation id="5639704535586432836">Otvorite Postavke &gt; Privatnost &gt; Fotoaparat &gt; Google Chrome i uključite fotoaparat.</translation>
 <translation id="5642200033778930880">Google Chrome ne može upotrebljavati vaš fotoaparat u načinu podijeljenog prikaza</translation>
@@ -50,6 +51,7 @@
         1. Otvorite Postavke. 
         2. Dodirnite opciju Zadana aplikacija preglednika.
         3. Odaberite Chrome.</translation>
+<translation id="6822673484890854830">Chrome nije uspio provjeriti sve zaporke. Pokušajte ponovo kasnije.</translation>
 <translation id="7165736900384873061">Upotrijebite QR skener Google Chromea</translation>
 <translation id="7172660552945675509">Savjet: <ph name="BEGIN_LINK" />premjestite Chrome na priključnu stanicu<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Otvorite Postavke</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_is.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_is.xtb
index 8b85f81..fefbc696 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_is.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_is.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Ábending um Chrome. Til að sjá fleiri valkosti fyrir flipa skaltu halda hnappinum „Sýna flipa“ inni á tækjastikunni, sem er neðst eða efst á skjánum.</translation>
 <translation id="4523886039239821078">Einhverjar viðbætur valda því að Chrome hrynur. Fjarlægðu þær.</translation>
 <translation id="4698415050768537821">Chrome gat ekki athugað öll aðgangsorð. Reyndu aftur á morgun eða <ph name="BEGIN_LINK" />athugaðu aðgangsorð á Google reikningnum þínum.<ph name="END_LINK" /></translation>
+<translation id="5030102366287574140">Chrome getur veitt þér vernd gegn öryggisbrotum, hættulegum vefsvæðum og fleira.</translation>
 <translation id="5389212809648216794">Google Chrome getur ekki notað myndavélina því að annað forrit er að nota hana</translation>
 <translation id="5639704535586432836">Opnaðu Stillingar &gt; Persónuvernd &gt; Myndavél &gt; Chrome og kveiktu á myndavélinni.</translation>
 <translation id="5642200033778930880">Google Chrome getur ekki notað myndavélina á tvískiptum skjá</translation>
@@ -50,6 +51,7 @@
         1. Farðu í „Stillingar“. 
         2. Ýttu á „Sjálfgefið vafraforrit“.
         3. Veldu Chrome.</translation>
+<translation id="6822673484890854830">Chrome gat ekki athugað öll aðgangsorð. Reyndu aftur síðar.</translation>
 <translation id="7165736900384873061">Byrjaðu að nota QR-skanna Google Chrome</translation>
 <translation id="7172660552945675509">Ábending: <ph name="BEGIN_LINK" />Færðu Chrome í forritastikuna<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Opna stillingar</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_lo.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_lo.xtb
index 8f224b8b9..77f8853b 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_lo.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_lo.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">ເຄັດລັບກ່ຽວກັບ Chrome. ສຳລັບຕົວເລືອກແຖບເພີ່ມເຕີມ, ກະລຸນາແຕະປຸ່ມສະແດງແຖບໃນແຖບເຄື່ອງມືຄ້າງໄວ້ ເຊິ່ງຢູ່ລຸ່ມສຸດ ຫຼື ເທິງສຸດຂອງໜ້າຈໍຂອງທ່ານ.</translation>
 <translation id="4523886039239821078">ການ​ເພີ່ມ​ໃສ່​ບາງ​ອັນ​ເຮັດ​ໃຫ້ Chrome ເກີດ​ຂັດ​ຂ້ອງ. ກະ​ລຸ​ນາ​ຖອນ​ຕິດ​ຕັ້ງ​.</translation>
 <translation id="4698415050768537821">Chrome ບໍ່ສາມາດກວດລະຫັດຜ່ານທັງໝົດໄດ້. ລອງໃໝ່ໃນມື້ອື່ນ ຫຼື <ph name="BEGIN_LINK" />ກວດລະຫັດຜ່ານໃນບັນຊີ Google ຂອງທ່ານ.<ph name="END_LINK" /></translation>
+<translation id="5030102366287574140">Chrome ສາມາດຊ່ວຍຮັກສາທ່ານໃຫ້ປອດໄພຈາກການລະເມີດຂໍ້ມູນ, ເວັບໄຊທີ່ບໍ່ປອດໄພ ແລະ ອື່ນໆອີກ.</translation>
 <translation id="5389212809648216794">Google Chrome ບໍ່ສາມາດໃຊ້ກ້ອງຖ່າຍຮູບຂອງທ່ານໄດ້ ເພາະວ່າກ້ອງຖືກໃຊ້ໂດຍແອັບພລິເຄຊັນອື່ນ</translation>
 <translation id="5639704535586432836">ເປີດການຕັ້ງຄ່າ &gt; ຄວາມເປັນສ່ວນຕົວ &gt; ກ້ອງຖ່າຍຮູບ &gt; Google Chrome ແລະ ເປີດກ້ອງຖ່າຍຮູບ.</translation>
 <translation id="5642200033778930880">Google Chrome ບໍ່ສາມາດໃຊ້ກ້ອງຖ່າຍຮູບຂອງທ່ານໃນໂໝດມຸມມອງແຍກກັນໄດ້</translation>
@@ -50,6 +51,7 @@
         1. ເປີດການຕັ້ງຄ່າ. 
         2. ແຕະແອັບໂປຣແກຣມທ່ອງເວັບເລີ່ມຕົ້ນ.
         3. ເລືອກ Chrome.</translation>
+<translation id="6822673484890854830">Chrome ບໍ່ສາມາດກວດລະຫັດຜ່ານທັງໝົດໄດ້. ລອງໃໝ່ໃນພາຍຫລັງ.</translation>
 <translation id="7165736900384873061">ເລີ່ມໃຊ້ເຄື່ອງສະແກນ QR ຂອງ Google Chrome</translation>
 <translation id="7172660552945675509">ເຄັດລັບ: <ph name="BEGIN_LINK" />ຍ້າຍ Chrome ໄປໃສ່ດັອກຂອງທ່ານ<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">ເປີດການຕັ້ງຄ່າ</translation>
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 faff22a..22d7d29b 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
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Wskazówka dla użytkowników Chrome. Aby zobaczyć więcej opcji kart, naciśnij i przytrzymaj przycisk Pokaż karty na pasku narzędzi, który znajduje się na dole lub na górze ekranu.</translation>
 <translation id="4523886039239821078">Niektóre dodatki mogą powodować awarie Chrome. Odinstaluj je.</translation>
 <translation id="4698415050768537821">Przeglądarce Chrome nie udało się sprawdzić wszystkich haseł. Spróbuj ponownie jutro lub <ph name="BEGIN_LINK" />sprawdź hasła na koncie Google<ph name="END_LINK" />.</translation>
+<translation id="5030102366287574140">Chrome pomaga chronić Cię przed naruszeniami bezpieczeństwa danych, niebezpiecznymi stronami internetowymi i innymi zagrożeniami.</translation>
 <translation id="5389212809648216794">Google Chrome nie może użyć aparatu, bo używa go już inna aplikacja</translation>
 <translation id="5639704535586432836">Wybierz Ustawienia &gt; Prywatność &gt; Aparat &gt; Google Chrome i włącz aparat.</translation>
 <translation id="5642200033778930880">Google Chrome nie może używać aparatu w trybie widoku dzielonego</translation>
@@ -50,6 +51,7 @@
         1. Wybierz Ustawienia. 
         2. Kliknij Domyślna przeglądarka.
         3. Wybierz Chrome.</translation>
+<translation id="6822673484890854830">Przeglądarce Chrome nie udało się sprawdzić wszystkich haseł. Spróbuj ponownie później.</translation>
 <translation id="7165736900384873061">Skaner QR w Google Chrome</translation>
 <translation id="7172660552945675509">Wskazówka: <ph name="BEGIN_LINK" />przenieś Chrome do Docka<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Otwórz Ustawienia</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-PT.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-PT.xtb
index 08b27b0..f514fea 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-PT.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-PT.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Sugestão para o Chrome: para obter mais opções de separadores, toque sem soltar no botão Mostrar separadores na barra de ferramentas, que se encontra na parte superior ou inferior do ecrã.</translation>
 <translation id="4523886039239821078">Alguns suplementos provocam falhas no sistema do Chrome. Desinstale:</translation>
 <translation id="4698415050768537821">O Chrome não conseguiu verificar todas as palavras-passe. Tente novamente amanhã ou <ph name="BEGIN_LINK" />verifique as palavras-passe na sua Conta Google<ph name="END_LINK" />.</translation>
+<translation id="5030102366287574140">O Chrome pode ajudar a proteger contra violações de dados, Websites inseguros e muito mais.</translation>
 <translation id="5389212809648216794">O Google Chrome não pode utilizar a câmara porque está a ser utilizada por outra aplicação</translation>
 <translation id="5639704535586432836">Abra Definições &gt; Privacidade &gt; Câmara &gt; Google Chrome e ative a câmara.</translation>
 <translation id="5642200033778930880">O Google Chrome não pode utilizar a câmara no modo Vista dividida</translation>
@@ -49,6 +50,7 @@
         1. Abra as Definições. 
         2. Toque em App de navegador predefinida.
         3. Selecione o Chrome.</translation>
+<translation id="6822673484890854830">O Chrome não conseguiu verificar todas as palavras-passe. Tente novamente mais tarde.</translation>
 <translation id="7165736900384873061">Começar a utilizar o leitor de QR do Google Chrome</translation>
 <translation id="7172660552945675509">Sugestão: <ph name="BEGIN_LINK" />mova o Chrome para a Dock<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Abrir Definições</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_si.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_si.xtb
index 0c6ce68..b3649d5 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_si.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_si.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Chrome ඉඟිය. තවත් පටිති විකල්ප සඳහා, ඔබගේ තිරයේ පහළ හෝ ඉහළ මෙවලම් තීරුවේ ඇති පටිති පෙන්වන්න බොත්තම ස්පර්ශ කරගෙන සිටින්න.</translation>
 <translation id="4523886039239821078">ඇතැම් ඈඳුම් Chrome බිඳ වැටීමට හේතු වේ. කරුණාකර අස්ථාපනය කරන්න.</translation>
 <translation id="4698415050768537821">Chrome හට සියලු මුරපද පරීක්ෂා කළ නොහැකි විය. හෙට නැවත උත්සාහ කරන්න, නැති නම් <ph name="BEGIN_LINK" />ඔබේ Google ගිණුම තුළ මුරපද පරීක්ෂා කරන්න<ph name="END_LINK" /></translation>
+<translation id="5030102366287574140">Chrome දත්ත කඩ කිරීම්, අනාරක්ෂිත වෙබ් අඩවි, සහ තවත් ඒවාවලින් ඔබව ආරක්ෂිතව තබා ගැනීමට උදවු කළ හැකිය.</translation>
 <translation id="5389212809648216794">Google Chrome හට ඔබේ කැමරාව තවත් යෙදුමක් මගින් භාවිත කරන නිසා භාවිතා කළ නොහැකිය</translation>
 <translation id="5639704535586432836">සැකසීම් &gt; රහස්‍යතාව &gt; කැමරාව &gt; Google Chrome විවෘත කර කැමරාව ක්‍රියාත්මක කරන්න.</translation>
 <translation id="5642200033778930880">Google Chrome හට බෙදුම් දසුන් ප්‍රකාරය තුළ ඔබගේ කැමරාව භාවිත කළ නොහැකිය</translation>
@@ -50,6 +51,7 @@
         1. සැකසීම් විවෘත කරන්න. 
         2. පෙරනිමි බ්‍රවුසර යෙදුම තට්ටු කරන්න.
         3. Chrome තෝරන්න.</translation>
+<translation id="6822673484890854830">Chrome හට සියලු මුරපද පරීක්ෂා කළ නොහැකි විය. පසුව නැවත උත්සාහ කරන්න.</translation>
 <translation id="7165736900384873061">Google Chrome QR ස්කෑනරය භාවිත කිරීම ආරම්භ කරන්න</translation>
 <translation id="7172660552945675509">ඉඟිය: <ph name="BEGIN_LINK" />ඔබගේ කූඩුවට Chrome ගෙන යන්න<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">සැකසීම් විවෘත කරන්න</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr-Latn.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr-Latn.xtb
index d725630..a073b07 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr-Latn.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr-Latn.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Savet za Chrome. Ako želite više opcija za kartice, dodirnite i zadržite dugme Prikaži kartice na traci s alatkama, koja se nalazi u dnu ili vrhu ekrana.</translation>
 <translation id="4523886039239821078">Neki programski dodaci izazivaju otkazivanje Chrome-a. Deinstalirajte:</translation>
 <translation id="4698415050768537821">Chrome nije uspeo da proveri sve lozinke. Probajte ponovo sutra ili <ph name="BEGIN_LINK" />proverite lozinke na Google nalogu.<ph name="END_LINK" /></translation>
+<translation id="5030102366287574140">Chrome može da vas štiti od upada u podatke, nebezbednih veb-sajtova i drugo.</translation>
 <translation id="5389212809648216794">Google Chrome ne može da koristi kameru zato što je već koristi druga aplikacija</translation>
 <translation id="5639704535586432836">Otvorite Podešavanja &gt; Privatnost &gt; Kamera &gt; Google Chrome i uključite kameru.</translation>
 <translation id="5642200033778930880">Google Chrome ne može da koristi kameru u režimu podeljenog prikaza</translation>
@@ -50,6 +51,7 @@
         1. Otvorite Podešavanja. 
         2. Dodirnite Podrazumevana aplikacija za pregledanje.
         3. Izaberite Chrome.</translation>
+<translation id="6822673484890854830">Chrome nije uspeo da proveri sve lozinke. Probajte ponovo kasnije.</translation>
 <translation id="7165736900384873061">Počnite da koristite Google Chrome QR skener</translation>
 <translation id="7172660552945675509">Savet: <ph name="BEGIN_LINK" />Premestite Chrome na dok<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Otvori Podešavanja</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr.xtb
index 2295cbb..9ffa26f 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sr.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Савет за Chrome. Ако желите више опција за картице, додирните и задржите дугме Прикажи картице на траци с алаткама, која се налази у дну или врху екрана.</translation>
 <translation id="4523886039239821078">Неки програмски додаци изазивају отказивање Chrome-а. Деинсталирајте:</translation>
 <translation id="4698415050768537821">Chrome није успео да провери све лозинке. Пробајте поново сутра или <ph name="BEGIN_LINK" />проверите лозинке на Google налогу.<ph name="END_LINK" /></translation>
+<translation id="5030102366287574140">Chrome може да вас штити од упада у податке, небезбедних веб-сајтова и друго.</translation>
 <translation id="5389212809648216794">Google Chrome не може да користи камеру зато што је већ користи друга апликација</translation>
 <translation id="5639704535586432836">Отворите Подешавања &gt; Приватност &gt; Камера &gt; Google Chrome и укључите камеру.</translation>
 <translation id="5642200033778930880">Google Chrome не може да користи камеру у режиму подељеног приказа</translation>
@@ -50,6 +51,7 @@
         1. Отворите Подешавања. 
         2. Додирните Подразумевана апликација за прегледање.
         3. Изаберите Chrome.</translation>
+<translation id="6822673484890854830">Chrome није успео да провери све лозинке. Пробајте поново касније.</translation>
 <translation id="7165736900384873061">Почните да користите Google Chrome QR скенер</translation>
 <translation id="7172660552945675509">Савет: <ph name="BEGIN_LINK" />Преместите Chrome на док<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Отвори Подешавања</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sw.xtb
index a7989c87..cba60bd 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_sw.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_sw.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Kidokezo cha Chrome. Ili upate chaguo zaidi za kichupo, bofya na ushikilie kitufe cha 'Onyesha Vichupo' katika upau wa vidhibiti unaopatikana sehemu ya chini au juu ya skrini yako.</translation>
 <translation id="4523886039239821078">Baadhi ya programu jalizi husababisha Chrome iache kufanya kazi. Tafadhali ondoa:</translation>
 <translation id="4698415050768537821">Chrome imeshindwa kukagua manenosiri yote. Jaribu tena kesho au <ph name="BEGIN_LINK" />ukague manenosiri katika Akaunti yako ya Google.<ph name="END_LINK" /></translation>
+<translation id="5030102366287574140">Chrome inaweza kukusaidia ulinde akaunti yako dhidi ya ufichuzi haramu wa data, tovuti ambazo si salama na zaidi.</translation>
 <translation id="5389212809648216794">Google Chrome imeshindwa kutumia kamera yako kwa sababu inatumiwa na programu nyingine</translation>
 <translation id="5639704535586432836">Fungua Mipangilio &gt; Faragha &gt; Kamera &gt; Google Chrome na uwashe kamera.</translation>
 <translation id="5642200033778930880">Google Chrome imeshindwa kutumia kamera yako katika hali ya Mwonekano wa Madirisha Mawili</translation>
@@ -50,6 +51,7 @@
         1. Fungua Mipangilio. 
         2. Gusa Programu ya Kivinjari Chaguomsingi.
         3. Chagua Chrome.</translation>
+<translation id="6822673484890854830">Chrome imeshindwa kukagua manenosiri yote. Jaribu tena baadaye.</translation>
 <translation id="7165736900384873061">Anza kutumia kichanganuzi cha QR cha Google Chrome</translation>
 <translation id="7172660552945675509">Kidokezo: <ph name="BEGIN_LINK" />Hamishia Chrome kwenye kituo chako<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Fungua Mipangilio</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_th.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_th.xtb
index 6b12e1e..c9a69fa9 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_th.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">เคล็ดลับสำหรับ Chrome ถ้าต้องการดูตัวเลือกแท็บเพิ่มเติม ให้แตะปุ่ม "แสดงแท็บ" ค้างไว้ในแถบเครื่องมือ ซึ่งอยู่ที่ด้านล่างหรือด้านบนของหน้าจอ</translation>
 <translation id="4523886039239821078">ส่วนเสริมบางรายการทำให้ Chrome ขัดข้อง โปรดถอนการติดตั้ง</translation>
 <translation id="4698415050768537821">Chrome ตรวจสอบรหัสผ่านได้ไม่ครบทั้งหมด โปรดลองอีกครั้งในวันพรุ่งนี้หรือ<ph name="BEGIN_LINK" />ตรวจสอบรหัสผ่านในบัญชี Google<ph name="END_LINK" /></translation>
+<translation id="5030102366287574140">Chrome ช่วยให้คุณปลอดภัยจากการละเมิดข้อมูล เว็บไซต์ที่ไม่ปลอดภัย และอื่นๆ ได้</translation>
 <translation id="5389212809648216794">Google Chrome ไม่สามารถใช้กล้องถ่ายรูปเนื่องจากแอปพลิเคชันอื่นใช้งานอยู่</translation>
 <translation id="5639704535586432836">เปิดการตั้งค่า &gt; ความเป็นส่วนตัว &gt; กล้อง &gt; Google Chrome เพื่อเปิดกล้องถ่ายรูป</translation>
 <translation id="5642200033778930880">Google Chrome ไม่สามารถใช้กล้องถ่ายรูปในโหมด Split View</translation>
@@ -50,6 +51,7 @@
         1. เปิดการตั้งค่า 
         2. แตะแอปเบราว์เซอร์เริ่มต้น
         3. เลือก Chrome</translation>
+<translation id="6822673484890854830">Chrome ตรวจสอบรหัสผ่านได้ไม่ครบทั้งหมด โปรดลองอีกครั้งภายหลัง</translation>
 <translation id="7165736900384873061">เริ่มใช้โปรแกรมสแกนโค้ด QR ของ Google Chrome</translation>
 <translation id="7172660552945675509">เคล็ดลับ: <ph name="BEGIN_LINK" />ย้าย Chrome ไปไว้ที่ Dock<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">เปิดการตั้งค่า</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_uz.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_uz.xtb
index dba728f..2563cf2 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_uz.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_uz.xtb
@@ -35,6 +35,7 @@
 <translation id="4249068189593983585">Chrome maslahati. Ko‘proq varaqlarni tanlash uchun ekranning quyi yoki yuqorisida joylashgan asboblar panelidan Varaqlarni ko‘rsatish tugmasi ustiga bosib turing.</translation>
 <translation id="4523886039239821078">Ba’zi kengaytmalar Chrome brauzerini ishdan chiqaradi. O‘chirilishi kerak bo‘lgan kengaytmalar:</translation>
 <translation id="4698415050768537821">Chrome barcha parollarni tekshira olmadi. Ertaga qaytadan urining yoki <ph name="BEGIN_LINK" />Google hisobingizdagi parollarni tekshiring.<ph name="END_LINK" /></translation>
+<translation id="5030102366287574140">Chrome maʼlumotlaringizni axborotlar sizib chiqishi va xavfsizlikka oid boshqa muammolardan himoyalaydi.</translation>
 <translation id="5389212809648216794">Google Chrome kamerangizdan foydalana olmaydi, chuki boshqa ilova allaqachon kamerani ishlatmoqda.</translation>
 <translation id="5639704535586432836">Kameradan foydalanishga ruxsat berish uchun “Sozlamalar &gt; Maxfiylik &gt; Kamera &gt; Google Chrome” bandini oching.</translation>
 <translation id="5642200033778930880">Google Chrome kamerangizdan Split View rejimida foydalana olmaydi.</translation>
@@ -50,6 +51,7 @@
         1. Sozlamalarni oching. 
         2. Asosiy brauzer ilovasi ustiga bosing.
         3. Chrome brauzerini tanlang.</translation>
+<translation id="6822673484890854830">Chrome ayrim parollarni tekshira olmadi. Keyinroq qayta urining.</translation>
 <translation id="7165736900384873061">Google Chrome QR-kod skaneridan foydalaning</translation>
 <translation id="7172660552945675509">Maslahat: <ph name="BEGIN_LINK" />Chrome brauzerini sevimli ilovalar paneliga qadab oling<ph name="END_LINK" /></translation>
 <translation id="7173114856073700355">Sozlamalarni ochish</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_af.xtb b/ios/chrome/app/strings/resources/ios_strings_af.xtb
index 6bf27ec..1e3545a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_af.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_af.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Nuwe venster</translation>
 <translation id="1580783302095112590">E-pos is gestuur.</translation>
 <translation id="1582732959743469162">Dit sal alle vordering van jou huidige aflaai staak.</translation>
+<translation id="1605405588277479165">Af – Nie aanbeveel nie</translation>
 <translation id="1605658421715042784">Kopieer prent</translation>
 <translation id="1608337082864370066">Soek vir gekopieerde prent</translation>
 <translation id="1612730193129642006">Wys oortjierooster</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Maak toe</translation>
 <translation id="6042308850641462728">Meer</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">Beheer jou stories en aktiwiteit hier</translation>
 <translation id="6066301408025741299">Tik om te kanselleer.</translation>
 <translation id="6108923351542677676">Opstelling is besig …</translation>
 <translation id="6119050551270742952">Huidige webbladsy is op incognito</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Blokkeer in Incognito</translation>
 <translation id="6628106477656132239">Ongeldige vervaldatum</translation>
 <translation id="6638511529934826365">Zoem teks …</translation>
+<translation id="6639730758971422557">Maak <ph name="BEGIN_LINK" />Sinkronisering en Google-dienste<ph name="END_LINK" /> oop en tik op Veiligblaai om Veiligblaai aan te skakel.</translation>
 <translation id="6642362222295953972">Skakel oor na bestaande oortjie</translation>
 <translation id="6643016212128521049">Vee uit</translation>
 <translation id="6645899968535965230">QR-kode: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Altyd</translation>
 <translation id="7600965453749440009">Moet nooit <ph name="LANGUAGE" /> vertaal nie</translation>
 <translation id="7603852183842204213">Opspringers geblokkeer (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Vee wagwoord uit</translation>
 <translation id="7638584964844754484">Verkeerde wagwoordfrase</translation>
 <translation id="7649070708921625228">Hulp</translation>
 <translation id="7658239707568436148">Kanselleer</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Nuut</translation>
 <translation id="8532105204136943229">Vervaljaar</translation>
 <translation id="8533166274275423134">Elders oopgemaak</translation>
+<translation id="8533670235862049797">Veiligblaai is aan</translation>
 <translation id="8534481786647257214">Google+-plasing is voltooi.</translation>
 <translation id="8548878600947630424">Vind in bladsy …</translation>
 <translation id="8574235780160508979">Chrome se diensbepalings verander op 31 Maart. <ph name="BEGIN_LINK" />Lees asseblief<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb
index 732801ea..ef161a055 100644
--- a/ios/chrome/app/strings/resources/ios_strings_am.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">ዝጋ</translation>
 <translation id="6042308850641462728">ተጨማሪ</translation>
 <translation id="605721222689873409">ዓዓ</translation>
+<translation id="6059830886158432458">የእርስዎን ታሪክ እና እንቅስቃሴ እዚህ ይቆጣጠሩ</translation>
 <translation id="6066301408025741299">ይቅር ለማለት መታ ያድርጉ።</translation>
 <translation id="6108923351542677676">ማዋቀር በሂደት ላይ…</translation>
 <translation id="6119050551270742952">የአሁኑ ድረ-ገጽ ማንነት በማያሳውቅ ላይ ነው</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
index e76cf1673..70860b5f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">إغلاق</translation>
 <translation id="6042308850641462728">عرض المزيد</translation>
 <translation id="605721222689873409">العام</translation>
+<translation id="6059830886158432458">يمكنك التحكُّم بقصصك ونشاطك هنا.</translation>
 <translation id="6066301408025741299">انقر للإلغاء.</translation>
 <translation id="6108923351542677676">الإعداد قيد التقدّم…</translation>
 <translation id="6119050551270742952">صفحة الويب الحالية في وضع التصفح المتخفي</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_as.xtb b/ios/chrome/app/strings/resources/ios_strings_as.xtb
index 028c3046..5b67851 100644
--- a/ios/chrome/app/strings/resources/ios_strings_as.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_as.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">বন্ধ কৰক</translation>
 <translation id="6042308850641462728">অধিক</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">আপোনাৰ কাহিনীসমূহ আৰু কাৰ্যকলাপ ইয়াত নিয়ন্ত্ৰণ কৰক</translation>
 <translation id="6066301408025741299">বাতিল কৰিবলৈ টিপক।</translation>
 <translation id="6108923351542677676">ছেট আপ প্ৰক্ৰিয়া চলি আছে…</translation>
 <translation id="6119050551270742952">বৰ্তমানৰ ৱেবপৃষ্ঠাটো ইনক’গনিট’ত আছে</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_az.xtb b/ios/chrome/app/strings/resources/ios_strings_az.xtb
index f50a124..5780d3f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_az.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_az.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Qapat</translation>
 <translation id="6042308850641462728">Daha çox</translation>
 <translation id="605721222689873409">İİ</translation>
+<translation id="6059830886158432458">Hekayələrinizi və fəaliyyətlərinizi burada idarə edin</translation>
 <translation id="6066301408025741299">Ləğv etmək üçün tıklayın.</translation>
 <translation id="6108923351542677676">Quraşdırma icra olunur...</translation>
 <translation id="6119050551270742952">Hazırkı veb səhifə anonim rejimdədir</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_be.xtb b/ios/chrome/app/strings/resources/ios_strings_be.xtb
index ce116eb..ac0b364 100644
--- a/ios/chrome/app/strings/resources/ios_strings_be.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_be.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Закрыць</translation>
 <translation id="6042308850641462728">Яшчэ</translation>
 <translation id="605721222689873409">ГГ</translation>
+<translation id="6059830886158432458">Кіруйце паказам артыкулаў і гісторыяй дзеянняў тут</translation>
 <translation id="6066301408025741299">Каб скасаваць, націсніце тут.</translation>
 <translation id="6108923351542677676">Ідзе наладка…</translation>
 <translation id="6119050551270742952">Вэб-старонка адкрыта ў рэжыме інкогніта</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
index 6dcc9a18e..734372d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bg.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Затваряне</translation>
 <translation id="6042308850641462728">Още</translation>
 <translation id="605721222689873409">ГГ</translation>
+<translation id="6059830886158432458">Управлявайте материалите и активността си тук</translation>
 <translation id="6066301408025741299">Докоснете, за да анулирате.</translation>
 <translation id="6108923351542677676">Извършва се настройване…</translation>
 <translation id="6119050551270742952">Страницата е в режим „инкогнито“</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
index 311b921..ba50ce1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -436,6 +436,7 @@
 <translation id="6040143037577758943">বন্ধ</translation>
 <translation id="6042308850641462728">আরও</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">আপনার খবর ও গতিবিধি এখানে নিয়ন্ত্রণ করুন</translation>
 <translation id="6066301408025741299">বাতিল করতে আলতো চাপুন৷</translation>
 <translation id="6108923351542677676">সেটআপ চলছে...</translation>
 <translation id="6119050551270742952">বর্তমান ওয়েবপেজটি ছদ্মবেশী মোডে আছে</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bs.xtb b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
index 8e52ca09..10d733d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Novi prozor</translation>
 <translation id="1580783302095112590">E-poruka je poslana.</translation>
 <translation id="1582732959743469162">Ovim će se zaustaviti sav tok trenutnog preuzimanja.</translation>
+<translation id="1605405588277479165">Isključeno – ne preporučuje se</translation>
 <translation id="1605658421715042784">Kopiraj sliku</translation>
 <translation id="1608337082864370066">Pretražite kopiranu sliku</translation>
 <translation id="1612730193129642006">Prikaži mrežu kartica</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Zatvori</translation>
 <translation id="6042308850641462728">Više</translation>
 <translation id="605721222689873409">GG</translation>
+<translation id="6059830886158432458">Upravljajte pričama i aktivnostima ovdje</translation>
 <translation id="6066301408025741299">Dodirnite da otkažete.</translation>
 <translation id="6108923351542677676">U toku je postavljanje…</translation>
 <translation id="6119050551270742952">Trenutna web stranica je u Anonimnom načinu</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Blokiraj u anonimnom načinu rada</translation>
 <translation id="6628106477656132239">Nevažeći datum isteka</translation>
 <translation id="6638511529934826365">Zumiraj tekst…</translation>
+<translation id="6639730758971422557">Da biste uključili značajku Sigurno pregledavanje, otvorite odjeljak <ph name="BEGIN_LINK" />Sinkronizacija i Googleove usluge<ph name="END_LINK" /> i dodirnite Sigurno pregledavanje.</translation>
 <translation id="6642362222295953972">Prelazak na postojeću karticu</translation>
 <translation id="6643016212128521049">Obriši</translation>
 <translation id="6645899968535965230">QR kôd: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Uvijek</translation>
 <translation id="7600965453749440009">Nikad ne prevodi <ph name="LANGUAGE" /> jezik</translation>
 <translation id="7603852183842204213">Skočni prozori su blokirani (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Izbriši zaporku</translation>
 <translation id="7638584964844754484">Netačan pristupni izraz</translation>
 <translation id="7649070708921625228">Pomoć</translation>
 <translation id="7658239707568436148">Otkaži</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Novo</translation>
 <translation id="8532105204136943229">Godina isteka</translation>
 <translation id="8533166274275423134">Otvoreno na drugom mjestu</translation>
+<translation id="8533670235862049797">Uključeno je Sigurno pregledavanje</translation>
 <translation id="8534481786647257214">Završena je Google+ objava.</translation>
 <translation id="8548878600947630424">Pronađi na stranici…</translation>
 <translation id="8574235780160508979">Chromeovi Uslovi korištenja usluge će se promijeniti 31. marta. <ph name="BEGIN_LINK" />Pročitajte<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
index 9ebf8f21..812d849 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Finestra nova</translation>
 <translation id="1580783302095112590">Correu enviat.</translation>
 <translation id="1582732959743469162">S'aturarà completament la baixada actual.</translation>
+<translation id="1605405588277479165">Desactivada (opció no recomanada)</translation>
 <translation id="1605658421715042784">Copia la imatge</translation>
 <translation id="1608337082864370066">Cerca la imatge copiada</translation>
 <translation id="1612730193129642006">Mostra la quadrícula de pestanyes</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Tanca</translation>
 <translation id="6042308850641462728">Més</translation>
 <translation id="605721222689873409">AA</translation>
+<translation id="6059830886158432458">Controla les teves històries i la teva activitat aquí</translation>
 <translation id="6066301408025741299">Toca per cancel·lar.</translation>
 <translation id="6108923351542677676">Configuració en curs...</translation>
 <translation id="6119050551270742952">La pàgina web actual està en mode d'incògnit</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Bloqueja en mode d'incògnit</translation>
 <translation id="6628106477656132239">La data de caducitat no és vàlida</translation>
 <translation id="6638511529934826365">Amplia el text…</translation>
+<translation id="6639730758971422557">Per activar la funció Navegació segura, obre <ph name="BEGIN_LINK" />Sincronització i serveis de Google<ph name="END_LINK" /> i toca Navegació segura.</translation>
 <translation id="6642362222295953972">Canvia a la pestanya existent</translation>
 <translation id="6643016212128521049">Esborra</translation>
 <translation id="6645899968535965230">Codi QR: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Sempre</translation>
 <translation id="7600965453749440009">No tradueixis mai de: <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Finestres emergents bloquejades (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Suprimeix la contrasenya</translation>
 <translation id="7638584964844754484">La frase de contrasenya és incorrecta</translation>
 <translation id="7649070708921625228">Ajuda</translation>
 <translation id="7658239707568436148">Cancel·la</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Novetat</translation>
 <translation id="8532105204136943229">Any de caducitat</translation>
 <translation id="8533166274275423134">S'ha obert en un altre lloc</translation>
+<translation id="8533670235862049797">La funció Navegació segura està activada</translation>
 <translation id="8534481786647257214">S'ha completat la publicació a Google+.</translation>
 <translation id="8548878600947630424">Cerca a la pàgina...</translation>
 <translation id="8574235780160508979">Les condicions del servei de Chrome canviaran el 31 de març. <ph name="BEGIN_LINK" />Revisa-les<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
index b812102..641180cc 100644
--- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Zavřít</translation>
 <translation id="6042308850641462728">Více</translation>
 <translation id="605721222689873409">RR</translation>
+<translation id="6059830886158432458">Zde můžete ovládat své příběhy a aktivity</translation>
 <translation id="6066301408025741299">Stahování zrušíte klepnutím.</translation>
 <translation id="6108923351542677676">Probíhá nastavování…</translation>
 <translation id="6119050551270742952">Webová stránka je v anonymním režimu</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb
index 6521a40..a88e1956 100644
--- a/ios/chrome/app/strings/resources/ios_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Nyt vindue</translation>
 <translation id="1580783302095112590">Email sendt.</translation>
 <translation id="1582732959743469162">Denne handling stopper den aktuelle download.</translation>
+<translation id="1605405588277479165">Fra – Anbefales ikke</translation>
 <translation id="1605658421715042784">Kopiér billede</translation>
 <translation id="1608337082864370066">Søg efter kopieret billede</translation>
 <translation id="1612730193129642006">Vis fanegitter</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Luk</translation>
 <translation id="6042308850641462728">Mere</translation>
 <translation id="605721222689873409">ÅÅ</translation>
+<translation id="6059830886158432458">Administrer dine historier og din aktivitet her</translation>
 <translation id="6066301408025741299">Tryk for at annullere.</translation>
 <translation id="6108923351542677676">Konfigurationen er i gang...</translation>
 <translation id="6119050551270742952">Den aktuelle webside er i inkognitotilstand</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Bloker i Inkognito</translation>
 <translation id="6628106477656132239">Udløbsdatoen er ugyldig</translation>
 <translation id="6638511529934826365">Zoom ind/ud på tekst…</translation>
+<translation id="6639730758971422557">Åbn <ph name="BEGIN_LINK" />Synkronisering og Google-tjenester<ph name="END_LINK" />, og tryk på Beskyttet browsing for at aktivere Beskyttet browsing.</translation>
 <translation id="6642362222295953972">Skift til den eksisterende fane</translation>
 <translation id="6643016212128521049">Ryd</translation>
 <translation id="6645899968535965230">QR-kode: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Altid</translation>
 <translation id="7600965453749440009">Oversæt aldrig <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Pop op-vinduer er blokeret (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Slet adgangskode</translation>
 <translation id="7638584964844754484">Forkert adgangssætning</translation>
 <translation id="7649070708921625228">Hjælp</translation>
 <translation id="7658239707568436148">Annuller</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Ny</translation>
 <translation id="8532105204136943229">Udløbsår</translation>
 <translation id="8533166274275423134">Blev åbnet et andet sted</translation>
+<translation id="8533670235862049797">Beskyttet browsing er aktiveret</translation>
 <translation id="8534481786647257214">Indlæg delt på Google+.</translation>
 <translation id="8548878600947630424">Find på siden...</translation>
 <translation id="8574235780160508979">Servicevilkårene for Chrome ændres den 31. marts <ph name="BEGIN_LINK" />Gennemgå dem<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb
index 55ebbedd..a02fef1f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Schließen</translation>
 <translation id="6042308850641462728">Mehr</translation>
 <translation id="605721222689873409">JJ</translation>
+<translation id="6059830886158432458">Hier können Sie festlegen, welche Meldungen und Aktivitäten Ihnen angezeigt werden</translation>
 <translation id="6066301408025741299">Zum Abbrechen tippen</translation>
 <translation id="6108923351542677676">Einrichtung läuft...</translation>
 <translation id="6119050551270742952">Die aktuelle Webseite ist im Inkognitomodus</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb
index fe81a04..9584d55 100644
--- a/ios/chrome/app/strings/resources/ios_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Νέο παράθυρο</translation>
 <translation id="1580783302095112590">Το μήνυμα εστάλη.</translation>
 <translation id="1582732959743469162">Αυτό θα σταματήσει όλη την πρόοδο για την τρέχουσα λήψη.</translation>
+<translation id="1605405588277479165">Ανενεργή - Δεν συνιστάται</translation>
 <translation id="1605658421715042784">Αντιγραφή εικόνας</translation>
 <translation id="1608337082864370066">Αναζήτηση για την αντιγραμμένη εικόνα</translation>
 <translation id="1612730193129642006">Εμφάνιση πλέγματος καρτελών</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Κλείσιμο</translation>
 <translation id="6042308850641462728">Περισσότερα</translation>
 <translation id="605721222689873409">ΕΕ</translation>
+<translation id="6059830886158432458">Ελέγξτε τις ειδήσεις και τη δραστηριότητά σας εδώ</translation>
 <translation id="6066301408025741299">Πατήστε για ακύρωση.</translation>
 <translation id="6108923351542677676">Ρύθμιση σε εξέλιξη…</translation>
 <translation id="6119050551270742952">Ιστοσελίδα σε ανώνυμη περιήγηση</translation>
@@ -496,6 +498,7 @@
 <translation id="6624219055418309072">Αποκλεισμός σε Ανώνυμη περιήγηση</translation>
 <translation id="6628106477656132239">Μη έγκυρη ημερομηνία λήξης</translation>
 <translation id="6638511529934826365">Εστίαση στο κείμενο…</translation>
+<translation id="6639730758971422557">Για να ενεργοποιήσετε την Ασφαλή περιήγηση, ανοίξτε τη σελίδα <ph name="BEGIN_LINK" />Συγχρονισμός και υπηρεσίες Google<ph name="END_LINK" /> και πατήστε Ασφαλής περιήγηση.</translation>
 <translation id="6642362222295953972">Εναλλαγή στην υπάρχουσα καρτέλα</translation>
 <translation id="6643016212128521049">Διαγραφή</translation>
 <translation id="6645899968535965230">Κωδικός QR: <ph name="PAGE_TITLE" /></translation>
@@ -580,6 +583,7 @@
 <translation id="7561196759112975576">Πάντα</translation>
 <translation id="7600965453749440009">Να μην γίνεται ποτέ μετάφραση από <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Αποκλεισμ. αναδ. (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Διαγραφή κωδικού πρόσβασης</translation>
 <translation id="7638584964844754484">Εσφαλμένη φράση πρόσβασης</translation>
 <translation id="7649070708921625228">Βοήθεια</translation>
 <translation id="7658239707568436148">Ακύρωση</translation>
@@ -658,6 +662,7 @@
 <translation id="8529767659511976195">Νέο</translation>
 <translation id="8532105204136943229">Έτος λήξης</translation>
 <translation id="8533166274275423134">Άνοιξε άλλου</translation>
+<translation id="8533670235862049797">Η Ασφαλής περιήγηση είναι ενεργή.</translation>
 <translation id="8534481786647257214">Η ανάρτηση Google+ ολοκληρώθηκε.</translation>
 <translation id="8548878600947630424">Εύρεση στη σελίδα...</translation>
 <translation id="8574235780160508979">Οι Όροι Παροχής Υπηρεσιών του Chrome θα αλλάξουν στις 31 Μαρτίου. <ph name="BEGIN_LINK" />Αναθεωρήστε το περιεχόμενο<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
index 4438554..b32c34092 100644
--- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">New window</translation>
 <translation id="1580783302095112590">Mail sent.</translation>
 <translation id="1582732959743469162">This will stop all progress for your current download.</translation>
+<translation id="1605405588277479165">Off – Not recommended</translation>
 <translation id="1605658421715042784">Copy image</translation>
 <translation id="1608337082864370066">Search for copied image</translation>
 <translation id="1612730193129642006">Show Tab Grid</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Close</translation>
 <translation id="6042308850641462728">More</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">Control your stories and activity here</translation>
 <translation id="6066301408025741299">Tap to cancel.</translation>
 <translation id="6108923351542677676">Setup in progress…</translation>
 <translation id="6119050551270742952">Current web page is on Incognito</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Block in Incognito</translation>
 <translation id="6628106477656132239">Invalid Expiry Date</translation>
 <translation id="6638511529934826365">Zoom text…</translation>
+<translation id="6639730758971422557">To turn on Safe Browsing, open <ph name="BEGIN_LINK" />Sync and Google Services<ph name="END_LINK" /> and tap Safe Browsing.</translation>
 <translation id="6642362222295953972">Switch to existing tab</translation>
 <translation id="6643016212128521049">Clear</translation>
 <translation id="6645899968535965230">QR code: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Always</translation>
 <translation id="7600965453749440009">Never translate <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Pop-ups blocked (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Delete password</translation>
 <translation id="7638584964844754484">Incorrect passphrase</translation>
 <translation id="7649070708921625228">Help</translation>
 <translation id="7658239707568436148">Cancel</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">New</translation>
 <translation id="8532105204136943229">Year of Expiry</translation>
 <translation id="8533166274275423134">Opened elsewhere</translation>
+<translation id="8533670235862049797">Safe Browsing is on</translation>
 <translation id="8534481786647257214">Google+ post completed.</translation>
 <translation id="8548878600947630424">Find in page...</translation>
 <translation id="8574235780160508979">Chrome’s Terms of Service are changing on 31 March. <ph name="BEGIN_LINK" />Please review<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
index 40b38490..fb8fb29 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Cerrar</translation>
 <translation id="6042308850641462728">Más</translation>
 <translation id="605721222689873409">AA</translation>
+<translation id="6059830886158432458">Controla tus noticias y actividad aquí</translation>
 <translation id="6066301408025741299">Toca para cancelar.</translation>
 <translation id="6108923351542677676">Configuración en curso…</translation>
 <translation id="6119050551270742952">Pág. incógnito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es.xtb b/ios/chrome/app/strings/resources/ios_strings_es.xtb
index 2f831830..465ef36 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Cerrar</translation>
 <translation id="6042308850641462728">Más</translation>
 <translation id="605721222689873409">AA</translation>
+<translation id="6059830886158432458">Controla tus noticias y tu actividad aquí</translation>
 <translation id="6066301408025741299">Toca para cancelar.</translation>
 <translation id="6108923351542677676">Configuración en curso…</translation>
 <translation id="6119050551270742952">Sitio actual en modo incógnito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb
index 2a95c159..ed895a7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Uus aken</translation>
 <translation id="1580783302095112590">Meil on saadetud.</translation>
 <translation id="1582732959743469162">See peatab praeguse allalaadimise edenemise.</translation>
+<translation id="1605405588277479165">Väljas – Ei soovitata</translation>
 <translation id="1605658421715042784">Kopeeri pilt</translation>
 <translation id="1608337082864370066">Otsi kopeeritud pilti</translation>
 <translation id="1612730193129642006">Kuva vahekaartide ruudustik</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Sulge</translation>
 <translation id="6042308850641462728">Rohkem</translation>
 <translation id="605721222689873409">aa</translation>
+<translation id="6059830886158432458">Hallake oma lugusid ja tegevusi siin</translation>
 <translation id="6066301408025741299">Tühistamiseks puudutage.</translation>
 <translation id="6108923351542677676">Seadistamine on pooleli ...</translation>
 <translation id="6119050551270742952">Praegune veebileht on inkognito režiimis</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Inkognito režiimis blokeeritud</translation>
 <translation id="6628106477656132239">Sobimatu aegumiskuupäev</translation>
 <translation id="6638511529934826365">Teksti suumimine …</translation>
+<translation id="6639730758971422557">Google'i ohutu sirvimise sisselülitamiseks avage jaotis <ph name="BEGIN_LINK" />Sünkroonimine ja Google'i teenused<ph name="END_LINK" /> ning puudutage valikut Google'i ohutu sirvimine.</translation>
 <translation id="6642362222295953972">Lülita olemasolevale vahelehele</translation>
 <translation id="6643016212128521049">Tühjenda</translation>
 <translation id="6645899968535965230">QR-kood: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Alati</translation>
 <translation id="7600965453749440009">Ära kunagi tõlgi: <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Blokeer. hüpikuid (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Kustuta parool</translation>
 <translation id="7638584964844754484">Vale parool</translation>
 <translation id="7649070708921625228">Abi</translation>
 <translation id="7658239707568436148">Tühista</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Uus</translation>
 <translation id="8532105204136943229">Aegumisaasta</translation>
 <translation id="8533166274275423134">Seade on mujal avatud</translation>
+<translation id="8533670235862049797">Google'i ohutu sirvimine on sees</translation>
 <translation id="8534481786647257214">Google+ postitus on valmis.</translation>
 <translation id="8548878600947630424">Otsi lehelt ...</translation>
 <translation id="8574235780160508979">Chrome'i teenusetingimused muutuvad 31. märtsil. <ph name="BEGIN_LINK" />Vaadake need üle<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_eu.xtb b/ios/chrome/app/strings/resources/ios_strings_eu.xtb
index 24afa2e..bb56059 100644
--- a/ios/chrome/app/strings/resources/ios_strings_eu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_eu.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Itxi</translation>
 <translation id="6042308850641462728">Gehiago</translation>
 <translation id="605721222689873409">UU</translation>
+<translation id="6059830886158432458">Kontrolatu istorioak eta jarduerak hemen</translation>
 <translation id="6066301408025741299">Sakatu bertan behera uzteko</translation>
 <translation id="6108923351542677676">Konfigurazioa abian da…</translation>
 <translation id="6119050551270742952">Web-orri hau ezkutuko moduan dago</translation>
@@ -442,6 +443,7 @@
 <translation id="6125339936101702016"><ph name="COMPANY" /> da gailuaren kudeatzailea. <ph name="BEGIN_LINK" />Lortu informazio gehiago<ph name="END_LINK" /></translation>
 <translation id="6127379762771434464">Kendu egin da elementua</translation>
 <translation id="6136914049981179737">Duela segundo gutxi</translation>
+<translation id="6144589619057374135">Ireki ${url} ezkutuko moduan</translation>
 <translation id="616831107264507309">Irakurri geroago</translation>
 <translation id="6177442314419606057">Bilatu Chrome-n</translation>
 <translation id="6184086493125982861">Erakutsi fitxak</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
index 0d0e5e1..7c90642 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">بستن</translation>
 <translation id="6042308850641462728">بیشتر</translation>
 <translation id="605721222689873409">سال</translation>
+<translation id="6059830886158432458">داستان‌ها و فعالیت خود را اینجا کنترل کنید</translation>
 <translation id="6066301408025741299">برای لغو ضربه بزنید.</translation>
 <translation id="6108923351542677676">تنظیم در حال انجام است...</translation>
 <translation id="6119050551270742952">صفحه وب کنونی در حالت ناشناس است</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
index 9af90eba..e687cbf 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Sulje</translation>
 <translation id="6042308850641462728">Lisää</translation>
 <translation id="605721222689873409">VV</translation>
+<translation id="6059830886158432458">Muuta tarinoiden ja toiminnan asetuksia täällä</translation>
 <translation id="6066301408025741299">Peruuta napauttamalla.</translation>
 <translation id="6108923351542677676">Synkronointia valmistellaan…</translation>
 <translation id="6119050551270742952">Nykyinen verkkosivu on incognito-tilassa</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
index 2487e3b..51411cd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Isara</translation>
 <translation id="6042308850641462728">Marami pang iba</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">Kontrolin ang iyong mga kuwento at aktibidad dito</translation>
 <translation id="6066301408025741299">Pindutin upang kanselahin.</translation>
 <translation id="6108923351542677676">Kasalukuyang sine-setup…</translation>
 <translation id="6119050551270742952">Nasa Incognito ang Kasalukuyang Webpage</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb b/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
index b45c300..8cac2c81 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Fermer</translation>
 <translation id="6042308850641462728">Plus</translation>
 <translation id="605721222689873409">AA</translation>
+<translation id="6059830886158432458">Gérez vos histoires et votre activité ici</translation>
 <translation id="6066301408025741299">Appuyez pour annuler.</translation>
 <translation id="6108923351542677676">Configuration en cours...</translation>
 <translation id="6119050551270742952">La page Web actuelle est ouverte en mode de navigation privée</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
index c044058..a4ae893 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Fermer</translation>
 <translation id="6042308850641462728">Plus</translation>
 <translation id="605721222689873409">AA</translation>
+<translation id="6059830886158432458">Contrôlez vos articles et votre activité via ce menu</translation>
 <translation id="6066301408025741299">Appuyez sur l'écran pour annuler.</translation>
 <translation id="6108923351542677676">Configuration en cours…</translation>
 <translation id="6119050551270742952">La page Web actuelle est en mode navigation privée</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gl.xtb b/ios/chrome/app/strings/resources/ios_strings_gl.xtb
index 0955621..98c2c28 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gl.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Pechar</translation>
 <translation id="6042308850641462728">Máis</translation>
 <translation id="605721222689873409">AA</translation>
+<translation id="6059830886158432458">Controla as túas historias e a túa actividade aquí</translation>
 <translation id="6066301408025741299">Toca para cancelar.</translation>
 <translation id="6108923351542677676">Configuración en curso…</translation>
 <translation id="6119050551270742952">O sitio web actual está no modo de incógnito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
index 2d69d92..c7b7ea8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">બંધ કરો</translation>
 <translation id="6042308850641462728">વધુ</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">તમારી સ્ટોરી અને પ્રવૃત્તિને અહીં નિયંત્રિત કરો</translation>
 <translation id="6066301408025741299">રદ કરવા માટે ટેપ કરો.</translation>
 <translation id="6108923351542677676">સેટઅપની પ્રક્રિયા ચાલુ છે...</translation>
 <translation id="6119050551270742952">વર્તમાન વેબપેજ છૂપા મોડમાં છે</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
index 234a3f0..075305d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">बंद करें</translation>
 <translation id="6042308850641462728">और ज़्यादा</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">अपनी खबरों और गतिविधि को यहां नियंत्रित करें</translation>
 <translation id="6066301408025741299">रद्द करने के लिए टैप करें.</translation>
 <translation id="6108923351542677676">सेटअप प्रगति में है…</translation>
 <translation id="6119050551270742952">मौजूदा वेबपेज गुप्त मोड में खोला गया है</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
index 9c241d2..b6e18f0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Novi prozor</translation>
 <translation id="1580783302095112590">Poruka je poslana.</translation>
 <translation id="1582732959743469162">Time će se zaustaviti trenutačno preuzimanje i izbrisati sve što je dosad preuzeto.</translation>
+<translation id="1605405588277479165">Isključeno – ne preporučuje se</translation>
 <translation id="1605658421715042784">Kopiraj sliku</translation>
 <translation id="1608337082864370066">Pretraživanje slike koju ste kopirali</translation>
 <translation id="1612730193129642006">Prikaz rešetke kartice</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Zatvori</translation>
 <translation id="6042308850641462728">Više</translation>
 <translation id="605721222689873409">GG</translation>
+<translation id="6059830886158432458">Svojim pričama i aktivnostima upravljajte ovdje</translation>
 <translation id="6066301408025741299">Dotaknite da biste otkazali.</translation>
 <translation id="6108923351542677676">Postavljanje je u tijeku…</translation>
 <translation id="6119050551270742952">Stranica u anonimnom načinu</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Blokiranje u anonimnom načinu</translation>
 <translation id="6628106477656132239">Datum isteka nije važeći</translation>
 <translation id="6638511529934826365">Zumiraj tekst…</translation>
+<translation id="6639730758971422557">Da biste uključili značajku Sigurno pregledavanje, otvorite odjeljak <ph name="BEGIN_LINK" />Sinkronizacija i Googleove usluge<ph name="END_LINK" /> i dodirnite Sigurno pregledavanje.</translation>
 <translation id="6642362222295953972">Prijeđite na postojeću karticu</translation>
 <translation id="6643016212128521049">Izbriši</translation>
 <translation id="6645899968535965230">QR kôd: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Uvijek</translation>
 <translation id="7600965453749440009">Nikad ne prevodi <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Blokirani skočni (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Izbriši zaporku</translation>
 <translation id="7638584964844754484">Pogrešna zaporka</translation>
 <translation id="7649070708921625228">Pomoć</translation>
 <translation id="7658239707568436148">Odustani</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Novo</translation>
 <translation id="8532105204136943229">Godina isteka</translation>
 <translation id="8533166274275423134">Otvoreno negdje drugdje</translation>
+<translation id="8533670235862049797">Uključeno je Sigurno pregledavanje</translation>
 <translation id="8534481786647257214">Dovršen je post za Google+.</translation>
 <translation id="8548878600947630424">Traženje na stranici...</translation>
 <translation id="8574235780160508979">Chromeovi Uvjeti pružanja usluge mijenjaju se 31. ožujka. <ph name="BEGIN_LINK" />Pregledajte<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
index 70e4fb5..3f915cd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Bezárás</translation>
 <translation id="6042308850641462728">Továbbiak</translation>
 <translation id="605721222689873409">ÉÉ</translation>
+<translation id="6059830886158432458">Itt kezelheti a híreket és a tevékenységeket</translation>
 <translation id="6066301408025741299">Érintse meg a visszavonáshoz</translation>
 <translation id="6108923351542677676">A telepítés folyamatban...</translation>
 <translation id="6119050551270742952">Ez a weboldal inkognitó módban van megnyitva</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hy.xtb b/ios/chrome/app/strings/resources/ios_strings_hy.xtb
index 186356b..c67528d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hy.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hy.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Փակել</translation>
 <translation id="6042308850641462728">Ավելին</translation>
 <translation id="605721222689873409">տարի</translation>
+<translation id="6059830886158432458">Կառավարեք ձեր պատմություններն ու գործողություններն այստեղ</translation>
 <translation id="6066301408025741299">Հպեք՝ չեղարկելու համար:</translation>
 <translation id="6108923351542677676">Կարգավորումն ընթացքի մեջ է…</translation>
 <translation id="6119050551270742952">Ընթացիկ կայքէջը ինկոգնիտո ռեժիմում է բացված</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb
index 62af021..318c34b2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Tutup</translation>
 <translation id="6042308850641462728">Lainnya</translation>
 <translation id="605721222689873409">TT</translation>
+<translation id="6059830886158432458">Kontrol artikel dan aktivitas Anda di sini</translation>
 <translation id="6066301408025741299">Ketuk untuk membatalkan.</translation>
 <translation id="6108923351542677676">Penyiapan sedang berlangsung...</translation>
 <translation id="6119050551270742952">Halaman Web saat ini sedang dalam Mode Samaran</translation>
@@ -565,7 +566,7 @@
 <translation id="7409985198648820906"><ph name="UNREAD_COUNT" /> artikel belum dibaca.</translation>
 <translation id="7425346204213733349">Perubahan pada bookmark, histori, sandi, dan setelan lainnya tidak akan disinkronkan lagi dengan Akun Google. Namun, data yang sudah ada akan tetap disimpan di Akun Google Anda.</translation>
 <translation id="7435356471928173109">Dinonaktifkan oleh administrator Anda</translation>
-<translation id="7454057999980797137">Prov./Wilayah</translation>
+<translation id="7454057999980797137">Prov./County</translation>
 <translation id="7456847797759667638">Buka Lokasi...</translation>
 <translation id="7460314822154045102">Gunakan Kamera</translation>
 <translation id="7464701184726199289">Tindakan ini akan menghapus data yang disinkronkan dari semua perangkat. Setelan situs yang disimpan tidak akan dihapus dan dapat mencerminkan kebiasaan penjelajahan Anda. <ph name="BEGIN_LINK" />Pelajari lebih lanjut<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_is.xtb b/ios/chrome/app/strings/resources/ios_strings_is.xtb
index 46f3d1b7..45c9b9b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_is.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_is.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Nýr gluggi</translation>
 <translation id="1580783302095112590">Póstur sendur.</translation>
 <translation id="1582732959743469162">Allt niðurhal sem er í gangi verður stöðvað.</translation>
+<translation id="1605405588277479165">Slökkt – Ekki mælt með</translation>
 <translation id="1605658421715042784">Afrita mynd</translation>
 <translation id="1608337082864370066">Leita að afritaðri mynd</translation>
 <translation id="1612730193129642006">Sýna flipanet</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Loka</translation>
 <translation id="6042308850641462728">Meira</translation>
 <translation id="605721222689873409">ÁÁ</translation>
+<translation id="6059830886158432458">Stjórnaðu sögunum þínum og virkni hér</translation>
 <translation id="6066301408025741299">Ýttu til að hætta við.</translation>
 <translation id="6108923351542677676">Uppsetning fer fram…</translation>
 <translation id="6119050551270742952">Opin vefsíða er í huliðsstillingu</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Útiloka í huliðsstillingu</translation>
 <translation id="6628106477656132239">Ógildur gildistími</translation>
 <translation id="6638511529934826365">Stækka/minnka texta…</translation>
+<translation id="6639730758971422557">Til að kveikja á öruggri vefnotkun skaltu opna <ph name="BEGIN_LINK" />Samstilling og þjónusta Google<ph name="END_LINK" /> og ýta á Örugg vefnotkun.</translation>
 <translation id="6642362222295953972">Skipta yfir í núverandi flipa</translation>
 <translation id="6643016212128521049">Hreinsa</translation>
 <translation id="6645899968535965230">QR-kóði: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Alltaf</translation>
 <translation id="7600965453749440009">Þýða aldrei <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Sprettigluggar útilokaðir (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Eyða aðgangsorði</translation>
 <translation id="7638584964844754484">Rangt aðgangsorð</translation>
 <translation id="7649070708921625228">Hjálp</translation>
 <translation id="7658239707568436148">Hætta við</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Nýtt</translation>
 <translation id="8532105204136943229">Gildir til ársins</translation>
 <translation id="8533166274275423134">Opnað annars staðar</translation>
+<translation id="8533670235862049797">Kveikt er á öruggri vefnotkun</translation>
 <translation id="8534481786647257214">Google+ færsla birt.</translation>
 <translation id="8548878600947630424">Finna á síðu...</translation>
 <translation id="8574235780160508979">Þjónustuskilmálar Chrome breytast 31. mars. <ph name="BEGIN_LINK" />Kynntu þér þá<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb
index ea395d8..96b982e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Chiudi</translation>
 <translation id="6042308850641462728">Altro</translation>
 <translation id="605721222689873409">AA</translation>
+<translation id="6059830886158432458">Controlla notizie e attività qui</translation>
 <translation id="6066301408025741299">Tocca per annullare.</translation>
 <translation id="6108923351542677676">Configurazione in corso…</translation>
 <translation id="6119050551270742952">Pagina web corrente in incognito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
index 5488ab9..a5c91d1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">סגור</translation>
 <translation id="6042308850641462728">עוד</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">כאן אפשר לנהל את הסטוריז והפעילות שלך</translation>
 <translation id="6066301408025741299">הקש כדי לבטל.</translation>
 <translation id="6108923351542677676">ההגדרה מתבצעת…</translation>
 <translation id="6119050551270742952">דף האינטרנט הנוכחי מוצג במצב גלישה בסתר</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
index 5aac6e2..7ca9c90 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ja.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">閉じる</translation>
 <translation id="6042308850641462728">もっと見る</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">ここで記事やアクティビティを管理します</translation>
 <translation id="6066301408025741299">タップしてキャンセルします。</translation>
 <translation id="6108923351542677676">設定しています...</translation>
 <translation id="6119050551270742952">現在シークレット モードです</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ka.xtb b/ios/chrome/app/strings/resources/ios_strings_ka.xtb
index 21d767ba..7e90a04 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ka.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ka.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">დახურვა</translation>
 <translation id="6042308850641462728">სხვა</translation>
 <translation id="605721222689873409">წწ</translation>
+<translation id="6059830886158432458">აქ შეგიძლიათ მართოთ ამბები და აქტივობა</translation>
 <translation id="6066301408025741299">შეეხეთ გასაუქმებლად.</translation>
 <translation id="6108923351542677676">მიმდინარეობს დაყენება…</translation>
 <translation id="6119050551270742952">ამჟამად გახსნილი ვებგვერდი ინკოგნიტო რეჟიმშია</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kk.xtb b/ios/chrome/app/strings/resources/ios_strings_kk.xtb
index 299dcd5..5cb1b152 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kk.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Жабу</translation>
 <translation id="6042308850641462728">Жаю</translation>
 <translation id="605721222689873409">ЖЖ</translation>
+<translation id="6059830886158432458">Жаңалықтар мен әрекеттерді осы жерде басқарыңыз.</translation>
 <translation id="6066301408025741299">Болдырмау үшін түртіңіз.</translation>
 <translation id="6108923351542677676">Орнатылуда…</translation>
 <translation id="6119050551270742952">Ағымдағы веб-бет инкогнито режимінде</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_km.xtb b/ios/chrome/app/strings/resources/ios_strings_km.xtb
index e49bf76..a192806 100644
--- a/ios/chrome/app/strings/resources/ios_strings_km.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_km.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">បិទ</translation>
 <translation id="6042308850641462728">ច្រើនទៀត</translation>
 <translation id="605721222689873409">ឆ្នាំ</translation>
+<translation id="6059830886158432458">គ្រប់គ្រង​អត្ថបទ និង​សកម្មភាព​របស់អ្នក​នៅទីនេះ</translation>
 <translation id="6066301408025741299">ប៉ះដើម្បីបោះបង់</translation>
 <translation id="6108923351542677676">ការដំឡើងកំពុងដំណើរការ…</translation>
 <translation id="6119050551270742952">ទំព័របណ្ដាញ​បច្ចុប្បន្ន​ស្ថិតនៅក្នុងមុខងារឯកជន</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
index 1cba292..b050990 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">ಮುಚ್ಚಿರಿ</translation>
 <translation id="6042308850641462728">ಇನ್ನಷ್ಟು</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">ನಿಮ್ಮ ಕತೆಗಳು ಮತ್ತು ಚಟುವಟಿಕೆಯನ್ನು ಇಲ್ಲಿ ನಿರ್ವಹಿಸಿ</translation>
 <translation id="6066301408025741299">ರದ್ದುಮಾಡಲು ಟ್ಯಾಪ್‌ ಮಾಡಿ</translation>
 <translation id="6108923351542677676">ಸೆಟಪ್ ಪ್ರಗತಿಯಲ್ಲಿದೆ...</translation>
 <translation id="6119050551270742952">ಪ್ರಸ್ತುತ ವೆಬ್ ಪುಟವು ಅಜ್ಞಾತ ಮೋಡ್‌ನಲ್ಲಿದೆ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ko.xtb b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
index b1650fa..da51a20 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ko.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">닫기</translation>
 <translation id="6042308850641462728">자세히</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">여기에서 스토리 및 활동을 관리하세요.</translation>
 <translation id="6066301408025741299">취소하려면 탭하세요.</translation>
 <translation id="6108923351542677676">설정 진행 중...</translation>
 <translation id="6119050551270742952">현재 시크릿 모드에서 웹페이지 사용 중</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ky.xtb b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
index 7aaca250..1b50107b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ky.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Жабуу</translation>
 <translation id="6042308850641462728">Дагы</translation>
 <translation id="605721222689873409">ЖЖ</translation>
+<translation id="6059830886158432458">Окуяларыңызды жана аракеттериңизди бул жерден көзөмөлдөңүз</translation>
 <translation id="6066301408025741299">Жокко чыгаруу үчүн таптаңыз.</translation>
 <translation id="6108923351542677676">Орнотулуп жатат…</translation>
 <translation id="6119050551270742952">Учурдагы веб-баракча Жашыруун режимде</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lo.xtb b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
index 78783555..b4a31e1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lo.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">ໜ້າຈໍໃໝ່</translation>
 <translation id="1580783302095112590">ສົ່ງ​ເມວ​ແລ້ວ.</translation>
 <translation id="1582732959743469162">ນີ້ຈະຢຸດທຸກຄວາມຄືບໜ້າສຳລັບການດາວໂຫຼດປັດຈຸບັນຂອງທ່ານ.</translation>
+<translation id="1605405588277479165">ປິດ, ບໍ່ແນະນຳ</translation>
 <translation id="1605658421715042784">ສຳເນົາຮູບ</translation>
 <translation id="1608337082864370066">ຊອກຫາຮູບພາບທີ່ສຳເນົາໄວ້</translation>
 <translation id="1612730193129642006">ສະແດງຕາໜ່າງແຖບ</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">ປິດ</translation>
 <translation id="6042308850641462728">ເພີ່ມເຕີມ</translation>
 <translation id="605721222689873409">ປ​ປ</translation>
+<translation id="6059830886158432458">ຄວບຄຸມເລື່ອງລາວ ແລະ ການເຄື່ອນໄຫວຢູ່ບ່ອນນີ້</translation>
 <translation id="6066301408025741299">ແຕະ​ເພື່ອ​ຍົກ​ເລີກ.</translation>
 <translation id="6108923351542677676">ກຳລັງດຳເນີນການຕັ້ງຄ່າ...</translation>
 <translation id="6119050551270742952">ໜ້າເວັບປັດຈຸບັນຢູ່ໃນໂໝດບໍ່ເປີດເຜີຍຕົວຕົນ</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">ບລັອກໃນໂໝດບໍ່ເປີດເຜີຍຕົວຕົນ</translation>
 <translation id="6628106477656132239">ວັນທີໝົດອາຍຸບໍ່ຖືກຕ້ອງ</translation>
 <translation id="6638511529934826365">ຊູມຂໍ້ຄວາມ…</translation>
+<translation id="6639730758971422557">ເພື່ອເປີດ Safe Browsing, ກະລຸນາເປີດ <ph name="BEGIN_LINK" />ຊິ້ງຂໍ້ມູນ ແລະ ການບໍລິການ Google<ph name="END_LINK" /> ແລະ ແຕະ Safe Browsing.</translation>
 <translation id="6642362222295953972">ປ່ຽນເປັນແຖບທີ່ມີຢູ່</translation>
 <translation id="6643016212128521049">ລຶບ</translation>
 <translation id="6645899968535965230">ລະຫັດ QR: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">ຢູ່ສະເໝີ</translation>
 <translation id="7600965453749440009">ຢ່າແປ <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">ປັອບ​ອັບ​ຖືກບ​ລັອກ (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">ລຶບລະຫັດຜ່ານ</translation>
 <translation id="7638584964844754484">ລະຫັດຜ່ານບໍ່ຖືກຕ້ອງ</translation>
 <translation id="7649070708921625228">ຊ່ວຍ​ເຫຼືອ</translation>
 <translation id="7658239707568436148">ຍົກ​ເລີກ​</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">ໃໝ່</translation>
 <translation id="8532105204136943229">ປີ​ຫມົດ​ອາ​ຍຸ​</translation>
 <translation id="8533166274275423134">ເປີດຢູ່ບ່ອນອື່ນແລ້ວ</translation>
+<translation id="8533670235862049797">Safe Browsing ເປີດຢູ່</translation>
 <translation id="8534481786647257214">ການ​ໂພ​ສ​ທ໌ Google+ ສຳ​ເລັດ.</translation>
 <translation id="8548878600947630424">ຊອກ​ຫາ​ຢູ່​ໃນ​ຫນ້າ​...</translation>
 <translation id="8574235780160508979">ຂໍ້ກຳນົດການບໍລິການຂອງ Chrome ຈະປ່ຽນແປງໃນວັນທີ 31 ເດືອນມີນາ. <ph name="BEGIN_LINK" />ກະລຸນາກວດເບິ່ງ<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
index f863e8b..7a7e0b8e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lt.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Uždaryti</translation>
 <translation id="6042308850641462728">Daugiau</translation>
 <translation id="605721222689873409">MM</translation>
+<translation id="6059830886158432458">Čia galite valdyti savo pasakojimus ir veiklą</translation>
 <translation id="6066301408025741299">Palieskite, jei norite atšaukti.</translation>
 <translation id="6108923351542677676">Nustatoma…</translation>
 <translation id="6119050551270742952">Dabartinė svetainė atidaryta inkognito režimu</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
index c284ef5..36382eb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Aizvērt</translation>
 <translation id="6042308850641462728">Vairāk</translation>
 <translation id="605721222689873409">GG</translation>
+<translation id="6059830886158432458">Šeit varat kontrolēt jums rādītos rakstus un darbības.</translation>
 <translation id="6066301408025741299">Pieskarieties, lai atceltu.</translation>
 <translation id="6108923351542677676">Notiek iestatīšana...</translation>
 <translation id="6119050551270742952">Šajā lapā esat inkognito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mk.xtb b/ios/chrome/app/strings/resources/ios_strings_mk.xtb
index 2160fd7..c76b156 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mk.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Затвори</translation>
 <translation id="6042308850641462728">Повеќе</translation>
 <translation id="605721222689873409">ГГ</translation>
+<translation id="6059830886158432458">Контролирајте ги сториите и активноста тука</translation>
 <translation id="6066301408025741299">Допри за откажување.</translation>
 <translation id="6108923351542677676">Поставувањето е во тек…</translation>
 <translation id="6119050551270742952">Веб-страницата е во режим инкогнито</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
index 740dea2a..27a18036 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">അടയ്ക്കുക</translation>
 <translation id="6042308850641462728">കൂടുതൽ</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">നിങ്ങളുടെ സ്‌റ്റോറികളും ആക്റ്റിവിറ്റികളും ഇവിടെ നിയന്ത്രിക്കുക</translation>
 <translation id="6066301408025741299">റദ്ദാക്കുന്നതിന് ടാപ്പ് ചെയ്യുക.</translation>
 <translation id="6108923351542677676">സജ്ജീകരണം പുരോഗതിയിലാണ്...</translation>
 <translation id="6119050551270742952">നിലവിലെ വെബ്‌പേജ് അദൃശ്യ മോഡിലാണ്</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mn.xtb b/ios/chrome/app/strings/resources/ios_strings_mn.xtb
index e9dc1c5..cb0035d8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mn.xtb
@@ -434,6 +434,7 @@
 <translation id="6040143037577758943">Хаах</translation>
 <translation id="6042308850641462728">Илүү их</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">Мэдээ, нийтлэл болон үйл ажиллагаагаа энд хянана уу</translation>
 <translation id="6066301408025741299">Устгахаар дарна уу</translation>
 <translation id="6108923351542677676">Тохиргоо хийгдэж байна...</translation>
 <translation id="6119050551270742952">Одоогийн веб хуудас нууцлалтай байна</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
index 68a7e9e..9f7185c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
@@ -436,6 +436,7 @@
 <translation id="6040143037577758943">बंद करा</translation>
 <translation id="6042308850641462728">अधिक</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">तुमच्या स्टोरी आणि अ‍ॅक्टिव्हिटी येथे नियंत्रित करा</translation>
 <translation id="6066301408025741299">रद्द करण्यासाठी टॅप करा.</translation>
 <translation id="6108923351542677676">सेटअप प्रगती पथावर आहे...</translation>
 <translation id="6119050551270742952">सध्याचे वेबपेज गुप्त मोडमध्ये सुरू आहे</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
index eb8c8f5f..d689105 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Tutup</translation>
 <translation id="6042308850641462728">Lagi</translation>
 <translation id="605721222689873409">TT</translation>
+<translation id="6059830886158432458">Kawal cerita dan aktiviti anda di sini</translation>
 <translation id="6066301408025741299">Ketik untuk membatalkan.</translation>
 <translation id="6108923351542677676">Persediaan sedang berjalan...</translation>
 <translation id="6119050551270742952">Halaman web semasa dalam mod Inkognito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_my.xtb b/ios/chrome/app/strings/resources/ios_strings_my.xtb
index 82692b163..f85fa2c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_my.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_my.xtb
@@ -434,6 +434,7 @@
 <translation id="6040143037577758943">ပိတ်ရန်</translation>
 <translation id="6042308850641462728">နောက်ထပ်</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">သင့်သတင်းများနှင့် လုပ်ဆောင်ချက်ကို ဤနေရာတွင် ထိန်းချုပ်နိုင်သည်</translation>
 <translation id="6066301408025741299">မလုပ်တော့ပါ ထိပါ</translation>
 <translation id="6108923351542677676">စဖွင့် သတ်မှတ်မှု လုပ်ကိုင်…</translation>
 <translation id="6119050551270742952">လက်ရှိဝဘ်စာမျက်နှာကို ရုပ်ဖျက်မုဒ်တွင် ဖွင့်ထားသည်</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ne.xtb b/ios/chrome/app/strings/resources/ios_strings_ne.xtb
index a636e0d..5d45a11e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ne.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ne.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">बन्द गर्नुहोस्</translation>
 <translation id="6042308850641462728">थप</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">यहाँ आफ्नो समाचार फिडमा देखिने सामग्री तथा क्रियाकलाप नियन्त्रण गर्नुहोस्</translation>
 <translation id="6066301408025741299">रद्द गर्न ट्याप गर्नुहोस्।</translation>
 <translation id="6108923351542677676">सेटअप प्रगतिमा छ...</translation>
 <translation id="6119050551270742952">हालको वेबपृष्ठ इन्कोग्निटो मोडमा छ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
index c226832..a631980d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Sluiten</translation>
 <translation id="6042308850641462728">Meer</translation>
 <translation id="605721222689873409">JJ</translation>
+<translation id="6059830886158432458">Beheer hier je artikelen en activiteiten</translation>
 <translation id="6066301408025741299">Tik om te annuleren.</translation>
 <translation id="6108923351542677676">Instellen wordt uitgevoerd...</translation>
 <translation id="6119050551270742952">De huidige webpagina is in de incognitomodus</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_no.xtb b/ios/chrome/app/strings/resources/ios_strings_no.xtb
index 20a27ba..a352f9b7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_no.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_no.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Lukk</translation>
 <translation id="6042308850641462728">Mer</translation>
 <translation id="605721222689873409">ÅÅ</translation>
+<translation id="6059830886158432458">Styr nyhetssakene dine og aktiviteten din her</translation>
 <translation id="6066301408025741299">Trykk for å avbryte.</translation>
 <translation id="6108923351542677676">Konfigurasjon pågår …</translation>
 <translation id="6119050551270742952">Den gjeldende nettsiden er på inkognito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_or.xtb b/ios/chrome/app/strings/resources/ios_strings_or.xtb
index 09790e81..5f4bfc5 100644
--- a/ios/chrome/app/strings/resources/ios_strings_or.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_or.xtb
@@ -433,6 +433,7 @@
 <translation id="6040143037577758943">ବନ୍ଦ</translation>
 <translation id="6042308850641462728">ଅଧିକ</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">ଏଠାରେ ଆପଣଙ୍କ ଷ୍ଟୋରୀ ଏବଂ କାର୍ଯ୍ୟକଳାପ ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ</translation>
 <translation id="6066301408025741299">ବାତିଲ୍ କରିବା ପାଇଁ ଟାପ୍ କରନ୍ତୁ।</translation>
 <translation id="6108923351542677676">ସେଟ୍ ଅପ୍ ପ୍ରକ୍ରିୟା ଚାଲିଛି…</translation>
 <translation id="6119050551270742952">ବର୍ତ୍ତମାନର ୱେବ୍‍ପୃଷ୍ଠା ଇନ୍‍କଗ୍ନିଟୋରେ ଅଛି</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pa.xtb b/ios/chrome/app/strings/resources/ios_strings_pa.xtb
index 5a359a1..5f055fb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pa.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">ਬੰਦ ਕਰੋ</translation>
 <translation id="6042308850641462728">ਹੋਰ</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">ਆਪਣੀਆਂ ਕਹਾਣੀਆਂ ਅਤੇ ਸਰਗਰਮੀ ਨੂੰ ਇੱਥੇ ਕੰਟਰੋਲ ਕਰੋ</translation>
 <translation id="6066301408025741299">ਰੱਦ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।</translation>
 <translation id="6108923351542677676">ਸੈਟਅਪ ਚਾਲੂ ਹੈ...</translation>
 <translation id="6119050551270742952">ਵਰਤਮਾਨ ਵੈੱਬਪੰਨਾ ਇਨਕੋਗਨਿਟੋ 'ਤੇ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
index d2bd0ab..2733ffe 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Nowe okno</translation>
 <translation id="1580783302095112590">E-mail wysłany.</translation>
 <translation id="1582732959743469162">Spowoduje to zatrzymanie bieżącego pobierania.</translation>
+<translation id="1605405588277479165">Wyłączono – niezalecane</translation>
 <translation id="1605658421715042784">Kopiuj obraz</translation>
 <translation id="1608337082864370066">Wyszukaj skopiowany obraz</translation>
 <translation id="1612730193129642006">Pokaż układ kart</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Zamknij</translation>
 <translation id="6042308850641462728">Więcej</translation>
 <translation id="605721222689873409">RR</translation>
+<translation id="6059830886158432458">Tutaj możesz zarządzać wyświetlanymi wiadomościami i aktywnością</translation>
 <translation id="6066301408025741299">Kliknij, by anulować.</translation>
 <translation id="6108923351542677676">Trwa konfigurowanie…</translation>
 <translation id="6119050551270742952">Bieżąca strona jest w trybie incognito</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Blokuj w trybie incognito</translation>
 <translation id="6628106477656132239">Nieprawidłowa data ważności</translation>
 <translation id="6638511529934826365">Powiększ tekst…</translation>
+<translation id="6639730758971422557">Aby włączyć Bezpieczne przeglądanie, otwórz <ph name="BEGIN_LINK" />Synchronizacja i usługi Google<ph name="END_LINK" /> i kliknij Bezpieczne przeglądanie.</translation>
 <translation id="6642362222295953972">Przełącz na istniejącą kartę</translation>
 <translation id="6643016212128521049">Wyczyść</translation>
 <translation id="6645899968535965230">Kod QR: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Zawsze</translation>
 <translation id="7600965453749440009">Nigdy nie tłumacz z języka: <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Zablokowano pop-upy (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Usuń hasło</translation>
 <translation id="7638584964844754484">Nieprawidłowe hasło</translation>
 <translation id="7649070708921625228">Pomoc</translation>
 <translation id="7658239707568436148">Anuluj</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Nowość</translation>
 <translation id="8532105204136943229">Rok utraty ważności</translation>
 <translation id="8533166274275423134">Otwarto w innym oknie</translation>
+<translation id="8533670235862049797">Bezpieczne przeglądanie jest włączone</translation>
 <translation id="8534481786647257214">Post w Google+ opublikowany.</translation>
 <translation id="8548878600947630424">Znajdź na stronie...</translation>
 <translation id="8574235780160508979">31 marca zmienią się Warunki korzystania z Chrome. <ph name="BEGIN_LINK" />Zapoznaj się z nimi<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
index 75b2b5b..a71917a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Fechar</translation>
 <translation id="6042308850641462728">Mais</translation>
 <translation id="605721222689873409">AA</translation>
+<translation id="6059830886158432458">Controle suas matérias e atividade aqui</translation>
 <translation id="6066301408025741299">Toque para cancelar.</translation>
 <translation id="6108923351542677676">Configuração em andamento...</translation>
 <translation id="6119050551270742952">Esta pág. está no modo anônimo</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
index b342844..4b55ade 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Nova janela</translation>
 <translation id="1580783302095112590">Correio enviado.</translation>
 <translation id="1582732959743469162">Esta ação vai interromper totalmente o progresso da transferência atual.</translation>
+<translation id="1605405588277479165">Desativada – Não recomendado</translation>
 <translation id="1605658421715042784">Copiar imagem</translation>
 <translation id="1608337082864370066">Pesquisar imagem copiada</translation>
 <translation id="1612730193129642006">Mostrar grelha de separadores</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Fechar</translation>
 <translation id="6042308850641462728">Mais</translation>
 <translation id="605721222689873409">AA</translation>
+<translation id="6059830886158432458">Controle as suas notícias e atividade aqui.</translation>
 <translation id="6066301408025741299">Toque para cancelar.</translation>
 <translation id="6108923351542677676">Configuração em curso…</translation>
 <translation id="6119050551270742952">Página Web atual – Nav. anónima</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Bloquear na Navegação anónima</translation>
 <translation id="6628106477656132239">Data de validade inválida</translation>
 <translation id="6638511529934826365">Aplicar zoom no texto…</translation>
+<translation id="6639730758971422557">Para ativar a Navegação segura, abra <ph name="BEGIN_LINK" />Sincronização e Serviços Google<ph name="END_LINK" /> e toque em Navegação segura.</translation>
 <translation id="6642362222295953972">Mudar para um separador existente</translation>
 <translation id="6643016212128521049">Limpar</translation>
 <translation id="6645899968535965230">Código QR: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Sempre</translation>
 <translation id="7600965453749440009">Nunca traduzir do <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Pop-ups bloqueados (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Eliminar palavra-passe</translation>
 <translation id="7638584964844754484">Frase de acesso incorreta</translation>
 <translation id="7649070708921625228">Ajuda</translation>
 <translation id="7658239707568436148">Cancelar</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Novo</translation>
 <translation id="8532105204136943229">Ano de validade</translation>
 <translation id="8533166274275423134">Aberta noutro local</translation>
+<translation id="8533670235862049797">A Navegação segura está ativada.</translation>
 <translation id="8534481786647257214">Publicação no Google+ concluído.</translation>
 <translation id="8548878600947630424">Localizar na página...</translation>
 <translation id="8574235780160508979">Os Termos de Utilização do Chrome vão ser alterados a 31 de março. <ph name="BEGIN_LINK" />Reveja-os<ph name="END_LINK" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
index d1d59f42..8d73b16 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Închide</translation>
 <translation id="6042308850641462728">Mai multe</translation>
 <translation id="605721222689873409">AA</translation>
+<translation id="6059830886158432458">Gestionează subiectele și activitatea aici</translation>
 <translation id="6066301408025741299">Atinge pentru a anula.</translation>
 <translation id="6108923351542677676">Configurare în curs...</translation>
 <translation id="6119050551270742952">Pagina web actuală este în modul Incognito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
index 33c153ae..da4c165 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ru.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Закрыть</translation>
 <translation id="6042308850641462728">Ещё</translation>
 <translation id="605721222689873409">ГГ</translation>
+<translation id="6059830886158432458">Управление рекомендациями</translation>
 <translation id="6066301408025741299">Нажмите, чтобы отменить загрузку</translation>
 <translation id="6108923351542677676">Настройка…</translation>
 <translation id="6119050551270742952">Открыто в режиме инкогнито</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_si.xtb b/ios/chrome/app/strings/resources/ios_strings_si.xtb
index f009ea6..b78b847 100644
--- a/ios/chrome/app/strings/resources/ios_strings_si.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_si.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">නව කවුළුව</translation>
 <translation id="1580783302095112590">තැපෑල යවන ලදි.</translation>
 <translation id="1582732959743469162">මෙය ඔබගේ වර්තමාන බාගනීම්වල සියලුම ප්‍රගතිය නවතාලයි.</translation>
+<translation id="1605405588277479165">ක්‍රියාවිරහිත - නිර්දේශ නොකෙරේ</translation>
 <translation id="1605658421715042784">රූපය පිටපත් කරන්න</translation>
 <translation id="1608337082864370066">ඔබ පිටපත් කළ රූපය සොයන්න</translation>
 <translation id="1612730193129642006">පටිති ජාලකය පෙන්වන්න</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">වසන්න</translation>
 <translation id="6042308850641462728">වැඩිදුර</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">මෙහි ඔබේ කතා සහ ක්‍රියාකාරකම් පාලන කරන්න</translation>
 <translation id="6066301408025741299">අවලංගු කිරීමට තට්ටු කරන්න.</translation>
 <translation id="6108923351542677676">පිහිටුවීම දැනට සිදුවෙමින් පවතී...</translation>
 <translation id="6119050551270742952">වත්මන් වෙබ් පිටු අප්‍රසිද්ධ මත තිබේ</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">අප්‍රසිද්ධව අවහිර කරන්න</translation>
 <translation id="6628106477656132239">අවලංගු කල් ඉකුත් වීමේ දිනය</translation>
 <translation id="6638511529934826365">පාඨය විශාලන කරන්න…</translation>
+<translation id="6639730758971422557">සුරක්ෂිත බ්‍රවුස් කිරීම ක්‍රියාත්මක කිරීමට, <ph name="BEGIN_LINK" />සමමුහුර්තය සහ Google සේවා<ph name="END_LINK" /> විවෘත කර සුරක්ෂිත බ්‍රවුස් කිරීම තට්ටු කරන්න.</translation>
 <translation id="6642362222295953972">පවතින පටිත්තට මාරු වන්න</translation>
 <translation id="6643016212128521049">මකන්න</translation>
 <translation id="6645899968535965230">QR කේතය: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">සැමවිටම</translation>
 <translation id="7600965453749440009"><ph name="LANGUAGE" /> කිසිදා පරිවර්තනය නොකරන්න</translation>
 <translation id="7603852183842204213">උත්පතන අවහිරයි ( <ph name="NUMBER_OF_BLOCKED_POPUPS" /> )</translation>
+<translation id="7607521702806708809">මුරපදය මකන්න</translation>
 <translation id="7638584964844754484">රහස්පදය වැරදියි</translation>
 <translation id="7649070708921625228">උදවු</translation>
 <translation id="7658239707568436148">අවලංගු කරන්න</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">නව</translation>
 <translation id="8532105204136943229">කල් ඉකුත් වන වසර</translation>
 <translation id="8533166274275423134">වෙනත් තැනක විවෘතයි</translation>
+<translation id="8533670235862049797">සුරක්ෂිත බ්‍රවුස් කිරීම ක්‍රියාත්මකයි</translation>
 <translation id="8534481786647257214">Google+ පළ කිරීම සම්පූර්ණයි.</translation>
 <translation id="8548878600947630424">පිටුව තුළ සොයන්න...</translation>
 <translation id="8574235780160508979">මාර්තු 31 වෙනිදා Chrome හි සේවා නියම වෙනස් වේ. <ph name="BEGIN_LINK" />සමාලෝචනය කරන්න<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
index f5bb44ca..ef19e9cc 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Zavrieť</translation>
 <translation id="6042308850641462728">Viac</translation>
 <translation id="605721222689873409">RR</translation>
+<translation id="6059830886158432458">Tu ovládajte svoje príbehy aj aktivitu</translation>
 <translation id="6066301408025741299">Sťahovanie zrušíte klepnutím.</translation>
 <translation id="6108923351542677676">Inštaluje sa...</translation>
 <translation id="6119050551270742952">Aktuálna webová stránka je v anonymnom režime</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sl.xtb b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
index 735f8ef..2c51658 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Zapri</translation>
 <translation id="6042308850641462728">Več</translation>
 <translation id="605721222689873409">LL</translation>
+<translation id="6059830886158432458">Nadzirajte članke in dejavnost tukaj</translation>
 <translation id="6066301408025741299">Dotaknite se, da prekinete.</translation>
 <translation id="6108923351542677676">Poteka nastavitev …</translation>
 <translation id="6119050551270742952">Trenutna spletna stran je v načinu brez beleženja dejavnosti</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sq.xtb b/ios/chrome/app/strings/resources/ios_strings_sq.xtb
index a9bb4cb9..af0869d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sq.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sq.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Mbyll</translation>
 <translation id="6042308850641462728">Më shumë</translation>
 <translation id="605721222689873409">VV</translation>
+<translation id="6059830886158432458">Kontrollo historitë dhe aktivitetin tënd këtu</translation>
 <translation id="6066301408025741299">Prek lehtë për të anuluar.</translation>
 <translation id="6108923351542677676">Konfigurimi në vazhdim...</translation>
 <translation id="6119050551270742952">Faqja aktuale e uebit është në modalitetin "e fshehtë"</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb b/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
index b459052..8eb9ec36 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Novi prozor</translation>
 <translation id="1580783302095112590">Imejl je poslata.</translation>
 <translation id="1582732959743469162">Na taj način ćete potpuno zaustaviti trenutno preuzimanje.</translation>
+<translation id="1605405588277479165">Isključeno – Ne preporučuje se</translation>
 <translation id="1605658421715042784">Kopiraj sliku</translation>
 <translation id="1608337082864370066">Potražite sliku koju ste kopirali</translation>
 <translation id="1612730193129642006">Show Tab Grid (Prikaži koordinatnu mrežu kartice)</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Zatvori</translation>
 <translation id="6042308850641462728">Još</translation>
 <translation id="605721222689873409">GG</translation>
+<translation id="6059830886158432458">Ovde kontrolišite priče i aktivnosti</translation>
 <translation id="6066301408025741299">Dodirnite da biste otkazali.</translation>
 <translation id="6108923351542677676">Podešavanje je u toku...</translation>
 <translation id="6119050551270742952">Aktuelna veb-stranica je u režimu bez arhiviranja</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Blokiraj u režimu bez arhiviranja</translation>
 <translation id="6628106477656132239">Nevažeći datum isteka</translation>
 <translation id="6638511529934826365">Zumiraj tekst…</translation>
+<translation id="6639730758971422557">Da biste uključili Bezbedno pregledanje, otvorite <ph name="BEGIN_LINK" />Sinhronizacija i Google usluge<ph name="END_LINK" /> i dodirnite Bezbedno pregledanje.</translation>
 <translation id="6642362222295953972">Pređite na postojeću karticu</translation>
 <translation id="6643016212128521049">Obriši</translation>
 <translation id="6645899968535965230">QR kôd: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Uvek</translation>
 <translation id="7600965453749440009">Nikad ne prevodi <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Blokirani iskačući prozori (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Izbriši lozinku</translation>
 <translation id="7638584964844754484">Neispravna pristupna fraza</translation>
 <translation id="7649070708921625228">Pomoć</translation>
 <translation id="7658239707568436148">Otkaži</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Novo</translation>
 <translation id="8532105204136943229">Godina isteka</translation>
 <translation id="8533166274275423134">Otvoreno negde drugde</translation>
+<translation id="8533670235862049797">Bezbedno pregledanje je uključeno</translation>
 <translation id="8534481786647257214">Google+ post je dovršen.</translation>
 <translation id="8548878600947630424">Pronađi na stranici...</translation>
 <translation id="8574235780160508979">Chrome uslovi korišćenja usluge se menjaju 31. marta. <ph name="BEGIN_LINK" />Pregledajte<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
index a5e6d75..dd0d31c14 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Нови прозор</translation>
 <translation id="1580783302095112590">Имејл је послата.</translation>
 <translation id="1582732959743469162">На тај начин ћете потпуно зауставити тренутно преузимање.</translation>
+<translation id="1605405588277479165">Искључено – Не препоручује се</translation>
 <translation id="1605658421715042784">Копирај слику</translation>
 <translation id="1608337082864370066">Потражите слику коју сте копирали</translation>
 <translation id="1612730193129642006">Show Tab Grid (Прикажи координатну мрежу картице)</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Затвори</translation>
 <translation id="6042308850641462728">Још</translation>
 <translation id="605721222689873409">ГГ</translation>
+<translation id="6059830886158432458">Овде контролишите приче и активности</translation>
 <translation id="6066301408025741299">Додирните да бисте отказали.</translation>
 <translation id="6108923351542677676">Подешавање је у току...</translation>
 <translation id="6119050551270742952">Актуелна веб-страница је у режиму без архивирања</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Блокирај у режиму без архивирања</translation>
 <translation id="6628106477656132239">Неважећи датум истека</translation>
 <translation id="6638511529934826365">Зумирај текст…</translation>
+<translation id="6639730758971422557">Да бисте укључили Безбедно прегледање, отворите <ph name="BEGIN_LINK" />Синхронизација и Google услуге<ph name="END_LINK" /> и додирните Безбедно прегледање.</translation>
 <translation id="6642362222295953972">Пређите на постојећу картицу</translation>
 <translation id="6643016212128521049">Обриши</translation>
 <translation id="6645899968535965230">QR кôд: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Увек</translation>
 <translation id="7600965453749440009">Никад не преводи <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Блокирани искачући прозори (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Избриши лозинку</translation>
 <translation id="7638584964844754484">Неисправна приступна фраза</translation>
 <translation id="7649070708921625228">Помоћ</translation>
 <translation id="7658239707568436148">Откажи</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Ново</translation>
 <translation id="8532105204136943229">Година истека</translation>
 <translation id="8533166274275423134">Отворено негде другде</translation>
+<translation id="8533670235862049797">Безбедно прегледање је укључено</translation>
 <translation id="8534481786647257214">Google+ пост је довршен.</translation>
 <translation id="8548878600947630424">Пронађи на страници...</translation>
 <translation id="8574235780160508979">Chrome услови коришћења услуге се мењају 31. марта. <ph name="BEGIN_LINK" />Прегледајте<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
index 2620dc7..58faa402 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Stäng</translation>
 <translation id="6042308850641462728">Mer</translation>
 <translation id="605721222689873409">ÅÅ</translation>
+<translation id="6059830886158432458">Styr dina berättelser och din aktivitet här</translation>
 <translation id="6066301408025741299">Avbryt genom att trycka här.</translation>
 <translation id="6108923351542677676">Konfigurationen pågår ...</translation>
 <translation id="6119050551270742952">Webbsidan är i inkognitoläge</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
index 4d26f99..a7d8fa2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Dirisha Jipya</translation>
 <translation id="1580783302095112590">Barua imetumwa.</translation>
 <translation id="1582732959743469162">Hatua hii itasimamisha upakuaji wako wote wa sasa.</translation>
+<translation id="1605405588277479165">Kimezimwa - Haipendekezwi</translation>
 <translation id="1605658421715042784">Nakili Picha</translation>
 <translation id="1608337082864370066">Tafuta Picha Uliyonakili</translation>
 <translation id="1612730193129642006">Onyesha Gridi ya Kichupo</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Funga</translation>
 <translation id="6042308850641462728">Zaidi</translation>
 <translation id="605721222689873409">MK</translation>
+<translation id="6059830886158432458">Dhibiti hadithi na shughuli zako hapa</translation>
 <translation id="6066301408025741299">Gusa ili kughairi.</translation>
 <translation id="6108923351542677676">Usanidi unaendelea...</translation>
 <translation id="6119050551270742952">Ukurasa wa sasa wa Wavuti uko katika Hali Fiche</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Zuia katika Hali Fiche</translation>
 <translation id="6628106477656132239">Tarehe ya Mwisho wa Matumizi si Sahihi</translation>
 <translation id="6638511529934826365">Kuza Maandishi…</translation>
+<translation id="6639730758971422557">Ili uwashe kipengele cha Kuvinjari Salama, fungua <ph name="BEGIN_LINK" />Huduma za Google na Usawazishaji<ph name="END_LINK" /> na uguse Vinjari Salama.</translation>
 <translation id="6642362222295953972">Badilisha utumie kichupo kilichopo</translation>
 <translation id="6643016212128521049">Futa</translation>
 <translation id="6645899968535965230">Msimbo wa QR: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Kila wakati</translation>
 <translation id="7600965453749440009">Kamwe usitafsiri <ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">Ibukizi zimefungwa (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Futa Nenosiri</translation>
 <translation id="7638584964844754484">Kaulisiri si sahihi</translation>
 <translation id="7649070708921625228">Usaidizi</translation>
 <translation id="7658239707568436148">Ghairi</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Mpya</translation>
 <translation id="8532105204136943229">Mwaka wa Muda wa Matumizi Kuisha</translation>
 <translation id="8533166274275423134">Imefunguliwa Kwingine</translation>
+<translation id="8533670235862049797">Kipengele cha Kuvinjari Salama kimewashwa</translation>
 <translation id="8534481786647257214">Chapisho la Google+ limekamilika.</translation>
 <translation id="8548878600947630424">Tafuta katika ukurasa...</translation>
 <translation id="8574235780160508979">Sheria na Masharti ya Chrome yanabadilika tarehe 31 Machi. <ph name="BEGIN_LINK" />Tafadhali yapitie<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
index f03df3b0..62e9b5b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ta.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">மூடு</translation>
 <translation id="6042308850641462728">மேலும்</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">உங்கள் செய்திகளையும் செயல்பாட்டையும் இங்கே கட்டுப்படுத்தலாம்</translation>
 <translation id="6066301408025741299">ரத்துசெய்ய தட்டவும்.</translation>
 <translation id="6108923351542677676">அமைவு செயலிலுள்ளது...</translation>
 <translation id="6119050551270742952">இந்த இணையப் பக்கம் மறைநிலையில் உள்ளது</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_te.xtb b/ios/chrome/app/strings/resources/ios_strings_te.xtb
index be4a0a8..5242c826 100644
--- a/ios/chrome/app/strings/resources/ios_strings_te.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_te.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">మూసివేయి</translation>
 <translation id="6042308850641462728">మరింత చూపించు</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">ఇక్కడ మీ కథనాలు, యాక్టివిటీని కంట్రోల్ చేయండి</translation>
 <translation id="6066301408025741299">రద్దు చేయడానికి నొక్కండి.</translation>
 <translation id="6108923351542677676">సెటప్ ప్రోగ్రెస్‌లో ఉంది...</translation>
 <translation id="6119050551270742952">ప్రస్తుత వెబ్‌పేజీ అజ్ఞాత మోడ్‌లో ఉంది</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb
index ee950049..c9ce18a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">หน้าต่างใหม่</translation>
 <translation id="1580783302095112590">ส่งอีเมลแล้ว</translation>
 <translation id="1582732959743469162">การดำเนินการนี้จะหยุดการดาวน์โหลดที่ดำเนินอยู่ทั้งหมด</translation>
+<translation id="1605405588277479165">ปิด - ไม่แนะนำ</translation>
 <translation id="1605658421715042784">คัดลอกรูปภาพ</translation>
 <translation id="1608337082864370066">ค้นหารูปภาพที่คัดลอก</translation>
 <translation id="1612730193129642006">แสดงตารางแท็บ</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">ปิด</translation>
 <translation id="6042308850641462728">แสดงเพิ่ม</translation>
 <translation id="605721222689873409">ปป</translation>
+<translation id="6059830886158432458">ควบคุมเรื่องราวและกิจกรรมของคุณได้ที่นี่</translation>
 <translation id="6066301408025741299">แตะเพื่อยกเลิก</translation>
 <translation id="6108923351542677676">กำลังดำเนินการตั้งค่า…</translation>
 <translation id="6119050551270742952">หน้าเว็บนี้อยู่ในโหมดไม่ระบุตัวตน</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">บล็อกเมื่อใช้โหมดไม่ระบุตัวตน</translation>
 <translation id="6628106477656132239">วันที่หมดอายุไม่ถูกต้อง</translation>
 <translation id="6638511529934826365">ซูมข้อความ…</translation>
+<translation id="6639730758971422557">หากต้องการเปิด Google Safe Browsing ให้เปิด<ph name="BEGIN_LINK" />การซิงค์และบริการของ Google<ph name="END_LINK" /> จากนั้นแตะ Google Safe Browsing</translation>
 <translation id="6642362222295953972">เปลี่ยนไปใช้แท็บที่มีอยู่</translation>
 <translation id="6643016212128521049">ล้าง</translation>
 <translation id="6645899968535965230">คิวอาร์โค้ด: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">ทุกครั้ง</translation>
 <translation id="7600965453749440009">ไม่ต้องแปลภาษา<ph name="LANGUAGE" /></translation>
 <translation id="7603852183842204213">ป๊อปอัปที่บล็อก (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">ลบรหัสผ่าน</translation>
 <translation id="7638584964844754484">รหัสผ่านไม่ถูกต้อง</translation>
 <translation id="7649070708921625228">ความช่วยเหลือ</translation>
 <translation id="7658239707568436148">ยกเลิก</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">ใหม่</translation>
 <translation id="8532105204136943229">ปีที่หมดอายุ</translation>
 <translation id="8533166274275423134">เปิดอยู่ที่อื่น</translation>
+<translation id="8533670235862049797">Google Safe Browsing เปิดอยู่</translation>
 <translation id="8534481786647257214">โพสต์ใน Google+ แล้ว</translation>
 <translation id="8548878600947630424">ค้นหาในหน้าเว็บ...</translation>
 <translation id="8574235780160508979">ข้อกำหนดในการให้บริการของ Chrome จะมีการเปลี่ยนแปลงในวันที่ 31 มีนาคม <ph name="BEGIN_LINK" />โปรดตรวจดู<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
index 327a8e6..d939416e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_tr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Kapat</translation>
 <translation id="6042308850641462728">Daha fazla</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">Haberlerinizi ve aktivitenizi buradan yönetin</translation>
 <translation id="6066301408025741299">İptal etmek için hafifçe vurun.</translation>
 <translation id="6108923351542677676">Kurulum devam ediyor…</translation>
 <translation id="6119050551270742952">Geçerli Web sayfası Gizli modda</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uk.xtb b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
index fed808c..158e74d8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Закрити</translation>
 <translation id="6042308850641462728">Більше</translation>
 <translation id="605721222689873409">РР</translation>
+<translation id="6059830886158432458">Керуйте новинами й діями тут</translation>
 <translation id="6066301408025741299">Торкніться, щоб скасувати.</translation>
 <translation id="6108923351542677676">Виконується налаштування…</translation>
 <translation id="6119050551270742952">Поточна сторінка в анонімному режимі</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ur.xtb b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
index e333145..d16f740 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ur.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">بند کریں</translation>
 <translation id="6042308850641462728">مزید</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">اپنی کہانیوں اور سرگرمی کو یہاں کنٹرول کریں</translation>
 <translation id="6066301408025741299">منسوخ کرنے کیلئے تھپتھپائیں۔</translation>
 <translation id="6108923351542677676">سیٹ اپ جاری ہے…</translation>
 <translation id="6119050551270742952">موجودہ ویب صفحہ پوشیدگی پر ہے</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uz.xtb b/ios/chrome/app/strings/resources/ios_strings_uz.xtb
index dd3d3395..c9103af 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uz.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uz.xtb
@@ -63,6 +63,7 @@
 <translation id="1554477036522844996">Yangi oyna</translation>
 <translation id="1580783302095112590">Xat yuborildi.</translation>
 <translation id="1582732959743469162">Joriy yuklanma uchun barcha jarayonlar to‘xtatiladi.</translation>
+<translation id="1605405588277479165">Faol emas - Tavsiya etilmaydi</translation>
 <translation id="1605658421715042784">Tasvirni nusxalash</translation>
 <translation id="1608337082864370066">Nusxalangan rasmni qidirish</translation>
 <translation id="1612730193129642006">Jadval kataklarini ochish</translation>
@@ -435,6 +436,7 @@
 <translation id="6040143037577758943">Yopish</translation>
 <translation id="6042308850641462728">Yana</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">Yangiliklar va faoliyatni shu yerdan boshqaring</translation>
 <translation id="6066301408025741299">Bekor qilish uchun bu yerga bosing.</translation>
 <translation id="6108923351542677676">Sozlanmoqda...</translation>
 <translation id="6119050551270742952">Bu sahifa inkognito rejimida</translation>
@@ -495,6 +497,7 @@
 <translation id="6624219055418309072">Inkognito rejimida bloklash</translation>
 <translation id="6628106477656132239">Amal qilish muddati xato kiritildi</translation>
 <translation id="6638511529934826365">Matn masshtabi…</translation>
+<translation id="6639730758971422557">Saytlarni xavfsiz kezish rejimini yoqish uchun <ph name="BEGIN_LINK" />Sinxronizatsiya va Google xizmatlari<ph name="END_LINK" /> bandini oching va Saytlarni xavfsiz kezish ustiga bosing.</translation>
 <translation id="6642362222295953972">Oldin ochilgan varaqqa oʻtish</translation>
 <translation id="6643016212128521049">Tozalash</translation>
 <translation id="6645899968535965230">QR-kod: <ph name="PAGE_TITLE" /></translation>
@@ -579,6 +582,7 @@
 <translation id="7561196759112975576">Har doim</translation>
 <translation id="7600965453749440009"><ph name="LANGUAGE" /> tili hech qachon tarjima qilinmasin</translation>
 <translation id="7603852183842204213">Qalqib chiquvchi oynalar bloklandi (<ph name="NUMBER_OF_BLOCKED_POPUPS" />)</translation>
+<translation id="7607521702806708809">Parolni olib tashlash</translation>
 <translation id="7638584964844754484">Noto‘g‘ri kodli ibora</translation>
 <translation id="7649070708921625228">Yordam</translation>
 <translation id="7658239707568436148">Bekor qilish</translation>
@@ -657,6 +661,7 @@
 <translation id="8529767659511976195">Yangi</translation>
 <translation id="8532105204136943229">Yil (muddat)</translation>
 <translation id="8533166274275423134">Boshqa oynada ochilgan</translation>
+<translation id="8533670235862049797">Saytlarni xavfsiz kezish rejimi yoniq</translation>
 <translation id="8534481786647257214">Google+’ga joylandi.</translation>
 <translation id="8548878600947630424">Sahifadan qidirish...</translation>
 <translation id="8574235780160508979">Chrome xizmat shartlari 31-mart kuni yangilanadi. <ph name="BEGIN_LINK" />Tanishib chiqing<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
index 632d1f6..4008600 100644
--- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Đóng</translation>
 <translation id="6042308850641462728">Xem thêm</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">Kiểm soát tin bài và hoạt động của bạn tại đây</translation>
 <translation id="6066301408025741299">Nhấn để hủy.</translation>
 <translation id="6108923351542677676">Đang thiết lập…</translation>
 <translation id="6119050551270742952">Trang web hiện tại đang ở chế độ ẩn danh</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
index 5980985..04b5f01 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">关闭</translation>
 <translation id="6042308850641462728">展开</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">在此处控制您的报道和活动</translation>
 <translation id="6066301408025741299">点按可取消。</translation>
 <translation id="6108923351542677676">正在设置…</translation>
 <translation id="6119050551270742952">当前网页处于无痕模式</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
index a90ae04..c4cc3a6 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">關閉</translation>
 <translation id="6042308850641462728">更多選項</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">請在這裡控制您的報導和活動</translation>
 <translation id="6066301408025741299">輕觸即可取消。</translation>
 <translation id="6108923351542677676">設定中…</translation>
 <translation id="6119050551270742952">目前的網頁已處於無痕模式</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
index b9f1feb..da547704 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">關閉</translation>
 <translation id="6042308850641462728">更多</translation>
 <translation id="605721222689873409">年</translation>
+<translation id="6059830886158432458">請在這裡控管你的報導和活動</translation>
 <translation id="6066301408025741299">輕觸即可取消。</translation>
 <translation id="6108923351542677676">設定中…</translation>
 <translation id="6119050551270742952">目前的網頁處於無痕模式</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zu.xtb b/ios/chrome/app/strings/resources/ios_strings_zu.xtb
index a77c7c55..4554f51 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zu.xtb
@@ -435,6 +435,7 @@
 <translation id="6040143037577758943">Vala</translation>
 <translation id="6042308850641462728">Okuningi</translation>
 <translation id="605721222689873409">YY</translation>
+<translation id="6059830886158432458">Lawula izindaba nomsebenzi wakho lapha</translation>
 <translation id="6066301408025741299">Thepha ukuze ukhansele.</translation>
 <translation id="6108923351542677676">Ukusetha kuyaqhubeka…</translation>
 <translation id="6119050551270742952">Ikhasi lewebhu lamanje liku-Incognito</translation>
diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm
index 0ff599dc..de8e7b75e 100644
--- a/ios/chrome/browser/flags/about_flags.mm
+++ b/ios/chrome/browser/flags/about_flags.mm
@@ -716,6 +716,8 @@
       base::SysUTF8ToNSString(policy::key::kDefaultSearchProviderName),
       base::SysUTF8ToNSString(policy::key::kDefaultSearchProviderSearchURL),
       base::SysUTF8ToNSString(policy::key::kPasswordManagerEnabled),
+      base::SysUTF8ToNSString(policy::key::kSafeBrowsingProtectionLevel),
+      base::SysUTF8ToNSString(policy::key::kSearchSuggestEnabled),
       base::SysUTF8ToNSString(policy::key::kTranslateEnabled)
     ];
 
@@ -745,6 +747,11 @@
       base::SysUTF8ToNSString(policy::key::kPasswordManagerEnabled) : @NO,
 
       base::SysUTF8ToNSString(policy::key::kTranslateEnabled) : @NO,
+
+      // 2 = Enhanced safe browsing protection
+      base::SysUTF8ToNSString(policy::key::kSafeBrowsingProtectionLevel) : @2,
+
+      base::SysUTF8ToNSString(policy::key::kSearchSuggestEnabled) : @YES,
     }];
   }
 
diff --git a/ios/chrome/browser/policy/policy_features.cc b/ios/chrome/browser/policy/policy_features.cc
index edea2fd2..34a499a 100644
--- a/ios/chrome/browser/policy/policy_features.cc
+++ b/ios/chrome/browser/policy/policy_features.cc
@@ -41,7 +41,16 @@
 }  // namespace
 
 bool IsChromeBrowserCloudManagementEnabled() {
-  return HasSwitch(switches::kEnableChromeBrowserCloudManagement);
+  // This method is called very early during the launch sequence (inside
+  // IOSChromeMainParts::PreCreateThreads). At that point, the FeatureList API
+  // isn't ready yet, so neither Finch experiments nor first-run field trials
+  // can be used for progressive rollout. To ensure adequate coverage of both
+  // the "CBCM disabled" and "CBCM enabled" code paths, CBCM is enabled at 100%
+  // on Beta and 0% on all other channels (CBCM is disabled by default). This
+  // allows monitoring crashes for both code paths while allowing early adopters
+  // to use CBCM on the Beta channel.
+  return HasSwitch(switches::kEnableChromeBrowserCloudManagement) ||
+         GetChannel() == version_info::Channel::BETA;
 }
 
 bool IsEditBookmarksIOSEnabled() {
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm b/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm
index 29dd692f..65eb55d 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm
@@ -1508,11 +1508,11 @@
     if (self.sharedState.tableView.backgroundView == self.emptyViewBackground) {
       self.sharedState.tableView.backgroundView = nil;
     }
+    self.navigationItem.searchController = self.searchController;
     if ([self isDisplayingBookmarkRoot]) {
       self.navigationItem.largeTitleDisplayMode =
           UINavigationItemLargeTitleDisplayModeAutomatic;
     }
-    self.navigationItem.searchController = self.searchController;
   } else {
     self.sharedState.tableView.backgroundView = nil;
   }
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.mm b/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.mm
index c51e3ae9..072a566 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.mm
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.mm
@@ -386,7 +386,7 @@
 
 - (void)dismissSnackbar {
   // Dismiss any bookmark related snackbar this controller could have presented.
-  [[MDCSnackbarManager defaultManager]
+  [MDCSnackbarManager.defaultManager
       dismissAndCallCompletionBlocksWithCategory:
           bookmark_utils_ios::kBookmarksSnackbarCategory];
 }
diff --git a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
index cd4caa5..e644383 100644
--- a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
@@ -2219,6 +2219,7 @@
       kNewTabButtonGuide,
       kSecondaryToolbarGuide,
       kVoiceSearchButtonGuide,
+      kDiscoverFeedHeaderMenuGuide,
     ];
     AddNamedGuidesToView(guideNames, self.view);
 
diff --git a/ios/chrome/browser/ui/bubble/bubble_presenter.mm b/ios/chrome/browser/ui/bubble/bubble_presenter.mm
index 74053005..71ecd9ec 100644
--- a/ios/chrome/browser/ui/bubble/bubble_presenter.mm
+++ b/ios/chrome/browser/ui/bubble/bubble_presenter.mm
@@ -58,6 +58,8 @@
     BubbleViewControllerPresenter* tabTipBubblePresenter;
 @property(nonatomic, strong, readwrite)
     BubbleViewControllerPresenter* incognitoTabTipBubblePresenter;
+@property(nonatomic, strong)
+    BubbleViewControllerPresenter* discoverFeedHeaderMenuTipBubblePresenter;
 
 @property(nonatomic, assign) ChromeBrowserState* browserState;
 @property(nonatomic, weak) id<BubblePresenterDelegate> delegate;
@@ -131,6 +133,7 @@
   [self.incognitoTabTipBubblePresenter dismissAnimated:NO];
   [self.bottomToolbarTipBubblePresenter dismissAnimated:NO];
   [self.longPressToolbarTipBubblePresenter dismissAnimated:NO];
+  [self.discoverFeedHeaderMenuTipBubblePresenter dismissAnimated:NO];
 }
 
 - (void)userEnteredTabSwitcher {
@@ -158,9 +161,10 @@
   if (!self.incognitoTabTipBubblePresenter.isUserEngaged)
     [self presentNewIncognitoTabTipBubble];
 
-  // The bottom toolbar doesn't use the isUserEngaged, so don't check if the
-  // user is engaged here.
+  // The bottom toolbar and Discover feed header menu don't use the
+  // isUserEngaged, so don't check if the user is engaged here.
   [self presentBottomToolbarTipBubble];
+  [self presentDiscoverFeedHeaderTipBubble];
 }
 
 - (void)presentLongPressBubble {
@@ -259,6 +263,34 @@
       ->NotifyEvent(feature_engagement::events::kBottomToolbarOpened);
 }
 
+// Presents a bubble associated with the Discover feed header's menu button.
+- (void)presentDiscoverFeedHeaderTipBubble {
+  if (![self canPresentBubble])
+    return;
+
+  BubbleArrowDirection arrowDirection = BubbleArrowDirectionDown;
+  NSString* text =
+      l10n_util::GetNSStringWithFixup(IDS_IOS_DISCOVER_FEED_HEADER_IPH);
+  CGPoint discoverFeedHeaderAnchor =
+      [self anchorPointToGuide:kDiscoverFeedHeaderMenuGuide
+                     direction:arrowDirection];
+
+  // If the feature engagement tracker does not consider it valid to display
+  // the new tab tip, then end early to prevent the potential reassignment
+  // of the existing |tabTipBubblePresenter| to nil.
+  BubbleViewControllerPresenter* presenter = [self
+      presentBubbleForFeature:feature_engagement::kIPHDiscoverFeedHeaderFeature
+                    direction:arrowDirection
+                    alignment:BubbleAlignmentTrailing
+                         text:text
+        voiceOverAnnouncement:nil
+                  anchorPoint:discoverFeedHeaderAnchor];
+  if (!presenter)
+    return;
+
+  self.discoverFeedHeaderMenuTipBubblePresenter = presenter;
+}
+
 // Optionally presents a bubble associated with the new tab tip in-product help
 // promotion. If the feature engagement tracker determines it is valid to show
 // the new tab tip, then it initializes |tabTipBubblePresenter| and presents
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_discover_header_item.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_discover_header_item.mm
index 42f58a5..ce0923c 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_discover_header_item.mm
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_discover_header_item.mm
@@ -5,6 +5,7 @@
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_discover_header_item.h"
 
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_constants.h"
+#import "ios/chrome/browser/ui/util/named_guide.h"
 #import "ios/chrome/browser/ui/util/uikit_ui_util.h"
 #import "ios/chrome/common/ui/colors/UIColor+cr_semantic_colors.h"
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
@@ -211,6 +212,14 @@
     [self setConstraintsForFeedVisible:visible];
   }
   self.container.layer.borderWidth = visible ? 0 : kHeaderBorderWidth;
+  [self.contentView layoutIfNeeded];
+  NamedGuide* menuButtonGuide =
+      [NamedGuide guideWithName:kDiscoverFeedHeaderMenuGuide
+                           view:self.menuButton];
+
+  menuButtonGuide.constrainedFrame =
+      [self.contentView convertRect:self.menuButton.frame toView:nil];
+  self.discoverFeedVisible = [NSNumber numberWithBool:visible];
 }
 
 // Sets header properties for when the Discover feed is visible.
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_commands.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_commands.h
index 6f77404c..ee07d09 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_commands.h
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_commands.h
@@ -35,10 +35,15 @@
 - (void)handlePromoTapped;
 // Handles the actions following a tap on the "Learn more" item.
 - (void)handleLearnMoreTapped;
-// Handles the actions following a tap on the "Manage Activity" item.
-- (void)handleManageActivityTapped;
-// Handles the actions following a tap on the "Manage Interests" item.
-- (void)handleManageInterestsTapped;
+// Handles the actions following a tap on the "Manage Activity" item in the
+// Discover feed menu.
+- (void)handleFeedManageActivityTapped;
+// Handles the actions following a tap on the "Manage Interests" item in the
+// Discover feed menu.
+- (void)handleFeedManageInterestsTapped;
+// Handles the actions following a tap on the "Learn More" item in the Discover
+// feed menu.
+- (void)handleFeedLearnMoreTapped;
 
 @end
 
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.mm
index 0fc56ce..e79dc6be 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.mm
@@ -457,7 +457,7 @@
         addItemWithTitle:l10n_util::GetNSString(
                              IDS_IOS_DISCOVER_FEED_MENU_MANAGE_ACTIVITY_ITEM)
                   action:^{
-                    [weakSelf.NTPMediator handleManageActivityTapped];
+                    [weakSelf.NTPMediator handleFeedManageActivityTapped];
                   }
                    style:UIAlertActionStyleDefault];
 
@@ -465,7 +465,7 @@
         addItemWithTitle:l10n_util::GetNSString(
                              IDS_IOS_DISCOVER_FEED_MENU_MANAGE_INTERESTS_ITEM)
                   action:^{
-                    [weakSelf.NTPMediator handleManageInterestsTapped];
+                    [weakSelf.NTPMediator handleFeedManageInterestsTapped];
                   }
                    style:UIAlertActionStyleDefault];
   }
@@ -474,7 +474,7 @@
       addItemWithTitle:l10n_util::GetNSString(
                            IDS_IOS_DISCOVER_FEED_MENU_LEARN_MORE_ITEM)
                 action:^{
-                  [weakSelf.NTPMediator handleLearnMoreTapped];
+                  [weakSelf.NTPMediator handleFeedLearnMoreTapped];
                 }
                  style:UIAlertActionStyleDefault];
   [self.alertCoordinator start];
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_view_controller.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_view_controller.mm
index 58ea059..f3e2cec4 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_view_controller.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_view_controller.mm
@@ -111,10 +111,15 @@
 }
 
 - (void)dealloc {
-  [self.feedView removeObserver:self forKeyPath:@"contentSize"];
-  [self.discoverFeedVC willMoveToParentViewController:nil];
-  [self.discoverFeedVC.view removeFromSuperview];
-  [self.discoverFeedVC removeFromParentViewController];
+  // Only remove the FeedVC and observer if it was actually added to the
+  // hierarchy. |self.discoverFeedVC| is only added to the hierarchy at the same
+  // time the KVO observer is added to |self.feedView|, so its safe to remove.
+  if (self.discoverFeedVC.parentViewController) {
+    [self.feedView removeObserver:self forKeyPath:@"contentSize"];
+    [self.discoverFeedVC willMoveToParentViewController:nil];
+    [self.discoverFeedVC.view removeFromSuperview];
+    [self.discoverFeedVC removeFromParentViewController];
+  }
   [self.overscrollActionsController invalidate];
 }
 
diff --git a/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.mm b/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.mm
index 5f1f707b..e0beb4fb 100644
--- a/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.mm
+++ b/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.mm
@@ -71,6 +71,9 @@
 // URL for 'Manage Interests' item in the Discover feed menu.
 const char kFeedManageInterestsURL[] =
     "https://google.com/preferences/interests";
+// URL for 'Learn More' item in the Discover feed menu;
+const char kFeedLearnMoreURL[] = "https://support.google.com/chrome/"
+                                 "?p=new_tab&co=GENIE.Platform%3DiOS&oco=1";
 // URL for the page displaying help for the NTP.
 const char kNTPHelpURL[] =
     "https://support.google.com/chrome/?p=ios_new_tab&ios=1";
@@ -403,16 +406,21 @@
   // TODO(crbug.com/1085419): Add metrics.
 }
 
-- (void)handleManageActivityTapped {
+- (void)handleFeedManageActivityTapped {
   [self openMenuItemWebPage:GURL(kFeedManageActivityURL)];
 }
 
-- (void)handleManageInterestsTapped {
+- (void)handleFeedManageInterestsTapped {
   [self openMenuItemWebPage:GURL(kFeedManageInterestsURL)];
 }
 
+- (void)handleFeedLearnMoreTapped {
+  [self openMenuItemWebPage:GURL(kFeedLearnMoreURL)];
+}
+
 - (void)handleLearnMoreTapped {
   [self openMenuItemWebPage:GURL(kNTPHelpURL)];
+  [self.NTPMetrics recordAction:new_tab_page_uma::ACTION_OPENED_LEARN_MORE];
 }
 
 #pragma mark - ContentSuggestionsGestureCommands
diff --git a/ios/chrome/browser/ui/fullscreen/fullscreen_features.mm b/ios/chrome/browser/ui/fullscreen/fullscreen_features.mm
index 01554e0..9603e42 100644
--- a/ios/chrome/browser/ui/fullscreen/fullscreen_features.mm
+++ b/ios/chrome/browser/ui/fullscreen/fullscreen_features.mm
@@ -19,7 +19,7 @@
                                             base::FEATURE_ENABLED_BY_DEFAULT};
 
 const base::Feature kFullscreenControllerBrowserScoped{
-    "FullscreenControllerBrowserScoped", base::FEATURE_DISABLED_BY_DEFAULT};
+    "FullscreenControllerBrowserScoped", base::FEATURE_ENABLED_BY_DEFAULT};
 
 bool ShouldUseSmoothScrolling() {
   return base::FeatureList::IsEnabled(kSmoothScrollingDefault);
diff --git a/ios/chrome/browser/ui/infobars/BUILD.gn b/ios/chrome/browser/ui/infobars/BUILD.gn
index d7af0e60..fb5eaa4 100644
--- a/ios/chrome/browser/ui/infobars/BUILD.gn
+++ b/ios/chrome/browser/ui/infobars/BUILD.gn
@@ -137,6 +137,7 @@
     "//ios/chrome/browser/web_state_list",
     "//ios/chrome/browser/web_state_list:test_support",
     "//ios/chrome/test:test_support",
+    "//ios/web/common",
     "//ios/web/public/test/fakes",
     "//testing/gtest",
     "//testing/gtest",
diff --git a/ios/chrome/browser/ui/infobars/infobar_container_coordinator_unittest.mm b/ios/chrome/browser/ui/infobars/infobar_container_coordinator_unittest.mm
index c6c96e5..ebdc6e8 100644
--- a/ios/chrome/browser/ui/infobars/infobar_container_coordinator_unittest.mm
+++ b/ios/chrome/browser/ui/infobars/infobar_container_coordinator_unittest.mm
@@ -4,6 +4,8 @@
 
 #import "ios/chrome/browser/ui/infobars/infobar_container_coordinator.h"
 
+#import <WebKit/WebKit.h>
+
 #import "base/test/ios/wait_util.h"
 #include "base/test/scoped_feature_list.h"
 #include "base/test/task_environment.h"
@@ -27,8 +29,11 @@
 #import "ios/chrome/browser/web_state_list/web_state_list.h"
 #import "ios/chrome/browser/web_state_list/web_state_opener.h"
 #import "ios/chrome/test/scoped_key_window.h"
+#import "ios/web/common/crw_web_view_content_view.h"
 #import "ios/web/public/test/fakes/test_navigation_manager.h"
 #import "ios/web/public/test/fakes/test_web_state.h"
+#import "ios/web/public/ui/crw_web_view_proxy.h"
+#import "ios/web/public/ui/crw_web_view_scroll_view_proxy.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "testing/platform_test.h"
 #import "third_party/ocmock/OCMock/OCMock.h"
@@ -69,7 +74,13 @@
   InfobarContainerCoordinatorTest()
       : browser_(std::make_unique<TestBrowser>()),
         base_view_controller_([[FakeBaseViewController alloc] init]),
-        positioner_([[TestContainerCoordinatorPositioner alloc] init]) {
+        positioner_([[TestContainerCoordinatorPositioner alloc] init]),
+        web_view_([[WKWebView alloc]
+            initWithFrame:scoped_window_.Get().bounds
+            configuration:[[WKWebViewConfiguration alloc] init]]),
+        content_view_([[CRWWebViewContentView alloc]
+            initWithWebView:web_view_
+                 scrollView:web_view_.scrollView]) {
     // Enable kIOSInfobarUIReboot flag.
     feature_list_.InitWithFeatures({kIOSInfobarUIReboot},
                                    {kInfobarUIRebootOnlyiOS13});
@@ -84,6 +95,15 @@
     navigation_manager_ = navigation_manager.get();
     web_state->SetNavigationManager(std::move(navigation_manager));
     web_state->SetBrowserState(browser_->GetBrowserState());
+    web_state->SetView(content_view_);
+    CRWWebViewScrollViewProxy* scroll_view_proxy =
+        [[CRWWebViewScrollViewProxy alloc] init];
+    UIScrollView* scroll_view = [[UIScrollView alloc] init];
+    [scroll_view_proxy setScrollView:scroll_view];
+    id web_view_proxy_mock = OCMProtocolMock(@protocol(CRWWebViewProxy));
+    [[[web_view_proxy_mock stub] andReturn:scroll_view_proxy] scrollViewProxy];
+    web_state->SetWebViewProxy(web_view_proxy_mock);
+
     browser_->GetWebStateList()->InsertWebState(0, std::move(web_state),
                                                 WebStateList::INSERT_NO_FLAGS,
                                                 WebStateOpener());
@@ -187,6 +207,14 @@
   void AddSecondWebstate() {
     std::unique_ptr<web::TestWebState> second_web_state =
         std::make_unique<web::TestWebState>();
+    second_web_state->SetView(content_view_);
+    CRWWebViewScrollViewProxy* scroll_view_proxy =
+        [[CRWWebViewScrollViewProxy alloc] init];
+    UIScrollView* scroll_view = [[UIScrollView alloc] init];
+    [scroll_view_proxy setScrollView:scroll_view];
+    id web_view_proxy_mock = OCMProtocolMock(@protocol(CRWWebViewProxy));
+    [[[web_view_proxy_mock stub] andReturn:scroll_view_proxy] scrollViewProxy];
+    second_web_state->SetWebViewProxy(web_view_proxy_mock);
     InfoBarManagerImpl::CreateForWebState(second_web_state.get());
     InfobarBadgeTabHelper::CreateForWebState(second_web_state.get());
     browser_->GetWebStateList()->InsertWebState(1, std::move(second_web_state),
@@ -221,6 +249,9 @@
   std::unique_ptr<IOSChromeSavePasswordInfoBarDelegate> infobar_delegate_;
   ConfirmInfoBarController* legacy_controller_;
   std::unique_ptr<ConfirmInfoBarDelegate> legacy_infobar_delegate_;
+  ScopedKeyWindow scoped_window_;
+  WKWebView* web_view_ = nil;
+  CRWWebViewContentView* content_view_ = nil;
 };
 
 // Tests infobarBannerState is InfobarBannerPresentationState::Presented once an
diff --git a/ios/chrome/browser/ui/main/scene_controller.mm b/ios/chrome/browser/ui/main/scene_controller.mm
index c805547..1d64879 100644
--- a/ios/chrome/browser/ui/main/scene_controller.mm
+++ b/ios/chrome/browser/ui/main/scene_controller.mm
@@ -395,11 +395,13 @@
         // Consider the scene as still not active at this point as the handling
         // of startup parameters is not yet done (and will be later in this
         // function).
-        [UserActivityHandler continueUserActivity:activityWithCompletion
-                              applicationIsActive:NO
-                                        tabOpener:self
-                            connectionInformation:self
-                               startupInformation:self.mainController];
+        [UserActivityHandler
+             continueUserActivity:activityWithCompletion
+              applicationIsActive:NO
+                        tabOpener:self
+            connectionInformation:self
+               startupInformation:self.mainController
+                     browserState:self.currentInterface.browserState];
       }
       self.sceneState.connectionOptions = nil;
     }
@@ -471,7 +473,8 @@
                         applicationIsActive:sceneIsActive
                                   tabOpener:self
                       connectionInformation:self
-                         startupInformation:self.mainController];
+                         startupInformation:self.mainController
+                               browserState:self.currentInterface.browserState];
   // It is necessary to reset the pendingUserActivity after handling it.
   // Handle the reset asynchronously to avoid interfering with other observers.
   dispatch_async(dispatch_get_main_queue(), ^{
diff --git a/ios/chrome/browser/ui/overlays/BUILD.gn b/ios/chrome/browser/ui/overlays/BUILD.gn
index c64c4d0e..475ccadf 100644
--- a/ios/chrome/browser/ui/overlays/BUILD.gn
+++ b/ios/chrome/browser/ui/overlays/BUILD.gn
@@ -142,6 +142,7 @@
     "//ios/chrome/browser/ui/overlays/test_modality",
     "//ios/chrome/browser/web_state_list",
     "//ios/chrome/test:test_support",
+    "//ios/web/common",
     "//ios/web/public/test",
     "//ios/web/public/test/fakes",
     "//testing/gmock",
diff --git a/ios/chrome/browser/ui/overlays/overlay_presentation_context_fullscreen_disabler_unittest.mm b/ios/chrome/browser/ui/overlays/overlay_presentation_context_fullscreen_disabler_unittest.mm
index 3515414..d06f9ea 100644
--- a/ios/chrome/browser/ui/overlays/overlay_presentation_context_fullscreen_disabler_unittest.mm
+++ b/ios/chrome/browser/ui/overlays/overlay_presentation_context_fullscreen_disabler_unittest.mm
@@ -4,6 +4,8 @@
 
 #import "ios/chrome/browser/ui/overlays/overlay_presentation_context_fullscreen_disabler.h"
 
+#import <WebKit/WebKit.h>
+
 #import "ios/chrome/browser/main/test_browser.h"
 #include "ios/chrome/browser/overlays/public/overlay_request.h"
 #include "ios/chrome/browser/overlays/public/overlay_request_queue.h"
@@ -13,9 +15,14 @@
 #import "ios/chrome/browser/ui/fullscreen/fullscreen_features.h"
 #import "ios/chrome/browser/web_state_list/web_state_list.h"
 #import "ios/chrome/browser/web_state_list/web_state_opener.h"
+#import "ios/chrome/test/scoped_key_window.h"
+#import "ios/web/common/crw_web_view_content_view.h"
 #import "ios/web/public/test/fakes/test_web_state.h"
 #include "ios/web/public/test/web_task_environment.h"
+#import "ios/web/public/ui/crw_web_view_proxy.h"
+#import "ios/web/public/ui/crw_web_view_scroll_view_proxy.h"
 #include "testing/platform_test.h"
+#import "third_party/ocmock/OCMock/OCMock.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
@@ -32,14 +39,31 @@
 class OverlayPresentationContextFullscreenDisablerTest : public PlatformTest {
  public:
   OverlayPresentationContextFullscreenDisablerTest()
-      : disabler_(&browser_, kModality) {
+      : disabler_(&browser_, kModality),
+        web_view_([[WKWebView alloc]
+            initWithFrame:scoped_window_.Get().bounds
+            configuration:[[WKWebViewConfiguration alloc] init]]),
+        content_view_([[CRWWebViewContentView alloc]
+            initWithWebView:web_view_
+                 scrollView:web_view_.scrollView]) {
     // Set up the fake presentation context so OverlayPresenterObserver
     // callbacks are sent.
     overlay_presenter()->SetPresentationContext(&presentation_context_);
+
+    std::unique_ptr<web::TestWebState> web_state =
+        std::make_unique<web::TestWebState>();
+    web_state->SetView(content_view_);
+    CRWWebViewScrollViewProxy* scroll_view_proxy =
+        [[CRWWebViewScrollViewProxy alloc] init];
+    UIScrollView* scroll_view = [[UIScrollView alloc] init];
+    [scroll_view_proxy setScrollView:scroll_view];
+    id web_view_proxy_mock = OCMProtocolMock(@protocol(CRWWebViewProxy));
+    [[[web_view_proxy_mock stub] andReturn:scroll_view_proxy] scrollViewProxy];
+    web_state->SetWebViewProxy(web_view_proxy_mock);
     // Insert and activate a WebState.
-    browser_.GetWebStateList()->InsertWebState(
-        0, std::make_unique<web::TestWebState>(), WebStateList::INSERT_ACTIVATE,
-        WebStateOpener());
+    browser_.GetWebStateList()->InsertWebState(0, std::move(web_state),
+                                               WebStateList::INSERT_ACTIVATE,
+                                               WebStateOpener());
   }
   ~OverlayPresentationContextFullscreenDisablerTest() override {
     overlay_presenter()->SetPresentationContext(nullptr);
@@ -66,6 +90,9 @@
   TestBrowser browser_;
   OverlayContainerFullscreenDisabler disabler_;
   FakeOverlayPresentationContext presentation_context_;
+  ScopedKeyWindow scoped_window_;
+  WKWebView* web_view_ = nil;
+  CRWWebViewContentView* content_view_ = nil;
 };
 
 // Tests that OverlayPresentationContextFullscreenDisabler disables fullscreen
diff --git a/ios/chrome/browser/ui/recent_tabs/recent_tabs_coordinator.mm b/ios/chrome/browser/ui/recent_tabs/recent_tabs_coordinator.mm
index 3c28b34..b127fb2c 100644
--- a/ios/chrome/browser/ui/recent_tabs/recent_tabs_coordinator.mm
+++ b/ios/chrome/browser/ui/recent_tabs/recent_tabs_coordinator.mm
@@ -189,10 +189,6 @@
   [self dismissRecentTabs];
 }
 
-- (void)showActiveIncognitoTabFromRecentTabs {
-  [self dismissRecentTabs];
-}
-
 - (void)showHistoryFromRecentTabs {
   // Dismiss recent tabs before presenting history.
   CommandDispatcher* dispatcher = self.browser->GetCommandDispatcher();
diff --git a/ios/chrome/browser/ui/recent_tabs/recent_tabs_menu_helper.mm b/ios/chrome/browser/ui/recent_tabs/recent_tabs_menu_helper.mm
index f77ed2e..85f7901a 100644
--- a/ios/chrome/browser/ui/recent_tabs/recent_tabs_menu_helper.mm
+++ b/ios/chrome/browser/ui/recent_tabs/recent_tabs_menu_helper.mm
@@ -83,16 +83,6 @@
                                            showActiveRegularTabFromRecentTabs];
                                  }]];
 
-    ProceduralBlock incognitoCompletion = ^{
-      [strongSelf.recentTabsPresentationDelegate
-              showActiveIncognitoTabFromRecentTabs];
-    };
-    [menuElements
-        addObject:
-            [actionFactory
-                actionToOpenInNewIncognitoTabWithURL:item.URL
-                                          completion:incognitoCompletion]];
-
     if (IsMultipleScenesSupported()) {
       [menuElements
           addObject:
diff --git a/ios/chrome/browser/ui/recent_tabs/recent_tabs_presentation_delegate.h b/ios/chrome/browser/ui/recent_tabs/recent_tabs_presentation_delegate.h
index 4336318..2bbab18d 100644
--- a/ios/chrome/browser/ui/recent_tabs/recent_tabs_presentation_delegate.h
+++ b/ios/chrome/browser/ui/recent_tabs/recent_tabs_presentation_delegate.h
@@ -20,9 +20,6 @@
 // Tells the receiver to show the tab UI for regular tabs. NO-OP if the correct
 // tab UI is already visible. Receiver may also dismiss recent tabs.
 - (void)showActiveRegularTabFromRecentTabs;
-// Tells the receiver to show the tab UI for incognito tabs. NO-OP if the
-// correct tab UI is already visible. Receiver may also dismiss recent tabs.
-- (void)showActiveIncognitoTabFromRecentTabs;
 // Tells the receiver to show the history UI. Receiver may also dismiss recent
 // tabs.
 - (void)showHistoryFromRecentTabs;
diff --git a/ios/chrome/browser/ui/settings/autofill/autofill_credit_card_edit_table_view_controller.mm b/ios/chrome/browser/ui/settings/autofill/autofill_credit_card_edit_table_view_controller.mm
index 93be947f..6ac618b7 100644
--- a/ios/chrome/browser/ui/settings/autofill/autofill_credit_card_edit_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/autofill/autofill_credit_card_edit_table_view_controller.mm
@@ -24,6 +24,7 @@
 #import "ios/chrome/browser/ui/commands/open_new_tab_command.h"
 #import "ios/chrome/browser/ui/settings/autofill/autofill_edit_table_view_controller+protected.h"
 #import "ios/chrome/browser/ui/settings/cells/copied_to_chrome_item.h"
+#import "ios/chrome/browser/ui/table_view/cells/table_view_text_edit_item_delegate.h"
 #include "ios/chrome/browser/ui/ui_feature_flags.h"
 #import "ios/chrome/browser/ui/util/uikit_ui_util.h"
 #include "ios/chrome/grit/ios_chromium_strings.h"
@@ -57,11 +58,8 @@
 
 }  // namespace
 
-@interface AutofillCreditCardEditTableViewController ()
-
-// The nickname cell. Need to keep reference to update validation style.
-@property(nonatomic, strong) TableViewTextEditCell* nicknameCell;
-
+@interface AutofillCreditCardEditTableViewController () <
+    TableViewTextEditItemDelegate>
 @end
 
 @implementation AutofillCreditCardEditTableViewController {
@@ -168,10 +166,10 @@
   NSArray<AutofillEditItem*>* editItems;
   if ([self isCardNicknameManagementEnabled]) {
     editItems = @[
-      [self cardholderNameItem:isEditing],
       [self cardNumberItem:isEditing],
       [self expirationMonthItem:isEditing],
       [self expirationYearItem:isEditing],
+      [self cardholderNameItem:isEditing],
       [self nicknameItem:isEditing],
     ];
   } else {
@@ -198,57 +196,42 @@
   }
 }
 
-#pragma mark - UITextFieldDelegate
+#pragma mark - TableViewTextEditItemDelegate
 
-// This method is called as the text is being typed in, pasted, or deleted. Asks
-// the delegate if the text should be changed. Should always return YES. During
-// typing/pasting text, |newText| contains one or more new characters. When user
-// deletes text, |newText| is empty. |range| is the range of characters to be
-// replaced.
-- (BOOL)textField:(UITextField*)textField
-    shouldChangeCharactersInRange:(NSRange)range
-                replacementString:(NSString*)newText {
-  // Find the respective item for the text field.
-  NSIndexPath* indexPath = [self indexPathForCurrentTextField];
-  DCHECK(indexPath);
-  AutofillEditItem* item = base::mac::ObjCCastStrict<AutofillEditItem>(
-      [self.tableViewModel itemAtIndexPath:indexPath]);
+- (void)tableViewItemDidBeginEditing:
+    (TableViewTextEditItem*)tableViewTextEditItem {
+  // No op.
+}
 
-  // If the user is typing in the credit card number field, update the card type
-  // icon (e.g. "Visa") to reflect the number being typed.
-  if (item.autofillUIType == AutofillUITypeCreditCardNumber) {
-    // Obtain the text being typed.
-    NSString* updatedText =
-        [textField.text stringByReplacingCharactersInRange:range
-                                                withString:newText];
-    const char* network = autofill::CreditCard::GetCardNetwork(
-        base::SysNSStringToUTF16(updatedText));
-    item.identifyingIcon = [self cardTypeIconFromNetwork:network];
-    // Update the cell.
-    [self reconfigureCellsForItems:@[ item ]];
+- (void)tableViewItemDidChange:(TableViewTextEditItem*)tableViewTextEditItem {
+  if ([tableViewTextEditItem isKindOfClass:[AutofillEditItem class]]) {
+    AutofillEditItem* item = (AutofillEditItem*)tableViewTextEditItem;
+
+    // If the user is typing in the credit card number field, update the card
+    // type icon (e.g. "Visa") to reflect the number being typed.
+    if (item.autofillUIType == AutofillUITypeCreditCardNumber) {
+      const char* network = autofill::CreditCard::GetCardNetwork(
+          base::SysNSStringToUTF16(item.textFieldValue));
+      item.identifyingIcon = [self cardTypeIconFromNetwork:network];
+      [self reconfigureCellsForItems:@[ item ]];
+    }
+
+    if (item.type == ItemTypeNickname) {
+      NSString* trimmedText = [item.textFieldValue
+          stringByTrimmingCharactersInSet:
+              [NSCharacterSet whitespaceAndNewlineCharacterSet]];
+      BOOL newNicknameIsValid = autofill::CreditCard::IsNicknameValid(
+          base::SysNSStringToUTF16(trimmedText));
+      self.navigationItem.rightBarButtonItem.enabled = newNicknameIsValid;
+      [item setHasValidText:newNicknameIsValid];
+      [self reconfigureCellsForItems:@[ item ]];
+    }
   }
+}
 
-  NSInteger itemType = [self.tableViewModel itemTypeForIndexPath:indexPath];
-  if (itemType == ItemTypeNickname) {
-    NSString* updatedText =
-        [textField.text stringByReplacingCharactersInRange:range
-                                                withString:newText];
-    updatedText = [updatedText
-        stringByTrimmingCharactersInSet:[NSCharacterSet
-                                            whitespaceAndNewlineCharacterSet]];
-
-    BOOL validNickname = autofill::CreditCard::IsNicknameValid(
-        base::SysNSStringToUTF16(updatedText));
-    [item setHasValidText:validNickname];
-    [self reconfigureCellsForItems:@[ item ]];
-    TableViewTextEditItemIconType icon =
-        validNickname ? TableViewTextEditItemIconTypeEdit
-                      : TableViewTextEditItemIconTypeError;
-    [self.nicknameCell setIcon:icon];
-    self.navigationItem.rightBarButtonItem.enabled = validNickname;
-  }
-
-  return YES;
+- (void)tableViewItemDidEndEditing:
+    (TableViewTextEditItem*)tableViewTextEditItem {
+  // No op.
 }
 
 #pragma mark - UITableViewDataSource
@@ -268,10 +251,7 @@
     case ItemTypeCardNumber:
     case ItemTypeExpirationMonth:
     case ItemTypeExpirationYear:
-      break;
     case ItemTypeNickname:
-      self.nicknameCell =
-          base::mac::ObjCCastStrict<TableViewTextEditCell>(cell);
       break;
     case ItemTypeCopiedToChrome: {
       CopiedToChromeCell* copiedToChromeCell =
@@ -365,6 +345,7 @@
   cardNumberItem.autofillUIType = AutofillUITypeCreditCardNumber;
   cardNumberItem.keyboardType = UIKeyboardTypeNumberPad;
   cardNumberItem.hideIcon = !isEditing;
+  cardNumberItem.delegate = self;
   // Hide credit card icon when editing.
   if (!isEditing) {
     cardNumberItem.identifyingIcon =
@@ -415,6 +396,7 @@
   nicknameItem.textFieldEnabled = isEditing;
   nicknameItem.keyboardType = UIKeyboardTypeDefault;
   nicknameItem.hideIcon = !isEditing;
+  nicknameItem.delegate = self;
   return nicknameItem;
 }
 
diff --git a/ios/chrome/browser/ui/settings/password/password_details/BUILD.gn b/ios/chrome/browser/ui/settings/password/password_details/BUILD.gn
index 0da1203..d2fca76 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/password/password_details/BUILD.gn
@@ -52,7 +52,6 @@
     "//components/autofill/core/common",
     "//components/password_manager/core/browser:affiliation",
     "//components/password_manager/core/browser:browser",
-    "//components/password_manager/core/common",
     "//components/strings",
     "//ios/chrome/app/strings:ios_chromium_strings_grit",
     "//ios/chrome/app/strings:ios_strings_grit",
diff --git a/ios/chrome/browser/ui/settings/password/password_details/password_details.mm b/ios/chrome/browser/ui/settings/password/password_details/password_details.mm
index 4cda8c26..2fc8814 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/password_details.mm
+++ b/ios/chrome/browser/ui/settings/password/password_details/password_details.mm
@@ -9,7 +9,6 @@
 #include "components/password_manager/core/browser/android_affiliation/affiliation_utils.h"
 #include "components/password_manager/core/browser/password_ui_utils.h"
 #include "components/password_manager/core/browser/well_known_change_password_util.h"
-#include "components/password_manager/core/common/password_manager_features.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
@@ -24,8 +23,8 @@
         form.signon_realm);
     if (facetUri.IsValidAndroidFacetURI()) {
       if (!form.app_display_name.empty()) {
-        _changePasswordURL =
-            [self changePasswordUrlFor:GURL(form.affiliated_web_realm)];
+        _changePasswordURL = password_manager::CreateChangePasswordUrl(
+            GURL(form.affiliated_web_realm));
         _origin = base::SysUTF8ToNSString(form.app_display_name);
         _website = base::SysUTF8ToNSString(form.app_display_name);
       } else {
@@ -36,7 +35,7 @@
       auto nameWithLink = password_manager::GetShownOriginAndLinkUrl(form);
       _origin = base::SysUTF8ToNSString(nameWithLink.first);
       _website = base::SysUTF8ToNSString(nameWithLink.second.spec());
-      _changePasswordURL = [self changePasswordUrlFor:form.url];
+      _changePasswordURL = password_manager::CreateChangePasswordUrl(form.url);
     }
     _username = base::SysUTF16ToNSString(form.username_value);
     _password = base::SysUTF16ToNSString(form.password_value);
@@ -44,14 +43,4 @@
   return self;
 }
 
-- (GURL)changePasswordUrlFor:(const GURL&)url {
-  if (!base::FeatureList::IsEnabled(
-          password_manager::features::kWellKnownChangePassword)) {
-    return url.GetOrigin();
-  }
-
-  return password_manager::CreateWellKnownNonExistingResourceURL(
-      url.GetOrigin());
-}
-
 @end
diff --git a/ios/chrome/browser/ui/settings/password/password_details/password_details_coordinator.mm b/ios/chrome/browser/ui/settings/password/password_details/password_details_coordinator.mm
index 1326a0b..a28aa14e7 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/password_details_coordinator.mm
+++ b/ios/chrome/browser/ui/settings/password/password_details/password_details_coordinator.mm
@@ -140,9 +140,12 @@
 }
 
 - (void)showPasswordDeleteDialogWithOrigin:(NSString*)origin {
-  NSString* message =
-      l10n_util::GetNSStringF(IDS_IOS_DELETE_COMPROMISED_PASSWORD_DESCRIPTION,
-                              base::SysNSStringToUTF16(origin));
+  NSString* message;
+
+  if (origin)
+    message =
+        l10n_util::GetNSStringF(IDS_IOS_DELETE_COMPROMISED_PASSWORD_DESCRIPTION,
+                                base::SysNSStringToUTF16(origin));
   self.actionSheetCoordinator = [[ActionSheetCoordinator alloc]
       initWithBaseViewController:self.viewController
                          browser:self.browser
diff --git a/ios/chrome/browser/ui/settings/password/password_details/password_details_handler.h b/ios/chrome/browser/ui/settings/password/password_details/password_details_handler.h
index 4245539c..8d77f21 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/password_details_handler.h
+++ b/ios/chrome/browser/ui/settings/password/password_details/password_details_handler.h
@@ -16,7 +16,8 @@
 - (void)showPasscodeDialog;
 
 // Called when the user wants to delete password. |origin| is a short website
-// version. It is displayed inside dialog.
+// version. It is displayed inside dialog. If |origin| is nil dialog is
+// displayed without message.
 - (void)showPasswordDeleteDialogWithOrigin:(NSString*)origin;
 
 // Called when the user wants to save edited password.
diff --git a/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller.mm b/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller.mm
index 6b7d9d1..5bec0ed 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller.mm
@@ -99,6 +99,13 @@
 #pragma mark - ChromeTableViewController
 
 - (void)editButtonPressed {
+  // If password value is missing, proceed with editing without
+  // reauthentication.
+  if (![self.password.password length]) {
+    [super editButtonPressed];
+    return;
+  }
+
   // Request reauthentication before revealing password during editing.
   // Editing mode will be entered on successful reauth.
   if (!self.tableView.editing && !self.isPasswordShown) {
@@ -128,23 +135,29 @@
   [model addItem:[self websiteItem]
       toSectionWithIdentifier:SectionIdentifierPassword];
 
-  [model addItem:[self usernameItem]
-      toSectionWithIdentifier:SectionIdentifierPassword];
+  // Blocked password forms don't have username value.
+  if ([self.password.username length]) {
+    [model addItem:[self usernameItem]
+        toSectionWithIdentifier:SectionIdentifierPassword];
+  }
 
-  self.passwordTextItem = [self passwordItem];
-  [model addItem:self.passwordTextItem
-      toSectionWithIdentifier:SectionIdentifierPassword];
+  // Federated and blocked password forms don't have password value.
+  if ([self.password.password length]) {
+    self.passwordTextItem = [self passwordItem];
+    [model addItem:self.passwordTextItem
+        toSectionWithIdentifier:SectionIdentifierPassword];
 
-  if (self.password.isCompromised) {
-    [model addSectionWithIdentifier:SectionIdentifierCompromisedInfo];
+    if (self.password.isCompromised) {
+      [model addSectionWithIdentifier:SectionIdentifierCompromisedInfo];
 
-    if (self.password.changePasswordURL.is_valid()) {
-      [model addItem:[self changePasswordItem]
+      if (self.password.changePasswordURL.is_valid()) {
+        [model addItem:[self changePasswordItem]
+            toSectionWithIdentifier:SectionIdentifierCompromisedInfo];
+      }
+
+      [model addItem:[self changePasswordRecommendationItem]
           toSectionWithIdentifier:SectionIdentifierCompromisedInfo];
     }
-
-    [model addItem:[self changePasswordRecommendationItem]
-        toSectionWithIdentifier:SectionIdentifierCompromisedInfo];
   }
 }
 
@@ -315,7 +328,13 @@
 // Called when user tapped Delete button during editing. It means presented
 // password should be deleted.
 - (void)deleteItems:(NSArray<NSIndexPath*>*)indexPaths {
-  [self.handler showPasswordDeleteDialogWithOrigin:self.password.origin];
+  // Pass origin only if password is compromised as confirmation message makes
+  // sense only in this case.
+  if (self.password.isCompromised) {
+    [self.handler showPasswordDeleteDialogWithOrigin:self.password.origin];
+  } else {
+    [self.handler showPasswordDeleteDialogWithOrigin:nil];
+  }
 }
 
 - (BOOL)shouldHideToolbar {
diff --git a/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller_unittest.mm b/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller_unittest.mm
index 2583360..27e6d7e1 100644
--- a/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller_unittest.mm
+++ b/ios/chrome/browser/ui/settings/password/password_details/password_details_table_view_controller_unittest.mm
@@ -129,6 +129,32 @@
     [passwords_controller setPassword:passwordDetails];
   }
 
+  void SetFederatedPassword() {
+    auto form = autofill::PasswordForm();
+    form.username_value = base::ASCIIToUTF16("test@egmail.com");
+    form.url = GURL(base::ASCIIToUTF16("http://www.example.com/"));
+    form.signon_realm = form.url.spec();
+    form.federation_origin =
+        url::Origin::Create(GURL("http://www.example.com/"));
+    PasswordDetails* password =
+        [[PasswordDetails alloc] initWithPasswordForm:form];
+    PasswordDetailsTableViewController* passwords_controller =
+        static_cast<PasswordDetailsTableViewController*>(controller());
+    [passwords_controller setPassword:password];
+  }
+
+  void SetBlockedOrigin() {
+    auto form = autofill::PasswordForm();
+    form.url = GURL("http://www.example.com/");
+    form.blocked_by_user = true;
+    form.signon_realm = form.url.spec();
+    PasswordDetails* password =
+        [[PasswordDetails alloc] initWithPasswordForm:form];
+    PasswordDetailsTableViewController* passwords_controller =
+        static_cast<PasswordDetailsTableViewController*>(controller());
+    [passwords_controller setPassword:password];
+  }
+
   void CheckEditCellText(NSString* expected_text, int section, int item) {
     TableViewTextEditItem* cell =
         static_cast<TableViewTextEditItem*>(GetTableViewItem(section, item));
@@ -155,16 +181,6 @@
   MockReauthenticationModule* reauthentication_module_;
 };
 
-// Tests PasswordDetailsTableViewController is set up with appropriate items
-// and sections.
-TEST_F(PasswordDetailsTableViewControllerTest, TestModel) {
-  CreateController();
-  CheckController();
-  EXPECT_EQ(1, NumberOfSections());
-
-  EXPECT_EQ(3, NumberOfItemsInSection(0));
-}
-
 // Tests that password is displayed properly.
 TEST_F(PasswordDetailsTableViewControllerTest, TestPassword) {
   SetPassword();
@@ -345,3 +361,38 @@
   CheckDetailItemTextWithId(IDS_IOS_CHANGE_COMPROMISED_PASSWORD_DESCRIPTION, 1,
                             0);
 }
+
+// Tests federated credential is shown without password value and editing
+// doesn't require reauth.
+TEST_F(PasswordDetailsTableViewControllerTest, TestFederatedCredential) {
+  SetFederatedPassword();
+  EXPECT_EQ(1, NumberOfSections());
+  EXPECT_EQ(2, NumberOfItemsInSection(0));
+
+  CheckEditCellText(@"http://www.example.com/", 0, 0);
+  CheckEditCellText(@"test@egmail.com", 0, 1);
+
+  reauth().expectedResult = ReauthenticationResult::kFailure;
+  PasswordDetailsTableViewController* passwordDetails =
+      base::mac::ObjCCastStrict<PasswordDetailsTableViewController>(
+          controller());
+  [passwordDetails editButtonPressed];
+  EXPECT_TRUE(passwordDetails.tableView.editing);
+}
+
+// Tests blocked website is shown without password and username values and
+// editing doesn't require reauth.
+TEST_F(PasswordDetailsTableViewControllerTest, TestBlockedOrigin) {
+  SetBlockedOrigin();
+  EXPECT_EQ(1, NumberOfSections());
+  EXPECT_EQ(1, NumberOfItemsInSection(0));
+
+  CheckEditCellText(@"http://www.example.com/", 0, 0);
+
+  reauth().expectedResult = ReauthenticationResult::kFailure;
+  PasswordDetailsTableViewController* passwordDetails =
+      base::mac::ObjCCastStrict<PasswordDetailsTableViewController>(
+          controller());
+  [passwordDetails editButtonPressed];
+  EXPECT_TRUE(passwordDetails.tableView.editing);
+}
diff --git a/ios/chrome/browser/ui/settings/password/passwords_settings_app_interface.mm b/ios/chrome/browser/ui/settings/password/passwords_settings_app_interface.mm
index ddac1d22..158f8c4 100644
--- a/ios/chrome/browser/ui/settings/password/passwords_settings_app_interface.mm
+++ b/ios/chrome/browser/ui/settings/password/passwords_settings_app_interface.mm
@@ -162,7 +162,7 @@
 }
 
 + (void)dismissSnackBar {
-  [[MDCSnackbarManager defaultManager]
+  [MDCSnackbarManager.defaultManager
       dismissAndCallCompletionBlocksWithCategory:@"PasswordsSnackbarCategory"];
 }
 
diff --git a/ios/chrome/browser/ui/side_swipe/BUILD.gn b/ios/chrome/browser/ui/side_swipe/BUILD.gn
index 2cb55f7..e893cf3a 100644
--- a/ios/chrome/browser/ui/side_swipe/BUILD.gn
+++ b/ios/chrome/browser/ui/side_swipe/BUILD.gn
@@ -63,6 +63,7 @@
     "//ios/chrome/browser/browser_state:test_support",
     "//ios/chrome/browser/main:test_support",
     "//ios/chrome/browser/web_state_list",
+    "//ios/chrome/test:test_support",
     "//ios/web/common",
     "//ios/web/public/test",
     "//testing/gtest",
diff --git a/ios/chrome/browser/ui/side_swipe/side_swipe_controller_unittest.mm b/ios/chrome/browser/ui/side_swipe/side_swipe_controller_unittest.mm
index 23b626a..961b11b 100644
--- a/ios/chrome/browser/ui/side_swipe/side_swipe_controller_unittest.mm
+++ b/ios/chrome/browser/ui/side_swipe/side_swipe_controller_unittest.mm
@@ -4,18 +4,24 @@
 
 #import "ios/chrome/browser/ui/side_swipe/side_swipe_controller.h"
 
+#import <WebKit/WebKit.h>
+
 #include "ios/chrome/browser/browser_state/test_chrome_browser_state.h"
 #include "ios/chrome/browser/chrome_url_constants.h"
 #import "ios/chrome/browser/main/test_browser.h"
 #import "ios/chrome/browser/web_state_list/web_state_list.h"
 #import "ios/chrome/browser/web_state_list/web_state_list_delegate.h"
 #import "ios/chrome/browser/web_state_list/web_state_opener.h"
+#import "ios/chrome/test/scoped_key_window.h"
+#import "ios/web/common/crw_web_view_content_view.h"
 #include "ios/web/common/features.h"
 #import "ios/web/public/navigation/navigation_item.h"
 #import "ios/web/public/test/fakes/fake_navigation_context.h"
 #import "ios/web/public/test/fakes/test_navigation_manager.h"
 #import "ios/web/public/test/fakes/test_web_state.h"
 #include "ios/web/public/test/web_task_environment.h"
+#import "ios/web/public/ui/crw_web_view_proxy.h"
+#import "ios/web/public/ui/crw_web_view_scroll_view_proxy.h"
 #include "testing/platform_test.h"
 #import "third_party/ocmock/OCMock/OCMock.h"
 #import "third_party/ocmock/gtest_support.h"
@@ -40,9 +46,23 @@
 
 class SideSwipeControllerTest : public PlatformTest {
  public:
-  void SetUp() override {
+  SideSwipeControllerTest()
+      : web_view_([[WKWebView alloc]
+            initWithFrame:scoped_window_.Get().bounds
+            configuration:[[WKWebViewConfiguration alloc] init]]),
+        content_view_([[CRWWebViewContentView alloc]
+            initWithWebView:web_view_
+                 scrollView:web_view_.scrollView]) {
     std::unique_ptr<web::TestWebState> original_web_state(
         std::make_unique<web::TestWebState>());
+    original_web_state->SetView(content_view_);
+    CRWWebViewScrollViewProxy* scroll_view_proxy =
+        [[CRWWebViewScrollViewProxy alloc] init];
+    UIScrollView* scroll_view = [[UIScrollView alloc] init];
+    [scroll_view_proxy setScrollView:scroll_view];
+    id web_view_proxy_mock = OCMProtocolMock(@protocol(CRWWebViewProxy));
+    [[[web_view_proxy_mock stub] andReturn:scroll_view_proxy] scrollViewProxy];
+    original_web_state->SetWebViewProxy(web_view_proxy_mock);
 
     web_state_list_ = std::make_unique<WebStateList>(&web_state_list_delegate_);
     web_state_list_->InsertWebState(0, std::move(original_web_state),
@@ -69,9 +89,11 @@
   TestWebStateListDelegate web_state_list_delegate_;
   std::unique_ptr<WebStateList> web_state_list_;
   std::unique_ptr<Browser> browser_;
-
   UIView* view_;
   SideSwipeController* side_swipe_controller_;
+  ScopedKeyWindow scoped_window_;
+  WKWebView* web_view_ = nil;
+  CRWWebViewContentView* content_view_ = nil;
 };
 
 TEST_F(SideSwipeControllerTest, TestConstructor) {
@@ -148,6 +170,14 @@
   ASSERT_FALSE(side_swipe_controller_.trailingEdgeNavigationEnabled);
 
   auto testWebState = std::make_unique<web::TestWebState>();
+  testWebState->SetView(content_view_);
+  CRWWebViewScrollViewProxy* scroll_view_proxy =
+      [[CRWWebViewScrollViewProxy alloc] init];
+  UIScrollView* scroll_view = [[UIScrollView alloc] init];
+  [scroll_view_proxy setScrollView:scroll_view];
+  id web_view_proxy_mock = OCMProtocolMock(@protocol(CRWWebViewProxy));
+  [[[web_view_proxy_mock stub] andReturn:scroll_view_proxy] scrollViewProxy];
+  testWebState->SetWebViewProxy(web_view_proxy_mock);
   web::TestWebState* testWebStatePtr = testWebState.get();
   auto testNavigationManager = std::make_unique<web::TestNavigationManager>();
   std::unique_ptr<web::NavigationItem> item = web::NavigationItem::Create();
diff --git a/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm b/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm
index aadded1..30e4aa8a 100644
--- a/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm
+++ b/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm
@@ -407,12 +407,6 @@
                  focusOmnibox:NO];
 }
 
-- (void)showActiveIncognitoTabFromRecentTabs {
-  [self.delegate tabGrid:self
-      shouldFinishWithBrowser:self.incognitoBrowser
-                 focusOmnibox:NO];
-}
-
 #pragma mark - HistoryPresentationDelegate
 
 - (void)showActiveRegularTabFromHistory {
diff --git a/ios/chrome/browser/ui/translate/translate_notification_presenter.mm b/ios/chrome/browser/ui/translate/translate_notification_presenter.mm
index d07c8e1..f8010bc 100644
--- a/ios/chrome/browser/ui/translate/translate_notification_presenter.mm
+++ b/ios/chrome/browser/ui/translate/translate_notification_presenter.mm
@@ -99,7 +99,7 @@
 }
 
 - (void)dismissNotification {
-  [[MDCSnackbarManager defaultManager]
+  [MDCSnackbarManager.defaultManager
       dismissAndCallCompletionBlocksWithCategory:
           kTranslateNotificationSnackbarCategory];
 }
diff --git a/ios/chrome/browser/ui/util/layout_guide_names.h b/ios/chrome/browser/ui/util/layout_guide_names.h
index 69c8527..2d88e42 100644
--- a/ios/chrome/browser/ui/util/layout_guide_names.h
+++ b/ios/chrome/browser/ui/util/layout_guide_names.h
@@ -55,5 +55,8 @@
 // A guide that is constrained to match the frame of the last-tapped voice
 // search button.
 extern GuideName* const kVoiceSearchButtonGuide;
+// A guide that is constrained to match the frame of the Discover feed header's
+// top-level menu button.
+extern GuideName* const kDiscoverFeedHeaderMenuGuide;
 
 #endif  // IOS_CHROME_BROWSER_UI_UTIL_LAYOUT_GUIDE_NAMES_H_
diff --git a/ios/chrome/browser/ui/util/layout_guide_names.mm b/ios/chrome/browser/ui/util/layout_guide_names.mm
index a7a2b70e..5ff6066 100644
--- a/ios/chrome/browser/ui/util/layout_guide_names.mm
+++ b/ios/chrome/browser/ui/util/layout_guide_names.mm
@@ -26,3 +26,4 @@
 GuideName* const kTranslateInfobarOptionsGuide =
     @"kTranslateInfobarOptionsGuide";
 GuideName* const kVoiceSearchButtonGuide = @"kVoiceSearchButtonGuide";
+GuideName* const kDiscoverFeedHeaderMenuGuide = @"kDiscoverFeedHeaderMenuGuide";
diff --git a/ios/chrome/common/ui/elements/popover_label_view_controller.mm b/ios/chrome/common/ui/elements/popover_label_view_controller.mm
index 2366d4c..d393141 100644
--- a/ios/chrome/common/ui/elements/popover_label_view_controller.mm
+++ b/ios/chrome/common/ui/elements/popover_label_view_controller.mm
@@ -113,10 +113,9 @@
 
   [_scrollView addSubview:textView];
 
-  // Only create secondary TextView when |secondaryAttributedString| is not nil.
-  // Set the constraint accordingly.
-  if (self.secondaryAttributedString &&
-      !self.secondaryAttributedString.length) {
+  // Only create secondary TextView when |secondaryAttributedString| is not nil
+  // or empty. Set the constraint accordingly.
+  if (self.secondaryAttributedString.length) {
     UITextView* secondaryTextView = [[UITextView alloc] init];
     secondaryTextView.scrollEnabled = NO;
     secondaryTextView.editable = NO;
diff --git a/ios/chrome/test/earl_grey/chrome_earl_grey_app_interface.mm b/ios/chrome/test/earl_grey/chrome_earl_grey_app_interface.mm
index 0439000..1b5cf48 100644
--- a/ios/chrome/test/earl_grey/chrome_earl_grey_app_interface.mm
+++ b/ios/chrome/test/earl_grey/chrome_earl_grey_app_interface.mm
@@ -699,16 +699,16 @@
 + (BOOL)isVariationEnabled:(int)variationID {
   variations::VariationsIdsProvider* provider =
       variations::VariationsIdsProvider::GetInstance();
-  std::vector<variations::VariationID> ids =
-      provider->GetVariationsVector(variations::GOOGLE_WEB_PROPERTIES);
+  std::vector<variations::VariationID> ids = provider->GetVariationsVector(
+      variations::GOOGLE_WEB_PROPERTIES_ANY_CONTEXT);
   return std::find(ids.begin(), ids.end(), variationID) != ids.end();
 }
 
 + (BOOL)isTriggerVariationEnabled:(int)variationID {
   variations::VariationsIdsProvider* provider =
       variations::VariationsIdsProvider::GetInstance();
-  std::vector<variations::VariationID> ids =
-      provider->GetVariationsVector(variations::GOOGLE_WEB_PROPERTIES_TRIGGER);
+  std::vector<variations::VariationID> ids = provider->GetVariationsVector(
+      variations::GOOGLE_WEB_PROPERTIES_TRIGGER_ANY_CONTEXT);
   return std::find(ids.begin(), ids.end(), variationID) != ids.end();
 }
 
diff --git a/ios/components/security_interstitials/lookalikes/lookalike_url_blocking_page.mm b/ios/components/security_interstitials/lookalikes/lookalike_url_blocking_page.mm
index 3a182a2..4466e63 100644
--- a/ios/components/security_interstitials/lookalikes/lookalike_url_blocking_page.mm
+++ b/ios/components/security_interstitials/lookalikes/lookalike_url_blocking_page.mm
@@ -66,7 +66,8 @@
     load_time_data->SetBoolean("cant_go_back", true);
   }
 
-  PopulateLookalikeUrlBlockingPageStrings(load_time_data, safe_url_);
+  PopulateLookalikeUrlBlockingPageStrings(load_time_data, safe_url_,
+                                          request_url());
 }
 
 void LookalikeUrlBlockingPage::HandleScriptCommand(
diff --git a/ios/third_party/earl_grey2/ios_eg2_test.gni b/ios/third_party/earl_grey2/ios_eg2_test.gni
index 71aa6eb..61b6b82 100644
--- a/ios/third_party/earl_grey2/ios_eg2_test.gni
+++ b/ios/third_party/earl_grey2/ios_eg2_test.gni
@@ -122,10 +122,6 @@
       "--host-app",
       "@WrappedPath(${_root_build_dir}/${xcode_test_application_name}.app)",
     ]
-
-    # All EG2 tests require xcode-parallelization. EG2 doesn't use xctest, so we
-    # leave undefined
-    executable_args += [ "--xcode-parallelization" ]
   }
 }
 
diff --git a/ios/third_party/material_components_ios/BUILD.gn b/ios/third_party/material_components_ios/BUILD.gn
index 74d3461..f9b9c14 100644
--- a/ios/third_party/material_components_ios/BUILD.gn
+++ b/ios/third_party/material_components_ios/BUILD.gn
@@ -64,8 +64,8 @@
   "src/components/BottomNavigation/src/MDCBottomNavigationBarController.h",
   "src/components/BottomNavigation/src/MDCBottomNavigationBarControllerDelegate.h",
   "src/components/BottomNavigation/src/MDCBottomNavigationBarDelegate.h",
+  "src/components/BottomNavigation/src/MaterialBottomNavigation+BottomNavigationController.h",
   "src/components/BottomNavigation/src/MaterialBottomNavigation.h",
-  "src/components/BottomNavigation/src/MaterialBottomNavigationBeta.h",
   "src/components/BottomNavigation/src/Theming/MDCBottomNavigationBar+MaterialTheming.h",
   "src/components/BottomNavigation/src/Theming/MaterialBottomNavigation+Theming.h",
   "src/components/BottomNavigation/src/private/MDCBottomNavigationBar+Private.h",
@@ -291,6 +291,8 @@
   "src/components/Ripple/src/MaterialRipple.h",
   "src/components/Ripple/src/private/MDCRippleLayer.h",
   "src/components/Ripple/src/private/MDCRippleLayerDelegate.h",
+  "src/components/ScalableFontDescriptor/src/MDCScalableFontDescriptor.h",
+  "src/components/ScalableFontDescriptor/src/MaterialScalableFontDescriptor.h",
   "src/components/ShadowElevations/src/MDCShadowElevations.h",
   "src/components/ShadowElevations/src/MaterialShadowElevations.h",
   "src/components/ShadowLayer/src/MDCShadowLayer.h",
@@ -454,7 +456,6 @@
   "src/components/Typography/src/private/UIFont+MaterialTypographyPrivate.h",
   "src/components/private/Application/src/MaterialApplication.h",
   "src/components/private/Application/src/UIApplication+MDCAppExtensions.h",
-  "src/components/private/Beta/src/MaterialBetaComponent.h",
   "src/components/private/Color/src/MaterialColor.h",
   "src/components/private/Color/src/UIColor+MaterialBlending.h",
   "src/components/private/Color/src/UIColor+MaterialDynamic.h",
@@ -628,6 +629,7 @@
   "src/components/ProgressView/src/private",
   "src/components/Ripple/src",
   "src/components/Ripple/src/private",
+  "src/components/ScalableFontDescriptor/src",
   "src/components/ShadowElevations/src",
   "src/components/ShadowLayer/src",
   "src/components/ShapeLibrary/src",
@@ -668,7 +670,6 @@
   "src/components/Typography/src",
   "src/components/Typography/src/private",
   "src/components/private/Application/src",
-  "src/components/private/Beta/src",
   "src/components/private/Color/src",
   "src/components/private/Icons/icons/ic_arrow_back/src",
   "src/components/private/Icons/icons/ic_check/src",
@@ -781,8 +782,8 @@
   "src/components/BottomNavigation/src/MDCBottomNavigationBarController.m",
   "src/components/BottomNavigation/src/MDCBottomNavigationBarControllerDelegate.h",
   "src/components/BottomNavigation/src/MDCBottomNavigationBarDelegate.h",
+  "src/components/BottomNavigation/src/MaterialBottomNavigation+BottomNavigationController.h",
   "src/components/BottomNavigation/src/MaterialBottomNavigation.h",
-  "src/components/BottomNavigation/src/MaterialBottomNavigationBeta.h",
   "src/components/BottomNavigation/src/Theming/MDCBottomNavigationBar+MaterialTheming.h",
   "src/components/BottomNavigation/src/Theming/MDCBottomNavigationBar+MaterialTheming.m",
   "src/components/BottomNavigation/src/Theming/MaterialBottomNavigation+Theming.h",
@@ -1126,6 +1127,9 @@
   "src/components/Ripple/src/private/MDCRippleLayer.h",
   "src/components/Ripple/src/private/MDCRippleLayer.m",
   "src/components/Ripple/src/private/MDCRippleLayerDelegate.h",
+  "src/components/ScalableFontDescriptor/src/MDCScalableFontDescriptor.h",
+  "src/components/ScalableFontDescriptor/src/MDCScalableFontDescriptor.m",
+  "src/components/ScalableFontDescriptor/src/MaterialScalableFontDescriptor.h",
   "src/components/ShadowElevations/src/MDCShadowElevations.h",
   "src/components/ShadowElevations/src/MaterialShadowElevations.h",
   "src/components/ShadowElevations/src/MaterialShadowElevationsDummy.m",
@@ -1376,7 +1380,6 @@
   "src/components/private/Application/src/MaterialApplication.h",
   "src/components/private/Application/src/UIApplication+MDCAppExtensions.h",
   "src/components/private/Application/src/UIApplication+MDCAppExtensions.m",
-  "src/components/private/Beta/src/MaterialBetaComponent.h",
   "src/components/private/Color/src/MaterialColor.h",
   "src/components/private/Color/src/UIColor+MaterialBlending.h",
   "src/components/private/Color/src/UIColor+MaterialBlending.m",
diff --git a/media/gpu/command_buffer_helper.cc b/media/gpu/command_buffer_helper.cc
index 61f000f..7da5cd92 100644
--- a/media/gpu/command_buffer_helper.cc
+++ b/media/gpu/command_buffer_helper.cc
@@ -14,12 +14,9 @@
 #include "gpu/command_buffer/common/scheduling_priority.h"
 #include "gpu/command_buffer/service/decoder_context.h"
 #include "gpu/command_buffer/service/scheduler.h"
-#include "gpu/command_buffer/service/shared_image_backing.h"
-#include "gpu/command_buffer/service/shared_image_representation.h"
 #include "gpu/command_buffer/service/sync_point_manager.h"
 #include "gpu/ipc/service/command_buffer_stub.h"
 #include "gpu/ipc/service/gpu_channel.h"
-#include "gpu/ipc/service/gpu_channel_manager.h"
 #include "media/gpu/gles2_decoder_helper.h"
 #include "ui/gl/gl_context.h"
 
@@ -48,8 +45,6 @@
 #endif  // defined(OS_MAC)
     );
     decoder_helper_ = GLES2DecoderHelper::Create(stub_->decoder_context());
-    tracker_ =
-        std::make_unique<gpu::MemoryTypeTracker>(stub_->GetMemoryTracker());
   }
 
   gl::GLContext* GetGLContext() override {
@@ -82,24 +77,6 @@
     return decoder_helper_ && decoder_helper_->MakeContextCurrent();
   }
 
-  std::unique_ptr<gpu::SharedImageRepresentationFactoryRef> Register(
-      std::unique_ptr<gpu::SharedImageBacking> backing) override {
-    DVLOG(2) << __func__;
-    DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
-    return stub_->channel()
-        ->gpu_channel_manager()
-        ->shared_image_manager()
-        ->Register(std::move(backing), tracker_.get());
-  }
-
-  gpu::TextureBase* GetTexture(GLuint service_id) const override {
-    DVLOG(2) << __func__ << "(" << service_id << ")";
-    DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
-    DCHECK(stub_->decoder_context()->GetGLContext()->IsCurrent(nullptr));
-    DCHECK(textures_.count(service_id));
-    return textures_.at(service_id)->GetTextureBase();
-  }
-
   GLuint CreateTexture(GLenum target,
                        GLenum internal_format,
                        GLsizei width,
@@ -240,8 +217,6 @@
 
   WillDestroyStubCB will_destroy_stub_cb_;
 
-  std::unique_ptr<gpu::MemoryTypeTracker> tracker_;
-
   THREAD_CHECKER(thread_checker_);
   DISALLOW_COPY_AND_ASSIGN(CommandBufferHelperImpl);
 };
diff --git a/media/gpu/command_buffer_helper.h b/media/gpu/command_buffer_helper.h
index 57922b49..802dca9 100644
--- a/media/gpu/command_buffer_helper.h
+++ b/media/gpu/command_buffer_helper.h
@@ -18,10 +18,7 @@
 
 namespace gpu {
 class CommandBufferStub;
-class SharedImageBacking;
-class SharedImageRepresentationFactoryRef;
 class SharedImageStub;
-class TextureBase;
 }  // namespace gpu
 
 namespace gl {
@@ -62,12 +59,6 @@
   // Makes the GL context current.
   virtual bool MakeContextCurrent() = 0;
 
-  // Register a shared image backing
-  virtual std::unique_ptr<gpu::SharedImageRepresentationFactoryRef> Register(
-      std::unique_ptr<gpu::SharedImageBacking> backing) = 0;
-
-  virtual gpu::TextureBase* GetTexture(GLuint service_id) const = 0;
-
   // Creates a texture and returns its |service_id|.
   //
   // See glTexImage2D() for argument definitions.
diff --git a/media/gpu/test/fake_command_buffer_helper.cc b/media/gpu/test/fake_command_buffer_helper.cc
index 4890e0b..8273c23 100644
--- a/media/gpu/test/fake_command_buffer_helper.cc
+++ b/media/gpu/test/fake_command_buffer_helper.cc
@@ -3,8 +3,6 @@
 // found in the LICENSE file.
 
 #include "media/gpu/test/fake_command_buffer_helper.h"
-#include "gpu/command_buffer/service/shared_image_backing.h"
-#include "gpu/command_buffer/service/shared_image_representation.h"
 
 #include "base/logging.h"
 
@@ -81,21 +79,6 @@
   return is_context_current_;
 }
 
-std::unique_ptr<gpu::SharedImageRepresentationFactoryRef>
-FakeCommandBufferHelper::Register(
-    std::unique_ptr<gpu::SharedImageBacking> backing) {
-  DVLOG(2) << __func__;
-  DCHECK(task_runner_->BelongsToCurrentThread());
-  return nullptr;
-}
-
-gpu::TextureBase* FakeCommandBufferHelper::GetTexture(GLuint service_id) const {
-  DVLOG(2) << __func__ << "(" << service_id << ")";
-  DCHECK(task_runner_->BelongsToCurrentThread());
-  DCHECK(service_ids_.count(service_id));
-  return nullptr;
-}
-
 GLuint FakeCommandBufferHelper::CreateTexture(GLenum target,
                                               GLenum internal_format,
                                               GLsizei width,
diff --git a/media/gpu/test/fake_command_buffer_helper.h b/media/gpu/test/fake_command_buffer_helper.h
index c32595ddb..25f4ade9 100644
--- a/media/gpu/test/fake_command_buffer_helper.h
+++ b/media/gpu/test/fake_command_buffer_helper.h
@@ -42,9 +42,6 @@
   gpu::SharedImageStub* GetSharedImageStub() override;
   bool HasStub() override;
   bool MakeContextCurrent() override;
-  std::unique_ptr<gpu::SharedImageRepresentationFactoryRef> Register(
-      std::unique_ptr<gpu::SharedImageBacking> backing) override;
-  gpu::TextureBase* GetTexture(GLuint service_id) const override;
   GLuint CreateTexture(GLenum target,
                        GLenum internal_format,
                        GLsizei width,
diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc
index 5cb4e296..e7f8e2d 100644
--- a/media/gpu/vaapi/vaapi_wrapper.cc
+++ b/media/gpu/vaapi/vaapi_wrapper.cc
@@ -745,8 +745,8 @@
     if (attribs[i].type != required_attribs[i].type ||
         (attribs[i].value & required_attribs[i].value) !=
             required_attribs[i].value) {
-      DVLOG(1) << "Unsupported value " << required_attribs[i].value
-               << " for attribute type " << required_attribs[i].type;
+      DVLOG(1) << "Unsupported value " << required_attribs[i].value << " for "
+               << vaConfigAttribTypeStr(required_attribs[i].type);
       return false;
     }
   }
@@ -2151,6 +2151,7 @@
                                base::Optional<gfx::Rect> src_rect,
                                base::Optional<gfx::Rect> dest_rect,
                                VideoRotation rotation) {
+  DCHECK_EQ(mode_, kVideoProcess);
   base::AutoLock auto_lock(*va_lock_);
 
   // Create a buffer for VPP if it has not been created.
diff --git a/media/gpu/video_encode_accelerator_perf_tests.cc b/media/gpu/video_encode_accelerator_perf_tests.cc
index f86d3824..f56de0dc 100644
--- a/media/gpu/video_encode_accelerator_perf_tests.cc
+++ b/media/gpu/video_encode_accelerator_perf_tests.cc
@@ -271,7 +271,8 @@
  public:
   // Create a new video encoder instance.
   std::unique_ptr<VideoEncoder> CreateVideoEncoder(const Video* video,
-                                                   VideoCodecProfile profile) {
+                                                   VideoCodecProfile profile,
+                                                   uint32_t bitrate) {
     LOG_ASSERT(video);
 
     std::vector<std::unique_ptr<BitstreamProcessor>> bitstream_processors;
@@ -279,11 +280,10 @@
     performance_evaluator_ = performance_evaluator.get();
     bitstream_processors.push_back(std::move(performance_evaluator));
 
-    VideoEncoderClientConfig config;
-    config.framerate = video->FrameRate();
-    config.output_profile = profile;
+    VideoEncoderClientConfig config(video, profile, bitrate);
     auto video_encoder =
-        VideoEncoder::Create(config, std::move(bitstream_processors));
+        VideoEncoder::Create(config, g_env->GetGpuMemoryBufferFactory(),
+                             std::move(bitstream_processors));
     LOG_ASSERT(video_encoder);
     LOG_ASSERT(video_encoder->Initialize(video));
 
@@ -299,7 +299,8 @@
 // test will encode a video as fast as possible, and gives an idea about the
 // maximum output of the encoder.
 TEST_F(VideoEncoderTest, MeasureUncappedPerformance) {
-  auto encoder = CreateVideoEncoder(g_env->Video(), g_env->Profile());
+  auto encoder =
+      CreateVideoEncoder(g_env->Video(), g_env->Profile(), g_env->Bitrate());
 
   performance_evaluator_->StartMeasuring();
   encoder->Encode();
diff --git a/media/gpu/windows/d3d11_copying_texture_wrapper.cc b/media/gpu/windows/d3d11_copying_texture_wrapper.cc
index cbe44cf..9157fe8 100644
--- a/media/gpu/windows/d3d11_copying_texture_wrapper.cc
+++ b/media/gpu/windows/d3d11_copying_texture_wrapper.cc
@@ -30,6 +30,8 @@
 CopyingTexture2DWrapper::~CopyingTexture2DWrapper() = default;
 
 Status CopyingTexture2DWrapper::ProcessTexture(
+    ComD3D11Texture2D texture,
+    size_t array_slice,
     const gfx::ColorSpace& input_color_space,
     MailboxHolderArray* mailbox_dest,
     gfx::ColorSpace* output_color_space) {
@@ -46,11 +48,11 @@
 
   D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC input_view_desc = {0};
   input_view_desc.ViewDimension = D3D11_VPIV_DIMENSION_TEXTURE2D;
-  input_view_desc.Texture2D.ArraySlice = array_slice_;
+  input_view_desc.Texture2D.ArraySlice = array_slice;
   input_view_desc.Texture2D.MipSlice = 0;
   ComD3D11VideoProcessorInputView input_view;
   hr = video_processor_->CreateVideoProcessorInputView(
-      texture_.Get(), &input_view_desc, &input_view);
+      texture.Get(), &input_view_desc, &input_view);
   if (!SUCCEEDED(hr)) {
     return Status(StatusCode::kCreateVideoProcessorInputViewFailed)
         .AddCause(HresultToStatus(hr));
@@ -83,27 +85,19 @@
         .AddCause(HresultToStatus(hr));
   }
 
-  return output_texture_wrapper_->ProcessTexture(copy_color_space, mailbox_dest,
-                                                 output_color_space);
+  return output_texture_wrapper_->ProcessTexture(
+      output_texture_, 0, copy_color_space, mailbox_dest, output_color_space);
 }
 
 Status CopyingTexture2DWrapper::Init(
     scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner,
-    GetCommandBufferHelperCB get_helper_cb,
-    ComD3D11Texture2D texture,
-    size_t array_slice) {
+    GetCommandBufferHelperCB get_helper_cb) {
   auto result = video_processor_->Init(size_.width(), size_.height());
   if (!result.is_ok())
     return std::move(result).AddHere();
 
-  // Remember the texture + array_slice so later, ProcessTexture can still use
-  // it.
-  texture_ = texture;
-  array_slice_ = array_slice;
-
   return output_texture_wrapper_->Init(std::move(gpu_task_runner),
-                                       std::move(get_helper_cb),
-                                       output_texture_, /*array_slice=*/0);
+                                       std::move(get_helper_cb));
 }
 
 void CopyingTexture2DWrapper::SetStreamHDRMetadata(
diff --git a/media/gpu/windows/d3d11_copying_texture_wrapper.h b/media/gpu/windows/d3d11_copying_texture_wrapper.h
index 1583f8b..e62d1c7 100644
--- a/media/gpu/windows/d3d11_copying_texture_wrapper.h
+++ b/media/gpu/windows/d3d11_copying_texture_wrapper.h
@@ -31,14 +31,14 @@
                           base::Optional<gfx::ColorSpace> output_color_space);
   ~CopyingTexture2DWrapper() override;
 
-  Status ProcessTexture(const gfx::ColorSpace& input_color_space,
+  Status ProcessTexture(ComD3D11Texture2D texture,
+                        size_t array_slice,
+                        const gfx::ColorSpace& input_color_space,
                         MailboxHolderArray* mailbox_dest,
                         gfx::ColorSpace* output_color_space) override;
 
   Status Init(scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner,
-              GetCommandBufferHelperCB get_helper_cb,
-              ComD3D11Texture2D texture,
-              size_t array_slice) override;
+              GetCommandBufferHelperCB get_helper_cb) override;
 
   void SetStreamHDRMetadata(const HDRMetadata& stream_metadata) override;
   void SetDisplayHDRMetadata(
@@ -54,9 +54,6 @@
 
   // If set, this is the color space that we last saw in ProcessTexture.
   base::Optional<gfx::ColorSpace> previous_input_color_space_;
-
-  ComD3D11Texture2D texture_;
-  size_t array_slice_ = 0;
 };
 
 }  // namespace media
diff --git a/media/gpu/windows/d3d11_copying_texture_wrapper_unittest.cc b/media/gpu/windows/d3d11_copying_texture_wrapper_unittest.cc
index e6058c9..9677dcc6 100644
--- a/media/gpu/windows/d3d11_copying_texture_wrapper_unittest.cc
+++ b/media/gpu/windows/d3d11_copying_texture_wrapper_unittest.cc
@@ -86,7 +86,9 @@
  public:
   MockTexture2DWrapper() {}
 
-  Status ProcessTexture(const gfx::ColorSpace& input_color_space,
+  Status ProcessTexture(ComD3D11Texture2D texture,
+                        size_t array_slice,
+                        const gfx::ColorSpace& input_color_space,
                         MailboxHolderArray* mailbox_dest,
                         gfx::ColorSpace* output_color_space) override {
     // Pretend we created an arbitrary color space, so that we're sure that it
@@ -96,9 +98,7 @@
   }
 
   Status Init(scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner,
-              GetCommandBufferHelperCB get_helper_cb,
-              ComD3D11Texture2D in_texture,
-              size_t array_slice) override {
+              GetCommandBufferHelperCB get_helper_cb) override {
     gpu_task_runner_ = std::move(gpu_task_runner);
     return MockInit();
   }
@@ -222,19 +222,16 @@
   MailboxHolderArray mailboxes;
   gfx::ColorSpace input_color_space = gfx::ColorSpace::CreateSCRGBLinear();
   gfx::ColorSpace output_color_space;
-  EXPECT_EQ(wrapper
-                ->Init(gpu_task_runner_, CreateMockHelperCB(),
-                       /*texture_d3d=*/nullptr, /*array_slice=*/0)
-                .is_ok(),
+  EXPECT_EQ(wrapper->Init(gpu_task_runner_, CreateMockHelperCB()).is_ok(),
             InitSucceeds());
   task_environment_.RunUntilIdle();
   if (GetProcessorProxyInit())
     EXPECT_EQ(texture_wrapper_raw->gpu_task_runner_, gpu_task_runner_);
-  EXPECT_EQ(
-      wrapper
-          ->ProcessTexture(input_color_space, &mailboxes, &output_color_space)
-          .is_ok(),
-      ProcessTextureSucceeds());
+  EXPECT_EQ(wrapper
+                ->ProcessTexture(nullptr, 0, input_color_space, &mailboxes,
+                                 &output_color_space)
+                .is_ok(),
+            ProcessTextureSucceeds());
 
   if (ProcessTextureSucceeds()) {
     // Regardless of what the input space is, the output should be provided by
diff --git a/media/gpu/windows/d3d11_picture_buffer.cc b/media/gpu/windows/d3d11_picture_buffer.cc
index aeb0d40..ee56553 100644
--- a/media/gpu/windows/d3d11_picture_buffer.cc
+++ b/media/gpu/windows/d3d11_picture_buffer.cc
@@ -52,9 +52,8 @@
   view_desc.ViewDimension = D3D11_VDOV_DIMENSION_TEXTURE2D;
   view_desc.Texture2D.ArraySlice = array_slice_;
 
-  Status result =
-      texture_wrapper_->Init(std::move(gpu_task_runner),
-                             std::move(get_helper_cb), texture_, array_slice_);
+  Status result = texture_wrapper_->Init(std::move(gpu_task_runner),
+                                         std::move(get_helper_cb));
   if (!result.is_ok()) {
     MEDIA_LOG(ERROR, media_log) << "Failed to Initialize the wrapper";
     return result;
@@ -76,7 +75,8 @@
     const gfx::ColorSpace& input_color_space,
     MailboxHolderArray* mailbox_dest,
     gfx::ColorSpace* output_color_space) {
-  return texture_wrapper_->ProcessTexture(input_color_space, mailbox_dest,
+  return texture_wrapper_->ProcessTexture(Texture(), array_slice_,
+                                          input_color_space, mailbox_dest,
                                           output_color_space);
 }
 
diff --git a/media/gpu/windows/d3d11_texture_wrapper.cc b/media/gpu/windows/d3d11_texture_wrapper.cc
index fccbc0a..80612a2f 100644
--- a/media/gpu/windows/d3d11_texture_wrapper.cc
+++ b/media/gpu/windows/d3d11_texture_wrapper.cc
@@ -9,38 +9,13 @@
 #include <utility>
 #include <vector>
 
-#include "components/viz/common/resources/resource_format_utils.h"
-#include "gpu/command_buffer/common/shared_image_usage.h"
 #include "gpu/command_buffer/service/mailbox_manager.h"
-#include "gpu/command_buffer/service/shared_image_backing_d3d.h"
 #include "media/base/bind_to_current_loop.h"
 #include "media/base/win/mf_helpers.h"
-#include "mojo/public/cpp/bindings/callback_helpers.h"
 #include "ui/gl/gl_image.h"
 
 namespace media {
 
-namespace {
-
-base::Optional<viz::ResourceFormat> DXGIFormatToVizFormat(
-    DXGI_FORMAT dxgi_format) {
-  switch (dxgi_format) {
-    case DXGI_FORMAT_NV12:
-      return viz::YUV_420_BIPLANAR;
-    case DXGI_FORMAT_P010:
-      return viz::P010;
-    case DXGI_FORMAT_B8G8R8A8_UNORM:
-      return viz::BGRA_8888;
-    case DXGI_FORMAT_R16G16B16A16_FLOAT:
-      return viz::RGBA_F16;
-    default:
-      NOTREACHED();
-      return {};
-  }
-}
-
-}  // anonymous namespace
-
 // Handy structure so that we can activate / bind one or two textures.
 struct ScopedTextureEverything {
   ScopedTextureEverything(GLenum unit, GLuint service_id)
@@ -88,6 +63,8 @@
 DefaultTexture2DWrapper::~DefaultTexture2DWrapper() = default;
 
 Status DefaultTexture2DWrapper::ProcessTexture(
+    ComD3D11Texture2D texture,
+    size_t array_slice,
     const gfx::ColorSpace& input_color_space,
     MailboxHolderArray* mailbox_dest,
     gfx::ColorSpace* output_color_space) {
@@ -98,6 +75,14 @@
     return Status(StatusCode::kProcessTextureFailed)
         .AddCause(std::move(*received_error_));
 
+  // Temporary check to track down https://crbug.com/1077645
+  CHECK(texture);
+
+  // It's okay to post and forget this call, since it'll be ordered correctly
+  // with respect to any access on the gpu main thread.
+  gpu_resources_.Post(FROM_HERE, &GpuResources::PushNewTexture,
+                      std::move(texture), array_slice);
+
   // TODO(liberato): make sure that |mailbox_holders_| is zero-initialized in
   // case we don't use all the planes.
   for (size_t i = 0; i < VideoFrame::kMaxPlanes; i++)
@@ -111,9 +96,7 @@
 
 Status DefaultTexture2DWrapper::Init(
     scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner,
-    GetCommandBufferHelperCB get_helper_cb,
-    ComD3D11Texture2D texture,
-    size_t array_slice) {
+    GetCommandBufferHelperCB get_helper_cb) {
   gpu_resources_ = base::SequenceBound<GpuResources>(
       std::move(gpu_task_runner),
       BindToCurrentLoop(base::BindOnce(&DefaultTexture2DWrapper::OnError,
@@ -140,18 +123,11 @@
   // The current implementation is.
   std::vector<gpu::Mailbox> mailboxes;
   for (int texture_idx = 0; texture_idx < textures_per_picture; texture_idx++) {
-    mailboxes.push_back(gpu::Mailbox::GenerateForSharedImage());
+    mailboxes.push_back(gpu::Mailbox::Generate());
     mailbox_holders_[texture_idx] = gpu::MailboxHolder(
         mailboxes[texture_idx], gpu::SyncToken(), GL_TEXTURE_EXTERNAL_OES);
   }
 
-  const base::Optional<viz::ResourceFormat> viz_format =
-      DXGIFormatToVizFormat(dxgi_format_);
-  if (!viz_format.has_value()) {
-    return Status(StatusCode::kUnsupportedTextureFormatForBind)
-        .WithData("dxgi_format", dxgi_format_);
-  }
-
   // Start construction of the GpuResources.
   // We send the texture itself, since we assume that we're using the angle
   // device for decoding.  Sharing seems not to work very well.  Otherwise, we
@@ -159,8 +135,7 @@
   // a handle that we get from |texture| as an IDXGIResource1.
   gpu_resources_.Post(FROM_HERE, &GpuResources::Init, std::move(get_helper_cb),
                       std::move(mailboxes), GL_TEXTURE_EXTERNAL_OES, size_,
-                      textures_per_picture, viz_format.value(), texture,
-                      array_slice);
+                      textures_per_picture);
   return OkStatus();
 }
 
@@ -190,10 +165,7 @@
     const std::vector<gpu::Mailbox> mailboxes,
     GLenum target,
     gfx::Size size,
-    int textures_per_picture,
-    viz::ResourceFormat format,
-    ComD3D11Texture2D texture,
-    size_t array_slice) {
+    int textures_per_picture) {
   helper_ = get_helper_cb.Run();
 
   if (!helper_ || !helper_->MakeContextCurrent()) {
@@ -201,6 +173,17 @@
     return;
   }
 
+  // Create the textures and attach them to the mailboxes.
+  // TODO(liberato): Should we use GL_FLOAT for an fp16 texture?  It doesn't
+  // really seem to matter so far as I can tell.
+  for (int texture_idx = 0; texture_idx < textures_per_picture; texture_idx++) {
+    uint32_t service_id =
+        helper_->CreateTexture(target, GL_RGBA, size.width(), size.height(),
+                               GL_RGBA, GL_UNSIGNED_BYTE);
+    service_ids_.push_back(service_id);
+    helper_->ProduceTexture(mailboxes[texture_idx], service_id);
+  }
+
   // Create the stream for zero-copy use by gl.
   EGLDisplay egl_display = gl::GLSurfaceEGL::GetHardwareDisplay();
   const EGLint stream_attributes[] = {
@@ -222,60 +205,6 @@
   // have a FakeCommandBufferHelper since the service IDs aren't meaningful.
   gl_image_ = base::MakeRefCounted<gl::GLImageDXGI>(size, stream);
 
-  const GLenum internal_format = viz::GLInternalFormat(format);
-  const GLenum data_type = viz::GLDataType(format);
-  const GLenum data_format = viz::GLDataFormat(format);
-
-  // Create the textures and attach them to the mailboxes.
-  // TODO(liberato): Should we use GL_FLOAT for an fp16 texture?  It doesn't
-  // really seem to matter so far as I can tell.
-  for (int texture_idx = 0; texture_idx < textures_per_picture; texture_idx++) {
-    // TODO(crbug.com/1011555): CreateTexture allocates a GL texture, figure out
-    // if this can be removed.
-    const uint32_t service_id =
-        helper_->CreateTexture(target, internal_format, size.width(),
-                               size.height(), data_format, data_type);
-
-    const auto& mailbox = mailboxes[texture_idx];
-
-    // Shared image does not need to store the colorspace since it is already
-    // stored on the VideoFrame which is provided upon presenting the overlay.
-    // To prevent the developer from mistakenly using it, provide the invalid
-    // value from default-construction.
-    const gfx::ColorSpace kInvalidColorSpace;
-
-    // Usage flags to allow the display compositor to draw from it, video to
-    // decode, and allow webgl/canvas access.
-    const uint32_t shared_image_usage =
-        gpu::SHARED_IMAGE_USAGE_VIDEO_DECODE | gpu::SHARED_IMAGE_USAGE_GLES2 |
-        gpu::SHARED_IMAGE_USAGE_RASTER | gpu::SHARED_IMAGE_USAGE_DISPLAY |
-        gpu::SHARED_IMAGE_USAGE_SCANOUT;
-
-    // Create a shared image
-    // TODO(crbug.com/1011555): Need key shared mutex if shared image is ever
-    // used by another device.
-    scoped_refptr<gpu::gles2::TexturePassthrough> gl_texture =
-        gpu::gles2::TexturePassthrough::CheckedCast(
-            helper_->GetTexture(service_id));
-
-    auto shared_image = std::make_unique<gpu::SharedImageBackingD3D>(
-        mailbox, format, size, kInvalidColorSpace, kTopLeft_GrSurfaceOrigin,
-        kPremul_SkAlphaType, shared_image_usage,
-        /*swap_chain=*/nullptr, std::move(gl_texture), gl_image_,
-        /*buffer_index=*/0, texture, base::win::ScopedHandle(),
-        /*dxgi_key_mutex=*/nullptr);
-
-    // Caller is assumed to provide cleared d3d textures.
-    shared_image->SetCleared();
-
-    // Shared images will be destroyed when this wrapper goes away.
-    // Only GpuResource can be used to safely destroy the shared images on the
-    // gpu main thread.
-    shared_images_.push_back(helper_->Register(std::move(shared_image)));
-
-    service_ids_.push_back(service_id);
-  }
-
   // Bind all the textures so that the stream can find them.
   OrderedDestructionList texture_everythings;
   for (int i = 0; i < textures_per_picture; i++)
@@ -330,15 +259,11 @@
     helper_->BindImage(service_ids_[texture_idx], gl_image_.get(),
                        false /* client_managed */);
   }
-
-  // Specify the texture so ProcessTexture knows how to process it using a GL
-  // image.
-  gl_image_->SetTexture(texture, array_slice);
-
-  PushNewTexture();
 }
 
-void DefaultTexture2DWrapper::GpuResources::PushNewTexture() {
+void DefaultTexture2DWrapper::GpuResources::PushNewTexture(
+    ComD3D11Texture2D texture,
+    size_t array_slice) {
   // If init didn't complete, then signal (another) error that will probably be
   // ignored in favor of whatever we signalled earlier.
   if (!gl_image_ || !stream_) {
@@ -346,6 +271,12 @@
     return;
   }
 
+  // Notify |gl_image_| that it has a new texture.  Do this unconditionally, so
+  // hat we can guarantee that the image isn't null.  Nobody expects it to be,
+  // and failures will be noticed only asynchronously.
+  // https://crbug.com/1077645
+  gl_image_->SetTexture(texture, array_slice);
+
   if (!helper_ || !helper_->MakeContextCurrent()) {
     NotifyError(StatusCode::kMakeContextCurrentFailed);
     return;
@@ -354,14 +285,14 @@
   // Notify angle that it has a new texture.
   EGLAttrib frame_attributes[] = {
       EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE,
-      gl_image_->level(),
+      array_slice,
       EGL_NONE,
   };
 
   EGLDisplay egl_display = gl::GLSurfaceEGL::GetHardwareDisplay();
-  if (!eglStreamPostD3DTextureANGLE(
-          egl_display, stream_, static_cast<void*>(gl_image_->texture().Get()),
-          frame_attributes)) {
+  if (!eglStreamPostD3DTextureANGLE(egl_display, stream_,
+                                    static_cast<void*>(texture.Get()),
+                                    frame_attributes)) {
     NotifyError(StatusCode::kPostTextureFailed);
     return;
   }
diff --git a/media/gpu/windows/d3d11_texture_wrapper.h b/media/gpu/windows/d3d11_texture_wrapper.h
index 0d2684d2..3878f4fd9 100644
--- a/media/gpu/windows/d3d11_texture_wrapper.h
+++ b/media/gpu/windows/d3d11_texture_wrapper.h
@@ -47,13 +47,13 @@
   // Initialize the wrapper.
   virtual Status Init(
       scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner,
-      GetCommandBufferHelperCB get_helper_cb,
-      ComD3D11Texture2D texture,
-      size_t array_size) = 0;
+      GetCommandBufferHelperCB get_helper_cb) = 0;
 
   // Import |texture|, |array_slice| and return the mailbox(es) that can be
   // used to refer to it.
-  virtual Status ProcessTexture(const gfx::ColorSpace& input_color_space,
+  virtual Status ProcessTexture(ComD3D11Texture2D texture,
+                                size_t array_slice,
+                                const gfx::ColorSpace& input_color_space,
                                 MailboxHolderArray* mailbox_dest_out,
                                 gfx::ColorSpace* output_color_space) = 0;
 
@@ -77,11 +77,11 @@
   ~DefaultTexture2DWrapper() override;
 
   Status Init(scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner,
-              GetCommandBufferHelperCB get_helper_cb,
-              ComD3D11Texture2D in_texture,
-              size_t array_slice) override;
+              GetCommandBufferHelperCB get_helper_cb) override;
 
-  Status ProcessTexture(const gfx::ColorSpace& input_color_space,
+  Status ProcessTexture(ComD3D11Texture2D texture,
+                        size_t array_slice,
+                        const gfx::ColorSpace& input_color_space,
                         MailboxHolderArray* mailbox_dest,
                         gfx::ColorSpace* output_color_space) override;
 
@@ -103,18 +103,14 @@
               const std::vector<gpu::Mailbox> mailboxes,
               GLenum target,
               gfx::Size size,
-              int textures_per_picture,
-              viz::ResourceFormat format,
-              ComD3D11Texture2D texture,
-              size_t array_slice);
+              int textures_per_picture);
+
+    // Push a new |texture|, |array_slice| to |gl_image_|.
+    void PushNewTexture(ComD3D11Texture2D texture, size_t array_slice);
 
     std::vector<uint32_t> service_ids_;
 
    private:
-    // Push a new |texture|, |array_slice| to |gl_image_|.
-    // Both |texture| and |array_slice| were set by Init.
-    void PushNewTexture();
-
     // Notify our wrapper about |status|, if we haven't before.
     void NotifyError(Status status);
 
@@ -125,9 +121,6 @@
     scoped_refptr<gl::GLImageDXGI> gl_image_;
     EGLStreamKHR stream_;
 
-    std::vector<std::unique_ptr<gpu::SharedImageRepresentationFactoryRef>>
-        shared_images_;
-
     DISALLOW_COPY_AND_ASSIGN(GpuResources);
   };
 
diff --git a/media/gpu/windows/d3d11_texture_wrapper_unittest.cc b/media/gpu/windows/d3d11_texture_wrapper_unittest.cc
index ef9e777..fe7b9179 100644
--- a/media/gpu/windows/d3d11_texture_wrapper_unittest.cc
+++ b/media/gpu/windows/d3d11_texture_wrapper_unittest.cc
@@ -90,8 +90,7 @@
   const DXGI_FORMAT dxgi_format = DXGI_FORMAT_NV12;
 
   auto wrapper = std::make_unique<DefaultTexture2DWrapper>(size_, dxgi_format);
-  const Status init_result = wrapper->Init(
-      task_runner_, get_helper_cb_, /*texture_d3d=*/nullptr, /*array_slice=*/0);
+  const Status init_result = wrapper->Init(task_runner_, get_helper_cb_);
   EXPECT_TRUE(init_result.is_ok());
 
   // TODO: verify that ProcessTexture processes both textures.
@@ -102,8 +101,7 @@
   const DXGI_FORMAT dxgi_format = DXGI_FORMAT_B8G8R8A8_UNORM;
 
   auto wrapper = std::make_unique<DefaultTexture2DWrapper>(size_, dxgi_format);
-  const Status init_result = wrapper->Init(
-      task_runner_, get_helper_cb_, /*texture_d3d=*/nullptr, /*array_slice=*/0);
+  const Status init_result = wrapper->Init(task_runner_, get_helper_cb_);
   EXPECT_TRUE(init_result.is_ok());
 }
 
@@ -112,8 +110,7 @@
   const DXGI_FORMAT dxgi_format = DXGI_FORMAT_R16G16B16A16_FLOAT;
 
   auto wrapper = std::make_unique<DefaultTexture2DWrapper>(size_, dxgi_format);
-  const Status init_result = wrapper->Init(
-      task_runner_, get_helper_cb_, /*texture_d3d=*/nullptr, /*array_slice=*/0);
+  const Status init_result = wrapper->Init(task_runner_, get_helper_cb_);
   EXPECT_TRUE(init_result.is_ok());
 }
 
@@ -122,19 +119,8 @@
   const DXGI_FORMAT dxgi_format = DXGI_FORMAT_P010;
 
   auto wrapper = std::make_unique<DefaultTexture2DWrapper>(size_, dxgi_format);
-  const Status init_result = wrapper->Init(
-      task_runner_, get_helper_cb_, /*texture_d3d=*/nullptr, /*array_slice=*/0);
+  const Status init_result = wrapper->Init(task_runner_, get_helper_cb_);
   EXPECT_TRUE(init_result.is_ok());
 }
 
-TEST_F(D3D11TextureWrapperUnittest, UnknownInitFails) {
-  STOP_IF_WIN7();
-  const DXGI_FORMAT dxgi_format = DXGI_FORMAT_UNKNOWN;
-
-  auto wrapper = std::make_unique<DefaultTexture2DWrapper>(size_, dxgi_format);
-  const Status init_result = wrapper->Init(
-      task_runner_, get_helper_cb_, /*texture_d3d=*/nullptr, /*array_slice=*/0);
-  EXPECT_FALSE(init_result.is_ok());
-}
-
 }  // namespace media
\ No newline at end of file
diff --git a/mojo/public/cpp/system/simple_watcher.cc b/mojo/public/cpp/system/simple_watcher.cc
index 5effdba6..1e3b7fb 100644
--- a/mojo/public/cpp/system/simple_watcher.cc
+++ b/mojo/public/cpp/system/simple_watcher.cc
@@ -42,8 +42,6 @@
     *result = MojoAddTrigger(trap_handle.value(), handle.value(), signals,
                              condition, context->value(), nullptr);
     if (*result != MOJO_RESULT_OK) {
-      context->cancelled_ = true;
-
       // Balanced by the AddRef() above since MojoAddTrigger failed.
       context->Release();
       return nullptr;
@@ -64,11 +62,6 @@
 
   uintptr_t value() const { return reinterpret_cast<uintptr_t>(this); }
 
-  void DisableCancellationNotifications() {
-    base::AutoLock lock(lock_);
-    enable_cancellation_notifications_ = false;
-  }
-
  private:
   friend class base::RefCountedThreadSafe<Context>;
 
@@ -79,34 +72,11 @@
         task_runner_(task_runner),
         watch_id_(watch_id) {}
 
-  ~Context() {
-    // TODO(https://crbug.com/896419): Remove this once it's been live for a
-    // while. This is intended to catch possible double-frees of SimpleWatchers,
-    // due to, e.g., invalid cross-thread usage of bindings endpoints. If this
-    // CHECK fails, then the Context is being destroyed before a cancellation
-    // notification fired. In that case we know a Context ref has been
-    // double-released and we can catch its stack.
-    base::AutoLock lock(lock_);
-    CHECK(cancelled_);
-  }
+  ~Context() = default;
 
   void Notify(MojoResult result,
               MojoHandleSignalsState signals_state,
               MojoTrapEventFlags flags) {
-    if (result == MOJO_RESULT_CANCELLED) {
-      // The SimpleWatcher may have explicitly removed this trigger, so we don't
-      // bother dispatching the notification - it would be ignored anyway.
-      //
-      // TODO(rockot): This shouldn't really be necessary, but there are already
-      // instances today where bindings object may be bound and subsequently
-      // closed due to pipe error, all before the thread's TaskRunner has been
-      // properly initialized.
-      base::AutoLock lock(lock_);
-      cancelled_ = true;
-      if (!enable_cancellation_notifications_)
-        return;
-    }
-
     HandleSignalsState state(signals_state.satisfied_signals,
                              signals_state.satisfiable_signals);
     if (!(flags & MOJO_TRAP_EVENT_FLAG_WITHIN_API_CALL) &&
@@ -127,10 +97,6 @@
   const scoped_refptr<base::SequencedTaskRunner> task_runner_;
   const int watch_id_;
 
-  base::Lock lock_;
-  bool cancelled_ = false;
-  bool enable_cancellation_notifications_ = true;
-
   DISALLOW_COPY_AND_ASSIGN(Context);
 };
 
@@ -194,11 +160,6 @@
   if (!context_)
     return;
 
-  // Prevent the cancellation notification from being dispatched to
-  // OnHandleReady() when cancellation is explicit. See the note in the
-  // implementation of DisableCancellationNotifications() above.
-  context_->DisableCancellationNotifications();
-
   handle_.set_value(kInvalidHandleValue);
   callback_.Reset();
 
diff --git a/mojo/public/tools/bindings/generators/java_templates/enum_definition.tmpl b/mojo/public/tools/bindings/generators/java_templates/enum_definition.tmpl
index e09f00aa..28599d4 100644
--- a/mojo/public/tools/bindings/generators/java_templates/enum_definition.tmpl
+++ b/mojo/public/tools/bindings/generators/java_templates/enum_definition.tmpl
@@ -4,6 +4,12 @@
 {% for field in enum.fields %}
     public static final int {{field|name}} = {{field.numeric_value}};
 {%- endfor %}
+{%- if enum.min_value is not none %}
+    public static final int MIN_VALUE = {{enum.min_value}};
+{%- endif %}
+{%- if enum.max_value is not none %}
+    public static final int MAX_VALUE = {{enum.max_value}};
+{%- endif %}
 
 {%- if enum|covers_continuous_range %}
 
diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn
index 3e24edd0..0c38656 100644
--- a/net/dns/BUILD.gn
+++ b/net/dns/BUILD.gn
@@ -61,8 +61,8 @@
       "dns_server_iterator.h",
       "dns_session.cc",
       "dns_session.h",
-      "dns_socket_pool.cc",
-      "dns_socket_pool.h",
+      "dns_socket_allocator.cc",
+      "dns_socket_allocator.h",
       "dns_transaction.cc",
       "dns_udp_tracker.cc",
       "dns_udp_tracker.h",
@@ -391,8 +391,7 @@
     "dns_hosts_unittest.cc",
     "dns_query_unittest.cc",
     "dns_response_unittest.cc",
-    "dns_session_unittest.cc",
-    "dns_socket_pool_unittest.cc",
+    "dns_socket_allocator_unittest.cc",
     "dns_transaction_unittest.cc",
     "dns_udp_tracker_unittest.cc",
     "dns_util_unittest.cc",
diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc
index 08358b8..b70f66d 100644
--- a/net/dns/dns_client.cc
+++ b/net/dns/dns_client.cc
@@ -12,7 +12,7 @@
 #include "base/values.h"
 #include "net/dns/address_sorter.h"
 #include "net/dns/dns_session.h"
-#include "net/dns/dns_socket_pool.h"
+#include "net/dns/dns_socket_allocator.h"
 #include "net/dns/dns_transaction.h"
 #include "net/dns/dns_util.h"
 #include "net/dns/resolve_context.h"
@@ -245,14 +245,11 @@
     if (new_effective_config) {
       DCHECK(new_effective_config.value().IsValid());
 
-      std::unique_ptr<DnsSocketPool> socket_pool(
-          new_effective_config.value().randomize_ports
-              ? DnsSocketPool::CreateDefault(socket_factory_,
-                                             rand_int_callback_)
-              : DnsSocketPool::CreateNull(socket_factory_, rand_int_callback_));
-      session_ =
-          new DnsSession(std::move(new_effective_config).value(),
-                         std::move(socket_pool), rand_int_callback_, net_log_);
+      auto socket_allocator = std::make_unique<DnsSocketAllocator>(
+          socket_factory_, new_effective_config.value().nameservers, net_log_);
+      session_ = new DnsSession(std::move(new_effective_config).value(),
+                                std::move(socket_allocator), rand_int_callback_,
+                                net_log_);
       factory_ = DnsTransactionFactory::CreateFactory(session_.get());
     }
   }
diff --git a/net/dns/dns_config.cc b/net/dns/dns_config.cc
index c6d757e..af2c38e3 100644
--- a/net/dns/dns_config.cc
+++ b/net/dns/dns_config.cc
@@ -24,7 +24,6 @@
       dns_over_tls_hostname(std::string()),
       unhandled_options(false),
       append_to_multi_label_name(true),
-      randomize_ports(false),
       ndots(1),
       timeout(kDnsDefaultTimeout),
       attempts(2),
diff --git a/net/dns/dns_config.h b/net/dns/dns_config.h
index d65a31e..6ab6e41 100644
--- a/net/dns/dns_config.h
+++ b/net/dns/dns_config.h
@@ -86,10 +86,6 @@
   // True, except on Windows where it can be configured.
   bool append_to_multi_label_name;
 
-  // Indicates that source port randomization is required. This uses additional
-  // resources on some platforms.
-  bool randomize_ports;
-
   // Resolver options; see man resolv.conf.
 
   // Minimum number of dots before global resolution precedes |search|.
diff --git a/net/dns/dns_config_overrides.cc b/net/dns/dns_config_overrides.cc
index 0ea9683..fa0437e 100644
--- a/net/dns/dns_config_overrides.cc
+++ b/net/dns/dns_config_overrides.cc
@@ -25,10 +25,9 @@
   return nameservers == other.nameservers && search == other.search &&
          hosts == other.hosts &&
          append_to_multi_label_name == other.append_to_multi_label_name &&
-         randomize_ports == other.randomize_ports && ndots == other.ndots &&
-         timeout == other.timeout && attempts == other.attempts &&
-         doh_attempts == other.doh_attempts && rotate == other.rotate &&
-         use_local_ipv6 == other.use_local_ipv6 &&
+         ndots == other.ndots && timeout == other.timeout &&
+         attempts == other.attempts && doh_attempts == other.doh_attempts &&
+         rotate == other.rotate && use_local_ipv6 == other.use_local_ipv6 &&
          dns_over_https_servers == other.dns_over_https_servers &&
          secure_dns_mode == other.secure_dns_mode &&
          allow_dns_over_https_upgrade == other.allow_dns_over_https_upgrade &&
@@ -49,7 +48,6 @@
   overrides.search = defaults.search;
   overrides.hosts = defaults.hosts;
   overrides.append_to_multi_label_name = defaults.append_to_multi_label_name;
-  overrides.randomize_ports = defaults.randomize_ports;
   overrides.ndots = defaults.ndots;
   overrides.timeout = defaults.timeout;
   overrides.attempts = defaults.attempts;
@@ -67,10 +65,9 @@
 
 bool DnsConfigOverrides::OverridesEverything() const {
   return nameservers && search && hosts && append_to_multi_label_name &&
-         randomize_ports && ndots && timeout && attempts && doh_attempts &&
-         rotate && use_local_ipv6 && dns_over_https_servers &&
-         secure_dns_mode && allow_dns_over_https_upgrade &&
-         disabled_upgrade_providers;
+         ndots && timeout && attempts && doh_attempts && rotate &&
+         use_local_ipv6 && dns_over_https_servers && secure_dns_mode &&
+         allow_dns_over_https_upgrade && disabled_upgrade_providers;
 }
 
 DnsConfig DnsConfigOverrides::ApplyOverrides(const DnsConfig& config) const {
@@ -87,8 +84,6 @@
     overridden.hosts = hosts.value();
   if (append_to_multi_label_name)
     overridden.append_to_multi_label_name = append_to_multi_label_name.value();
-  if (randomize_ports)
-    overridden.randomize_ports = randomize_ports.value();
   if (ndots)
     overridden.ndots = ndots.value();
   if (timeout)
diff --git a/net/dns/dns_config_overrides.h b/net/dns/dns_config_overrides.h
index e09a6ee..a87d0e5 100644
--- a/net/dns/dns_config_overrides.h
+++ b/net/dns/dns_config_overrides.h
@@ -50,7 +50,6 @@
   base::Optional<std::vector<std::string>> search;
   base::Optional<DnsHosts> hosts;
   base::Optional<bool> append_to_multi_label_name;
-  base::Optional<bool> randomize_ports;
   base::Optional<int> ndots;
   base::Optional<base::TimeDelta> timeout;
   base::Optional<int> attempts;
diff --git a/net/dns/dns_session.cc b/net/dns/dns_session.cc
index c74c4baf..d6fed319 100644
--- a/net/dns/dns_session.cc
+++ b/net/dns/dns_session.cc
@@ -10,45 +10,25 @@
 #include <utility>
 
 #include "base/bind.h"
-#include "base/macros.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/rand_util.h"
 #include "base/stl_util.h"
-#include "net/base/ip_endpoint.h"
-#include "net/base/net_errors.h"
 #include "net/dns/dns_config.h"
-#include "net/dns/dns_socket_pool.h"
-#include "net/log/net_log_event_type.h"
-#include "net/log/net_log_source.h"
-#include "net/log/net_log_with_source.h"
-#include "net/socket/datagram_client_socket.h"
-#include "net/socket/stream_socket.h"
+#include "net/dns/dns_socket_allocator.h"
+#include "net/log/net_log.h"
 
 namespace net {
 
-DnsSession::SocketLease::SocketLease(
-    scoped_refptr<DnsSession> session,
-    size_t server_index,
-    std::unique_ptr<DatagramClientSocket> socket)
-    : session_(session),
-      server_index_(server_index),
-      socket_(std::move(socket)) {}
-
-DnsSession::SocketLease::~SocketLease() {
-  session_->FreeSocket(server_index_, std::move(socket_));
-}
-
 DnsSession::DnsSession(const DnsConfig& config,
-                       std::unique_ptr<DnsSocketPool> socket_pool,
+                       std::unique_ptr<DnsSocketAllocator> socket_allocator,
                        const RandIntCallback& rand_int_callback,
                        NetLog* net_log)
     : config_(config),
-      socket_pool_(std::move(socket_pool)),
+      socket_allocator_(std::move(socket_allocator)),
       rand_callback_(base::BindRepeating(rand_int_callback,
                                          0,
                                          std::numeric_limits<uint16_t>::max())),
       net_log_(net_log) {
-  socket_pool_->Initialize(&config_.nameservers, net_log);
   UMA_HISTOGRAM_CUSTOM_COUNTS("AsyncDNS.ServerCount",
                               config_.nameservers.size(), 1, 10, 11);
 }
@@ -59,41 +39,8 @@
   return static_cast<uint16_t>(rand_callback_.Run());
 }
 
-// Allocate a socket, already connected to the server address.
-std::unique_ptr<DnsSession::SocketLease> DnsSession::AllocateSocket(
-    size_t server_index,
-    const NetLogSource& source) {
-  std::unique_ptr<DatagramClientSocket> socket;
-
-  socket = socket_pool_->AllocateSocket(server_index);
-  if (!socket.get())
-    return std::unique_ptr<SocketLease>();
-
-  socket->NetLog().BeginEventReferencingSource(NetLogEventType::SOCKET_IN_USE,
-                                               source);
-
-  SocketLease* lease = new SocketLease(this, server_index, std::move(socket));
-  return std::unique_ptr<SocketLease>(lease);
-}
-
-std::unique_ptr<StreamSocket> DnsSession::CreateTCPSocket(
-    size_t server_index,
-    const NetLogSource& source) {
-  return socket_pool_->CreateTCPSocket(server_index, source);
-}
-
 void DnsSession::InvalidateWeakPtrsForTesting() {
   weak_ptr_factory_.InvalidateWeakPtrs();
 }
 
-// Release a socket.
-void DnsSession::FreeSocket(size_t server_index,
-                            std::unique_ptr<DatagramClientSocket> socket) {
-  DCHECK(socket.get());
-
-  socket->NetLog().EndEvent(NetLogEventType::SOCKET_IN_USE);
-
-  socket_pool_->FreeSocket(server_index, std::move(socket));
-}
-
 }  // namespace net
diff --git a/net/dns/dns_session.h b/net/dns/dns_session.h
index d9830c28..606d987 100644
--- a/net/dns/dns_session.h
+++ b/net/dns/dns_session.h
@@ -15,15 +15,12 @@
 #include "net/base/net_export.h"
 #include "net/base/rand_callback.h"
 #include "net/dns/dns_config.h"
-#include "net/dns/dns_socket_pool.h"
 #include "net/dns/dns_udp_tracker.h"
 
 namespace net {
 
-class DatagramClientSocket;
+class DnsSocketAllocator;
 class NetLog;
-struct NetLogSource;
-class StreamSocket;
 
 // Session parameters and state shared between DnsTransactions for a specific
 // instance/version of a DnsConfig. Also may be used as a key handle for
@@ -38,47 +35,19 @@
  public:
   typedef base::RepeatingCallback<int()> RandCallback;
 
-  class NET_EXPORT_PRIVATE SocketLease {
-   public:
-    SocketLease(scoped_refptr<DnsSession> session,
-                size_t server_index,
-                std::unique_ptr<DatagramClientSocket> socket);
-    ~SocketLease();
-
-    size_t server_index() const { return server_index_; }
-
-    DatagramClientSocket* socket() { return socket_.get(); }
-
-   private:
-    scoped_refptr<DnsSession> session_;
-    size_t server_index_;
-    std::unique_ptr<DatagramClientSocket> socket_;
-
-    DISALLOW_COPY_AND_ASSIGN(SocketLease);
-  };
-
   DnsSession(const DnsConfig& config,
-             std::unique_ptr<DnsSocketPool> socket_pool,
+             std::unique_ptr<DnsSocketAllocator> socket_allocator,
              const RandIntCallback& rand_int_callback,
              NetLog* net_log);
 
   const DnsConfig& config() const { return config_; }
+  DnsSocketAllocator* socket_allocator() { return socket_allocator_.get(); }
   DnsUdpTracker* udp_tracker() { return &udp_tracker_; }
   NetLog* net_log() const { return net_log_; }
 
   // Return the next random query ID.
   uint16_t NextQueryId() const;
 
-  // Allocate a socket, already connected to the server address.
-  // When the SocketLease is destroyed, the socket will be freed.
-  std::unique_ptr<SocketLease> AllocateSocket(size_t server_index,
-                                              const NetLogSource& source);
-
-  // Creates a StreamSocket from the factory for a transaction over TCP. These
-  // sockets are not pooled.
-  std::unique_ptr<StreamSocket> CreateTCPSocket(size_t server_index,
-                                                const NetLogSource& source);
-
   base::WeakPtr<DnsSession> GetWeakPtr() {
     return weak_ptr_factory_.GetWeakPtr();
   }
@@ -94,12 +63,8 @@
 
   ~DnsSession();
 
-  // Release a socket.
-  void FreeSocket(size_t server_index,
-                  std::unique_ptr<DatagramClientSocket> socket);
-
   const DnsConfig config_;
-  std::unique_ptr<DnsSocketPool> socket_pool_;
+  std::unique_ptr<DnsSocketAllocator> socket_allocator_;
   DnsUdpTracker udp_tracker_;
   RandCallback rand_callback_;
   NetLog* net_log_;
diff --git a/net/dns/dns_session_unittest.cc b/net/dns/dns_session_unittest.cc
deleted file mode 100644
index 69f279f..0000000
--- a/net/dns/dns_session_unittest.cc
+++ /dev/null
@@ -1,244 +0,0 @@
-// Copyright (c) 2012 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 "net/dns/dns_session.h"
-
-#include <list>
-#include <memory>
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "base/bind.h"
-#include "base/memory/ptr_util.h"
-#include "base/rand_util.h"
-#include "base/run_loop.h"
-#include "base/strings/stringprintf.h"
-#include "net/base/ip_address.h"
-#include "net/base/mock_network_change_notifier.h"
-#include "net/base/net_errors.h"
-#include "net/dns/dns_socket_pool.h"
-#include "net/dns/public/dns_protocol.h"
-#include "net/dns/resolve_context.h"
-#include "net/log/net_log_source.h"
-#include "net/socket/socket_performance_watcher.h"
-#include "net/socket/socket_test_util.h"
-#include "net/socket/ssl_client_socket.h"
-#include "net/socket/stream_socket.h"
-#include "net/test/test_with_task_environment.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace net {
-
-namespace {
-
-class TestClientSocketFactory : public ClientSocketFactory {
- public:
-  ~TestClientSocketFactory() override;
-
-  std::unique_ptr<DatagramClientSocket> CreateDatagramClientSocket(
-      DatagramSocket::BindType bind_type,
-      NetLog* net_log,
-      const NetLogSource& source) override;
-
-  std::unique_ptr<TransportClientSocket> CreateTransportClientSocket(
-      const AddressList& addresses,
-      std::unique_ptr<SocketPerformanceWatcher>,
-      NetLog*,
-      const NetLogSource&) override {
-    NOTIMPLEMENTED();
-    return nullptr;
-  }
-
-  std::unique_ptr<SSLClientSocket> CreateSSLClientSocket(
-      SSLClientContext* context,
-      std::unique_ptr<StreamSocket> stream_socket,
-      const HostPortPair& host_and_port,
-      const SSLConfig& ssl_config) override {
-    NOTIMPLEMENTED();
-    return nullptr;
-  }
-
-  std::unique_ptr<ProxyClientSocket> CreateProxyClientSocket(
-      std::unique_ptr<StreamSocket> stream_socket,
-      const std::string& user_agent,
-      const HostPortPair& endpoint,
-      const ProxyServer& proxy_server,
-      HttpAuthController* http_auth_controller,
-      bool tunnel,
-      bool using_spdy,
-      NextProto negotiated_protocol,
-      ProxyDelegate* proxy_delegate,
-      const NetworkTrafficAnnotationTag& traffic_annotation) override {
-    NOTIMPLEMENTED();
-    return nullptr;
-  }
-
- private:
-  std::list<std::unique_ptr<SocketDataProvider>> data_providers_;
-};
-
-struct PoolEvent {
-  enum { ALLOCATE, FREE } action;
-  size_t server_index;
-};
-
-class DnsSessionTest : public TestWithTaskEnvironment {
- public:
-  void OnSocketAllocated(size_t server_index);
-  void OnSocketFreed(size_t server_index);
-
- protected:
-  void Initialize(size_t num_servers);
-  std::unique_ptr<DnsSession::SocketLease> Allocate(size_t server_index);
-  bool DidAllocate(size_t server_index);
-  bool DidFree(size_t server_index);
-  bool NoMoreEvents();
-
-  DnsConfig config_;
-  std::unique_ptr<TestClientSocketFactory> test_client_socket_factory_;
-  scoped_refptr<DnsSession> session_;
-  NetLogSource source_;
-
- private:
-  bool ExpectEvent(const PoolEvent& event);
-  std::list<PoolEvent> events_;
-};
-
-class MockDnsSocketPool : public DnsSocketPool {
- public:
-  MockDnsSocketPool(ClientSocketFactory* factory, DnsSessionTest* test)
-      : DnsSocketPool(factory, base::BindRepeating(&base::RandInt)),
-        test_(test) {}
-
-  ~MockDnsSocketPool() override = default;
-
-  void Initialize(const std::vector<IPEndPoint>* nameservers,
-                  NetLog* net_log) override {
-    InitializeInternal(nameservers, net_log);
-  }
-
-  std::unique_ptr<DatagramClientSocket> AllocateSocket(
-      size_t server_index) override {
-    test_->OnSocketAllocated(server_index);
-    return CreateConnectedSocket(server_index);
-  }
-
-  void FreeSocket(size_t server_index,
-                  std::unique_ptr<DatagramClientSocket> socket) override {
-    test_->OnSocketFreed(server_index);
-  }
-
- private:
-  DnsSessionTest* test_;
-};
-
-void DnsSessionTest::Initialize(size_t num_servers) {
-  CHECK_LT(num_servers, 256u);
-  config_.nameservers.clear();
-  config_.dns_over_https_servers.clear();
-  for (unsigned char i = 0; i < num_servers; ++i) {
-    IPEndPoint dns_endpoint(IPAddress(192, 168, 1, i),
-                            dns_protocol::kDefaultPort);
-    config_.nameservers.push_back(dns_endpoint);
-  }
-
-  test_client_socket_factory_.reset(new TestClientSocketFactory());
-
-  DnsSocketPool* dns_socket_pool =
-      new MockDnsSocketPool(test_client_socket_factory_.get(), this);
-
-  session_ =
-      new DnsSession(config_, std::unique_ptr<DnsSocketPool>(dns_socket_pool),
-                     base::BindRepeating(&base::RandInt), nullptr /* NetLog */);
-
-  events_.clear();
-}
-
-std::unique_ptr<DnsSession::SocketLease> DnsSessionTest::Allocate(
-    size_t server_index) {
-  return session_->AllocateSocket(server_index, source_);
-}
-
-bool DnsSessionTest::DidAllocate(size_t server_index) {
-  PoolEvent expected_event = { PoolEvent::ALLOCATE, server_index };
-  return ExpectEvent(expected_event);
-}
-
-bool DnsSessionTest::DidFree(size_t server_index) {
-  PoolEvent expected_event = { PoolEvent::FREE, server_index };
-  return ExpectEvent(expected_event);
-}
-
-bool DnsSessionTest::NoMoreEvents() {
-  return events_.empty();
-}
-
-void DnsSessionTest::OnSocketAllocated(size_t server_index) {
-  PoolEvent event = { PoolEvent::ALLOCATE, server_index };
-  events_.push_back(event);
-}
-
-void DnsSessionTest::OnSocketFreed(size_t server_index) {
-  PoolEvent event = { PoolEvent::FREE, server_index };
-  events_.push_back(event);
-}
-
-bool DnsSessionTest::ExpectEvent(const PoolEvent& expected) {
-  if (events_.empty()) {
-    return false;
-  }
-
-  const PoolEvent actual = events_.front();
-  if ((expected.action != actual.action)
-      || (expected.server_index != actual.server_index)) {
-    return false;
-  }
-  events_.pop_front();
-
-  return true;
-}
-
-std::unique_ptr<DatagramClientSocket>
-TestClientSocketFactory::CreateDatagramClientSocket(
-    DatagramSocket::BindType bind_type,
-    NetLog* net_log,
-    const NetLogSource& source) {
-  // We're not actually expecting to send or receive any data, so use the
-  // simplest SocketDataProvider with no data supplied.
-  SocketDataProvider* data_provider = new StaticSocketDataProvider();
-  data_providers_.push_back(base::WrapUnique(data_provider));
-  std::unique_ptr<MockUDPClientSocket> socket(
-      new MockUDPClientSocket(data_provider, net_log));
-  return std::move(socket);
-}
-
-TestClientSocketFactory::~TestClientSocketFactory() = default;
-
-TEST_F(DnsSessionTest, AllocateFree) {
-  std::unique_ptr<DnsSession::SocketLease> lease1, lease2;
-
-  Initialize(2 /* num_servers */);
-  EXPECT_TRUE(NoMoreEvents());
-
-  lease1 = Allocate(0);
-  EXPECT_TRUE(DidAllocate(0));
-  EXPECT_TRUE(NoMoreEvents());
-
-  lease2 = Allocate(1);
-  EXPECT_TRUE(DidAllocate(1));
-  EXPECT_TRUE(NoMoreEvents());
-
-  lease1.reset();
-  EXPECT_TRUE(DidFree(0));
-  EXPECT_TRUE(NoMoreEvents());
-
-  lease2.reset();
-  EXPECT_TRUE(DidFree(1));
-  EXPECT_TRUE(NoMoreEvents());
-}
-
-}  // namespace
-
-}  // namespace net
diff --git a/net/dns/dns_socket_allocator.cc b/net/dns/dns_socket_allocator.cc
new file mode 100644
index 0000000..0c1c9245
--- /dev/null
+++ b/net/dns/dns_socket_allocator.cc
@@ -0,0 +1,75 @@
+// Copyright (c) 2012 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 "net/dns/dns_socket_allocator.h"
+
+#include "base/logging.h"
+#include "base/rand_util.h"
+#include "build/build_config.h"
+#include "net/base/address_list.h"
+#include "net/base/ip_endpoint.h"
+#include "net/base/net_errors.h"
+#include "net/log/net_log_source.h"
+#include "net/socket/client_socket_factory.h"
+#include "net/socket/datagram_client_socket.h"
+#include "net/socket/stream_socket.h"
+
+namespace net {
+
+namespace {
+
+// On Windows, can't request specific (random) ports, since that will trigger
+// firewall prompts, so request default ones (but experimentally, the OS appears
+// to still allocate random ports).
+#if defined(OS_WIN)
+const DatagramSocket::BindType kBindType = DatagramSocket::DEFAULT_BIND;
+#else
+const DatagramSocket::BindType kBindType = DatagramSocket::RANDOM_BIND;
+#endif
+
+}  // namespace
+
+DnsSocketAllocator::DnsSocketAllocator(ClientSocketFactory* socket_factory,
+                                       std::vector<IPEndPoint> nameservers,
+                                       NetLog* net_log)
+    : socket_factory_(socket_factory),
+      net_log_(net_log),
+      nameservers_(std::move(nameservers)) {
+  DCHECK(socket_factory_);
+}
+
+DnsSocketAllocator::~DnsSocketAllocator() = default;
+
+std::unique_ptr<DatagramClientSocket>
+DnsSocketAllocator::CreateConnectedUdpSocket(size_t server_index,
+                                             int* out_connection_error) {
+  DCHECK_LT(server_index, nameservers_.size());
+  DCHECK(out_connection_error);
+
+  std::unique_ptr<DatagramClientSocket> socket;
+
+  NetLogSource no_source;
+  socket = socket_factory_->CreateDatagramClientSocket(kBindType, net_log_,
+                                                       no_source);
+  DCHECK(socket);
+
+  *out_connection_error = socket->Connect(nameservers_[server_index]);
+  if (*out_connection_error != OK) {
+    DVLOG(1) << "Failed to connect socket: " << *out_connection_error;
+    socket.reset();
+  }
+
+  return socket;
+}
+
+std::unique_ptr<StreamSocket> DnsSocketAllocator::CreateTcpSocket(
+    size_t server_index,
+    const NetLogSource& source) {
+  DCHECK_LT(server_index, nameservers_.size());
+
+  return socket_factory_->CreateTransportClientSocket(
+      AddressList(nameservers_[server_index]), nullptr, net_log_, source);
+}
+
+}  // namespace net
diff --git a/net/dns/dns_socket_allocator.h b/net/dns/dns_socket_allocator.h
new file mode 100644
index 0000000..9b8f986e
--- /dev/null
+++ b/net/dns/dns_socket_allocator.h
@@ -0,0 +1,54 @@
+// Copyright (c) 2012 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 NET_DNS_DNS_SOCKET_ALLOCATOR_H_
+#define NET_DNS_DNS_SOCKET_ALLOCATOR_H_
+
+#include <memory>
+#include <vector>
+
+#include "net/base/net_export.h"
+#include "net/base/rand_callback.h"
+
+namespace net {
+
+class ClientSocketFactory;
+class DatagramClientSocket;
+class IPEndPoint;
+class NetLog;
+struct NetLogSource;
+class StreamSocket;
+
+// Allocation logic for DNS UDP and TCP sockets.
+class NET_EXPORT_PRIVATE DnsSocketAllocator {
+ public:
+  DnsSocketAllocator(ClientSocketFactory* factory,
+                     std::vector<IPEndPoint> nameservers,
+                     NetLog* net_log);
+  ~DnsSocketAllocator();
+
+  DnsSocketAllocator(const DnsSocketAllocator&) = delete;
+  DnsSocketAllocator& operator=(const DnsSocketAllocator&) = delete;
+
+  // Creates a UDP client socket that is already connected to the nameserver
+  // referenced by |server_index| and sets |out_connection_error| to the result
+  // of the connection. On error connecting the socket, returns null.
+  std::unique_ptr<DatagramClientSocket> CreateConnectedUdpSocket(
+      size_t server_index,
+      int* out_connection_error);
+
+  // Creates a StreamSocket for TCP to the nameserver referenced by
+  // |server_index|. Does not connect the seocket.
+  std::unique_ptr<StreamSocket> CreateTcpSocket(size_t server_index,
+                                                const NetLogSource& source);
+
+ private:
+  ClientSocketFactory* const socket_factory_;
+  NetLog* const net_log_;
+  const std::vector<IPEndPoint> nameservers_;
+};
+
+}  // namespace net
+
+#endif  // NET_DNS_DNS_SOCKET_ALLOCATOR_H_
diff --git a/net/dns/dns_socket_allocator_unittest.cc b/net/dns/dns_socket_allocator_unittest.cc
new file mode 100644
index 0000000..2b28ff3
--- /dev/null
+++ b/net/dns/dns_socket_allocator_unittest.cc
@@ -0,0 +1,82 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/dns/dns_socket_allocator.h"
+
+#include "net/base/ip_endpoint.h"
+#include "net/base/net_errors.h"
+#include "net/log/net_log_source.h"
+#include "net/socket/client_socket_factory.h"
+#include "net/socket/datagram_client_socket.h"
+#include "net/socket/socket_test_util.h"
+#include "net/test/gtest_util.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace net {
+namespace {
+
+const IPEndPoint kEndpoint0(IPAddress(1, 2, 3, 4), 578);
+const IPEndPoint kEndpoint1(IPAddress(2, 3, 4, 5), 678);
+
+class DnsSocketAllocatorTest : public ::testing::Test {
+ protected:
+  void SetUp() override {
+    allocator_ = std::make_unique<DnsSocketAllocator>(
+        &socket_factory_, nameservers_, nullptr /* net_log */);
+  }
+
+  MockClientSocketFactory socket_factory_;
+  std::vector<IPEndPoint> nameservers_ = {kEndpoint0, kEndpoint1};
+  std::unique_ptr<DnsSocketAllocator> allocator_;
+};
+
+TEST_F(DnsSocketAllocatorTest, CreateConnectedUdpSocket) {
+  // Prep socket factory for a single do-nothing socket.
+  StaticSocketDataProvider data_provider;
+  socket_factory_.AddSocketDataProvider(&data_provider);
+
+  int connection_error = ERR_FAILED;
+  std::unique_ptr<DatagramClientSocket> socket =
+      allocator_->CreateConnectedUdpSocket(1 /* server_index */,
+                                           &connection_error);
+
+  ASSERT_TRUE(socket);
+  EXPECT_THAT(connection_error, test::IsOk());
+
+  IPEndPoint peer_address;
+  ASSERT_THAT(socket->GetPeerAddress(&peer_address), test::IsOk());
+  EXPECT_EQ(peer_address, kEndpoint1);
+}
+
+TEST_F(DnsSocketAllocatorTest, CreateConnectedUdpSocket_ConnectError) {
+  // Prep socket factory for a single socket with connection failure.
+  MockConnect connect_data;
+  connect_data.result = ERR_INSUFFICIENT_RESOURCES;
+  StaticSocketDataProvider data_provider;
+  data_provider.set_connect_data(connect_data);
+  socket_factory_.AddSocketDataProvider(&data_provider);
+
+  int connection_error = OK;
+  std::unique_ptr<DatagramClientSocket> socket =
+      allocator_->CreateConnectedUdpSocket(0 /* server_index */,
+                                           &connection_error);
+
+  EXPECT_FALSE(socket);
+  EXPECT_THAT(connection_error, test::IsError(ERR_INSUFFICIENT_RESOURCES));
+}
+
+TEST_F(DnsSocketAllocatorTest, CreateTcpSocket) {
+  // Prep socket factory for a single do-nothing socket.
+  StaticSocketDataProvider data_provider;
+  socket_factory_.AddSocketDataProvider(&data_provider);
+
+  std::unique_ptr<StreamSocket> socket =
+      allocator_->CreateTcpSocket(1 /* server_index */, NetLogSource());
+
+  EXPECT_TRUE(socket);
+}
+
+}  // namespace
+}  // namespace net
diff --git a/net/dns/dns_socket_pool.cc b/net/dns/dns_socket_pool.cc
deleted file mode 100644
index 177c799..0000000
--- a/net/dns/dns_socket_pool.cc
+++ /dev/null
@@ -1,223 +0,0 @@
-// Copyright (c) 2012 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 "net/dns/dns_socket_pool.h"
-
-#include "base/logging.h"
-#include "base/macros.h"
-#include "base/rand_util.h"
-#include "net/base/address_list.h"
-#include "net/base/ip_endpoint.h"
-#include "net/base/net_errors.h"
-#include "net/log/net_log_source.h"
-#include "net/socket/client_socket_factory.h"
-#include "net/socket/datagram_client_socket.h"
-#include "net/socket/stream_socket.h"
-
-namespace net {
-
-namespace {
-
-// When we initialize the SocketPool, we allocate kInitialPoolSize sockets.
-// When we allocate a socket, we ensure we have at least kAllocateMinSize
-// sockets to choose from.  Freed sockets are not retained.
-
-// On Windows, we can't request specific (random) ports, since that will
-// trigger firewall prompts, so request default ones, but keep a pile of
-// them.  Everywhere else, request fresh, random ports each time.
-#if defined(OS_WIN)
-const DatagramSocket::BindType kBindType = DatagramSocket::DEFAULT_BIND;
-const size_t kInitialPoolSize = 256;
-const size_t kAllocateMinSize = 256;
-#else
-const DatagramSocket::BindType kBindType = DatagramSocket::RANDOM_BIND;
-const size_t kInitialPoolSize = 0;
-const size_t kAllocateMinSize = 1;
-#endif
-
-} // namespace
-
-DnsSocketPool::DnsSocketPool(ClientSocketFactory* socket_factory,
-                             const RandIntCallback& rand_int_callback)
-    : socket_factory_(socket_factory),
-      rand_int_callback_(rand_int_callback),
-      net_log_(nullptr),
-      nameservers_(nullptr),
-      initialized_(false) {}
-
-void DnsSocketPool::InitializeInternal(
-    const std::vector<IPEndPoint>* nameservers,
-    NetLog* net_log) {
-  DCHECK(nameservers);
-  DCHECK(!initialized_);
-
-  net_log_ = net_log;
-  nameservers_ = nameservers;
-  initialized_ = true;
-}
-
-std::unique_ptr<StreamSocket> DnsSocketPool::CreateTCPSocket(
-    size_t server_index,
-    const NetLogSource& source) {
-  DCHECK_LT(server_index, nameservers_->size());
-
-  return std::unique_ptr<StreamSocket>(
-      socket_factory_->CreateTransportClientSocket(
-          AddressList((*nameservers_)[server_index]), nullptr, net_log_,
-          source));
-}
-
-std::unique_ptr<DatagramClientSocket> DnsSocketPool::CreateConnectedSocket(
-    size_t server_index) {
-  DCHECK_LT(server_index, nameservers_->size());
-
-  std::unique_ptr<DatagramClientSocket> socket;
-
-  NetLogSource no_source;
-  socket = socket_factory_->CreateDatagramClientSocket(kBindType, net_log_,
-                                                       no_source);
-
-  if (socket.get()) {
-    int rv = socket->Connect((*nameservers_)[server_index]);
-    if (rv != OK) {
-      DVLOG(1) << "Failed to connect socket: " << rv;
-      socket.reset();
-    }
-  } else {
-    DVLOG(1) << "Failed to create socket.";
-  }
-
-  return socket;
-}
-
-int DnsSocketPool::GetRandomInt(int min, int max) {
-  return rand_int_callback_.Run(min, max);
-}
-
-class NullDnsSocketPool : public DnsSocketPool {
- public:
-  NullDnsSocketPool(ClientSocketFactory* factory,
-                    const RandIntCallback& rand_int_callback)
-      : DnsSocketPool(factory, rand_int_callback) {}
-
-  void Initialize(const std::vector<IPEndPoint>* nameservers,
-                  NetLog* net_log) override {
-    InitializeInternal(nameservers, net_log);
-  }
-
-  std::unique_ptr<DatagramClientSocket> AllocateSocket(
-      size_t server_index) override {
-    return CreateConnectedSocket(server_index);
-  }
-
-  void FreeSocket(size_t server_index,
-                  std::unique_ptr<DatagramClientSocket> socket) override {}
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(NullDnsSocketPool);
-};
-
-// static
-std::unique_ptr<DnsSocketPool> DnsSocketPool::CreateNull(
-    ClientSocketFactory* factory,
-    const RandIntCallback& rand_int_callback) {
-  return std::unique_ptr<DnsSocketPool>(
-      new NullDnsSocketPool(factory, rand_int_callback));
-}
-
-class DefaultDnsSocketPool : public DnsSocketPool {
- public:
-  DefaultDnsSocketPool(ClientSocketFactory* factory,
-                       const RandIntCallback& rand_int_callback)
-      : DnsSocketPool(factory, rand_int_callback) {}
-
-  ~DefaultDnsSocketPool() override;
-
-  void Initialize(const std::vector<IPEndPoint>* nameservers,
-                  NetLog* net_log) override;
-
-  std::unique_ptr<DatagramClientSocket> AllocateSocket(
-      size_t server_index) override;
-
-  void FreeSocket(size_t server_index,
-                  std::unique_ptr<DatagramClientSocket> socket) override;
-
- private:
-  void FillPool(size_t server_index, size_t size);
-
-  typedef std::vector<std::unique_ptr<DatagramClientSocket>> SocketVector;
-
-  std::vector<SocketVector> pools_;
-
-  DISALLOW_COPY_AND_ASSIGN(DefaultDnsSocketPool);
-};
-
-DnsSocketPool::~DnsSocketPool() = default;
-
-// static
-std::unique_ptr<DnsSocketPool> DnsSocketPool::CreateDefault(
-    ClientSocketFactory* factory,
-    const RandIntCallback& rand_int_callback) {
-  return std::unique_ptr<DnsSocketPool>(
-      new DefaultDnsSocketPool(factory, rand_int_callback));
-}
-
-void DefaultDnsSocketPool::Initialize(
-    const std::vector<IPEndPoint>* nameservers,
-    NetLog* net_log) {
-  InitializeInternal(nameservers, net_log);
-
-  DCHECK(pools_.empty());
-  const size_t num_servers = nameservers->size();
-  pools_.resize(num_servers);
-  for (size_t server_index = 0; server_index < num_servers; ++server_index)
-    FillPool(server_index, kInitialPoolSize);
-}
-
-DefaultDnsSocketPool::~DefaultDnsSocketPool() = default;
-
-std::unique_ptr<DatagramClientSocket> DefaultDnsSocketPool::AllocateSocket(
-    size_t server_index) {
-  DCHECK_LT(server_index, pools_.size());
-  SocketVector& pool = pools_[server_index];
-
-  FillPool(server_index, kAllocateMinSize);
-  if (pool.size() == 0) {
-    DVLOG(1) << "No DNS sockets available in pool " << server_index << "!";
-    return std::unique_ptr<DatagramClientSocket>();
-  }
-
-  if (pool.size() < kAllocateMinSize) {
-    DVLOG(1) << "Low DNS port entropy: wanted " << kAllocateMinSize
-             << " sockets to choose from, but only have " << pool.size()
-             << " in pool " << server_index << ".";
-  }
-
-  size_t socket_index = GetRandomInt(0, pool.size() - 1);
-  std::unique_ptr<DatagramClientSocket> socket = std::move(pool[socket_index]);
-  pool[socket_index] = std::move(pool.back());
-  pool.pop_back();
-
-  return socket;
-}
-
-void DefaultDnsSocketPool::FreeSocket(
-    size_t server_index,
-    std::unique_ptr<DatagramClientSocket> socket) {
-  DCHECK_LT(server_index, pools_.size());
-}
-
-void DefaultDnsSocketPool::FillPool(size_t server_index, size_t size) {
-  SocketVector& pool = pools_[server_index];
-
-  for (size_t pool_index = pool.size(); pool_index < size; ++pool_index) {
-    std::unique_ptr<DatagramClientSocket> socket =
-        CreateConnectedSocket(server_index);
-    if (!socket)
-      break;
-    pool.push_back(std::move(socket));
-  }
-}
-
-} // namespace net
diff --git a/net/dns/dns_socket_pool.h b/net/dns/dns_socket_pool.h
deleted file mode 100644
index 054787a..0000000
--- a/net/dns/dns_socket_pool.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright (c) 2012 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 NET_DNS_DNS_SOCKET_POOL_H_
-#define NET_DNS_DNS_SOCKET_POOL_H_
-
-#include <memory>
-#include <vector>
-
-#include "base/macros.h"
-#include "net/base/net_export.h"
-#include "net/base/rand_callback.h"
-
-namespace net {
-
-class ClientSocketFactory;
-class DatagramClientSocket;
-class IPEndPoint;
-class NetLog;
-struct NetLogSource;
-class StreamSocket;
-
-// A DnsSocketPool is an abstraction layer around a ClientSocketFactory that
-// allows preallocation, reuse, or other strategies to manage sockets connected
-// to DNS servers.
-class NET_EXPORT_PRIVATE DnsSocketPool {
- public:
-  virtual ~DnsSocketPool();
-
-  // Creates a DnsSocketPool that implements the default strategy for managing
-  // sockets.  (This varies by platform; see DnsSocketPoolImpl in
-  // dns_socket_pool.cc for details.)
-  static std::unique_ptr<DnsSocketPool> CreateDefault(
-      ClientSocketFactory* factory,
-      const RandIntCallback& rand_int_callback);
-
-  // Creates a DnsSocketPool that implements a "null" strategy -- no sockets are
-  // preallocated, allocation requests are satisfied by calling the factory
-  // directly, and returned sockets are deleted immediately.
-  static std::unique_ptr<DnsSocketPool> CreateNull(
-      ClientSocketFactory* factory,
-      const RandIntCallback& rand_int_callback);
-
-  // Initializes the DnsSocketPool.  |nameservers| is the list of nameservers
-  // for which the DnsSocketPool will manage sockets; |net_log| is the NetLog
-  // used when constructing sockets with the factory.
-  //
-  // Initialize may not be called more than once, and must be called before
-  // calling AllocateSocket or FreeSocket.
-  virtual void Initialize(
-      const std::vector<IPEndPoint>* nameservers,
-      NetLog* net_log) = 0;
-
-  // Allocates a socket that is already connected to the nameserver referenced
-  // by |server_index|.  May return a std::unique_ptr to NULL if no sockets are
-  // available to reuse and the factory fails to produce a socket (or produces
-  // one on which Connect fails).
-  virtual std::unique_ptr<DatagramClientSocket> AllocateSocket(
-      size_t server_index) = 0;
-
-  // Frees a socket allocated by AllocateSocket.  |server_index| must be the
-  // same index passed to AllocateSocket.
-  virtual void FreeSocket(size_t server_index,
-                          std::unique_ptr<DatagramClientSocket> socket) = 0;
-
-  // Creates a StreamSocket from the factory for a transaction over TCP. These
-  // sockets are not pooled.
-  std::unique_ptr<StreamSocket> CreateTCPSocket(size_t server_index,
-                                                const NetLogSource& source);
-
- protected:
-  DnsSocketPool(ClientSocketFactory* socket_factory,
-                const RandIntCallback& rand_int_callback);
-
-  void InitializeInternal(
-      const std::vector<IPEndPoint>* nameservers,
-      NetLog* net_log);
-
-  std::unique_ptr<DatagramClientSocket> CreateConnectedSocket(
-      size_t server_index);
-
-  // Returns a random int in the specified range.
-  int GetRandomInt(int min, int max);
-
- private:
-  ClientSocketFactory* socket_factory_;
-  const RandIntCallback rand_int_callback_;
-  NetLog* net_log_;
-  const std::vector<IPEndPoint>* nameservers_;
-  bool initialized_;
-
-  DISALLOW_COPY_AND_ASSIGN(DnsSocketPool);
-};
-
-} // namespace net
-
-#endif // NET_DNS_DNS_SOCKET_POOL_H_
diff --git a/net/dns/dns_socket_pool_unittest.cc b/net/dns/dns_socket_pool_unittest.cc
deleted file mode 100644
index 4d3ed3f..0000000
--- a/net/dns/dns_socket_pool_unittest.cc
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/dns/dns_socket_pool.h"
-
-#include "base/bind.h"
-#include "base/callback.h"
-#include "base/memory/weak_ptr.h"
-#include "net/base/rand_callback.h"
-#include "net/socket/client_socket_factory.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace net {
-namespace {
-
-class DummyObject {
- public:
-  DummyObject() {}
-
-  base::WeakPtr<DummyObject> GetWeakPtr() { return weak_factory_.GetWeakPtr(); }
-
-  bool HasWeakPtrs() const { return weak_factory_.HasWeakPtrs(); }
-
- private:
-  base::WeakPtrFactory<DummyObject> weak_factory_{this};
-
-  DISALLOW_COPY_AND_ASSIGN(DummyObject);
-};
-
-class DummyRandIntCallback {
- public:
-  DummyRandIntCallback() = default;
-
-  RandIntCallback MakeCallback() {
-    return base::BindRepeating(&DummyRandIntCallback::GetRandInt,
-                               dummy_.GetWeakPtr());
-  }
-
-  bool HasRefs() const { return dummy_.HasWeakPtrs(); }
-
- private:
-  static int GetRandInt(base::WeakPtr<DummyObject> dummy, int from, int to) {
-    // Chosen by fair dice roll. Guaranteed to be random.
-    return 4;
-  }
-
-  DummyObject dummy_;
-
-  DISALLOW_COPY_AND_ASSIGN(DummyRandIntCallback);
-};
-
-// Since the below tests rely upon it, make sure that DummyRandIntCallback
-// can reliably tell whether there are other refs to the callback it returns.
-
-// A const reference to the callback shouldn't keep the callback referenced.
-TEST(DummyRandIntCallbackTest, Referenced) {
-  DummyRandIntCallback dummy;
-
-  RandIntCallback original = dummy.MakeCallback();
-  EXPECT_TRUE(dummy.HasRefs());
-  const RandIntCallback& reference = original;
-  EXPECT_TRUE(dummy.HasRefs());
-
-  EXPECT_EQ(4, reference.Run(0, 6));
-
-  original.Reset();
-  EXPECT_FALSE(dummy.HasRefs());
-}
-
-// A copy of the callback should keep the callback referenced.
-TEST(DummyRandIntCallbackTest, Copied) {
-  DummyRandIntCallback dummy;
-
-  RandIntCallback original = dummy.MakeCallback();
-  EXPECT_TRUE(dummy.HasRefs());
-  RandIntCallback copy = original;
-  EXPECT_TRUE(dummy.HasRefs());
-
-  EXPECT_EQ(4, copy.Run(0, 6));
-
-  original.Reset();
-  EXPECT_TRUE(dummy.HasRefs());
-}
-
-class DnsSocketPoolTest : public ::testing::Test {
- protected:
-  DummyRandIntCallback dummy_;
-  std::unique_ptr<DnsSocketPool> pool_;
-};
-
-// Make sure that the DnsSocketPools returned by CreateDefault and CreateNull
-// both retain (by copying the RandIntCallback object, instead of taking a
-// reference) the RandIntCallback used for creating sockets.
-
-TEST_F(DnsSocketPoolTest, DefaultCopiesCallback) {
-  pool_ = DnsSocketPool::CreateDefault(ClientSocketFactory::GetDefaultFactory(),
-                                       dummy_.MakeCallback());
-  EXPECT_TRUE(dummy_.HasRefs());
-}
-
-TEST_F(DnsSocketPoolTest, NullCopiesCallback) {
-  pool_ = DnsSocketPool::CreateNull(ClientSocketFactory::GetDefaultFactory(),
-                                    dummy_.MakeCallback());
-  EXPECT_TRUE(dummy_.HasRefs());
-}
-
-}  // namespace
-}  // namespace net
diff --git a/net/dns/dns_test_util.cc b/net/dns/dns_test_util.cc
index efcec21..0ced88c 100644
--- a/net/dns/dns_test_util.cc
+++ b/net/dns/dns_test_util.cc
@@ -18,6 +18,7 @@
 #include "net/dns/dns_hosts.h"
 #include "net/dns/dns_query.h"
 #include "net/dns/dns_session.h"
+#include "net/dns/dns_socket_allocator.h"
 #include "net/dns/dns_util.h"
 #include "net/dns/resolve_context.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -725,10 +726,13 @@
   auto null_random_callback =
       base::BindRepeating([](int, int) -> int { IMMEDIATE_CRASH(); });
 
+  auto socket_allocator = std::make_unique<DnsSocketAllocator>(
+      &socket_factory_, effective_config_.value().nameservers,
+      nullptr /* net_log */);
+
   return base::MakeRefCounted<DnsSession>(
-      effective_config_.value(),
-      DnsSocketPool::CreateNull(&socket_factory_, null_random_callback),
-      null_random_callback, nullptr /* NetLog */);
+      effective_config_.value(), std::move(socket_allocator),
+      null_random_callback, nullptr /* net_log */);
 }
 
 }  // namespace net
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
index 6ba7afe3..e1443c4 100644
--- a/net/dns/dns_transaction.cc
+++ b/net/dns/dns_transaction.cc
@@ -48,6 +48,7 @@
 #include "net/dns/dns_response.h"
 #include "net/dns/dns_server_iterator.h"
 #include "net/dns/dns_session.h"
+#include "net/dns/dns_socket_allocator.h"
 #include "net/dns/dns_udp_tracker.h"
 #include "net/dns/dns_util.h"
 #include "net/dns/public/dns_over_https_server_config.h"
@@ -187,12 +188,12 @@
 class DnsUDPAttempt : public DnsAttempt {
  public:
   DnsUDPAttempt(size_t server_index,
-                std::unique_ptr<DnsSession::SocketLease> socket_lease,
+                std::unique_ptr<DatagramClientSocket> socket,
                 std::unique_ptr<DnsQuery> query,
                 DnsUdpTracker* udp_tracker)
       : DnsAttempt(server_index),
         next_state_(STATE_NONE),
-        socket_lease_(std::move(socket_lease)),
+        socket_(std::move(socket)),
         query_(std::move(query)),
         udp_tracker_(udp_tracker) {}
 
@@ -205,7 +206,7 @@
     next_state_ = STATE_SEND_QUERY;
 
     IPEndPoint local_address;
-    if (socket_lease_->socket()->GetLocalAddress(&local_address) == OK)
+    if (socket_->GetLocalAddress(&local_address) == OK)
       udp_tracker_->RecordQuery(local_address.port(), query_->id());
 
     return DoLoop(OK);
@@ -219,7 +220,7 @@
   }
 
   const NetLogWithSource& GetSocketNetLog() const override {
-    return socket_lease_->socket()->NetLog();
+    return socket_->NetLog();
   }
 
  private:
@@ -231,8 +232,6 @@
     STATE_NONE,
   };
 
-  DatagramClientSocket* socket() { return socket_lease_->socket(); }
-
   int DoLoop(int result) {
     CHECK_NE(STATE_NONE, next_state_);
     int rv = result;
@@ -270,7 +269,7 @@
 
   int DoSendQuery() {
     next_state_ = STATE_SEND_QUERY_COMPLETE;
-    return socket()->Write(
+    return socket_->Write(
         query_->io_buffer(), query_->io_buffer()->size(),
         base::BindOnce(&DnsUDPAttempt::OnIOComplete, base::Unretained(this)),
         kTrafficAnnotation);
@@ -292,7 +291,7 @@
   int DoReadResponse() {
     next_state_ = STATE_READ_RESPONSE_COMPLETE;
     response_ = std::make_unique<DnsResponse>();
-    return socket()->Read(
+    return socket_->Read(
         response_->io_buffer(), response_->io_buffer_size(),
         base::BindOnce(&DnsUDPAttempt::OnIOComplete, base::Unretained(this)));
   }
@@ -328,7 +327,7 @@
   State next_state_;
   base::TimeTicks start_time_;
 
-  std::unique_ptr<DnsSession::SocketLease> socket_lease_;
+  std::unique_ptr<DatagramClientSocket> socket_;
   std::unique_ptr<DnsQuery> query_;
 
   // Should be owned by the DnsSession, to which the transaction should own a
@@ -1256,22 +1255,28 @@
   AttemptResult MakeUdpAttempt(size_t server_index,
                                std::unique_ptr<DnsQuery> query) {
     DCHECK(!secure_);
+    DCHECK(!session_->udp_tracker()->low_entropy());
     size_t attempt_number = attempts_.size();
 
-    std::unique_ptr<DnsSession::SocketLease> lease =
-        session_->AllocateSocket(server_index, net_log_.source());
+    int connection_error = OK;
+    std::unique_ptr<DatagramClientSocket> socket =
+        session_->socket_allocator()->CreateConnectedUdpSocket(
+            server_index, &connection_error);
 
-    bool got_socket = !!lease.get();
+    bool got_socket = !!socket.get();
+    DCHECK_EQ(got_socket, connection_error == OK);
 
     DnsUDPAttempt* attempt =
-        new DnsUDPAttempt(server_index, std::move(lease), std::move(query),
+        new DnsUDPAttempt(server_index, std::move(socket), std::move(query),
                           session_->udp_tracker());
 
     attempts_.push_back(base::WrapUnique(attempt));
     ++attempts_count_;
 
-    if (!got_socket)
+    if (!got_socket) {
+      session_->udp_tracker()->RecordConnectionError(connection_error);
       return AttemptResult(ERR_CONNECTION_REFUSED, nullptr);
+    }
 
     net_log_.AddEventReferencingSource(NetLogEventType::DNS_TRANSACTION_ATTEMPT,
                                        attempt->GetSocketNetLog().source());
@@ -1339,7 +1344,8 @@
     DCHECK(!secure_);
 
     std::unique_ptr<StreamSocket> socket(
-        session_->CreateTCPSocket(server_index, net_log_.source()));
+        session_->socket_allocator()->CreateTcpSocket(server_index,
+                                                      net_log_.source()));
 
     unsigned attempt_number = attempts_.size();
 
diff --git a/net/dns/dns_transaction_unittest.cc b/net/dns/dns_transaction_unittest.cc
index 58b5f98b..274fea28 100644
--- a/net/dns/dns_transaction_unittest.cc
+++ b/net/dns/dns_transaction_unittest.cc
@@ -35,6 +35,7 @@
 #include "net/dns/dns_response.h"
 #include "net/dns/dns_server_iterator.h"
 #include "net/dns/dns_session.h"
+#include "net/dns/dns_socket_allocator.h"
 #include "net/dns/dns_test_util.h"
 #include "net/dns/dns_util.h"
 #include "net/dns/public/dns_over_https_server_config.h"
@@ -638,8 +639,8 @@
     socket_factory_.reset(new TestSocketFactory());
     session_ = new DnsSession(
         config_,
-        DnsSocketPool::CreateNull(socket_factory_.get(),
-                                  base::BindRepeating(base::RandInt)),
+        std::make_unique<DnsSocketAllocator>(
+            socket_factory_.get(), config_.nameservers, nullptr /* net_log */),
         base::BindRepeating(&DnsTransactionTestBase::GetNextId,
                             base::Unretained(this)),
         nullptr /* NetLog */);
@@ -1448,12 +1449,39 @@
 }
 
 TEST_F(DnsTransactionTest, ConnectFailure) {
-  socket_factory_->fail_next_socket_ = true;
+  // Prep socket factory for a single socket with connection failure.
+  MockConnect connect_data;
+  connect_data.result = ERR_FAILED;
+  StaticSocketDataProvider data_provider;
+  data_provider.set_connect_data(connect_data);
+  socket_factory_->AddSocketDataProvider(&data_provider);
+
   transaction_ids_.push_back(0);  // Needed to make a DnsUDPAttempt.
   TransactionHelper helper0("www.chromium.org", dns_protocol::kTypeA,
                             false /* secure */, ERR_CONNECTION_REFUSED,
                             resolve_context_.get());
+
   EXPECT_TRUE(helper0.Run(transaction_factory_.get()));
+  EXPECT_FALSE(helper0.response());
+  EXPECT_FALSE(session_->udp_tracker()->low_entropy());
+}
+
+TEST_F(DnsTransactionTest, ConnectFailure_SocketLimitReached) {
+  // Prep socket factory for a single socket with connection failure.
+  MockConnect connect_data;
+  connect_data.result = ERR_INSUFFICIENT_RESOURCES;
+  StaticSocketDataProvider data_provider;
+  data_provider.set_connect_data(connect_data);
+  socket_factory_->AddSocketDataProvider(&data_provider);
+
+  transaction_ids_.push_back(0);  // Needed to make a DnsUDPAttempt.
+  TransactionHelper helper0("www.chromium.org", dns_protocol::kTypeA,
+                            false /* secure */, ERR_CONNECTION_REFUSED,
+                            resolve_context_.get());
+
+  EXPECT_TRUE(helper0.Run(transaction_factory_.get()));
+  EXPECT_FALSE(helper0.response());
+  EXPECT_TRUE(session_->udp_tracker()->low_entropy());
 }
 
 TEST_F(DnsTransactionTest, ConnectFailureFollowedBySuccess) {
diff --git a/net/dns/dns_udp_tracker.cc b/net/dns/dns_udp_tracker.cc
index 34931b2..d07a7ed8 100644
--- a/net/dns/dns_udp_tracker.cc
+++ b/net/dns/dns_udp_tracker.cc
@@ -10,6 +10,7 @@
 #include "base/metrics/histogram_macros.h"
 #include "base/numerics/safe_conversions.h"
 #include "base/time/tick_clock.h"
+#include "net/base/net_errors.h"
 
 namespace net {
 
@@ -19,7 +20,8 @@
   kPortReuse = 0,
   kRecognizedIdMismatch = 1,
   kUnrecognizedIdMismatch = 2,
-  kMaxValue = kUnrecognizedIdMismatch,
+  kSocketLimitExhaustion = 3,
+  kMaxValue = kSocketLimitExhaustion,
 };
 
 void RecordLowEntropyUma(LowEntropyReason reason) {
@@ -122,6 +124,16 @@
   UMA_HISTOGRAM_ENUMERATION("Net.DNS.DnsTransaction.UDP.IdMismatch", status);
 }
 
+void DnsUdpTracker::RecordConnectionError(int connection_error) {
+  if (!low_entropy_ && connection_error == ERR_INSUFFICIENT_RESOURCES) {
+    // On UDP connection, this error signifies that the process is using an
+    // unreasonably large number of UDP sockets, potentially a deliberate
+    // attack to reduce DNS port entropy.
+    low_entropy_ = true;
+    RecordLowEntropyUma(LowEntropyReason::kSocketLimitExhaustion);
+  }
+}
+
 void DnsUdpTracker::PurgeOldRecords() {
   base::TimeTicks now = tick_clock_->NowTicks();
 
diff --git a/net/dns/dns_udp_tracker.h b/net/dns/dns_udp_tracker.h
index de921db..597f03620 100644
--- a/net/dns/dns_udp_tracker.h
+++ b/net/dns/dns_udp_tracker.h
@@ -51,6 +51,7 @@
 
   void RecordQuery(uint16_t port, uint16_t query_id);
   void RecordResponseId(uint16_t query_id, uint16_t response_id);
+  void RecordConnectionError(int connection_error);
 
   // If true, the entropy from random UDP port and DNS ID has been detected to
   // potentially be low, e.g. due to exhaustion of the port pool or mismatches
diff --git a/net/dns/dns_udp_tracker_unittest.cc b/net/dns/dns_udp_tracker_unittest.cc
index 8b8749d3..8ed77b6 100644
--- a/net/dns/dns_udp_tracker_unittest.cc
+++ b/net/dns/dns_udp_tracker_unittest.cc
@@ -5,6 +5,7 @@
 #include "net/dns/dns_udp_tracker.h"
 
 #include "base/test/simple_test_tick_clock.h"
+#include "net/base/net_errors.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace net {
@@ -171,6 +172,18 @@
   }
 }
 
+TEST_F(DnsUdpTrackerTest, ConnectionError) {
+  tracker_.RecordConnectionError(ERR_FAILED);
+
+  EXPECT_FALSE(tracker_.low_entropy());
+}
+
+TEST_F(DnsUdpTrackerTest, ConnectionError_InsufficientResources) {
+  tracker_.RecordConnectionError(ERR_INSUFFICIENT_RESOURCES);
+
+  EXPECT_TRUE(tracker_.low_entropy());
+}
+
 }  // namespace
 
 }  // namespace net
diff --git a/net/dns/fuzzed_host_resolver_util.cc b/net/dns/fuzzed_host_resolver_util.cc
index 0110c3d..feaaa6f5 100644
--- a/net/dns/fuzzed_host_resolver_util.cc
+++ b/net/dns/fuzzed_host_resolver_util.cc
@@ -129,7 +129,6 @@
 
   config.unhandled_options = data_provider->ConsumeBool();
   config.append_to_multi_label_name = data_provider->ConsumeBool();
-  config.randomize_ports = data_provider->ConsumeBool();
   config.ndots = data_provider->ConsumeIntegralInRange(0, 3);
   config.attempts = data_provider->ConsumeIntegralInRange(1, 3);
 
diff --git a/net/dns/host_resolver_manager_unittest.cc b/net/dns/host_resolver_manager_unittest.cc
index f467b8e..1fa2b65 100644
--- a/net/dns/host_resolver_manager_unittest.cc
+++ b/net/dns/host_resolver_manager_unittest.cc
@@ -7075,7 +7075,6 @@
       {DnsHostsKey("host", ADDRESS_FAMILY_IPV4), IPAddress(192, 168, 1, 1)}};
   overrides.hosts = hosts;
   overrides.append_to_multi_label_name = false;
-  overrides.randomize_ports = true;
   const int ndots = 5;
   overrides.ndots = ndots;
   const base::TimeDelta timeout = base::TimeDelta::FromSeconds(10);
@@ -7109,7 +7108,6 @@
   EXPECT_EQ(search, overridden_config->search);
   EXPECT_EQ(hosts, overridden_config->hosts);
   EXPECT_FALSE(overridden_config->append_to_multi_label_name);
-  EXPECT_TRUE(overridden_config->randomize_ports);
   EXPECT_EQ(ndots, overridden_config->ndots);
   EXPECT_EQ(timeout, overridden_config->timeout);
   EXPECT_EQ(attempts, overridden_config->attempts);
@@ -7191,7 +7189,6 @@
   EXPECT_EQ(original_config.search, overridden_config->search);
   EXPECT_EQ(original_config.hosts, overridden_config->hosts);
   EXPECT_TRUE(overridden_config->append_to_multi_label_name);
-  EXPECT_FALSE(overridden_config->randomize_ports);
   EXPECT_EQ(original_config.ndots, overridden_config->ndots);
   EXPECT_EQ(original_config.timeout, overridden_config->timeout);
   EXPECT_EQ(original_config.attempts, overridden_config->attempts);
diff --git a/net/dns/resolve_context_unittest.cc b/net/dns/resolve_context_unittest.cc
index 5de6a10e..2b432fc 100644
--- a/net/dns/resolve_context_unittest.cc
+++ b/net/dns/resolve_context_unittest.cc
@@ -23,7 +23,7 @@
 #include "net/dns/dns_config.h"
 #include "net/dns/dns_server_iterator.h"
 #include "net/dns/dns_session.h"
-#include "net/dns/dns_socket_pool.h"
+#include "net/dns/dns_socket_allocator.h"
 #include "net/dns/host_cache.h"
 #include "net/dns/host_resolver_source.h"
 #include "net/dns/public/dns_over_https_server_config.h"
@@ -46,12 +46,12 @@
   scoped_refptr<DnsSession> CreateDnsSession(const DnsConfig& config) {
     auto null_random_callback =
         base::BindRepeating([](int, int) -> int { IMMEDIATE_CRASH(); });
-    std::unique_ptr<DnsSocketPool> dns_socket_pool =
-        DnsSocketPool::CreateNull(socket_factory_.get(), null_random_callback);
+    auto dns_socket_allocator = std::make_unique<DnsSocketAllocator>(
+        socket_factory_.get(), config.nameservers, nullptr /* net_log */);
 
-    return base::MakeRefCounted<DnsSession>(config, std::move(dns_socket_pool),
-                                            null_random_callback,
-                                            nullptr /* netlog */);
+    return base::MakeRefCounted<DnsSession>(
+        config, std::move(dns_socket_allocator), null_random_callback,
+        nullptr /* netlog */);
   }
 
  protected:
diff --git a/net/http/http_server_properties.cc b/net/http/http_server_properties.cc
index 18ca4a1..38728fd 100644
--- a/net/http/http_server_properties.cc
+++ b/net/http/http_server_properties.cc
@@ -157,7 +157,7 @@
                                    this,
                                    tick_clock_),
       canonical_suffixes_({".ggpht.com", ".c.youtube.com", ".googlevideo.com",
-                           ".googleusercontent.com"}),
+                           ".googleusercontent.com", ".gvt1.com"}),
       quic_server_info_map_(kDefaultMaxQuicServerEntries),
       max_server_configs_stored_in_properties_(kDefaultMaxQuicServerEntries) {}
 
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
index 6cceaa94..0767433 100644
--- a/net/quic/quic_stream_factory.cc
+++ b/net/quic/quic_stream_factory.cc
@@ -2150,6 +2150,7 @@
   crypto_config->AddCanonicalSuffix(".ggpht.com");
   crypto_config->AddCanonicalSuffix(".googlevideo.com");
   crypto_config->AddCanonicalSuffix(".googleusercontent.com");
+  crypto_config->AddCanonicalSuffix(".gvt1.com");
 
   if (!prefer_aes_gcm_recorded_) {
     bool prefer_aes_gcm =
diff --git a/pdf/ppapi_migration/input_event_conversions.cc b/pdf/ppapi_migration/input_event_conversions.cc
index e2f659a5..2f954e3 100644
--- a/pdf/ppapi_migration/input_event_conversions.cc
+++ b/pdf/ppapi_migration/input_event_conversions.cc
@@ -74,6 +74,43 @@
   }
 }
 
+bool IsKeyboardEventType(chrome_pdf::InputEventType event_type) {
+  switch (event_type) {
+    case chrome_pdf::InputEventType::kRawKeyDown:
+    case chrome_pdf::InputEventType::kKeyDown:
+    case chrome_pdf::InputEventType::kKeyUp:
+    case chrome_pdf::InputEventType::kChar:
+      return true;
+    default:
+      return false;
+  }
+}
+
+bool IsMouseEventType(chrome_pdf::InputEventType event_type) {
+  switch (event_type) {
+    case chrome_pdf::InputEventType::kMouseDown:
+    case chrome_pdf::InputEventType::kMouseUp:
+    case chrome_pdf::InputEventType::kMouseMove:
+    case chrome_pdf::InputEventType::kMouseEnter:
+    case chrome_pdf::InputEventType::kMouseLeave:
+      return true;
+    default:
+      return false;
+  }
+}
+
+bool IsTouchEventType(chrome_pdf::InputEventType event_type) {
+  switch (event_type) {
+    case chrome_pdf::InputEventType::kTouchStart:
+    case chrome_pdf::InputEventType::kTouchMove:
+    case chrome_pdf::InputEventType::kTouchEnd:
+    case chrome_pdf::InputEventType::kTouchCancel:
+      return true;
+    default:
+      return false;
+  }
+}
+
 }  // namespace
 
 namespace chrome_pdf {
@@ -87,7 +124,9 @@
       time_stamp_(time_stamp),
       modifiers_(modifiers),
       keyboard_code_(keyboard_code),
-      key_char_(key_char) {}
+      key_char_(key_char) {
+  DCHECK(IsKeyboardEventType(GetEventType()));
+}
 
 KeyboardInputEvent::KeyboardInputEvent(const KeyboardInputEvent& other) =
     default;
@@ -110,7 +149,9 @@
       mouse_button_type_(mouse_button_type),
       point_(point),
       click_count_(click_count),
-      movement_(movement) {}
+      movement_(movement) {
+  DCHECK(IsMouseEventType(GetEventType()));
+}
 
 MouseInputEvent::MouseInputEvent(const MouseInputEvent& other) = default;
 
@@ -128,7 +169,9 @@
       time_stamp_(time_stamp),
       modifiers_(modifiers),
       target_touch_point_(target_touch_point),
-      touch_count_(touch_count) {}
+      touch_count_(touch_count) {
+  DCHECK(IsTouchEventType(GetEventType()));
+}
 
 TouchInputEvent::TouchInputEvent(const TouchInputEvent& other) = default;
 
diff --git a/services/network/public/cpp/cross_origin_opener_policy.cc b/services/network/public/cpp/cross_origin_opener_policy.cc
index c00cace..880dd98 100644
--- a/services/network/public/cpp/cross_origin_opener_policy.cc
+++ b/services/network/public/cpp/cross_origin_opener_policy.cc
@@ -25,4 +25,17 @@
          report_only_reporting_endpoint == other.report_only_reporting_endpoint;
 }
 
+bool IsAccessFromCoopPage(mojom::CoopAccessReportType type) {
+  switch (type) {
+    case mojom::CoopAccessReportType::kAccessFromCoopPageToOpener:
+    case mojom::CoopAccessReportType::kAccessFromCoopPageToOpenee:
+    case mojom::CoopAccessReportType::kAccessFromCoopPageToOther:
+      return true;
+    case mojom::CoopAccessReportType::kAccessToCoopPageFromOpener:
+    case mojom::CoopAccessReportType::kAccessToCoopPageFromOpenee:
+    case mojom::CoopAccessReportType::kAccessToCoopPageFromOther:
+      return false;
+  }
+}
+
 }  // namespace network
diff --git a/services/network/public/cpp/cross_origin_opener_policy.h b/services/network/public/cpp/cross_origin_opener_policy.h
index b41f580..5e4e16a 100644
--- a/services/network/public/cpp/cross_origin_opener_policy.h
+++ b/services/network/public/cpp/cross_origin_opener_policy.h
@@ -31,6 +31,9 @@
   base::Optional<std::string> report_only_reporting_endpoint;
 };
 
+COMPONENT_EXPORT(NETWORK_CPP_BASE)
+bool IsAccessFromCoopPage(mojom::CoopAccessReportType);
+
 }  // namespace network
 
 #endif  // SERVICES_NETWORK_PUBLIC_CPP_CROSS_ORIGIN_OPENER_POLICY_H_
diff --git a/services/network/public/cpp/host_resolver_mojom_traits.cc b/services/network/public/cpp/host_resolver_mojom_traits.cc
index 9832b21..c2126c1 100644
--- a/services/network/public/cpp/host_resolver_mojom_traits.cc
+++ b/services/network/public/cpp/host_resolver_mojom_traits.cc
@@ -164,13 +164,6 @@
 
 // static
 DnsConfigOverrides::Tristate
-StructTraits<DnsConfigOverridesDataView, net::DnsConfigOverrides>::
-    randomize_ports(const net::DnsConfigOverrides& overrides) {
-  return ToTristate(overrides.randomize_ports);
-}
-
-// static
-DnsConfigOverrides::Tristate
 StructTraits<DnsConfigOverridesDataView, net::DnsConfigOverrides>::rotate(
     const net::DnsConfigOverrides& overrides) {
   return ToTristate(overrides.rotate);
@@ -230,7 +223,6 @@
 
   out->append_to_multi_label_name =
       FromTristate(data.append_to_multi_label_name());
-  out->randomize_ports = FromTristate(data.randomize_ports());
 
   if (data.ndots() < -1)
     return false;
diff --git a/services/network/public/cpp/host_resolver_mojom_traits.h b/services/network/public/cpp/host_resolver_mojom_traits.h
index cae8e0e..9591057 100644
--- a/services/network/public/cpp/host_resolver_mojom_traits.h
+++ b/services/network/public/cpp/host_resolver_mojom_traits.h
@@ -51,8 +51,6 @@
 
   static network::mojom::DnsConfigOverrides_Tristate append_to_multi_label_name(
       const net::DnsConfigOverrides& overrides);
-  static network::mojom::DnsConfigOverrides_Tristate randomize_ports(
-      const net::DnsConfigOverrides& overrides);
 
   static int ndots(const net::DnsConfigOverrides& overrides) {
     return overrides.ndots.value_or(-1);
diff --git a/services/network/public/cpp/host_resolver_mojom_traits_unittest.cc b/services/network/public/cpp/host_resolver_mojom_traits_unittest.cc
index 9a5dacd..448f384 100644
--- a/services/network/public/cpp/host_resolver_mojom_traits_unittest.cc
+++ b/services/network/public/cpp/host_resolver_mojom_traits_unittest.cc
@@ -37,7 +37,6 @@
        std::make_pair(net::DnsHostsKey("host2", net::ADDRESS_FAMILY_IPV4),
                       net::IPAddress(2, 3, 4, 5))});
   original.append_to_multi_label_name = true;
-  original.randomize_ports = false;
   original.ndots = 2;
   original.timeout = base::TimeDelta::FromHours(4);
   original.attempts = 1;
diff --git a/services/network/public/mojom/cross_origin_opener_policy.mojom b/services/network/public/mojom/cross_origin_opener_policy.mojom
index 8a4849f..8afb085 100644
--- a/services/network/public/mojom/cross_origin_opener_policy.mojom
+++ b/services/network/public/mojom/cross_origin_opener_policy.mojom
@@ -9,8 +9,12 @@
 import "services/network/public/mojom/source_location.mojom";
 
 enum CoopAccessReportType {
-  kReportAccessFrom, // The reports are sent to the 'accessing window'.
-  kReportAccessTo,   // The reports are sent to the 'accessed window'.
+  kAccessFromCoopPageToOpener,
+  kAccessFromCoopPageToOpenee,
+  kAccessFromCoopPageToOther,
+  kAccessToCoopPageFromOpener,
+  kAccessToCoopPageFromOpenee,
+  kAccessToCoopPageFromOther,
 };
 
 // Reports potential COOP violations. Implemented in the browser process.
diff --git a/services/network/public/mojom/host_resolver.mojom b/services/network/public/mojom/host_resolver.mojom
index aa9566a..7d48d2a 100644
--- a/services/network/public/mojom/host_resolver.mojom
+++ b/services/network/public/mojom/host_resolver.mojom
@@ -75,10 +75,6 @@
   // Whether suffix search should be performed for multi-label names.
   Tristate append_to_multi_label_name = Tristate.NO_OVERRIDE;
 
-  // Whether source port randomization is required. This uses additional
-  // resources on some platforms.
-  Tristate randomize_ports = Tristate.NO_OVERRIDE;
-
   // Minimum number of dots before global resolution precedes |search|.
   int8 ndots = -1;  // -1 for no override.
 
diff --git a/services/network/public/mojom/referrer_policy.mojom b/services/network/public/mojom/referrer_policy.mojom
index b159d7c..237e8f2 100644
--- a/services/network/public/mojom/referrer_policy.mojom
+++ b/services/network/public/mojom/referrer_policy.mojom
@@ -15,5 +15,4 @@
     kStrictOriginWhenCrossOrigin,
     kSameOrigin,
     kStrictOrigin,
-    kLast = kStrictOrigin,
 };
diff --git a/storage/browser/quota/quota_features.cc b/storage/browser/quota/quota_features.cc
index 241852a..42cc63ea 100644
--- a/storage/browser/quota/quota_features.cc
+++ b/storage/browser/quota/quota_features.cc
@@ -27,13 +27,13 @@
 // IncognitoDynamicQuota enables dynamic assignment of quota to incognito mode
 // based on the physical memory size and removes the fixed upper cap for it.
 const base::Feature kIncognitoDynamicQuota{"IncognitoDynamicQuota",
-                                           base::FEATURE_DISABLED_BY_DEFAULT};
+                                           base::FEATURE_ENABLED_BY_DEFAULT};
 
 // Dynamic quota for incognito mode would be set by a random fraction of
 // physical memory, between |IncognitoQuotaRatioLowerBound| and
 // |IncognitoQuotaRatioUpperBound|.
 constexpr base::FeatureParam<double> kIncognitoQuotaRatioLowerBound{
-    &kIncognitoDynamicQuota, "IncognitoQuotaRatioLowerBound", 0.1};
+    &kIncognitoDynamicQuota, "IncognitoQuotaRatioLowerBound", 0.15};
 constexpr base::FeatureParam<double> kIncognitoQuotaRatioUpperBound{
     &kIncognitoDynamicQuota, "IncognitoQuotaRatioUpperBound", 0.2};
 
diff --git a/testing/buildbot/chromium.ci.json b/testing/buildbot/chromium.ci.json
index 19f46f5..fa706b21 100644
--- a/testing/buildbot/chromium.ci.json
+++ b/testing/buildbot/chromium.ci.json
@@ -128796,7 +128796,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -128820,7 +128820,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -128837,7 +128837,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -128861,7 +128861,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -128878,7 +128878,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -128902,7 +128902,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -128919,7 +128919,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -128943,7 +128943,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -128960,7 +128960,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -128984,7 +128984,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129001,7 +129001,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -129025,7 +129025,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129042,7 +129042,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -129066,7 +129066,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129083,7 +129083,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -129107,7 +129107,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129124,7 +129124,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -129148,7 +129148,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129165,7 +129165,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -129189,7 +129189,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129206,7 +129206,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -129230,7 +129230,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129247,7 +129247,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -129271,7 +129271,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129288,7 +129288,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -129312,7 +129312,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129329,7 +129329,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -129353,7 +129353,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129370,7 +129370,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -129394,7 +129394,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129411,7 +129411,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -129435,7 +129435,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129452,7 +129452,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -129476,7 +129476,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129493,7 +129493,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -129517,7 +129517,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129553,7 +129553,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -129578,7 +129578,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129591,7 +129591,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -129616,7 +129616,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129629,7 +129629,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -129654,7 +129654,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129667,7 +129667,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -129692,7 +129692,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129705,7 +129705,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -129730,7 +129730,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129743,7 +129743,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -129768,7 +129768,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129781,7 +129781,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -129806,7 +129806,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129819,7 +129819,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -129844,7 +129844,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129857,7 +129857,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -129882,7 +129882,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129895,7 +129895,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -129920,7 +129920,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129933,7 +129933,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -129958,7 +129958,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -129971,7 +129971,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -129996,7 +129996,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -130009,7 +130009,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -130034,7 +130034,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -130047,7 +130047,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -130072,7 +130072,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -130085,7 +130085,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -130110,7 +130110,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -130123,7 +130123,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -130148,7 +130148,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -130161,7 +130161,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -130186,7 +130186,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -130199,7 +130199,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -130224,7 +130224,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204286,7 +204286,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -204310,7 +204310,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204327,7 +204327,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -204351,7 +204351,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204368,7 +204368,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -204392,7 +204392,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204409,7 +204409,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -204433,7 +204433,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204450,7 +204450,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -204474,7 +204474,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204491,7 +204491,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -204515,7 +204515,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204532,7 +204532,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -204556,7 +204556,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204573,7 +204573,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -204597,7 +204597,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204614,7 +204614,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -204638,7 +204638,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204655,7 +204655,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -204679,7 +204679,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204696,7 +204696,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -204720,7 +204720,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204737,7 +204737,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -204761,7 +204761,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204778,7 +204778,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -204802,7 +204802,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204819,7 +204819,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -204843,7 +204843,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204860,7 +204860,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -204884,7 +204884,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204901,7 +204901,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -204925,7 +204925,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204942,7 +204942,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -204966,7 +204966,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -204983,7 +204983,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -205007,7 +205007,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205024,7 +205024,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "merge": {
@@ -205048,7 +205048,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205065,7 +205065,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "merge": {
@@ -205089,7 +205089,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205106,7 +205106,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -205130,7 +205130,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205147,7 +205147,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -205171,7 +205171,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205188,7 +205188,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "merge": {
@@ -205212,7 +205212,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205229,7 +205229,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "merge": {
@@ -205253,7 +205253,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205270,7 +205270,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "merge": {
@@ -205294,7 +205294,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205311,7 +205311,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "merge": {
@@ -205335,7 +205335,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205352,7 +205352,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -205376,7 +205376,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205393,7 +205393,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -205417,7 +205417,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205434,7 +205434,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -205458,7 +205458,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205475,7 +205475,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -205499,7 +205499,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205516,7 +205516,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -205540,7 +205540,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205557,7 +205557,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -205581,7 +205581,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205598,7 +205598,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -205622,7 +205622,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205639,7 +205639,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -205663,7 +205663,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205680,7 +205680,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -205704,7 +205704,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205721,7 +205721,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -205745,7 +205745,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205762,7 +205762,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "merge": {
@@ -205786,7 +205786,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205803,7 +205803,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "merge": {
@@ -205827,7 +205827,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205844,7 +205844,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -205868,7 +205868,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205885,7 +205885,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -205909,7 +205909,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205926,7 +205926,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -205950,7 +205950,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -205967,7 +205967,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -205991,7 +205991,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206008,7 +206008,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -206032,7 +206032,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206049,7 +206049,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -206073,7 +206073,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206090,7 +206090,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -206114,7 +206114,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206131,7 +206131,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -206155,7 +206155,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206184,7 +206184,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -206208,7 +206208,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206225,7 +206225,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -206249,7 +206249,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206266,7 +206266,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -206290,7 +206290,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206307,7 +206307,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -206331,7 +206331,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206348,7 +206348,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -206372,7 +206372,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206389,7 +206389,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -206413,7 +206413,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206430,7 +206430,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -206454,7 +206454,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206471,7 +206471,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -206495,7 +206495,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206512,7 +206512,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -206536,7 +206536,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206553,7 +206553,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -206577,7 +206577,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206594,7 +206594,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -206618,7 +206618,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206635,7 +206635,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -206659,7 +206659,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206676,7 +206676,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -206700,7 +206700,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206717,7 +206717,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -206741,7 +206741,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206758,7 +206758,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -206782,7 +206782,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206799,7 +206799,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -206823,7 +206823,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206840,7 +206840,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -206864,7 +206864,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206881,7 +206881,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -206905,7 +206905,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206922,7 +206922,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -206946,7 +206946,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -206963,7 +206963,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -206987,7 +206987,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207004,7 +207004,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -207028,7 +207028,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207045,7 +207045,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -207069,7 +207069,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207086,7 +207086,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -207110,7 +207111,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207128,7 +207129,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -207152,7 +207154,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207170,7 +207172,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -207194,7 +207197,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207211,7 +207214,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -207235,7 +207239,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207252,7 +207256,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -207276,7 +207281,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207294,7 +207299,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -207318,7 +207324,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207336,7 +207342,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -207360,7 +207366,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207377,7 +207383,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -207401,7 +207407,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207418,7 +207424,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -207442,7 +207448,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207459,7 +207465,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -207483,7 +207489,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207500,7 +207506,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "merge": {
@@ -207524,7 +207530,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207541,7 +207547,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "merge": {
@@ -207565,7 +207571,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207582,7 +207588,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -207606,7 +207612,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207623,7 +207629,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -207647,7 +207653,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207664,7 +207670,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "merge": {
@@ -207688,7 +207694,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207705,7 +207711,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "merge": {
@@ -207729,7 +207735,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207746,7 +207752,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "merge": {
@@ -207770,7 +207776,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207787,7 +207793,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "merge": {
@@ -207811,7 +207817,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207828,7 +207834,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -207852,7 +207858,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207869,7 +207875,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -207893,7 +207899,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207910,7 +207916,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -207934,7 +207940,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207951,7 +207957,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -207975,7 +207981,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -207992,7 +207998,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -208016,7 +208023,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208033,7 +208040,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -208057,7 +208065,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208074,7 +208082,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -208098,7 +208106,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208115,7 +208123,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -208139,7 +208147,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208156,7 +208164,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -208180,7 +208188,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208197,7 +208205,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -208221,7 +208229,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208238,7 +208246,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -208262,7 +208270,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208279,7 +208287,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -208303,7 +208311,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208320,7 +208328,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -208344,7 +208352,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208361,7 +208369,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -208385,7 +208393,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208402,7 +208410,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -208426,7 +208434,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208443,7 +208451,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -208467,7 +208475,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208484,7 +208492,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -208508,7 +208516,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208525,7 +208533,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -208549,7 +208557,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208566,7 +208574,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -208590,7 +208598,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208607,7 +208615,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -208631,7 +208639,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208648,7 +208656,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "merge": {
@@ -208672,7 +208680,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208689,7 +208697,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "merge": {
@@ -208713,7 +208721,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208730,7 +208738,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -208754,7 +208762,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208771,7 +208779,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -208795,7 +208803,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208812,7 +208820,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -208836,7 +208844,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208853,7 +208861,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -208877,7 +208885,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208894,7 +208902,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -208918,7 +208926,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208935,7 +208943,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -208959,7 +208967,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -208976,7 +208984,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -209000,7 +209008,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209017,7 +209025,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -209041,7 +209049,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209058,7 +209066,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -209082,7 +209090,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209099,7 +209107,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -209123,7 +209131,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209140,7 +209148,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -209164,7 +209172,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209181,7 +209189,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -209205,7 +209213,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209223,10 +209231,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "isolate_profile_data": true,
@@ -209251,7 +209261,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209265,10 +209275,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "isolate_profile_data": true,
@@ -209293,7 +209305,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209307,10 +209319,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "isolate_profile_data": true,
@@ -209335,7 +209349,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209349,10 +209363,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "isolate_profile_data": true,
@@ -209377,7 +209393,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209391,10 +209407,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "isolate_profile_data": true,
@@ -209419,7 +209437,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209433,10 +209451,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "isolate_profile_data": true,
@@ -209461,7 +209481,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209475,10 +209495,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "isolate_profile_data": true,
@@ -209503,7 +209525,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209517,10 +209539,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "isolate_profile_data": true,
@@ -209545,7 +209569,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209559,10 +209583,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "isolate_profile_data": true,
@@ -209587,7 +209613,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209601,10 +209627,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "isolate_profile_data": true,
@@ -209629,7 +209657,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209643,10 +209671,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "isolate_profile_data": true,
@@ -209671,7 +209701,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209685,10 +209715,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "isolate_profile_data": true,
@@ -209713,7 +209745,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209727,10 +209759,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "isolate_profile_data": true,
@@ -209755,7 +209789,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209769,10 +209803,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "isolate_profile_data": true,
@@ -209797,7 +209833,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209811,10 +209847,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "isolate_profile_data": true,
@@ -209839,7 +209877,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209853,10 +209891,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "isolate_profile_data": true,
@@ -209881,7 +209921,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209895,10 +209935,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "isolate_profile_data": true,
@@ -209923,7 +209965,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209937,10 +209979,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "isolate_profile_data": true,
@@ -209965,7 +210009,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -209979,10 +210023,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "isolate_profile_data": true,
@@ -210007,7 +210053,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210021,10 +210067,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "isolate_profile_data": true,
@@ -210049,7 +210097,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210063,10 +210111,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "isolate_profile_data": true,
@@ -210091,7 +210141,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210105,10 +210155,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "isolate_profile_data": true,
@@ -210133,7 +210185,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210147,10 +210199,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "isolate_profile_data": true,
@@ -210175,7 +210230,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210189,10 +210244,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "isolate_profile_data": true,
@@ -210217,7 +210275,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210231,10 +210289,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "isolate_profile_data": true,
@@ -210259,7 +210320,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210273,10 +210334,13 @@
           "iPhone X",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "isolate_profile_data": true,
@@ -210301,7 +210365,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210315,10 +210379,13 @@
           "iPhone X",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "isolate_profile_data": true,
@@ -210343,7 +210410,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210357,10 +210424,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "isolate_profile_data": true,
@@ -210385,7 +210455,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210400,10 +210470,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "isolate_profile_data": true,
@@ -210428,7 +210501,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210443,10 +210516,13 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "isolate_profile_data": true,
@@ -210471,7 +210547,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210486,10 +210562,13 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "isolate_profile_data": true,
@@ -210514,7 +210593,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210529,10 +210608,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "isolate_profile_data": true,
@@ -210557,7 +210639,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210572,10 +210654,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "isolate_profile_data": true,
@@ -210600,7 +210685,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210615,10 +210700,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "isolate_profile_data": true,
@@ -210643,7 +210731,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210658,10 +210746,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "isolate_profile_data": true,
@@ -210686,7 +210777,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210701,10 +210792,13 @@
           "iPhone X",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "isolate_profile_data": true,
@@ -210729,7 +210823,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210744,10 +210838,13 @@
           "iPhone X",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "isolate_profile_data": true,
@@ -210772,7 +210869,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210787,10 +210884,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "isolate_profile_data": true,
@@ -210815,7 +210915,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210829,10 +210929,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "isolate_profile_data": true,
@@ -210857,7 +210960,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210871,10 +210974,13 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "isolate_profile_data": true,
@@ -210899,7 +211005,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210913,10 +211019,13 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "isolate_profile_data": true,
@@ -210941,7 +211050,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210955,10 +211064,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "isolate_profile_data": true,
@@ -210983,7 +211095,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -210997,10 +211109,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "isolate_profile_data": true,
@@ -211025,7 +211140,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211039,10 +211154,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "isolate_profile_data": true,
@@ -211067,7 +211185,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211081,10 +211199,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "isolate_profile_data": true,
@@ -211109,7 +211230,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211123,10 +211244,13 @@
           "iPhone X",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "isolate_profile_data": true,
@@ -211151,7 +211275,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211165,10 +211289,13 @@
           "iPhone X",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "isolate_profile_data": true,
@@ -211193,7 +211320,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211207,10 +211334,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "isolate_profile_data": true,
@@ -211235,7 +211365,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211250,10 +211380,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "isolate_profile_data": true,
@@ -211278,7 +211411,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211293,10 +211426,13 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "isolate_profile_data": true,
@@ -211321,7 +211457,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211336,10 +211472,13 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "isolate_profile_data": true,
@@ -211364,7 +211503,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211379,10 +211518,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "isolate_profile_data": true,
@@ -211407,7 +211549,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211422,10 +211564,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "isolate_profile_data": true,
@@ -211450,7 +211594,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211464,10 +211608,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "isolate_profile_data": true,
@@ -211492,7 +211638,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211506,10 +211652,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "isolate_profile_data": true,
@@ -211534,7 +211682,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211548,10 +211696,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "isolate_profile_data": true,
@@ -211576,7 +211726,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211590,10 +211740,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "isolate_profile_data": true,
@@ -211618,7 +211771,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211632,10 +211785,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "isolate_profile_data": true,
@@ -211660,7 +211816,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211674,10 +211830,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "isolate_profile_data": true,
@@ -211702,7 +211861,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211716,10 +211875,13 @@
           "iPhone X",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "isolate_profile_data": true,
@@ -211744,7 +211906,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211758,10 +211920,13 @@
           "iPhone X",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "isolate_profile_data": true,
@@ -211786,7 +211951,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211800,10 +211965,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "isolate_profile_data": true,
@@ -211828,7 +211995,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211842,10 +212009,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "isolate_profile_data": true,
@@ -211870,7 +212039,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211884,10 +212053,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "isolate_profile_data": true,
@@ -211912,7 +212083,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211926,10 +212097,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "isolate_profile_data": true,
@@ -211954,7 +212127,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -211968,10 +212141,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "isolate_profile_data": true,
@@ -211996,7 +212171,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212010,10 +212185,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "isolate_profile_data": true,
@@ -212038,7 +212215,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212052,10 +212229,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "isolate_profile_data": true,
@@ -212080,7 +212260,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212094,10 +212274,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "isolate_profile_data": true,
@@ -212122,7 +212305,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212136,10 +212319,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "isolate_profile_data": true,
@@ -212164,7 +212350,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212178,10 +212364,13 @@
           "iPhone X",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "isolate_profile_data": true,
@@ -212206,7 +212395,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212220,10 +212409,13 @@
           "iPhone X",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "isolate_profile_data": true,
@@ -212248,7 +212440,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212262,10 +212454,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "isolate_profile_data": true,
@@ -212290,7 +212484,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212304,10 +212498,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "isolate_profile_data": true,
@@ -212332,7 +212528,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212346,10 +212542,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "isolate_profile_data": true,
@@ -212374,7 +212572,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212388,10 +212586,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "isolate_profile_data": true,
@@ -212416,7 +212616,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212430,10 +212630,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "isolate_profile_data": true,
@@ -212458,7 +212660,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212472,10 +212674,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "isolate_profile_data": true,
@@ -212500,7 +212704,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212514,10 +212718,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "isolate_profile_data": true,
@@ -212542,7 +212749,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212556,10 +212763,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "isolate_profile_data": true,
@@ -212584,7 +212794,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212598,10 +212808,13 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "isolate_profile_data": true,
@@ -212626,7 +212839,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212640,10 +212853,13 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "isolate_profile_data": true,
@@ -212668,7 +212884,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212682,10 +212898,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "isolate_profile_data": true,
@@ -212710,7 +212929,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212724,10 +212943,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "isolate_profile_data": true,
@@ -212752,7 +212973,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212766,10 +212987,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "isolate_profile_data": true,
@@ -212794,7 +213017,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212808,10 +213031,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "isolate_profile_data": true,
@@ -212836,7 +213061,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212850,10 +213075,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "isolate_profile_data": true,
@@ -212878,7 +213105,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212892,10 +213119,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "isolate_profile_data": true,
@@ -212920,7 +213149,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212934,10 +213163,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "isolate_profile_data": true,
@@ -212962,7 +213193,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -212976,10 +213207,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "isolate_profile_data": true,
@@ -213004,7 +213237,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213018,10 +213251,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "isolate_profile_data": true,
@@ -213046,7 +213281,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213060,10 +213295,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "isolate_profile_data": true,
@@ -213088,7 +213325,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213102,10 +213339,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "isolate_profile_data": true,
@@ -213130,7 +213369,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213144,10 +213383,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "isolate_profile_data": true,
@@ -213172,7 +213413,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213186,10 +213427,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "isolate_profile_data": true,
@@ -213214,7 +213457,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213228,10 +213471,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "isolate_profile_data": true,
@@ -213256,7 +213501,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213270,10 +213515,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "isolate_profile_data": true,
@@ -213298,7 +213545,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213312,10 +213559,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "isolate_profile_data": true,
@@ -213340,7 +213589,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213354,10 +213603,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "isolate_profile_data": true,
@@ -213382,7 +213633,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213396,10 +213647,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "isolate_profile_data": true,
@@ -213424,7 +213677,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213438,10 +213691,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "isolate_profile_data": true,
@@ -213466,7 +213721,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213480,10 +213735,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "isolate_profile_data": true,
@@ -213508,7 +213765,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213522,10 +213779,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "isolate_profile_data": true,
@@ -213550,7 +213809,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213564,10 +213823,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "isolate_profile_data": true,
@@ -213592,7 +213853,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213606,10 +213867,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "isolate_profile_data": true,
@@ -213634,7 +213897,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213648,10 +213911,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "isolate_profile_data": true,
@@ -213676,7 +213941,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213690,10 +213955,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "isolate_profile_data": true,
@@ -213718,7 +213985,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213732,10 +213999,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "isolate_profile_data": true,
@@ -213760,7 +214029,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213774,10 +214043,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "isolate_profile_data": true,
@@ -213802,7 +214073,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213816,10 +214087,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "isolate_profile_data": true,
@@ -213844,7 +214117,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213858,10 +214131,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "isolate_profile_data": true,
@@ -213886,7 +214161,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -213996,7 +214271,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -214020,7 +214296,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214037,7 +214313,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -214061,7 +214338,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214078,7 +214355,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -214102,7 +214380,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214119,7 +214397,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -214143,7 +214422,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214160,7 +214439,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -214184,7 +214464,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214201,7 +214481,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -214225,7 +214506,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214243,7 +214524,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -214267,7 +214549,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214285,7 +214567,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -214309,7 +214592,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214327,7 +214610,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -214351,7 +214635,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214369,7 +214653,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -214393,7 +214678,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214411,7 +214696,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -214435,7 +214721,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214453,7 +214739,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -214477,7 +214764,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214495,7 +214782,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -214519,7 +214807,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214537,7 +214825,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -214561,7 +214850,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214578,7 +214867,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -214602,7 +214892,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214619,7 +214909,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -214643,7 +214934,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214660,7 +214951,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -214684,7 +214976,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214701,7 +214993,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -214725,7 +215018,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214742,7 +215035,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -214766,7 +215060,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214783,7 +215077,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -214807,7 +215102,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214824,7 +215119,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -214848,7 +215144,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214865,7 +215161,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -214889,7 +215186,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214907,7 +215204,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -214931,7 +215229,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214949,7 +215247,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -214973,7 +215272,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -214991,7 +215290,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -215015,7 +215315,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215032,7 +215332,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -215056,7 +215357,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215073,7 +215374,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -215097,7 +215399,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215114,7 +215416,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -215138,7 +215441,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215155,7 +215458,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -215179,7 +215483,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215196,7 +215500,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -215220,7 +215525,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215237,7 +215542,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -215261,7 +215567,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215278,7 +215584,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -215302,7 +215609,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215319,7 +215626,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -215343,7 +215651,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215360,7 +215668,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -215384,7 +215693,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215401,7 +215710,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -215425,7 +215735,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215442,7 +215752,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -215466,7 +215777,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215483,7 +215794,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -215507,7 +215819,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215528,7 +215840,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -215552,7 +215864,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215569,7 +215881,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -215593,7 +215905,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215610,7 +215922,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -215634,7 +215946,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215651,7 +215963,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -215675,7 +215987,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215692,7 +216004,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -215716,7 +216028,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215733,7 +216045,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -215757,7 +216069,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215774,7 +216086,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -215798,7 +216110,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215815,7 +216127,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -215839,7 +216151,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215856,7 +216168,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -215880,7 +216193,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215897,7 +216210,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -215921,7 +216235,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215939,7 +216253,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -215963,7 +216278,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -215981,7 +216296,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -216005,7 +216321,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216022,7 +216338,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -216046,7 +216363,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216063,7 +216380,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -216087,7 +216405,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216105,7 +216423,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -216129,7 +216447,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216146,7 +216464,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -216170,7 +216489,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216187,7 +216506,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "merge": {
@@ -216211,7 +216530,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216228,7 +216547,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -216252,7 +216571,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216269,7 +216588,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "merge": {
@@ -216293,7 +216612,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216310,7 +216629,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -216334,7 +216654,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216351,7 +216671,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "merge": {
@@ -216375,7 +216695,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216392,7 +216712,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -216416,7 +216736,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216433,7 +216753,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -216457,7 +216778,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216474,7 +216795,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -216498,7 +216819,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216515,7 +216836,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -216539,7 +216860,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216556,7 +216877,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -216580,7 +216901,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216597,7 +216918,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -216621,7 +216942,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216638,7 +216959,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "merge": {
@@ -216662,7 +216983,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216679,7 +217000,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -216703,7 +217024,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216720,7 +217041,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -216744,7 +217065,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216761,7 +217082,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -216785,7 +217106,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -216802,7 +217123,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -216826,7 +217147,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -217542,7 +217863,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -217585,7 +217907,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -217628,7 +217951,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -217672,7 +217996,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -217716,7 +218041,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -217760,7 +218086,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -217804,7 +218131,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -217847,7 +218175,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -217890,7 +218219,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -217933,7 +218263,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -217976,7 +218307,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -218020,7 +218352,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -218150,7 +218483,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -218193,7 +218527,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -218494,7 +218829,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -218537,7 +218873,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -218752,7 +219089,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -218795,7 +219133,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -220220,7 +220559,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -220262,7 +220602,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -220304,7 +220645,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -220346,7 +220688,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -220388,7 +220731,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -220431,7 +220775,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -220474,7 +220819,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -220517,7 +220863,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -220560,7 +220907,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -220603,7 +220951,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -220646,7 +220995,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -220689,7 +221039,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -220732,7 +221083,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -220774,7 +221126,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -220816,7 +221169,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -220858,7 +221212,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -220900,7 +221255,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -220942,7 +221298,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -220984,7 +221341,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -221026,7 +221384,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -221068,7 +221427,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -221111,7 +221471,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -221154,7 +221515,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -221197,7 +221559,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -221366,7 +221729,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -221408,7 +221772,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -221450,7 +221815,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -221492,7 +221858,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -221660,7 +222027,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -221702,7 +222070,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -221744,7 +222113,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -221786,7 +222156,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -221996,7 +222367,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -222038,7 +222410,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -222080,7 +222453,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -222122,7 +222496,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -222965,48 +223340,6 @@
           "--platform",
           "iPhone 6s",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "absl_hardening_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "absl_hardening_tests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -223047,132 +223380,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "absl_hardening_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "absl_hardening_tests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "base_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://base:base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "base_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://base:base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -223217,90 +223424,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "base_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://base:base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "base_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://base:base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -223341,90 +223464,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "base_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://base:base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "boringssl_crypto_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "boringssl_crypto_tests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -223467,90 +223506,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "boringssl_crypto_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "boringssl_crypto_tests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "boringssl_ssl_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "boringssl_ssl_tests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -223593,132 +223548,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "boringssl_ssl_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "boringssl_ssl_tests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "components_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://components:components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "components_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://components:components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -223763,90 +223592,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "components_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://components:components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "components_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://components:components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -223887,90 +223632,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "components_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://components:components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "crypto_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "crypto_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://crypto:crypto_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -224013,132 +223674,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "crypto_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "crypto_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://crypto:crypto_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "gfx_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "gfx_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/gfx:gfx_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "gfx_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "gfx_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/gfx:gfx_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -224183,90 +223718,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "gfx_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "gfx_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/gfx:gfx_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "gfx_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "gfx_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/gfx:gfx_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -224307,90 +223758,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "gfx_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "gfx_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/gfx:gfx_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "google_apis_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "google_apis_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://google_apis:google_apis_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -224433,181 +223800,14 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "google_apis_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "google_apis_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://google_apis:google_apis_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air (3rd generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPad Air (3rd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -224645,53 +223845,12 @@
           "--platform",
           "iPhone 7",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPhone 7 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 7",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -224729,95 +223888,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -224853,99 +223929,14 @@
       {
         "args": [
           "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -224984,97 +223975,12 @@
           "--platform",
           "iPad Pro (12.9-inch) (2nd generation)",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -225113,97 +224019,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -225240,142 +224061,14 @@
       {
         "args": [
           "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air (3rd generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPad Air (3rd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -225414,54 +224107,12 @@
           "--platform",
           "iPhone 7",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPhone 7 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 7",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -225500,97 +224151,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -225627,97 +224193,14 @@
       {
         "args": [
           "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -225755,95 +224238,12 @@
           "--platform",
           "iPad Pro (12.9-inch) (2nd generation)",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -225881,95 +224281,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -226005,139 +224322,14 @@
       {
         "args": [
           "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air (3rd generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPad Air (3rd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -226175,53 +224367,12 @@
           "--platform",
           "iPhone 7",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPhone 7 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 7",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -226259,95 +224410,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -226383,99 +224451,14 @@
       {
         "args": [
           "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -226514,97 +224497,12 @@
           "--platform",
           "iPad Pro (12.9-inch) (2nd generation)",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -226643,97 +224541,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -226770,90 +224583,6 @@
       {
         "args": [
           "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -226898,90 +224627,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -227022,181 +224667,14 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air (3rd generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPad Air (3rd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -227234,53 +224712,12 @@
           "--platform",
           "iPhone 7",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPhone 7 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 7",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -227318,95 +224755,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -227444,48 +224798,6 @@
           "--platform",
           "iPhone 6s",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_components_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/components:ios_components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -227526,90 +224838,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_components_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/components:ios_components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_net_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_net_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/net:ios_net_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -227652,90 +224880,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_net_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_net_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/net:ios_net_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_remoting_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_remoting_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://remoting/ios:ios_remoting_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -227778,181 +224922,14 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_remoting_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_remoting_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://remoting/ios:ios_remoting_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air (3rd generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPad Air (3rd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -227990,53 +224967,12 @@
           "--platform",
           "iPhone 7",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPhone 7 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 7",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -228074,95 +225010,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -228200,48 +225053,6 @@
           "--platform",
           "iPhone 6s",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_testing_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_testing_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -228282,132 +225093,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_testing_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_testing_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_inttests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_inttests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -228452,90 +225137,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_inttests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_inttests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -228576,139 +225177,14 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_inttests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -228746,95 +225222,12 @@
           "--platform",
           "iPad Pro (12.9-inch) (2nd generation)",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -228872,95 +225265,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -228996,90 +225306,6 @@
       {
         "args": [
           "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -229124,90 +225350,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -229248,132 +225390,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_inttests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_inttests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -229418,90 +225434,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_inttests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_inttests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -229542,132 +225474,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_inttests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -229712,90 +225518,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -229836,90 +225558,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "net_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "net_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://net:net_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -229962,90 +225600,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "net_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "net_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://net:net_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "services_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "services_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://services:services_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -230088,132 +225642,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "services_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "services_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://services:services_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "skia_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "skia_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://skia:skia_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "skia_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "skia_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://skia:skia_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -230258,90 +225686,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "skia_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "skia_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://skia:skia_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "skia_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "skia_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://skia:skia_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -230382,90 +225726,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "skia_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "skia_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://skia:skia_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "sql_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "sql_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://sql:sql_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -230508,132 +225768,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "sql_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "sql_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://sql:sql_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ui_base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ui_base_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/base:ui_base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ui_base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ui_base_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/base:ui_base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -230678,90 +225812,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ui_base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ui_base_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/base:ui_base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ui_base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ui_base_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/base:ui_base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -230802,90 +225852,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ui_base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ui_base_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/base:ui_base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "url_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "url_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://url:url_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -230924,48 +225890,6 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test_id_prefix": "ninja://url:url_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "url_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "url_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://url:url_unittests/"
       }
     ]
   },
diff --git a/testing/buildbot/chromium.clang.json b/testing/buildbot/chromium.clang.json
index 5079d13..c5f6de6 100644
--- a/testing/buildbot/chromium.clang.json
+++ b/testing/buildbot/chromium.clang.json
@@ -40207,7 +40207,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -40231,7 +40231,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40248,7 +40248,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -40272,7 +40272,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40289,7 +40289,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -40313,7 +40313,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40330,7 +40330,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -40354,7 +40354,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40371,7 +40371,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -40395,7 +40395,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40412,7 +40412,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -40436,7 +40436,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40453,7 +40453,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -40477,7 +40477,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40494,7 +40494,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -40518,7 +40518,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40535,7 +40535,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -40559,7 +40559,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40576,7 +40576,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -40600,7 +40600,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40617,7 +40617,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -40641,7 +40641,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40658,7 +40658,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -40682,7 +40682,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40699,7 +40699,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -40723,7 +40723,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40740,7 +40740,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -40764,7 +40764,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40781,7 +40781,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -40805,7 +40805,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40822,7 +40822,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -40846,7 +40846,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40863,7 +40863,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -40887,7 +40887,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40904,7 +40904,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -40928,7 +40928,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -40964,7 +40964,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -40989,7 +40989,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41002,7 +41002,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -41027,7 +41027,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41040,7 +41040,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -41065,7 +41065,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41078,7 +41078,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -41103,7 +41103,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41116,7 +41116,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -41141,7 +41141,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41154,7 +41154,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -41179,7 +41179,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41192,7 +41192,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -41217,7 +41217,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41230,7 +41230,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -41255,7 +41255,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41268,7 +41268,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -41293,7 +41293,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41306,7 +41306,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -41331,7 +41331,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41344,7 +41344,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -41369,7 +41369,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41382,7 +41382,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -41407,7 +41407,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41420,7 +41420,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -41445,7 +41445,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41458,7 +41458,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -41483,7 +41483,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41496,7 +41496,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -41521,7 +41521,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41534,7 +41534,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -41559,7 +41559,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41572,7 +41572,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -41597,7 +41597,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -41610,7 +41610,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -41635,7 +41635,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json
index 580b28e..ea6700ce 100644
--- a/testing/buildbot/chromium.fyi.json
+++ b/testing/buildbot/chromium.fyi.json
@@ -17627,7 +17627,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -17651,7 +17651,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17668,7 +17668,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -17692,7 +17692,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17709,7 +17709,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -17733,7 +17733,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17750,7 +17750,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -17774,7 +17774,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17791,7 +17791,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -17815,7 +17815,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17832,7 +17832,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -17856,7 +17856,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17873,7 +17873,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -17897,7 +17897,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17914,7 +17914,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -17938,7 +17938,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17955,7 +17955,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -17979,7 +17979,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17996,7 +17996,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -18020,7 +18020,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18037,7 +18037,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -18061,7 +18061,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18078,7 +18078,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -18102,7 +18102,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18119,7 +18119,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -18143,7 +18143,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18160,7 +18160,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -18184,7 +18184,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18201,7 +18201,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -18225,7 +18225,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18242,7 +18242,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -18266,7 +18266,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18283,7 +18283,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -18307,7 +18307,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18324,7 +18324,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -18348,7 +18348,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18365,7 +18365,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "merge": {
@@ -18389,7 +18389,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18406,7 +18406,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "merge": {
@@ -18430,7 +18430,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18447,7 +18447,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -18471,7 +18471,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18488,7 +18488,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -18512,7 +18512,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18529,7 +18529,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "merge": {
@@ -18553,7 +18553,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18570,7 +18570,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "merge": {
@@ -18594,7 +18594,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18611,7 +18611,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "merge": {
@@ -18635,7 +18635,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18652,7 +18652,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "merge": {
@@ -18676,7 +18676,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18693,7 +18693,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -18717,7 +18717,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18734,7 +18734,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -18758,7 +18758,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18775,7 +18775,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -18799,7 +18799,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18816,7 +18816,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -18840,7 +18840,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18857,7 +18857,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -18881,7 +18881,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18898,7 +18898,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -18922,7 +18922,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18939,7 +18939,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -18963,7 +18963,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18980,7 +18980,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -19004,7 +19004,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19021,7 +19021,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -19045,7 +19045,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19062,7 +19062,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -19086,7 +19086,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19103,7 +19103,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "merge": {
@@ -19127,7 +19127,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19144,7 +19144,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "merge": {
@@ -19168,7 +19168,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19185,7 +19185,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -19209,7 +19209,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19226,7 +19226,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -19250,7 +19250,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19267,7 +19267,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -19291,7 +19291,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19308,7 +19308,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -19332,7 +19332,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19349,7 +19349,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -19373,7 +19373,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19390,7 +19390,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -19414,7 +19414,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19431,7 +19431,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -19455,7 +19455,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19472,7 +19472,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -19496,7 +19496,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19514,10 +19514,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "isolate_profile_data": true,
@@ -19542,7 +19544,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19556,10 +19558,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "isolate_profile_data": true,
@@ -19584,7 +19588,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19598,10 +19602,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "isolate_profile_data": true,
@@ -19626,7 +19632,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19640,10 +19646,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "isolate_profile_data": true,
@@ -19668,7 +19676,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19682,10 +19690,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "isolate_profile_data": true,
@@ -19710,7 +19720,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19724,10 +19734,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "isolate_profile_data": true,
@@ -19752,7 +19764,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19766,10 +19778,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "isolate_profile_data": true,
@@ -19794,7 +19808,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19808,10 +19822,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "isolate_profile_data": true,
@@ -19836,7 +19852,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19850,10 +19866,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "isolate_profile_data": true,
@@ -19878,7 +19896,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19892,10 +19910,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "isolate_profile_data": true,
@@ -19920,7 +19940,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19934,10 +19954,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "isolate_profile_data": true,
@@ -19962,7 +19984,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -19976,10 +19998,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "isolate_profile_data": true,
@@ -20004,7 +20028,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20018,10 +20042,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "isolate_profile_data": true,
@@ -20046,7 +20072,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20060,10 +20086,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "isolate_profile_data": true,
@@ -20088,7 +20116,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20102,10 +20130,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "isolate_profile_data": true,
@@ -20130,7 +20160,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20144,10 +20174,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "isolate_profile_data": true,
@@ -20172,7 +20204,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20186,10 +20218,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "isolate_profile_data": true,
@@ -20214,7 +20248,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20228,10 +20262,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "isolate_profile_data": true,
@@ -20256,7 +20292,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20270,10 +20306,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "isolate_profile_data": true,
@@ -20298,7 +20336,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20312,10 +20350,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "isolate_profile_data": true,
@@ -20340,7 +20380,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20354,10 +20394,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "isolate_profile_data": true,
@@ -20382,7 +20424,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20396,10 +20438,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "isolate_profile_data": true,
@@ -20424,7 +20468,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20438,10 +20482,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "isolate_profile_data": true,
@@ -20466,7 +20513,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20480,10 +20527,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "isolate_profile_data": true,
@@ -20508,7 +20558,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20522,10 +20572,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "isolate_profile_data": true,
@@ -20550,7 +20603,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20564,10 +20617,13 @@
           "iPhone X",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "isolate_profile_data": true,
@@ -20592,7 +20648,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20606,10 +20662,13 @@
           "iPhone X",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "isolate_profile_data": true,
@@ -20634,7 +20693,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20648,10 +20707,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "isolate_profile_data": true,
@@ -20676,7 +20738,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20691,10 +20753,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "isolate_profile_data": true,
@@ -20719,7 +20784,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20734,10 +20799,13 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "isolate_profile_data": true,
@@ -20762,7 +20830,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20777,10 +20845,13 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "isolate_profile_data": true,
@@ -20805,7 +20876,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20820,10 +20891,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "isolate_profile_data": true,
@@ -20848,7 +20922,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20863,10 +20937,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "isolate_profile_data": true,
@@ -20891,7 +20968,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20906,10 +20983,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "isolate_profile_data": true,
@@ -20934,7 +21014,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20949,10 +21029,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "isolate_profile_data": true,
@@ -20977,7 +21060,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -20992,10 +21075,13 @@
           "iPhone X",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "isolate_profile_data": true,
@@ -21020,7 +21106,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21035,10 +21121,13 @@
           "iPhone X",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "isolate_profile_data": true,
@@ -21063,7 +21152,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21078,10 +21167,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "isolate_profile_data": true,
@@ -21106,7 +21198,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21120,10 +21212,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "isolate_profile_data": true,
@@ -21148,7 +21243,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21162,10 +21257,13 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "isolate_profile_data": true,
@@ -21190,7 +21288,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21204,10 +21302,13 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "isolate_profile_data": true,
@@ -21232,7 +21333,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21246,10 +21347,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "isolate_profile_data": true,
@@ -21274,7 +21378,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21288,10 +21392,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "isolate_profile_data": true,
@@ -21316,7 +21423,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21330,10 +21437,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "isolate_profile_data": true,
@@ -21358,7 +21468,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21372,10 +21482,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "isolate_profile_data": true,
@@ -21400,7 +21513,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21414,10 +21527,13 @@
           "iPhone X",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "isolate_profile_data": true,
@@ -21442,7 +21558,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21456,10 +21572,13 @@
           "iPhone X",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "isolate_profile_data": true,
@@ -21484,7 +21603,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21498,10 +21617,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "isolate_profile_data": true,
@@ -21526,7 +21648,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21541,10 +21663,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "isolate_profile_data": true,
@@ -21569,7 +21694,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21584,10 +21709,13 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "isolate_profile_data": true,
@@ -21612,7 +21740,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21627,10 +21755,13 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "isolate_profile_data": true,
@@ -21655,7 +21786,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21670,10 +21801,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "isolate_profile_data": true,
@@ -21698,7 +21832,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21713,10 +21847,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "isolate_profile_data": true,
@@ -21741,7 +21877,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21755,10 +21891,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "isolate_profile_data": true,
@@ -21783,7 +21921,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21797,10 +21935,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "isolate_profile_data": true,
@@ -21825,7 +21965,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21839,10 +21979,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "isolate_profile_data": true,
@@ -21867,7 +22009,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21881,10 +22023,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "isolate_profile_data": true,
@@ -21909,7 +22054,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21923,10 +22068,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "isolate_profile_data": true,
@@ -21951,7 +22099,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -21965,10 +22113,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "isolate_profile_data": true,
@@ -21993,7 +22144,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22007,10 +22158,13 @@
           "iPhone X",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "isolate_profile_data": true,
@@ -22035,7 +22189,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22049,10 +22203,13 @@
           "iPhone X",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "isolate_profile_data": true,
@@ -22077,7 +22234,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22091,10 +22248,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "isolate_profile_data": true,
@@ -22119,7 +22278,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22133,10 +22292,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "isolate_profile_data": true,
@@ -22161,7 +22322,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22175,10 +22336,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "isolate_profile_data": true,
@@ -22203,7 +22366,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22217,10 +22380,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "isolate_profile_data": true,
@@ -22245,7 +22410,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22259,10 +22424,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "isolate_profile_data": true,
@@ -22287,7 +22454,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22301,10 +22468,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "isolate_profile_data": true,
@@ -22329,7 +22498,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22343,10 +22512,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "isolate_profile_data": true,
@@ -22371,7 +22543,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22385,10 +22557,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "isolate_profile_data": true,
@@ -22413,7 +22588,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22427,10 +22602,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "isolate_profile_data": true,
@@ -22455,7 +22633,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22469,10 +22647,13 @@
           "iPhone X",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "isolate_profile_data": true,
@@ -22497,7 +22678,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22511,10 +22692,13 @@
           "iPhone X",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "isolate_profile_data": true,
@@ -22539,7 +22723,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22553,10 +22737,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "isolate_profile_data": true,
@@ -22581,7 +22767,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22595,10 +22781,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "isolate_profile_data": true,
@@ -22623,7 +22811,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22637,10 +22825,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "isolate_profile_data": true,
@@ -22665,7 +22855,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22679,10 +22869,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "isolate_profile_data": true,
@@ -22707,7 +22899,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22721,10 +22913,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "isolate_profile_data": true,
@@ -22749,7 +22943,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22763,10 +22957,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "isolate_profile_data": true,
@@ -22791,7 +22987,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22805,10 +23001,13 @@
           "iPad Air 2",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "isolate_profile_data": true,
@@ -22833,7 +23032,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22847,10 +23046,13 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "isolate_profile_data": true,
@@ -22875,7 +23077,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22889,10 +23091,13 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "isolate_profile_data": true,
@@ -22917,7 +23122,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22931,10 +23136,13 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "isolate_profile_data": true,
@@ -22959,7 +23167,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -22973,10 +23181,13 @@
           "iPhone 7",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "isolate_profile_data": true,
@@ -23001,7 +23212,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23015,10 +23226,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "isolate_profile_data": true,
@@ -23043,7 +23256,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23057,10 +23270,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "isolate_profile_data": true,
@@ -23085,7 +23300,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23099,10 +23314,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "isolate_profile_data": true,
@@ -23127,7 +23344,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23141,10 +23358,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "isolate_profile_data": true,
@@ -23169,7 +23388,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23183,10 +23402,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "isolate_profile_data": true,
@@ -23211,7 +23432,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23225,10 +23446,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "isolate_profile_data": true,
@@ -23253,7 +23476,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23267,10 +23490,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "isolate_profile_data": true,
@@ -23295,7 +23520,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23309,10 +23534,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "isolate_profile_data": true,
@@ -23337,7 +23564,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23351,10 +23578,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "isolate_profile_data": true,
@@ -23379,7 +23608,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23393,10 +23622,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "isolate_profile_data": true,
@@ -23421,7 +23652,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23435,10 +23666,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "isolate_profile_data": true,
@@ -23463,7 +23696,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23477,10 +23710,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "isolate_profile_data": true,
@@ -23505,7 +23740,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23519,10 +23754,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "isolate_profile_data": true,
@@ -23547,7 +23784,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23561,10 +23798,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "isolate_profile_data": true,
@@ -23589,7 +23828,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23603,10 +23842,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "isolate_profile_data": true,
@@ -23631,7 +23872,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23645,10 +23886,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "isolate_profile_data": true,
@@ -23673,7 +23916,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23687,10 +23930,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "isolate_profile_data": true,
@@ -23715,7 +23960,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23729,10 +23974,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "isolate_profile_data": true,
@@ -23757,7 +24004,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23771,10 +24018,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "isolate_profile_data": true,
@@ -23799,7 +24048,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23813,10 +24062,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "isolate_profile_data": true,
@@ -23841,7 +24092,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23855,10 +24106,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "isolate_profile_data": true,
@@ -23883,7 +24136,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23897,10 +24150,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "isolate_profile_data": true,
@@ -23925,7 +24180,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23939,10 +24194,12 @@
           "iPad Air 2",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "isolate_profile_data": true,
@@ -23967,7 +24224,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -23981,10 +24238,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "isolate_profile_data": true,
@@ -24009,7 +24268,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24023,10 +24282,12 @@
           "iPhone 6s Plus",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "isolate_profile_data": true,
@@ -24051,7 +24312,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24065,10 +24326,12 @@
           "iPhone SE (1st generation)",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "isolate_profile_data": true,
@@ -24093,7 +24356,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24107,10 +24370,12 @@
           "iPhone 6s",
           "--version",
           "12.4",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "isolate_profile_data": true,
@@ -24135,7 +24400,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24149,10 +24414,12 @@
           "iPhone 6s",
           "--version",
           "13.6",
+          "--args-json",
+          "{\"test_args\": [\"--write-compiled-tests-json-to-writable-path\"]}",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "isolate_profile_data": true,
@@ -24177,7 +24444,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24284,7 +24551,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -24308,7 +24575,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24325,7 +24592,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -24349,7 +24616,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24366,7 +24633,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -24390,7 +24657,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24407,7 +24674,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -24431,7 +24698,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24448,7 +24715,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -24472,7 +24739,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24489,7 +24756,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -24513,7 +24780,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24530,7 +24797,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -24554,7 +24821,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24571,7 +24838,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -24595,7 +24862,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24612,7 +24879,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -24636,7 +24904,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24653,7 +24921,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -24677,7 +24946,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24695,7 +24964,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -24719,7 +24989,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24737,7 +25007,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -24761,7 +25032,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24778,7 +25049,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -24802,7 +25074,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24819,7 +25091,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -24843,7 +25116,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24861,7 +25134,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -24885,7 +25158,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24902,7 +25175,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -24926,7 +25200,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24943,7 +25217,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "merge": {
@@ -24967,7 +25241,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -24984,7 +25258,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -25008,7 +25282,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25025,7 +25299,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "merge": {
@@ -25049,7 +25323,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25066,7 +25340,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -25090,7 +25365,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25107,7 +25382,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "merge": {
@@ -25131,7 +25406,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25148,7 +25423,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -25172,7 +25447,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25189,7 +25464,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -25213,7 +25489,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25230,7 +25506,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -25254,7 +25530,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25271,7 +25547,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -25295,7 +25571,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25312,7 +25588,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -25336,7 +25612,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25353,7 +25629,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -25377,7 +25653,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25394,7 +25670,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "merge": {
@@ -25418,7 +25694,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25435,7 +25711,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -25459,7 +25735,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25476,7 +25752,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -25500,7 +25776,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25517,7 +25793,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -25541,7 +25817,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -25558,7 +25834,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -25582,7 +25858,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -26293,7 +26569,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -26336,7 +26613,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -26379,7 +26657,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -26423,7 +26702,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -26467,7 +26747,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -26511,7 +26792,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -26555,7 +26837,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -26598,7 +26881,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -26641,7 +26925,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -26684,7 +26969,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -26727,7 +27013,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -26771,7 +27058,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -26901,7 +27189,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -26944,7 +27233,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -27245,7 +27535,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -27288,7 +27579,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -27503,7 +27795,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -27546,7 +27839,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "11e608c"
+          "11e608c",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -28971,7 +29265,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -29013,7 +29308,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -29055,7 +29351,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -29097,7 +29394,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -29139,7 +29437,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -29182,7 +29481,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -29225,7 +29525,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -29268,7 +29569,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -29311,7 +29613,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -29354,7 +29657,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -29397,7 +29701,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -29440,7 +29745,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -29483,7 +29789,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -29525,7 +29832,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -29567,7 +29875,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -29609,7 +29918,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -29651,7 +29961,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -29693,7 +30004,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -29735,7 +30047,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -29777,7 +30090,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -29819,7 +30133,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -29862,7 +30177,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -29905,7 +30221,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -29948,7 +30265,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -30117,7 +30435,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -30159,7 +30478,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -30201,7 +30521,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -30243,7 +30564,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -30411,7 +30733,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -30453,7 +30776,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -30495,7 +30819,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -30537,7 +30862,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -30747,7 +31073,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -30789,7 +31116,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -30831,7 +31159,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -30873,7 +31202,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -31716,48 +32046,6 @@
           "--platform",
           "iPhone 6s",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "absl_hardening_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "absl_hardening_tests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -31798,132 +32086,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "absl_hardening_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "absl_hardening_tests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "base_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://base:base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "base_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://base:base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -31968,90 +32130,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "base_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://base:base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "base_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://base:base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -32092,90 +32170,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "base_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://base:base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "boringssl_crypto_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "boringssl_crypto_tests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -32218,90 +32212,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "boringssl_crypto_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "boringssl_crypto_tests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "boringssl_ssl_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "boringssl_ssl_tests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -32344,132 +32254,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "boringssl_ssl_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "boringssl_ssl_tests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "components_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://components:components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "components_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://components:components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -32514,90 +32298,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "components_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://components:components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "components_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://components:components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -32638,90 +32338,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "components_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://components:components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "crypto_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "crypto_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://crypto:crypto_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -32764,132 +32380,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "crypto_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "crypto_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://crypto:crypto_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "gfx_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "gfx_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/gfx:gfx_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "gfx_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "gfx_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/gfx:gfx_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -32934,90 +32424,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "gfx_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "gfx_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/gfx:gfx_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "gfx_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "gfx_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/gfx:gfx_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -33058,90 +32464,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "gfx_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "gfx_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/gfx:gfx_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "google_apis_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "google_apis_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://google_apis:google_apis_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -33184,181 +32506,14 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "google_apis_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "google_apis_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://google_apis:google_apis_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air (3rd generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPad Air (3rd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -33396,53 +32551,12 @@
           "--platform",
           "iPhone 7",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPhone 7 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 7",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -33480,95 +32594,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_bookmarks_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -33604,99 +32635,14 @@
       {
         "args": [
           "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -33735,97 +32681,12 @@
           "--platform",
           "iPad Pro (12.9-inch) (2nd generation)",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -33864,97 +32725,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_integration_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_integration_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -33991,142 +32767,14 @@
       {
         "args": [
           "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air (3rd generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPad Air (3rd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -34165,54 +32813,12 @@
           "--platform",
           "iPhone 7",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPhone 7 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 7",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -34251,97 +32857,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_settings_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_settings_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -34378,97 +32899,14 @@
       {
         "args": [
           "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -34506,95 +32944,12 @@
           "--platform",
           "iPad Pro (12.9-inch) (2nd generation)",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -34632,95 +32987,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_signin_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_signin_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -34756,139 +33028,14 @@
       {
         "args": [
           "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air (3rd generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPad Air (3rd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -34926,53 +33073,12 @@
           "--platform",
           "iPhone 7",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPhone 7 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 7",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -35010,95 +33116,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_smoke_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_smoke_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -35134,99 +33157,14 @@
       {
         "args": [
           "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -35265,97 +33203,12 @@
           "--platform",
           "iPad Pro (12.9-inch) (2nd generation)",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -35394,97 +33247,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_ui_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_ui_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 5
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -35521,90 +33289,6 @@
       {
         "args": [
           "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -35649,90 +33333,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -35773,181 +33373,14 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air (3rd generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPad Air (3rd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -35985,53 +33418,12 @@
           "--platform",
           "iPhone 7",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPhone 7 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 7",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -36069,95 +33461,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_chrome_web_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_chrome_web_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -36195,48 +33504,6 @@
           "--platform",
           "iPhone 6s",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_components_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/components:ios_components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -36277,90 +33544,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_components_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_components_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/components:ios_components_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_net_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_net_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/net:ios_net_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -36403,90 +33586,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_net_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_net_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/net:ios_net_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_remoting_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_remoting_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://remoting/ios:ios_remoting_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -36529,181 +33628,14 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_remoting_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_remoting_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://remoting/ios:ios_remoting_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air (3rd generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPad Air (3rd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -36741,53 +33673,12 @@
           "--platform",
           "iPhone 7",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPhone 7 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 7",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -36825,95 +33716,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_showcase_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_showcase_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/showcase:ios_showcase_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -36951,48 +33759,6 @@
           "--platform",
           "iPhone 6s",
           "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_testing_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_testing_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -37033,132 +33799,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_testing_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_testing_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_inttests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_inttests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -37203,90 +33843,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_inttests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_inttests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -37327,139 +33883,14 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_inttests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad (6th generation)",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPad (6th generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPad Air 2 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPad Air 2",
           "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -37497,95 +33928,12 @@
           "--platform",
           "iPad Pro (12.9-inch) (2nd generation)",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPad Pro (12.9-inch) (2nd generation) 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Pro (12.9-inch) (2nd generation)",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -37623,95 +33971,12 @@
           "--platform",
           "iPhone X",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_shell_eg2tests_module",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_shell_eg2tests_module_iPhone X 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8189h"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -37747,90 +34012,6 @@
       {
         "args": [
           "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -37875,90 +34056,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -37999,132 +34096,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web:ios_web_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_inttests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_inttests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -38169,90 +34140,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_inttests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_inttests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -38293,132 +34180,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_inttests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_inttests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -38463,90 +34224,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -38587,90 +34264,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ios_web_view_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ios_web_view_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "net_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "net_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://net:net_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -38713,90 +34306,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "net_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "net_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://net:net_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "services_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "services_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://services:services_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -38839,132 +34348,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "services_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "services_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://services:services_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "skia_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "skia_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://skia:skia_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "skia_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "skia_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://skia:skia_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -39009,90 +34392,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "skia_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "skia_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://skia:skia_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "skia_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "skia_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://skia:skia_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -39133,90 +34432,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "skia_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "skia_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://skia:skia_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "sql_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "sql_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://sql:sql_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -39259,132 +34474,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "sql_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "sql_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://sql:sql_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPad Air 2",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ui_base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ui_base_unittests_iPad Air 2 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/base:ui_base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ui_base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ui_base_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/base:ui_base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -39429,90 +34518,6 @@
           "--platform",
           "iPhone 6s Plus",
           "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ui_base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ui_base_unittests_iPhone 6s Plus 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/base:ui_base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ui_base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ui_base_unittests_iPhone 6s Plus 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/base:ui_base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s Plus",
-          "--version",
           "14.0",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -39553,90 +34558,6 @@
       {
         "args": [
           "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "ui_base_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "ui_base_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://ui/base:ui_base_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone 6s",
-          "--version",
-          "13.6",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "url_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "url_unittests_iPhone 6s 13.6",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://url:url_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
           "iPhone 6s",
           "--version",
           "14.0",
@@ -39675,48 +34596,6 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test_id_prefix": "ninja://url:url_unittests/"
-      },
-      {
-        "args": [
-          "--platform",
-          "iPhone X",
-          "--version",
-          "12.4",
-          "--out-dir",
-          "${ISOLATED_OUTDIR}",
-          "--xcode-build-version",
-          "12a8189h"
-        ],
-        "isolate_name": "url_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "url_unittests_iPhone X 12.4",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "cipd_packages": [
-            {
-              "cipd_package": "infra/tools/mac_toolchain/${platform}",
-              "location": ".",
-              "revision": "git_revision:796d2b92cff93fc2059623ce0a66284373ceea0a"
-            }
-          ],
-          "dimension_sets": [
-            {
-              "os": "Mac-10.15",
-              "pool": "chromium.tests.ios14"
-            }
-          ],
-          "named_caches": [
-            {
-              "name": "xcode_ios_12a8189h",
-              "path": "Xcode.app"
-            }
-          ],
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
-        },
-        "test_id_prefix": "ninja://url:url_unittests/"
       }
     ]
   },
diff --git a/testing/buildbot/chromium.mac.json b/testing/buildbot/chromium.mac.json
index ba5d651a..ab1bd44 100644
--- a/testing/buildbot/chromium.mac.json
+++ b/testing/buildbot/chromium.mac.json
@@ -13599,7 +13599,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -13623,7 +13623,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -13640,7 +13640,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "absl_hardening_tests",
         "merge": {
@@ -13664,7 +13664,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -13681,7 +13681,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -13705,7 +13705,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -13722,7 +13722,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -13746,7 +13746,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -13763,7 +13763,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -13787,7 +13787,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -13804,7 +13804,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "base_unittests",
         "merge": {
@@ -13828,7 +13828,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -13845,7 +13845,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -13869,7 +13869,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -13886,7 +13886,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_crypto_tests",
         "merge": {
@@ -13910,7 +13910,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -13927,7 +13927,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -13951,7 +13951,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -13968,7 +13968,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "boringssl_ssl_tests",
         "merge": {
@@ -13992,7 +13992,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14009,7 +14009,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -14033,7 +14033,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14050,7 +14050,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -14074,7 +14074,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14091,7 +14091,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -14115,7 +14115,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14132,7 +14132,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "components_unittests",
         "merge": {
@@ -14156,7 +14156,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14173,7 +14173,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -14197,7 +14197,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14214,7 +14214,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "crypto_unittests",
         "merge": {
@@ -14238,7 +14238,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14255,7 +14255,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -14279,7 +14279,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14296,7 +14296,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -14320,7 +14320,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14337,7 +14337,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -14361,7 +14361,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14378,7 +14378,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "gfx_unittests",
         "merge": {
@@ -14402,7 +14402,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14419,7 +14419,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -14443,7 +14443,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14460,7 +14460,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "google_apis_unittests",
         "merge": {
@@ -14484,7 +14484,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14501,7 +14501,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -14525,7 +14526,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14543,7 +14544,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -14567,7 +14569,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14585,7 +14587,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -14609,7 +14612,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14626,7 +14629,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -14650,7 +14654,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14667,7 +14671,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -14691,7 +14696,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14709,7 +14714,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -14733,7 +14739,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14751,7 +14757,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -14775,7 +14781,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14792,7 +14798,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -14816,7 +14822,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14833,7 +14839,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -14857,7 +14863,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14874,7 +14880,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_chrome_unittests",
         "merge": {
@@ -14898,7 +14904,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14915,7 +14921,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "merge": {
@@ -14939,7 +14945,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14956,7 +14962,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_components_unittests",
         "merge": {
@@ -14980,7 +14986,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -14997,7 +15003,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -15021,7 +15027,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15038,7 +15044,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_net_unittests",
         "merge": {
@@ -15062,7 +15068,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15079,7 +15085,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "merge": {
@@ -15103,7 +15109,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15120,7 +15126,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_remoting_unittests",
         "merge": {
@@ -15144,7 +15150,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15161,7 +15167,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "merge": {
@@ -15185,7 +15191,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15202,7 +15208,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_testing_unittests",
         "merge": {
@@ -15226,7 +15232,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15243,7 +15249,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -15267,7 +15273,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15284,7 +15290,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -15308,7 +15314,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15325,7 +15331,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -15349,7 +15355,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15366,7 +15372,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_inttests",
         "merge": {
@@ -15390,7 +15396,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15407,7 +15413,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -15431,7 +15438,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15448,7 +15455,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -15472,7 +15480,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15489,7 +15497,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -15513,7 +15521,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15530,7 +15538,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -15554,7 +15562,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15571,7 +15579,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -15595,7 +15603,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15612,7 +15620,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_unittests",
         "merge": {
@@ -15636,7 +15644,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15653,7 +15661,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -15677,7 +15685,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15694,7 +15702,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -15718,7 +15726,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15735,7 +15743,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -15759,7 +15767,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15776,7 +15784,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_inttests",
         "merge": {
@@ -15800,7 +15808,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15817,7 +15825,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -15841,7 +15849,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15858,7 +15866,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -15882,7 +15890,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15899,7 +15907,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -15923,7 +15931,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15940,7 +15948,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ios_web_view_unittests",
         "merge": {
@@ -15964,7 +15972,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -15981,7 +15989,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -16005,7 +16013,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16022,7 +16030,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "net_unittests",
         "merge": {
@@ -16046,7 +16054,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16063,7 +16071,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "merge": {
@@ -16087,7 +16095,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16104,7 +16112,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "services_unittests",
         "merge": {
@@ -16128,7 +16136,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16145,7 +16153,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -16169,7 +16177,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16186,7 +16194,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -16210,7 +16218,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16227,7 +16235,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -16251,7 +16259,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16268,7 +16276,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "skia_unittests",
         "merge": {
@@ -16292,7 +16300,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16309,7 +16317,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -16333,7 +16341,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16350,7 +16358,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "sql_unittests",
         "merge": {
@@ -16374,7 +16382,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16391,7 +16399,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -16415,7 +16423,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16432,7 +16440,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -16456,7 +16464,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16473,7 +16481,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -16497,7 +16505,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16514,7 +16522,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "ui_base_unittests",
         "merge": {
@@ -16538,7 +16546,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16555,7 +16563,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -16579,7 +16587,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16596,7 +16604,7 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h"
         ],
         "isolate_name": "url_unittests",
         "merge": {
@@ -16620,7 +16628,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16644,7 +16652,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -16668,7 +16677,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16685,7 +16694,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -16709,7 +16719,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16726,7 +16736,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -16750,7 +16761,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16767,7 +16778,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -16791,7 +16803,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16808,7 +16820,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_bookmarks_eg2tests_module",
         "merge": {
@@ -16832,7 +16845,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16849,7 +16862,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -16873,7 +16887,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16891,7 +16905,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -16915,7 +16930,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16933,7 +16948,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_integration_eg2tests_module",
         "merge": {
@@ -16957,7 +16973,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -16975,7 +16991,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -16999,7 +17016,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17017,7 +17034,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -17041,7 +17059,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17059,7 +17077,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -17083,7 +17102,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17101,7 +17120,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -17125,7 +17145,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17143,7 +17163,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_settings_eg2tests_module",
         "merge": {
@@ -17167,7 +17188,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17185,7 +17206,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -17209,7 +17231,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17226,7 +17248,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -17250,7 +17273,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17267,7 +17290,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_signin_eg2tests_module",
         "merge": {
@@ -17291,7 +17315,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17308,7 +17332,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -17332,7 +17357,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17349,7 +17374,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -17373,7 +17399,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17390,7 +17416,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -17414,7 +17441,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17431,7 +17458,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -17455,7 +17483,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17472,7 +17500,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_smoke_eg2tests_module",
         "merge": {
@@ -17496,7 +17525,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17513,7 +17542,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -17537,7 +17567,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17555,7 +17585,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -17579,7 +17610,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17597,7 +17628,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_ui_eg2tests_module",
         "merge": {
@@ -17621,7 +17653,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17639,7 +17671,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -17663,7 +17696,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17680,7 +17713,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -17704,7 +17738,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17721,7 +17755,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -17745,7 +17780,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17762,7 +17797,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -17786,7 +17822,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17803,7 +17839,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_chrome_web_eg2tests_module",
         "merge": {
@@ -17827,7 +17864,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17844,7 +17881,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -17868,7 +17906,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17885,7 +17923,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -17909,7 +17948,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17926,7 +17965,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -17950,7 +17990,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -17967,7 +18007,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -17991,7 +18032,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18008,7 +18049,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_showcase_eg2tests_module",
         "merge": {
@@ -18032,7 +18074,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18049,7 +18091,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -18073,7 +18116,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18090,7 +18133,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -18114,7 +18158,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
@@ -18131,7 +18175,8 @@
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
-          "12a8179i_audio"
+          "12a8189h",
+          "--xcode-parallelization"
         ],
         "isolate_name": "ios_web_shell_eg2tests_module",
         "merge": {
@@ -18155,7 +18200,7 @@
           ],
           "named_caches": [
             {
-              "name": "xcode_ios_12a8179i_audio",
+              "name": "xcode_ios_12a8189h",
               "path": "Xcode.app"
             }
           ],
diff --git a/testing/buildbot/generate_buildbot_json.py b/testing/buildbot/generate_buildbot_json.py
index 605372a..eaee3ac9 100755
--- a/testing/buildbot/generate_buildbot_json.py
+++ b/testing/buildbot/generate_buildbot_json.py
@@ -1006,7 +1006,7 @@
         full_suite.update(suite)
       compound_suites[name] = full_suite
 
-  def resolve_variants(self, basic_test_definition, variants):
+  def resolve_variants(self, basic_test_definition, variants, mixins):
     """ Merge variant-defined configurations to each test case definition in a
     test suite.
 
@@ -1044,7 +1044,7 @@
         cloned_config['args'] = (cloned_config.get('args', []) +
                                  cloned_variant.get('args', []))
         cloned_config['mixins'] = (cloned_config.get('mixins', []) +
-                                   cloned_variant.get('mixins', []))
+                                   cloned_variant.get('mixins', []) + mixins)
 
         basic_swarming_def = cloned_config.get('swarming', {})
         variant_swarming_def = cloned_variant.get('swarming', {})
@@ -1089,8 +1089,10 @@
         basic_test_def = copy.deepcopy(basic_suites[test_suite])
 
         if 'variants' in mtx_test_suite_config:
+          mixins = mtx_test_suite_config.get('mixins', [])
           result = self.resolve_variants(basic_test_def,
-                                         mtx_test_suite_config['variants'])
+                                         mtx_test_suite_config['variants'],
+                                         mixins)
           full_suite.update(result)
       matrix_compound_suites[test_name] = full_suite
 
diff --git a/testing/buildbot/generate_buildbot_json_unittest.py b/testing/buildbot/generate_buildbot_json_unittest.py
index ac8b990..2f0683c0 100755
--- a/testing/buildbot/generate_buildbot_json_unittest.py
+++ b/testing/buildbot/generate_buildbot_json_unittest.py
@@ -5284,6 +5284,7 @@
   'matrix_compound_suites': {
     'matrix_tests': {
       'foo_tests': {
+        'mixins': [ 'random_mixin' ],
         'variants': [
           {
             'identifier': 'args',
@@ -5588,7 +5589,8 @@
           "can_use_on_swarming_builders": true,
           "value": "test"
         },
-        "test": "mixins_test"
+        "test": "mixins_test",
+        "value": "random"
       },
       {
         "args": [],
@@ -5606,7 +5608,8 @@
           ],
           "value": "test"
         },
-        "test": "mixins_test"
+        "test": "mixins_test",
+        "value": "random"
       },
       {
         "args": [],
@@ -5625,7 +5628,8 @@
           ],
           "value": "test"
         },
-        "test": "mixins_test"
+        "test": "mixins_test",
+        "value": "random"
       }
     ]
   }
diff --git a/testing/buildbot/mixins.pyl b/testing/buildbot/mixins.pyl
index 6504a3a..94592b9 100644
--- a/testing/buildbot/mixins.pyl
+++ b/testing/buildbot/mixins.pyl
@@ -308,6 +308,14 @@
       ],
     },
   },
+  'ios_output_disabled_tests': {
+    '$mixin_append': {
+      'args': [
+        '--args-json',
+        '{"test_args": ["--write-compiled-tests-json-to-writable-path"]}'
+      ],
+    },
+  },
   'isolate_profile_data': {
     'isolate_profile_data': True,
   },
@@ -946,23 +954,6 @@
       ],
     },
   },
-  # xcode 12 beta 4
-  'xcode_12a8179i_audio': {
-    '$mixin_append': {
-      'args': [
-        '--xcode-build-version',
-        '12a8179i_audio'
-      ],
-    },
-    'swarming': {
-      'named_caches': [
-        {
-          'name': 'xcode_ios_12a8179i_audio',
-          'path': 'Xcode.app',
-        },
-      ],
-    },
-  },
   # xcode 12 beta 5
   'xcode_12a8189h': {
     '$mixin_append': {
@@ -980,4 +971,11 @@
       ],
     },
   },
+  'xcode_parallelization': {
+    '$mixin_append': {
+      'args': [
+        '--xcode-parallelization',
+      ],
+    },
+  },
 }
diff --git a/testing/buildbot/test_suites.pyl b/testing/buildbot/test_suites.pyl
index b046562..538b26e4 100644
--- a/testing/buildbot/test_suites.pyl
+++ b/testing/buildbot/test_suites.pyl
@@ -5541,6 +5541,7 @@
         ],
       },
       'ios_eg2_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPHONE_X_14_0',
           'SIM_IPHONE_7_14_0',
@@ -5549,6 +5550,7 @@
         ]
       },
       'ios_eg2_cq_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPHONE_7_14_0',
           'SIM_IPHONE_X_14_0',
@@ -5570,42 +5572,24 @@
         'variants': [
           # 14.0 Sims
           'SIM_IPHONE_6S_14_0',
-          # 13.6 Sims
-          'SIM_IPHONE_6S_13_6',
-          # 12.4 Sims
-          'SIM_IPHONE_X_12_4',
         ],
       },
       'ios_eg2_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           # 14.0 Sims
           'SIM_IPHONE_7_14_0',
           'SIM_IPAD_AIR_2_14_0',
           'SIM_IPHONE_X_14_0',
-          # 13.6 Sims
-          'SIM_IPHONE_7_13_6',
-          'SIM_IPAD_AIR_2_13_6',
-          'SIM_IPHONE_X_13_6',
-          # 12.4 Sims
-          'SIM_IPHONE_X_12_4',
-          'SIM_IPAD_AIR_3RD_GEN_12_4',
-          'SIM_IPAD_6_GEN_12_4',
         ]
       },
       'ios_eg2_cq_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           # 14.0 Sims
           'SIM_IPHONE_X_14_0',
           'SIM_IPAD_AIR_2_14_0',
           'SIM_IPAD_PRO_2ND_GEN_14_0',
-          # 13.6 Sims
-          'SIM_IPHONE_X_13_6',
-          'SIM_IPAD_AIR_2_13_6',
-          'SIM_IPAD_PRO_2ND_GEN_13_6',
-          # 12.4 Sims
-          'SIM_IPHONE_X_12_4',
-          'SIM_IPAD_PRO_2ND_GEN_12_4',
-          'SIM_IPAD_6_GEN_12_4',
         ]
       },
       'ios_screen_size_dependent_tests': {
@@ -5613,13 +5597,6 @@
           # 14.0 Sims
           'SIM_IPHONE_6S_PLUS_14_0',
           'SIM_IPHONE_6S_14_0',
-          # 13.6 Sims
-          'SIM_IPHONE_6S_PLUS_13_6',
-          'SIM_IPHONE_6S_13_6',
-          # 12.4 Sims
-          'SIM_IPHONE_6S_PLUS_12_4',
-          'SIM_IPHONE_X_12_4',
-          'SIM_IPAD_AIR_2_12_4',
         ],
       },
     },
@@ -5663,6 +5640,7 @@
         ],
       },
       'ios_eg2_cq_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPHONE_6S_12_4',
           'SIM_IPAD_AIR_2_12_4',
@@ -5672,6 +5650,7 @@
         ],
       },
       'ios_eg2_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPAD_AIR_2_12_4',
           'SIM_IPHONE_X_12_4',
@@ -5701,6 +5680,7 @@
 
     'ios_simulator_full_configs_test': {
       'ios_eg2_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPAD_AIR_2_12_4',
           'SIM_IPHONE_X_12_4',
@@ -5710,6 +5690,7 @@
         ]
       },
       'ios_eg2_cq_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPAD_AIR_2_12_4',
           'SIM_IPHONE_7_13_6',
@@ -5725,11 +5706,13 @@
         ]
       },
       'ios_eg2_cq_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPAD_AIR_2_13_6',
         ]
       },
       'ios_eg2_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPAD_AIR_2_13_6',
         ]
@@ -5749,6 +5732,7 @@
         ]
       },
       'ios_eg2_cq_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPHONE_6S_12_4',
           'SIM_IPHONE_6S_13_6',
@@ -5772,12 +5756,14 @@
         ]
       },
       'ios_eg2_cq_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPHONE_X_13_5',
           'SIM_IPAD_AIR_2_13_5',
         ]
       },
       'ios_eg2_tests': {
+        'mixins': ['xcode_parallelization'],
         'variants': [
           'SIM_IPHONE_X_13_5',
           'SIM_IPAD_AIR_2_13_5',
diff --git a/testing/buildbot/variants.pyl b/testing/buildbot/variants.pyl
index bbb2e81..3ac0b9d8 100644
--- a/testing/buildbot/variants.pyl
+++ b/testing/buildbot/variants.pyl
@@ -89,15 +89,6 @@
         ],
         'identifier': 'iPad Air 2 14.0'
     },
-    'SIM_IPAD_AIR_3RD_GEN_12_4': {
-        'args': [
-            '--platform',
-            'iPad Air (3rd generation)',
-            '--version',
-            '12.4'
-        ],
-        'identifier': 'iPad Air (3rd generation) 12.4'
-    },
     'SIM_IPAD_AIR_3RD_GEN_14_0': {
         'args': [
             '--platform',
@@ -107,24 +98,6 @@
         ],
         'identifier': 'iPad Air (3rd generation) 14.0'
     },
-    'SIM_IPAD_PRO_2ND_GEN_12_4': {
-        'args': [
-          '--platform',
-          'iPad Pro (12.9-inch) (2nd generation)',
-          '--version',
-          '12.4',
-        ],
-        'identifier': 'iPad Pro (12.9-inch) (2nd generation) 12.4'
-    },
-    'SIM_IPAD_PRO_2ND_GEN_13_6': {
-        'args': [
-          '--platform',
-          'iPad Pro (12.9-inch) (2nd generation)',
-          '--version',
-          '13.6',
-        ],
-        'identifier': 'iPad Pro (12.9-inch) (2nd generation) 13.6'
-    },
     # In Xcode 12, "iPad Pro (12.9-inch)" requires a generation suffix in
     # "platform" arg.
     'SIM_IPAD_PRO_2ND_GEN_14_0': {
@@ -136,15 +109,6 @@
         ],
         'identifier': 'iPad Pro (12.9-inch) (2nd generation) 14.0'
     },
-    'SIM_IPAD_6_GEN_12_4': {
-        'args': [
-          '--platform',
-          'iPad (6th generation)',
-          '--version',
-          '12.4',
-        ],
-        'identifier': 'iPad (6th generation) 12.4'
-    },
     'SIM_IPAD_6_GEN_14_0': {
         'args': [
           '--platform',
@@ -190,15 +154,6 @@
         ],
         'identifier': 'iPhone 6s 14.0'
     },
-    'SIM_IPHONE_6S_PLUS_12_4': {
-        'args': [
-            '--platform',
-            'iPhone 6s Plus',
-            '--version',
-            '12.4',
-        ],
-        'identifier': 'iPhone 6s Plus 12.4'
-    },
     'SIM_IPHONE_6S_PLUS_13_6': {
         'args': [
             '--platform',
diff --git a/testing/buildbot/waterfalls.pyl b/testing/buildbot/waterfalls.pyl
index 516bbd2..8aebf72 100644
--- a/testing/buildbot/waterfalls.pyl
+++ b/testing/buildbot/waterfalls.pyl
@@ -1359,7 +1359,7 @@
           'mac_10.15',
           'mac_toolchain',
           'out_dir_arg',
-          'xcode_12a8179i_audio',
+          'xcode_12a8189h',
         ],
         'test_suites': {
           'isolated_scripts': 'ios_clang_tot_sim_tests'
@@ -1389,7 +1389,7 @@
           'mac_10.15',
           'mac_toolchain',
           'out_dir_arg',
-          'xcode_12a8179i_audio',
+          'xcode_12a8189h',
         ],
         'test_suites': {
           'isolated_scripts': 'ios_clang_tot_device_tests'
@@ -2051,7 +2051,7 @@
           'mac_10.15',
           'mac_toolchain',
           'out_dir_arg',
-          'xcode_12a8179i_audio'
+          'xcode_12a8189h'
         ],
         'test_suites': {
           'isolated_scripts': 'ios_asan_tests',
@@ -2059,11 +2059,12 @@
       },
       'ios-simulator-code-coverage': {
         'mixins': [
+          'ios_output_disabled_tests',
           'isolate_profile_data',
           'mac_10.15',
           'mac_toolchain',
           'out_dir_arg',
-          'xcode_12a8179i_audio'
+          'xcode_12a8189h'
         ],
         'test_suites': {
           'isolated_scripts': 'ios_code_coverage_tests',
@@ -2085,7 +2086,7 @@
           'mac_10.15',
           'mac_toolchain',
           'out_dir_arg',
-          'xcode_12a8179i_audio'
+          'xcode_12a8189h'
         ],
         'test_suites': {
           'isolated_scripts': 'ios_simulator_multi_window_tests',
@@ -4375,7 +4376,7 @@
           'mac_10.15',
           'mac_toolchain',
           'out_dir_arg',
-          'xcode_12a8179i_audio',
+          'xcode_12a8189h',
         ],
         'test_suites': {
           'isolated_scripts': 'ios_simulator_tests',
@@ -4389,7 +4390,7 @@
           'mac_10.15',
           'mac_toolchain',
           'out_dir_arg',
-          'xcode_12a8179i_audio',
+          'xcode_12a8189h',
         ],
         'test_suites': {
           'isolated_scripts': 'ios_simulator_full_configs_test'
diff --git a/testing/merge_scripts/code_coverage/merge_results.py b/testing/merge_scripts/code_coverage/merge_results.py
index 76ab743..d73f747c 100755
--- a/testing/merge_scripts/code_coverage/merge_results.py
+++ b/testing/merge_scripts/code_coverage/merge_results.py
@@ -119,10 +119,6 @@
               'w') as f:
       json.dump(invalid_profiles, f)
 
-    if not params.per_cl_coverage:
-      mark_invalid_shards(
-          profile_merger.get_shards_to_retry(invalid_profiles),
-          params.jsons_to_merge)
   failed = False
 
   # If given, always run the additional merge script, even if we only have one
@@ -164,28 +160,6 @@
   return 1 if (failed or bool(invalid_profiles)) else 0
 
 
-def mark_invalid_shards(bad_shards, jsons_to_merge):
-  """Removes results json files from bad shards.
-
-  This is needed so that the caller (e.g. recipe) knows to retry, or otherwise
-  treat the tests in that shard as not having valid results. Note that this only
-  removes the results from the local machine, as these are expected to remain in
-  the shard's isolated output.
-
-  Args:
-    bad_shards: list of task_ids of the shards that are bad or corrupted.
-    jsons_to_merge: The path to the jsons with the results of the tests.
-  """
-  if not bad_shards:
-    return
-  for f in jsons_to_merge:
-    for task_id in bad_shards:
-      if task_id in f:
-        # Remove results json if it corresponds to a bad shard.
-        os.remove(f)
-        break
-
-
 if __name__ == '__main__':
   logging.basicConfig(
       format='[%(asctime)s %(levelname)s] %(message)s', level=logging.INFO)
diff --git a/testing/merge_scripts/code_coverage/merge_results_test.py b/testing/merge_scripts/code_coverage/merge_results_test.py
index 49f08b8..cb08ff6 100755
--- a/testing/merge_scripts/code_coverage/merge_results_test.py
+++ b/testing/merge_scripts/code_coverage/merge_results_test.py
@@ -237,26 +237,6 @@
     # The mock method should only apply when merging .profraw files.
     self.assertFalse(mock_validate_and_convert_profraws.called)
 
-  @mock.patch('os.remove')
-  def test_mark_invalid_shards(self, mock_rm):
-    merge_results.mark_invalid_shards(['123abc'], [
-        '/tmp/123abc/dummy.json', '/tmp/123abc/dummy2.json',
-        '/tmp/1234abc/dummy.json'
-    ])
-    self.assertEqual([
-        mock.call('/tmp/123abc/dummy.json'),
-        mock.call('/tmp/123abc/dummy2.json')
-    ], mock_rm.call_args_list)
-
-  def test_get_shards_to_retry(self):
-    bad_profiles = [
-        '/b/s/w/ir/tmp/t/tmpSvBRii/44b643576cf39f10/profraw/default-1.profraw',
-        '/b/s/w/ir/tmp/t/tmpAbCDEf/44b1234567890123/profraw/default-1.profraw',
-        '/b/s/w/ir/tmp/t/tmpAbCDEf/44b1234567890123/profraw/default-2.profraw',
-    ]
-    self.assertEqual(set(['44b643576cf39f10', '44b1234567890123']),
-                     merger.get_shards_to_retry(bad_profiles))
-
   @mock.patch('merge_lib._JAVA_PATH', 'java')
   def test_merge_java_exec_files(self):
     mock_input_dir_walk = [
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index e4ed5cd..fea183f6 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -6850,6 +6850,27 @@
             ]
         }
     ],
+    "TransferableStreams": [
+        {
+            "platforms": [
+                "android",
+                "android_weblayer",
+                "android_webview",
+                "chromeos",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Enabled",
+                    "enable_features": [
+                        "TransferableStreams"
+                    ]
+                }
+            ]
+        }
+    ],
     "TranslateCompactUI": [
         {
             "platforms": [
@@ -7896,21 +7917,6 @@
             ]
         }
     ],
-    "WebViewOriginCheckForStreamReader": [
-        {
-            "platforms": [
-                "android_webview"
-            ],
-            "experiments": [
-                {
-                    "name": "Enabled",
-                    "enable_features": [
-                        "WebViewOriginCheckForStreamReader"
-                    ]
-                }
-            ]
-        }
-    ],
     "WindowsNativeSpellChecker": [
         {
             "platforms": [
diff --git a/third_party/blink/common/BUILD.gn b/third_party/blink/common/BUILD.gn
index e230c07b..6a098d9c 100644
--- a/third_party/blink/common/BUILD.gn
+++ b/third_party/blink/common/BUILD.gn
@@ -32,6 +32,7 @@
   inputs =
       scripts_for_json5_files + [
         "../renderer/build/scripts/make_document_policy_features.py",
+        "../renderer/build/scripts/make_document_policy_features_util.py",
         "../renderer/core/feature_policy/document_policy_features.json5",
         "../renderer/build/scripts/templates/document_policy_features.cc.tmpl",
       ]
diff --git a/third_party/blink/common/feature_policy/policy_value.cc b/third_party/blink/common/feature_policy/policy_value.cc
index 52be493..1a5182b 100644
--- a/third_party/blink/common/feature_policy/policy_value.cc
+++ b/third_party/blink/common/feature_policy/policy_value.cc
@@ -20,6 +20,9 @@
 PolicyValue::PolicyValue(double double_value)
     : type_(mojom::PolicyValueType::kDecDouble), double_value_(double_value) {}
 
+PolicyValue::PolicyValue(bool bool_value, mojom::PolicyValueType type)
+    : type_(type), bool_value_(bool_value) {}
+
 PolicyValue::PolicyValue(double double_value, mojom::PolicyValueType type)
     : type_(type), double_value_(double_value) {}
 
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
index e42b2eb6..35268351 100644
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -704,5 +704,10 @@
 const base::Feature kContentCaptureUserActivatedDelay = {
     "ContentCaptureUserActivatedDelay", base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Enable ReadableStream, WritableStream and TransformStream objects to be
+// transferred with postMessage().
+const base::Feature kTransferableStreams{"TransferableStreams",
+                                         base::FEATURE_DISABLED_BY_DEFAULT};
+
 }  // namespace features
 }  // namespace blink
diff --git a/third_party/blink/public/common/feature_policy/policy_value.h b/third_party/blink/public/common/feature_policy/policy_value.h
index 2856e23..3b9b619 100644
--- a/third_party/blink/public/common/feature_policy/policy_value.h
+++ b/third_party/blink/public/common/feature_policy/policy_value.h
@@ -25,6 +25,7 @@
 
   explicit PolicyValue(bool bool_value);
   explicit PolicyValue(double double_value);
+  PolicyValue(bool bool_value, mojom::PolicyValueType type);
   PolicyValue(double double_value, mojom::PolicyValueType type);
 
   // A 'max' PolicyValue is the most permissive value for the policy.
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
index ea971118..edba1c2 100644
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -284,6 +284,8 @@
 BLINK_COMMON_EXPORT extern const base::Feature
     kContentCaptureUserActivatedDelay;
 
+BLINK_COMMON_EXPORT extern const base::Feature kTransferableStreams;
+
 }  // namespace features
 }  // namespace blink
 
diff --git a/third_party/blink/public/mojom/frame/frame.mojom b/third_party/blink/public/mojom/frame/frame.mojom
index c96113d0..e48968a 100644
--- a/third_party/blink/public/mojom/frame/frame.mojom
+++ b/third_party/blink/public/mojom/frame/frame.mojom
@@ -198,9 +198,13 @@
   // Notifies the browser that the associated frame has changed theme color.
   // This will only be called on main-frames only. |theme_color| is optional
   // and indicates if a theme color has been specified or not, e.g. removal
-  // of a theme color meta tag  will generate a null value.
+  // of a theme color meta tag will generate a null value.
   DidChangeThemeColor(skia.mojom.SkColor? theme_color);
 
+  // Notifies the browser that the associated frame has changed its computed CSS
+  // background color. This will be called on main-frames only.
+  DidChangeBackgroundColor(skia.mojom.SkColor background_color);
+
   // Sent when the renderer fails to load with |error_code| which means a net
   // error code.
   DidFailLoadWithError(url.mojom.Url url, int32 error_code);
diff --git a/third_party/blink/public/mojom/payments/payment_request.mojom b/third_party/blink/public/mojom/payments/payment_request.mojom
index 475a1770..7d0e3a8 100644
--- a/third_party/blink/public/mojom/payments/payment_request.mojom
+++ b/third_party/blink/public/mojom/payments/payment_request.mojom
@@ -6,6 +6,8 @@
 module payments.mojom;
 
 import "components/payments/mojom/payment_request_data.mojom";
+import "mojo/public/mojom/base/time.mojom";
+import "url/mojom/url.mojom";
 
 struct PaymentResponse {
   string method_name;
@@ -120,6 +122,23 @@
   bool shipping_requested;
 };
 
+// Parameters for the "secure-payment-confirmation" payment method identifier.
+// https://github.com/rsolomakhin/secure-payment-confirmation
+struct SecurePaymentConfirmationRequest {
+  // An identifier of a set of credentials that map to a single instrument
+  // name and icon.
+  string instrument_id;
+
+  // An indefinite-length blob passed from the relying party server, to be sent
+  // to an authenticator for signing together with the price and merchant
+  // origin.
+  array<uint8> network_data;
+
+  // Time to wait for an authenticator to complete an operation provided by the
+  // relying party.
+  mojo_base.mojom.TimeDelta? timeout;
+};
+
 struct PaymentMethodData {
   string supported_method;
 
@@ -150,6 +169,9 @@
 
   // Basic card specific method data is parsed in the renderer.
   array<BasicCardNetwork> supported_networks;
+
+  // Parameters for the "secure-payment-confirmation" payment method identifier.
+  SecurePaymentConfirmationRequest? secure_payment_confirmation;
 };
 
 struct PaymentDetailsModifier {
diff --git a/third_party/blink/public/mojom/push_messaging/push_messaging_status.mojom b/third_party/blink/public/mojom/push_messaging/push_messaging_status.mojom
index 59339976..d210c1d 100644
--- a/third_party/blink/public/mojom/push_messaging/push_messaging_status.mojom
+++ b/third_party/blink/public/mojom/push_messaging/push_messaging_status.mojom
@@ -182,6 +182,10 @@
   // The Service Worker database got wiped, most likely due to corruption.
   SERVICE_WORKER_DATABASE_WIPED = 10,
 
+  // The subscription has expired, delete local subscription automatically.
+  // Only happens if features::kPushSubscriptionWithExpirationTime is enabled.
+  SUBSCRIPTION_EXPIRED = 11,
+
   // NOTE: Do not renumber or delete these as that would confuse interpretation
   // of previously logged data. When making changes, also update the enum list
   // in tools/metrics/histograms/histograms.xml to keep it in sync.
diff --git a/third_party/blink/public/mojom/web_feature/web_feature.mojom b/third_party/blink/public/mojom/web_feature/web_feature.mojom
index 31a8d13a..f5614221 100644
--- a/third_party/blink/public/mojom/web_feature/web_feature.mojom
+++ b/third_party/blink/public/mojom/web_feature/web_feature.mojom
@@ -2534,7 +2534,6 @@
 
   kV8Document_HasTrustToken_Method = 3202,
   kForceLoadAtTop = 3203,
-  kLegacyLayoutByButton = 3204,
   kLegacyLayoutByDeprecatedFlexBox = 3205,
   kLegacyLayoutByDetailsMarker = 3206,
   kLegacyLayoutByEditing = 3207,
@@ -2760,6 +2759,19 @@
   kBluetoothAdvertisingEventAppearance = 3431,
   kBluetoothAdvertisingEventTxPower = 3432,
   kCrossOriginOpenerPolicyReporting= 3433,
+  kGamepadId = 3434,
+  kElementAttachInternals = 3435,
+  kBluetoothDeviceName = 3436,
+  kRTCIceCandidateAddress = 3437,
+  kRTCIceCandidateCandidate = 3438,
+  kRTCIceCandidatePort = 3439,
+  kRTCIceCandidateRelatedAddress = 3440,
+  kRTCIceCandidateRelatedPort = 3441,
+  kSlotAssignNode = 3442,
+  kPluginName = 3443,
+  kPluginFilename = 3444,
+  kPluginDescription = 3445,
+  kSubresourceWebBundles = 3446,
 
   // Add new features immediately above this line. Don't change assigned
   // numbers of any item, and don't reuse removed slots.
diff --git a/third_party/blink/public/strings/translations/blink_strings_af.xtb b/third_party/blink/public/strings/translations/blink_strings_af.xtb
index 9193a016..27aa35a 100644
--- a/third_party/blink/public/strings/translations/blink_strings_af.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_af.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">erkennings</translation>
 <translation id="1342835525016946179">artikel</translation>
 <translation id="1359897965706325498">banier</translation>
+<translation id="1480676835519562650">kan meer as een kies; <ph name="SELECTED" /> van <ph name="COUNT" /> is gekies.</translation>
 <translation id="1589122976691792535">streek</translation>
 <translation id="1591562245178063882">Vandeesmaand</translation>
 <translation id="1637811476055996098">Kies lêers</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Dag</translation>
 <translation id="2507943997699731163">Vul asseblief hierdie veld in.</translation>
 <translation id="2508569020611168319">oortjielys</translation>
+<translation id="2530182415807757784">kan meer as een kies; niks is gekies nie.</translation>
 <translation id="2561842179657104141">wys meer mediakontroles</translation>
 <translation id="2572483411312390101">speel</translation>
 <translation id="2613802280814924224">Voer asseblief 'n geldige waarde in. Die naaste geldige waarde is <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_bs.xtb b/third_party/blink/public/strings/translations/blink_strings_bs.xtb
index b1f17e28b..4182f52 100644
--- a/third_party/blink/public/strings/translations/blink_strings_bs.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_bs.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">zahvale</translation>
 <translation id="1342835525016946179">članak</translation>
 <translation id="1359897965706325498">oglasni natpis</translation>
+<translation id="1480676835519562650">Moguć je višestruki odabir, odabrano je <ph name="SELECTED" /> od <ph name="COUNT" />.</translation>
 <translation id="1589122976691792535">regija</translation>
 <translation id="1591562245178063882">Ovaj mjesec</translation>
 <translation id="1637811476055996098">Odaberite fajlove</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Dan</translation>
 <translation id="2507943997699731163">Ispunite ovo polje.</translation>
 <translation id="2508569020611168319">lista kartica</translation>
+<translation id="2530182415807757784">Moguć je višestruki odabir, ništa nije odabrano.</translation>
 <translation id="2561842179657104141">prikaži više kontrola medija</translation>
 <translation id="2572483411312390101">reproduciraj</translation>
 <translation id="2613802280814924224">Unesite važeću vrijednost. Najbliža važeća vrijednost je <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ca.xtb b/third_party/blink/public/strings/translations/blink_strings_ca.xtb
index 7fa08ce..80880c4 100644
--- a/third_party/blink/public/strings/translations/blink_strings_ca.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_ca.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">crèdits</translation>
 <translation id="1342835525016946179">article</translation>
 <translation id="1359897965706325498">bàner</translation>
+<translation id="1480676835519562650">multiseleccionable; se n'han seleccionat <ph name="SELECTED" /> de <ph name="COUNT" /></translation>
 <translation id="1589122976691792535">regió</translation>
 <translation id="1591562245178063882">Aquest mes</translation>
 <translation id="1637811476055996098">Trieu els fitxers</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Dia</translation>
 <translation id="2507943997699731163">Empleneu aquest camp.</translation>
 <translation id="2508569020611168319">llista de pestanyes</translation>
+<translation id="2530182415807757784">multiseleccionable; no se n'ha seleccionat cap</translation>
 <translation id="2561842179657104141">mostra més controls multimèdia</translation>
 <translation id="2572483411312390101">reprodueix</translation>
 <translation id="2613802280814924224">Introduïu un valor vàlid. El valor vàlid més proper és <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_da.xtb b/third_party/blink/public/strings/translations/blink_strings_da.xtb
index 7b3bd07..6cd3d88 100644
--- a/third_party/blink/public/strings/translations/blink_strings_da.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_da.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">anerkendelser</translation>
 <translation id="1342835525016946179">artikel</translation>
 <translation id="1359897965706325498">banner</translation>
+<translation id="1480676835519562650">listefelt med flere valg, <ph name="SELECTED" /> af <ph name="COUNT" /> er valgt.</translation>
 <translation id="1589122976691792535">område</translation>
 <translation id="1591562245178063882">Denne måned</translation>
 <translation id="1637811476055996098">Vælg filer</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Dag</translation>
 <translation id="2507943997699731163">Udfyld dette felt.</translation>
 <translation id="2508569020611168319">faneliste</translation>
+<translation id="2530182415807757784">listefelt med flere valg, ingen valgt.</translation>
 <translation id="2561842179657104141">vis flere knapper til mediestyring</translation>
 <translation id="2572483411312390101">afspil</translation>
 <translation id="2613802280814924224">Angiv en gyldig værdi. Den nærmeste gyldige værdi er <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_el.xtb b/third_party/blink/public/strings/translations/blink_strings_el.xtb
index 79de1e1..e220282f 100644
--- a/third_party/blink/public/strings/translations/blink_strings_el.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_el.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">συντελεστές</translation>
 <translation id="1342835525016946179">άρθρο</translation>
 <translation id="1359897965706325498">banner</translation>
+<translation id="1480676835519562650">πολλαπλής επιλογής, έγινε επιλογή <ph name="SELECTED" /> από <ph name="COUNT" />.</translation>
 <translation id="1589122976691792535">περιοχή</translation>
 <translation id="1591562245178063882">Αυτόν το μήνα</translation>
 <translation id="1637811476055996098">Επιλογή αρχείων</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Ημέρα</translation>
 <translation id="2507943997699731163">Συμπληρώστε αυτό το πεδίο.</translation>
 <translation id="2508569020611168319">λίστα καρτελών</translation>
+<translation id="2530182415807757784">πολλαπλής επιλογής, καμία επιλογή.</translation>
 <translation id="2561842179657104141">εμφάνιση περισσότερων στοιχείων ελέγχου μέσων</translation>
 <translation id="2572483411312390101">αναπαραγωγή</translation>
 <translation id="2613802280814924224">Καταχωρίστε μια έγκυρη τιμή. Η κοντινότερη έγκυρη τιμή είναι <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_en-GB.xtb b/third_party/blink/public/strings/translations/blink_strings_en-GB.xtb
index f4b2691a..02b3faa 100644
--- a/third_party/blink/public/strings/translations/blink_strings_en-GB.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_en-GB.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">credits</translation>
 <translation id="1342835525016946179">article</translation>
 <translation id="1359897965706325498">banner</translation>
+<translation id="1480676835519562650">multiselectable, <ph name="SELECTED" /> of <ph name="COUNT" /> selected.</translation>
 <translation id="1589122976691792535">region</translation>
 <translation id="1591562245178063882">This month</translation>
 <translation id="1637811476055996098">Choose Files</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Day</translation>
 <translation id="2507943997699731163">Please fill in this field.</translation>
 <translation id="2508569020611168319">tab list</translation>
+<translation id="2530182415807757784">multiselectable, none selected.</translation>
 <translation id="2561842179657104141">show more media controls</translation>
 <translation id="2572483411312390101">play</translation>
 <translation id="2613802280814924224">Please enter a valid value. The nearest valid value is <ph name="VALID_VALUE" />.</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 19440aa..4a9338f 100644
--- a/third_party/blink/public/strings/translations/blink_strings_es.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_es.xtb
@@ -254,7 +254,7 @@
 <translation id="8474886197722836894">dedicatoria</translation>
 <translation id="8531739829932800271">errata</translation>
 <translation id="8534579021159131403">Minutos</translation>
-<translation id="8541249477527128034">control de medios</translation>
+<translation id="8541249477527128034">control multimedia</translation>
 <translation id="8550857728288566671">símbolo gráfico</translation>
 <translation id="8583702881314752957">lista de definiciones</translation>
 <translation id="8597182159515967513">cabecera</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_et.xtb b/third_party/blink/public/strings/translations/blink_strings_et.xtb
index b77b35a..a681d68d 100644
--- a/third_party/blink/public/strings/translations/blink_strings_et.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_et.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">tiitrid</translation>
 <translation id="1342835525016946179">artikkel</translation>
 <translation id="1359897965706325498">bänner</translation>
+<translation id="1480676835519562650">mitme valikuga, valitud on <ph name="SELECTED" /> <ph name="COUNT" />-st.</translation>
 <translation id="1589122976691792535">piirkond</translation>
 <translation id="1591562245178063882">See kuu</translation>
 <translation id="1637811476055996098">Vali failid</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">päev</translation>
 <translation id="2507943997699731163">Täitke see väli.</translation>
 <translation id="2508569020611168319">vahelehtede loend</translation>
+<translation id="2530182415807757784">mitme valikuga, ühtegi pole valitud.</translation>
 <translation id="2561842179657104141">kuva rohkem meedia juhtnuppe</translation>
 <translation id="2572483411312390101">esitus</translation>
 <translation id="2613802280814924224">Sisestage kehtiv väärtus. Lähim kehtiv väärtus on <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_hr.xtb b/third_party/blink/public/strings/translations/blink_strings_hr.xtb
index c4b766a5..2dc6139 100644
--- a/third_party/blink/public/strings/translations/blink_strings_hr.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_hr.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">zasluge</translation>
 <translation id="1342835525016946179">članak</translation>
 <translation id="1359897965706325498">natpis</translation>
+<translation id="1480676835519562650">Moguć je višestruki odabir, odabrano je <ph name="SELECTED" /> od <ph name="COUNT" />.</translation>
 <translation id="1589122976691792535">regija</translation>
 <translation id="1591562245178063882">Ovaj mjesec</translation>
 <translation id="1637811476055996098">Odabir datoteka</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Dan</translation>
 <translation id="2507943997699731163">Ispunite ovo polje.</translation>
 <translation id="2508569020611168319">popis kartica</translation>
+<translation id="2530182415807757784">Moguć je višestruki odabir, ništa nije odabrano.</translation>
 <translation id="2561842179657104141">prikaži više kontrola za medije</translation>
 <translation id="2572483411312390101">reprodukcija</translation>
 <translation id="2613802280814924224">Unesite važeću vrijednost. Najbliža je važeća vrijednost <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_is.xtb b/third_party/blink/public/strings/translations/blink_strings_is.xtb
index 1de40a7d2..43af7f3 100644
--- a/third_party/blink/public/strings/translations/blink_strings_is.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_is.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">samstarfsaðilar</translation>
 <translation id="1342835525016946179">grein</translation>
 <translation id="1359897965706325498">borði</translation>
+<translation id="1480676835519562650">hægt að velja mörg atriði, <ph name="SELECTED" /> af <ph name="COUNT" /> valin.</translation>
 <translation id="1589122976691792535">svæði</translation>
 <translation id="1591562245178063882">Þessi mánuður</translation>
 <translation id="1637811476055996098">Veldu skrár</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Dagur</translation>
 <translation id="2507943997699731163">Fylltu þennan reit út.</translation>
 <translation id="2508569020611168319">flipalisti</translation>
+<translation id="2530182415807757784">hægt að velja mörg atriði, ekkert valið.</translation>
 <translation id="2561842179657104141">sýna fleiri stjórntæki miðlaefnis</translation>
 <translation id="2572483411312390101">spila</translation>
 <translation id="2613802280814924224">Sláðu inn gilt gildi. Nálægasta gilda gildi er <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_lo.xtb b/third_party/blink/public/strings/translations/blink_strings_lo.xtb
index 13a72c0..cdaf326 100644
--- a/third_party/blink/public/strings/translations/blink_strings_lo.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_lo.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">ເຄຣດິດ</translation>
 <translation id="1342835525016946179">ບົດ​ຄວາມ</translation>
 <translation id="1359897965706325498">ປ້າຍ​ໂຄ​ສະ​ນາ</translation>
+<translation id="1480676835519562650">ເລືອກໄດ້ຫຼາຍລາຍການ, ເລືອກ <ph name="SELECTED" /> ຈາກທັງໝົດ <ph name="COUNT" /> ແລ້ວ</translation>
 <translation id="1589122976691792535">ພາກພື້ນ</translation>
 <translation id="1591562245178063882">ເດືອນ​ນີ້</translation>
 <translation id="1637811476055996098">ເລືອກ​ໄຟລ​໌</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">ວັນ</translation>
 <translation id="2507943997699731163">ກະລຸນາຕື່ມຂໍ້ມູນໃສ່ປ່ອງນີ້.</translation>
 <translation id="2508569020611168319">ລາຍການແຖບ</translation>
+<translation id="2530182415807757784">ເລືອກໄດ້ຫຼາຍລາຍການ, ບໍ່ໄດ້ເລືອກລາຍການໃດເລີຍ</translation>
 <translation id="2561842179657104141">ສະແດງການຄວບຄຸມສື່ເພີ່ມເຕີມ</translation>
 <translation id="2572483411312390101">ຫຼິ້ນ</translation>
 <translation id="2613802280814924224">ກະ​ລຸ​ນາ​ປ້ອນຄ່າທີ່ໃຊ້ໄດ້ເຂົ້າໄປ​. ຄ່າໃຊ້ໄດ້ໃກ້ທີ່ສຸດແມ່ນ <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_pl.xtb b/third_party/blink/public/strings/translations/blink_strings_pl.xtb
index 662bb88..92659d37 100644
--- a/third_party/blink/public/strings/translations/blink_strings_pl.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_pl.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">autorzy</translation>
 <translation id="1342835525016946179">article</translation>
 <translation id="1359897965706325498">baner</translation>
+<translation id="1480676835519562650">wielokrotny wybór, wybrano <ph name="SELECTED" /> z <ph name="COUNT" />.</translation>
 <translation id="1589122976691792535">region</translation>
 <translation id="1591562245178063882">W tym miesiącu</translation>
 <translation id="1637811476055996098">Wybierz pliki</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Dzień</translation>
 <translation id="2507943997699731163">Wypełnij to pole.</translation>
 <translation id="2508569020611168319">lista kart</translation>
+<translation id="2530182415807757784">wybór wielokrotny, nic nie wybrano.</translation>
 <translation id="2561842179657104141">pokaż więcej opcji sterowania multimediami</translation>
 <translation id="2572483411312390101">odtwórz</translation>
 <translation id="2613802280814924224">Podaj prawidłową wartość. Najbliższa prawidłowa wartość to <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_pt-PT.xtb b/third_party/blink/public/strings/translations/blink_strings_pt-PT.xtb
index 9738a48..f1e09b6 100644
--- a/third_party/blink/public/strings/translations/blink_strings_pt-PT.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_pt-PT.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">créditos</translation>
 <translation id="1342835525016946179">article</translation>
 <translation id="1359897965706325498">banner</translation>
+<translation id="1480676835519562650">vários selecionáveis, <ph name="SELECTED" /> de <ph name="COUNT" /> selecionados.</translation>
 <translation id="1589122976691792535">região</translation>
 <translation id="1591562245178063882">Este mês</translation>
 <translation id="1637811476055996098">Escolher Ficheiros</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Dia</translation>
 <translation id="2507943997699731163">Preencha este campo.</translation>
 <translation id="2508569020611168319">lista de separadores</translation>
+<translation id="2530182415807757784">vários selecionáveis, nenhum selecionado.</translation>
 <translation id="2561842179657104141">mostrar mais controlos de multimédia</translation>
 <translation id="2572483411312390101">reproduzir</translation>
 <translation id="2613802280814924224">Introduza um valor válido. O valor válido mais próximo é <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_si.xtb b/third_party/blink/public/strings/translations/blink_strings_si.xtb
index 773be373..804df28 100644
--- a/third_party/blink/public/strings/translations/blink_strings_si.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_si.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">සම්මාන</translation>
 <translation id="1342835525016946179">ලිපිය</translation>
 <translation id="1359897965706325498">බැනරය</translation>
+<translation id="1480676835519562650">බහුතේරිය හැකි, <ph name="COUNT" />කින් <ph name="SELECTED" />ක් තෝරන ලදි.</translation>
 <translation id="1589122976691792535">කලාපය</translation>
 <translation id="1591562245178063882">මෙම මාසය</translation>
 <translation id="1637811476055996098">ගොනු තෝරන්න</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">දිනය</translation>
 <translation id="2507943997699731163">කරුණාකර මෙම ක්ෂේත්‍රය පුරවන්න.</translation>
 <translation id="2508569020611168319">ටැබ ලැයිස්තුව</translation>
+<translation id="2530182415807757784">බහු තේරිය හැකි, කිසිවක් තෝරා නැත.</translation>
 <translation id="2561842179657104141">තවත් මාධ්‍ය පාලන පෙන්වන්න</translation>
 <translation id="2572483411312390101">වාදනය කරන්න</translation>
 <translation id="2613802280814924224">වලංගු අගයක් ඇතුළත් කරන්න. ආසන්නතම වලංගු අගය <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_sr-Latn.xtb b/third_party/blink/public/strings/translations/blink_strings_sr-Latn.xtb
index 4ee5e456..da1c40c 100644
--- a/third_party/blink/public/strings/translations/blink_strings_sr-Latn.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_sr-Latn.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">zasluge</translation>
 <translation id="1342835525016946179">article</translation>
 <translation id="1359897965706325498">baner</translation>
+<translation id="1480676835519562650">više opcija za izbor, izabranih: <ph name="SELECTED" /> od <ph name="COUNT" />.</translation>
 <translation id="1589122976691792535">region</translation>
 <translation id="1591562245178063882">Ovaj mesec</translation>
 <translation id="1637811476055996098">Izbor datoteka</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Dan</translation>
 <translation id="2507943997699731163">Popunite ovo polje.</translation>
 <translation id="2508569020611168319">lista kartica</translation>
+<translation id="2530182415807757784">više opcija za izbor, nijedna nije izabrana.</translation>
 <translation id="2561842179657104141">prikaži više kontrola za medije</translation>
 <translation id="2572483411312390101">pustite</translation>
 <translation id="2613802280814924224">Unesite važeću vrednost. Najbliža važeća vrednost je <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_sr.xtb b/third_party/blink/public/strings/translations/blink_strings_sr.xtb
index d7c67ec7..7d80ce0 100644
--- a/third_party/blink/public/strings/translations/blink_strings_sr.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_sr.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">заслуге</translation>
 <translation id="1342835525016946179">article</translation>
 <translation id="1359897965706325498">банер</translation>
+<translation id="1480676835519562650">више опција за избор, изабраних: <ph name="SELECTED" /> од <ph name="COUNT" />.</translation>
 <translation id="1589122976691792535">регион</translation>
 <translation id="1591562245178063882">Овај месец</translation>
 <translation id="1637811476055996098">Избор датотека</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Дан</translation>
 <translation id="2507943997699731163">Попуните ово поље.</translation>
 <translation id="2508569020611168319">листа картица</translation>
+<translation id="2530182415807757784">више опција за избор, ниједна није изабрана.</translation>
 <translation id="2561842179657104141">прикажи више контрола за медије</translation>
 <translation id="2572483411312390101">пустите</translation>
 <translation id="2613802280814924224">Унесите важећу вредност. Најближа важећа вредност је <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_sw.xtb b/third_party/blink/public/strings/translations/blink_strings_sw.xtb
index 47a0b60a..2fa7bd21 100644
--- a/third_party/blink/public/strings/translations/blink_strings_sw.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_sw.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">walioshiriki</translation>
 <translation id="1342835525016946179">makala</translation>
 <translation id="1359897965706325498">bango</translation>
+<translation id="1480676835519562650">unaweza kuchagua wengi, umechagua <ph name="SELECTED" /> kati ya <ph name="COUNT" />.</translation>
 <translation id="1589122976691792535">eneo</translation>
 <translation id="1591562245178063882">Mwezi huu</translation>
 <translation id="1637811476055996098">Chagua Faili</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Siku</translation>
 <translation id="2507943997699731163">Tafadhali jaza sehemu hii.</translation>
 <translation id="2508569020611168319">orodha ya vichupo</translation>
+<translation id="2530182415807757784">unaweza kuchagua wengi, hujachagua yeyote.</translation>
 <translation id="2561842179657104141">onyesha vidhibiti zaidi vya maudhui</translation>
 <translation id="2572483411312390101">cheza</translation>
 <translation id="2613802280814924224">Tafadhali ingiza thamani halali.Thamani halali ya karibu ni <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_th.xtb b/third_party/blink/public/strings/translations/blink_strings_th.xtb
index 949f7fe..26b9d16 100644
--- a/third_party/blink/public/strings/translations/blink_strings_th.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_th.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">เครดิต</translation>
 <translation id="1342835525016946179">บทความ</translation>
 <translation id="1359897965706325498">แบนเนอร์</translation>
+<translation id="1480676835519562650">เลือกได้หลายรายการ เลือกไว้ <ph name="SELECTED" /> จาก <ph name="COUNT" /> รายการ</translation>
 <translation id="1589122976691792535">ภูมิภาค</translation>
 <translation id="1591562245178063882">เดือนนี้</translation>
 <translation id="1637811476055996098">เลือกไฟล์</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">วัน</translation>
 <translation id="2507943997699731163">โปรดกรอกฟิลด์นี้</translation>
 <translation id="2508569020611168319">รายการแท็บ</translation>
+<translation id="2530182415807757784">เลือกได้หลายรายการ ไม่ได้เลือกรายการใดเลย</translation>
 <translation id="2561842179657104141">แสดงส่วนควบคุมสื่อเพิ่มเติม</translation>
 <translation id="2572483411312390101">เล่น</translation>
 <translation id="2613802280814924224">โปรดป้อนค่าที่ถูกต้อง ค่าใกล้เคียงที่สุดที่ถูกต้องคือ <ph name="VALID_VALUE" /></translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_uz.xtb b/third_party/blink/public/strings/translations/blink_strings_uz.xtb
index c9cf58ee..c00ee1c 100644
--- a/third_party/blink/public/strings/translations/blink_strings_uz.xtb
+++ b/third_party/blink/public/strings/translations/blink_strings_uz.xtb
@@ -16,6 +16,7 @@
 <translation id="1335095011850992622">mualliflar</translation>
 <translation id="1342835525016946179">article</translation>
 <translation id="1359897965706325498">banner</translation>
+<translation id="1480676835519562650">multitanlovli, <ph name="SELECTED" /> / <ph name="COUNT" /> tanlandi.</translation>
 <translation id="1589122976691792535">hudud</translation>
 <translation id="1591562245178063882">Bu oy</translation>
 <translation id="1637811476055996098">Fayllarni tanlash</translation>
@@ -51,6 +52,7 @@
 <translation id="248395913932153421">Kun</translation>
 <translation id="2507943997699731163">Bu maydonni to‘ldiring.</translation>
 <translation id="2508569020611168319">sahifalar ro‘yxati</translation>
+<translation id="2530182415807757784">multitanlovli, hech biri tanlanmagan.</translation>
 <translation id="2561842179657104141">yana boshqa boshqaruv elementlari</translation>
 <translation id="2572483411312390101">ijro etish</translation>
 <translation id="2613802280814924224">Yaroqli qiymat kiriting. Eng yaqin yaroqli qiymat: <ph name="VALID_VALUE" />.</translation>
diff --git a/third_party/blink/renderer/bindings/IDLExtendedAttributes.md b/third_party/blink/renderer/bindings/IDLExtendedAttributes.md
index 9d7a79b2..97b2ed56 100644
--- a/third_party/blink/renderer/bindings/IDLExtendedAttributes.md
+++ b/third_party/blink/renderer/bindings/IDLExtendedAttributes.md
@@ -132,12 +132,6 @@
 
 These are defined in the [ECMAScript-specific extended attributes](http://heycam.github.io/webidl/#es-extended-attributes) section of the [Web IDL spec](http://heycam.github.io/webidl/), and alter the binding behavior.
 
-*** note
-Unsupported: `[LenientThis]`
-
-Undocumented: `[TreatNonObjectAsNull]`
-***
-
 ### [CEReactions] _(m, a)_
 
 Standard: [CEReactions](https://html.spec.whatwg.org/C/#cereactions)
diff --git a/third_party/blink/renderer/bindings/IDLExtendedAttributes.txt b/third_party/blink/renderer/bindings/IDLExtendedAttributes.txt
index 32de1c9f..2498fc0 100644
--- a/third_party/blink/renderer/bindings/IDLExtendedAttributes.txt
+++ b/third_party/blink/renderer/bindings/IDLExtendedAttributes.txt
@@ -65,6 +65,7 @@
 ImmutablePrototype
 ImplementedAs=*
 LegacyTreatAsPartialInterface
+LegacyTreatNonObjectAsNull
 LegacyUnenumerableNamedProperties
 LegacyUnforgeable
 LegacyWindowAlias=*
@@ -107,7 +108,6 @@
 SetterCallWith=ExecutionContext|Isolate|ScriptState
 StringContext=TrustedHTML|TrustedScript|TrustedScriptURL
 Transferable
-TreatNonObjectAsNull
 TreatNullAs=EmptyString
 URL
 Unscopable
diff --git a/third_party/blink/renderer/bindings/generated_in_modules.gni b/third_party/blink/renderer/bindings/generated_in_modules.gni
index e588f39..a8dbc80 100644
--- a/third_party/blink/renderer/bindings/generated_in_modules.gni
+++ b/third_party/blink/renderer/bindings/generated_in_modules.gni
@@ -1813,6 +1813,8 @@
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_stats_response.h",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_track_event.cc",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_track_event.h",
+  "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sanitizer.cc",
+  "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sanitizer.h",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_scheduler.cc",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_scheduler.h",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_screen.cc",
diff --git a/third_party/blink/renderer/bindings/idl_in_modules.gni b/third_party/blink/renderer/bindings/idl_in_modules.gni
index 3303395a..75a00462 100644
--- a/third_party/blink/renderer/bindings/idl_in_modules.gni
+++ b/third_party/blink/renderer/bindings/idl_in_modules.gni
@@ -581,6 +581,7 @@
           "//third_party/blink/renderer/modules/quota/worker_navigator_storage_quota.idl",
           "//third_party/blink/renderer/modules/remoteplayback/html_media_element_remote_playback.idl",
           "//third_party/blink/renderer/modules/remoteplayback/remote_playback.idl",
+          "//third_party/blink/renderer/modules/sanitizer_api/sanitizer.idl",
           "//third_party/blink/renderer/modules/scheduler/scheduler.idl",
           "//third_party/blink/renderer/modules/scheduler/scheduler_post_task_options.idl",
           "//third_party/blink/renderer/modules/scheduler/task_controller.idl",
diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py b/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py
index d75bdfb7..ef49c662 100644
--- a/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py
+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py
@@ -775,8 +775,8 @@
     elif cg_context.attribute_set:
         idl_type = cg_context.attribute.idl_type
         if not (idl_type.does_include_nullable_or_dict
-                or idl_type.unwrap().is_any or
-                "TreatNonObjectAsNull" in idl_type.unwrap().extended_attributes
+                or idl_type.unwrap().is_any or "LegacyTreatNonObjectAsNull" in
+                idl_type.unwrap().extended_attributes
                 or "PutForwards" in cg_context.attribute.extended_attributes
                 or "Replaceable" in cg_context.attribute.extended_attributes):
             # ES undefined in ${v8_property_value} will cause a TypeError
diff --git a/third_party/blink/renderer/bindings/scripts/v8_callback_function.py b/third_party/blink/renderer/bindings/scripts/v8_callback_function.py
index c9b52169..65679db 100644
--- a/third_party/blink/renderer/bindings/scripts/v8_callback_function.py
+++ b/third_party/blink/renderer/bindings/scripts/v8_callback_function.py
@@ -55,7 +55,7 @@
         'idl_type':
         idl_type_str,
         'is_treat_non_object_as_null':
-        'TreatNonObjectAsNull' in callback_function.extended_attributes,
+        'LegacyTreatNonObjectAsNull' in callback_function.extended_attributes,
         'native_value_traits_tag':
         v8_types.idl_type_to_native_value_traits_tag(idl_type),
         'return_cpp_type':
diff --git a/third_party/blink/renderer/bindings/scripts/web_idl/migration_adapter.idl b/third_party/blink/renderer/bindings/scripts/web_idl/migration_adapter.idl
index 2393e9e1..f3afe21 100644
--- a/third_party/blink/renderer/bindings/scripts/web_idl/migration_adapter.idl
+++ b/third_party/blink/renderer/bindings/scripts/web_idl/migration_adapter.idl
@@ -11,12 +11,12 @@
 typedef EventHandlerNonNull? EventHandler;
 
 // https://html.spec.whatwg.org/C/#onerroreventhandler
-[TreatNonObjectAsNull]
+[LegacyTreatNonObjectAsNull]
 callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long colno, optional any error);
 typedef OnErrorEventHandlerNonNull? OnErrorEventHandler;
 
 // https://html.spec.whatwg.org/C/#onbeforeunloadeventhandler
-[TreatNonObjectAsNull]
+[LegacyTreatNonObjectAsNull]
 callback OnBeforeUnloadEventHandlerNonNull = DOMString? (Event event);
 typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler;
 
diff --git a/third_party/blink/renderer/bindings/templates/callback_invoke.cc.tmpl b/third_party/blink/renderer/bindings/templates/callback_invoke.cc.tmpl
index 2598235..bfe419f 100644
--- a/third_party/blink/renderer/bindings/templates/callback_invoke.cc.tmpl
+++ b/third_party/blink/renderer/bindings/templates/callback_invoke.cc.tmpl
@@ -11,7 +11,7 @@
       return_cpp_type = Blink (C++) return type
       return_native_value_traits_tag = tag of NativeValueTraits for return type
       arguments = dict of arguments\' info
-      is_treat_non_object_as_null = True if [TreatNonObjectAsNull]
+      is_treat_non_object_as_null = True if [LegacyTreatNonObjectAsNull]
       bypass_runnability_check = Skip IsCallbackFunctionRunnable check if True
       interface_name = interface name used for exception
       operation_name = interface name used for exception and property lookup
@@ -85,7 +85,7 @@
   // step 4. If ! IsCallable(F) is false:
   {% if is_treat_non_object_as_null %}
   if (!CallbackObject()->IsFunction()) {
-    // Handle the special case of [TreatNonObjectAsNull].
+    // Handle the special case of [LegacyTreatNonObjectAsNull].
     //
     {% if return_cpp_type == 'void' %}
     // step 4.1. If the callback function's return type is void, return.
@@ -108,7 +108,7 @@
   }
   {% else %}
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   {% endif %}
   function = CallbackFunction();
diff --git a/third_party/blink/renderer/bindings/tests/idls/core/test_callback_functions.idl b/third_party/blink/renderer/bindings/tests/idls/core/test_callback_functions.idl
index b27952f..d51b1f1 100644
--- a/third_party/blink/renderer/bindings/tests/idls/core/test_callback_functions.idl
+++ b/third_party/blink/renderer/bindings/tests/idls/core/test_callback_functions.idl
@@ -20,9 +20,9 @@
 callback StringSequenceCallbackFunctionLongSequenceArg = sequence<DOMString> (sequence<long> arg);
 callback VoidCallbackFunctionEnumArg = void (TestEnum arg);
 callback VoidCallbackFunctionTypedef = void (String arg);
-[TreatNonObjectAsNull]
+[LegacyTreatNonObjectAsNull]
 callback TreatNonObjectAsNullVoidFunction = void ();
-[TreatNonObjectAsNull]
+[LegacyTreatNonObjectAsNull]
 callback TreatNonObjectAsNullBooleanFunction = boolean ();
 
 interface TestCallbackFunctions {
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc
index 1d25eca..79b1486 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc
@@ -71,7 +71,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
@@ -184,7 +184,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_any_callback_function_variadic_any_args.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_any_callback_function_variadic_any_args.cc
index 3fa176cc..f08ad1f 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_any_callback_function_variadic_any_args.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_any_callback_function_variadic_any_args.cc
@@ -71,7 +71,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
@@ -191,7 +191,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_for_each_iterator_callback.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_for_each_iterator_callback.cc
index a276214..e631cce 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_for_each_iterator_callback.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_for_each_iterator_callback.cc
@@ -71,7 +71,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_long_callback_function.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_long_callback_function.cc
index 959722b7..858e5ad 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_long_callback_function.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_long_callback_function.cc
@@ -71,7 +71,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc
index 941fe37..233b286 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc
@@ -71,7 +71,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_treat_non_object_as_null_boolean_function.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_treat_non_object_as_null_boolean_function.cc
index 90d6ea5..42e48148 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_treat_non_object_as_null_boolean_function.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_treat_non_object_as_null_boolean_function.cc
@@ -70,7 +70,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   if (!CallbackObject()->IsFunction()) {
-    // Handle the special case of [TreatNonObjectAsNull].
+    // Handle the special case of [LegacyTreatNonObjectAsNull].
     //
     // step 4.2. Return the result of converting undefined to the callback
     //   function's return type.
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_treat_non_object_as_null_void_function.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_treat_non_object_as_null_void_function.cc
index c2f9685..363af22 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_treat_non_object_as_null_void_function.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_treat_non_object_as_null_void_function.cc
@@ -70,7 +70,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   if (!CallbackObject()->IsFunction()) {
-    // Handle the special case of [TreatNonObjectAsNull].
+    // Handle the special case of [LegacyTreatNonObjectAsNull].
     //
     // step 4.1. If the callback function's return type is void, return.
     return v8::JustVoid();
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function.cc
index 1951ae8a..7caac01 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function.cc
@@ -70,7 +70,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc
index 0431c2e2..09b0a04 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc
@@ -71,7 +71,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc
index 49a681c..b872faf 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc
@@ -71,7 +71,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc
index 69caf17..b9e8358 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc
@@ -71,7 +71,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc
index 459889f..8c31b2d 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc
@@ -72,7 +72,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_typedef.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_typedef.cc
index 2449b5e..375e9f6a 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_typedef.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_typedef.cc
@@ -71,7 +71,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/bindings/tests/results/modules/v8_void_callback_function_modules.cc b/third_party/blink/renderer/bindings/tests/results/modules/v8_void_callback_function_modules.cc
index 9f063ed..3bbc2b6b 100644
--- a/third_party/blink/renderer/bindings/tests/results/modules/v8_void_callback_function_modules.cc
+++ b/third_party/blink/renderer/bindings/tests/results/modules/v8_void_callback_function_modules.cc
@@ -70,7 +70,7 @@
   // callback function's invoke:
   // step 4. If ! IsCallable(F) is false:
   //
-  // No [TreatNonObjectAsNull] presents.  Must be always callable.
+  // No [LegacyTreatNonObjectAsNull] presents.  Must be always callable.
   DCHECK(CallbackObject()->IsFunction());
   function = CallbackFunction();
 
diff --git a/third_party/blink/renderer/build/scripts/make_document_policy_features_unittest.py b/third_party/blink/renderer/build/scripts/make_document_policy_features_unittest.py
index 4c361580..dd0cb2f9 100644
--- a/third_party/blink/renderer/build/scripts/make_document_policy_features_unittest.py
+++ b/third_party/blink/renderer/build/scripts/make_document_policy_features_unittest.py
@@ -17,8 +17,8 @@
             parse_default_value("min", "DecDouble"),
             "PolicyValue::CreateMinPolicyValue(mojom::PolicyValueType::kDecDouble)"
         )
-        self.assertEqual(
-            parse_default_value("false", "Bool"), "PolicyValue(false)")
+        self.assertEqual(parse_default_value("false", "Bool"),
+                         "PolicyValue(false, mojom::PolicyValueType::kBool)")
         self.assertEqual(
             parse_default_value("0.5", "DecDouble"),
             "PolicyValue(0.5, mojom::PolicyValueType::kDecDouble)")
diff --git a/third_party/blink/renderer/build/scripts/make_document_policy_features_util.py b/third_party/blink/renderer/build/scripts/make_document_policy_features_util.py
index 9a626465..2811a1a 100644
--- a/third_party/blink/renderer/build/scripts/make_document_policy_features_util.py
+++ b/third_party/blink/renderer/build/scripts/make_document_policy_features_util.py
@@ -5,16 +5,11 @@
 
 def parse_default_value(default_value,
                         value_type,
-                        recognized_types=('Bool', 'DecDouble'),
-                        single_ctor_param_types=('Bool')):
+                        recognized_types=('Bool', 'DecDouble')):
     """ Parses default_value string to actual usable C++ expression.
     @param default_value_str: default_value field specified in document_policy_features.json5
     @param value_type: value_type field specified in document_policy_features.json5
     @param recognized_types: types that are valid for value_type
-    @param single_ctor_param_types: types with single param PolicyValue constructor
-     - Bool corresponds to PolicyValue(bool) which only has one constructor param
-     - DecDouble and IncDouble both take an extra constructor param for value_type
-     in constructor PolicyValue(double, mojom::PolicyValueType)
     @returns: a C++ expression that has type mojom::PolicyValue
     """
     if (value_type not in recognized_types):
@@ -30,8 +25,4 @@
         return "PolicyValue::CreateMinPolicyValue({})".format(
             policy_value_type)
 
-    # types that have only one corresponding PolicyValueType
-    if value_type in single_ctor_param_types:
-        return "PolicyValue({})".format(default_value)
-    else:
-        return "PolicyValue({}, {})".format(default_value, policy_value_type)
+    return "PolicyValue({}, {})".format(default_value, policy_value_type)
diff --git a/third_party/blink/renderer/core/css/resolver/style_adjuster.cc b/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
index a19743f..a568fd4 100644
--- a/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
@@ -462,18 +462,6 @@
       style.GetWritingMode() != layout_parent_style.GetWritingMode())
     style.SetDisplay(EDisplay::kInlineBlock);
 
-  // We do not honor position: relative or sticky for table rows, headers, and
-  // footers. This is correct for position: relative in CSS2.1 (and caused a
-  // crash in containingBlock() on some sites) and position: sticky is defined
-  // as following position: relative behavior for table elements. It is
-  // incorrect for CSS3.
-  if ((style.Display() == EDisplay::kTableHeaderGroup ||
-       style.Display() == EDisplay::kTableRowGroup ||
-       style.Display() == EDisplay::kTableFooterGroup ||
-       style.Display() == EDisplay::kTableRow) &&
-      style.HasInFlowPosition())
-    style.SetPosition(EPosition::kStatic);
-
   // Cannot support position: sticky for table columns and column groups because
   // current code is only doing background painting through columns / column
   // groups.
@@ -484,15 +472,12 @@
 
   // writing-mode does not apply to table row groups, table column groups, table
   // rows, and table columns.
-  // FIXME: Table cells should be allowed to be perpendicular or flipped with
-  // respect to the table, though.
   if (style.Display() == EDisplay::kTableColumn ||
       style.Display() == EDisplay::kTableColumnGroup ||
       style.Display() == EDisplay::kTableFooterGroup ||
       style.Display() == EDisplay::kTableHeaderGroup ||
       style.Display() == EDisplay::kTableRow ||
-      style.Display() == EDisplay::kTableRowGroup ||
-      style.Display() == EDisplay::kTableCell) {
+      style.Display() == EDisplay::kTableRowGroup) {
     style.SetWritingMode(layout_parent_style.GetWritingMode());
     style.UpdateFontOrientation();
   }
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index 994cbdcd..cb780bd 100644
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4387,6 +4387,9 @@
   if (new_url == url_)
     return;
 
+  TRACE_EVENT1("navigation", "Document::SetURL", "url",
+               new_url.GetString().Utf8());
+
   // Count non-targetText occurrences of :~: in the url fragment to make sure
   // the delimiter is web-compatible. This can be removed once the feature
   // ships.
diff --git a/third_party/blink/renderer/core/dom/layout_tree_builder.cc b/third_party/blink/renderer/core/dom/layout_tree_builder.cc
index b15d317..b5e4351 100644
--- a/third_party/blink/renderer/core/dom/layout_tree_builder.cc
+++ b/third_party/blink/renderer/core/dom/layout_tree_builder.cc
@@ -102,6 +102,8 @@
   LayoutObject* next_layout_object = NextLayoutObject();
   // SetStyle() can depend on LayoutObject() already being set.
   node_->SetLayoutObject(new_layout_object);
+
+  DCHECK(!new_layout_object->Style());
   new_layout_object->SetStyle(style_);
 
   // Note: Adding new_layout_object instead of LayoutObject(). LayoutObject()
@@ -164,7 +166,9 @@
       context_.parent->IsInsideFlowThread());
 
   node_->SetLayoutObject(new_layout_object);
+  DCHECK(!new_layout_object->Style());
   new_layout_object->SetStyle(&style);
+
   layout_object_parent->AddChild(new_layout_object, next_layout_object);
 }
 
diff --git a/third_party/blink/renderer/core/dom/layout_tree_builder.h b/third_party/blink/renderer/core/dom/layout_tree_builder.h
index ecbfb41c..c359c17 100644
--- a/third_party/blink/renderer/core/dom/layout_tree_builder.h
+++ b/third_party/blink/renderer/core/dom/layout_tree_builder.h
@@ -89,7 +89,7 @@
 
   NodeType* node_;
   Node::AttachContext& context_;
-  const ComputedStyle* style_;
+  scoped_refptr<const ComputedStyle> style_;
 };
 
 class LayoutTreeBuilderForElement : public LayoutTreeBuilder<Element> {
diff --git a/third_party/blink/renderer/core/editing/serializers/markup_formatter.cc b/third_party/blink/renderer/core/editing/serializers/markup_formatter.cc
index ca8a51f..110c76bc 100644
--- a/third_party/blink/renderer/core/editing/serializers/markup_formatter.cc
+++ b/third_party/blink/renderer/core/editing/serializers/markup_formatter.cc
@@ -57,35 +57,45 @@
 template <typename CharType>
 static inline void AppendCharactersReplacingEntitiesInternal(
     StringBuilder& result,
+    const StringView& source,
     CharType* text,
     unsigned length,
     const EntityDescription entity_maps[],
     unsigned entity_maps_count,
     EntityMask entity_mask) {
   unsigned position_after_last_entity = 0;
-  for (unsigned i = 0; i < length; ++i) {
-    for (unsigned entity_index = 0; entity_index < entity_maps_count;
-         ++entity_index) {
-      if (text[i] == entity_maps[entity_index].entity &&
-          entity_maps[entity_index].mask & entity_mask) {
-        result.Append(text + position_after_last_entity,
-                      i - position_after_last_entity);
-        const std::string& replacement = entity_maps[entity_index].reference;
-        result.Append(replacement.c_str(), replacement.length());
-        position_after_last_entity = i + 1;
-        break;
+  // Avoid scanning the string in cases where the mask is empty, for example
+  // scripTag.innerHTML that use the kEntityMaskInCDATA mask.
+  if (entity_mask) {
+    for (unsigned i = 0; i < length; ++i) {
+      for (unsigned entity_index = 0; entity_index < entity_maps_count;
+           ++entity_index) {
+        if (text[i] == entity_maps[entity_index].entity &&
+            entity_maps[entity_index].mask & entity_mask) {
+          result.Append(text + position_after_last_entity,
+                        i - position_after_last_entity);
+          const std::string& replacement = entity_maps[entity_index].reference;
+          result.Append(replacement.c_str(), replacement.length());
+          position_after_last_entity = i + 1;
+          break;
+        }
       }
     }
   }
+  // If we didn't find anything to replace use the fast path on StringBuilder
+  // to avoid a copy. This optimizes cases like scriptTag.innerHTML or
+  // p.innerHTML when the <p> contains a single Text.
+  if (!position_after_last_entity) {
+    result.Append(source);
+    return;
+  }
   result.Append(text + position_after_last_entity,
                 length - position_after_last_entity);
 }
 
 void MarkupFormatter::AppendCharactersReplacingEntities(
     StringBuilder& result,
-    const String& source,
-    unsigned offset,
-    unsigned length,
+    const StringView& source,
     EntityMask entity_mask) {
   DEFINE_STATIC_LOCAL(const std::string, amp_reference, ("&amp;"));
   DEFINE_STATIC_LOCAL(const std::string, lt_reference, ("&lt;"));
@@ -107,14 +117,10 @@
       {'\r', carriage_return_reference, kEntityCarriageReturn},
   };
 
-  if (!(offset + length))
-    return;
-
-  DCHECK_LE(offset + length, source.length());
   WTF::VisitCharacters(source, [&](const auto* chars, unsigned) {
     AppendCharactersReplacingEntitiesInternal(
-        result, chars + offset, length, kEntityMaps, base::size(kEntityMaps),
-        entity_mask);
+        result, source, chars, source.length(), kEntityMaps,
+        base::size(kEntityMaps), entity_mask);
   });
 }
 
@@ -203,7 +209,7 @@
 void MarkupFormatter::AppendAttributeValue(StringBuilder& result,
                                            const String& attribute,
                                            bool document_is_html) {
-  AppendCharactersReplacingEntities(result, attribute, 0, attribute.length(),
+  AppendCharactersReplacingEntities(result, attribute,
                                     document_is_html
                                         ? kEntityMaskInHTMLAttributeValue
                                         : kEntityMaskInAttributeValue);
@@ -226,8 +232,7 @@
 }
 
 void MarkupFormatter::AppendText(StringBuilder& result, const Text& text) {
-  const String& str = text.data();
-  AppendCharactersReplacingEntities(result, str, 0, str.length(),
+  AppendCharactersReplacingEntities(result, text.data(),
                                     EntityMaskForText(text));
 }
 
diff --git a/third_party/blink/renderer/core/editing/serializers/markup_formatter.h b/third_party/blink/renderer/core/editing/serializers/markup_formatter.h
index 984cefb..af1cec8 100644
--- a/third_party/blink/renderer/core/editing/serializers/markup_formatter.h
+++ b/third_party/blink/renderer/core/editing/serializers/markup_formatter.h
@@ -82,11 +82,9 @@
                               const String& value,
                               bool document_is_html);
   static void AppendCDATASection(StringBuilder&, const String&);
-  static void AppendCharactersReplacingEntities(StringBuilder&,
-                                                const String&,
-                                                unsigned,
-                                                unsigned,
-                                                EntityMask);
+  static void AppendCharactersReplacingEntities(StringBuilder& result,
+                                                const StringView& source,
+                                                EntityMask entity_mask);
   static void AppendComment(StringBuilder&, const String&);
   static void AppendDocumentType(StringBuilder&, const DocumentType&);
   static void AppendProcessingInstruction(StringBuilder&,
diff --git a/third_party/blink/renderer/core/editing/serializers/styled_markup_accumulator.cc b/third_party/blink/renderer/core/editing/serializers/styled_markup_accumulator.cc
index b1b21ef..9fddbd6 100644
--- a/third_party/blink/renderer/core/editing/serializers/styled_markup_accumulator.cc
+++ b/third_party/blink/renderer/core/editing/serializers/styled_markup_accumulator.cc
@@ -91,7 +91,8 @@
     }
   }
   MarkupFormatter::AppendCharactersReplacingEntities(
-      result_, str, start, length, formatter_.EntityMaskForText(text));
+      result_, StringView(str, start, length),
+      formatter_.EntityMaskForText(text));
 }
 
 void StyledMarkupAccumulator::AppendTextWithInlineStyle(
@@ -119,8 +120,8 @@
     String content =
         use_rendered_text ? RenderedText(text) : StringValueForRange(text);
     StringBuilder buffer;
-    MarkupFormatter::AppendCharactersReplacingEntities(
-        buffer, content, 0, content.length(), kEntityMaskInPCDATA);
+    MarkupFormatter::AppendCharactersReplacingEntities(buffer, content,
+                                                       kEntityMaskInPCDATA);
     // Keep collapsible white spaces as is during markup sanitization.
     const String text_to_append =
         IsForMarkupSanitization()
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
index 4b42cd8..31594d4d 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -1631,7 +1631,15 @@
 
   // There is no background color for non-composited WebViews (eg printing).
   if (does_composite_) {
-    MainFrameImpl()->FrameWidgetImpl()->SetBackgroundColor(BackgroundColor());
+    SkColor background_color = BackgroundColor();
+    MainFrameImpl()->FrameWidgetImpl()->SetBackgroundColor(background_color);
+    if (background_color != last_background_color_) {
+      last_background_color_ = background_color;
+      if (Page* page = AsView().page.Get()) {
+        if (auto* main_local_frame = DynamicTo<LocalFrame>(page->MainFrame()))
+          main_local_frame->DidChangeBackgroundColor(background_color);
+      }
+    }
   }
 
   if (LocalFrameView* view = MainFrameImpl()->GetFrameView()) {
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h
index 510c555..7fd37bd5 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.h
+++ b/third_party/blink/renderer/core/exported/web_view_impl.h
@@ -701,6 +701,7 @@
   SkColor base_background_color_override_ = Color::kTransparent;
   bool background_color_override_enabled_ = false;
   SkColor background_color_override_ = Color::kTransparent;
+  base::Optional<SkColor> last_background_color_;
   float zoom_factor_override_ = 0.f;
 
   bool should_dispatch_first_visually_non_empty_layout_ = false;
diff --git a/third_party/blink/renderer/core/frame/dom_window.cc b/third_party/blink/renderer/core/frame/dom_window.cc
index 01fce7a..f8ed1d86 100644
--- a/third_party/blink/renderer/core/frame/dom_window.cc
+++ b/third_party/blink/renderer/core/frame/dom_window.cc
@@ -501,8 +501,7 @@
     // TODO(arthursonzogni): Dispatch a console error/warning message.
 
     // Send a coop-access-violation report.
-    if (it->report_type ==
-        network::mojom::CoopAccessReportType::kReportAccessFrom) {
+    if (network::IsAccessFromCoopPage(it->report_type)) {
       ReportingContext::From(accessing_main_frame.DomWindow())
           ->QueueReport(MakeGarbageCollected<Report>(
               ReportType::kCoopAccessViolation,
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index 11b7b4a6..67a04b1 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -473,6 +473,11 @@
 
   if (!navigation_rate_limiter().CanProceed())
     return;
+
+  TRACE_EVENT2("navigation", "LocalFrame::Navigate", "url",
+               request.GetResourceRequest().Url().GetString().Utf8(),
+               "load_type", static_cast<int>(frame_load_type));
+
   if (request.ClientRedirectReason() != ClientNavigationReason::kNone) {
     probe::FrameScheduledNavigation(this, request.GetResourceRequest().Url(),
                                     base::TimeDelta(),
@@ -713,6 +718,9 @@
   DCHECK(IsReloadLoadType(load_type));
   if (!loader_.GetDocumentLoader()->GetHistoryItem())
     return;
+  TRACE_EVENT1("navigation", "LocalFrame::Reload", "load_type",
+               static_cast<int>(load_type));
+
   FrameLoadRequest request(
       nullptr, loader_.ResourceRequestForReload(
                    load_type, ClientRedirectPolicy::kClientRedirect));
@@ -937,6 +945,11 @@
   GetLocalFrameHostRemote().DidChangeThemeColor(sk_color);
 }
 
+void LocalFrame::DidChangeBackgroundColor(SkColor background_color) {
+  DCHECK(!Tree().Parent());
+  GetLocalFrameHostRemote().DidChangeBackgroundColor(background_color);
+}
+
 LocalFrame& LocalFrame::LocalFrameRoot() const {
   const LocalFrame* cur_frame = this;
   while (cur_frame && IsA<LocalFrame>(cur_frame->Tree().Parent()))
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
index 777ce8d..f7acdea 100644
--- a/third_party/blink/renderer/core/frame/local_frame.h
+++ b/third_party/blink/renderer/core/frame/local_frame.h
@@ -194,6 +194,7 @@
   void DidFocus() override;
 
   void DidChangeThemeColor();
+  void DidChangeBackgroundColor(SkColor background_color);
 
   void DetachChildren();
   // After Document is attached, resets state related to document, and sets
diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_party/blink/renderer/core/frame/visual_viewport.cc
index ff5386cc..15d463d6 100644
--- a/third_party/blink/renderer/core/frame/visual_viewport.cc
+++ b/third_party/blink/renderer/core/frame/visual_viewport.cc
@@ -178,7 +178,7 @@
     if (scale_ != 1.f)
       state.transform_and_origin = {TransformationMatrix().Scale(scale_)};
     state.flags.in_subtree_of_page_scale = false;
-    state.direct_compositing_reasons = CompositingReason::kWillChangeTransform;
+    state.direct_compositing_reasons = CompositingReason::kViewport;
     state.compositor_element_id = page_scale_element_id_;
 
     if (!page_scale_node_) {
@@ -259,7 +259,7 @@
     TransformPaintPropertyNode::State state{
         FloatSize(-scroll_position.Width(), -scroll_position.Height())};
     state.scroll = scroll_node_;
-    state.direct_compositing_reasons = CompositingReason::kWillChangeTransform;
+    state.direct_compositing_reasons = CompositingReason::kViewport;
     if (!scroll_translation_node_) {
       scroll_translation_node_ = TransformPaintPropertyNode::Create(
           *page_scale_node_, std::move(state));
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_base.cc b/third_party/blink/renderer/core/frame/web_frame_widget_base.cc
index b978607..99c8d6b 100644
--- a/third_party/blink/renderer/core/frame/web_frame_widget_base.cc
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_base.cc
@@ -653,14 +653,12 @@
     NotifyPageScaleFactorChanged(visual_properties.page_scale_factor,
                                  visual_properties.is_pinch_gesture_active);
   } else {
-    // Ensure scale factors used in nested widgets are reset to their default
-    // values, they may be leftover from when a widget was nested and was
-    // promoted to top level (e.g. portal activation).
+    // Ensure the external scale factor in top-level widgets is reset as it may
+    // be leftover from when a widget was nested and was promoted to top level
+    // (e.g. portal activation).
     widget_base_->LayerTreeHost()->SetExternalPageScaleFactor(
         1.f,
         /*is_pinch_gesture_active=*/false);
-    page_scale_factor_from_mainframe_ = 1.f;
-    is_pinch_gesture_active_from_mainframe_ = false;
   }
 }
 
@@ -1041,11 +1039,11 @@
 }
 
 bool WebFrameWidgetBase::PinchGestureActiveInMainFrame() {
-  return is_pinch_gesture_active_from_mainframe_;
+  return is_pinch_gesture_active_in_mainframe_;
 }
 
 float WebFrameWidgetBase::PageScaleInMainFrame() {
-  return page_scale_factor_from_mainframe_;
+  return page_scale_factor_in_mainframe_;
 }
 
 void WebFrameWidgetBase::UpdateSurfaceAndScreenInfo(
@@ -1992,8 +1990,8 @@
     bool is_pinch_gesture_active) {
   // Store the value to give to any new RemoteFrame that will be created as a
   // descendant of this widget.
-  page_scale_factor_from_mainframe_ = page_scale_factor;
-  is_pinch_gesture_active_from_mainframe_ = is_pinch_gesture_active;
+  page_scale_factor_in_mainframe_ = page_scale_factor;
+  is_pinch_gesture_active_in_mainframe_ = is_pinch_gesture_active;
   // Push the page scale factor down to any child RemoteFrames.
   // TODO(danakj): This ends up setting the page scale factor in the
   // RenderWidgetHost of the child WebFrameWidgetBase, so that it can bounce
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_base.h b/third_party/blink/renderer/core/frame/web_frame_widget_base.h
index 3b8fca2..6c7468df 100644
--- a/third_party/blink/renderer/core/frame/web_frame_widget_base.h
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_base.h
@@ -582,11 +582,11 @@
   // complicated inheritance structures.
   std::unique_ptr<WidgetBase> widget_base_;
 
-  // The last seen page scale state, which comes from the main frame and is
-  // propagated through the RenderWidget tree. This state is passed to any new
-  // child RenderWidget.
-  float page_scale_factor_from_mainframe_ = 1.f;
-  bool is_pinch_gesture_active_from_mainframe_ = false;
+  // The last seen page scale state, which comes from the main frame if we're
+  // in a child frame. This state is propagated through the RenderWidget tree
+  // passed to any new child RenderWidget.
+  float page_scale_factor_in_mainframe_ = 1.f;
+  bool is_pinch_gesture_active_in_mainframe_ = false;
 
  private:
   void CancelDrag();
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
index d8c1857..5f15fec1 100644
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
@@ -982,6 +982,9 @@
   // for all requests.
   DCHECK(GetFrame());
   DCHECK(IsReloadLoadType(frame_load_type));
+  TRACE_EVENT1("navigation", "WebLocalFrameImpl::StartReload", "load_type",
+               static_cast<int>(frame_load_type));
+
   ResourceRequest request =
       GetFrame()->Loader().ResourceRequestForReload(frame_load_type);
   if (request.IsNull())
@@ -1010,6 +1013,8 @@
   DCHECK(GetFrame());
   DCHECK(!request.IsNull());
   DCHECK(!request.Url().ProtocolIs("javascript"));
+  TRACE_EVENT0("navigation", "WebLocalFrameImpl::StartNavigation");
+
   if (GetTextFinder())
     GetTextFinder()->ClearActiveFindMatch();
 
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 a781ca2..aab6c530 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
@@ -318,8 +318,8 @@
 
   // If page scale hasn't changed, then just return without notifying
   // the remote frames.
-  if (page_scale_factor == page_scale_factor_from_mainframe_ &&
-      is_pinch_gesture_active == is_pinch_gesture_active_from_mainframe_) {
+  if (page_scale_factor == page_scale_factor_in_mainframe_ &&
+      is_pinch_gesture_active == is_pinch_gesture_active_in_mainframe_) {
     return;
   }
 
diff --git a/third_party/blink/renderer/core/html/BUILD.gn b/third_party/blink/renderer/core/html/BUILD.gn
index 99b74df..7ce26f4f 100644
--- a/third_party/blink/renderer/core/html/BUILD.gn
+++ b/third_party/blink/renderer/core/html/BUILD.gn
@@ -500,6 +500,8 @@
     "media/media_source_attachment.cc",
     "media/media_source_attachment.h",
     "media/media_source_registry.h",
+    "media/media_source_tracer.cc",
+    "media/media_source_tracer.h",
     "media/picture_in_picture_interstitial.cc",
     "media/picture_in_picture_interstitial.h",
     "media/remote_playback_controller.cc",
diff --git a/third_party/blink/renderer/core/html/event_handler.idl b/third_party/blink/renderer/core/html/event_handler.idl
index 0776298c..da7e5feb 100644
--- a/third_party/blink/renderer/core/html/event_handler.idl
+++ b/third_party/blink/renderer/core/html/event_handler.idl
@@ -7,5 +7,5 @@
 // This definition is different from standard in order to handle special types
 // (OnErrorEventHandler, OnBeforeUnloadEventHandler) in the same type with
 // regular EventHandler.
-[TreatNonObjectAsNull]
+[LegacyTreatNonObjectAsNull]
 callback EventHandlerNonNull = any (any... args);
diff --git a/third_party/blink/renderer/core/html/forms/base_button_input_type.cc b/third_party/blink/renderer/core/html/forms/base_button_input_type.cc
index d7fe030c..fface02 100644
--- a/third_party/blink/renderer/core/html/forms/base_button_input_type.cc
+++ b/third_party/blink/renderer/core/html/forms/base_button_input_type.cc
@@ -33,7 +33,6 @@
 
 #include "third_party/blink/renderer/core/dom/shadow_root.h"
 #include "third_party/blink/renderer/core/dom/text.h"
-#include "third_party/blink/renderer/core/frame/web_feature.h"
 #include "third_party/blink/renderer/core/html/forms/html_form_element.h"
 #include "third_party/blink/renderer/core/html/forms/html_input_element.h"
 #include "third_party/blink/renderer/core/html/parser/html_parser_idioms.h"
@@ -75,14 +74,6 @@
 
 void BaseButtonInputType::AppendToFormData(FormData&) const {}
 
-bool BaseButtonInputType::TypeShouldForceLegacyLayout() const {
-  if (RuntimeEnabledFeatures::LayoutNGForControlsEnabled())
-    return false;
-  UseCounter::Count(GetElement().GetDocument(),
-                    WebFeature::kLegacyLayoutByButton);
-  return true;
-}
-
 LayoutObject* BaseButtonInputType::CreateLayoutObject(
     const ComputedStyle& style,
     LegacyLayout legacy) const {
diff --git a/third_party/blink/renderer/core/html/forms/base_button_input_type.h b/third_party/blink/renderer/core/html/forms/base_button_input_type.h
index 9d3a970..c8b846763 100644
--- a/third_party/blink/renderer/core/html/forms/base_button_input_type.h
+++ b/third_party/blink/renderer/core/html/forms/base_button_input_type.h
@@ -52,7 +52,6 @@
   InputTypeView* CreateView() override;
   bool ShouldSaveAndRestoreFormControlState() const override;
   void AppendToFormData(FormData&) const override;
-  bool TypeShouldForceLegacyLayout() const override;
   LayoutObject* CreateLayoutObject(const ComputedStyle&,
                                    LegacyLayout) const override;
   ValueMode GetValueMode() const override;
diff --git a/third_party/blink/renderer/core/html/forms/date_time_chooser.h b/third_party/blink/renderer/core/html/forms/date_time_chooser.h
index 19416be..1ad3325 100644
--- a/third_party/blink/renderer/core/html/forms/date_time_chooser.h
+++ b/third_party/blink/renderer/core/html/forms/date_time_chooser.h
@@ -69,6 +69,7 @@
   bool has_ampm;
   bool has_second;
   bool has_millisecond;
+  int focused_field_index;
 
  private:
   // DateTimeSuggestionPtr is not copyable.
diff --git a/third_party/blink/renderer/core/html/forms/date_time_chooser_impl.cc b/third_party/blink/renderer/core/html/forms/date_time_chooser_impl.cc
index 2a5de5ac..2a335ab 100644
--- a/third_party/blink/renderer/core/html/forms/date_time_chooser_impl.cc
+++ b/third_party/blink/renderer/core/html/forms/date_time_chooser_impl.cc
@@ -159,6 +159,7 @@
       "currentValue",
       ValueToDateTimeString(parameters_->double_value, parameters_->type),
       data);
+  AddProperty("focusedFieldIndex", parameters_->focused_field_index, data);
   AddProperty("locale", parameters_->locale.GetString(), data);
   AddProperty("todayLabel", today_label_string, data);
   AddLocalizedProperty("clearLabel", IDS_FORM_CALENDAR_CLEAR, data);
diff --git a/third_party/blink/renderer/core/html/forms/date_time_edit_element.h b/third_party/blink/renderer/core/html/forms/date_time_edit_element.h
index 43e7ba9..87b6543f 100644
--- a/third_party/blink/renderer/core/html/forms/date_time_edit_element.h
+++ b/third_party/blink/renderer/core/html/forms/date_time_edit_element.h
@@ -112,6 +112,7 @@
   DateTimeFieldsState ValueAsDateTimeFieldsState() const;
   bool HasField(DateTimeField) const;
   bool IsFirstFieldAMPM() const;
+  wtf_size_t FocusedFieldIndex() const;
 
  private:
   static const wtf_size_t kInvalidFieldIndex = UINT_MAX;
@@ -130,7 +131,6 @@
   DateTimeFieldElement* FieldAt(wtf_size_t) const;
   wtf_size_t FieldIndexOf(const DateTimeFieldElement&) const;
   DateTimeFieldElement* FocusedField() const;
-  wtf_size_t FocusedFieldIndex() const;
   bool FocusOnNextFocusableField(wtf_size_t start_index);
   bool IsDisabled() const;
   bool IsReadOnly() const;
diff --git a/third_party/blink/renderer/core/html/forms/html_button_element.cc b/third_party/blink/renderer/core/html/forms/html_button_element.cc
index 23a340d..c0b6a74 100644
--- a/third_party/blink/renderer/core/html/forms/html_button_element.cc
+++ b/third_party/blink/renderer/core/html/forms/html_button_element.cc
@@ -46,13 +46,6 @@
   setAttribute(html_names::kTypeAttr, type);
 }
 
-bool HTMLButtonElement::TypeShouldForceLegacyLayout() const {
-  if (RuntimeEnabledFeatures::LayoutNGForControlsEnabled())
-    return false;
-  UseCounter::Count(GetDocument(), WebFeature::kLegacyLayoutByButton);
-  return true;
-}
-
 LayoutObject* HTMLButtonElement::CreateLayoutObject(const ComputedStyle& style,
                                                     LegacyLayout legacy) {
   // https://html.spec.whatwg.org/C/#button-layout
diff --git a/third_party/blink/renderer/core/html/forms/html_button_element.h b/third_party/blink/renderer/core/html/forms/html_button_element.h
index 7dae885..c5102048 100644
--- a/third_party/blink/renderer/core/html/forms/html_button_element.h
+++ b/third_party/blink/renderer/core/html/forms/html_button_element.h
@@ -60,7 +60,6 @@
 
   bool IsEnumeratable() const override { return true; }
   bool IsLabelable() const override { return true; }
-  bool TypeShouldForceLegacyLayout() const final;
   bool IsInteractiveContent() const override;
   bool MatchesDefaultPseudoClass() const override;
 
diff --git a/third_party/blink/renderer/core/html/forms/html_input_element.cc b/third_party/blink/renderer/core/html/forms/html_input_element.cc
index 644555c..7294fb58 100644
--- a/third_party/blink/renderer/core/html/forms/html_input_element.cc
+++ b/third_party/blink/renderer/core/html/forms/html_input_element.cc
@@ -1931,6 +1931,7 @@
   parameters.anchor_rect_in_screen =
       GetDocument().View()->FrameToScreen(PixelSnappedBoundingBox());
   parameters.double_value = input_type_->ValueAsDouble();
+  parameters.focused_field_index = input_type_view_->FocusedFieldIndex();
   parameters.is_anchor_element_rtl =
       input_type_view_->ComputedTextDirection() == TextDirection::kRtl;
   if (HTMLDataListElement* data_list = DataList()) {
diff --git a/third_party/blink/renderer/core/html/forms/input_type_view.h b/third_party/blink/renderer/core/html/forms/input_type_view.h
index 577f005..c6815772 100644
--- a/third_party/blink/renderer/core/html/forms/input_type_view.h
+++ b/third_party/blink/renderer/core/html/forms/input_type_view.h
@@ -146,6 +146,7 @@
   virtual bool HasBadInput() const;
 
   virtual String RawValue() const;
+  virtual wtf_size_t FocusedFieldIndex() const { return 0; }
 
  protected:
   InputTypeView(HTMLInputElement& element) : element_(&element) {}
diff --git a/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc b/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc
index 0e846d1..9feb7d5 100644
--- a/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc
+++ b/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc
@@ -707,4 +707,8 @@
   return GetDateTimeEditElement()->innerText();
 }
 
+wtf_size_t MultipleFieldsTemporalInputTypeView::FocusedFieldIndex() const {
+  return GetDateTimeEditElement()->FocusedFieldIndex();
+}
+
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.h b/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.h
index 35d348d4..b4d3f1f 100644
--- a/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.h
+++ b/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.h
@@ -58,6 +58,8 @@
 
   String RawValue() const override;
 
+  wtf_size_t FocusedFieldIndex() const override;
+
  private:
   // DateTimeEditElement::EditControlOwner functions
   void DidBlurFromControl(mojom::blink::FocusType) final;
diff --git a/third_party/blink/renderer/core/html/forms/resources/datetimelocal_picker.js b/third_party/blink/renderer/core/html/forms/resources/datetimelocal_picker.js
index 8508dbe4..6ebf0e3 100644
--- a/third_party/blink/renderer/core/html/forms/resources/datetimelocal_picker.js
+++ b/third_party/blink/renderer/core/html/forms/resources/datetimelocal_picker.js
@@ -36,6 +36,7 @@
     this.hadValidValueWhenOpened_ =
         (config.currentValue !== '') && (this.datePicker_.selection() != null);
     this.initialSelectedValue_ = this.selectedValue;
+    this.initialFocusedFieldIndex_ = config.focusedFieldIndex || 0;
 
     this.addEventListener('keydown', this.onKeyDown_);
     this.addEventListener('click', this.onClick_);
@@ -103,7 +104,14 @@
   };
 
   onWindowResize_ = (event) => {
-    this.datePicker_.calendarTableView.element.focus();
+    // Check if we should focus on time field by subtracting 3 (month, day, and
+    // year) from index
+    let timeFocusFieldIndex = this.initialFocusedFieldIndex_ - 3;
+    if (timeFocusFieldIndex < 0 ||
+        !this.timePicker_.focusOnFieldIndex(timeFocusFieldIndex)) {
+      // Default to focus on date
+      this.datePicker_.calendarTableView.element.focus();
+    }
   };
 
   // This will be false if neither the initial value of the
diff --git a/third_party/blink/renderer/core/html/forms/resources/time_picker.js b/third_party/blink/renderer/core/html/forms/resources/time_picker.js
index 6228083..b656fdb61 100644
--- a/third_party/blink/renderer/core/html/forms/resources/time_picker.js
+++ b/third_party/blink/renderer/core/html/forms/resources/time_picker.js
@@ -240,11 +240,22 @@
     this.hasSecond_ = config.hasSecond;
     this.hasMillisecond_ = config.hasMillisecond;
     this.hasAMPM_ = config.hasAMPM;
+    this.initialFocusedFieldIndex_ = config.focusedFieldIndex || 0;
   };
 
   onWindowResize_ = (event) => {
     this.timeColumns_.scrollColumnsToSelectedCells();
-    this.timeColumns_.firstChild.focus();
+    if (!this.focusOnFieldIndex(this.initialFocusedFieldIndex_))
+      this.timeColumns_.firstChild.focus();
+  };
+
+  /** Focus on given index if valid. Return true if so. */
+  focusOnFieldIndex = (index) => {
+    if (index >= 0 && index < this.timeColumns_.children.length) {
+      this.timeColumns_.children[index].focus();
+      return true;
+    }
+    return false
   };
 
   onKeyDown_ = (event) => {
diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc
index c090f12..7a41652 100644
--- a/third_party/blink/renderer/core/html/html_element.cc
+++ b/third_party/blink/renderer/core/html/html_element.cc
@@ -1596,6 +1596,7 @@
         "ElementInternals for the specified element was already attached.");
     return nullptr;
   }
+  UseCounter::Count(GetDocument(), WebFeature::kElementAttachInternals);
   SetDidAttachInternals();
   return &EnsureElementInternals();
 }
diff --git a/third_party/blink/renderer/core/html/html_frame_owner_element.cc b/third_party/blink/renderer/core/html/html_frame_owner_element.cc
index 706fb4e1..a2945d9 100644
--- a/third_party/blink/renderer/core/html/html_frame_owner_element.cc
+++ b/third_party/blink/renderer/core/html/html_frame_owner_element.cc
@@ -503,6 +503,7 @@
     const KURL& url,
     const AtomicString& frame_name,
     bool replace_current_item) {
+  TRACE_EVENT0("navigation", "HTMLFrameOwnerElement::LoadOrRedirectSubframe");
   // Update the |should_lazy_load_children_| value according to the "loading"
   // attribute immediately, so that it still gets respected even if the "src"
   // attribute gets parsed in ParseAttribute() before the "loading" attribute
diff --git a/third_party/blink/renderer/core/html/html_slot_element.cc b/third_party/blink/renderer/core/html/html_slot_element.cc
index d5231b5..c0794b6 100644
--- a/third_party/blink/renderer/core/html/html_slot_element.cc
+++ b/third_party/blink/renderer/core/html/html_slot_element.cc
@@ -196,6 +196,7 @@
   if (!CheckNodesValidity(nodes, exception_state))
     return;
 
+  UseCounter::Count(GetDocument(), WebFeature::kSlotAssignNode);
   ContainingShadowRoot()->GetSlotAssignment().ClearCandidateNodes(
       assigned_nodes_candidates_);
   HeapLinkedHashSet<Member<Node>> candidates;
diff --git a/third_party/blink/renderer/core/html/lazy_load_frame_observer.cc b/third_party/blink/renderer/core/html/lazy_load_frame_observer.cc
index e3c383ef..48ed79d 100644
--- a/third_party/blink/renderer/core/html/lazy_load_frame_observer.cc
+++ b/third_party/blink/renderer/core/html/lazy_load_frame_observer.cc
@@ -159,6 +159,7 @@
 void LazyLoadFrameObserver::LoadImmediately() {
   CHECK(IsLazyLoadPending());
   CHECK(lazy_load_request_info_);
+  TRACE_EVENT0("navigation", "LazyLoadFrameObserver::LoadImmediately");
 
   if (was_recorded_as_deferred_) {
     DCHECK(element_->GetDocument().GetFrame());
diff --git a/third_party/blink/renderer/core/html/link_web_bundle.cc b/third_party/blink/renderer/core/html/link_web_bundle.cc
index b29d526d..5b093c43 100644
--- a/third_party/blink/renderer/core/html/link_web_bundle.cc
+++ b/third_party/blink/renderer/core/html/link_web_bundle.cc
@@ -5,10 +5,12 @@
 #include "third_party/blink/renderer/core/html/link_web_bundle.h"
 
 #include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
+#include "third_party/blink/public/mojom/web_feature/web_feature.mojom-blink.h"
 #include "third_party/blink/renderer/core/html/html_link_element.h"
 #include "third_party/blink/renderer/core/inspector/console_message.h"
 #include "third_party/blink/renderer/core/loader/threadable_loader.h"
 #include "third_party/blink/renderer/core/loader/threadable_loader_client.h"
+#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
 #include "third_party/blink/renderer/platform/loader/cors/cors.h"
 #include "third_party/blink/renderer/platform/loader/fetch/bytes_consumer.h"
 #include "third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h"
@@ -113,7 +115,10 @@
   KURL url_;
 };
 
-LinkWebBundle::LinkWebBundle(HTMLLinkElement* owner) : LinkResource(owner) {}
+LinkWebBundle::LinkWebBundle(HTMLLinkElement* owner) : LinkResource(owner) {
+  UseCounter::Count(owner_->GetDocument().GetExecutionContext(),
+                    WebFeature::kSubresourceWebBundles);
+}
 LinkWebBundle::~LinkWebBundle() = default;
 
 void LinkWebBundle::Trace(Visitor* visitor) const {
diff --git a/third_party/blink/renderer/core/html/media/html_media_element.cc b/third_party/blink/renderer/core/html/media/html_media_element.cc
index 92774775..b46f0999 100644
--- a/third_party/blink/renderer/core/html/media/html_media_element.cc
+++ b/third_party/blink/renderer/core/html/media/html_media_element.cc
@@ -76,6 +76,7 @@
 #include "third_party/blink/renderer/core/html/media/media_fragment_uri_parser.h"
 #include "third_party/blink/renderer/core/html/media/media_source.h"
 #include "third_party/blink/renderer/core/html/media/media_source_attachment.h"
+#include "third_party/blink/renderer/core/html/media/media_source_tracer.h"
 #include "third_party/blink/renderer/core/html/time_ranges.h"
 #include "third_party/blink/renderer/core/html/track/audio_track.h"
 #include "third_party/blink/renderer/core/html/track/audio_track_list.h"
@@ -1196,12 +1197,14 @@
   SetPlayerPreload();
 
   DCHECK(!media_source_);
+  DCHECK(!media_source_tracer_);
 
   bool attempt_load = true;
 
   media_source_ = MediaSourceAttachment::LookupMediaSource(url.GetString());
   if (media_source_) {
-    if (media_source_->StartAttachingToMediaElement(this)) {
+    media_source_tracer_ = media_source_->StartAttachingToMediaElement(this);
+    if (media_source_tracer_) {
       // If the associated feature is enabled, auto-revoke the MediaSource
       // object URL that was used for attachment on successful (start of)
       // attachment. This can help reduce memory bloat later if the app does not
@@ -2633,6 +2636,7 @@
 
   media_source_->Close();
   media_source_ = nullptr;
+  media_source_tracer_ = nullptr;
 }
 
 bool HTMLMediaElement::Loop() const {
@@ -4057,6 +4061,7 @@
   visitor->Trace(current_source_node_);
   visitor->Trace(next_child_node_to_consider_);
   visitor->Trace(media_source_);
+  visitor->Trace(media_source_tracer_);
   visitor->Trace(audio_tracks_);
   visitor->Trace(video_tracks_);
   visitor->Trace(cue_timeline_);
diff --git a/third_party/blink/renderer/core/html/media/html_media_element.h b/third_party/blink/renderer/core/html/media/html_media_element.h
index 69ca38d..882147b 100644
--- a/third_party/blink/renderer/core/html/media/html_media_element.h
+++ b/third_party/blink/renderer/core/html/media/html_media_element.h
@@ -66,6 +66,7 @@
 class ExceptionState;
 class HTMLMediaElementControlsList;
 class MediaSource;
+class MediaSourceTracer;
 class HTMLSourceElement;
 class HTMLTrackElement;
 class MediaError;
@@ -631,6 +632,7 @@
   cc::Layer* cc_layer_;
 
   Member<MediaSource> media_source_;
+  Member<MediaSourceTracer> media_source_tracer_;
 
   // Stores "official playback position", updated periodically from "current
   // playback position". Official playback position should not change while
diff --git a/third_party/blink/renderer/core/html/media/media_source.h b/third_party/blink/renderer/core/html/media/media_source.h
index bc8baec..5e5665e9 100644
--- a/third_party/blink/renderer/core/html/media/media_source.h
+++ b/third_party/blink/renderer/core/html/media/media_source.h
@@ -34,6 +34,7 @@
 #include <memory>
 #include "third_party/blink/public/platform/web_time_range.h"
 #include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/core/html/media/media_source_tracer.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
 #include "third_party/blink/renderer/platform/wtf/forward.h"
 
@@ -61,9 +62,11 @@
   // attempting to attach to this object.  The WebMediaSource is not available
   // to the element initially, so between the two calls, the attachment could be
   // considered partially setup.
-  // If already attached, StartAttachingToMediaElement() returns false.
-  // Otherwise, must be in 'closed' state, and returns true to indicate
-  // attachment success.
+  // If already attached, StartAttachingToMediaElement() returns nullptr.
+  // Otherwise, must be in 'closed' state, and indicates success by returning a
+  // tracer object useful in at least same-thread attachments for enabling
+  // automatic idle unreferenced same-thread attachment object garbage
+  // collection.
   // CompleteAttachingToMediaElement() provides the MediaSource with the
   // underlying WebMediaSource, enabling parsing of media provided by the
   // application for playback, for example.
@@ -71,7 +74,8 @@
   // 'closed').
   // Once attached, the source uses the element to synchronously service some
   // API operations like duration change that may need to initiate seek.
-  virtual bool StartAttachingToMediaElement(HTMLMediaElement*) = 0;
+  virtual MediaSourceTracer* StartAttachingToMediaElement(
+      HTMLMediaElement*) = 0;
   virtual void CompleteAttachingToMediaElement(
       std::unique_ptr<WebMediaSource>) = 0;
 
diff --git a/third_party/blink/renderer/core/html/media/media_source_tracer.cc b/third_party/blink/renderer/core/html/media/media_source_tracer.cc
new file mode 100644
index 0000000..36776468
--- /dev/null
+++ b/third_party/blink/renderer/core/html/media/media_source_tracer.cc
@@ -0,0 +1,11 @@
+// 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/core/html/media/media_source_tracer.h"
+
+namespace blink {
+
+void MediaSourceTracer::Trace(Visitor* visitor) const {}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/core/html/media/media_source_tracer.h b/third_party/blink/renderer/core/html/media/media_source_tracer.h
new file mode 100644
index 0000000..cb0c7cac
--- /dev/null
+++ b/third_party/blink/renderer/core/html/media/media_source_tracer.h
@@ -0,0 +1,26 @@
+// 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_CORE_HTML_MEDIA_MEDIA_SOURCE_TRACER_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_MEDIA_MEDIA_SOURCE_TRACER_H_
+
+#include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/platform/heap/handle.h"
+
+namespace blink {
+
+// Interface that encapsulates the Oilpan tracing of either same-thread or
+// cross-thread attachment of an HTMLMediaElement and MediaSource, necessary
+// since MediaSourceAttachments themselves are not managed by Oilpan. See
+// concrete implementation(s) in modules/mediasource.
+class CORE_EXPORT MediaSourceTracer
+    : public GarbageCollected<MediaSourceTracer> {
+ public:
+  virtual ~MediaSourceTracer() = default;
+  virtual void Trace(Visitor*) const;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_HTML_MEDIA_MEDIA_SOURCE_TRACER_H_
diff --git a/third_party/blink/renderer/core/input/input_device_capabilities.idl b/third_party/blink/renderer/core/input/input_device_capabilities.idl
index e7f2fb4e..19f7868 100644
--- a/third_party/blink/renderer/core/input/input_device_capabilities.idl
+++ b/third_party/blink/renderer/core/input/input_device_capabilities.idl
@@ -19,5 +19,5 @@
     // Whether this device dispatches touch events for movement.  This is used to detect
     // mouse events which represent only an action that has already been handled  by
     // touch event handlers.
-    [Measure] readonly attribute boolean firesTouchEvents;
+    [HighEntropy=Direct, Measure] readonly attribute boolean firesTouchEvents;
 };
diff --git a/third_party/blink/renderer/core/layout/layout_box_test.cc b/third_party/blink/renderer/core/layout/layout_box_test.cc
index 812e90e..933c80b 100644
--- a/third_party/blink/renderer/core/layout/layout_box_test.cc
+++ b/third_party/blink/renderer/core/layout/layout_box_test.cc
@@ -571,10 +571,6 @@
 }
 
 TEST_P(LayoutBoxTest, MarkerContainerLayoutOverflowRect) {
-  // TODO(crbug.com/878025): The test fails in LayoutNG mode.
-  if (RuntimeEnabledFeatures::LayoutNGEnabled())
-    return;
-
   SetBodyInnerHTML(R"HTML(
     <style>
       html { font-size: 16px; }
@@ -586,9 +582,16 @@
 
   LayoutBox* marker_container =
       ToLayoutBox(GetLayoutObjectByElementId("target")->SlowFirstChild());
-  // Unit marker_container's frame_rect which y-pos starts from 0 and marker's
-  // frame_rect.
-  EXPECT_TRUE(marker_container->LayoutOverflowRect().Height() > LayoutUnit(50));
+  if (RuntimeEnabledFeatures::LayoutNGEnabled()) {
+    EXPECT_GE(marker_container->Location().Y() +
+                  marker_container->LayoutOverflowRect().MaxY(),
+              LayoutUnit(50));
+  } else {
+    // Unit marker_container's frame_rect which y-pos starts from 0 and marker's
+    // frame_rect in Legacy.
+    EXPECT_EQ(LayoutPoint(), marker_container->Location());
+    EXPECT_GE(marker_container->LayoutOverflowRect().MaxY(), LayoutUnit(50));
+  }
 }
 
 static String CommonStyleForGeometryWithScrollbarTests() {
diff --git a/third_party/blink/renderer/core/layout/layout_table_cell.cc b/third_party/blink/renderer/core/layout/layout_table_cell.cc
index 9b765f4..1a5cda2 100644
--- a/third_party/blink/renderer/core/layout/layout_table_cell.cc
+++ b/third_party/blink/renderer/core/layout/layout_table_cell.cc
@@ -436,10 +436,27 @@
   return BorderBefore() + PaddingBefore() + ContentLogicalHeight();
 }
 
+// Legacy code does not support orthogonal table cells, and must match
+// row's writing mode.
+void LayoutTableCell::UpdateStyleWritingModeFromRow(const LayoutObject* row) {
+  DCHECK_NE(StyleRef().GetWritingMode(), row->StyleRef().GetWritingMode());
+  scoped_refptr<ComputedStyle> new_style = ComputedStyle::Clone(StyleRef());
+  new_style->SetWritingMode(row->StyleRef().GetWritingMode());
+  new_style->UpdateFontOrientation();
+  SetModifiedStyleOutsideStyleRecalc(new_style,
+                                     LayoutObject::ApplyStyleChanges::kNo);
+  SetHorizontalWritingMode(StyleRef().IsHorizontalWritingMode());
+}
+
 void LayoutTableCell::StyleDidChange(StyleDifference diff,
                                      const ComputedStyle* old_style) {
   DCHECK_EQ(StyleRef().Display(), EDisplay::kTableCell);
 
+  if (Parent() &&
+      StyleRef().GetWritingMode() != Parent()->StyleRef().GetWritingMode()) {
+    UpdateStyleWritingModeFromRow(Parent());
+  }
+
   LayoutBlockFlow::StyleDidChange(diff, old_style);
   SetHasBoxDecorationBackground(true);
 
diff --git a/third_party/blink/renderer/core/layout/layout_table_cell.h b/third_party/blink/renderer/core/layout/layout_table_cell.h
index 9a5454b5..5ede499 100644
--- a/third_party/blink/renderer/core/layout/layout_table_cell.h
+++ b/third_party/blink/renderer/core/layout/layout_table_cell.h
@@ -363,6 +363,8 @@
 
   MinMaxSizes PreferredLogicalWidths() const override;
 
+  void UpdateStyleWritingModeFromRow(const LayoutObject* row);
+
  protected:
   void StyleDidChange(StyleDifference, const ComputedStyle* old_style) override;
 
diff --git a/third_party/blink/renderer/core/layout/layout_table_row.cc b/third_party/blink/renderer/core/layout/layout_table_row.cc
index ee5b90cc..f28fadc 100644
--- a/third_party/blink/renderer/core/layout/layout_table_row.cc
+++ b/third_party/blink/renderer/core/layout/layout_table_row.cc
@@ -64,6 +64,14 @@
                                     const ComputedStyle* old_style) {
   DCHECK_EQ(StyleRef().Display(), EDisplay::kTableRow);
 
+  // Legacy tables cannont handle relative/fixed rows.
+  if (StyleRef().HasInFlowPosition()) {
+    scoped_refptr<ComputedStyle> new_style = ComputedStyle::Clone(StyleRef());
+    new_style->SetPosition(EPosition::kStatic);
+    SetModifiedStyleOutsideStyleRecalc(new_style,
+                                       LayoutObject::ApplyStyleChanges::kNo);
+  }
+
   LayoutTableBoxComponent::StyleDidChange(diff, old_style);
   PropagateStyleToAnonymousChildren();
 
@@ -180,6 +188,12 @@
 
   LayoutTableCell* cell = To<LayoutTableCell>(child);
 
+  // In Legacy tables, cell writing mode must match row writing mode.
+  // This adjustment is performed here because is LayoutObject type is
+  // unknown in style_adjuster.cc::AdjustStyleForDisplay
+  if (cell->StyleRef().GetWritingMode() != StyleRef().GetWritingMode()) {
+    cell->UpdateStyleWritingModeFromRow(this);
+  }
   DCHECK(!before_child || before_child->IsTableCell());
   LayoutTableBoxComponent::AddChild(cell, before_child);
 
diff --git a/third_party/blink/renderer/core/layout/layout_table_section.cc b/third_party/blink/renderer/core/layout/layout_table_section.cc
index 9ad149a..ce372763 100644
--- a/third_party/blink/renderer/core/layout/layout_table_section.cc
+++ b/third_party/blink/renderer/core/layout/layout_table_section.cc
@@ -111,6 +111,14 @@
          StyleRef().Display() == EDisplay::kTableRowGroup ||
          StyleRef().Display() == EDisplay::kTableHeaderGroup);
 
+  // Legacy tables cannot handle relative/sticky sections.
+  if (StyleRef().HasInFlowPosition()) {
+    scoped_refptr<ComputedStyle> new_style = ComputedStyle::Clone(StyleRef());
+    new_style->SetPosition(EPosition::kStatic);
+    SetModifiedStyleOutsideStyleRecalc(new_style,
+                                       LayoutObject::ApplyStyleChanges::kNo);
+  }
+
   LayoutTableBoxComponent::StyleDidChange(diff, old_style);
   PropagateStyleToAnonymousChildren();
 
diff --git a/third_party/blink/renderer/core/layout/layout_theme.cc b/third_party/blink/renderer/core/layout/layout_theme.cc
index fbdb9dc..2a3d412 100644
--- a/third_party/blink/renderer/core/layout/layout_theme.cc
+++ b/third_party/blink/renderer/core/layout/layout_theme.cc
@@ -50,7 +50,6 @@
 #include "third_party/blink/renderer/core/layout/layout_theme_mobile.h"
 #include "third_party/blink/renderer/core/page/focus_controller.h"
 #include "third_party/blink/renderer/core/page/page.h"
-#include "third_party/blink/renderer/core/paint/fallback_theme.h"
 #include "third_party/blink/renderer/core/style/computed_style.h"
 #include "third_party/blink/renderer/core/style/computed_style_initial_values.h"
 #include "third_party/blink/renderer/platform/file_metadata.h"
@@ -263,11 +262,6 @@
   if (part == kNoControlPart)
     return;
 
-  if (ShouldUseFallbackTheme(style)) {
-    AdjustStyleUsingFallbackTheme(style);
-    return;
-  }
-
   AdjustControlPartStyle(style);
 
   // Call the appropriate style adjustment method based off the appearance
@@ -782,105 +776,6 @@
          type == input_type_names::kMonth || type == input_type_names::kWeek;
 }
 
-bool LayoutTheme::ShouldUseFallbackTheme(const ComputedStyle&) const {
-  return false;
-}
-
-void LayoutTheme::AdjustStyleUsingFallbackTheme(ComputedStyle& style) {
-  ControlPart part = style.EffectiveAppearance();
-  switch (part) {
-    case kCheckboxPart:
-      return AdjustCheckboxStyleUsingFallbackTheme(style);
-    case kRadioPart:
-      return AdjustRadioStyleUsingFallbackTheme(style);
-    default:
-      break;
-  }
-}
-
-// static
-void LayoutTheme::SetSizeIfAuto(ComputedStyle& style, const IntSize& size) {
-  if (style.Width().IsIntrinsicOrAuto())
-    style.SetWidth(Length::Fixed(size.Width()));
-  if (style.Height().IsIntrinsicOrAuto())
-    style.SetHeight(Length::Fixed(size.Height()));
-}
-
-// static
-void LayoutTheme::SetMinimumSize(ComputedStyle& style,
-                                 const LengthSize* part_size,
-                                 const LengthSize* min_part_size) {
-  DCHECK(part_size || min_part_size);
-  // We only want to set a minimum size if no explicit size is specified, to
-  // avoid overriding author intentions.
-  if (part_size && style.MinWidth().IsIntrinsicOrAuto() &&
-      style.Width().IsIntrinsicOrAuto())
-    style.SetMinWidth(part_size->Width());
-  else if (min_part_size && min_part_size->Width() != style.MinWidth())
-    style.SetMinWidth(min_part_size->Width());
-  if (part_size && style.MinHeight().IsIntrinsicOrAuto() &&
-      style.Height().IsIntrinsicOrAuto())
-    style.SetMinHeight(part_size->Height());
-  else if (min_part_size && min_part_size->Height() != style.MinHeight())
-    style.SetMinHeight(min_part_size->Height());
-}
-
-// static
-void LayoutTheme::SetMinimumSizeIfAuto(ComputedStyle& style,
-                                       const IntSize& size) {
-  LengthSize length_size(Length::Fixed(size.Width()),
-                         Length::Fixed(size.Height()));
-  SetMinimumSize(style, &length_size);
-}
-
-void LayoutTheme::AdjustCheckboxStyleUsingFallbackTheme(
-    ComputedStyle& style) const {
-  // If the width and height are both specified, then we have nothing to do.
-  if (!style.Width().IsIntrinsicOrAuto() && !style.Height().IsAuto())
-    return;
-
-  IntSize size(GetFallbackTheme().GetPartSize(ui::NativeTheme::kCheckbox,
-                                              ui::NativeTheme::kNormal,
-                                              ui::NativeTheme::ExtraParams()));
-  float zoom_level = style.EffectiveZoom();
-  size.SetWidth(size.Width() * zoom_level);
-  size.SetHeight(size.Height() * zoom_level);
-  SetMinimumSizeIfAuto(style, size);
-  SetSizeIfAuto(style, size);
-
-  // padding - not honored by WinIE, needs to be removed.
-  style.ResetPadding();
-
-  // border - honored by WinIE, but looks terrible (just paints in the control
-  // box and turns off the Windows XP theme)
-  // for now, we will not honor it.
-  style.ResetBorder();
-}
-
-void LayoutTheme::AdjustRadioStyleUsingFallbackTheme(
-    ComputedStyle& style) const {
-  // If the width and height are both specified, then we have nothing to do.
-  if (!style.Width().IsIntrinsicOrAuto() && !style.Height().IsAuto())
-    return;
-
-  IntSize size(GetFallbackTheme().GetPartSize(ui::NativeTheme::kRadio,
-                                              ui::NativeTheme::kNormal,
-                                              ui::NativeTheme::ExtraParams()));
-  float zoom_level = style.EffectiveZoom();
-  size.SetWidth(size.Width() * zoom_level);
-  size.SetHeight(size.Height() * zoom_level);
-  SetMinimumSizeIfAuto(style, size);
-  SetSizeIfAuto(style, size);
-
-  // padding - not honored by WinIE, needs to be removed.
-  style.ResetPadding();
-
-  // border - honored by WinIE, but looks terrible (just paints in the control
-  // box and turns off the Windows XP theme)
-  // for now, we will not honor it.
-  style.ResetBorder();
-}
-
 void LayoutTheme::AdjustControlPartStyle(ComputedStyle& style) {
   // Call the appropriate style adjustment method based off the appearance
   // value.
diff --git a/third_party/blink/renderer/core/layout/layout_theme.h b/third_party/blink/renderer/core/layout/layout_theme.h
index 11e4655..42e610a 100644
--- a/third_party/blink/renderer/core/layout/layout_theme.h
+++ b/third_party/blink/renderer/core/layout/layout_theme.h
@@ -45,7 +45,6 @@
 class Element;
 class File;
 class FontDescription;
-class LengthSize;
 class LocalFrame;
 class Node;
 class ThemePainter;
@@ -63,17 +62,6 @@
 
   virtual ThemePainter& Painter() = 0;
 
-  static void SetSizeIfAuto(ComputedStyle&, const IntSize&);
-  // Sets the minimum size to |part_size| or |min_part_size| as appropriate
-  // according to the given style, if they are specified.
-  static void SetMinimumSize(ComputedStyle&,
-                             const LengthSize* part_size,
-                             const LengthSize* min_part_size = nullptr);
-  // SetMinimumSizeIfAuto must be called before SetSizeIfAuto, because we
-  // will not set a minimum size if an explicit size is set, and SetSizeIfAuto
-  // sets an explicit size.
-  static void SetMinimumSizeIfAuto(ComputedStyle&, const IntSize&);
-
   // This method is called whenever style has been computed for an element and
   // the appearance property has been set to a value other than "none".
   // The theme should map in all of the appropriate metrics and defaults given
@@ -202,8 +190,6 @@
 
   virtual bool SupportsSelectionForegroundColors() const { return true; }
 
-  virtual bool ShouldUseFallbackTheme(const ComputedStyle&) const;
-
   // Adjust style as per platform selection.
   virtual void AdjustControlPartStyle(ComputedStyle&);
 
@@ -243,9 +229,6 @@
   virtual void AdjustSliderThumbStyle(ComputedStyle&) const;
   virtual void AdjustSearchFieldStyle(ComputedStyle&) const;
   virtual void AdjustSearchFieldCancelButtonStyle(ComputedStyle&) const;
-  void AdjustStyleUsingFallbackTheme(ComputedStyle&);
-  void AdjustCheckboxStyleUsingFallbackTheme(ComputedStyle&) const;
-  void AdjustRadioStyleUsingFallbackTheme(ComputedStyle&) const;
 
  public:
   // Methods for state querying
diff --git a/third_party/blink/renderer/core/layout/layout_theme_default.cc b/third_party/blink/renderer/core/layout/layout_theme_default.cc
index c099b3b..5557e74 100644
--- a/third_party/blink/renderer/core/layout/layout_theme_default.cc
+++ b/third_party/blink/renderer/core/layout/layout_theme_default.cc
@@ -197,6 +197,27 @@
   PlatformColorsDidChange();
 }
 
+namespace {
+
+void SetSizeIfAuto(const IntSize& size, ComputedStyle& style) {
+  if (style.Width().IsIntrinsicOrAuto())
+    style.SetWidth(Length::Fixed(size.Width()));
+  if (style.Height().IsIntrinsicOrAuto())
+    style.SetHeight(Length::Fixed(size.Height()));
+}
+
+void SetMinimumSizeIfAuto(const IntSize& size, ComputedStyle& style) {
+  // We only want to set a minimum size if no explicit size is specified, to
+  // avoid overriding author intentions.
+  if (style.MinWidth().IsIntrinsicOrAuto() && style.Width().IsIntrinsicOrAuto())
+    style.SetMinWidth(Length::Fixed(size.Width()));
+  if (style.MinHeight().IsIntrinsicOrAuto() &&
+      style.Height().IsIntrinsicOrAuto())
+    style.SetMinHeight(Length::Fixed(size.Height()));
+}
+
+}  // namespace
+
 void LayoutThemeDefault::SetCheckboxSize(ComputedStyle& style) const {
   // If the width and height are both specified, then we have nothing to do.
   if (!style.Width().IsIntrinsicOrAuto() && !style.Height().IsAuto())
@@ -207,8 +228,8 @@
   float zoom_level = style.EffectiveZoom();
   size.SetWidth(size.Width() * zoom_level);
   size.SetHeight(size.Height() * zoom_level);
-  SetMinimumSizeIfAuto(style, size);
-  SetSizeIfAuto(style, size);
+  SetMinimumSizeIfAuto(size, style);
+  SetSizeIfAuto(size, style);
 }
 
 void LayoutThemeDefault::SetRadioSize(ComputedStyle& style) const {
@@ -221,8 +242,8 @@
   float zoom_level = style.EffectiveZoom();
   size.SetWidth(size.Width() * zoom_level);
   size.SetHeight(size.Height() * zoom_level);
-  SetMinimumSizeIfAuto(style, size);
-  SetSizeIfAuto(style, size);
+  SetMinimumSizeIfAuto(size, style);
+  SetSizeIfAuto(size, style);
 }
 
 void LayoutThemeDefault::AdjustInnerSpinButtonStyle(
diff --git a/third_party/blink/renderer/core/layout/layout_theme_mobile.cc b/third_party/blink/renderer/core/layout/layout_theme_mobile.cc
index e826377c..11d492c 100644
--- a/third_party/blink/renderer/core/layout/layout_theme_mobile.cc
+++ b/third_party/blink/renderer/core/layout/layout_theme_mobile.cc
@@ -65,15 +65,4 @@
   }
 }
 
-bool LayoutThemeMobile::ShouldUseFallbackTheme(
-    const ComputedStyle& style) const {
-#if defined(OS_MAC)
-  // Mac WebThemeEngine cannot handle these controls.
-  ControlPart part = style.EffectiveAppearance();
-  if (part == kCheckboxPart || part == kRadioPart)
-    return true;
-#endif
-  return LayoutThemeDefault::ShouldUseFallbackTheme(style);
-}
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/layout/layout_theme_mobile.h b/third_party/blink/renderer/core/layout/layout_theme_mobile.h
index 82bee8c..fff760b 100644
--- a/third_party/blink/renderer/core/layout/layout_theme_mobile.h
+++ b/third_party/blink/renderer/core/layout/layout_theme_mobile.h
@@ -50,7 +50,6 @@
 
  protected:
   ~LayoutThemeMobile() override;
-  bool ShouldUseFallbackTheme(const ComputedStyle&) const override;
 
  private:
   static const RGBA32 kDefaultTapHighlightColor = 0x6633b5e5;
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc
index 52c3a93..3e238f9 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc
@@ -517,6 +517,25 @@
   EXPECT_EQ(170, sizes.max_size);
 }
 
+// For http://crbug.com/1116713
+TEST_F(NGInlineNodeTest, MinMaxSizesNeedsLayout) {
+  LoadAhem();
+  SetupHtml("t",
+            "<style>#t { width: 2ch; }</style>"
+            "<div id=t> a <b>b</b></div>");
+
+  auto& text = To<Text>(*GetElementById("t")->firstChild());
+  LayoutText& layout_text = *text.GetLayoutObject();
+  EXPECT_FALSE(layout_text.NeedsLayout());
+
+  text.replaceData(0, 1, u"X", ASSERT_NO_EXCEPTION);
+  EXPECT_TRUE(layout_text.NeedsLayout());
+
+  NGInlineNodeForTest node = CreateInlineNode();
+  ComputeMinMaxSizes(node);
+  EXPECT_TRUE(layout_text.NeedsLayout());
+}
+
 TEST_F(NGInlineNodeTest, AssociatedItemsWithControlItem) {
   SetBodyInnerHTML(
       "<pre id=t style='-webkit-rtl-ordering:visual'>ab\nde</pre>");
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
index ae2c8e24..568bec8 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
@@ -146,14 +146,16 @@
   item_result->hyphen_shape_result = shaper.Shape(&style.GetFont(), direction);
 }
 
-inline void ClearNeedsLayout(const NGInlineItem& item) {
+}  // namespace
+
+inline void NGLineBreaker::ClearNeedsLayout(const NGInlineItem& item) {
+  if (mode_ != NGLineBreakerMode::kContent)
+    return;
   LayoutObject* layout_object = item.GetLayoutObject();
   if (layout_object->NeedsLayout())
     layout_object->ClearNeedsLayout();
 }
 
-}  // namespace
-
 LayoutUnit NGLineBreaker::ComputeAvailableWidth() const {
   LayoutUnit available_width = line_opportunity_.AvailableInlineSize();
   // Available width must be smaller than |LayoutUnit::Max()| so that the
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h
index cfd02a30..a9e40ebc 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h
@@ -212,6 +212,8 @@
   bool CanFitOnLine() const { return position_ <= AvailableWidthToFit(); }
   LayoutUnit ComputeAvailableWidth() const;
 
+  void ClearNeedsLayout(const NGInlineItem& item);
+
   // Represents the current offset of the input.
   LineBreakState state_;
   unsigned item_index_ = 0;
diff --git a/third_party/blink/renderer/core/layout/scroll_anchor.cc b/third_party/blink/renderer/core/layout/scroll_anchor.cc
index ad15ffa..2b02e609 100644
--- a/third_party/blink/renderer/core/layout/scroll_anchor.cc
+++ b/third_party/blink/renderer/core/layout/scroll_anchor.cc
@@ -11,6 +11,7 @@
 #include "third_party/blink/renderer/core/dom/element_traversal.h"
 #include "third_party/blink/renderer/core/dom/nth_index_cache.h"
 #include "third_party/blink/renderer/core/dom/static_node_list.h"
+#include "third_party/blink/renderer/core/editing/editing_utilities.h"
 #include "third_party/blink/renderer/core/frame/local_frame_view.h"
 #include "third_party/blink/renderer/core/frame/root_frame_viewport.h"
 #include "third_party/blink/renderer/core/frame/web_feature.h"
@@ -338,13 +339,19 @@
   auto& document = scroller_box->GetDocument();
 
   // Focused area.
-  LayoutObject* candidate =
-      PriorityCandidateFromNode(document.FocusedElement());
-  auto result = ExaminePriorityCandidate(candidate);
-  if (result.viable) {
-    anchor_object_ = candidate;
-    corner_ = result.corner;
-    return true;
+  LayoutObject* candidate = nullptr;
+  ExamineResult result{kSkip};
+  auto* focused_element = document.FocusedElement();
+  if (focused_element && HasEditableStyle(*focused_element)) {
+    candidate = PriorityCandidateFromNode(focused_element);
+    if (candidate) {
+      result = ExaminePriorityCandidate(candidate);
+      if (result.viable) {
+        anchor_object_ = candidate;
+        corner_ = result.corner;
+        return true;
+      }
+    }
   }
 
   // Active find-in-page match.
diff --git a/third_party/blink/renderer/core/layout/scroll_anchor_test.cc b/third_party/blink/renderer/core/layout/scroll_anchor_test.cc
index e53134f..913b3d4 100644
--- a/third_party/blink/renderer/core/layout/scroll_anchor_test.cc
+++ b/third_party/blink/renderer/core/layout/scroll_anchor_test.cc
@@ -1181,7 +1181,7 @@
     <div class=spacer></div>
     <div class=spacer></div>
     <div class=spacer></div>
-    <div id=focus_target tabindex=0></div>
+    <div id=focus_target contenteditable></div>
     <div id=growing></div>
     <div id=find_target>findme</div>
     <div class=spacer></div>
@@ -1239,7 +1239,7 @@
     <div class=spacer></div>
     <div id=check></div>
     <div class=sticky>
-      <div id=target tabindex=0></div>
+      <div id=target contenteditable></div>
     </div>
     <div class=spacer></div>
     <div class=spacer></div>
diff --git a/third_party/blink/renderer/core/loader/frame_loader.cc b/third_party/blink/renderer/core/loader/frame_loader.cc
index 8d610dd..c7809f7 100644
--- a/third_party/blink/renderer/core/loader/frame_loader.cc
+++ b/third_party/blink/renderer/core/loader/frame_loader.cc
@@ -649,6 +649,10 @@
   const KURL& url = resource_request.Url();
   LocalDOMWindow* origin_window = request.GetOriginWindow();
 
+  TRACE_EVENT2("navigation", "FrameLoader::StartNavigation", "url",
+               url.GetString().Utf8(), "load_type",
+               static_cast<int>(frame_load_type));
+
   resource_request.SetHasUserGesture(
       LocalFrame::HasTransientUserActivation(frame_));
 
diff --git a/third_party/blink/renderer/core/loader/http_refresh_scheduler.cc b/third_party/blink/renderer/core/loader/http_refresh_scheduler.cc
index ec4db37af..863e5f7 100644
--- a/third_party/blink/renderer/core/loader/http_refresh_scheduler.cc
+++ b/third_party/blink/renderer/core/loader/http_refresh_scheduler.cc
@@ -93,6 +93,10 @@
 }
 
 void HttpRefreshScheduler::NavigateTask() {
+  TRACE_EVENT2("navigation", "HttpRefreshScheduler::NavigateTask",
+               "document_url", document_->Url().GetString().Utf8(),
+               "refresh_url", refresh_->url.GetString().Utf8());
+
   DCHECK(document_->GetFrame());
   std::unique_ptr<ScheduledHttpRefresh> refresh(refresh_.release());
 
diff --git a/third_party/blink/renderer/core/paint/BUILD.gn b/third_party/blink/renderer/core/paint/BUILD.gn
index 59cfa97..5dd902f0 100644
--- a/third_party/blink/renderer/core/paint/BUILD.gn
+++ b/third_party/blink/renderer/core/paint/BUILD.gn
@@ -78,8 +78,6 @@
     "embedded_content_painter.h",
     "embedded_object_painter.cc",
     "embedded_object_painter.h",
-    "fallback_theme.cc",
-    "fallback_theme.h",
     "fieldset_paint_info.cc",
     "fieldset_paint_info.h",
     "fieldset_painter.cc",
diff --git a/third_party/blink/renderer/core/paint/DEPS b/third_party/blink/renderer/core/paint/DEPS
index 4283a731..a58190f 100644
--- a/third_party/blink/renderer/core/paint/DEPS
+++ b/third_party/blink/renderer/core/paint/DEPS
@@ -7,7 +7,7 @@
 ]
 
 specific_include_rules = {
-  "(theme_painter|fallback_theme|object_painter_base)\.cc": [
+  "(theme_painter|object_painter_base)\.cc": [
     "+ui/native_theme/native_theme.h",
     "+ui/native_theme/native_theme_base.h",
   ],
diff --git a/third_party/blink/renderer/core/paint/compositing/compositing_test.cc b/third_party/blink/renderer/core/paint/compositing/compositing_test.cc
index 353d3d8..3a744ab 100644
--- a/third_party/blink/renderer/core/paint/compositing/compositing_test.cc
+++ b/third_party/blink/renderer/core/paint/compositing/compositing_test.cc
@@ -94,6 +94,11 @@
     return LayerTreeHost()->property_trees();
   }
 
+  cc::TransformNode* GetTransformNode(const cc::Layer* layer) {
+    return GetPropertyTrees()->transform_tree.Node(
+        layer->transform_tree_index());
+  }
+
  private:
   PaintArtifactCompositor* paint_artifact_compositor() {
     return GetLocalFrameView()->GetPaintArtifactCompositor();
@@ -223,7 +228,8 @@
   )HTML");
   UpdateAllLifecyclePhases();
   auto* layer = CcLayerByDOMElementId("willChange");
-  EXPECT_TRUE(layer->has_will_change_transform_hint());
+  auto* transform_node = GetTransformNode(layer);
+  EXPECT_TRUE(transform_node->will_change_transform);
 }
 
 TEST_P(CompositingTest, WillChangeTransformHintInSVG) {
@@ -243,7 +249,8 @@
   )HTML");
   UpdateAllLifecyclePhases();
   auto* layer = CcLayerByDOMElementId("willChange");
-  EXPECT_TRUE(layer->has_will_change_transform_hint());
+  auto* transform_node = GetTransformNode(layer);
+  EXPECT_TRUE(transform_node->will_change_transform);
 }
 
 TEST_P(CompositingTest, PaintPropertiesWhenCompositingSVG) {
diff --git a/third_party/blink/renderer/core/paint/fallback_theme.cc b/third_party/blink/renderer/core/paint/fallback_theme.cc
deleted file mode 100644
index f959486f..0000000
--- a/third_party/blink/renderer/core/paint/fallback_theme.cc
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "third_party/blink/renderer/core/paint/fallback_theme.h"
-
-#include "third_party/blink/renderer/platform/wtf/std_lib_extras.h"
-#include "ui/native_theme/native_theme_base.h"
-
-namespace blink {
-
-namespace {
-
-class FallbackTheme : public ui::NativeThemeBase {
- public:
-  SkColor GetSystemColor(ColorId color_id,
-                         ColorScheme color_scheme) const override {
-    // The paint routines in NativeThemeBase only use GetSystemColor for
-    // button focus colors and the fallback theme is not used for buttons.
-    NOTREACHED();
-    return SK_ColorRED;
-  }
-};
-
-}  // namespace
-
-ui::NativeTheme& GetFallbackTheme() {
-  DEFINE_STATIC_LOCAL(FallbackTheme, theme, ());
-  return theme;
-}
-
-}  // namespace blink
diff --git a/third_party/blink/renderer/core/paint/fallback_theme.h b/third_party/blink/renderer/core/paint/fallback_theme.h
deleted file mode 100644
index 017a4f9..0000000
--- a/third_party/blink/renderer/core/paint/fallback_theme.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_FALLBACK_THEME_H_
-#define THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_FALLBACK_THEME_H_
-
-namespace ui {
-class NativeTheme;
-}  // namespace ui
-
-namespace blink {
-
-// Gets the fallback theme, which is used to paint checkboxes and radio buttons
-// when |LayoutTheme::ShouldUseFallbackTheme| returns true.
-ui::NativeTheme& GetFallbackTheme();
-
-}  // namespace blink
-
-#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_FALLBACK_THEME_H_
diff --git a/third_party/blink/renderer/core/paint/theme_painter.cc b/third_party/blink/renderer/core/paint/theme_painter.cc
index dd8c5dd..e188ee03 100644
--- a/third_party/blink/renderer/core/paint/theme_painter.cc
+++ b/third_party/blink/renderer/core/paint/theme_painter.cc
@@ -35,7 +35,6 @@
 #include "third_party/blink/renderer/core/input_type_names.h"
 #include "third_party/blink/renderer/core/layout/layout_theme.h"
 #include "third_party/blink/renderer/core/layout/layout_view.h"
-#include "third_party/blink/renderer/core/paint/fallback_theme.h"
 #include "third_party/blink/renderer/core/paint/paint_info.h"
 #include "third_party/blink/renderer/core/style/computed_style.h"
 #include "third_party/blink/renderer/platform/graphics/graphics_context_state_saver.h"
@@ -50,27 +49,6 @@
 
 namespace {
 
-ui::NativeTheme::State GetFallbackThemeState(const Node* node) {
-  if (!LayoutTheme::IsEnabled(node))
-    return ui::NativeTheme::kDisabled;
-  if (LayoutTheme::IsPressed(node))
-    return ui::NativeTheme::kPressed;
-  if (LayoutTheme::IsHovered(node))
-    return ui::NativeTheme::kHovered;
-
-  return ui::NativeTheme::kNormal;
-}
-
-static ui::NativeTheme::ColorScheme ToNativeColorScheme(
-    WebColorScheme color_scheme) {
-  switch (color_scheme) {
-    case WebColorScheme::kLight:
-      return ui::NativeTheme::ColorScheme::kLight;
-    case WebColorScheme::kDark:
-      return ui::NativeTheme::ColorScheme::kDark;
-  }
-}
-
 bool IsMultipleFieldsTemporalInput(const AtomicString& type) {
 #if !defined(OS_ANDROID)
   return type == input_type_names::kDate ||
@@ -120,9 +98,6 @@
   DCHECK(node);
   DCHECK_NE(part, kNoControlPart);
 
-  if (LayoutTheme::GetTheme().ShouldUseFallbackTheme(style))
-    return PaintUsingFallbackTheme(node, style, paint_info, r);
-
   if (part == kButtonPart) {
     if (IsA<HTMLButtonElement>(node)) {
       UseCounter::Count(doc, WebFeature::kCSSValueAppearanceButtonForButton);
@@ -406,72 +381,4 @@
   }
 }
 
-bool ThemePainter::PaintUsingFallbackTheme(const Node* node,
-                                           const ComputedStyle& style,
-                                           const PaintInfo& paint_info,
-                                           const IntRect& paint_rect) {
-  ControlPart part = style.EffectiveAppearance();
-  switch (part) {
-    case kCheckboxPart:
-      return PaintCheckboxUsingFallbackTheme(node, style, paint_info,
-                                             paint_rect);
-    case kRadioPart:
-      return PaintRadioUsingFallbackTheme(node, style, paint_info, paint_rect);
-    default:
-      break;
-  }
-  return true;
-}
-
-bool ThemePainter::PaintCheckboxUsingFallbackTheme(const Node* node,
-                                                   const ComputedStyle& style,
-                                                   const PaintInfo& paint_info,
-                                                   const IntRect& paint_rect) {
-  ui::NativeTheme::ExtraParams extra_params;
-  extra_params.button.checked = LayoutTheme::IsChecked(node);
-  extra_params.button.indeterminate = LayoutTheme::IsIndeterminate(node);
-
-  float zoom_level = style.EffectiveZoom();
-  GraphicsContextStateSaver state_saver(paint_info.context);
-  IntRect unzoomed_rect = paint_rect;
-  if (zoom_level != 1) {
-    unzoomed_rect.SetWidth(unzoomed_rect.Width() / zoom_level);
-    unzoomed_rect.SetHeight(unzoomed_rect.Height() / zoom_level);
-    paint_info.context.Translate(unzoomed_rect.X(), unzoomed_rect.Y());
-    paint_info.context.Scale(zoom_level, zoom_level);
-    paint_info.context.Translate(-unzoomed_rect.X(), -unzoomed_rect.Y());
-  }
-
-  GetFallbackTheme().Paint(
-      paint_info.context.Canvas(), ui::NativeTheme::kCheckbox,
-      GetFallbackThemeState(node), unzoomed_rect, extra_params,
-      ToNativeColorScheme(style.UsedColorScheme()));
-  return false;
-}
-
-bool ThemePainter::PaintRadioUsingFallbackTheme(const Node* node,
-                                                const ComputedStyle& style,
-                                                const PaintInfo& paint_info,
-                                                const IntRect& paint_rect) {
-  ui::NativeTheme::ExtraParams extra_params;
-  extra_params.button.checked = LayoutTheme::IsChecked(node);
-
-  float zoom_level = style.EffectiveZoom();
-  GraphicsContextStateSaver state_saver(paint_info.context);
-  IntRect unzoomed_rect = paint_rect;
-  if (zoom_level != 1) {
-    unzoomed_rect.SetWidth(unzoomed_rect.Width() / zoom_level);
-    unzoomed_rect.SetHeight(unzoomed_rect.Height() / zoom_level);
-    paint_info.context.Translate(unzoomed_rect.X(), unzoomed_rect.Y());
-    paint_info.context.Scale(zoom_level, zoom_level);
-    paint_info.context.Translate(-unzoomed_rect.X(), -unzoomed_rect.Y());
-  }
-
-  GetFallbackTheme().Paint(paint_info.context.Canvas(), ui::NativeTheme::kRadio,
-                           GetFallbackThemeState(node), unzoomed_rect,
-                           extra_params,
-                           ToNativeColorScheme(style.UsedColorScheme()));
-  return false;
-}
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/paint/theme_painter.h b/third_party/blink/renderer/core/paint/theme_painter.h
index 4ffa1ca..1c563c35 100644
--- a/third_party/blink/renderer/core/paint/theme_painter.h
+++ b/third_party/blink/renderer/core/paint/theme_painter.h
@@ -144,19 +144,6 @@
                                             const IntRect&) {
     return true;
   }
-
-  bool PaintUsingFallbackTheme(const Node*,
-                               const ComputedStyle&,
-                               const PaintInfo&,
-                               const IntRect&);
-  bool PaintCheckboxUsingFallbackTheme(const Node*,
-                                       const ComputedStyle&,
-                                       const PaintInfo&,
-                                       const IntRect&);
-  bool PaintRadioUsingFallbackTheme(const Node*,
-                                    const ComputedStyle&,
-                                    const PaintInfo&,
-                                    const IntRect&);
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/testing/fake_local_frame_host.cc b/third_party/blink/renderer/core/testing/fake_local_frame_host.cc
index 0a62884..d1b341a 100644
--- a/third_party/blink/renderer/core/testing/fake_local_frame_host.cc
+++ b/third_party/blink/renderer/core/testing/fake_local_frame_host.cc
@@ -55,6 +55,9 @@
 void FakeLocalFrameHost::DidChangeThemeColor(
     const base::Optional<::SkColor>& theme_color) {}
 
+void FakeLocalFrameHost::DidChangeBackgroundColor(
+    const SkColor& background_color) {}
+
 void FakeLocalFrameHost::DidFailLoadWithError(const ::blink::KURL& url,
                                               int32_t error_code) {}
 
diff --git a/third_party/blink/renderer/core/testing/fake_local_frame_host.h b/third_party/blink/renderer/core/testing/fake_local_frame_host.h
index ff39690..b10f036b 100644
--- a/third_party/blink/renderer/core/testing/fake_local_frame_host.h
+++ b/third_party/blink/renderer/core/testing/fake_local_frame_host.h
@@ -44,6 +44,7 @@
   void VisibilityChanged(mojom::blink::FrameVisibility visibility) override;
   void DidChangeThemeColor(
       const base::Optional<::SkColor>& theme_color) override;
+  void DidChangeBackgroundColor(const SkColor& background_color) override;
   void DidFailLoadWithError(const ::blink::KURL& url,
                             int32_t error_code) override;
   void DidFocusFrame() override;
diff --git a/third_party/blink/renderer/modules/BUILD.gn b/third_party/blink/renderer/modules/BUILD.gn
index 666f971..a7e3e3a 100644
--- a/third_party/blink/renderer/modules/BUILD.gn
+++ b/third_party/blink/renderer/modules/BUILD.gn
@@ -137,6 +137,7 @@
     "//third_party/blink/renderer/modules/push_messaging",
     "//third_party/blink/renderer/modules/quota",
     "//third_party/blink/renderer/modules/remoteplayback",
+    "//third_party/blink/renderer/modules/sanitizer_api",
     "//third_party/blink/renderer/modules/scheduler",
     "//third_party/blink/renderer/modules/screen_enumeration",
     "//third_party/blink/renderer/modules/screen_orientation",
@@ -552,4 +553,22 @@
       "//third_party/protobuf:protobuf_lite",
     ]
   }
+
+  fuzzer_test("webcodecs_video_decoder_fuzzer") {
+    sources = [
+      "webcodecs/fuzzer_utils.cc",
+      "webcodecs/fuzzer_utils.h",
+      "webcodecs/video_decoder_fuzzer.cc",
+    ]
+
+    seed_corpus = "webcodecs/fuzzer_seed_corpus/video_decoder"
+
+    deps = [
+      ":modules",
+      "//third_party/blink/renderer/modules/webcodecs:fuzzer_protos",
+      "//third_party/blink/renderer/platform:blink_fuzzer_test_support",
+      "//third_party/libprotobuf-mutator",
+      "//third_party/protobuf:protobuf_lite",
+    ]
+  }
 }
diff --git a/third_party/blink/renderer/modules/DEPS b/third_party/blink/renderer/modules/DEPS
index b03321f..273c3372 100644
--- a/third_party/blink/renderer/modules/DEPS
+++ b/third_party/blink/renderer/modules/DEPS
@@ -27,6 +27,10 @@
         "+testing/libfuzzer/proto/lpm_interface.h",
         "+third_party/protobuf/src/google/protobuf/repeated_field.h",
     ],
+    "video_decoder_fuzzer.cc": [
+        "+base/run_loop.h",
+        "+testing/libfuzzer/proto/lpm_interface.h",
+    ],
     "canvas_fuzzer.cc": [
         "+base/test/bind_test_util.h",
     ]
diff --git a/third_party/blink/renderer/modules/accessibility/ax_object.cc b/third_party/blink/renderer/modules/accessibility/ax_object.cc
index cd674590f..e0282ff1 100644
--- a/third_party/blink/renderer/modules/accessibility/ax_object.cc
+++ b/third_party/blink/renderer/modules/accessibility/ax_object.cc
@@ -1555,6 +1555,20 @@
   return false;
 }
 
+const AXObject* AXObject::GetNativeTextControlAncestor(
+    int max_levels_to_check) const {
+  if (IsNativeTextControl())
+    return this;
+
+  if (max_levels_to_check == 0)
+    return nullptr;
+
+  if (AXObject* parent = ParentObject())
+    return parent->GetNativeTextControlAncestor(max_levels_to_check - 1);
+
+  return nullptr;
+}
+
 const AXObject* AXObject::DatetimeAncestor(int max_levels_to_check) const {
   switch (RoleValue()) {
     case ax::mojom::blink::Role::kDateTime:
diff --git a/third_party/blink/renderer/modules/accessibility/ax_object.h b/third_party/blink/renderer/modules/accessibility/ax_object.h
index 0ffcab8..c4d0f667 100644
--- a/third_party/blink/renderer/modules/accessibility/ax_object.h
+++ b/third_party/blink/renderer/modules/accessibility/ax_object.h
@@ -538,6 +538,8 @@
   AXObject* LeafNodeAncestor() const;
   bool IsDescendantOfDisabledNode() const;
   bool ComputeAccessibilityIsIgnoredButIncludedInTree() const;
+  const AXObject* GetNativeTextControlAncestor(
+      int max_levels_to_check = 3) const;
   const AXObject* DatetimeAncestor(int max_levels_to_check = 3) const;
   const AXObject* DisabledAncestor() const;
   bool LastKnownIsIgnoredValue() const;
diff --git a/third_party/blink/renderer/modules/accessibility/ax_selection.cc b/third_party/blink/renderer/modules/accessibility/ax_selection.cc
index 877ddab..ad1745a 100644
--- a/third_party/blink/renderer/modules/accessibility/ax_selection.cc
+++ b/third_party/blink/renderer/modules/accessibility/ax_selection.cc
@@ -339,15 +339,18 @@
       AsTextControlSelection();
   if (text_control_selection.has_value()) {
     DCHECK_LE(text_control_selection->start, text_control_selection->end);
-    TextControlElement& text_control =
-        ToTextControl(*base_.ContainerObject()->GetNode());
+    TextControlElement& text_control = ToTextControl(
+        *base_.ContainerObject()->GetNativeTextControlAncestor()->GetNode());
     if (!text_control.SetSelectionRange(text_control_selection->start,
                                         text_control_selection->end,
                                         text_control_selection->direction)) {
       return false;
     }
 
+    // TextControl::SetSelectionRange deliberately does not set focus. But if
+    // we're updating the selection, the text control should be focused.
     ScheduleSelectEvent(text_control);
+    text_control.focus();
     return true;
   }
 
@@ -423,19 +426,23 @@
 base::Optional<AXSelection::TextControlSelection>
 AXSelection::AsTextControlSelection() const {
   if (!IsValid() || !base_.IsTextPosition() || !extent_.IsTextPosition() ||
-      base_.ContainerObject() != extent_.ContainerObject() ||
-      !base_.ContainerObject()->IsNativeTextControl() ||
-      !IsTextControl(base_.ContainerObject()->GetNode())) {
+      base_.ContainerObject() != extent_.ContainerObject()) {
     return {};
   }
 
+  const AXObject* text_control =
+      base_.ContainerObject()->GetNativeTextControlAncestor();
+  if (!text_control)
+    return {};
+
+  DCHECK(IsTextControl(text_control->GetNode()));
+
   if (base_ <= extent_) {
     return TextControlSelection(base_.TextOffset(), extent_.TextOffset(),
                                 kSelectionHasForwardDirection);
-  } else {
-    return TextControlSelection(extent_.TextOffset(), base_.TextOffset(),
-                                kSelectionHasBackwardDirection);
   }
+  return TextControlSelection(extent_.TextOffset(), base_.TextOffset(),
+                              kSelectionHasBackwardDirection);
 }
 
 bool operator==(const AXSelection& a, const AXSelection& b) {
diff --git a/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl b/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl
index 90d71c91..c24a3e692 100644
--- a/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl
+++ b/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl
@@ -19,7 +19,7 @@
       optional WatchAdvertisementsOptions options = {});
 
   readonly attribute DOMString id;
-  readonly attribute DOMString? name;
+  [HighEntropy=Direct, MeasureAs=BluetoothDeviceName] readonly attribute DOMString? name;
   readonly attribute BluetoothRemoteGATTServer gatt;
   [RuntimeEnabled=WebBluetoothWatchAdvertisements] readonly attribute boolean watchingAdvertisements;
 
diff --git a/third_party/blink/renderer/modules/gamepad/gamepad.idl b/third_party/blink/renderer/modules/gamepad/gamepad.idl
index aca2aaa..5ed7814 100644
--- a/third_party/blink/renderer/modules/gamepad/gamepad.idl
+++ b/third_party/blink/renderer/modules/gamepad/gamepad.idl
@@ -36,7 +36,7 @@
 [
     Exposed=Window
 ] interface Gamepad {
-    readonly attribute DOMString id;
+    [HighEntropy=Direct, MeasureAs=GamepadId] readonly attribute DOMString id;
     readonly attribute long index;
     readonly attribute boolean connected;
     readonly attribute DOMHighResTimeStamp timestamp;
diff --git a/third_party/blink/renderer/modules/mediasource/BUILD.gn b/third_party/blink/renderer/modules/mediasource/BUILD.gn
index aaeade8..4d5217a 100644
--- a/third_party/blink/renderer/modules/mediasource/BUILD.gn
+++ b/third_party/blink/renderer/modules/mediasource/BUILD.gn
@@ -12,6 +12,8 @@
     "media_source_impl.h",
     "media_source_registry_impl.cc",
     "media_source_registry_impl.h",
+    "media_source_tracer_impl.cc",
+    "media_source_tracer_impl.h",
     "source_buffer.cc",
     "source_buffer.h",
     "source_buffer_list.cc",
diff --git a/third_party/blink/renderer/modules/mediasource/media_source_impl.cc b/third_party/blink/renderer/modules/mediasource/media_source_impl.cc
index 59e841c..62cabb567 100644
--- a/third_party/blink/renderer/modules/mediasource/media_source_impl.cc
+++ b/third_party/blink/renderer/modules/mediasource/media_source_impl.cc
@@ -43,6 +43,7 @@
 #include "third_party/blink/renderer/core/html/media/html_media_element.h"
 #include "third_party/blink/renderer/core/html/track/audio_track_list.h"
 #include "third_party/blink/renderer/core/html/track/video_track_list.h"
+#include "third_party/blink/renderer/modules/mediasource/media_source_tracer_impl.h"
 #include "third_party/blink/renderer/modules/mediasource/source_buffer_track_base_supplement.h"
 #include "third_party/blink/renderer/platform/bindings/exception_messages.h"
 #include "third_party/blink/renderer/platform/bindings/exception_state.h"
@@ -831,9 +832,10 @@
   SetReadyState(ClosedKeyword());
 }
 
-bool MediaSourceImpl::StartAttachingToMediaElement(HTMLMediaElement* element) {
+MediaSourceTracer* MediaSourceImpl::StartAttachingToMediaElement(
+    HTMLMediaElement* element) {
   if (attached_element_)
-    return false;
+    return nullptr;
 
   DCHECK(IsClosed());
 
@@ -841,7 +843,7 @@
       "media", "MediaSourceImpl::StartAttachingToMediaElement",
       TRACE_ID_LOCAL(this));
   attached_element_ = element;
-  return true;
+  return MakeGarbageCollected<MediaSourceTracerImpl>(element, this);
 }
 
 void MediaSourceImpl::OpenIfInEndedState() {
diff --git a/third_party/blink/renderer/modules/mediasource/media_source_impl.h b/third_party/blink/renderer/modules/mediasource/media_source_impl.h
index fc5a8ec..fe1fe54a 100644
--- a/third_party/blink/renderer/modules/mediasource/media_source_impl.h
+++ b/third_party/blink/renderer/modules/mediasource/media_source_impl.h
@@ -37,6 +37,7 @@
 #include "third_party/blink/renderer/bindings/core/v8/active_script_wrappable.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
 #include "third_party/blink/renderer/core/html/media/media_source.h"
+#include "third_party/blink/renderer/core/html/media/media_source_tracer.h"
 #include "third_party/blink/renderer/core/html/time_ranges.h"
 #include "third_party/blink/renderer/modules/event_target_modules.h"
 #include "third_party/blink/renderer/modules/mediasource/source_buffer.h"
@@ -92,7 +93,7 @@
   static bool isTypeSupported(const String& type);
 
   // html/media/MediaSource interface implementation
-  bool StartAttachingToMediaElement(HTMLMediaElement*) override;
+  MediaSourceTracer* StartAttachingToMediaElement(HTMLMediaElement*) override;
   void CompleteAttachingToMediaElement(
       std::unique_ptr<WebMediaSource>) override;
   void Close() override;
diff --git a/third_party/blink/renderer/modules/mediasource/media_source_tracer_impl.cc b/third_party/blink/renderer/modules/mediasource/media_source_tracer_impl.cc
new file mode 100644
index 0000000..f2db6ca
--- /dev/null
+++ b/third_party/blink/renderer/modules/mediasource/media_source_tracer_impl.cc
@@ -0,0 +1,22 @@
+// 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/mediasource/media_source_tracer_impl.h"
+
+#include "third_party/blink/renderer/core/html/media/html_media_element.h"
+#include "third_party/blink/renderer/modules/mediasource/media_source_impl.h"
+
+namespace blink {
+
+MediaSourceTracerImpl::MediaSourceTracerImpl(HTMLMediaElement* media_element,
+                                             MediaSourceImpl* media_source)
+    : media_element_(media_element), media_source_(media_source) {}
+
+void MediaSourceTracerImpl::Trace(Visitor* visitor) const {
+  visitor->Trace(media_element_);
+  visitor->Trace(media_source_);
+  MediaSourceTracer::Trace(visitor);
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/mediasource/media_source_tracer_impl.h b/third_party/blink/renderer/modules/mediasource/media_source_tracer_impl.h
new file mode 100644
index 0000000..c174a6c
--- /dev/null
+++ b/third_party/blink/renderer/modules/mediasource/media_source_tracer_impl.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 THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASOURCE_MEDIA_SOURCE_TRACER_IMPL_H_
+#define THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASOURCE_MEDIA_SOURCE_TRACER_IMPL_H_
+
+#include "third_party/blink/renderer/core/html/media/media_source_tracer.h"
+#include "third_party/blink/renderer/platform/heap/handle.h"
+
+namespace blink {
+
+class HTMLMediaElement;
+class MediaSourceImpl;
+
+// Concrete MediaSourceTracer that enables an HTMLMediaElement and its attached
+// MediaSourceImpl on the same (main) thread to trace into each other. This
+// enables garbage collection to automatically detect and collect idle
+// attachments of these objects that have no other strong references.
+class MediaSourceTracerImpl final : public MediaSourceTracer {
+ public:
+  MediaSourceTracerImpl(HTMLMediaElement* media_element,
+                        MediaSourceImpl* media_source);
+  ~MediaSourceTracerImpl() override = default;
+
+  void Trace(Visitor* visitor) const override;
+
+ private:
+  Member<HTMLMediaElement> media_element_;
+  Member<MediaSourceImpl> media_source_;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASOURCE_MEDIA_SOURCE_TRACER_IMPL_H_
diff --git a/third_party/blink/renderer/modules/modules_idl_files.gni b/third_party/blink/renderer/modules/modules_idl_files.gni
index 038765a9..c0aeb9e 100644
--- a/third_party/blink/renderer/modules/modules_idl_files.gni
+++ b/third_party/blink/renderer/modules/modules_idl_files.gni
@@ -109,6 +109,7 @@
   "//third_party/blink/renderer/modules/push_messaging/idls.gni",
   "//third_party/blink/renderer/modules/quota/idls.gni",
   "//third_party/blink/renderer/modules/remoteplayback/idls.gni",
+  "//third_party/blink/renderer/modules/sanitizer_api/idls.gni",
   "//third_party/blink/renderer/modules/scheduler/idls.gni",
   "//third_party/blink/renderer/modules/screen_enumeration/idls.gni",
   "//third_party/blink/renderer/modules/screen_orientation/idls.gni",
diff --git a/third_party/blink/renderer/modules/payments/BUILD.gn b/third_party/blink/renderer/modules/payments/BUILD.gn
index 32ba3124..5869e43 100644
--- a/third_party/blink/renderer/modules/payments/BUILD.gn
+++ b/third_party/blink/renderer/modules/payments/BUILD.gn
@@ -53,6 +53,8 @@
     "payments_validators.h",
     "secure_payment_confirmation_helper.cc",
     "secure_payment_confirmation_helper.h",
+    "secure_payment_confirmation_type_converter.cc",
+    "secure_payment_confirmation_type_converter.h",
     "update_payment_details_function.cc",
     "update_payment_details_function.h",
   ]
@@ -66,6 +68,7 @@
 
   deps = [
     "//components/payments/mojom:mojom_blink",
+    "//third_party/blink/renderer/modules/credentialmanager",
     "//third_party/blink/renderer/modules/permissions",
     "//third_party/blink/renderer/modules/service_worker",
   ]
diff --git a/third_party/blink/renderer/modules/payments/payment_request.cc b/third_party/blink/renderer/modules/payments/payment_request.cc
index ed690eb4..22a0816d6 100644
--- a/third_party/blink/renderer/modules/payments/payment_request.cc
+++ b/third_party/blink/renderer/modules/payments/payment_request.cc
@@ -444,8 +444,9 @@
                  &execution_context)) {
     UseCounter::Count(&execution_context,
                       WebFeature::kSecurePaymentConfirmation);
-    SecurePaymentConfirmationHelper::ParseSecurePaymentConfirmationData(
-        input, exception_state);
+    output->secure_payment_confirmation =
+        SecurePaymentConfirmationHelper::ParseSecurePaymentConfirmationData(
+            input, exception_state);
   }
 }
 
diff --git a/third_party/blink/renderer/modules/payments/secure_payment_confirmation_helper.cc b/third_party/blink/renderer/modules/payments/secure_payment_confirmation_helper.cc
index 68e2bcd..029110a 100644
--- a/third_party/blink/renderer/modules/payments/secure_payment_confirmation_helper.cc
+++ b/third_party/blink/renderer/modules/payments/secure_payment_confirmation_helper.cc
@@ -7,7 +7,9 @@
 #include <stdint.h>
 
 #include "base/logging.h"
+#include "third_party/blink/public/mojom/payments/payment_request.mojom-blink.h"
 #include "third_party/blink/renderer/bindings/modules/v8/v8_secure_payment_confirmation_request.h"
+#include "third_party/blink/renderer/modules/payments/secure_payment_confirmation_type_converter.h"
 #include "third_party/blink/renderer/platform/bindings/exception_state.h"
 
 namespace blink {
@@ -19,7 +21,8 @@
 }  // namespace
 
 // static
-void SecurePaymentConfirmationHelper::ParseSecurePaymentConfirmationData(
+::payments::mojom::blink::SecurePaymentConfirmationRequestPtr
+SecurePaymentConfirmationHelper::ParseSecurePaymentConfirmationData(
     const ScriptValue& input,
     ExceptionState& exception_state) {
   DCHECK(!input.IsEmpty());
@@ -27,21 +30,24 @@
       NativeValueTraits<SecurePaymentConfirmationRequest>::NativeValue(
           input.GetIsolate(), input.V8Value(), exception_state);
   if (exception_state.HadException())
-    return;
+    return nullptr;
 
   if (request->instrumentId().IsEmpty()) {
     exception_state.ThrowRangeError(
         "The \"secure-payment-confirmation\" method requires a non-empty "
         "\"instrumentId\" field.");
-    return;
+    return nullptr;
   }
 
   if (request->hasTimeout() && request->timeout() > kMaxTimeoutInMilliseconds) {
     exception_state.ThrowRangeError(
         "The \"secure-payment-confirmation\" method requires at most 1 hour "
         "\"timeout\" field.");
-    return;
+    return nullptr;
   }
+
+  return mojo::ConvertTo<
+      payments::mojom::blink::SecurePaymentConfirmationRequestPtr>(request);
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/payments/secure_payment_confirmation_helper.h b/third_party/blink/renderer/modules/payments/secure_payment_confirmation_helper.h
index 760b76a..b5da12ab 100644
--- a/third_party/blink/renderer/modules/payments/secure_payment_confirmation_helper.h
+++ b/third_party/blink/renderer/modules/payments/secure_payment_confirmation_helper.h
@@ -5,6 +5,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_PAYMENTS_SECURE_PAYMENT_CONFIRMATION_HELPER_H_
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_PAYMENTS_SECURE_PAYMENT_CONFIRMATION_HELPER_H_
 
+#include "third_party/blink/public/mojom/payments/payment_request.mojom-blink-forward.h"
 #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
 
 namespace blink {
@@ -16,9 +17,10 @@
   STATIC_ONLY(SecurePaymentConfirmationHelper);
 
  public:
-  // Parse 'secure-payment-confirmation' data in |input| or throw an exception.
-  static void ParseSecurePaymentConfirmationData(const ScriptValue& input,
-                                                 ExceptionState&);
+  // Parse 'secure-payment-confirmation' data in |input| and return the result
+  // or throw an exception.
+  static ::payments::mojom::blink::SecurePaymentConfirmationRequestPtr
+  ParseSecurePaymentConfirmationData(const ScriptValue& input, ExceptionState&);
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/payments/secure_payment_confirmation_type_converter.cc b/third_party/blink/renderer/modules/payments/secure_payment_confirmation_type_converter.cc
new file mode 100644
index 0000000..866fd64b
--- /dev/null
+++ b/third_party/blink/renderer/modules/payments/secure_payment_confirmation_type_converter.cc
@@ -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.
+
+#include "third_party/blink/renderer/modules/payments/secure_payment_confirmation_type_converter.h"
+
+#include <stdint.h>
+
+#include "base/time/time.h"
+#include "third_party/blink/renderer/modules/credentialmanager/credential_manager_type_converters.h"
+#include "third_party/blink/renderer/platform/wtf/vector.h"
+
+namespace mojo {
+
+payments::mojom::blink::SecurePaymentConfirmationRequestPtr
+TypeConverter<payments::mojom::blink::SecurePaymentConfirmationRequestPtr,
+              blink::SecurePaymentConfirmationRequest*>::
+    Convert(const blink::SecurePaymentConfirmationRequest* input) {
+  auto output = payments::mojom::blink::SecurePaymentConfirmationRequest::New();
+  output->instrument_id = input->instrumentId();
+  output->network_data = mojo::ConvertTo<Vector<uint8_t>>(input->networkData());
+
+  // If a timeout was not specified in JavaScript, then pass a null |timeout|
+  // through mojo IPC, so the browser can set a default (e.g., 3 minutes).
+  if (input->hasTimeout())
+    output->timeout = base::TimeDelta::FromMilliseconds(input->timeout());
+
+  return output;
+}
+
+}  // namespace mojo
diff --git a/third_party/blink/renderer/modules/payments/secure_payment_confirmation_type_converter.h b/third_party/blink/renderer/modules/payments/secure_payment_confirmation_type_converter.h
new file mode 100644
index 0000000..1f3ba86
--- /dev/null
+++ b/third_party/blink/renderer/modules/payments/secure_payment_confirmation_type_converter.h
@@ -0,0 +1,24 @@
+// 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_PAYMENTS_SECURE_PAYMENT_CONFIRMATION_TYPE_CONVERTER_H_
+#define THIRD_PARTY_BLINK_RENDERER_MODULES_PAYMENTS_SECURE_PAYMENT_CONFIRMATION_TYPE_CONVERTER_H_
+
+#include "mojo/public/cpp/bindings/type_converter.h"
+#include "third_party/blink/public/mojom/payments/payment_request.mojom-blink.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_secure_payment_confirmation_request.h"
+
+namespace mojo {
+
+template <>
+struct TypeConverter<
+    payments::mojom::blink::SecurePaymentConfirmationRequestPtr,
+    blink::SecurePaymentConfirmationRequest*> {
+  static payments::mojom::blink::SecurePaymentConfirmationRequestPtr Convert(
+      const blink::SecurePaymentConfirmationRequest* input);
+};
+
+}  // namespace mojo
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_PAYMENTS_SECURE_PAYMENT_CONFIRMATION_TYPE_CONVERTER_H_
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_configuration.idl b/third_party/blink/renderer/modules/peerconnection/rtc_configuration.idl
index ef876c9..e441fab1 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_configuration.idl
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_configuration.idl
@@ -54,7 +54,7 @@
     [RuntimeEnabled=RtcAudioJitterBufferMaxPackets] long rtcAudioJitterBufferMaxPackets;
     [RuntimeEnabled=RtcAudioJitterBufferMaxPackets] boolean rtcAudioJitterBufferFastAccelerate;
     [RuntimeEnabled=RtcAudioJitterBufferMaxPackets] long rtcAudioJitterBufferMinDelayMs;
-    [RuntimeEnabled=RTCInsertableStreams] boolean encodedInsertableStreams = false;
+    boolean encodedInsertableStreams = false;
     [DeprecateAs=ForceEncodedAudioInsertableStreams,
      RuntimeEnabled=RTCInsertableStreams] boolean forceEncodedAudioInsertableStreams = false;
     [DeprecateAs=ForceEncodedVideoInsertableStreams,
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_encoded_audio_frame.idl b/third_party/blink/renderer/modules/peerconnection/rtc_encoded_audio_frame.idl
index aecf58605..539529c0 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_encoded_audio_frame.idl
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_encoded_audio_frame.idl
@@ -7,16 +7,15 @@
 
 // TODO(crbug.com/1052765): Align with WebCodecs definition once it is stable.
 [
-    Exposed=Window,
-    RuntimeEnabled=RTCInsertableStreams
+    Exposed=Window
 ] interface RTCEncodedAudioFrame {
     readonly attribute unsigned long long timestamp;  // microseconds
     attribute ArrayBuffer data;
     RTCEncodedAudioFrameMetadata getMetadata();
     // TODO(crbug.com/1052765): Remove the following fields before enabling
     // by default.
-    readonly attribute ArrayBuffer additionalData;
-    readonly attribute unsigned long synchronizationSource;
-    readonly attribute FrozenArray<unsigned long> contributingSources;
+    [RuntimeEnabled=RTCInsertableStreams] readonly attribute ArrayBuffer additionalData;
+    [RuntimeEnabled=RTCInsertableStreams] readonly attribute unsigned long synchronizationSource;
+    [RuntimeEnabled=RTCInsertableStreams] readonly attribute FrozenArray<unsigned long> contributingSources;
     stringifier;
 };
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_encoded_video_frame.idl b/third_party/blink/renderer/modules/peerconnection/rtc_encoded_video_frame.idl
index 314389b..84f6641 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_encoded_video_frame.idl
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_encoded_video_frame.idl
@@ -13,8 +13,7 @@
 
 // TODO(crbug.com/1052765): Align with WebCodecs definition once it is stable.
 [
-    Exposed=Window,
-    RuntimeEnabled=RTCInsertableStreams
+    Exposed=Window
 ] interface RTCEncodedVideoFrame {
     readonly attribute RTCEncodedVideoFrameType type;
     readonly attribute unsigned long long timestamp;  // microseconds
@@ -22,7 +21,7 @@
     RTCEncodedVideoFrameMetadata getMetadata();
     // TODO(crbug.com/1052765): Remove the following fields before enabling
     // by default.
-    readonly attribute ArrayBuffer additionalData;
-    readonly attribute unsigned long synchronizationSource;
+    [RuntimeEnabled=RTCInsertableStreams] readonly attribute ArrayBuffer additionalData;
+    [RuntimeEnabled=RTCInsertableStreams] readonly attribute unsigned long synchronizationSource;
     stringifier;
 };
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl b/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl
index 7e2b32a..307f28c 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl
@@ -60,19 +60,19 @@
     Exposed=Window
 ] interface RTCIceCandidate {
     [CallWith=ExecutionContext, RaisesException] constructor(optional RTCIceCandidateInit candidateInitDict = {});
-    readonly attribute DOMString candidate;
+    [HighEntropy=Direct, MeasureAs=RTCIceCandidateCandidate] readonly attribute DOMString candidate;
     readonly attribute DOMString? sdpMid;
     readonly attribute unsigned short? sdpMLineIndex;
     readonly attribute DOMString? foundation;
     readonly attribute RTCIceComponent? component;
     readonly attribute unsigned long? priority;
-    readonly attribute DOMString? address;
+    [HighEntropy=Direct, MeasureAs=RTCIceCandidateAddress] readonly attribute DOMString? address;
     readonly attribute RTCIceProtocol? protocol;
-    readonly attribute unsigned short? port;
+    [HighEntropy=Direct, MeasureAs=RTCIceCandidatePort] readonly attribute unsigned short? port;
     readonly attribute RTCIceCandidateType? type;
     readonly attribute RTCIceTcpCandidateType? tcpType;
-    readonly attribute DOMString? relatedAddress;
-    readonly attribute unsigned short? relatedPort;
+    [HighEntropy=Direct, MeasureAs=RTCIceCandidateRelatedAddress] readonly attribute DOMString? relatedAddress;
+    [HighEntropy=Direct, MeasureAs=RTCIceCandidateRelatedPort] readonly attribute unsigned short? relatedPort;
     readonly attribute DOMString? usernameFragment;
     // TODO(peria): Return type should be RTCIceCandidateInit.
     [CallWith=ScriptState, ImplementedAs=toJSONForBinding] object toJSON();
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl
index c05d953..85d624ff 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl
@@ -15,7 +15,7 @@
     [CallWith=ScriptState, RaisesException] sequence<RTCRtpSynchronizationSource> getSynchronizationSources();
     [CallWith=ScriptState, RaisesException] sequence<RTCRtpContributingSource> getContributingSources();
     [CallWith=ScriptState] Promise<RTCStatsReport> getStats();
-    [Measure, RuntimeEnabled=RTCInsertableStreams,
+    [Measure,
      CallWith=ScriptState,
      RaisesException] RTCInsertableStreams createEncodedStreams();
     [DeprecateAs=V8RTCRtpReceiver_CreateEncodedAudioStreams_Method,
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl
index 4756e6bb..5521546c 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl
@@ -16,7 +16,6 @@
     [Measure, RaisesException] void setStreams(MediaStream... streams);
     [CallWith=ScriptState] Promise<RTCStatsReport> getStats();
     [Measure,
-     RuntimeEnabled=RTCInsertableStreams,
      CallWith=ScriptState,
      RaisesException] RTCInsertableStreams createEncodedStreams();
     [DeprecateAs=V8RTCRtpSender_CreateEncodedAudioStreams_Method,
diff --git a/third_party/blink/renderer/modules/plugins/plugin.idl b/third_party/blink/renderer/modules/plugins/plugin.idl
index f80fcf6..dbbbe31 100644
--- a/third_party/blink/renderer/modules/plugins/plugin.idl
+++ b/third_party/blink/renderer/modules/plugins/plugin.idl
@@ -25,9 +25,9 @@
     ImplementedAs=DOMPlugin,
     LegacyUnenumerableNamedProperties
 ] interface Plugin {
-    readonly attribute DOMString name;
-    readonly attribute DOMString filename;
-    readonly attribute DOMString description;
+    [HighEntropy=Direct, MeasureAs=PluginName] readonly attribute DOMString name;
+    [HighEntropy=Direct, MeasureAs=PluginFilename] readonly attribute DOMString filename;
+    [HighEntropy=Direct, MeasureAs=PluginDescription] readonly attribute DOMString description;
     readonly attribute unsigned long length;
     getter MimeType? item(unsigned long index);
     getter MimeType? namedItem(DOMString name);
diff --git a/third_party/blink/renderer/modules/sanitizer_api/BUILD.gn b/third_party/blink/renderer/modules/sanitizer_api/BUILD.gn
new file mode 100644
index 0000000..2232023
--- /dev/null
+++ b/third_party/blink/renderer/modules/sanitizer_api/BUILD.gn
@@ -0,0 +1,12 @@
+# 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.
+
+import("//third_party/blink/renderer/modules/modules.gni")
+
+blink_modules_sources("sanitizer_api") {
+  sources = [
+    "sanitizer.cc",
+    "sanitizer.h",
+  ]
+}
diff --git a/third_party/blink/renderer/modules/sanitizer_api/OWNERS b/third_party/blink/renderer/modules/sanitizer_api/OWNERS
new file mode 100644
index 0000000..4e699554
--- /dev/null
+++ b/third_party/blink/renderer/modules/sanitizer_api/OWNERS
@@ -0,0 +1,4 @@
+lyf@chromium.org
+vogelheim@chromium.org
+
+# COMPONENT: Blink>SecurityFeature>SanitizerAPI
diff --git a/third_party/blink/renderer/modules/sanitizer_api/idls.gni b/third_party/blink/renderer/modules/sanitizer_api/idls.gni
new file mode 100644
index 0000000..fdebecb
--- /dev/null
+++ b/third_party/blink/renderer/modules/sanitizer_api/idls.gni
@@ -0,0 +1,5 @@
+# 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.
+
+modules_idl_files = [ "sanitizer.idl" ]
diff --git a/third_party/blink/renderer/modules/sanitizer_api/sanitizer.cc b/third_party/blink/renderer/modules/sanitizer_api/sanitizer.cc
new file mode 100644
index 0000000..5de1d5e
--- /dev/null
+++ b/third_party/blink/renderer/modules/sanitizer_api/sanitizer.cc
@@ -0,0 +1,24 @@
+// 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 "sanitizer.h"
+
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
+
+namespace blink {
+
+Sanitizer* Sanitizer::Create(ExceptionState& exception_state) {
+  return MakeGarbageCollected<Sanitizer>();
+}
+
+Sanitizer::Sanitizer() = default;
+
+Sanitizer::~Sanitizer() = default;
+
+String Sanitizer::saneStringFrom(const String& input) {
+  String sanitizedString = input;
+  return sanitizedString;
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/sanitizer_api/sanitizer.h b/third_party/blink/renderer/modules/sanitizer_api/sanitizer.h
new file mode 100644
index 0000000..6b89194
--- /dev/null
+++ b/third_party/blink/renderer/modules/sanitizer_api/sanitizer.h
@@ -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.
+
+#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_SANITIZER_API_SANITIZER_H_
+#define THIRD_PARTY_BLINK_RENDERER_MODULES_SANITIZER_API_SANITIZER_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/wtf/text/wtf_string.h"
+
+namespace blink {
+
+class ExceptionState;
+
+class MODULES_EXPORT Sanitizer final : public ScriptWrappable {
+  DEFINE_WRAPPERTYPEINFO();
+
+ public:
+  static Sanitizer* Create(ExceptionState&);
+  Sanitizer();
+  ~Sanitizer() override;
+
+  String saneStringFrom(const String&);
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_SANITIZER_API_SANITIZER_H_
diff --git a/third_party/blink/renderer/modules/sanitizer_api/sanitizer.idl b/third_party/blink/renderer/modules/sanitizer_api/sanitizer.idl
new file mode 100644
index 0000000..0bcac68
--- /dev/null
+++ b/third_party/blink/renderer/modules/sanitizer_api/sanitizer.idl
@@ -0,0 +1,13 @@
+// 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.
+
+// https://github.com/WICG/sanitizer-api
+
+[
+  Exposed=Window,
+  RuntimeEnabled=SanitizerAPI
+] interface Sanitizer {
+  [RaisesException] constructor();
+  DOMString saneStringFrom(DOMString input);
+};
diff --git a/third_party/blink/renderer/modules/webcodecs/BUILD.gn b/third_party/blink/renderer/modules/webcodecs/BUILD.gn
index d9f4c74..497aa35 100644
--- a/third_party/blink/renderer/modules/webcodecs/BUILD.gn
+++ b/third_party/blink/renderer/modules/webcodecs/BUILD.gn
@@ -3,6 +3,8 @@
 # found in the LICENSE file.
 
 import("//third_party/blink/renderer/modules/modules.gni")
+import("//third_party/libprotobuf-mutator/fuzzable_proto_library.gni")
+import("//third_party/protobuf/proto_library.gni")
 
 blink_modules_sources("webcodecs") {
   sources = [
@@ -56,7 +58,6 @@
   testonly = true
   sources = [
     "audio_decoder_broker_test.cc",
-    "audio_decoder_test.cc",
     "decoder_selector_test.cc",
     "encoded_video_chunk_test.cc",
     "image_decoder_external_test.cc",
@@ -85,3 +86,7 @@
 
   data = [ "//third_party/blink/web_tests/images/resources/" ]
 }
+
+fuzzable_proto_library("fuzzer_protos") {
+  sources = [ "fuzzer_inputs.proto" ]
+}
diff --git a/third_party/blink/renderer/modules/webcodecs/audio_decoder.cc b/third_party/blink/renderer/modules/webcodecs/audio_decoder.cc
index 0f39509..107eee8 100644
--- a/third_party/blink/renderer/modules/webcodecs/audio_decoder.cc
+++ b/third_party/blink/renderer/modules/webcodecs/audio_decoder.cc
@@ -58,18 +58,19 @@
 
   std::vector<uint8_t> extra_data;
   if (config.hasDescription()) {
-    DOMArrayBuffer* buffer;
     if (config.description().IsArrayBuffer()) {
-      buffer = config.description().GetAsArrayBuffer();
+      DOMArrayBuffer* buffer = config.description().GetAsArrayBuffer();
+      uint8_t* start = static_cast<uint8_t*>(buffer->Data());
+      size_t size = buffer->ByteLengthAsSizeT();
+      extra_data.assign(start, start + size);
     } else {
-      // TODO(sandersd): Can IsNull() be true?
       DCHECK(config.description().IsArrayBufferView());
-      buffer = config.description().GetAsArrayBufferView()->buffer();
+      DOMArrayBufferView* view =
+          config.description().GetAsArrayBufferView().Get();
+      uint8_t* start = static_cast<uint8_t*>(view->BaseAddress());
+      size_t size = view->byteLengthAsSizeT();
+      extra_data.assign(start, start + size);
     }
-    // TODO(sandersd): Is it possible to not have Data()?
-    uint8_t* start = static_cast<uint8_t*>(buffer->Data());
-    size_t size = buffer->ByteLengthAsSizeT();
-    extra_data.assign(start, start + size);
   }
 
   media::ChannelLayout channel_layout =
diff --git a/third_party/blink/renderer/modules/webcodecs/audio_decoder.idl b/third_party/blink/renderer/modules/webcodecs/audio_decoder.idl
index 90ef65f..93c3efd 100644
--- a/third_party/blink/renderer/modules/webcodecs/audio_decoder.idl
+++ b/third_party/blink/renderer/modules/webcodecs/audio_decoder.idl
@@ -56,5 +56,5 @@
   // decode requests are aborted.
   //
   // Not recoverable: make a new AudioDecoder if needed.
-  void close();
+  [RaisesException] void close();
 };
diff --git a/third_party/blink/renderer/modules/webcodecs/audio_decoder_test.cc b/third_party/blink/renderer/modules/webcodecs/audio_decoder_test.cc
deleted file mode 100644
index f7757760..0000000
--- a/third_party/blink/renderer/modules/webcodecs/audio_decoder_test.cc
+++ /dev/null
@@ -1,25 +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 "testing/gtest/include/gtest/gtest.h"
-#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_testing.h"
-#include "third_party/blink/renderer/bindings/modules/v8/v8_audio_decoder_init.h"
-#include "third_party/blink/renderer/platform/heap/heap.h"
-
-#include "third_party/blink/renderer/modules/webcodecs/audio_decoder.h"
-
-namespace blink {
-
-TEST(AudioDecoderTest, Construction) {
-  V8TestingScope v8_scope;
-
-  auto* init = MakeGarbageCollected<AudioDecoderInit>();
-
-  auto* decoder = MakeGarbageCollected<AudioDecoder>(
-      v8_scope.GetScriptState(), init, v8_scope.GetExceptionState());
-
-  EXPECT_EQ(decoder->decodeQueueSize(), 0);
-}
-
-}  // namespace blink
diff --git a/third_party/blink/renderer/modules/webcodecs/decoder_template.cc b/third_party/blink/renderer/modules/webcodecs/decoder_template.cc
index ed98c71..5ea6d2f 100644
--- a/third_party/blink/renderer/modules/webcodecs/decoder_template.cc
+++ b/third_party/blink/renderer/modules/webcodecs/decoder_template.cc
@@ -43,10 +43,10 @@
                                          ExceptionState& exception_state)
     : script_state_(script_state) {
   DVLOG(1) << __func__;
-  // TODO(crbug.com/1070871): Use fooOr(nullptr).
-  // TODO(sandersd): Is it an error to not provide all callbacks?
-  output_cb_ = init->hasOutput() ? init->output() : nullptr;
-  error_cb_ = init->hasError() ? init->error() : nullptr;
+  DCHECK(init->hasOutput());
+  DCHECK(init->hasError());
+  output_cb_ = init->output();
+  error_cb_ = init->error();
 }
 
 template <typename Traits>
@@ -63,6 +63,11 @@
 void DecoderTemplate<Traits>::configure(const ConfigType* config,
                                         ExceptionState& exception_state) {
   DVLOG(1) << __func__;
+  if (is_closed_) {
+    exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
+                                      "Cannot configure a closed codec.");
+    return;
+  }
 
   auto media_config = std::make_unique<MediaConfigType>();
   String console_message;
@@ -90,8 +95,15 @@
 }
 
 template <typename Traits>
-void DecoderTemplate<Traits>::decode(const InputType* chunk, ExceptionState&) {
+void DecoderTemplate<Traits>::decode(const InputType* chunk,
+                                     ExceptionState& exception_state) {
   DVLOG(3) << __func__;
+  if (is_closed_) {
+    exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
+                                      "Cannot decode with a closed codec.");
+    return;
+  }
+
   Request* request = MakeGarbageCollected<Request>();
   request->type = Request::Type::kDecode;
   request->chunk = chunk;
@@ -101,8 +113,14 @@
 }
 
 template <typename Traits>
-ScriptPromise DecoderTemplate<Traits>::flush(ExceptionState&) {
+ScriptPromise DecoderTemplate<Traits>::flush(ExceptionState& exception_state) {
   DVLOG(3) << __func__;
+  if (is_closed_) {
+    exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
+                                      "Cannot flush a closed codec.");
+    return ScriptPromise();
+  }
+
   Request* request = MakeGarbageCollected<Request>();
   request->type = Request::Type::kFlush;
   ScriptPromiseResolver* resolver =
@@ -114,8 +132,14 @@
 }
 
 template <typename Traits>
-void DecoderTemplate<Traits>::reset(ExceptionState&) {
+void DecoderTemplate<Traits>::reset(ExceptionState& exception_state) {
   DVLOG(3) << __func__;
+  if (is_closed_) {
+    exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
+                                      "Cannot reset a closed codec.");
+    return;
+  }
+
   Request* request = MakeGarbageCollected<Request>();
   request->type = Request::Type::kReset;
   requests_.push_back(request);
@@ -124,14 +148,20 @@
 }
 
 template <typename Traits>
-void DecoderTemplate<Traits>::close() {
-  // TODO(chcunningham): Implement.
+void DecoderTemplate<Traits>::close(ExceptionState& exception_state) {
+  DVLOG(3) << __func__;
+  if (is_closed_) {
+    exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
+                                      "Codec is already closed.");
+    return;
+  }
+  Shutdown(false);
 }
 
 template <typename Traits>
 void DecoderTemplate<Traits>::ProcessRequests() {
   DVLOG(3) << __func__;
-  // TODO(sandersd): Re-entrancy checker.
+  DCHECK(!is_closed_);
   while (!pending_request_ && !requests_.IsEmpty()) {
     Request* request = requests_.front();
     switch (request->type) {
@@ -159,36 +189,34 @@
 template <typename Traits>
 bool DecoderTemplate<Traits>::ProcessConfigureRequest(Request* request) {
   DVLOG(3) << __func__;
+  DCHECK(!is_closed_);
   DCHECK(!pending_request_);
   DCHECK_EQ(request->type, Request::Type::kConfigure);
   DCHECK(request->media_config);
 
-  // TODO(sandersd): If we require configure() after reset() and there is a
-  // pending reset, then we could drop this request.
-  // TODO(sandersd): If the next request is also a configure(), they can be
-  // merged. It's not trivial to detect that situation.
-  // TODO(sandersd): Elide this request if the configuration is unchanged.
+  // TODO(sandersd): Record this configuration as pending but don't apply it
+  // until there is a decode request.
 
   if (!decoder_) {
     media_log_ = std::make_unique<media::NullMediaLog>();
     decoder_ = Traits::CreateDecoder(*ExecutionContext::From(script_state_),
                                      media_log_.get());
     if (!decoder_) {
-      // TODO(sandersd): This is a bit awkward because |request| is still in the
-      // queue.
       HandleError();
       return false;
     }
 
     // Processing continues in OnInitializeDone().
-    // TODO(sandersd): OnInitializeDone() may be called reentrantly, in which
-    // case it must not call ProcessRequests().
+    // Note: OnInitializeDone() must not call ProcessRequests() reentrantly,
+    // which can happen if InitializeDecoder() calls it synchronously.
     pending_request_ = request;
+    initializing_sync_ = true;
     Traits::InitializeDecoder(
         *decoder_, *pending_request_->media_config,
         WTF::Bind(&DecoderTemplate::OnInitializeDone, WrapWeakPersistent(this)),
         WTF::BindRepeating(&DecoderTemplate::OnOutput,
                            WrapWeakPersistent(this)));
+    initializing_sync_ = false;
     return true;
   }
 
@@ -213,6 +241,7 @@
 template <typename Traits>
 bool DecoderTemplate<Traits>::ProcessDecodeRequest(Request* request) {
   DVLOG(3) << __func__;
+  DCHECK(!is_closed_);
   DCHECK(!pending_request_);
   DCHECK_EQ(request->type, Request::Type::kDecode);
   DCHECK(request->chunk);
@@ -221,8 +250,8 @@
   // TODO(sandersd): If a reset has been requested, complete immediately.
 
   if (!decoder_) {
-    // TODO(sandersd): Emit an error?
-    return true;
+    HandleError();
+    return false;
   }
 
   if (pending_decodes_.size() + 1 >
@@ -231,7 +260,15 @@
     return false;
   }
 
+  scoped_refptr<media::DecoderBuffer> decoder_buffer =
+      Traits::MakeDecoderBuffer(*request->chunk);
+  if (decoder_buffer->data_size() == 0) {
+    HandleError();
+    return false;
+  }
+
   // Submit for decoding.
+  //
   // |pending_decode_id_| must not be zero because it is used as a key in a
   // HeapHashMap (pending_decodes_).
   while (++pending_decode_id_ == 0 ||
@@ -239,7 +276,7 @@
     ;
   pending_decodes_.Set(pending_decode_id_, request);
   --requested_decodes_;
-  decoder_->Decode(std::move(Traits::MakeDecoderBuffer(*request->chunk)),
+  decoder_->Decode(std::move(decoder_buffer),
                    WTF::Bind(&DecoderTemplate::OnDecodeDone,
                              WrapWeakPersistent(this), pending_decode_id_));
   return true;
@@ -248,6 +285,7 @@
 template <typename Traits>
 bool DecoderTemplate<Traits>::ProcessFlushRequest(Request* request) {
   DVLOG(3) << __func__;
+  DCHECK(!is_closed_);
   DCHECK(!pending_request_);
   DCHECK_EQ(request->type, Request::Type::kFlush);
 
@@ -277,6 +315,7 @@
 template <typename Traits>
 bool DecoderTemplate<Traits>::ProcessResetRequest(Request* request) {
   DVLOG(3) << __func__;
+  DCHECK(!is_closed_);
   DCHECK(!pending_request_);
   DCHECK_EQ(request->type, Request::Type::kReset);
   DCHECK_GT(requested_resets_, 0);
@@ -291,15 +330,58 @@
 
 template <typename Traits>
 void DecoderTemplate<Traits>::HandleError() {
-  // TODO(sandersd): Reject outstanding requests. We can stop rejeting at a
-  // decode(keyframe), reset(), or configure(), but maybe we should reject
-  // everything already queued (an implicit reset).
-  NOTIMPLEMENTED();
+  DVLOG(1) << __func__;
+  if (is_closed_)
+    return;
+
+  Shutdown(true);
+}
+
+template <typename Traits>
+void DecoderTemplate<Traits>::Shutdown(bool is_error) {
+  DVLOG(3) << __func__;
+  DCHECK(!is_closed_);
+
+  // Store the error callback so that we can use it after clearing state.
+  V8WebCodecsErrorCallback* error_cb = error_cb_.Get();
+
+  // Prevent any new public API calls during teardown.
+  // This should make it safe to call into JS synchronously.
+  is_closed_ = true;
+
+  // Prevent any late callbacks running.
+  output_cb_.Release();
+  error_cb_.Release();
+
+  // Clear decoding and JS-visible queue state.
+  decoder_.reset();
+  pending_decodes_.clear();
+  requested_decodes_ = 0;
+  requested_resets_ = 0;
+
+  // Fire the error callback if necessary.
+  // TODO(sandersd): Create a DOMException to report.
+  if (is_error)
+    error_cb->InvokeAndReportException(nullptr, nullptr);
+
+  // Clear any pending requests, rejecting all promises.
+  if (pending_request_ && pending_request_->resolver)
+    pending_request_.Release()->resolver.Release()->Reject();
+
+  while (!requests_.IsEmpty()) {
+    Request* request = requests_.front();
+    if (request->resolver)
+      request->resolver.Release()->Reject();
+    requests_.pop_front();
+  }
 }
 
 template <typename Traits>
 void DecoderTemplate<Traits>::OnConfigureFlushDone(media::DecodeStatus status) {
   DVLOG(3) << __func__;
+  if (is_closed_)
+    return;
+
   DCHECK(pending_request_);
   DCHECK_EQ(pending_request_->type, Request::Type::kConfigure);
 
@@ -318,6 +400,9 @@
 template <typename Traits>
 void DecoderTemplate<Traits>::OnInitializeDone(media::Status status) {
   DVLOG(3) << __func__;
+  if (is_closed_)
+    return;
+
   DCHECK(pending_request_);
   DCHECK_EQ(pending_request_->type, Request::Type::kConfigure);
 
@@ -329,21 +414,25 @@
   }
 
   pending_request_.Release();
-  ProcessRequests();
+
+  if (!initializing_sync_)
+    ProcessRequests();
 }
 
 template <typename Traits>
 void DecoderTemplate<Traits>::OnDecodeDone(uint32_t id,
                                            media::DecodeStatus status) {
   DVLOG(3) << __func__;
-  DCHECK(pending_decodes_.Contains(id));
+  if (is_closed_)
+    return;
 
-  if (status != media::DecodeStatus::OK) {
-    // TODO(sandersd): Handle ABORTED.
+  if (status != media::DecodeStatus::OK &&
+      status != media::DecodeStatus::ABORTED) {
     HandleError();
     return;
   }
 
+  DCHECK(pending_decodes_.Contains(id));
   auto it = pending_decodes_.find(id);
   pending_decodes_.erase(it);
   ProcessRequests();
@@ -352,6 +441,9 @@
 template <typename Traits>
 void DecoderTemplate<Traits>::OnFlushDone(media::DecodeStatus status) {
   DVLOG(3) << __func__;
+  if (is_closed_)
+    return;
+
   DCHECK(pending_request_);
   DCHECK_EQ(pending_request_->type, Request::Type::kFlush);
 
@@ -367,6 +459,9 @@
 template <typename Traits>
 void DecoderTemplate<Traits>::OnResetDone() {
   DVLOG(3) << __func__;
+  if (is_closed_)
+    return;
+
   DCHECK(pending_request_);
   DCHECK_EQ(pending_request_->type, Request::Type::kReset);
 
@@ -377,6 +472,8 @@
 template <typename Traits>
 void DecoderTemplate<Traits>::OnOutput(scoped_refptr<MediaOutputType> output) {
   DVLOG(3) << __func__;
+  if (is_closed_)
+    return;
   output_cb_->InvokeAndReportException(
       nullptr, MakeGarbageCollected<OutputType>(output));
 }
diff --git a/third_party/blink/renderer/modules/webcodecs/decoder_template.h b/third_party/blink/renderer/modules/webcodecs/decoder_template.h
index 30517f2..53b58cb 100644
--- a/third_party/blink/renderer/modules/webcodecs/decoder_template.h
+++ b/third_party/blink/renderer/modules/webcodecs/decoder_template.h
@@ -43,7 +43,7 @@
   void decode(const InputType*, ExceptionState&);
   ScriptPromise flush(ExceptionState&);
   void reset(ExceptionState&);
-  void close();
+  void close(ExceptionState&);
 
   // GarbageCollected override.
   void Trace(Visitor*) const override;
@@ -77,6 +77,7 @@
   bool ProcessFlushRequest(Request* request);
   bool ProcessResetRequest(Request* request);
   void HandleError();
+  void Shutdown(bool is_error);
 
   // Called by |decoder_|.
   void OnInitializeDone(media::Status status);
@@ -103,6 +104,8 @@
   // TODO(sandersd): Store the last config, flush, and reset so that
   // duplicates can be elided.
   std::unique_ptr<MediaDecoderType> decoder_;
+  bool initializing_sync_ = false;
+  bool is_closed_ = false;
 
   // TODO(sandersd): Can this just be a HashSet by ptr comparison?
   uint32_t pending_decode_id_ = 0;
diff --git a/third_party/blink/renderer/modules/webcodecs/fuzzer_inputs.proto b/third_party/blink/renderer/modules/webcodecs/fuzzer_inputs.proto
new file mode 100644
index 0000000..da3ef7c
--- /dev/null
+++ b/third_party/blink/renderer/modules/webcodecs/fuzzer_inputs.proto
@@ -0,0 +1,54 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+syntax = "proto2";
+
+package wc_fuzzer;
+
+message ConfigureVideoDecoder {
+  // String describing codec (e.g. "vp09.00.10.08")
+  optional string codec = 1;
+
+  optional bytes description = 2;
+}
+
+message EncodedVideoChunk {
+  enum EncodedVideoChunkType {
+    KEY = 0;
+    DELTA = 1;
+  }
+  optional EncodedVideoChunkType type = 1;
+
+  optional uint64 timestamp = 2;
+
+  optional uint64 duration = 3;
+
+  optional bytes data = 4;
+}
+
+message DecodeVideo {
+  optional EncodedVideoChunk chunk = 1;
+}
+
+message Flush {
+  optional bool wait_for_promise = 1;
+}
+
+message Reset {}
+
+message Close {}
+
+message VideoDecoderApiInvocation {
+  oneof Api {
+    ConfigureVideoDecoder configure = 1;
+    DecodeVideo decode = 2;
+    Flush flush = 3;
+    Reset reset = 4;
+    Close close = 5;
+  }
+}
+
+message VideoDecoderApiInvocationSequence {
+  repeated VideoDecoderApiInvocation invocations = 1;
+}
diff --git a/third_party/blink/renderer/modules/webcodecs/fuzzer_seed_corpus/video_decoder/decode_h264.textproto b/third_party/blink/renderer/modules/webcodecs/fuzzer_seed_corpus/video_decoder/decode_h264.textproto
new file mode 100644
index 0000000..67ad7d1f
--- /dev/null
+++ b/third_party/blink/renderer/modules/webcodecs/fuzzer_seed_corpus/video_decoder/decode_h264.textproto
@@ -0,0 +1,66 @@
+# Simulates reasonable (mis)usage of VideoDecoder
+#  configure(h264)
+#  decode() a real key then delta frame
+#  flush(), reset(), re configure(h264)
+#  decode() the delta frame again (trigger decode error)
+#  close() (trigger exception (already closed by error))
+
+invocations: [
+  {
+    configure {
+      codec: 'avc1.64000c',
+      description: "\001d\000\014\377\341\000\031gd\000\014\254\331AA\373\001\020\000\000\003\000\020\000\000\003\001@\361B\231`\001\000\006h\353\343\313\"\300\375\370\370\000"
+    }
+  },
+  {
+    decode {
+      chunk {
+        type: KEY,
+        timestamp: 0,
+        duration: 33333,
+
+        # H.264 I frame
+        data: "\000\000\002\256\006\005\377\377\252\334E\351\275\346\331H\267\226,\330 \331#\356\357x264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=7 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=10 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00\000\200\000\000\014\361e\210\204\000\021\377\376\367\210\0372\313o\234j\327L\204\000\222\213\017\374\345;\r\376]6\305\027~\244J\277\360\274o\371U\212\242.u\376\361\357\246\375\" \005\271\317q(\222\312U\323\311\357\013\024\020d\017\363B\224dv\357d\342X\255\203\214\034\230\357\216\274\320M8!\361\247f\246B\000\257h\372\321\275^\217\024\361n\216\344\251\255e\231\0036\217\326\234\332\031,\250\316\250^\364\341\355\"\251A-\326\332B\232\026@s\305\016[.b\321\0022&}\241\243>\262\341\025\237^\003\332I\301\035w#fl\347Q|\334\014D`\001;\236\325\235\247\257*{.M\200\014q\367\367\223\347\265w@`J\332jI}\311\367\271\375v?\333\327\016\224\271\311\212\006\314\340\022I\342\310\252;\254\023d\233\334\265\376\343,^k<\331\226\200\2366\274c\267B\002\354T;\001\211\327\3711\274k{\236O\331\021-\363\334\226\235c\000\277+W\307E9\326\335\200\251\320c+\033)\2733\0302\010>^\016R\200\336\312V\373L\030\0270\032\023$\250Ca\261\254\2425\345\3107\"\206\315\227Sw\215m\\\005hG\350\013}B\003\233\235\271\336\201\r[\216M\351*$\020\034\327\325\362\304Q\317\225^\206b@\227\207\317\022\207?\323:\342\0179\260\2325%\246t\301:\257\230\210\327\301~\262\270C\351/{zF%\201\2371\333\205\243W\364?\355k\316\334WV\227\220s\366\311\355E\366\034r\3672\355\346\236|Jk\2267\331\317\270\263\230\333\357\351Z\210\371\007\274\256x\372\036\203N\224.,D\r\030\355Q*\326\322d\246\005\003\344\224{gM6\335<\307\3250\225\003P\253\247\3461\226\345%\377\273\330\033\016\343\333\211/\344\276\243\323\323\362\226i\355\351\3244\354\254\t\366\r \234\262A\215\350~_\272kTx%\026\272z\022I\010G\272O@a\252\254\332i\022#\241\267\210V+\361\324\351\006\233\3222\254\352\334\257s,,[\r\273\331\311I\"d.\013a\333f/?\341\307\367V:\220.Y\006_\207\327\207\366=bK\345\027\240\226\337a{\247\354`\001,\022\346U\272\306\306\t}-)\236&b.\r0\206[\214\302\265U\327\374DMW\0030\253|\247\241\001\360\036\327\232&\\\301\003\376\334\323sC\220\036\032J;G\376pg\224cG\021t\246\021]dK\253\320\"\306H8\323\000\370\371\326z\231D\302\326c\034\224T>\'\277\275\273\325E\364\205\267^\02612F\016\322Gu\244r\001P>4#\220\342\350\344\243;\\\244\355\307\235\323\0176j\2340J\261\023\232A\026A\343\210\374\314\002\374\223\363\244\177\274\371\021\270f\3263\312\333\261/\224\014\017}2M\014\265\253I1k\226\322\306\201\016\217\215\312\0147\255\234\020\311ec\001>\316_B\270E\230\240\241\231\214\322\247\364\217\200\321]\004p.\331hNQA\207?C\274\373]f\020\335^\226\245\337\320\005\342\316\314\362[D\213\361E~\363c\365\31721#\336{\010Z\272\225\007_\023Y\035\033\034\010\007\346\300\027{\000\357\'Y\001\2338\013\r\026\\,\265\341%\t\2278R\321\303\232N\356\377\313R\032\202k\314\372M\\1&\022\305Xgx\004\202\246r\264\334\177\0224\350W!\235\261\310\024\261\342M\352-\2458*B\307b\277\0064.\261<e\007\325~?h\302\235G\310\215\217\270\037\204\313%s\341\347\273\375-\316\212\243\r\377\213\271\317\004bG\231\354\212_R\325\211\326\216\033\310V:\234\370\224_>\2519\210>\275M<O&\205e\272\027\026:Y\035\310\351\217\305&\273\345\031\276\261\355\317\260\022\001\014\303\264\256=f\313\275KOt\3315\350\027v}\033Ixv=\233\002\030T\033\254\317A-\331|\253C\370\372\246!L\335\261G\306\202\025\374C\020\312M1\373Do(Q\272\244\037\341b\205lk\2466/S\323\304\241\323Vs6+X\332E/\264\323\007\036\002||9&\013\302L@\305\200] \206\331GK\371\243{\325\274\247\340\374\273*\361+\362\322ZUq;\"\217\377\212\322\234\227\352\203\t\372y~\372\223{\272)\332#^\t\030\251\036\304\340\0261\225-\300c\303\033vy\266]\014\'S\323\rP\355\000\037\030\335\017\023\322\222\237\317\271hp\306g\010\2145!\3112\263\302\243Y\253\204<h\002\317\373\313\016\354\302\272\272=%#\206\325F}\037\230omM\332\221\222\201K\314\210\340\017v\005\021MS\031\232\014\310;\256T\227\355\200\245B\331\307\303h\016\036b\243=\377\373\2169v\247\375\275\245\014\244\207t\327\305\244\277\345Fs\361\370\024{g\367\300\\\375h5\242|}\210%\344K\035\177\340j\216j\204y\200\343B4j\351\017\246\017AHz&\373\247[\205Q\231\276V\236pm\273\355\363\222\037\325:L!\2062\2317\020\205e\226 mf\306\346C\242(\361\334\337\365\275\313\230\026\227\243\324\225\347\226\225f\030\231\322\031h_y\377?\250\323\306\376\300\270\236M\257\220Q\251y\314\335\361?\377\n\316P\337i\206\373\321.Fu\372\004\316\335\214\325V\331kf#\363\365\221\253\356\247\314\201-\363\227\321(\373\255{\204BZ\343\037\002\266\030\236uCN\356\236\020\275\023xb\2063\375\314\3217bvB\0061\023<&\007[\370\322s@\236\\]L\340\350-\225\"\001\246\324\021=\331I(iF\215\017b\271z=/\005\325\271\375\004R\274J\027|U\016P\017)\355\346\022b\202\306)V\031g\2338\367!V\240>0\253-\232~\260\357x\215@\335\217\353\326D\010R\232\307\317\257\3137\310\n\3673#\266\341\311\247\265%\231\342\355\005\266\010Z\265\331\326/M\002\314h\014\026\211\0001\346O\253\367\366\324f\211\246%\314\002\007\034\034=;\255\234\276\370\301v\320\263P\237\223%6\210\375\247\025\225\022\332\272\360#U\237S\207\230\030\306l\311\250X]G\313NK\025\333\313\226\275\203\2201\004I\272j\314\271\266\366I=8\2546\341:\244k\231aqjI\265\241\327\326+h2\303\354\0068\240\013\317\030p\035\306\263\255\366\n\233\235\034\272V\302\270\t,\3056\346E\370\274v\256\3475F\332\316,\266\207Y\241\n\326\370CM\rg\353\242\315\211\204\332\221\036\302\n\304QY\260\3235\246\313\272\270L\347x\222\327\250w\334\201\241\000\233\001,\272\264SujV\214\377\177V\014\207\206\206V\376u\304\204Ko\312dG\376\006\272\022\322\024\035\235\303\236w\367,2f\327R\027\002?@\235\265bU+\311\347\355\326\343\036\324\270\246\010;\247J\210\373Ul\001e\306v\207\'\257\370\327U\266\355SIp4\365\202\253W~g\331\255;\256M\306 2 ^~mV\241v\235\315x\321,h\315\004\305\001\313\301\021\335\020\3254\031\200\322\313_\\\230\263#\014\367\346%)B\r=}s\332F\2534\253d\t\301VZ~\035O\022\\\240\325\03793\t\236(\r9\315\375~\332bI\305\\\270\300\323\250$0\014\234O\374\002\264\322\323}\324\253\211\033\272\325r!KL\246\310\\\031\346m\267\204\263\354\r\204\253V\210\255x;\220\006\254\322g\023\341\306\266\377\366qG\006Mz\221\022\237\226s\370\262@A<@SO\263}\310\342Z\016\00563n\205{\276\000x\275\002F\002\2779\275\267\332e\346o\037\036<\r\331\271\320H\221|\017\030C\343\n\022\373jT\300\366\371\243\241\310\306I\272\252\260\341\371\362\367l\304CSd\352+\274%\276\213\370\354\207\250\234\264t\335\316\363}\361jg+\313\276\362A\254\371r8Z\331\351\377O\313O\001M\276\247\177\370\007\032:>4\264AOH\021\316\002\211\316\334\302C\333n\347\2022\223\2233S\207\303\270n\200\270\341B\307\274$\222\252\235\325\025F\024\315\227\3041&\223\031\026\366\244\201jp\027\3772\236\247Q\3450\025\342\032\342\277O\325\220_\276\355On$\320\017\201\226\343o\213l\033\325P\322\033\2636\260\014*:\356c\332\357\307\016tpu\2536\206\347\3401\364@\007Z\320\345\231\320\021\3300\372!\243w\236E\364\'\362]:\263\315\235X\022\343E\247?_{\271\233}\200\022\027_\256V\0041\"\313\202$\027|\300\257%\374\311E-\034\226\217:\213\224\247C$\321\275\364\344\000\002\355\245\366}?\211*D\315a\265\2705\352\216\r\037i\351vj\313\363\354\325I[\233}\354h\347\254\226\270C\2252L\341Z*%\031w\236\'W\023\226\273\3515]<\331\312\275\027\3746\0167\344\250\3344?\233\314\024\014Y\2049\200\215\337 \307z\333\315z\260\275\nT\365Z\212\"q\322\236w\253T\233=U\213\335\217D\351\302ug\032\256\2129\313\256\206{<\341\3017\366L\253^\275\221\026\202\2024Y\217\3722hs\222\327H+\3643\t\226\020\242\200\326q\003\254\326\265O\334b\207-\272\350\361\332\266\361\203]\236lq0\\Qb$\332\241\020{\245\216\034\270W\266\3237\356\234\260\354\210\3311\262\005S\013]>|w\214>\341e\020c\333\314\264\020\214u\023\271e\013l\000}\005\007\203C.\335`V\223\330d\317\315\306\017\326<\252\"\020\367\263\211q\031\032p|\366\'O\312\311\274\2546:\301T\035\246,#\310d\263\276w\366\323\222\302\346\214\322n\001>\263\342\236\350\330\342\232\265_;\020y\312\234\264\301\360\020\355\321\203\n\016p\212\327\335X\377\267Z$\271R\356\301\343\231\315\314\350\263u\270HkWT\272D2\317 \302\177\255\027\233\375\224iy\252p4\010\256\235\213~}C\030 \032\235\352\207#=p\317\222\177\306\356\035\252\014(\330\265\ra\255\225|\316\263\275)\326\024s\247\000\031h\020\347\200\027\360\023:_\301P\251LC\213\215\361\177rP||? I]\373\206\337W\277\2479\014/\264W\337u\256\220\216A\334\362\367j\020\356\250\t\375\270\244\274;Q\033\301\216Ib3\335\2575v\300\264\204\013\262_\257}\223]\371\327\351\017Hg<\232\264[L\367\341\035\023m\020\324\376\251W-\335\340\360\003\367\025c*\260\250\217\375\363!\013\345?\307@\243\304Xi\'\226\307lF\344.3R\356\177\217H\010\361\330\214<?\327\26763\253\t\232u~\331\361\246\025\312\266\3178s\005\200\330#\213e9\263\364\210\014\272O\365\006J1r\r\240\345\026\3711\202\354?\206\234P\343N\223\331\257t\310\2758\375\242L_W^IC\345\301\365t\353\243\n\334\217\347[\366d\323\201\354u\320$E\226b\036^\216T\003\300tS\346\233[p\367*-?4\335!\246\377a\364\345P\004\016\333AG\\}\376Ff5\273y\233_\332\337Q\210\324\235\301\373Rx\004\315\016\\\2230\224\272\300>W\315\033\231S\266Yf4*E\260\370\340j{\261\035\024C.v\307\256\032\345\275\000G\001$\335\237\352\275\013\245\2651\312\376\002\205\214\213\262\276\370kA\033O\021\252$\252\320p\364Q\212\311Ax\203\334~\337\353\324v4@\366*\310\232\330#\327\020O9\023y\217\367u\002*\343\201OH|\'\260\211=\025\267\317$\326\262\304\266\220\202\007\366V\007\261\234N\246%\225(e\364\205}\305\303\2203\323\001Z\367\325\016g\\\215\263\237\007\023k\345\177\347w\221\301\316.L\n\235\214.m\213\223\237\242\377\306*j&7#9sv\321\nN\375\273\315QU\320\034\220i\0356o\237\346\202\201\306\003\373\265\213;{\205=-\352\2325pO\341V\014y_0\341*Rk\216\351\244\206\347\375\302/\202\355Ue\2444f\203\026\256\356\005\034;Z\254\337!\232]G\3138\266_\357\251\207q\377\3250}\324n\243\017\373\006\224\034y\320\253=\r\264\226\332l\010\3029\212\215S6\300P\037\315\3000\354.\214\r\322\016\3467\000\202o\377\222\035<\026Q\031\022\215\371\300G\345\240\306\263\266@\270c\367\214\035__\241Ol\321\252\263\362\227\020\023\371"
+      }
+    }
+  },
+  {
+    decode {
+      chunk {
+        type: DELTA,
+        timestamp: 33333,
+        duration: 33333,
+        
+        # H.264 P frame
+        data: "\000\000\003\232A\232$lA\017\376\252U\000\310\361d@\002\037\t\356]KJ\224\327\214\274 \032\024u\370\323)\347\226\247\365&\235\315\037\334\034\257\342\020n*\221\327P\340Q\264\n\27339O`\333\231g\337\214\031E\220-b3\226\214\341\336\332\201\326Z\326y\251)\274\021~\311\262\036E\'\367\300H3\206\371R\300\250+3^&\251\245\277a\206\006\263\210D!iE\2235\261\235p5\327\266\245\2366\212\337\023X\363\372\263zi\347L\215N\033v\340\317\2407\000\346$\225]\211k:\254ytD!\237\034\241\242&\037C3\'\026y\335Bh\202\242S\264]?+dN\373Ki\342p\370o\270\007\263\204\343\356\207\2135C/U\236p%&\300v\035id\013\215\350G\270\327\237\014y\246\347\352O\275\220\350\222.\270\327\371\343?\372\210\\P\341G\306\027\272df\201}\315\003 *8\032!,e\237\"\261[\352\223\'\036\312\202\275Y\270P\006\271B\310\326\255\245m\262P\273\'\375\235\254\3109\332-\360+fXX\271\356\366\257\277\3039\351?\245\336\324\271\266\353D\321\243:\312\334\217l\177\374}!\304\036\213\307\372\016\007\334\303\003i+x\303\340\027\366(_z\346\251\243@\3460\202\337\342\275)\203\237~\345\316\237\202O#\251\347C\252\261\345\232Q\226\213\365\304=\243q\251I\323\332\340\303\007lca\026\335=l\216\360\263\266\375t\342Rb\276\3505i\261\356\313\216\321\232\337\310\223VDP\033\247k\005\332\3474\357\271\3611\251\203\326\367\247\301R\243\374\315\223\252hZ\316\322n\220o^\273}\375\025X\317\237\215.\236\037\032w*\376Q\300N)\177\245\234\033\004\247N\347\376g\234\256\030GL\226\245\353\250\333@\362\215p\256a\313a\243\223\347V\210@\357yV\025\251,C\"\3330\315d\026Q\002!\031\315\251\013q\232f\231b\207\003\250\010\253=U))\357\275L0\242\267m\255\366\336\027\037\266C\307\342\200.8\353M\344<\0136\3501Qo\325\365\373\310\241%j\277,-\362\265E\312w\350\221\351\306a/z83q/]KE\r\031\332\003\325\022\t\221\355Ph\275\312\240\223c\200\1776cu\250\320(dy\266$p\320\032!\226\221\247\213\274\223h\'\342\3458\215\341\030\204aujK\000\021\212\3109P\263\027\026\376i\300\006\201\227p\t\344\005\006g\361\226\311\272\037ln\242\347\331U\276\345\267\340(M\332\376?\342\335\3060\376\023\266\377*8\200\002:\223\352\210\350\005\202\206u\321\016\315I\225\207\026\337\253c\216u\033\243rB\366Cb]Z\375\367S?\331\313\036x\335\311Gc\233\034}\031!mdq\315\371\242Bz\244\025\350\000\323b\274&\244/ 2#4K_:>\375\322\230\277>\313\231\265\345\203}\363H\305W% \0265\214\243ZB\316\3124W\037\326e\005wl\210\223}?\250\330\010\233\320\366\347\342\305\264\020\304^\374&\203j\224\312\271\337\211\001\376\276|\265\335\216\345d\363\025y\353N\367XRa\321\334So\016\236\254Jr\200\257H\n\310x\300HF\303\031Y\240pW\026\027\247BN\303F\356\026\357\177\367d\206%\356\375\212=1\235\032\263\001\247\305\2144\226fE\377\024\351\022\326W\264\366\302uQ\313\006\272\376\211\212\263\263\212m\251V\332"
+      }
+    }
+  },
+  {
+    flush {}
+  },
+  {
+    reset {}
+  },
+  {
+    configure {
+      codec: 'avc1.64000c',
+      description: "\001d\000\014\377\341\000\031gd\000\014\254\331AA\373\001\020\000\000\003\000\020\000\000\003\001@\361B\231`\001\000\006h\353\343\313\"\300\375\370\370\000"
+    }
+  },
+  {
+    decode {
+      chunk {
+        type: DELTA,
+        timestamp: 33333,
+        duration: 33333,
+        
+        # H.264 P frame
+        data: "\000\000\003\232A\232$lA\017\376\252U\000\310\361d@\002\037\t\356]KJ\224\327\214\274 \032\024u\370\323)\347\226\247\365&\235\315\037\334\034\257\342\020n*\221\327P\340Q\264\n\27339O`\333\231g\337\214\031E\220-b3\226\214\341\336\332\201\326Z\326y\251)\274\021~\311\262\036E\'\367\300H3\206\371R\300\250+3^&\251\245\277a\206\006\263\210D!iE\2235\261\235p5\327\266\245\2366\212\337\023X\363\372\263zi\347L\215N\033v\340\317\2407\000\346$\225]\211k:\254ytD!\237\034\241\242&\037C3\'\026y\335Bh\202\242S\264]?+dN\373Ki\342p\370o\270\007\263\204\343\356\207\2135C/U\236p%&\300v\035id\013\215\350G\270\327\237\014y\246\347\352O\275\220\350\222.\270\327\371\343?\372\210\\P\341G\306\027\272df\201}\315\003 *8\032!,e\237\"\261[\352\223\'\036\312\202\275Y\270P\006\271B\310\326\255\245m\262P\273\'\375\235\254\3109\332-\360+fXX\271\356\366\257\277\3039\351?\245\336\324\271\266\353D\321\243:\312\334\217l\177\374}!\304\036\213\307\372\016\007\334\303\003i+x\303\340\027\366(_z\346\251\243@\3460\202\337\342\275)\203\237~\345\316\237\202O#\251\347C\252\261\345\232Q\226\213\365\304=\243q\251I\323\332\340\303\007lca\026\335=l\216\360\263\266\375t\342Rb\276\3505i\261\356\313\216\321\232\337\310\223VDP\033\247k\005\332\3474\357\271\3611\251\203\326\367\247\301R\243\374\315\223\252hZ\316\322n\220o^\273}\375\025X\317\237\215.\236\037\032w*\376Q\300N)\177\245\234\033\004\247N\347\376g\234\256\030GL\226\245\353\250\333@\362\215p\256a\313a\243\223\347V\210@\357yV\025\251,C\"\3330\315d\026Q\002!\031\315\251\013q\232f\231b\207\003\250\010\253=U))\357\275L0\242\267m\255\366\336\027\037\266C\307\342\200.8\353M\344<\0136\3501Qo\325\365\373\310\241%j\277,-\362\265E\312w\350\221\351\306a/z83q/]KE\r\031\332\003\325\022\t\221\355Ph\275\312\240\223c\200\1776cu\250\320(dy\266$p\320\032!\226\221\247\213\274\223h\'\342\3458\215\341\030\204aujK\000\021\212\3109P\263\027\026\376i\300\006\201\227p\t\344\005\006g\361\226\311\272\037ln\242\347\331U\276\345\267\340(M\332\376?\342\335\3060\376\023\266\377*8\200\002:\223\352\210\350\005\202\206u\321\016\315I\225\207\026\337\253c\216u\033\243rB\366Cb]Z\375\367S?\331\313\036x\335\311Gc\233\034}\031!mdq\315\371\242Bz\244\025\350\000\323b\274&\244/ 2#4K_:>\375\322\230\277>\313\231\265\345\203}\363H\305W% \0265\214\243ZB\316\3124W\037\326e\005wl\210\223}?\250\330\010\233\320\366\347\342\305\264\020\304^\374&\203j\224\312\271\337\211\001\376\276|\265\335\216\345d\363\025y\353N\367XRa\321\334So\016\236\254Jr\200\257H\n\310x\300HF\303\031Y\240pW\026\027\247BN\303F\356\026\357\177\367d\206%\356\375\212=1\235\032\263\001\247\305\2144\226fE\377\024\351\022\326W\264\366\302uQ\313\006\272\376\211\212\263\263\212m\251V\332"
+      }
+    }
+  },
+  {
+    close {}
+  }
+]
\ No newline at end of file
diff --git a/third_party/blink/renderer/modules/webcodecs/fuzzer_seed_corpus/video_decoder/decode_vp8.textproto b/third_party/blink/renderer/modules/webcodecs/fuzzer_seed_corpus/video_decoder/decode_vp8.textproto
new file mode 100644
index 0000000..90e548e
--- /dev/null
+++ b/third_party/blink/renderer/modules/webcodecs/fuzzer_seed_corpus/video_decoder/decode_vp8.textproto
@@ -0,0 +1,64 @@
+# Simulates reasonable (mis)usage of VideoDecoder
+#  configure(vp8)
+#  decode() a real key then delta frame
+#  flush(), reset(), re configure(vp8)
+#  decode() the delta frame again (trigger decode error)
+#  close() (trigger exception (already closed by error))
+
+invocations: [
+  {
+    configure {
+      codec: 'vp8'
+    }
+  },
+  {
+    decode {
+      chunk {
+        type: KEY,
+        timestamp: 0,
+        duration: 33333,
+        
+        # vp8-I-frame-320x240
+        data: "P\004\001\235\001*@\001\360\000\000G\010\205\205\210\205\204\210\001$\020\027gc?\273\345\317\233}S\354g\242\3170\366\263\362\257\302z\310\376\367\253\217\201\377\177\345\313\320\277\366\376\352\376\\\377\252\377\327\376\323\336\317\352_\373\376\344\337\322\377\300~\307{\235\377\231\373)\360#\367\033\362\003\341\337\354\307\355\'\274\007\375\177\333\177\200?\334\377\335\376@|\223\377p\376\373\327S\350\253\373y\351\277\373\223\361;\375\227\376g\355\307\2657\377}\033\037\"x\326\357\263\360\237\220?\270\036\245\376?\362\357\340?\265\177\225\377_\375\357\377\207\372_\257_\253?\307\377\017\365%\352\273\323?\205\377\253\376_\374\337\260\337\313\376\356\376s\373\327\371\217\370\037\343\177\367\177\304\371#\3767\370\177\335\037\313\317r~/\177\213\376/\367\033\375\027\356G\330\247\345\237\320?\311\377u\375\272\377\025\377\313\376g\326\317\334\367\226\332\257\374\337\352\275\211\276\020\373\247\374?\361\277\271\237\347\177s\276Q>\323\377\007\372Oa\377A\377\035\377w\363\213\341\367\365\217\366\377\341\277o\177\311\177\372\372\267\376\227\232\007\247\373\017\377b\377\035\3777\374o\371_\372?\356\276\232\277\303\377\317\376\253\374\367\356O\302\217\252\177\357\177\236\377U\373;\366-\375\003\373G\373\217\360\377\273\237\347?\377\370\330\375\336\353\302[\227\000\246\246\370M\223BW\317\2565\340i\371I\305\310\273H\367\t\207F\004\301\010)2\230\260\262\233\255(#\371\000V\367\333 \030\363\332\321\177!o\340\334Z\213\360Ny\305\303K\027^\250\375~\342\315\2744\320 s,\302\002\214\377\364\374M..e\331\314-,aKA.\265\355\277\355-\270\200\377b\275\343%v\23559#\006\344]\211-\034\2543\tD\266#pbu\032\336\330\356\322\"\3452\\\307\331\236\332;\306\022\000}\020\003\275},y\222(\251\2369\217\376\212\317X\225\334\243\217\255$_]\230\034\rU!\362\032-)OR\2149\366t\314\253\253p\254\025v\270\341\362\027\005\251\026\3070\005\026k\001\307[\332F\2378\302\236\302\347Lko\321-\322\235\265\335tbd\376xn\313\254\365\214>\223\336\017\033\n\265\026\177\326:\244\300ae\352@\006\2540~\241w\327aN\224\260i\003vM\033\226\310\206\331=q*\365B=-\372\267\200\227\277j\304\026\226\244}w\034T\341\r\303\271P\037\235K}6j}\337\327M\262R\370\335\212\031\345\372\251Q\340\234\206s<L-0\311jyn\234\032\253\323\262\276\355S\276\024\001\202\013\272\370\300a\177e4Z\361\266g\201*Aa\036\273\025c\363\200w\n\373F\326\013\\\313\357VC\256_-\232\225\233\203D:\223\0178\010\036\004\260\031r\265\003\206\024=\333\027\335\233\207\244\322\314F0\031\017w\374\210\314\250\251\0338\'\316\373KJj\226:( \356\226h\321\252\316Y\3660\227\r\322\210=^\260aI[\371D\322\331\244\375\232}.\3142x\020\3122\305n\376Gv\243,\340\243f\372\236\035,\035k\"\321\314,\005;S\327c\344\360\252\266\273>\355\265\017\266\337\003k\006\356\325m\212\363\221a\037\002>w\351\205\316\374.`\337w\30595\327\303w&\347}\252e\261\336\005\267\014\325X\323\023\314\360cF#\257\017*\347`\305\221\262\027\344(\347X\025AC\360\001\275\357Q\300\366Q\371\377@X@~f\021\'\345q\334pp\2063}\214\021_\247\362\031\223o\236\354\033\017X\217\023bQ\224X\210Q&\220Lp\341\005\306\226\256\315\343r~F\312\234\262\006\376.0\352Q\364S\r6\332\365\334P~\034\310\320\366\3317p[\377\020\255wG\267\024\030C\037\233\004x,.\304\335\0349X\210\304\323VM\264\375\342\332\377\372#\241\361\307U\211V\001\307\"\237\3624vU\214\310oo\330\2374\023b\272\376\243\215\341\023=I2\340H\245\204\267\237LS\r\373,\205\240.\255\371h\356%\271R\225a\214\022\363\372\250\"\354<\353\004\340\346\002\276\310\353l\022\306\261s\365\223\200\003\221\372}\277?\224\020u \276\377\000\003b\362\237\230\205\nF\024\023\363\335;\311^\004c\002v\265\360iR\346\335\006\006\030l\337cG}\342\210\202\365\202]\345\337!143\244\n\252\355\345\360Zk\356]\261\245r2P\332@\226\027\350\317\tk1(\211>g\303\361\026\317\374;\357m\000\325\367\276w\020.\377Z\313\253\267a\266\225\204\240\017S\333\263\334j\243\2015\231\335XI5\251\330\244\244\277\227@j\207\203:I\212)\367T\013\202\021\226\331\353\264\262X\031\372:1[\307\217\0336\206\032\215;\200\201\002\227\214\030\000,v\214\2620\336\267\341\010\2005v\244\2405|\313|\240/\362\305i]^\310\034,\205\017\272\345B\365\321,Q\305\3138\203A-\300\031h\252\274\037D\376\270\334\002\223\370R\377Q\240\016\360\203r*\020\373\316\231O\324=\211\361\236_\211\363\370w\371g\333\033\241l\377\220\nP-\263N\010\370\001\365fY~\246\035\341\327\323&vx\3559\004\345q`\370\330\367\007\202  \272\273\354CX]\244\256!o\322\344\373\220Z\0376\025\2143\330x\314v\304F\315V\321\354\305`\254\230\372h @o\267\227\234S\n\236Q*\306\237\037\207\216\231+R\370u\216(\207\3443\255\006\233\"\2743{m\204\245jYk\301\353\332o\221A4\031\247\314\235\207C!\345\374?\245\030zo\346A\374\226\327R\331\210z\357&d)\244`p\213w\n5\233X\313\235\265\311Y.\202\230Wk9A\274)\202\246\334\017a\224\330\217x\230-0>\216\261\2600\261>?\272\027\353\006\270\271*I@Z\310\203\370\206\312N\001\252\310L\335\357\3622\244\241\221\017\200\365\032\001W\343~\226\314?\246\325e\300\247\223\273?\006\265R\217+\311\373gJ4\362\363tB\207\220Zbcd\013\260\231\014e\377{]\372$\020 b\\:\025*v7\257o >?\324\206k\002\373)\362\n\246\351\002\252\332b\313\020\336\247hh\230\365T\031\304\210\r\231\373]\351\307\"\215\004\026Tv{\301\3651\377\377.\017\221B\270Y\320(\3636z6\321\034\271S<\2639*\037x\301\036\221\211\365\033\023H\216\325\266S\344\272\342\243\256B\010\371\257\326\234:\266z\301_h\022;\270v1\367\337\261%\277\353\002\333\014(hH\313~zR8\202\234\347\'\225\362\'pz\343\364\356\355\017\257Y!\\\346\252\036\257\241\273\227\005\331w\341L\305\035{\276\240,\323\346\005\025\177\264\216\214\014\365\327\017v.\350\336\004J\351\0065\304\231\243\026\001\2458\333\n\000\\\300\264\266\\\261\333\004\243\226\346j4\022\256\273V1Y\355\013\327\216\200\250\222\277\337v\232r\366\273\020\366\262\314\225\346\215rS\367\303\333@\377\343A\206\354\367 \326\227\377M\261\243\203\333\277\344\366\333\215u\251\004_\263;\231\212\300\214\367\212\363\032\265\271\226\271\033\0277\320\376\207\250\006\265\351\321\346\244\316\3127qMT\337\0048\227\025\2744td[e\305\250X\200\373\272\364t\343\tt\332q\374\273\222\334\370\241\327\236\342vx+w\371\342\225\360G<\342\202Y\037IX\3648\217[c\362\307AS\340\354\225\263\027m\251\206C\377U\311\334:qE\267S\214u\206\3125L\370\364s\316FUB\007_a\037\331\340;-\216og\313 \376\371\222\226\014\223\230\340\205\212v)\372\333\266\232\253lmH\275u\177\323\304\346\262\357\227\023=\205<(\noYs\271\2015\246\272\254\230\347\275|\321<\376\377\360QoE\270v\264\267\356\261\255\301\021\215\304\346\341P\237\025*\237\355\342j\375\352-\0214\337}\023K\376\247\020\224W\031\317\201\234\346\3620aIOq\261\021\345}/9\307}\2629\376\264z4P\306=^\030A\002}\334\030K\211{\217\021o6aA\202\021\005\275ZJfH\316Qx\240\375r\214R\266\340\372\2440+\177Q\017NV\341B\271\370[\330\306{\316\221\3167\334\217\365\270/Ps\263u\037\2049\317\311.\207\307\213m^\315\026\216\013\366%\375\242\325W9\316\203\272\014\014\007\204\313\247.\246/<\022\301/Z}b~\217\225\335\263\366;\035\352\036\364BUA\003\270z\200\253\304\314\376\004\037\277\264\232\376)\356\237h:\233\373;}v\003\321l-\205O\254\370\340}@sy\242\217\020\374\307\336\334YC\250\221\034c%O\r\336x\313J\033d\360[\341\020s\323/\336%#\210Kws\234\244X\000\355\235\306_\t\333\013\\@7\tG\370h\256\0135\031G\213\004\216R/\307R\375W\212\213\276\255&XZ\003m\277\225)D0Zrw\320\311>\342\310\354\236f\004\360Z\351\245\242\260\037\266V\253\021\027\037\273\207\337\266\325(4D\326\270\261,k\177\365\220\367Aa~\377^\177\347$\225\271\254\371e\205\277\275\222\376 \177\223\021\301$U\024\341\241\007Z\237\021\274s\213\35428\203\270\247o\3044\267\005\347\364\336(\273`\r[\034\036:\266\010\037\272\345J\221\362\"\370\346\037B\366;\223\256\203\233hE\312\307\205y\033\253\367\225Sf\257\220c/\177e\026\224\371\366R\261\003.\226\3029\271x\345\217\350\3030h\205\375d\002)}R\237h\271\373\363\033\353\324\356\037\256q\207b&n\272\362c\034\204A\237\330\326s\306\375\265a#\221y\020\321\347D9%1\3336\245\226h\244\322\010\361\014\305\231^mS|\263\326R\007\215\341\224\334\242 \364%\336w\0338|\027\034\021u/!,\207m\204\021l\326aF\037\372`\374\306\340\307\337,5\352R\271\026\357i\255n<\370>\314\314!\315p\344\031\017x\t\267e\322s\017\271\256\036\\>\352\207c\371}\251\325\023\r\366\247\365^\023S\201P\315\016\030p\024\266\004\272\305W\224\027/fumx\315\350\262\203\337\332\260\232\016VVV\256@J\031K\314\227\210\265\027\0360\014\036#*\024\255t\005W\010w:\370\342f\027\364\314\030\016\007\254\306\356\364^q\271\375\344\343\227\312\273\375\332\301\301\214fG\327\362^\313a\20640\255\241\221\227\nx\"D\026\000-x\320,\3612\374\277\227\2114\205\205k\355\310P\027W,\352Xw\207\355\005\367Z\002\023g<\367\300\223&\253\220\326Q\313\372\243Tn\262\013\364\207\033\347\305\342\312d\376\024\036\367\n\020\326/\351B?\246AZ}b\255\202\035\252\240@+@QW\200\223v\036\240\351M\256\272Pa\036\331V\371\"\232\362\312y\263\355z\311\203]-=\333\272TR%\207Kx\254\327\032\000\351\244\370/\345mP\352\251\315\333\232\207\247\314\364%\365PIg(R\2358\221>2\231\276.*\240\337s\260J\314\026\323c l\227E\335\022\243k\377x\244P\014\3556\"\031\030\255i\325\216\231\357\254w#\265\343l\370\244\3526\346&\017u3\235\375\306S!\341\2272q\206\222)=\022L.U(\374\3337\312\031\236\315_5\376IK\033\214\210X\006\257\275\032\363\270\207\215Ke\257<Do+\322\325\344z4\207\302y\013\214F\262\272\307\342\255h\253\323%G\235\034D\346Q\035\325\t\357\202\3645\333\230\341\356\332J\362\316\344U\016|qO\022Qw}\3729!\'(\033$\231F\346\334L\354[\215\272G\362\374b\334\201F\373\035>G\257\016$\004\3142\370_}\3349\335\365I\347]\227ZA#8|\000S\233L\214\211%\244\266\024\230\333C;\234\223\343S\321\351\013k$\343P-\362w)Q\365\341\266L\322\025b\035\017\263\035q0zI\242\221\024\323\017\004\250\311\026.\340\377(sj\357(/\350\034\330\016\327s4\177\315\320W\233\331\211\205\220\373\004\204\327,/g\251\000H\355\352\036\347\214>\255\367;\200\tLx\335\251\241\3500\240\214\000\371\322\336\344\277\200!\217P\214kNxww\357\225\203X\013\351m\336\341v\202K5o+?K\035p\207\342\001Fwd\363rDs\273\264:\213\252\177\217\'\322\327\206\366\306nE\317J\374^x\0226\347\010\303aP\340\342Q\370\352v\027\211\262\327\305}\245}\355\305\203p\305\311g\367\233\273-\23356 7\323\"\032\252^\227\237P\3261\315sL\354D\262\260\213$\\8\220\343v\337.+)\222\230\"\316\022m\264f\003\377|\000\264\353\264r\204]\230E+\204\037L\216v=\377)^M\301k\037<#\273\007#\366,\333 \030\237\306\244\235\211\211\026\230 \317=\301\202\334\363c_;\226&e\250\366N\tz\232\010\026\330f\rCs\033\350\265\3108\364\3420\271\323/\221B=\342\265J\374\376w\361\250f@\266+L\210\374\204\203p\027\224\364\035\035\205\261T\210\016d\274\265\216\014\267c\252\331\376\261\267F\217\216\324\361\360\034\337\"\352\301\231\214i\244\251\000x\370\312I\275\251\201\324\337\333\'c\010e\204%\357)_\227>\000\311\325\260Z \031h\244\"p\217-Dl-\315\253/\344\1776\374O\311T\202\262~S\252K\223k\245\221M+\362\307!!\270\205\024\337\261h\017\256\274/\350\215\334\365\034\225\350\226|{\246)\220h\23755\033\022\204C\274\354\357\244\037\034\207\372\315\320zM\315\260\305\264\212\303\237\003\004_\355\306\361>)\254z|\271c\005\350\026%\316\222fU\263\002\037\242\274{\216\267\315>\017\033\220\277\375;3\362N\301\302\234\371\237\321>\031\222(\356N\354\212\2772\335aw\317\n\216\351\211\n\"\275\300\226XW\260\213~\214)\352\254\231\266@3\224q\017\t\006\r_\225\242\271\226\200%%g\363\334\375\023ROU\231:\234\003MV~\2522\025\202\227c\032\034\\\032\200\024F%\033\321\330\201\321\356\253B\243\234\304\270+\214\030o\034tT^y?\027\017(4\201\235\no$\300\365\361\317`\240\360\013\305\227\2405\\\233\363\256\225\"\205\025~\221\013?\034\213\361i\351\037+y\214\322\212GS\022\031\324\303\001 !se\000\266\241\243\031H\007\256\370`t\366\212\36015\333d0g?m\203\335,d\326\205\354r\304NV\203\235_V/\302\236\214\352\337\346\333\267\"\0325\n\372u\017d\027;\352zf5\326\203\\\205\253\301-N\335\rY\034\231\n\310\305\310\320n*Hj\2056\255\025\263E\362*k\027;\352*\033\213\360D\233\327A|\r\322xES\335\364b\216\023\314\306\235\035\361\256\261=\211\017\304@Q\231{\032\036\3537\2014\n\\\373\3209\212\350|\234M\005q\230\014\003\223\260\026\365\240-p\263G\246gj\244h4\302\260w\242!\005\263\225\r\037\246\251\030\267\260\220\271\263\014\0377x\374\231M\374\320\225x\346\372\233\361.\205\262\034l\017\003\255\031x)^FzM\200\274\"\224,\230\024\304x:\373\005a\23096\205Z\252\362Y\223f:\007(\007\'yL\353\342\366\231\214\376O\271U\224pZH\032\375\211\010\233\360\320\014\226q\343Pz\342c\311\017\360\343\261\3055\207)\200\265d\227\252\304 \035\336\022\nDK\373,d*\301\231r\020\236\347\360\343!\027D\\\346\0321\231\210\232\246\203\2604J\237\376Ic\364\326\362\362y\2277\377Cg[\010\330\201\000x\215\3010{\351\227^\304x\220\233\270\221\237\201\002\262\333e`\253\337\357\370fN\033\246\317\361I8\027,\376P\006\341U\027\360\206]\371x\2523$\352^\024\032\224\264\030\"\321\321\377\311\311\027%t\307[\322?~\020<s\226\005\255\027\t\326\360X\310\320&h\\cS\343eH\010\366\024\025o\030=\230\331\023\014\252k\004\034\020)Sv\340\3567\tz\203\345\024\300\314\000\035\226@\033\226A\313\360\362\320\013\266\236.\256=\255\356:\364\341R\032$P\037\013\334\256\334\335\374/\365P\334\252\247\251+\223&=\002\236\351\324\252\364\227\220?\330o\341\030\014jv\234~\341P\200\310\227\'@\263\003\214d\264q5I+\000\334\301\242\371z\022\347\263:\374\3466\306S\304\300bB\230\312\326\230{\205+\316e\233\027d\203\2050\242\271\302\213\275\033\020\360\\\370\262\3446,\304\363\315\307]F}\030q\037\257W\234\217p\003\353/\2577\343\271HZIv\221\257\236,=\'\024\370\377\353\344\273ME\272\304@\260F\010\366\232W\030\031R\0210\224\023\262f\367\253\026m\200\220\'\210THUR\334\3659\233\256N\236\225\303UmGu\'\020B\310\027\005@T\360\351\222C\222\032\334\361\344\265\347\335\321\004=\233\022y|h\310\240i\373\020\340q(\\\344\237!\307z\202\315k\327\2040\223)\213?\210A\361\034\003=\211\021\243\230\003\272\t\3748\252\022d*\376\023\231m\003\020\265\274Y\230\307e\304_\220\245\320\216\224a\356\246bCQp\331\003k\354\221\232q\277\214\'\260\032\356`\223?v\224\330\372n\033\tAN\217\007)\034\275\234Ch7\305\305\006\353\240\341$:@\303R\332\226\326d{\321F\025\357\215)\233\300\021@\360\027\337\273\206\356@\035\031\370\003\nt\375\316\034\213\014}:%\316O\n?U\001&\224\345\017\304\336\342O\266\245TFj\265\345\327I\301\014t\014HB7S\252\361\023\034\242\363\334\024\204L\036\343\300A\223\226\021\374^\351\367\373Os9>AX\024\006\264n\031\374\032meV\202!\251\231\327\220\320\326\357\333j\355\325\017\214\256;\r\335\342v\271\207\212\355\242\356=8OE\023\337T-\331\032\322\207\354<\322\257X\321\312\007a\365\" \242T\004\000b\'\233\335\360\003B\364\321\320\214<\371o\334d\313\211\001\241\312\331\223\006E9\024\235G\034\275Ix\262\361q\366=<\235\036\020h\373\342/\361\374jr\3609 \371z\022\002{\274\252+\307\037\342I@6a\2448\333\261\344\270!\201\246\036]\225\321KY\357(\227\010\201\237V@\321~\'*\215\221\243\366\'\002\236\034e>\206\212/\254Sl\370p\016\247\001\275\322>\001\375P\340O\001\037\222\025V\325^\035\271\233>\022\242\342\r\323)\331\021\020tr\n|\2276e\2236\364H%&\221y\303\244\322\202W\265\203\217U/\365\207V\020jg\227x\247\r\224\013\004\247\274\306\325\374~R\366\023\327?\332\237a\010\322`\036F7\376P}\360\252\201\005\357\013\264X\r%\032\321oE\201\240R:\332\326\n\202&\226N\2319\226\036\347IAa\n\360\347\032\030\321\177\032\323\344\231}Z\320\334?_\304\363V\035\375\233O\277\021\030w#_P\3448\360\334\201\366*u\022\344\003t5\272\220#\016\331\346\230\005\021\257\3439I<\323\323%\034FZd\340&\016 R\036\212|\213\005\226!7\223\230\277\2153\322\257q\315\014\350\250\246\317\003*\203\010;\330\032\275\361\016B:\234\323\260p\324\310J\327\305 \013\363=\245\206\276\223fZ\237N%Yz\356S\226\363\014hp\373\3100\315\362\373\332\316\217#\346\306\021\"j\315\371\334N\263H\2577t>\363W2\215\352\210\027g2\206\360W\220\251\357.\t\375\301o\341\352\324C\270\344v\311\266\002\261\2147\255\004\007y\020\356Fm>]\321\000\376?\225(\017\240\357\003d\216\025\254\003\027\222\235\216\321y\036\222\335\345\014\337\027f\313\377y\305\361\322\022\335f\312\252^\313~I\214.x\244\330\'\372\035\234\004\247Q\005XZ\205\305\310\232\007\005\370\3231\"\346Hq\302F,:1\357\253\216\247\2673\251\325\263W8>\326\303D\027\232\310\027\361\321\325\245\016v\313\375\255\222\333^mES\335:K\337\321\0103\206\202C\2007\313\315\t*\242\242\326\004Q\277\3355\236\246\200\026\025\203f\271\211\371\306\244\244\257g*\236\2268\204F\014N\243b\255\273\243\222\372\266\376\236\351\356V/\234\354\243\007\340\241`.m\253U6\022\037b\034M\026+\277\030\026\235>\301Y\245\251<\305\254\310\364/\322 \017\304\204Q\347\367\365\320\250\006\363\245\216\353\305\236\027\r^;\364\316\313\371\313\257\264\224\000%u\227\351\355Z\356pK\272\234\016\307\032+\202\363\201\3201\307\017\240\256DE\272\337P\006\317\253\001\262\250,\254\303C\001B\354\324\345\r\300@\304\016\207\340\324\246\206\204\353\332\366\351+\242\261\312i\366Uy\364\262\211+z\346\240\360\235J\n\3311\035>\036\020\272 /7\307TC\t\210\230z\236\377\327f=\'V\267\202\370L[\240\"\010y\210\361R\363X\273\211\325l\3657\336\0361\207\210\007\033\213\350\363\377u\267\371E\370\251d#P\203\301\2308\244\330?>L\313k#\021N:\243tT\363\375\313\245\035\271\250h\206V\303\303W\312\254\377v\277\317\267\271\254\365\177\017Y\350[m\266\016\021_\223\317Rg\210Z\003\300p0\201AcGW\027\377u\325Rh\364\023~N\362\270\300\365\301\0371ZPz\177t\'\224\335R4\351\270\332\t\216\005\236(\203\325\025\013\2203CM1P,\004\036\263\352\217W\004\t\204\276\007l\r\245$;xQ\213\222\251o\3646\275\206<\300\014\200\302\260\202\214+t\022\315G}\317X\344\025\301\031\3751\221o\014\241\223A\206Z\n:u\231\335\215P\257\211\311\277\210\333\036\276\014\213\307\327\316{\266\306k\3342?\220\233P\177\013\360\370!\0223\007\323]yV\344rg\307\233t\315m\242\356\324a\3439\234\277*0?C\332\355\022\313g\370z\315\0035hR\026>\271:I\276a(\370\200L\000\2257v6\270\311\360\260\346-\032bj?\374?\373\231Rvu\034\343\255\341B\001\221R\025Nz\324\303\270-a8`\255\240\361\tN\350\315;_\030S\245:lC\037\000\236\310\257\346\270o&Z\242\330\311\025\003du\327\304&K4\237\304$}N\213J\r\263\316&\033e\265\016\273Wrd\014\025\233\023\177\0160\357\004p\206\375M\010hR\n\243\314N\363\324\366\300\335\331h\302j\264\345\336\255\367t[v\305\036\332\177\034\235AX\276\202+\345\037x=z\257\226\204\3136\270f\024>\311\345\265\315d\020\334\223\347\366\366\373\304[\315\374\362\373vX\031(o\345\275kn\266\227\336qhK\202[\'\215o\246l\241d\273\244\240\"\022=\245\315(\340\240\325\034u\n\364\337\265zJdMwp\232p5\001\326\330\263\\\271\n,l,\304\006\233%\315\333\351B\251\335\037\374\024vR7\026\250\335\315\233\203\267\226I\372\3465&\013`\255p\\\377\032\200\361\355E\317\211\202\311.t\236e\\\354\222\347O/\234\343f\311\346.\021F\275JU\304\245r\324F\252<\336.D\207Ny\257\276\0338\017\031\233QW\222\204\264wE\315\213\374~\301\016\202\024\314\237\213\373\257\274\225\312Yd\366?Qy2i\215\257\312T\242j\001\333\240\006&Q\027\217a\003d\277\304\232\335\365\201}K\027\237\200]\232\341\274\021\337JJ\003\216\214c\343\343\347-\3113K\223\013\344\257\220ZC\336\204j=I*tM\003\233\214\241\350\237\244\004*B!\377\254\260T\"\301\177\245\310\266\341?\244\214\250\262\246YA%#\036CA)_\252x(\211\313\342\r~\272\231\372\341C[*\342[\365\312\177\004Z\222\250\262\024\343\331pW\210\335\371\223\344r\301X\377\307WQ<Q\277\256\2162\tn\325\357\006\344\216\374\223\006\370{\t&6\376S\246\226\032\242\323ey\021\232\273\345\004\247tQ3=\321\262\250\r\366\207%\362\302T\360\310\260^#\3466\330*\343\3221a\024\240e\305.\257\360L\231\335N\006\256\337=\272\342=T;\315\206\216\020\234k\tc\212 \242\264(N\276\013\002\030\022\271\373\242\343sn\362\324.x\335\372\320B\020\300\233\270\326\316\366\224\265z9s\0023\312\0034\010\327\235\325\200\363\270#\211o\220m\211R\037\376\376\033(\317F\332$v\020\215y\270\020z\014^`\0135\372\314\022\331\361\225\273O\301\365\250\373\3505\360V\307Sgz\r\342-\353`\033\352\256\326v\224\\%\\-\242\303A!\020Y\203\365\250\035CX\275!\372\206:\364\237}\350\'7\241\033\236\264\251\337\212\301\334\330f%\365\240\216{\273\232\363b\324\376\010\014j\002\247:N<\240\355+W\271\256\363h\322N_\021\307\321\213-P\365\314\265\'\266\034\235\356\3067z\022\246\210\327\n\214\320\t\017C\244\347\220,\331\373\326\005\367\216\272\276\203.\242\013\273v|\243\361Rb\324\277\233?\014\376\203\037\224\247\331\254\357\336\017\244\204\265\310\264\020\347&h\234\t\311ZA\327\'\003#]\304t\243\327\214/\244\375\363$\226\201\017\177\264d\217j\367#\243\257\035\362v.\204dA-]\316x\255NdZ\364x+\003\247\242\225\262\341t\275\336\277P\300s\264]V\3228\204=k\214\371\265\034B\306\246}\025j\265\256\204V\277\221z\3279\231\027\0147\267W\242\335\002\324\250k\3159\347\024X(b\2609\035\003\200\346\227\377e\340P\025nr\326\225\311G\352\034\231\310\203\326\322^\2637[Uk\0359|\257y\024\207\217\362FA\353u\221\355\342\311/\232\251\213\232\030\327m\336\364y\364C\332LO\266!\353\017\231V\021\016m\372\357\\\303\034\016#d\347\023\250\245\023oSW\274\234\253+e\374\023)!^>\317d#\224f\337\327\337I\375v\365\252\201q\0176d\247\302tC\320\205\347Q\246\341x\326\271\366j\333\013a\313\274o\333\360\2744\352\035\332\362\373\3079\244X\377\242\250.;)E\372\341t\246\t\247\366\207\200\235\242\322\026-\rL\030\361\026\254\016\355\0325ZvcY\237\311\331\205\372\312_\024\024\260W\332\225\007\010:;\336\023R\0331\272[\367y\010\323\021\035\355%\260\317x\335l\215U\377il(\313H\000\313\327\363BG\321\264\214\'\327[_\271-\013\265:\025\247\341\274\302V\241\t\256\346*u\227\356\366\264\253J1\365\212\260\216;\300\302\256\262z\205l\322R(\377{|5\344\322\204g\021\2746r\3272\207\034\205\005\002\227\215.\255\022\245\345\345,B\304\007O\312\251\356_0Eb\322W\360\302T)\314vQ\035K\0136\225\230#\231\371\024\226ejA\335\266\021\366{\031ic\"\314(8\354\241\362\340/RL\277E\007\322\354C\300\202\2223\274M\312\0335\334\241Z\033n\370*/\237,\367aW\372\244\377Lq\014\373\037\017\3018p\343-\037\000\035\021a\215\0060\363\031\364\266\235\024\205\240\362\022\370\275\364\226\362 \3423\177\272\241\315\246z2\327Q\250\014\265\374%S\220\307\223d\377-\266a|+\355\323\327\201O\263\243\250\242\250\037^\244\307N1X!+\024\016\344\246\221\257\223\035\322\215Y\346\222!\252&p)\330\2477\254\337\361\301\315\310\340\312\003\214\240\024s4d\333\177\350\"\357\211\272Y\014\006l\'\361`SF\300\244\212\244\326\262\234\036Y\"\244\212q\r\256&\275\027\031\326\024\336\262\204\361\017\r\006\340pUVk\2206[.[\271\377\032O\206\226\265\215\'\350\215i\036\304\236\242\022e\003\232\372\\m\362\\\357\202\306\213\200\311\206\346\323\243\214I\220\317\2344n\362\253Z\350\234\003\277\354\016\352K|\201\314\315\021\227\237N\235uFY\232U\210\270\210\000\347\002\237\356q\265.\006\366\350\2475\356V\024\006\017u\374\350\003\036<C\270\260\363h\260\340=\255\264\363\244\'T l%\272\342\270!6\377Y?\213C9\002`\227\211\355\304+\034\216\351w\361O\223\233\342\345\224\364GUe\230\376\203\305\241K\030\322\253\031\271\2747\377O\263\373\034 \304\014\330^\030\217e\220\005d\370\307\204\0271\026\3258F\346.%Fc>\tH\3240\020\216\306-B\362(\361\267\277\301\270\2155\2018\271\202\024\001\335Cu\206\252h\213\324\256\2679\352ay`\315/\350!\324\004\210\336\375@\362\213\001\267\331\0100<\261_9\031\371\377\213\353\306\245\302\210\327*\352\207\014\314\336\317\236\216\336\2122\032vS)\357\310f\032\t\034$\021\245\323\264\264OC\332\366G\372\267\335\352\254\032\273)\352\322A\244\371\t\264* \240\316L\311\241\362\216\363\264K\355\222\304Y\3476\277\221\233\246\014xn]\020p\037\3563\323\022\026n@\374\262\342-\240w\271\357\264m\\\177\210\272\215\375\352m]\'O\316\300\362\351\274I\374\235\274\267\323fD\217\331K:\036\206\242\227\231\321Y\360e\262\340\303\262~D\250\256\325\031O\233\241\302\354\206\2101\031\266\337\230\215\357|.=!\224\222\306\016\334\276\253\317\340\032\342\210\323\272\177 \330\004\337#\374\201\013\377-\256m\334\211[QD\346\231\312\222\2100#~\361\341\312\277t\244\303\244\332\370\323[;\364\205s\207\022\305\356\276\246\203[k\242\r\262[v\243\265F\223\211\362\335\234\323\242\201\361\177;\314cF\312n\222$\310\234\273s\334\032:\337/AQs\274!\365\261\323\221\033\2740\020\033\005\205\"\212\370\246CAQ\241\347(\301\357\013\220|1[hZ\202A\275\245\215*\200\344\277rkihRR\273e\033Q\360\207yUR\0366.y\214o\274\271\3772\013\000\320\237T\276\306ti\262\212\207\0023t\026\313*\312Z\330\265\221\267\302q\255\240G\377lZ\237\271*\313m\226\350\224b\026@\234.8\212\010~\332p\251\313\235\271\255\321\302\237Q\251\304\000aY\014\255\214\326\241\277\214z@.\314>\356\244\245\256\257\251&\344Q2/\237\312xS\227\003sr\247\274\334.\304m\335A\234\344\034(\303\321g8\342L\361c\260\037e\014b=\307\324\031(+\364\032\204\254\311\306\337\362r\030\204>_\363U9\315)&\332\366{\377\345=\"s\005\334\341^\324\300\221\351\373\237T\025\341\327\005^\321lx\212\370|\2507\202Y\251\026\222\343/V\326\251\357\241\333\215\353\244\315]\277\317\027\316\306&| \243\323\031M\234O\2312T\034s\317TM.t\242\335\344M\035\247\220CF\035\220\375\246n\033U`\276r4\227h\\Y\373\260\rOP\347\317\022\014\202\367:\324C\373\303\237\204*m|lu\261\022\250\361g\304\204@\230\007v\016\357\360l_\236\353\321\337\005?qX\305CG\331\222/\036\343L\360*Z\2712q\352\0238\027\351\312\272\001\202\272G\262 \343\221\337\363\023\221\010\036\016\006\035\346\211\333T\203+A\222\335\231\t\330\320\345]y-\031\334\274\036^\010W\002\r\215\242.\370\244QEs\246\032`L \373\004f\235\"$\267._\246We\"\\V\254\032V\234#\253\r\367o\\\265(zZ8T6\260*\357\020\017\0347e\205\301\354\033E\261\007n\337\001\271\251\034b\0140\210\2212c\007Y\314\307O\177\334s\305\354\351y\226\322\220\311\223\234*\343H $\034.\0359z\331\211\224\003^\264\376g\002$\250\2631\262K\326]c{R4\247\222\213\305\352\n\017\231bx\206\020N\257\202\200\361v\301\301\230\032P.\324k\223\344\327|e\232P\035\313\024{y0\352\214\357\001`\035\366\376U\324Um\323\021\213\227z\345\021\210\020t/z\360\227Y\307\342\366@G!tq\204\030\364\250\323\n\177\355\234\224]\007\306\177\225\362G\267\315\032\366\371\270\377\200\267\277\254\'P\314C\210M\2139\344\312X\002\010\251\266\366\225\"\262\263\237\313&\271\311\313q\317\352\375\207-\030\003\035\217E\331\265\267\360!\215\245\204\335\220\234^_\206\n\350\010b\023\236\320\026\005<\365^\262\310\376~0\366\253\261\362\327\314#\316\331\232\221W\325\217\220\2009\333\026w+C\275\366Yc;\222\255n%\317\303\237m\374\033)RJ\322\331\356Oj\020/\315C=\240J}\333\016\034.\270*\251wv\262\221l\000\277\214\271w\374\031\272\273\204\201\332\255%)\360\360\236\010$\267O:\333c\270\031\226\244\004\366\241a\221\303\031\346\3633\205\034\274\217\"\255E1\372\023R\300\271\203\252\321\014\202\305\031S\312{\030\006\227\225\310 \315\203\274\320\202\352\236\346\211\231\321U\2048~\377\356\027\236JE&\250\334K\363\327\327\301\316-S\024\037\347/\222}\204\214\204A\302\\\333\326\371\220\357\347T\346\340fnC\350\230\214UL\360W\010J\005v\336\361\3248f\342h\233\345\257O\262\324Lz\327\020M\210\311V\217|~\356g\360\261\177\177\032\025\363\347.\036}Dd\301W\030\341\367\332\235\231\216\205\'\356[\037\332\332@\001n\347\277\032H6=\0075\006\221\330\222\216\366E\327\037\271X\255\343t\372\361(Y\372\270\360\327\360\217Or\024)\367\220\034~\2478\334\373\037\243\207x\247Ru\300\214M\321\374\322\034\334\266\\\254,-\254\370\036W\006L\223\016\300\212\213N7\002\001v\273\371T\333\350\325Q\226\313[\007\247\210n\003Ay]\253\364\315)\237\017\257\202O\316\304n\031\341\006\'\007\223\273\371\323\222\200\003\267]AN\006}\r\365\036\212\205\230\022y\341\315k\352\354\270C\247\212\202Q\354\206\310\246\266\371\354:\321t\247;G\203=\'\232\013\321\233\002o\265/\235\0106\267,\207\027\006R\333C\005\234DAT\364\216\265\256\250\337&*\266Ro\020\021\372\r\2227\n\257\266\317\246\3311\010N\340\234\260kMf\356/v\336m\227E\025s\020\362\276\003Uv}\002g\014\r\035;z\330ryX\022\361\336\3277\204\251\263\022MX~\372\231n)\226J\366\034?X\027\274\036_[%P\241\215\257\031\376\233\317\306\243\231\323\377\247\007\315\007#a\316\362\034\177\206\246\251\247a\303&\034\222\201\0309\031\272\013T04p\243i\370\251\250&/\222\246i\222\302-<\322\353R\213x\\G\232s\021\207\307!\223y\344z\240\224\365\266\356R\014\371\241\036\212\013\277\373;\273\300t\333_\025\337\271:(Ea\021\327)x\265\020\213\245\032\223\371\204\363\361`\236\253\306Y\310\334\203=!\234\350*\362\264\371\240s\'bm-(\014\006\300\221%ahg\303\021\250\375K\353ZD\023\007\331A\277\276\032\245<y#E7r\245$\3617K\225\347\200{,\301\010\031&I\251\272\002\367ZO\227\275\341\220\335\352\236\244\'\342\332\306>t\322\036\324W\'\"}\302v&\203a\236\347u T\373rrfE\033\221#\261)R\2028\247\270\247g\352\376^\344\244\326]\"\230E\365H\262Am\010\262\314~*3\315C\365\300\377\202:p\207J\013\247\030m\305\230\326\333\243\030!\246h\316f\257\021\007H\360\307\262\241\317\371\223\351\030\023b\374\273\300\340\304\267 W\262<\t\225\370e\006u\374um\022\372I\025!\240\3346\352\354\003\236\025\306\236\227\005q}\351z\266\035\010d3k\261P\254\336U\034\231Y\346\272,\t1y\207\334+\314 \010bO\331\231!\207v!\210\221<8.w\272@\230\212\310\032-\313\030__\330h\331\254A\210M\\\351\215\362\2128E\036*\205\212\000d%\267\344\372+s\370%\367\314W\200\355_\370|;\032Q\t\031;n\301\207NV\244\304\223\351\225\013\252\337\210\300\024\330X\000\302\220\304\202\355\005\'\364\027$\231\340\365\204\236\2375\232<\007\226l\266H\235G\220\325[$V7zi}\232ik\204\332\371\332.c\231\025\023\354\207\r\2510\307YP\377\033D\244q\350b\034\007\333f\017\006 \022\334\353\205\211\216%\217/\313Q\252^A \020x;\361V\2137s\010\034af\304\245\354\322\246\254\320\276\361*\253\377l\227\321pb\027j\253\314\364\212\327\203#\210\254\345z%\353L@\233\2463N%\231\343\2641!d\234{(\206\265\201\345\234g\215\264y\300\241\320\026\237\036\223#-hEZ\276\275\303k\245\242\320\207\340\250l\024 \266\265\221l\311\210y\032\313eQ\010\210\342\\?K\002Zq9\306)\240\010\014A\227\016\335\\\312\222T\265S\365\215e\212\256\270\0136\027\255@\266\322$\215F\205A$\255\246\375\nnW\371\307\332\023\265 \220\262\232\307A\304\274\023\346\027\273\346*>8\277q\367\307\222t\025\345N\3334\266\035\201\212\244\357\273\025c\240s\232\024db\230\342\"\205\005\353\267)O\206\354\023\t\032\243\237\020\311\3118s\306\373\273E\\\332\257\273@\025\273\315\327\257\177@\336\355\217\375~\244\273\267\231#\036\326\370SD\221\263\333\236\323\224\362\027.{\331\361\274\004\'\000\315\202\214\320\274\350\326\334P\364\335;\256\353Y\325nak\001\206\344\r!-2\304\270\016\254\324\274\017\026J\232?\202\256\0059\370\241d\343b\014\204\333\372\356\275\334(e\305Y\343\312\375\374}\223\300\250B\311\277;\326\347j\217S\204\2247\2743,\217\302\0267J\217\310^\210\347\266\275yMR\311\024S<\205\337\262\310]^V\310\013\314\347\205\374\325\326T\247\322\305L\301\264\210\024\234\312\031hQS\201\024zn\363\3061\216\361\260\314\240\252\241\005\272?\222\372\272q\005>\376\"\326\203\032\243\302N\241\316\373\216$`\302i\313\033\217\375\304%\317\261-\030\022J\236\244*\375\\]\357}\350\361zF\212\230\004\356j\251\243\346\014pb\257\2060G*\315\315\343-\311$\351n>\271c\'{q\326(\344\230\240wS\271\371\331\306:\302\344\217\006Z\224\023\322\312\371\303\363P\2244\304\333\177\325\267\r\204\231\270\226\253\263\334\352\030\305|\315Y\365e\r\355\263+z\206\3561\350`\004$5\334o\350\t3\206\324\2242\254\336\357\361\006\245n+\311U\347\271a/\252\260\371\022v\024\355\326\221\307\220\014r\370\301\363\312e\026K\013\n.\221\377\204\254\365\312\3473wz\247\"w0\314*\230c]\200v\210@\310)\t}S\337\2608\265\307x\304\030e\343\247\356\331e\000\250z\"\242\360^\000\001UO\316\323}\r\247\262\002\371\251L\223*\340\263X\367\\\312y\026\262J2Y  \\j\n\340\321\210\377\023\351\254\031g\001D\343\212\302\230`\017\237@\354)\014\252\377\205\353P\266SK\374\315\335s\374\332=9\216#\224\2519i\314)\371\246\234|o\340 \251\371\000\000I\337:\275\222$d\341\266\0234\0370|\334)\303Tv\342\230\325\243X\225\216\2420\226\336\232\007\232\214\346,}\345$\"\223\235Z.O\217\210\211Ya\353\247CL\247\225 \231\317\032<C\301\013\273e~\370\377\331\267\203@\363\3427\023b\245\245I\t\245\033\241\3700\274@\210\246E\035\032\363\361\261\352P^A\177\340\021\265\2610\363h\344\311\271k&\034\010\211\300f\273E\264T\350N\034`;\\ps\344\014v\336J\356\207\031[J.\306\354\253l\213\315\020\253\254DF\265<ss\277,\355\265\347\003\323\202\230\303DY=)F\220\320\332\027\376\212bu\317\314\277\370\372\215\214\231\273s?\034\240-\206\226/\240kX\230\316x6\337QH\027\360\024\310\002T\212\3238\202\177\254\336\010\365\234%\351Tu@\221[\262;\300 \2016M\301M\250x\335\271\267\275\226\335\232\360\264\307\243\026\334 \251\221\267\341-+~\252\305\3579\3371n\341[I\357:\200Dn\357\320Db\252?X8\273\272\323E\221\035AP\025\324vV\372\300\233\336\225\020l\333\241\237\200(@\t]\331\3107\001\362\230\343\356\277:\236\327\277\357DM^CO\205\222\336\332\356\216Y\362\214\273y\233C\022\326\206\007\226\235X`en:\371&\2011\270\355\030\300\226^\213\360$fko\375\266\345\241K\317\271\033\243>\241\t\215\301c\225\"\305(W\256\026F\216y\240Q\317\001?\375*\\\037N\374\r\354\006E\214\350O\305S]\262=\221\025\035\212\323X\212T\023(\252\222\212\235S\033p*\335\2306^\317\371\313\367)\256\316B\330vU\214\214h\224\2769^\367\225j\341\'AG\357\252\356\233\356r?\341\255M\375\007R\341\260\357\233&\312\230I\037\377\333o\247\320\323\332m\004\231\225\321\224O(l\200d\230-\201\035AY\327Y\372+\210\362\025\003\267v\305\321W\023~\002\026\353l\000$\211\230\002\3309SF\326\240\235\224\001\312\261\t\261\340\000\020\315\331\345Lp\031\361\230\206\020-\356j\313\302\265\300\024\010\333\360)o\2724\322\210\326\014\274C\006\237\340\367\267\267\336\023\243\377b\363\241\342E\037\376\344\221|p\327\036\224cQvaM:H\023\314\276Y(\252\266\321\230\354\360\2742{\241\201\356\255\323N\205\345\037\221\377\337\017o\023\300d\331 >A}\016O\336\305\036\317\030\035\261.2\270%\275,\031\301\222JO\362pb\264\253|\307dq\227\363>?\333\3376ZW\007\036(\261\234hd\004^\007K\251;\266\003`\231\310QX\026`\251 \013\200\242\246\332\033\227u\005\370\252\371Yk\024\326\210\254\023\250=\327\235\220\005\247\322_L\301<zsm\343\327\362O\375\252\331\352\321\255r\304\373\027D\316\261\215\023\356\372B\352\305\376u\322\311\352\214;\232\'<\357i\364\240\273o\262\222V\020\241\033F\275\230\265\306\\\302\2024\364vX(\'\027o\020\346\232\361\206\270A\270\277\335\310 \021\222\213\362\232\023\312Y\252~@\370\255\202\305v\027M\337\222\226 \245\266\243\n_\322du1\367\212\006\317\253\203\r\313\262\276Y\357\315\376\365\037*\257\345\377\233n\001\230v\275\363\210\230\311\323\226\346\213\244\270\236\000\"et\265\305,6\200\320\376\263iP\0143\257\271\367s\365^B\314\233\244x{0\203\225T;\335\031Z\232\027iT\025\331!\364\375\270\362\243\005\245&x\021,8,s\225\027\370\275\235\305\203\257\240\237\271\342c\005O\240\335\233\204\000\002\337y\016%~\343W\002\032\013\217\352\034g\223\224\271mx\302\252\235\017\017\315\3053\010\014\375\t8\\\\La;ia\017\363\316\310f\236\254\3069\'\035\376PLYQ\357q\204\306\034\326ax\262\216\302\242\034k\325\027\0160B\261\202\034;\237\315z\270\371\022\243\337\271\321z\264*\276N\006\230\352[6\031\321\217\351Gq{6\034\217j\\\235\3572\020\374\262\3515\310s\332\014\207\352\217+R\004\341\207o\304\240\256t\307u\203\024u<\306\006\337\200\211M\262\267\024\005\202MP\004\033\003X\243\300=\312\022\277F\320\262H3!PD\347i.\n\023\204O*y\253\2125\241$p\310\314q\222\221\265\314\326\t\245\t\247\025\313.\256e\232\206\273\274.*a\312\313\215\224\332\025=1\362\224\007\265Z\303\303\036\273\275\365]7\016X\200\270}\377\250h\263\244\217\177\t`\265\272\034\333\004\375H\2305\223\316\320gQ\336\236d\376\245\210\007\034\226)AM\266pi\375\021\323\003\n\2150\364\211\037\025F);\211\300\020\211U\007$=\224\235y>e\'\2400#>\312\"%\"\377\023\3105z\260\235u\343\323\320X\300\360X\314(*A\017\304\364\"\010\004\237I\247\030\035\n\221\355\372s\274\360\345\216\331a\335\344\n\345\217\263\3226\\\337sX^\260\247\266\245~\3718\374\266\315)\261gO(\326F\rw)Cnv|UE.\220~\237s-W\006\257\336y\2516AL\371\223\371\002]Ea\335\272?\256\266\363@\340_J\225hwm\016\023\204AZo\333\016\262C\200\0031y\016@\306\242\330x\347w\225Kf:\332\377\203\305\004-\312\315-*PC\234\t\202~\312I\213\361(\305Ao\032BVtN{2\006Xr\314\310\"*\317P\327\345\021#\362X\245X\260\t\372\371\340I$\244v0\217\361\313?\261\226Z\310\2023u\355\361\261\373\211\035\324)\244r\220\227\331v\244\1774\204J\312ac_\375\323\326o\330$\236\372ZU\3363\017\247\267\3020\247\337\222\222\241\221\231\303Gu9F\204\031\230&p\347\211\2666\346:\350\2141_\244\031\333\223\351\265\352\247-\'\362p\215\2424\240@^\330P\370\035p\3440\n,\250oSm\232Tx\214+\240\366\336\250H\232\317\376\333\204\177\330\201\016\265\363\227c\272[b\025\270\303}\202/M\356u\223\345[?\003x\251\260~\022\331\265\0351\201\270\203\222\356\352,h\007\364^\326E\342\024\215N\363\317!\233\200M\362\266Y\000[]q\233>\206K\275\005ZJ\257\222\361\033O\270)\356C\362\221\\\362z7\200[\322(S\275\037\265\037\344{3\002\002\245\027\366\t\302\014\310\224\326Rj/\365.\324VTb>\337q\205+\203E91m\306p\2778N@\241\376i9\033\246D\031Lh\202\340X\314\242\221\356\373B\373\225\002N\251!n\320\363\023\343V\220,\221\005\205\247yqP\271\025C\023\362\343D\320\265\272\027\300\3113\361I9\037\341\240kS\2166`\220k\263^\013&\222\006\t\327\251\2413\365\026A\177\"\315j\312{~\322u\017Z\310@8a/M\353\276\354}\223Q\310:S\371\211\331\230\363X\026\031\241S\214un\232Q\346\374\201\020\0002|@\244t\340\005\025\2405!\314\000\201@\257\324\274\3133\242\302\245RB\200\345\202\303\3603q0F\330\026i\202;\320J\276\217n\311p\235\034\346\202\317j{\356\267\325\267\302oS\3233\037\256\315\232l\233\351\340T\245\271\226\305c\2420sj\010\322\024i\206\026\235\303\263I\020\215\356\214\021\004\021\275H\217\010[.\306\324f\235\231\344\373d\277M\214\320\347r\014Z\215\227F\211\002\023S>\275\004g\303\254\302E\222\215\373v\313T\243I$\342\215\352\nhU\232\232\216\232\036\006\314\277vT\010\027u\034_\362\310p\237\223E\2754/5m\324\204\345Q\'m\267(\305\365\tD\343\003\323\327Z**2t#m\204\2618\357\313\037\365\035\200\374\033\026\275\376\360\351x\325\322s\344d\351\270e\312\344\303]\272\323\357\300\"\365S$@B\276\342\206\0250b\000\372~\322}\243\2339\264\337\347b*~#\370\350\300\340\317\360T\3028\206\\.\321\013\244\354x\327* :7X\217\203\223\340\312\032<\347\203\354\3610\034\342\345\303\356\032Ck\253R\310\334r\327(\204MY\356\336\351#\036F\221,P\363\300\202\010<\302=\220\214\016\206G\306\355\"/g\251\213\024\331\352?v\347)\371xM\374\265\300\177B$\351<\004\265\234s\020\216f\265#\272>cr\000Xu\350\001\232\236v\360*\224\345\320\225sb\247<\321)\2073\337\260\023\030\n\204\001\030\246\227u\316\025\036M\257#\242Az7?\301A\275\203\331\315\247\351\227\314\324\216\320\362\250\365q9\213\331f&\342Iq\212\007m.\375\233\246\036y\257\r`\251;\223\023\243A\3339\262&\326\262\334\232\031\233\233Su\320K\367b\020\242\350\005ex\024\260\237Z\356N,\367cj\244\2604\306\004c\303>3\310i6\226\231\354I\356\023\217\251\2202\306\322\020O{\223+\026\222\224\0347cn\363\215X\n\323\264\036\250\341X\222\027r\230{g\244\353X\204\377\307\312~U,\356\357\320\023~\326\245\230\014\332\014\204\344ZG\274\265m\025\326\022\327\214x\027\004@&OGNM\361\253\366\255\373\345\271\371Z\261D\326.\366\345\250\355R\244af\241\234\264\234[\205\334\257\235\331\342\017\243\202=\301h\201\264O`\305\357\214\372]\254\"%\205R\311\360\223\342\214GN\216e\316\263-%\n\010\235\3500\340\360\201\351M\243I\232E\372^\370\273\315\337\030\177*D\3155c\261)wb\0259Jf\333\227\210\017~\300u\360\274\330\367c\350Zzp\232\277\230\365\0260\275\257u\332\250\220\357\235o\251\261\000\361\351\364q\316\353\244\260\200Ce\316r\034\302\001\267\350\247\003)c\200t \223\313\353\222t\312\000\024\342\2149\235\372\335\"\321\032\r\221\241\035\363\353\354\2564\030\354\254\362(Gp\247\373f\375J\316i-\333\030#\2423Tu\320\363\305\272\321\003\t\006>\016\211\375N\265\226W\206\010q:\017\005*\03542\324\331\373\202\232\317\203\334\331\312\332\213\332\256GV!\272\264\324<\232F\334\261\317\361}DW~\306\265\236\246\241\363G\344\361\362\254\013\032\'KP\311I\363\224Y\017\220\325)\325<\217\205\366\226m\256\276\313z[\214\336\337c\353\325\376^\033\036\304\343\223S[\263\200\r\021\2336\177s>\254r$t\3461\214o7/M\001D\333\213\020\345\3778\350\233gA\251\241-\225?h2$\254\027\304\3308\2103\203\377\363\010\177-\025\006\256\344!\t\233\202\246\231\356.nB{>\322\300)!C1\334\300\363t\247Nz\t\276*\347\224n\257\206\333\222\333\025\245\252\337\'\345\253b\027<=\325BW\033\227\201\217~x\007\264\351_\341y\340E\200\355?\024\350I\3320\240&\246h\262;M\034i\032\361[\'7S\330\3163#2\307\rA\256\3401_\252\230\037b\363\370\373QH0qK:\276yj\325\020\005\374\344\340O\202Nj\345L\371\363\032\n\324\236\2241\310\310Q\210\301!Ve\217\253\236k\224\322\010\031\261L\311o\371&\254)\025\n\303\327\332\247Ey\277F\317\260:\207k\273\331\013\261\347\366t\237p(\231\265\336\'\242B\321\215\223\027t\236K\333\325k\215:\320?Rg\026s\246\260\320&\314\206\r\206\252\2231\275\361Y\033\354k\373\267V\302)\335\362\377\230e\0364\363\272i\372\337\221\016\201\306\311N\351\316C\302\004\321P9\275\304H\000f\203\034\251g\223.\031\360\336\235\275w>\020@\242?\362O\251\367b\226\337\273\025\300N\177\215\275\227\354\237\'\003*\350\017\361\347\353\007H\301\240\036\177\2655M\226k\203\351\026\224\025\247S_wp\032\347[\277\'\257\331\234J_\223Hr\200\242\n\007\356N\032q\334\t\"U\240\360;#\210\3252\235\311\346\n9\220\2143*c\272\013\302\333`\251\211\257\363S\266O\241s\225\004Fi7\313yu\236\370\310\025w\333R\000\243W\371\234\2720}\265\261\211k#:,\234\t\205\215\037*\342b%\265\240\270\264\330\304\230\335\314\223O4\274s\"\230\217\204\020\262p\034 \270\037\273yA\222\252\2619\316OW\260\377v\264\253B\223U\3411`+\022.X\303\201<W\307xc\225\367\024\212\320\202\307\177+\374\351N@pR\347\364\021\334s\006<\360Eh\257\366\004,i\031\332\362Yr\005\336\234%\327\255\266\302g\207\331\027l=\013,\006\253\313\203\311\201\247wc/\247\221\263\224a.>GcnQA\t\373\021Din1\204;\351\213\207\270\253\352\036\005\216j\021\25145-\035Xj\022\231\365\316\253x\257\033\251\034\213\026q\244\021\242\343Z\202\210\351\265\3417\177\211\037\037D\254\023\364\207^\034J\221d\2771|\001\336)\000b\241\375 \205\256U\262\352\033\222\010\374\277\371y3\240UA\222\344^j\020s\332P\365\314\362\037\0206\344\322:\241&\032\332\340\307\017\022\373\372+\247idn\265\022\026\365}R\365\370\330CP\344j\364\006\232\362*\312\005U\354E\3751\362 .D!\220`\010.\3032Y}\317\0032\257\322\240\242T\201x\206B7\276\346\306z\254\232\2478\'i&v\213\231dU\3008\203\243\355\226?b\365\352\350\323\324\236DT>\2361\330\337kBjB\031O\275\227\267\236D\014P\254/\334e\253\"\221\004\177\317\225\227\016-\014\365\224\341\240\022\324~<\350\233\303&\341\252\341.\262\243W\311{\302\000\232\264\370OC\343\"\004p\355\232h\003\215\303\374\264D\352\333\203N\014u0\217\\>\204\257\370\004\006\355{KZ\222\252\267\353\341@\215x06\t\320mq\271{\356M\204j\006\351G\233\364]\203\325j\317p\244\254\253t.\334\021Z\346#\264BwI\000X6|6i1\016\002\362\276\002\334\"\342\260\215U\231\274\261\233\000\352s\340\307\332`\313\267=\257\0352\276i]WF$\200z\236\021\371\203\260\346)\363\334\254S\022\002\220\266\022SX\270\362\022\3017\023\025\320\202H\323\026\331%o\264_\317\314>\324\260$\020\223\257\010\3307\342.\261\016\212Ne\321\247\306w\022Z\314\267\361e(\025\307\204\206\242\370G\215o\304\304\023\022\343i\254\305\026O\204E\034bT\335`\337\264\250\254\344Tl\3018\211p\035\375d\253\2466D\353\263p\303\"\215\365\032\034\370\3443\017\\h^\313c>\024\n|\322\267V>\273\347\014\353}U;\311\333S\335\022UrJ\n\350N\324K\236\362_\377\340*\027M?\201W\204\322\330\2635P\254\346\300\313\347\031\031\363O\003\"\t\2169TA\333\260\276C\345\346\274\006\032\301\315]\025x\374+\323\343#?\361\342\230\005\231H\211+m|\377\324\031\035<#\003\025[f\252m\356\006\263\210\247\002D\214\343\273\213\301=x\006\346\004\335}\320\000\300\t\354l_\226\263\236\\ \3461;fH[\207\001\354\270\347\313\211\317\034\007N\363\320z\245\242\237\342\221/\333x\n\030#\231\265\206\234R\355\013\023{\257}\241x\177b\254\211Xd6\366\216\230F5\312\304_Z6`\333\307\300\356\265\032\022m\030\312\233MLh\025Ak\354h\262\330&\335\274K\250\331\204D^\027\314\331\3238>\273\r\031j7<z/\305\216\215g\353\211\360LmuDL\232x\245|\265\004\254\302$%\200\357\241$\254\365s8z\237)\323>\277.9={~?\025\\+\030R\303:(\335\267\215\357/:5\235\210\357*\201\324\031\317\204\013d\261)\267c}\357\234\220\243\022\254FK\343\006\336*\026\310\024U\255\274\254\367U\021\346h2\264\271\217Q\364\251[Qw\304V\267\264\324\033}\235R\214*g\202`\237\362k0\203\231\335|\334\\\310x@\355s\312(\306u\237\024\244\322R8\247\256\3611xk\252\277\227V\362\276\005\3037\213 Y\254\251^\375\2356\244?3T\013\353\325\353p\002\245\361!L\371Y!d\341\222S4\206\317\245g\024\305)\227\346\017\254-\370\207\376\026\2501\3164\252\316w\323\004@%\265\024\313\327}\266\032\304\364WL\307,9\226\246\374A\372\250\241\214t\213M\316\017\3128\372\322\315\311\007Uu\263@\315<9\310=ve;!@2\371\001\344\023 \324\272`\211\320x\245\257\341\332i\234\214\261>\230\216N\225`Q\337\001k\211\275\314*\244\r\335\360\204vu\265\223=\2138\315\001o\224\027\241h\200\343\270\242\207\237\354P\347\033\265\257\263K\023\345\307\323\021HrL\226G&\031\355\3077J\037R\313\325\022\233\220\247\323\276\260R\233Xp\325\230p\373\242w\324\310\007JJ\335\0030\'\234\364\222\327IT&\323\366\2258`pF\'\331\270Pw\001\357-c\263\321\336\201\271\'#\n_\320\372\265\000t\200xG\"&\374\n\206b\265\313\006jz%iVf%d\302<l\336\321>-\274\\\233\245\252\341A\024G=H\363w\305\344\261\337\273\232\270\361@z\213\334\233\311\350H\231\222\0022-\353\"\261\362\016\300#\301c)\024\315\016\220\021\266\342\020&q\006eb\007\203\357\031\256\3474\027\200\350y\323\335\014\353,\235\343h\277C\372\244t\357t\005\006\213\340R\262^\357\241\224\377\257;\021\325=\2504\\\3575r\255{d\327\216Yp3?\266\205\237\314%\003\333h\341\265\320F\343.w\360\177[\353\200\233\277\032\347\"P\244\242\313ta\373\"c\366l\274[!U|+\215\352?\302\227\002\306\216j\341G\304\335>\363\210-\327C\233\345\305\217]%|\335\216\003YM\231\314\366V\373b\354\340\247\373\272\316\024E\033\222\343\254\007\014\2565\213n\305\243\310J\t\016D\250\372:\336{\316\376\324\254V\002o\342\240o\245\"\003\205\227\000\255F\244-\367\276J\310\362\232e\323sP)\211;b\010wV\341`\335\257#\010\215\002\273+\245|\271N\321?\371Y[{K\007\333}\250B\3651\014\243\333f\221\007\rg\302\347{\217\024$\235J bk\263?\220*XUL\227n\335\022\340\322\t\233\346\211[\217<\035\014\302\221\031H\205S\320\252x\017\\\347U\315\313\221<<_xo\005\326\231\247~\200\335\375\013\351,\257\213\274\305\333a\3779\370\236\344\326\361\027\264ppn\263\032\321\2738L2\212\263\007\365\367\013\376\222\360\027Z\204\270\260@\302l\264\374\003\257\240\300\211\016\246\250[\211\200ZH\360\345\357\233;\325\306\037@CG\353`\024o?\010\320\366\257<A5YU\336\021\215\332/\025\006??\324\2032\302\360\177,+\346n\"[>\236\273\243\205U\250@\236\321\252\254\321WK*\307f\236\340\241\244\316w\341\005\230@\271\342\241,<\215\375,\322]:\320\3738\004Q9\226\233\177\301\324;`\342E\330\202j\260\026N\330ncr\227\376y9\022E\314$\"\000\356\371\026\232\255H\035\260\301ibTj\006\024\205\201\216\262\267\351\344\312\253NE\342\243\344\375G\202U\3114\235\372\351F\215%\230%\313vt}\266e\003\272x\300R\261~\275N\\Z#\352)\230u\277\200\221\016\363_\227\202\031\204\352\314g\222)\004\243K\304%4j\313\300\36364\260\"\205\004?uzn\016|F\364e\313Ls%\033\217\373\222\027\2643}2\'\005\030\014.,\266\025\036\375\214\333\264>i\025\350>\250\365\261T\272\267\373u\035n\352JR\247\031V\020z\310[\273\213\235\231\322\006b\203Z\302\340\365\220\035\225\264Q\213d\374\257\244D\251\233\261\351@\305\372xb\375Z<z\3051\0004`\343\366&\262\030\363h\321\363\272\334(\270\253\007\004I\206\356\321\230\226I\257eX-\341b3\001,\210\026\"\\Z\227\004\024B\371M\271h\352\255\312I\222V\224\024i\307\220\306\271K\340\303y\262F\277\243\002\230\224\345c\244y;\313U#\304\226\313\247gw\344-w\023\304\3174&\212A\376\266\013\202@\211n\353f(c\244n@r\304\001\257\024\007\342\341vc/.\010$p-\377\327[\t\034\316\256\330\332\020\300\274.t\255\327\334OIy\277\272\"Y|\261\372\305\336\242\370r\276\344\334\252\316;T\230\253%\013\375.\353\207<\225sJ %s\217qD\263\374R\000e\3222\223$)\377\343*\300\030\341\361\016{]Hv \260H|N\346\363\301\032\306Ee\254\"e\210v%_\r\023\035\235\302\213\370\r\226\371\033\337\220\356\342\363UB[\372\224\364\375\265\010\343;\026/X\234\367(\nb\236\374\322\t\030q\001@|w\264n\333\237\371\n\026\376>\374\025\262\214\000\327\333\350\340\267>\240HVQ\006\327\257B\020\335\371$O\335\363\311\003\004\007\362\300\020M\300\317\244\277\026\322\230aP\237\251\2415\236\314\262\004\376\265\313\022\006{\227FWc\317Z}\200\223k\303\264\252\204^z\tT6\023\203\274\001\3626\214\024S\273\261\323\264\250\223*K\207q\357(n\260\315K\320\3378\313\t\216<\346w\243l/>\230\034\323j-\242\223\277\217w\n|Q\033W!\n\3501\257r\031$\307Tw\321\005\337\361\312\303N;J\241\200\266\242+U\323i;\262\205sN\302\332\302\322\226QZ\327\020u\216\202\037\340\\Cd\350\366\222\337\271\007\341e\331z\277\221\376\213!\245\216+\\\223\355\\\275\033^\340\251\321+\232\200\355\016j(e+\201f\365\360]4\375\r (bz\014RS\310DD\240\215\2409\233\026|\321\021c\203\2476\222:Wu\250\037\230$\'\324\270qQ\372\272\300Z\2474Md@\013\272#\001B\243\0008\204)a\027\220v\221\266T\3575\340\303+ \254Z`E\232\220\341\234\225\337\026\035*\253!\327\322\371*\0138\265\221\373\010.D\212Zh\014\313\321\357=\007ygk<,\367\321mN\340\376i\326v\026\310-\364m\364X\225\2211Q\263\325C\313>C\246\265\224\367\233\310\3342)\220\332\244\362\252A\276\"!8\335\025\376A\271V\207\231\013)\334i?CmDux\266kqp\361\211n9Q\355\255\361\236\245~\177\264\343\256\001\212I\312.\202\233\265\300\327\264\033\276\364\0078\023\364\2571Vs\024\213e\'\251N)\370\215\306\345[\247>{&\242G\317J\265\223\310%\016\006\3037\324\223e\227Nf,\2279\n\211JK\313\022\024o \340\231h\255\322\351\207\004\246[2\020\344\307\257\000\252\325V9\221f\335.m\233-\366V~r&\023(\346\216#p\366\326\240\271;:\321R\3575/\236Y\331D\r\333\255&5\265\367\274\314\357!\366N\364\217w\312\264e\'\347\010\022\233\315\306\370\247\316]\177\203\273=2\206\013\006|\177\363\376\t\353\277\364 U2\037\204\021\312\027\014x\377\353\270=\244\370\235\236Iv(n\023n\021\010m\335\017\0049\006#\267\2502zrx\031C\355m7\t\315\231\232\026v\216O\275\206\253K9\352I\220\255)\2563\270\261\3014\317\232\216\354Ql\026\313u,l#;\013\376M_GpX\001*\354\326.Y\365\022\256\2027;\2445\033\367\340\341{\302\274\202\315\225\247\037\013\306\321C\214\242E\310:XJ\\\345\024S?r\025\\\334\032\3300\251\253);wK\243EO\345\363*<`1\230\005)\322\037\356\357U\370\t\344\'\201P\215\r#\375\236HI\006*\214k\253\034)\232\351\353\3166\256\207C\214\325\270\217\332\224TD\261\376#\223\204q\240y\245\356%B\275\236L\'\254k\201\250\364E(\270>\026\207\0031(\252\305\014,\275\365\246|\'\203\334\337\266N\254\2132\204\273\346\320\2178F\346\301&\203H\342\344E\230\337\002\376\0021\367\016\306?\262ow\217\374\273\271\321\262N\032\030l\025\'\301\313+\211d\034W\373Km\225\357\226\361^\240\325\313-l\360s\252?\252\027\274\274\345\325\270\030}\025\310\240\200\2328\325\002\014\367\234\0021\334*\215y\271\025M\255\0060\253\212i\334\273\210I\t)\221\354N\374\305)h\234\275\310?\324\263\355X\221\251\"\363Q8\265\250\232\324\203\3548\2538\r\215s\333\317\360.\364u\207v)\t\311\240\365\225\360X%\361\340\276l1p}5PB\221-aP_\364g!\335\032\306\001\344\342\323RX\220\310\315\321\032c\255E\300\233\300\206\0050\217M\205\257\002t\327\373\355\017A\217\340+\214;\3714(\'q\315\214i\207\314\237\210S\224\003u\267\317\000S \213\234\264t\020\217\ni?\226\204\346\003\244\202\002\344\204P\257\217\013i\374\033lWd\207\347\317\224\225\251\343 \365g\373\350\n\374\277\261\276\267T\312W\3464<\257}\215\036\203\252\373\017j\001\313\027\303\372\356\312c\3168\374\357\321\004?U\024\333\271R\352U\256\225\2118\177\323\322\227\010\323\243\t\267\237\257\330}o\356\300\262\310\241\303\355\025\005F\210}\'\211c*\373\034\211\356\n\245\231\3660\177\302)p\"\236o\336*n5\003\374\251\346\253S\310cN\303\351\326\360\031\017{\253\001\246\304\320\254:p\342\272\324\272\302\332\237O\376\032=Z5\321d\246b\346\333\326\260\247\332\214yz\217K#m\r\376.{5\236\262\002l\326h\207\374*`\276\203\010\342v\014\343Q\355=\240\2166\265?m\251\"x\".\331\027\303\360\200\216\276\037\216K\234yt\n\347\235\265\030\243\236\252{;4\250\236\202\023\230\021\236]\221E\353\177?3\003\351ZeX\022cYI\006\355M\345d\256\225\316\312\266\332k\274s|\252\356i+\216\233\355\241\230;\221\200\271\203\304\003\306\253\212{>\254\206\310\251\030\022\034\223(o8~WD\030\321\005\215\001\363\311\302&S\322\223\375DyC\325@\223K-\377\2300\340\304\032<w\203\247\253\340\001\237L\034\352\021\357\005\323\001\356W\367\243\356\253N\002\304\300\035\370\017aV\001\243\321\226\201\347\371\362X\216\371\2237\3771\274F\245\374\353\222\250\353\254\204j``\3647\337\237\275\233\304\223q\306\331;q\2440\216-\027\353\330[\005\224`5\362O\266%\177\224n[6h\215{,\236\216|\366\326\253|\3438\266\270\324\250 n\354>\255,\032\001u\266\310t\275k\346\223\033L\342\002\346}m\267V5\312\023)m\r\344\341\200X}REV\006\t\340\223,\204\272t\202\215c\3358\334\255y\003\203c\215\312\014\333\220ax.\t\203\346\304\014\361q\226Y\216n\033\353^Q\335\204\367\252;\233f\302\323\n\352v\312\344T\332}\325\266L\333)\0169\034\323~c\364\243CD\357\206\250C\t\276\322{\007N6Z9}\315-\n\332!}q\330\024\355\365 \010;,N\340\202\225\034\311kFA\002\204\373wfz\312\274\265\240I\330q`\372q\025JP\227K(\347\025~.C\3039<R\325\242L\220\352\332T\\\213\020S\320\272?\225G/\241,8@\303\"*4\336~\225\351\257\335\010\322\2438\317l\245\253\034I\233A\254\021}\022]\216\267\317\373\001o\030-\352\222\344\020\223\267\217\376\321\003kg\243\267\223\214Y\362\2131\217\272\266\223|\204\222\272\016\\*C\372\2124\375\246p$W\321\"\"9\257U[\362\236\262\366\017\305q-\201\274\257i\032*\377}\377Q\304K\271\\\2351V\274\327|\265\'C\031\023\017\250z\23772\331\2600?jWCn\032\2471\360\335\261\267\2328_\226\021\261\242\376\234gT\265\317\264\312x\3550\312\351`\031E\260bM\\Zk\374\tO\230\214\341b\010\313\322h \003?0\032\227M\212\270}\273\345\177\336\276\206\242~\373,\3563V\314[g\230r\375\326\023i\377\025\203\025\351\3307\021(\231\001\036\305\311Q\300o\027]\257\310\243\341\034\327\022]\236\032=m\256Jt\326\241\033/\315\3035\235\322!\334io\004\263 \\Ek\263D\250\366\004c4^\3368\353\024s\265\033\376\347\346^\213f\224\204-\331\205\274\253D\001\311e\352p\214\030\'\240B\272\321k\034\262\230\320A\305\226sF\2479\004+Pt\304\014v\376\347U\357a{\355\2463\333\257\256\267P*\210\036\255%\322g\360\211\315\374\034S\242\276\240\276\240@\266 x4\2610Z\321{^\323\0253P79\216\223\310>\005\026\311NJ~\237-\226\022X\314\374\347;S\302\\\342\007\357\205\233L\374\3365\304\264\021w\037\323\337\275 Ag\026j-\211\354h\235\021\213\244\027\235\230\313ZN0\257\337\237\037SF\221J\243\033A5\310S\270\340\313\227pu\226\355\314S\202\322\207R\304vw\352$\372qkX\363\210R\317\023x\201\n\032\365\354\217\322\227\021\354\235\021o\004\204\210\200B\377M\017]\210\224\365m`7\234\307\304\027\326b\001H\306\304j\203\027\264\002\232\335n\006\374\210gI4v_\345{\377PE\205\372\361X\220\354\206b7?\321!\r`Ne\212\3772\305\217f<7E\350\363\223{\210\344\352\215%\t\364%\247\\q\313#\002\242,\0372\r\314OGf\206\360\316/tj@\370\343yP\372\220\216X\225\240\316%\337\216\361\376\244\325H\n\341\021\3547\310\302+\\\016\252\000\nxe\311/T\034\366Yo\n\276\245H\235\254\245\326^O\341\031\334\326\002\363\257\237\303\222\272p\275\210\324\333\010\014\222c#\220_/\307\201\003G\314\020\320\254\264\306M\354\210\315\343\245x\311\262%\306\326J\306h\320]-\337\314\370\332\370\213:HD>\242J\020d(\232\2514\241\346\357\243\260\014\200\254\264\0239\324\217\366\000\322y`\233c\256\n\027\025\310\332\225\2419_\261\342\034]\030\366|\"B\215\227\357\010\266\347#\0252\355@\326{r\204\347yL\365\3061\377\037U\031\2575\351\030\304\217*\353Y\026,q\207\\*\356\020\'\177\230p\325\030*i\352/P,\340\024i\354\227\321\311N\260,\254\317\320t\0327\342\267\250/0&\n\362U\255\253y|[\367\232\231\034\372\273\342G\026\340\2159\256\317\242\342\244w\017\273N3\252\315\320\336\261\314\212\240\236\374 1\327\373\177$)\321WDM\350\226\304+jk,\323\t\275\246\"R\277\031\'\3228\244\303\352E^YU\343]\337o\320\231\264/F\024\246 \234`j\373\317\200Rp\326\206\321\030j=\237vu\307\002\345\203\376l3H5\354\275$\033\212kdT*2\244,r\317\007\265cp]\273\'L2\366y\267~\0013\311][<\212\353\331\244\210\267\355\256\035\350\200%\355\314\"\317W\341\346[D\351\007-\000\271\232\0165\217FZ\326\222\362\363\204\210\314\237nqt\247\346k\227O\336./\310\236\312_\352\003\350\370i\235\354\344T\201\207i\001m\200\247\2602?\312\004\324\235N\207\232\027\312\"\356ND\335\234\246\372\345\200\346\260\364\353|\006\236E\272Di&Uq\270\337H\245?\255<\353\203\255p\006\2244\365\225\260\264\033e\032eA\344)\260\023\347\377\177\242\320\336\ng9\254L\262\3311\271\271b\225\242\006V\333\021\273<V\200;\321\016\007\222\355\342R\363s\206\2001\233\331i\254Q\016.9\255rR\257V\010\203\255\354\264\017\307\334K\343\2037\336j\034\010A\3606x\370\323c\014N\177\236\213|\014\005u\204\037e\203\315nH\327< \244\326\005\n\324\002k\252`\375dr\244IGp!\032\337\362n\225\3532)\251\337\306\203\2050\241\372\027.P\314L\347\210\3116\313\016Q\255x\340\217\372\037\206*\001\216fjZ\315\356?\251\005\271\342\275k\302v\252~\241/\266\373\354\242\257\301>\336F\376\304\334D& 7\365\373\222\323\3723\017\031\004\361\361\2451\261Y\337\3051\372\266\251bH\310j\035N\272\213\373$\223\217J\344\376\032\032h\270\375.|\005\177\327\273,\221\234\261\322c~= .\212\315E\010$\322eF\336\260\273\030\022boTVSm\310\321\001K\2145\213\252\306\023\002\006a\024\027A\372\004l?\226\346\361\312=b\312uh\340\266\004\177\276\200\020\217PO2\244L\276\n\036\225\222G2\204=\033N\244\221x\316j\027\213\330o\377\024%\322\322.I\203\216\276\364n\241\260d\274\361&\2017\273d\031\333!\266\311\376\262X%\256\213\\\367\334\200\n\3436\217\215\234\260@\277\034\005u\2625:;Ns\374\322+\217\020\317~\023\037\010\235\236\227\273\300\367\3744\313fhYkgp\367\375v\222\030\024\322N\377\331\024\2142,B\301\207\206\351\237pT\010\343\016\251\20376\340\ra?B\217\375gC\203\350XHk\000Cv\232\224\225\016\004H%]h()\241\331l]\245t\357x\340\002\371\013J\302GW\370NPd\223hM\370\266\036/\273\211\272\3434\032/\325I>\270\236#\331\327\372x\342\256$\305\201\206\225\230n1}9\020F\216\315\213\310\307\310\311:\233\036K\205\\9\201\303 \207\006\177A\355IY\250\200F\377\260\374\373\350\334\262\234\307\256\335\215u\364S\263H\022\024\2646\276\t\027\022/\222i\204\351f\224\373\364\323\201\013\305!C\217P\177\2767\013}\'\"Q\374\237\244(\313;r\347\376u\361\006!\227U>\005\025\250\314\373\345\377\315\323\272\026$K\354\205ow,\244\031\207\211\330\356\221\005.;\032\353`K\"G\332\203!n\"\376\310\313\033\032\203P\254~\346\373wmU^\305\037\031\252Q[\353\271\261g\230g\334\317\3470mB8\310e\324qQQF>\202\233\0314\215\206\031\224\307\026\016\366\354\350\304\351\330\372\315\215.\017\227\372k\270\322\305Z\235\306/\237\232G\361\243\211\t\010\334/s\016\334\035\014a\010\262 \203\302\355\377\023\264<Q\262!\032E.\003\200]{vn\352\316 !Nu\272Y\231<\324\023N\273\016Y\265Z\013\2244{\252\240\347\235\374\264\004\262,\0271\236\037\210{\025e\032\nL\367\006\231\344\353\245~\324\360D8\346^\354E\231n-\273~\276~\230\264+\254\316\2412\005\270\020\335\332\007\233\356\275\270\000\263L3\206\256b\256\351[\312\250^\370+(m`\007\376Q\354\365\n\300\246E\200m\304\3358\376\205\355\2201\250+B\013r\227\371\276\030#_\305\244Y\335\"\357\377\342&~\262tW\246\003\000f\240\226\027`\3137\256\362V\357FC\237g\235\036#\356\023\335\232\235\376R>\250\273_\3614c\014R\302\237\246M|\351\303\341\337`Xm3l\315\003\227\026\250\352\034\246\002\025KNS\342E\251.\220\006\324\374\366E\037\341\246D\262\3578\274\267o\200?\211\245\221\356\024\2050\376\025\226|\256\025\277\210\343\327\022\r\000\020\027\347\236\202W\207\254@\357>\033\304\242\376\247\220\021\222\245\t\211\237\332Jw\031v\262\3336\323\237D}muA(\345X\375F\\\366\277\257\r\0226\322`\025\026\224]\326\017\nm\350w\311\250\320\361nJ\'\314\353\307\2767\265(\314c\271Y\253\364\n\357*\264\220T\346\351l\231\275. \3545\003\177\353\241\222\333\030\235\316\\y.P\372\0349\257_\345H<\342R,\031sg\2025\371\022Z\356\226\255%\311H#\363\273a\237YT\277\332\324Q$r\002^\355\347^\2137\001\t\335@\207C_:\2308i\217Q\332\220\313\n~\334\362G\330:\276\327O\311?W\002\206\330W\375x\234\311x\303=u\020\323\222\240Mos\375\204\177yk\2642.\332\344\024\037|k\273\221G\336\262\006l\334\022wA\0037\212\317M\245\302u\222\270\020L\246\013g\246\340\275\033y\3216\205\272\361\231\372\353__\303\357u\205\210t\327\347d?\334\234\376Syk\302\031\255\022\201\3503\310\232\342\375T\327\244\010\017Qo\306]\024\nJo\035\357\245\256U\316\347+\263d\2069E\275\345\336\224h\322\225}@J\331&xp}i\3377\273pH+x\227\200\272\354DvW\030\215\016R\356\033\363\222\211\010\257\020\241\366/{m\036\032w\251}\215\202\223\235\356%E\255\207\024~\237\377\242\245\251\311\276\360&\021E/\322\355\3013\350L0(%\")\\\030M`|\025\024h~Av\257\030f\030\224\213\023\351\315\270\242\n\177\\K\021(\024\006c\331\267~|7\025U\006\rf\373\334\n.<,\262\262Of\002\177.\n0wA>\304\303>\235\300\036[w\361\031\337\265\317\250\251\333\032\2001\371\010\017Al\213&%\255\250\354\303\021\376\363\026\'\200\345,\334\302\257zI\374%g\010\226\017\370\200^*]}\335\322\360,\036=\255\036\020l*1B\025\217\347\023\3754\322\021\232\300_e\236N\213\373\006T\372}\226\335\230\017\303\215u\327\217\017Y\250\013<\003<\035\031<\327\326\234\373\335\224\264\376Qe\371\310\211\022\312\240jO\211S\336\330\026\211\025\221\021\355|\326$\275\322\363h\033\371\310\355\001\034I[C\234\373{\2407XRb\337\232\225=\322\n\327\217z\215\320nz\000F\262\364\210,z\244\241\033Kh\357\307\357\322\034\023\252\205\361\214~\302\234A\351\262\264\236e\232\'|\366\005\344\302\305\210\301\273\344o\325*\340~\202V\201\203\025y\004\346_\203\255/\262B\340\204/\344\241\220\325\216\202\023\245\350\022\020\362\303\347/\211\364\273\364\037\371\250\323+h\203\357zZM|\234\205\304F\3550\270\307\243dX\272S\375\200\0074\341+\377\337\332\013\322<|\376\025\372\272K\247r\240gf\322Z\020BE\307\216\314*\243T|q9ixvw\017\002IMq\020\241\264[j\335\363`\210\t\372\373&\017\221\202$C\000\335\311\377\301\221*I\036\242\376\2059\005\n\252LM\307\206\334\326 \374\237\214\233\013S\323\305O\362D\356\361\364\270S=&\340\341\320\006\'\236L\246\341\010\353 \305\032\347U\027\202\240jaFY\027o\377\313\017VQ]}\311rV\247\251;<R]J\251/%\013[M\014\303>9\353n\023\346\211\341\260\227\255&] \205\356R#u\241\345\362q)!\0142\330\r(\322\321d\332\233\0148\203z\264\333\254\300\334\003\277\256\003\030nw\016\037\310\347${LZ\026\377H\035\004J\3104\004?\224\354{6\027\366\264}\362c?l\262ef\262$\t\227\002\253\032\344h\035\177f\'\357\004\rINX\216\244G\rn\014\277&K\206\200P2\345e\256\232\301cF\300a\273^k+\367h\373$\037w\241\277k\023~\200Tj\353n\224&Q\366anq\274\032\255\326q\033\230\376-*\233\202EDv\353=\233\317p+\216B?\0042U\177\376\263\245\013v\265\3767\352<\352\341\360u\332\317\313I\277vZ\372\265.\364\030\233\251\337\004b\200\351g#f\026K\026\264\212/(m(\240\237\014\306\021\3144t\315\227\226\336\014\367\360}H\375\363\013}\213\"\210\021_\352uJ&\220\227\250\010\227\226{\277c)\022\024\032\3774\3039\206\265S;\230\037\017\2565C\305\\\262\035\370fu\177wFK\334\022\351]\237q\222\366N\nK\244J\355\002\254y\001\031\252$\316\302^\262\031JW\330*!\227\"\0204aC\327\216\3634\242\201`Z\223b\232\000\347*kXl\326\272d@9>5\271lar\315\252:\227go\353\274\306\304\346Nm\277\307j\341F\000\357\241\376\324\265\230,Q\267\234\315R\007[\301\313*\351%\224o\367Fw\353&\261\274\344\313R\265C7( q\373\022KKV\214\"\333?\250>%rp\227\376M.\032\3614\313\206y\0353\362\337c\007\243\265~O\365\266\210+\311\305\214I\"t\n\370V\377X\3604\022-/\263\256\315hp\353\217\253\360\317\236t\375\316?\360\274\200\033\365\321g\336\370\326\207z:\316\261\335BsM5\240\332\233/u1\026\337w\361\337)\367\322\252n\260\265\035\342\031\312\310\335\230\025\353%\352\251;\007\205\204\305I\026Z\270\360N\026\177\314\242\222\r\340\302\014\253g+!\037\353\320\243\\\2654%_\224\317\243\220\002(\005\252R\244\322WD\373\3762\301\324\037li\364\022A\020X$\365\353\016Q\346\310u3\307\025\016E\222OY\351q\235\362\002\277)\340,\301&\331t\037q:\232\255\020\017\336>wW\354\253\214\206`a+\031\202\337\023\256\367:\274ss\331qK\006t\200\351\366p\260\212\357\303\007\235\245t\270U\004\237\260\036\241\337\263\316\345\337\370\242S\034\357\266\217dg0.\023\301\341\275P\"Z\245\2351\304\205\346\307:\353\301\036\343\240\335LO\255\271\327\'\007\267\333d\275\016\307|\020\277\246\271\022u\311\355E\320\362Sjq\351\342t$J\320A[\253\327b\217\317\002/,\237\3630\353\375\373H\247Z\340\261\320^\02577N`\236<\"\350\230HG8k\330/=w/\350_8\251v\200I\333\362\020\250\313\247\363D\220\216\314\225s\336\010\271x\321\010\325\357\374\247\002C\257\322\n\227V\000\370\3158\232\013~U.\344\271\262\350bw\0303WI\361\342$!I\313\016\323=\233\270\010\225\360\273Ja@!\366\316e<\325\301\356L\353\327D\240#\220\177\344\241X\303\031\272\032\227\272\362}\364\004\202\233!\235\340\nXLr\205\211M\260\177\215\n\257\205c\323A\310s\373\322\\\236\227\021\326\010\004\t\373\360\026\037\253\306\332o\"\202\324\025\366\212(\030\245$(\213g\037\006\222\366\260=e\213\312e\n\326\375\314\265\377\361\037\236{\021\306\323+\314\013>\251>\207E\201%r\367\334\232\357\232\030h\375\3368\355\221\242\263H$C\207$\370?\356\023\354\230~0\304\327+\177*JX]\347Q6\\\240\363%E\177)\265#\364kq\275\271\214\223T4x_\\\016\344\352\312\243[\177z\373w\340\352tO\010\275\303\343TI\326\264\213\017\007\010\3709M(\230D\215\244\230\230\027\366rT\265\350\366Y\004\203\272\232\375*\340X\321\377\327\266[G\006\000\002\254\375\034-\325\201\303\337\235\220|\030\355$\300\222\017\354\232\346h\213Nn\355\242\242M\\\250U\335r\264\236\316\345\272\032c\312\364\322\342\t\t+\3563\345\020\346BDv\"|\360\037\036\024\027\272\266\"[\325\2005\317[\0325\337\221 \272\014n\'\301.M\307j\r\374g\324q\334\251\326\001\035\261\311M\253#~\014\017,\025>\277~g\027\013\337z\001\217\364A\221\340I\017\321\356\262#\326\276\022\211\265i~\212\233\322\271(\257\217V\261\230P\022\251\207\2733\265\275\326\336{\307\r\236\365)s\020i\036\277\243\002V\005_\277\215*u,@\322\306T\316\311\351gB\034Sl\357\242\240\254\310\207\014\253$\331\201C\032\037\326}b[\211\367\346\301\002\211\343k\021\326!\002m\323\316\030\364P\000\321^\240\323`\000"
+      }
+    }
+  },
+  {
+    decode {
+      chunk {
+        type: DELTA,
+        timestamp: 33333,
+        duration: 33333,
+        
+        # vp8-P-frame-320x240
+        data: "q\030\000\020\020\244\000\036\333\377#r\025\215\303\216\005\271\360yf\322\035\201\344\366\2315\'\n\235V\326\022|\017`\263;2d\207W\262xQ_\347)\333\355,\215C\356:\033\241\331\271\212-\217\002\344X\214,g\340B\2527\266\357\375\217\021*\'\2072Mv5\215\225\302\265>ij\305}.\331\315\303\377g\\cj\'\245\226\274R\311*S\'A\235\'\200\300\020D\3223&\002e_s\357\253j\352\325\205\033H\006\031\022\220\324\204\251e\022X\314)A\305\010\006X&\232\016a\300j\246\326m\361\317\232\212\343;\243\264\373n3\355\270\341\033\262\325\260r@\277\207\371\030G\360\303\3720\332\332\017?\237\376\357i02d\216\250\003\n\022\246\321\333\031UV\337\022\240\2655\032Er\271\021d\242\243\021\264\317\221@\234W[\226jsp\252\345\202V\354Z\n\370\261\3626\306\023\002\2340\212M\204\253\321\221MD\274Ko0R\234\026\304O\267\340\311U\237\245\2077\315jJT\222\317\270\245\353\317\3247\251\356,_S\357\262\331\212\274\336\3638r\214l\254\323\n=\365\366\302y\037K\313Q6H\027\024\260\024\232\312\306\024\036\010\201\205\"\240\342\021\t\263\260\243\037)L\016\234\367\223\0013\206\233E\014V\262\\\277\023\3303\020i<(\366\261\266\223*\216\233G,\302Q\344\022#\221\252\006<x\260~\201\355>o\204\004[P\355\260\366\212\341\273\335;\215\375\373\263\275\177\302\266\311\325\325r\004\227\177\037L\277\272Z\335\216F\330\223\340\236\016\266\350\231?\343\245\177\276Z5\210\021\262I\001\223\320\241\255\210\232\334\023L\270\321\247cS\341\326\270\267\210\234\272\205nLb\341\3613\235{\337\310\224, \036\241;+\233\367b\214\033\022\360\272O\334,f>\324\322\372D\324#\\Z{\245\020Ssk\230%\210\023\314\267\346\305\245oe\351\374|(\217\256\021\345\237\274v\253\200\271\020\310\215\316\205:\272;\336\313\353\225\263\0348\026\347\263/\313\0376%\360y/~cAy\207TK\260\326\016\\\240\330d\025\351.\220\017\211\225\344Q@\313+\306=\177?\324\225\340\306Q\265%\020\3139\322\211Q\251\005\261\017\244\246\350q\274`\210<\230\245\330\345\224A)\345\232\253\276\307\367\253\324?g\323l\272{\310\200\355\335\251\2528D\257\340\343\r\036ja0\347\370\205 \370\337\225\212\335\256\221\300M\311\363\313\026\374\253u\200\257\257\227\347\321\007\211\207K^\313\277{\212\226\345g\316\3658Xi\354X\177Y|\207\202q\375\265\016\275\023\357\240H\366/d\300\220\354\2121\241\201\2270\374\312\2702\355\201\366\r^\365\036[\005:j\031}L\233\300\236r\251+\351\305g\236\261\367h\334\253\325\202\353\014-\352\177\377gw\332\351m\240\206H\325\276\273Z\344\000\225L\327\214\374\314\275ia\004\342#\021\0312H\276\327\261\211\302E6\301a)\356\327\256\367\376\357R@\003\304\271Y\365\374x\333\267\333\364u\336)\205\377\217)-ZY\204\031c\'6i_\376\377\374\351<\361z\3673D\250\212\216\256\312\372\013\231\307XL\266X\033\315\3164K^E\212\010\\\247\254W\317\035\204\221qzw\023\271PL\205\302\214=\317&yp9\017\245\247\300!N}\270\346\215x\375#=\2736\256N=-4<\353\037\250\220M\376\256\377\267$\270WO\235B\002O\005\304\272F\003\331\360,\244\315\250^C\341w\032\243\361@\232C\002=\226_D\255h\035\241\276Mo\000D_nyVcD\204v\242e\031\025?v\365-ky6\034\307\317J\312+\304\2136\321\277\004*\225\213xa$\340\262\263m\356\214@\306\222W\204\326\204M~\275\355\035O\300^\016\360\324\202\224B\310\373d\363\231-\201\347\260\335\177;\303T1\002\035\274+\246\274\343\000"
+      }
+    }
+  },
+  {
+    flush {}
+  },
+  {
+    reset {}
+  },
+  {
+    configure {
+      codec: 'vp8'
+    }
+  },
+  {
+    decode {
+      chunk {
+        type: DELTA,
+        timestamp: 33333,
+        duration: 33333,
+        
+        # vp8-P-frame-320x240
+        data: "q\030\000\020\020\244\000\036\333\377#r\025\215\303\216\005\271\360yf\322\035\201\344\366\2315\'\n\235V\326\022|\017`\263;2d\207W\262xQ_\347)\333\355,\215C\356:\033\241\331\271\212-\217\002\344X\214,g\340B\2527\266\357\375\217\021*\'\2072Mv5\215\225\302\265>ij\305}.\331\315\303\377g\\cj\'\245\226\274R\311*S\'A\235\'\200\300\020D\3223&\002e_s\357\253j\352\325\205\033H\006\031\022\220\324\204\251e\022X\314)A\305\010\006X&\232\016a\300j\246\326m\361\317\232\212\343;\243\264\373n3\355\270\341\033\262\325\260r@\277\207\371\030G\360\303\3720\332\332\017?\237\376\357i02d\216\250\003\n\022\246\321\333\031UV\337\022\240\2655\032Er\271\021d\242\243\021\264\317\221@\234W[\226jsp\252\345\202V\354Z\n\370\261\3626\306\023\002\2340\212M\204\253\321\221MD\274Ko0R\234\026\304O\267\340\311U\237\245\2077\315jJT\222\317\270\245\353\317\3247\251\356,_S\357\262\331\212\274\336\3638r\214l\254\323\n=\365\366\302y\037K\313Q6H\027\024\260\024\232\312\306\024\036\010\201\205\"\240\342\021\t\263\260\243\037)L\016\234\367\223\0013\206\233E\014V\262\\\277\023\3303\020i<(\366\261\266\223*\216\233G,\302Q\344\022#\221\252\006<x\260~\201\355>o\204\004[P\355\260\366\212\341\273\335;\215\375\373\263\275\177\302\266\311\325\325r\004\227\177\037L\277\272Z\335\216F\330\223\340\236\016\266\350\231?\343\245\177\276Z5\210\021\262I\001\223\320\241\255\210\232\334\023L\270\321\247cS\341\326\270\267\210\234\272\205nLb\341\3613\235{\337\310\224, \036\241;+\233\367b\214\033\022\360\272O\334,f>\324\322\372D\324#\\Z{\245\020Ssk\230%\210\023\314\267\346\305\245oe\351\374|(\217\256\021\345\237\274v\253\200\271\020\310\215\316\205:\272;\336\313\353\225\263\0348\026\347\263/\313\0376%\360y/~cAy\207TK\260\326\016\\\240\330d\025\351.\220\017\211\225\344Q@\313+\306=\177?\324\225\340\306Q\265%\020\3139\322\211Q\251\005\261\017\244\246\350q\274`\210<\230\245\330\345\224A)\345\232\253\276\307\367\253\324?g\323l\272{\310\200\355\335\251\2528D\257\340\343\r\036ja0\347\370\205 \370\337\225\212\335\256\221\300M\311\363\313\026\374\253u\200\257\257\227\347\321\007\211\207K^\313\277{\212\226\345g\316\3658Xi\354X\177Y|\207\202q\375\265\016\275\023\357\240H\366/d\300\220\354\2121\241\201\2270\374\312\2702\355\201\366\r^\365\036[\005:j\031}L\233\300\236r\251+\351\305g\236\261\367h\334\253\325\202\353\014-\352\177\377gw\332\351m\240\206H\325\276\273Z\344\000\225L\327\214\374\314\275ia\004\342#\021\0312H\276\327\261\211\302E6\301a)\356\327\256\367\376\357R@\003\304\271Y\365\374x\333\267\333\364u\336)\205\377\217)-ZY\204\031c\'6i_\376\377\374\351<\361z\3673D\250\212\216\256\312\372\013\231\307XL\266X\033\315\3164K^E\212\010\\\247\254W\317\035\204\221qzw\023\271PL\205\302\214=\317&yp9\017\245\247\300!N}\270\346\215x\375#=\2736\256N=-4<\353\037\250\220M\376\256\377\267$\270WO\235B\002O\005\304\272F\003\331\360,\244\315\250^C\341w\032\243\361@\232C\002=\226_D\255h\035\241\276Mo\000D_nyVcD\204v\242e\031\025?v\365-ky6\034\307\317J\312+\304\2136\321\277\004*\225\213xa$\340\262\263m\356\214@\306\222W\204\326\204M~\275\355\035O\300^\016\360\324\202\224B\310\373d\363\231-\201\347\260\335\177;\303T1\002\035\274+\246\274\343\000"
+      }
+    }
+  },
+  {
+    close {}
+  }
+]
\ No newline at end of file
diff --git a/third_party/blink/renderer/modules/webcodecs/fuzzer_seed_corpus/video_decoder/decode_vp9.textproto b/third_party/blink/renderer/modules/webcodecs/fuzzer_seed_corpus/video_decoder/decode_vp9.textproto
new file mode 100644
index 0000000..461793d0
--- /dev/null
+++ b/third_party/blink/renderer/modules/webcodecs/fuzzer_seed_corpus/video_decoder/decode_vp9.textproto
@@ -0,0 +1,64 @@
+# Simulates reasonable (mis)usage of VideoDecoder
+#  configure(vp8)
+#  decode() a real key then delta frame
+#  flush(), reset(), re configure(vp8)
+#  decode() the delta frame again (trigger decode error)
+#  close() (trigger exception (already closed by error))
+
+invocations: [
+  {
+    configure {
+      codec: 'vp09.00.10.08'
+    }
+  },
+  {
+    decode {
+      chunk {
+        type: KEY,
+        timestamp: 0,
+        duration: 33333,
+        
+        # VP9 I-frame
+        data: "\202I\203B\000\023\360\016\366\0108$\034\030J\000\010\220\177\325\371\276\217\347q\376\337\217\362\177\355\177\'\014\361\036\227\342|?\366\1777\350\375\\7\324xOG\363\277O\310\374\377\033\363zN\227\372?w\250\361\037\023\362t\317\335\362\177G\315\377{\362~\217HJ\313\362}\327\375\217\252\177tc\336\001\3003>\275o\252\351\224\276\307\336\365\337c\272\372\274\300\367_\003Q\264\016\251\277w\276\362p\203\367z\313\272\370\244o\333\034\313\377\240R\212\346\"\300sUU\177\341D\253\377\000\000\000ir\372d\243\367\356\013\251.\345\215O\231\302\204h\006\223x[\"\021\336-\352\227\306\323\345d\3531\263(8\326\327\302\241\260\026\346o\307\262=\247\2415y\224\246b\335;\275o>\324\326\236#\377\023\316\254\200ZP\010\313\\Z\032\267\261\n\3358\323=\373\352\221\351\220\306\254\304\225v\250\305\320\336\006G\332y\307\272\203\0149\345\024\345t\215\344\343\202*\311\353\311-\315\202\224\267\306L\2772J~\311\353j\323\321\240\246\371V&\343\013og\323Q\033\355F\266&\272\351\022S\033\375yj\214\277\302{I2\032_\257\351\345q\225J\017\264T\230\202\330)\366\324B\311<\307\235\331\343\243\242\263\205_\376vNM\235M4Q\027YS\360%\021\206\200\r\010\266\347\340\004\231\377\254\361\266\014\335\364\343\003\364\274&\314\372\234\257\227\334IX\3734\020\036\214\364\010H\365\236\346\035\271\237\367\236\313\310M\2609\363\315\370Q(\326\334\246j:\323\372W?As\027\030\023\221\317\202\372\211\360\334\t\022-4\307PzI$)\345\234\210EY=yU\364\250\316\202\032\364\253FWY\004[\203\340\236\'\375\236\202}p\216\334Z\264*!}%Af2\262\247\310\372\001\031k\213CV\366![\247 \277\371\225\261;\035\026vT\236\231\007(EcP\363\030\344(\332\314i\232\341z0:+\302\306F\322b#=\224\022; \241\306)\n\'\013\337\241\365#)\346r\022\230^\377b\365 y.qlO]j\327\340P\325\226\027s\223\345)L3pv\307\317\271\367\236\214e\320\227i\302c\255\355\212R\221T\347\326\274\256rt=\222\207*\302L\367$2QM\264xQ\r\313\376\031\233\240\231\255p\331-}F\352\324\210\245\022\270]\203_j:\033\361Q/\376\036\243\226h\273\261\300\2514\366\177\032\310.\231,[\034\220Q[o\304y\r\247\334\322\274\021\367G\253\231xE\222\250\200\252\234\230\360\322\260\341\253\220\266\246\247\004p\010f{\024\266\314\257\264\342m\250-t\313\'\346w\234d\035O\364%\022Q^Y\356\210\212\347x\375\327t\037&J\014\3728\334\311\307D.1v \002\263\027\0350\206\361\264\377\032{\257\375\356K\301\357\n\366\327_\263\343\302\030`SR\372\364m\225\244\234\307\210h\031l1\303XB\223\007\323\022\346g\303)\226\026\325\361-\311\260\204b\207\206w\361L\343tc\321Ccp`\304\1771\344U\004\322D\001\200\013o\202,\020\206\310\037\343\221\035f\314\370\340l\335h\251B\032\345\026\353qd,C\243Z\302?\212Un\232^\030\353\020\257+!\034\023\362\244\001|\320J\356\021\300}[Z\272\312\216\375\036\215\234\360o\302\300\260=\351\002\327\205\200u\360(\207\323\356X\237\023M=\322\225;\022<.\214z\371\'\220\367\322[\\y\370*\325\t\325\033n\022\364\'\037R\006\360\222\233Q\017\227\252+\006D\300#\345m\346|\273[\031\367\375\rfZ:\305\225\036\277\376i\006z\303\t\267~\317\345\312N\221\021b/\324\367\244\013u\373\236\005!D2\375\202\316g\241\247\255L\306\376#\213\363\266\374\232N\370\314$\275\333\363|\234\225H\031\\\347\252./\021\237\374E\377\343J\222?\264\374\376\335\342y\316\335\371\330\275\003\034vH\256\370\360oi{\300\273\220\312\255EU\252\266K\345\314\214\310\2774\267$ux\346\366\204\024\0131pagm\033MI\3407\323\3253\211 V~\300\332\251\177\203\350_\377pr\202\026:~a\224\332\264l\'\330c\300\'\016(\300oO-\256\342Y\257\read\303\275n\023\366\261\220\000i\235z\243\016\214\001\317\3327\366\262Rz\360R\r\270\351K_.\034\221\346Q;\345\357\261v\377u|$\213o3\307\273\350\255\004\367\245\265\343Fb\005J\030\232/\206\236\177\265\273IB\331\3031%\272qGROC\264\013f\315u\337&\177N\272hy\226F \235\235^\"\020\007\3224?\365\017_\267\356\267\032\221\\?\305\265\333\033\337\362\211\3554\374p\350\2634\016\223\377\365)\016n\227\203K\250\361\247\210\200\003\330\3130\342\256\243\370%\311E\272[h\212\265\247\257\273_\247\235\024r\\\311\237\347\n\370\",\306\270J}\261#XO\236\020\305\246U\362\016\357on\330\346U\n9\245\221f\377\371c\246\177\'\356f|\201\023s\351\377\207\036S])\242\302\"s\311\027\221\010\332\311\210\300p\212\260G5l^\316\222.\315\023\320\230/i_\373\231\237 D\334\324\346H\036\222.\315\023\320\230\223\353?\206\\i\236\335\227\365Z\356X3\'Nt\355\217AYW\326\376\325-\217g\371\256\213\036\013\370\255Q\337\226.L\237\237s\030\331\031\302a\314\377\375\344gEo\370\362U_\024\240T\033\301e\353\242\256,\326]yDpLF+\244\255\034\031\371\204\254*L\241/\260\334\273tf\255$\377\236\224&w\254\225J\301\\Cd\212w\302t\235\334\230\270LG\330\261\206\236M\021g\360\344\t\216I\204\300i\231=\350\301\205o8\323\344\212\274\212u\263\335d\213\203\243\311-\301\257\3660\244/\313{\036\022\250:y7\233\375\035\377F\017\216K\2724?\001\234\001\267\217z_\350*\342\233]z\246\310\206\036\306\310\255\324\200\367\234`\271\277\337\376\222\324\001\221\235Z t\331k\251\356t-w\344Y#\322\265s\303\031\336\307\200\342\177w\177\257\247\241\253_t\251U\246Tny\373\2713\221\010\014v\271N#\203.\207)\224\235\324r9;\n\36269\326\266s:\306^\271\234\'v\215u\244\262\357\340\005\257\207\2474wSG\252\313\254\334\270\027\034\336\026\220L\225\224\375\031M\313I\303\351\034\021\217X\231\317\351\\\245g\230\000\215\247\274\321\374\003?\367Wu\366b5<\200\235\340\213\205\010\363\311\262y\020\202<\tp\210\030T\334\005\205\366\032\242L\264\314>\336+?~\255\020\277e\031@\251\211\346\033\001\354\032\340C\005\235\252V\255\267\374\371\027m\200\313\365\001\373\024\242\351Q\365w\246-\342Q\223[\302\331\020\030\271V\375\240\000\377\251h|21\001\312L\223\014]\253R3\241\2425(\027\214\357\263\364-\353\347\260\344.m\200#\267A\207\t\335\317U\032,\267\3060\226\342\317\222\337[\241\352*\327\032\311y\247\354\2364\302B\347\302\325\3276cS:\252\307R\016\213\341\350\206f\347rO\270\034\374\306\354\212_\344FB\375\323NU(u\243\2363<\231\235\371\3577U\016\256k:\264\376S \026\325\202;[\331\254>Sn\342\361\322\361\024\326\005\277\372\244\247\334@\353*\323\377\301\314Wu\223\220,\201\t\317;eLI\3213.\214J\3237P\310b\235d\263jE\000\350\235\232\257\366w\022\030\002\336\201\256\307\372\260Y;\373A\007\006\022l5\215d\3037\234^\344\214f\344\325rz\224c\263\225N\245=7[\035\274\367~\277\251I\223i\'\354\t\370\206\223\206\013a\347\334\006@Dx(\007\000c\311L\367\233\005\322\254\035\250\255\023\010\203\315\347\273\223\217\004p\273\2277\307\235jR\212\326\321Xw\363\247b,?\0270\240p\205\372\350\242t\250\205\010\n7\307\374\250\274>\357N+\264\370gu\305\222\333\001\034\243\216%\244\350z\211N\014\355\377\347D\215\223\310\262\243\312\253\035\220\303\233l[\026<\020\2438\366\260|\251\027\270nu\033\332`\360)\tc\214\021\351CB4\024\030\3749\204Md\345\007\365\251W\367\225\007\247\376\273\307]j\353)3:\222\327 ?\005\262\377\201\261\027U\360\232\266m\245\373\276\2776C\024\024\353\3131\371\030ve\301 \344\306x\271\363l\364\356\312\243:\376N\264\353\310\3513\302\004\205\320o\210\005vN\362\355\305\253\327\345\334\322\367\246\320\205\t\t\210Q\257\352\366m\361\347;\261\376\3228\265\353\363)\317\375\034U\324\314d\320\315\365\214\260\245\363\312}G\360kx\003\273\347\363O\036\343\376?\366\273Cgv\320\200L\034:\221\214\177\355\022\245|\375~m\275,\355\264\302\377\337}\n\207[NQO\363?\277\334l\326\022y\006wk9\177\255k\267\273\347o\335\364.!s\311\345\022\321J\"\031\374\347a\223\227 aQ\034z\336?f\307\375M\233\001`\367&d@\247?\341\233\217*\020\3503\272\211\255\236\231\205\300&4\213\003\360I\336O\034\244~~\\L\244\312G\036\2145\344\036\217$\022i\243\205U\221xk\361\224^6\372~,j\325\306\262w\377\231\0210e_\004!{Kp-\212\201\214?\374ij\350c#\206;\317lF\330X\177\2706\334\314\374\177n\227o\231|Z%\030\241\344\245B ox\270yFT\317\\\307\312\233M\230\0019\377K\316K\323\322\362II\324}\362lV\002\005XD*X\201;\000]l\320\373\263s\221{C;0\377\361\365?\324\331\262\366\325\017y\254\311\246\263|\013\265\270\365\327}\353\004R\243<Q\345\266h\370\002\213\350\262l\252O\251~\347\327\355\311,\312%\217?\310&\351\243\340\364 \n\350\037\245\346\006\371\032\022\347\305\0222f\353\\^\033\320\203\032Vt\241$\204\265\275\376\007J5A\337}Yc\320\334\365\314\3236\357\1778\220\355\022\306\376\232\035\274\376@2\327<\331\027\303\217\347Y\223G\005o\343\030P\n\214\327\315\317\266\2354\231/Z2\344\350\215\273}\321\002\361\220X\366\232\352+w\3259\004M6;y\267?\376\227-\324\373\272]<\205(\253n\022?\325\177\337r\233\277\267\310\375\242o\201\366`<\235\0340\305\243\203\373\255\315]\221)f\300\003\355\300\n\010\306\361H\240\007[\342c\224\300\301\254\'\362\212\313\246\0216\013\235s\311t\227\325\214}R\240|\364\357\257h\000\302S\337\r\215rw\234\273|\021ux\177\t\236\266\202+\251\232\314H\177\273\373\302\010`\357??RY\304\377\212\243\026\344 ^\023\001k\234=\306X@g\373\201v\362\002`\035\010\'v\023\216\334\377\362\365\226\232\177p\203f\027\031\324\205M\336\273\200\245\220\341\212\360\007\355W\260\324\010\362\034\322C\nB\257I,$n\276Is\255\341=\002\373\323\214c\366X\010m6&\374]B2g*D\027\021\030XA\n\302$\270{qRM\037\340\222~0\320\007\306\326\306u\007\244\222B\236Y\310\204U\223\327\270\032\254?\237a\257\377\206)\204\022\230\252\235\270\240(x\2273\342\3552%\371\3718@I\357\203$\347/\331\347\020TD&\016\313\202\265\230\014\360S\2400\377G\357\310\301\006\214Z\354\362\263\242\363\234\361\337y\275\326\345\263\265d\270B}\177\006<\352\337\204\315\332\024\232\037\351;S\226\227:\222\340}\350\005\301\240\250\317\341\025\200\013\213\023\256_\223\342\222\025~&\322\0257\223\301\276\237\252U\210\322&\2720\267QX\214\017Ay\327\353\261\343 7_\025\323i\374r\311u\2075\211&\333\277\273(\267n{\310u:\277\377\r[\351K\234\377\302Mp :\256\224\236\322co\033\225w\3610N\202\261\303\356\206I\320\316L3\354?\202\253\351)\266\376\325\241\237\367\377\377(\024\326V\374\204\327\305D\364\341/\344\022\267\372\310\031\232\"Y/\004\351\233\252\032\034\2176>\340\212\364\361\350\220\3717c\\\371S\\\330\205\361\033\003\200\211y\332\331\026\327\230\344\325\006\273\272\000\367@\315RpB\200m\242\361=\013\216fI\235\312\032\006\243AS\306\276\351vM\000"
+      }
+    }
+  },
+  {
+    decode {
+      chunk {
+        type: DELTA,
+        timestamp: 33333,
+        duration: 33333,
+        
+        # VP9 P-frame
+        data: "\206\000@\222\234 P\000\000\026v\206[\316\021\355\277\256g\370\306\001*\310\337Mf\235\366A\000\000W>\377\\\004h\2229\n\033\330b\317\237\220\252\001\246?QB\316\372\265n7\366\273e\203\212.k\333\025\005[\326\333x/:{(\257\375\265nl\342\376g\252\314\255>\033\206\010?\230cj@M|l\t\234\\|\235\311n\'|\271\217\027a\025\005-\226\312<\270h\306\357\351.\313\t\312\250\243//\377\240\353X*\r{\016\312\353I4qt\373.\270\023\343\n\026e\314T\022\014\250OO\020m\336\023\335\350\375\253\360\362(\300\320\010JSg\035\226\n\343\255\242\221Q\236\345\264/|$\377\3068F;\222\\\352\343!\324\000"
+      }
+    }
+  },
+  {
+    flush {}
+  },
+  {
+    reset {}
+  },
+  {
+    configure {
+      codec: 'vp09.00.10.08'
+    }
+  },
+  {
+    decode {
+      chunk {
+        type: DELTA,
+        timestamp: 33333,
+        duration: 33333,
+        
+        # VP9 P-frame
+        data: "\206\000@\222\234 P\000\000\026v\206[\316\021\355\277\256g\370\306\001*\310\337Mf\235\366A\000\000W>\377\\\004h\2229\n\033\330b\317\237\220\252\001\246?QB\316\372\265n7\366\273e\203\212.k\333\025\005[\326\333x/:{(\257\375\265nl\342\376g\252\314\255>\033\206\010?\230cj@M|l\t\234\\|\235\311n\'|\271\217\027a\025\005-\226\312<\270h\306\357\351.\313\t\312\250\243//\377\240\353X*\r{\016\312\353I4qt\373.\270\023\343\n\026e\314T\022\014\250OO\020m\336\023\335\350\375\253\360\362(\300\320\010JSg\035\226\n\343\255\242\221Q\236\345\264/|$\377\3068F;\222\\\352\343!\324\000"
+      }
+    }
+  },
+  {
+    close {}
+  }
+]
\ No newline at end of file
diff --git a/third_party/blink/renderer/modules/webcodecs/fuzzer_utils.cc b/third_party/blink/renderer/modules/webcodecs/fuzzer_utils.cc
new file mode 100644
index 0000000..47ecad6
--- /dev/null
+++ b/third_party/blink/renderer/modules/webcodecs/fuzzer_utils.cc
@@ -0,0 +1,66 @@
+// 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/webcodecs/fuzzer_utils.h"
+
+#include "third_party/blink/renderer/bindings/core/v8/script_function.h"
+#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_encoded_video_config.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_video_decoder_init.h"
+#include "third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h"
+#include "third_party/blink/renderer/modules/webcodecs/fuzzer_inputs.pb.h"
+#include "third_party/blink/renderer/platform/bindings/script_state.h"
+#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
+
+#include <string>
+
+namespace blink {
+
+// static
+FakeFunction* FakeFunction::Create(ScriptState* script_state,
+                                   std::string name) {
+  return MakeGarbageCollected<FakeFunction>(script_state, name);
+}
+
+FakeFunction::FakeFunction(ScriptState* script_state, std::string name)
+    : ScriptFunction(script_state), name_(name) {}
+
+v8::Local<v8::Function> FakeFunction::Bind() {
+  return BindToV8Function();
+}
+
+ScriptValue FakeFunction::Call(ScriptValue) {
+  return ScriptValue();
+}
+
+EncodedVideoConfig* MakeDecoderConfig(
+    const wc_fuzzer::ConfigureVideoDecoder& proto) {
+  auto* config = EncodedVideoConfig::Create();
+  config->setCodec(proto.codec().c_str());
+  DOMArrayBuffer* data_copy = DOMArrayBuffer::Create(
+      proto.description().data(), proto.description().size());
+  config->setDescription(
+      ArrayBufferOrArrayBufferView::FromArrayBuffer(data_copy));
+  return config;
+}
+
+String ToChunkType(wc_fuzzer::EncodedVideoChunk_EncodedVideoChunkType type) {
+  switch (type) {
+    case wc_fuzzer::EncodedVideoChunk_EncodedVideoChunkType_KEY:
+      return "key";
+    case wc_fuzzer::EncodedVideoChunk_EncodedVideoChunkType_DELTA:
+      return "delta";
+  }
+}
+
+EncodedVideoChunk* MakeEncodedVideoChunk(
+    const wc_fuzzer::EncodedVideoChunk& proto) {
+  DOMArrayBuffer* data_copy =
+      DOMArrayBuffer::Create(proto.data().data(), proto.data().size());
+
+  return EncodedVideoChunk::Create(ToChunkType(proto.type()), proto.timestamp(),
+                                   proto.duration(), data_copy);
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/webcodecs/fuzzer_utils.h b/third_party/blink/renderer/modules/webcodecs/fuzzer_utils.h
new file mode 100644
index 0000000..4fffa53
--- /dev/null
+++ b/third_party/blink/renderer/modules/webcodecs/fuzzer_utils.h
@@ -0,0 +1,45 @@
+// 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_WEBCODECS_FUZZER_UTILS_H_
+#define THIRD_PARTY_BLINK_RENDERER_MODULES_WEBCODECS_FUZZER_UTILS_H_
+
+#include "third_party/blink/renderer/bindings/core/v8/script_function.h"
+#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_encoded_video_config.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_video_decoder_init.h"
+#include "third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h"
+#include "third_party/blink/renderer/modules/webcodecs/encoded_video_chunk.h"
+#include "third_party/blink/renderer/modules/webcodecs/fuzzer_inputs.pb.h"
+#include "third_party/blink/renderer/platform/bindings/script_state.h"
+#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
+
+#include <string>
+
+namespace blink {
+
+class FakeFunction : public ScriptFunction {
+ public:
+  static FakeFunction* Create(ScriptState* script_state, std::string name);
+
+  explicit FakeFunction(ScriptState* script_state, std::string name);
+
+  v8::Local<v8::Function> Bind();
+  ScriptValue Call(ScriptValue) override;
+
+ private:
+  const std::string name_;
+};
+
+EncodedVideoConfig* MakeDecoderConfig(
+    const wc_fuzzer::ConfigureVideoDecoder& proto);
+
+EncodedVideoChunk* MakeEncodedVideoChunk(
+    const wc_fuzzer::EncodedVideoChunk& proto);
+
+String ToChunkType(wc_fuzzer::EncodedVideoChunk_EncodedVideoChunkType type);
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_WEBCODECS_FUZZER_UTILS_H_
diff --git a/third_party/blink/renderer/modules/webcodecs/video_decoder.cc b/third_party/blink/renderer/modules/webcodecs/video_decoder.cc
index 0079838..d9fcc78 100644
--- a/third_party/blink/renderer/modules/webcodecs/video_decoder.cc
+++ b/third_party/blink/renderer/modules/webcodecs/video_decoder.cc
@@ -71,20 +71,30 @@
     return CodecConfigEval::kUnsupported;
   }
 
+  // TODO(sandersd): Can we allow shared ArrayBuffers?
   std::vector<uint8_t> extra_data;
   if (config.hasDescription()) {
-    DOMArrayBuffer* buffer;
     if (config.description().IsArrayBuffer()) {
-      buffer = config.description().GetAsArrayBuffer();
+      DOMArrayBuffer* buffer = config.description().GetAsArrayBuffer();
+      uint8_t* start = static_cast<uint8_t*>(buffer->Data());
+      size_t size = buffer->ByteLengthAsSizeT();
+      extra_data.assign(start, start + size);
     } else {
-      // TODO(sandersd): Can IsNull() be true?
       DCHECK(config.description().IsArrayBufferView());
-      buffer = config.description().GetAsArrayBufferView()->buffer();
+      DOMArrayBufferView* view =
+          config.description().GetAsArrayBufferView().Get();
+      uint8_t* start = static_cast<uint8_t*>(view->BaseAddress());
+      size_t size = view->byteLengthAsSizeT();
+      extra_data.assign(start, start + size);
     }
-    // TODO(sandersd): Is it possible to not have Data()?
-    uint8_t* start = static_cast<uint8_t*>(buffer->Data());
-    size_t size = buffer->ByteLengthAsSizeT();
-    extra_data.assign(start, start + size);
+  }
+
+  // If we allow empty |extra_data| here, FFmpegVideoDecoder will expect an
+  // Annex B formatted stream.
+  if (codec == media::kCodecH264 && extra_data.empty()) {
+    *out_console_message =
+        "H.264 configuration for must include an avcC description.";
+    return CodecConfigEval::kInvalid;
   }
 
   // TODO(sandersd): Either remove sizes from VideoDecoderConfig (replace with
diff --git a/third_party/blink/renderer/modules/webcodecs/video_decoder.idl b/third_party/blink/renderer/modules/webcodecs/video_decoder.idl
index a6611ba..c396dbc3 100644
--- a/third_party/blink/renderer/modules/webcodecs/video_decoder.idl
+++ b/third_party/blink/renderer/modules/webcodecs/video_decoder.idl
@@ -67,4 +67,10 @@
   // resolved but before it is fulfilled. In that case the flush() promise will
   // be fulfilled successfully even though reset() was called.
   [RaisesException] void reset();
+
+  // Immediately shut down the decoder and free its resources. All pending
+  // decode requests are aborted.
+  //
+  // Not recoverable: make a new VideoDecoder if needed.
+  [RaisesException] void close();
 };
diff --git a/third_party/blink/renderer/modules/webcodecs/video_decoder_fuzzer.cc b/third_party/blink/renderer/modules/webcodecs/video_decoder_fuzzer.cc
new file mode 100644
index 0000000..70781b4e1
--- /dev/null
+++ b/third_party/blink/renderer/modules/webcodecs/video_decoder_fuzzer.cc
@@ -0,0 +1,115 @@
+// 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 "base/run_loop.h"
+#include "testing/libfuzzer/proto/lpm_interface.h"
+#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_encoded_video_config.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_video_decoder_init.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_video_frame_output_callback.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_web_codecs_error_callback.h"
+#include "third_party/blink/renderer/core/frame/local_frame.h"
+#include "third_party/blink/renderer/core/frame/settings.h"
+#include "third_party/blink/renderer/core/testing/dummy_page_holder.h"
+#include "third_party/blink/renderer/modules/webcodecs/encoded_video_chunk.h"
+#include "third_party/blink/renderer/modules/webcodecs/fuzzer_inputs.pb.h"
+#include "third_party/blink/renderer/modules/webcodecs/fuzzer_utils.h"
+#include "third_party/blink/renderer/modules/webcodecs/video_decoder.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
+#include "third_party/blink/renderer/platform/bindings/script_state.h"
+#include "third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h"
+#include "third_party/blink/renderer/platform/heap/persistent.h"
+#include "third_party/blink/renderer/platform/testing/blink_fuzzer_test_support.h"
+#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
+#include "third_party/blink/renderer/platform/wtf/vector.h"
+
+#include <string>
+
+namespace blink {
+
+DEFINE_TEXT_PROTO_FUZZER(
+    const wc_fuzzer::VideoDecoderApiInvocationSequence& proto) {
+  static BlinkFuzzerTestSupport test_support = BlinkFuzzerTestSupport();
+  static DummyPageHolder* page_holder = []() {
+    auto page_holder = std::make_unique<DummyPageHolder>();
+    page_holder->GetFrame().GetSettings()->SetScriptEnabled(true);
+    return page_holder.release();
+  }();
+
+  //
+  // NOTE: GC objects that need to survive iterations of the loop below
+  // must be Persistent<>!
+  //
+  // GC may be triggered by the RunLoop().RunUntilIdle() below, which will GC
+  // raw pointers on the stack. This is not required in production code because
+  // GC typically runs at the top of the stack, or is conservative enough to
+  // keep stack pointers alive.
+  //
+
+  // Scoping Persistent<> refs so GC can collect these at the end.
+  {
+    Persistent<ScriptState> script_state =
+        ToScriptStateForMainWorld(&page_holder->GetFrame());
+    ScriptState::Scope scope(script_state);
+
+    Persistent<FakeFunction> error_function =
+        FakeFunction::Create(script_state, "error");
+    Persistent<V8WebCodecsErrorCallback> error_callback =
+        V8WebCodecsErrorCallback::Create(error_function->Bind());
+    Persistent<FakeFunction> output_function =
+        FakeFunction::Create(script_state, "output");
+    Persistent<V8VideoFrameOutputCallback> output_callback =
+        V8VideoFrameOutputCallback::Create(output_function->Bind());
+
+    Persistent<VideoDecoderInit> video_decoder_init =
+        MakeGarbageCollected<VideoDecoderInit>();
+    video_decoder_init->setError(error_callback);
+    video_decoder_init->setOutput(output_callback);
+
+    Persistent<VideoDecoder> video_decoder = VideoDecoder::Create(
+        script_state, video_decoder_init, IGNORE_EXCEPTION_FOR_TESTING);
+
+    for (auto& invocation : proto.invocations()) {
+      switch (invocation.Api_case()) {
+        case wc_fuzzer::VideoDecoderApiInvocation::kConfigure:
+          video_decoder->configure(MakeDecoderConfig(invocation.configure()),
+                                   IGNORE_EXCEPTION_FOR_TESTING);
+          break;
+        case wc_fuzzer::VideoDecoderApiInvocation::kDecode:
+          video_decoder->decode(
+              MakeEncodedVideoChunk(invocation.decode().chunk()),
+              IGNORE_EXCEPTION_FOR_TESTING);
+          break;
+        case wc_fuzzer::VideoDecoderApiInvocation::kFlush: {
+          // TODO(https://crbug.com/1119253): Fuzz whether to await resolution
+          // of the flush promise.
+          video_decoder->flush(IGNORE_EXCEPTION_FOR_TESTING);
+          break;
+        }
+        case wc_fuzzer::VideoDecoderApiInvocation::kReset:
+          video_decoder->reset(IGNORE_EXCEPTION_FOR_TESTING);
+          break;
+        case wc_fuzzer::VideoDecoderApiInvocation::kClose:
+          video_decoder->close(IGNORE_EXCEPTION_FOR_TESTING);
+          break;
+        case wc_fuzzer::VideoDecoderApiInvocation::API_NOT_SET:
+          break;
+      }
+
+      // Give other tasks a chance to run (e.g. calling our output callback).
+      base::RunLoop().RunUntilIdle();
+    }
+  }
+
+  // Request a V8 GC. Oilpan will be invoked by the GC epilogue.
+  //
+  // Multiple GCs may be required to ensure everything is collected (due to
+  // a chain of persistent handles), so some objects may not be collected until
+  // a subsequent iteration. This is slow enough as is, so we compromise on one
+  // major GC, as opposed to the 5 used in V8GCController for unit tests.
+  V8PerIsolateData::MainThreadIsolate()->RequestGarbageCollectionForTesting(
+      v8::Isolate::kFullGarbageCollection);
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/webcodecs/video_encoder.cc b/third_party/blink/renderer/modules/webcodecs/video_encoder.cc
index 5f0e1a0..c28b72c 100644
--- a/third_party/blink/renderer/modules/webcodecs/video_encoder.cc
+++ b/third_party/blink/renderer/modules/webcodecs/video_encoder.cc
@@ -10,6 +10,7 @@
 #include "base/callback.h"
 #include "base/logging.h"
 #include "base/macros.h"
+#include "media/base/mime_util.h"
 #include "media/base/video_codecs.h"
 #include "media/base/video_color_space.h"
 #include "media/base/video_encoder.h"
@@ -119,25 +120,133 @@
   return requested_encodes_;
 }
 
+std::unique_ptr<VideoEncoder::ParsedConfig> VideoEncoder::ParseConfig(
+    const VideoEncoderConfig* config,
+    ExceptionState& exception_state) {
+  auto parsed = std::make_unique<ParsedConfig>();
+
+  parsed->options.height = config->height();
+  if (parsed->options.height == 0) {
+    exception_state.ThrowTypeError("Invalid height.");
+    return nullptr;
+  }
+
+  parsed->options.width = config->width();
+  if (parsed->options.width == 0) {
+    exception_state.ThrowTypeError("Invalid width.");
+    return nullptr;
+  }
+
+  parsed->options.framerate = config->framerate();
+
+  if (config->hasBitrate())
+    parsed->options.bitrate = config->bitrate();
+
+  // The IDL defines a default value of "allow".
+  DCHECK(config->hasAcceleration());
+
+  std::string preference = IDLEnumAsString(config->acceleration()).Utf8();
+  if (preference == "allow") {
+    parsed->acc_pref = AccelerationPreference::kAllow;
+  } else if (preference == "require") {
+    parsed->acc_pref = AccelerationPreference::kRequire;
+  } else if (preference == "deny") {
+    parsed->acc_pref = AccelerationPreference::kDeny;
+  } else {
+    NOTREACHED();
+  }
+
+  bool is_codec_ambiguous = true;
+  parsed->codec = media::kUnknownVideoCodec;
+  parsed->profile = media::VIDEO_CODEC_PROFILE_UNKNOWN;
+  parsed->color_space = media::VideoColorSpace::REC709();
+  parsed->level = 0;
+
+  bool parse_succeeded = media::ParseVideoCodecString(
+      "", config->codec().Utf8(), &is_codec_ambiguous, &parsed->codec,
+      &parsed->profile, &parsed->level, &parsed->color_space);
+
+  if (!parse_succeeded) {
+    exception_state.ThrowTypeError("Invalid codec string.");
+    return nullptr;
+  }
+
+  if (is_codec_ambiguous) {
+    exception_state.ThrowTypeError("Ambiguous codec string.");
+    return nullptr;
+  }
+
+  return parsed;
+}
+
+bool VideoEncoder::VerifyCodecSupport(ParsedConfig* config,
+                                      ExceptionState& exception_state) {
+  switch (config->codec) {
+    case media::kCodecVP8:
+      if (config->acc_pref == AccelerationPreference::kRequire) {
+        exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError,
+                                          "Accelerated vp8 is not supported");
+        return false;
+      }
+      break;
+
+    case media::kCodecVP9:
+      if (config->acc_pref == AccelerationPreference::kRequire) {
+        exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError,
+                                          "Accelerated vp9 is not supported");
+        return false;
+      }
+
+      // TODO(https://crbug.com/1119636): Implement / call a proper method for
+      // detecting support of encoder configs.
+      if (config->profile == media::VideoCodecProfile::VP9PROFILE_PROFILE1 ||
+          config->profile == media::VideoCodecProfile::VP9PROFILE_PROFILE3) {
+        exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError,
+                                          "Unsupported vp9 profile.");
+        return false;
+      }
+
+      break;
+
+    case media::kCodecH264:
+      if (config->acc_pref == AccelerationPreference::kDeny) {
+        exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError,
+                                          "Software h264 is not supported yet");
+        return false;
+      }
+      break;
+
+    default:
+      exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError,
+                                        "Unsupported codec type.");
+      return false;
+  }
+
+  return true;
+}
+
 void VideoEncoder::configure(const VideoEncoderConfig* config,
                              ExceptionState& exception_state) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
-  if (config->height() == 0) {
-    exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
-                                      "Invalid height.");
+  auto parsed_config = ParseConfig(config, exception_state);
+
+  if (!parsed_config) {
+    DCHECK(exception_state.HadException());
     return;
   }
 
-  if (config->width() == 0) {
-    exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
-                                      "Invalid width.");
+  if (!VerifyCodecSupport(parsed_config.get(), exception_state)) {
+    DCHECK(exception_state.HadException());
     return;
   }
 
+  // TODO(https://crbug.com/1119892): flush |media_encoder_| if it already
+  // exists, otherwise might could lose frames in flight.
+
   Request* request = MakeGarbageCollected<Request>();
   request->type = Request::Type::kConfigure;
-  request->config = config;
+  request->config = std::move(parsed_config);
   EnqueueRequest(request);
 }
 
@@ -150,17 +259,36 @@
                                       "Encoder is not configured yet.");
     return;
   }
-  if (frame->cropWidth() != uint32_t{frame_size_.width()} ||
-      frame->cropHeight() != uint32_t{frame_size_.height()}) {
-    exception_state.ThrowDOMException(
-        DOMExceptionCode::kOperationError,
-        "Frame size doesn't match initial encoder parameters.");
+
+  // This will fail if |frame| is already destroyed.
+  auto* internal_frame = frame->clone(exception_state);
+
+  if (!internal_frame) {
+    // Set a more helpful exception than the cloning error message.
+    exception_state.ClearException();
+    exception_state.ThrowDOMException(DOMExceptionCode::kOperationError,
+                                      "Cannot encode destroyed frame.");
     return;
   }
 
+  if (internal_frame->cropWidth() != uint32_t{frame_size_.width()} ||
+      internal_frame->cropHeight() != uint32_t{frame_size_.height()}) {
+    exception_state.ThrowDOMException(
+        DOMExceptionCode::kOperationError,
+        "Frame size doesn't match initial encoder parameters.");
+
+    // Free the temporary clone.
+    internal_frame->destroy();
+    return;
+  }
+
+  // At this point, we have "consumed" the frame, and will destroy the clone in
+  // ProcessEncode().
+  frame->destroy();
+
   Request* request = MakeGarbageCollected<Request>();
   request->type = Request::Type::kEncode;
-  request->frame = frame;
+  request->frame = internal_frame;
   request->encodeOpts = opts;
   ++requested_encodes_;
   return EnqueueRequest(request);
@@ -298,92 +426,36 @@
   media_encoder_->Encode(frame, keyframe,
                          WTF::Bind(done_callback, WrapWeakPersistent(this),
                                    WrapPersistentIfNeeded(request)));
+
+  // We passed a copy of frame() above, so this should be safe to destroy here.
+  request->frame->destroy();
 }
 
 void VideoEncoder::ProcessConfigure(Request* request) {
   DCHECK(request->config);
   DCHECK_EQ(request->type, Request::Type::kConfigure);
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  auto* config = request->config.Get();
-  AccelerationPreference acc_pref = AccelerationPreference::kAllow;
 
-  // TODO(https://crbug.com/1116783): Delete this, allow reconfiguration.
-  if (media_encoder_) {
-    HandleError(DOMExceptionCode::kOperationError,
-                "Encoder has already been congfigured");
-    return;
+  auto config = std::move(request->config);
+
+  switch (config->codec) {
+    case media::kCodecVP8:
+    case media::kCodecVP9:
+      media_encoder_ = CreateVpxVideoEncoder();
+      break;
+
+    case media::kCodecH264:
+      media_encoder_ = CreateAcceleratedVideoEncoder();
+      break;
+
+    default:
+      // This should already have been caught in ParseConfig() and
+      // VerifyCodecSupport().
+      NOTREACHED();
+      break;
   }
 
-  if (config->hasAcceleration()) {
-    std::string preference = IDLEnumAsString(config->acceleration()).Utf8();
-    if (preference == "deny") {
-      acc_pref = AccelerationPreference::kDeny;
-    } else if (preference == "require") {
-      acc_pref = AccelerationPreference::kRequire;
-    } else if (preference == "allow") {
-      acc_pref = AccelerationPreference::kAllow;
-    } else {
-      HandleError(DOMExceptionCode::kNotFoundError,
-                  "Unknown acceleration type");
-      return;
-    }
-  }
-
-  std::string codec_str = config->codec().Utf8();
-  std::string profile_str;
-  if (config->hasProfile())
-    profile_str = config->profile().Utf8();
-  auto codec_type = media::StringToVideoCodec(codec_str);
-  if (codec_type == media::kUnknownVideoCodec) {
-    HandleError(DOMExceptionCode::kNotFoundError, "Unknown codec type");
-    return;
-  }
-
-  // TODO(ezemtsov): Put the encoder creation logic below in a separate class or
-  // method.
-  media::VideoCodecProfile profile = media::VIDEO_CODEC_PROFILE_UNKNOWN;
-  if (codec_type == media::kCodecVP8) {
-    if (acc_pref == AccelerationPreference::kRequire) {
-      HandleError(DOMExceptionCode::kNotFoundError,
-                  "Accelerated vp8 is not supported");
-      return;
-    }
-    media_encoder_ = CreateVpxVideoEncoder();
-    profile = media::VP8PROFILE_ANY;
-  } else if (codec_type == media::kCodecVP9) {
-    uint8_t level = 0;
-    media::VideoColorSpace color_space;
-    if (!ParseNewStyleVp9CodecID(profile_str, &profile, &level, &color_space)) {
-      HandleError(DOMExceptionCode::kNotFoundError, "Invalid vp9 codec string");
-      return;
-    }
-    if (acc_pref == AccelerationPreference::kRequire) {
-      HandleError(DOMExceptionCode::kNotFoundError,
-                  "Accelerated vp9 is not supported");
-      return;
-    }
-    media_encoder_ = CreateVpxVideoEncoder();
-  } else if (codec_type == media::kCodecH264) {
-    codec_type = media::kCodecH264;
-    uint8_t level = 0;
-    if (!ParseAVCCodecId(profile_str, &profile, &level)) {
-      HandleError(DOMExceptionCode::kNotFoundError, "Invalid AVC profile");
-      return;
-    }
-    if (acc_pref == AccelerationPreference::kDeny) {
-      HandleError(DOMExceptionCode::kNotFoundError,
-                  "Software h264 is not supported yet");
-      return;
-    }
-    media_encoder_ = CreateAcceleratedVideoEncoder();
-  }
-
-  if (!media_encoder_) {
-    HandleError(DOMExceptionCode::kNotFoundError, "Unsupported codec type");
-    return;
-  }
-
-  frame_size_ = gfx::Size(config->width(), config->height());
+  frame_size_ = gfx::Size(config->options.width, config->options.height);
 
   auto output_cb = WTF::BindRepeating(&VideoEncoder::MediaEncoderOutputCallback,
                                       WrapWeakPersistent(this));
@@ -401,23 +473,12 @@
     self->ProcessRequests();
   };
 
-  media::VideoEncoder::Options options;
-
-  // Required configuration.
-  options.height = frame_size_.height();
-  options.width = frame_size_.width();
-  options.framerate = config->framerate();
-
-  // Optional configuration.
-  if (config->hasBitrate())
-    options.bitrate = config->bitrate();
-
   // TODO(https://crbug.com/1116771): Let the encoder figure out its thread
   // count (it knows better).
-  options.threads = 1;
+  config->options.threads = 1;
 
   stall_request_processing_ = true;
-  media_encoder_->Initialize(profile, options, output_cb,
+  media_encoder_->Initialize(config->profile, config->options, output_cb,
                              WTF::Bind(done_callback, WrapWeakPersistent(this),
                                        WrapPersistent(request)));
 }  // namespace blink
@@ -481,10 +542,8 @@
 }
 
 void VideoEncoder::Request::Trace(Visitor* visitor) const {
-  visitor->Trace(config);
   visitor->Trace(frame);
   visitor->Trace(encodeOpts);
   visitor->Trace(resolver);
 }
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/webcodecs/video_encoder.h b/third_party/blink/renderer/modules/webcodecs/video_encoder.h
index 22affdb..e338e6f 100644
--- a/third_party/blink/renderer/modules/webcodecs/video_encoder.h
+++ b/third_party/blink/renderer/modules/webcodecs/video_encoder.h
@@ -9,6 +9,9 @@
 
 #include "base/optional.h"
 #include "media/base/status.h"
+#include "media/base/video_codecs.h"
+#include "media/base/video_color_space.h"
+#include "media/base/video_encoder.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
 #include "third_party/blink/renderer/bindings/modules/v8/v8_video_encoder_output_callback.h"
 #include "third_party/blink/renderer/bindings/modules/v8/v8_web_codecs_error_callback.h"
@@ -59,7 +62,23 @@
   void Trace(Visitor*) const override;
 
  private:
-  struct Request : public GarbageCollected<Request> {
+  enum class AccelerationPreference { kAllow, kDeny, kRequire };
+
+  // TODO(ezemtsov): Replace this with a {Audio|Video}EncoderConfig.
+  struct ParsedConfig final {
+    void Trace(Visitor*) const;
+
+    media::VideoCodec codec;
+    media::VideoCodecProfile profile;
+    uint8_t level;
+    media::VideoColorSpace color_space;
+
+    AccelerationPreference acc_pref;
+
+    media::VideoEncoder::Options options;
+  };
+
+  struct Request final : public GarbageCollected<Request> {
     enum class Type {
       kConfigure,
       kEncode,
@@ -69,14 +88,12 @@
     void Trace(Visitor*) const;
 
     Type type;
-    Member<const VideoEncoderConfig> config;             // used by kConfigure
+    std::unique_ptr<ParsedConfig> config;                // used by kConfigure
     Member<VideoFrame> frame;                            // used by kEncode
     Member<const VideoEncoderEncodeOptions> encodeOpts;  // used by kEncode
     Member<ScriptPromiseResolver> resolver;              // used by kFlush
   };
 
-  enum class AccelerationPreference { kAllow, kDeny, kRequire };
-
   void CallOutputCallback(EncodedVideoChunk* chunk);
   void HandleError(DOMException* ex);
   void HandleError(DOMExceptionCode code, const String& message);
@@ -88,6 +105,10 @@
 
   void MediaEncoderOutputCallback(media::VideoEncoderOutput output);
 
+  std::unique_ptr<ParsedConfig> ParseConfig(const VideoEncoderConfig*,
+                                            ExceptionState&);
+  bool VerifyCodecSupport(ParsedConfig*, ExceptionState&);
+
   gfx::Size frame_size_;
   std::unique_ptr<media::VideoEncoder> media_encoder_;
 
diff --git a/third_party/blink/renderer/modules/webcodecs/video_encoder_config.idl b/third_party/blink/renderer/modules/webcodecs/video_encoder_config.idl
index 0f6085a1..907ff88 100644
--- a/third_party/blink/renderer/modules/webcodecs/video_encoder_config.idl
+++ b/third_party/blink/renderer/modules/webcodecs/video_encoder_config.idl
@@ -13,7 +13,6 @@
 
 dictionary VideoEncoderConfig {
   required DOMString codec;
-  DOMString profile;
   VideoEncoderAccelerationPreference acceleration = "allow";
 
   unsigned long long bitrate;
diff --git a/third_party/blink/renderer/platform/bindings/callback_function_base.h b/third_party/blink/renderer/platform/bindings/callback_function_base.h
index d431f0ea..c286b86 100644
--- a/third_party/blink/renderer/platform/bindings/callback_function_base.h
+++ b/third_party/blink/renderer/platform/bindings/callback_function_base.h
@@ -98,7 +98,7 @@
  private:
   // The "callback function type" value.
   // Use v8::Object instead of v8::Function in order to handle
-  // [TreatNonObjectAsNull].
+  // [LegacyTreatNonObjectAsNull].
   TraceWrapperV8Reference<v8::Object> callback_function_;
   // The associated Realm of the callback function type value iff it's the same
   // origin-domain. Otherwise, nullptr.
diff --git a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc b/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc
index 64926a44..bf3c19f 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc
+++ b/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc
@@ -1337,9 +1337,6 @@
     layer->SetEffectTreeIndex(effect_id);
     bool backface_hidden = property_state.Transform().IsBackfaceHidden();
     layer->SetShouldCheckBackfaceVisibility(backface_hidden);
-    bool has_will_change_transform =
-        property_state.Transform().RequiresCompositingForWillChangeTransform();
-    layer->SetHasWillChangeTransformHint(has_will_change_transform);
 
     // If the property tree state has changed between the layer and the root,
     // we need to inform the compositor so damage can be calculated. Calling
diff --git a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
index 3a2bcb6..74ae2d1 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
+++ b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
@@ -439,6 +439,9 @@
   compositor_node.in_subtree_of_page_scale_layer =
       transform_node.IsInSubtreeOfPageScale();
 
+  compositor_node.will_change_transform =
+      transform_node.RequiresCompositingForWillChangeTransform();
+
   if (const auto* sticky_constraint = transform_node.GetStickyConstraint()) {
     cc::StickyPositionNodeData& sticky_data =
         GetTransformTree().EnsureStickyPositionData(id);
diff --git a/third_party/blink/renderer/platform/graphics/compositing_reasons.h b/third_party/blink/renderer/platform/graphics/compositing_reasons.h
index 31aaeab..54a352b 100644
--- a/third_party/blink/renderer/platform/graphics/compositing_reasons.h
+++ b/third_party/blink/renderer/platform/graphics/compositing_reasons.h
@@ -46,6 +46,7 @@
   V(BackdropFilter)                                                           \
   V(RootScroller)                                                             \
   V(XrOverlay)                                                                \
+  V(Viewport)                                                                 \
                                                                               \
   /* Overlap reasons that require knowing what's behind you in paint-order    \
      before knowing the answer. */                                            \
diff --git a/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc b/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc
index 653be20..0c816d50 100644
--- a/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc
+++ b/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc
@@ -117,11 +117,6 @@
   if (result != DarkModeClassification::kNotClassified)
     return result;
 
-  if (result != DarkModeClassification::kNotClassified) {
-    cache->Add(image_id, src, result);
-    return result;
-  }
-
   auto features_or_null = GetFeatures(paint_image, src);
   if (!features_or_null) {
     // Do not cache this classification.
diff --git a/third_party/blink/renderer/platform/graphics/picture_snapshot.cc b/third_party/blink/renderer/platform/graphics/picture_snapshot.cc
index 9f0a680..3521009 100644
--- a/third_party/blink/renderer/platform/graphics/picture_snapshot.cc
+++ b/third_party/blink/renderer/platform/graphics/picture_snapshot.cc
@@ -68,8 +68,8 @@
   if (tiles.size() == 1)
     return base::AdoptRef(new PictureSnapshot(std::move(pictures[0])));
   SkPictureRecorder recorder;
-  SkCanvas* canvas = recorder.beginRecording(union_rect.Width(),
-                                             union_rect.Height(), nullptr, 0);
+  SkCanvas* canvas =
+      recorder.beginRecording(union_rect.Width(), union_rect.Height());
   for (size_t i = 0; i < pictures.size(); ++i) {
     canvas->save();
     canvas->translate(tiles[i]->layer_offset.X() - union_rect.X(),
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 78be0f46..1dfc70e 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1621,7 +1621,8 @@
       origin_trial_feature_name: "RTCQuicTransport",
       status: "experimental",
     },
-    // Enables the use of Insertable Streams.
+    // Enables the use of the Insertable Streams legacy API.
+    // TODO(https://crbug.com/1119801): Remove when the origin trial ends.
     {
       name: "RTCInsertableStreams",
       origin_trial_feature_name: "RTCInsertableStreams",
@@ -1665,6 +1666,10 @@
       status: "test",
     },
     {
+      name: "SanitizerAPI",
+      status: "test",
+    },
+    {
       name: "ScreenWakeLock",
       status: "stable",
     },
diff --git a/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py b/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
index 3f793cc..ce4de99 100755
--- a/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
+++ b/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
@@ -948,6 +948,16 @@
     },
     {
         'paths': [
+            'third_party/blink/renderer/modules/webcodecs/video_decoder_fuzzer.cc',
+            'third_party/blink/renderer/modules/webcodecs/fuzzer_utils.cc',
+            'third_party/blink/renderer/modules/webcodecs/fuzzer_utils.h',
+        ],
+        'allowed': [
+            'wc_fuzzer::.+',
+        ]
+    },
+    {
+        'paths': [
             'third_party/blink/renderer/modules/webgpu/',
         ],
         # The WebGPU Blink module needs access to the WebGPU control
@@ -1030,8 +1040,6 @@
         'paths': [
             'third_party/blink/renderer/core/layout/layout_theme.cc',
             'third_party/blink/renderer/core/layout/layout_theme_mac.mm',
-            'third_party/blink/renderer/core/paint/fallback_theme.cc',
-            'third_party/blink/renderer/core/paint/fallback_theme.h',
             'third_party/blink/renderer/core/paint/object_painter_base.cc',
             'third_party/blink/renderer/core/paint/theme_painter.cc',
         ],
diff --git a/third_party/blink/web_tests/FlagExpectations/disable-layout-ng b/third_party/blink/web_tests/FlagExpectations/disable-layout-ng
index aa79dcec..b440eb5e 100644
--- a/third_party/blink/web_tests/FlagExpectations/disable-layout-ng
+++ b/third_party/blink/web_tests/FlagExpectations/disable-layout-ng
@@ -647,3 +647,36 @@
 crbug.com/1034611 fast/forms/color-scheme/time/time-appearance-basic.html [ Skip ]
 crbug.com/1034611 fast/forms/color-scheme/week/week-appearance-basic.html [ Skip ]
 crbug.com/1034611 virtual/use-common-select-popup/fast/forms/color-scheme/select/select-popup-appearance-basic.html [ Skip ]
+
+
+### compositing/filters/
+crbug.com/591099 compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html [ Failure ]
+
+### external/wpt/appmanifest/start_url-member/
+crbug.com/591099 external/wpt/appmanifest/start_url-member/start_url-member-fail-manual.sub.html [ Failure ]
+crbug.com/591099 external/wpt/appmanifest/start_url-member/start_url-member-pass-manual.html [ Failure ]
+
+### external/wpt/css/css-flexbox/
+crbug.com/591099 external/wpt/css/css-flexbox/percentage-size-quirks-002.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox/position-absolute-014.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox/position-absolute-015.html [ Failure ]
+
+### external/wpt/css/css-pseudo/
+crbug.com/591099 external/wpt/css/css-pseudo/active-selection-011.html [ Failure ]
+
+### external/wpt/css/css-writing-modes/
+crbug.com/591099 external/wpt/css/css-writing-modes/table-column-order-002.xht [ Failure ]
+crbug.com/591099 external/wpt/css/css-writing-modes/table-column-order-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/css-writing-modes/table-column-order-004.xht [ Failure ]
+crbug.com/591099 external/wpt/css/css-writing-modes/table-column-order-005.xht [ Failure ]
+
+### external/wpt/html/links/manifest/
+crbug.com/591099 external/wpt/html/links/manifest/mime-type-application-json-manual.html [ Failure ]
+crbug.com/591099 external/wpt/html/links/manifest/mime-type-application-manifest+json-manual.html [ Failure ]
+crbug.com/591099 external/wpt/html/links/manifest/mime-type-invalid-manual.html [ Failure ]
+crbug.com/591099 external/wpt/html/links/manifest/mime-type-none-manual.html [ Failure ]
+crbug.com/591099 external/wpt/html/links/manifest/mime-type-text-json-manual.html [ Failure ]
+crbug.com/591099 external/wpt/html/links/manifest/wrong-mime-type-text-plain-manual.html [ Failure ]
+
+### virtual/stable/compositing/filters/
+crbug.com/591099 virtual/stable/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html [ Failure ]
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 43103cd..8052cff3 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -2631,6 +2631,9 @@
 crbug.com/1105958 external/wpt/payment-request/payment-is-showing.https.html [ Timeout ]
 
 # ====== New tests from wpt-importer added here ======
+crbug.com/626703 [ Mac10.13 ] external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams.https.html [ Timeout ]
+crbug.com/626703 [ Mac10.14 ] external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams.https.html [ Timeout ]
+crbug.com/626703 [ Mac10.15 ] external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams.https.html [ Timeout ]
 crbug.com/626703 external/wpt/content-security-policy/frame-src/frame-src-same-document.sub.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/input-events/input-events-get-target-ranges-backspace.tentative.html [ Timeout ]
 crbug.com/626703 [ Mac ] external/wpt/input-events/input-events-get-target-ranges-backspace.tentative.html [ Timeout ]
@@ -3059,7 +3062,7 @@
 crbug.com/1110833 external/wpt/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState.html [ Timeout ]
 
 # Tests that start hanging after implementing RTCRtpTransceiver.stop
-crbug.com/1115080 external/wpt/webrtc/RTCPeerConnection-iceGatheringState.html [ Timeout ]
+crbug.com/1115080 external/wpt/webrtc/RTCPeerConnection-iceGatheringState.html [ Timeout Pass Failure ]
 crbug.com/1115087 external/wpt/webrtc/RTCRtpTransceiver.https.html [ Timeout ]
 
 # See also crbug.com/920100 (sheriff 2019-01-09).
@@ -6426,9 +6429,6 @@
 # the inspector-protocol/media tests only work in the virtual test environment.
 crbug.com/1074129 inspector-protocol/media/media-player.js [ TIMEOUT ]
 
-# Sheriff 2020-04-30
-crbug.com/1068681 fast/peerconnection/RTCPeerConnection-insertable-streams.html [ Pass Timeout ]
-
 # Sheriff 2020-05-04
 crbug.com/952717 [ Debug ] http/tests/xmlhttprequest/redirect-cross-origin-post.html [ Pass Failure ]
 crbug.com/984467 fast/canvas/canvas-composite-stroke-alpha.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 8a7f4ec..74908291 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
@@ -445,6 +445,15 @@
       ]
      ]
     },
+    "cssom": {
+     "removerule-invalidation-crash.html": [
+      "a83f43d5faf62338cfb442468a6e9e0e011c79f2",
+      [
+       null,
+       {}
+      ]
+     ]
+    },
     "filter-effects": {
      "crashtests": {
       "multiple-references-id-crash-001.html": [
@@ -67525,6 +67534,35 @@
         }
        ]
       ],
+      "image-orientation-background-position.html": [
+       "cf4fcd4a301c2025b964a42065a3646dc6d4deaa",
+       [
+        null,
+        [
+         [
+          "/css/css-images/image-orientation/reference/image-orientation-background-position-ref.html",
+          "=="
+         ]
+        ],
+        {
+         "fuzzy": [
+          [
+           null,
+           [
+            [
+             10,
+             10
+            ],
+            [
+             100,
+             100
+            ]
+           ]
+          ]
+         ]
+        }
+       ]
+      ],
       "image-orientation-background-properties.html": [
        "45651286b176df4a93e3237425458c07fabfdda9",
        [
@@ -157721,7 +157759,7 @@
    },
    "accelerometer": {
     "Accelerometer-disabled-by-feature-policy.https-expected.txt": [
-     "f74a581ff1b03baf1a8c8bdba50f08bfd63213f8",
+     "624881c24bbcdba5a6e3ba753472e40e07925a1d",
      []
     ],
     "Accelerometer-disabled-by-feature-policy.https.html.headers": [
@@ -157729,15 +157767,15 @@
      []
     ],
     "Accelerometer-enabled-by-feature-policy-attribute-redirect-on-load.https-expected.txt": [
-     "15433268945d882e2bd17c2088c3e7568606027c",
+     "935bdbb7d658af2601643850958d049b4242b1f0",
      []
     ],
     "Accelerometer-enabled-by-feature-policy-attribute.https-expected.txt": [
-     "54b1ecd9c33a3664b46bc799fb378a3513e9aef4",
+     "801f9f4b5e040938bca8ef0233c42a50decc6deb",
      []
     ],
     "Accelerometer-enabled-by-feature-policy.https-expected.txt": [
-     "ceb88501d51d4d9c262d9428a91d9317e4d15fcf",
+     "54d817149410827b0e02a743466a485cceb4fe2a",
      []
     ],
     "Accelerometer-enabled-by-feature-policy.https.html.headers": [
@@ -157745,7 +157783,7 @@
      []
     ],
     "Accelerometer-enabled-on-self-origin-by-feature-policy.https-expected.txt": [
-     "b22f0e5a5586cc454fdf37492481c74fccec426a",
+     "6c850f2b65d2a4d825bc3871e340360a97c0fac2",
      []
     ],
     "Accelerometer-enabled-on-self-origin-by-feature-policy.https.html.headers": [
@@ -157753,11 +157791,11 @@
      []
     ],
     "Accelerometer-iframe-access.https-expected.txt": [
-     "af69542de0fb8fd1b3ef0d45beacd3df21566ca7",
+     "ed8f1c3f5a1723f6ad69f3f1fc1937336344f4fe",
      []
     ],
     "Accelerometer.https-expected.txt": [
-     "97b6be54f901983d24fe77857badff5f11a4365d",
+     "e1b3ac768d6e6c6bdd7607ac7871af84c4887275",
      []
     ],
     "META.yml": [
@@ -158199,7 +158237,7 @@
      []
     ],
     "idlharness.https.window-expected.txt": [
-     "dc584f8aaf9acb578dcb499b10bd95a10f362898",
+     "4a3b092593547bdd8b4d14b148faf07a0634e03d",
      []
     ],
     "setSinkId.https-expected.txt": [
@@ -179561,6 +179599,10 @@
         "a3e2ece6e7c26d79d1198c2abecc8d99bf23e1f5",
         []
        ],
+       "image-orientation-background-position-ref.html": [
+        "a19e535dabcec2f24b7cc16e2aa7ae92ccfc99d9",
+        []
+       ],
        "image-orientation-background-properties-ref.html": [
         "0d2aabc4d00d057b1fca18597602847d04513943",
         []
@@ -198760,7 +198802,7 @@
       []
      ],
      "testharness-api.md": [
-      "38997a2dcc945c3c569b1348313ba92dff5fec85",
+      "79da92ea81c484ca0586148ae378c4526a9f9296",
       []
      ],
      "testharness-tutorial.md": [
@@ -203225,6 +203267,30 @@
      ]
     }
    },
+   "font-access": {
+    "OWNERS": [
+     "2adf71cfa8c45ac70ca23dd86e57912b2942777c",
+     []
+    ],
+    "README.md": [
+     "f0d654ed398412143fdab5302509988f50e816e8",
+     []
+    ],
+    "resources": {
+     "test-expectations.js": [
+      "2b35507db2c4bf629686ea08cf8222040176c431",
+      []
+     ],
+     "window-tests-blob.js": [
+      "0d6db5399118372da9ca783eeb2551e435ea85d7",
+      []
+     ],
+     "window-tests-enumeration.js": [
+      "15455f0b4b62e4ae5e4cc3fcdff70b7e4b7ec253",
+      []
+     ]
+    }
+   },
    "fonts": {
     "AD.woff": [
      "3df8ea8efdabd11bc45fdcc6d4f3fec771be6650",
@@ -204135,15 +204201,15 @@
      []
     ],
     "generic-sensor-feature-policy-test.sub.js": [
-     "20436be80076abe3cedd22214bd176564af8ee87",
+     "da1af4132486c38af45dfbb44d0c902a6fc4ea6c",
      []
     ],
     "generic-sensor-iframe-tests.sub.js": [
-     "200013c48f983ed1aa5f48aa535d753b8a201f2a",
+     "3ebabad3a1073eda6103ed852ee8d6784a00c76e",
      []
     ],
     "generic-sensor-tests.js": [
-     "833bd0e73131edcf40125386549903cb31819cd3",
+     "7aac34945212e3424ec47a554e081b70591dfb88",
      []
     ],
     "resources": {
@@ -204181,7 +204247,7 @@
    },
    "geolocation-sensor": {
     "GeolocationSensor-disabled-by-feature-policy.https-expected.txt": [
-     "a1fe36ddb065c882ab801780c112ccc055f59db7",
+     "a9a9a44da945bcfc2986f716f420994a1d7fc34f",
      []
     ],
     "GeolocationSensor-disabled-by-feature-policy.https.html.headers": [
@@ -204189,15 +204255,15 @@
      []
     ],
     "GeolocationSensor-enabled-by-feature-policy-attribute-redirect-on-load.https-expected.txt": [
-     "a0e3aed88c9bd23922e841de03a489124d82745f",
+     "b101642b36480a367fe06058715801cbd958d982",
      []
     ],
     "GeolocationSensor-enabled-by-feature-policy-attribute.https-expected.txt": [
-     "de349ef67921f10516e6d8caadaeabbbbc7dc189",
+     "b4e301618c1c12d673b49a3fa9c3b08cf2d1d1d2",
      []
     ],
     "GeolocationSensor-enabled-by-feature-policy.https-expected.txt": [
-     "059fdc6d09becd3adcbf288e30955bb56a3eae11",
+     "4a8c3575c50184d62695c255f8635bfd94d2400d",
      []
     ],
     "GeolocationSensor-enabled-by-feature-policy.https.html.headers": [
@@ -204205,7 +204271,7 @@
      []
     ],
     "GeolocationSensor-enabled-on-self-origin-by-feature-policy.https-expected.txt": [
-     "52a520121f831515c213531c8f726e6291b06084",
+     "6961a00f45ca49d1d08676fd1358656bcb221490",
      []
     ],
     "GeolocationSensor-enabled-on-self-origin-by-feature-policy.https.html.headers": [
@@ -204213,11 +204279,11 @@
      []
     ],
     "GeolocationSensor-iframe-access.https-expected.txt": [
-     "4edc290da9f61fdc8dba6e7d87166e9724917a5b",
+     "821f00d1a8ce2590fd33aa40c25e56e8cbae9df3",
      []
     ],
     "GeolocationSensor.https-expected.txt": [
-     "df04c994cf9f6c96aa2dd783c23ca3e3b9e1b310",
+     "5e0d973fd266816fa27f1a0e995e2d25b138c21f",
      []
     ],
     "GeolocationSensor_read.https-expected.txt": [
@@ -207903,7 +207969,7 @@
        []
       ],
       "coop-coep.py": [
-       "e0a3d90050a6242580eeffd5bb6353055b3033d7",
+       "dd232e601bf7182bd2ac07e15791973d60f587e8",
        []
       ],
       "iframe-popup.sub.html": [
@@ -218589,7 +218655,7 @@
      []
     ],
     "audio-output.idl": [
-     "2041e6ea8fdb5d2f67cf9596a71de4b290bee869",
+     "6170f53f7e47858e692fd47d3b4d721343e26211",
      []
     ],
     "background-fetch.idl": [
@@ -218725,7 +218791,7 @@
      []
     ],
     "cssom.idl": [
-     "b7d9c33d596c3882e14ffa2fa1dee99e087ecedf",
+     "27f5ab6a72558f3ddb2b8490b8a912a55666d1dd",
      []
     ],
     "custom-state-pseudo-class.idl": [
@@ -219040,6 +219106,10 @@
      "2107f15315adef0fc0cbf39b4297bc5e0281c827",
      []
     ],
+    "sanitizer-api.tentative.idl": [
+     "331b44c51178a42581fc4c4af37724f821176565",
+     []
+    ],
     "savedata.idl": [
      "4d9e3b98d3c993cf2e95a5eaf363f38c5ec32941",
      []
@@ -219117,11 +219187,11 @@
      []
     ],
     "url.idl": [
-     "b0b237e8524a8621f0ddcd8367ebad6fd5f2fb5b",
+     "d35ebd4c6797fedf5e5c6619220ec74a9f5dc98f",
      []
     ],
     "user-timing.idl": [
-     "8af17fdc03fd8bd174dc428d32bf49a23447c1e1",
+     "081ad989046639b7b36a0011ff4e032152e7aa91",
      []
     ],
     "vibration.idl": [
@@ -219129,7 +219199,7 @@
      []
     ],
     "video-rvfc.idl": [
-     "a86e2b364df0da0326ff1154128a9198e7b23e89",
+     "e05051e0978d2db8c1e655ce987e08d7576fcdd1",
      []
     ],
     "visual-viewport.idl": [
@@ -219141,11 +219211,11 @@
      []
     ],
     "wake-lock.idl": [
-     "1eb30a06024713e5aab435610a8fc62841db8a50",
+     "e6d3a06a3e7c535879841e853beb052ede17c8a1",
      []
     ],
     "wasm-js-api.idl": [
-     "cc943610145dec2346e7ec9d6891cf32859f9d59",
+     "d3b27204fd65a9e99306521a4f27497278946d9c",
      []
     ],
     "wasm-web-api.idl": [
@@ -219153,7 +219223,7 @@
      []
     ],
     "web-animations.idl": [
-     "2f2b086e65cc981d47def182b46ad48ebb28f846",
+     "990973a1c82bafcb287597c1f8b2ecdeceb9f36f",
      []
     ],
     "web-bluetooth.idl": [
@@ -219165,7 +219235,7 @@
      []
     ],
     "web-nfc.idl": [
-     "f2e31b7352867d39edc9c43a4f1fffb3a02cb985",
+     "6643099d5750ee4541219581db36fb466d9b2646",
      []
     ],
     "web-otp.idl": [
@@ -219501,7 +219571,7 @@
      []
     ],
     "Magnetometer-disabled-by-feature-policy.https-expected.txt": [
-     "8b1bae9e97cb447f34580ba011ffa22c9ce00999",
+     "451112f5bbf696902c555c781a989e75ce3d7e62",
      []
     ],
     "Magnetometer-disabled-by-feature-policy.https.html.headers": [
@@ -219509,15 +219579,15 @@
      []
     ],
     "Magnetometer-enabled-by-feature-policy-attribute-redirect-on-load.https-expected.txt": [
-     "737d71a44b84b9f770f84db021e27dc7dfd6d272",
+     "3e317bff7ebbbd54f4be5bdd0d10041c0643abbc",
      []
     ],
     "Magnetometer-enabled-by-feature-policy-attribute.https-expected.txt": [
-     "411fc9c0e926185fa7ffa6e194d55d6c61006a9e",
+     "90703f274785753f7ccdd6e43d3aac047dcb889f",
      []
     ],
     "Magnetometer-enabled-by-feature-policy.https-expected.txt": [
-     "ab2f29b4f28b2c4892adf3cdb5447cec5de2126c",
+     "82bd6de0f934277b518d455a2c0939e19b188407",
      []
     ],
     "Magnetometer-enabled-by-feature-policy.https.html.headers": [
@@ -219525,7 +219595,7 @@
      []
     ],
     "Magnetometer-enabled-on-self-origin-by-feature-policy.https-expected.txt": [
-     "c8818b05b5d5b90c4df93a7bbbf68fb45642bf4a",
+     "25ece576914f339f7cb13c4ae8fc25d3299b8690",
      []
     ],
     "Magnetometer-enabled-on-self-origin-by-feature-policy.https.html.headers": [
@@ -219533,11 +219603,11 @@
      []
     ],
     "Magnetometer-iframe-access.https-expected.txt": [
-     "6311057153dd93e8d182d1a4491615fe47474883",
+     "35f075392c022833c9a0b2d628696b8933ea3d02",
      []
     ],
     "Magnetometer.https-expected.txt": [
-     "3730c4ac016221a6a24731bf1403e324ec9457c4",
+     "e65ddc53085932d1ac563d20bfdde60ac58a73fd",
      []
     ],
     "OWNERS": [
@@ -225429,6 +225499,16 @@
      }
     }
    },
+   "sanitizer-api": {
+    "META.yml": [
+     "7ac32665e19a0b6c48db80a2c063f3b3e37600ab",
+     []
+    ],
+    "OWNERS": [
+     "c5a213156a161824a4e5c6b96257d131ffb7212c",
+     []
+    ]
+   },
    "screen-capture": {
     "META.yml": [
      "47882d3275f1cc928555045b2def8fc90f6bcdb0",
@@ -230489,7 +230569,7 @@
        []
       ],
       "safari-technology-preview.rb": [
-       "9219623d55f6e034703f5125ac7285e1ba68d7aa",
+       "77fc13e5d5186d23438ef1ea20eac9bedb3e2e3a",
        []
       ],
       "system_info.yml": [
@@ -240124,6 +240204,14 @@
     ]
    },
    "webrtc-insertable-streams": {
+    "RTCPeerConnection-insertable-streams.js": [
+     "a6914e052d9ecca2b481ecf276cd2d8dbbfef1bb",
+     []
+    ],
+    "RTCPeerConnection-sender-worker-single-frame.js": [
+     "c943dafe5b154314132124e1d563df2a00b2aaf7",
+     []
+    ],
     "resources": {
      "blank.html": [
       "a3c3a4689a62b45b1e429f6b7a94690e556a1259",
@@ -280661,7 +280749,7 @@
       ]
      ],
      "focus-prioritized.html": [
-      "36e3c7644a715486f027ac7d0dfb444d9b7ea5dd",
+      "32d90badcad8003ef6cbba33090221d5e106cd34",
       [
        null,
        {}
@@ -316494,6 +316582,60 @@
      ]
     ]
    },
+   "font-access": {
+    "font_access-blob.tentative.https.window.js": [
+     "ff90075c966932f8a5be8bf0cf109934f37f6837",
+     [
+      "font-access/font_access-blob.tentative.https.window.html",
+      {
+       "script_metadata": [
+        [
+         "script",
+         "/resources/testdriver.js"
+        ],
+        [
+         "script",
+         "/resources/testdriver-vendor.js"
+        ],
+        [
+         "script",
+         "resources/test-expectations.js"
+        ],
+        [
+         "script",
+         "resources/window-tests-blob.js"
+        ]
+       ]
+      }
+     ]
+    ],
+    "font_access-enumeration.tentative.https.window.js": [
+     "677fe82c70233de2e1cbeab4beb41437319688b3",
+     [
+      "font-access/font_access-enumeration.tentative.https.window.html",
+      {
+       "script_metadata": [
+        [
+         "script",
+         "/resources/testdriver.js"
+        ],
+        [
+         "script",
+         "/resources/testdriver-vendor.js"
+        ],
+        [
+         "script",
+         "resources/test-expectations.js"
+        ],
+        [
+         "script",
+         "resources/window-tests-enumeration.js"
+        ]
+       ]
+      }
+     ]
+    ]
+   },
    "forced-colors-mode": {
     "forced-colors-mode-03.html": [
      "ebe42e4e7502a327849fe2c65924480e00de4399",
@@ -337641,7 +337783,7 @@
      "reporting": {
       "access-reporting": {
        "openee-accessed_openee-coop-ro.https.html": [
-        "1deedbde77b72fd732c2f7c7c611d1adfc7235e9",
+        "ef969738c33f8cacc8a269f5159e60900f98a7c7",
         [
          null,
          {
@@ -337650,7 +337792,7 @@
         ]
        ],
        "openee-accessed_opener-coop-ro.https.html": [
-        "8b6e7caed75640c6715ecfab8ef3b90de8b438cc",
+        "fc7c192b6b69303067c01ee407a67e9eed9201d2",
         [
          null,
          {
@@ -337659,7 +337801,7 @@
         ]
        ],
        "opener-accessed_openee-coop-ro.https.html": [
-        "6c576def93ab4c029b1719f0bbfd115e30ab1c56",
+        "d7384e21195c16e558fe85fadfaca45e56c149cb",
         [
          null,
          {
@@ -337668,7 +337810,7 @@
         ]
        ],
        "opener-accessed_opener-coop-ro.https.html": [
-        "b6883de249a19e4aeb15992c22d3f46c91b70b1b",
+        "e54d5e3fe1c34113bd79849df4e3bfc16739d467",
         [
          null,
          {
@@ -342487,6 +342629,13 @@
            {}
           ]
          ],
+         "no-cuechange-before-play.html": [
+          "cd53914ecd574f280247af4b35f1e336f269bf37",
+          [
+           null,
+           {}
+          ]
+         ],
          "src-clear-cues.html": [
           "3ba8c9db88a4952a9be5879e4652799f6b5c18db",
           [
@@ -342502,7 +342651,7 @@
           ]
          ],
          "track-active-cues.html": [
-          "501cf3f92a2796c2685a046829593821d7414b2c",
+          "a7c08a2e3eac26bc81ef60da9e6e84fdf99b7f3b",
           [
            null,
            {}
@@ -379971,6 +380120,33 @@
      ]
     ]
    },
+   "sanitizer-api": {
+    "idlharness.tentative.window.js": [
+     "f32a0ab349cf3a08847449fa2a65f0fbbb5d4901",
+     [
+      "sanitizer-api/idlharness.tentative.window.html",
+      {
+       "script_metadata": [
+        [
+         "script",
+         "/resources/WebIDLParser.js"
+        ],
+        [
+         "script",
+         "/resources/idlharness.js"
+        ]
+       ]
+      }
+     ]
+    ],
+    "sanitizer.tentative.html": [
+     "78d73edf002463bef48c9e6809cb004da0dc0bb5",
+     [
+      null,
+      {}
+     ]
+    ]
+   },
    "savedata": {
     "idlharness.any.js": [
      "aad362346ca5fa9999a05a3456756d150bf0e354",
@@ -403567,7 +403743,7 @@
      ]
     ],
     "video-encoder.html": [
-     "05f7a1c49c261be2f6220ed115febe2ca424b1e2",
+     "b56e7d1b0e3774b8513c7c3b612c97848514696a",
      [
       null,
       {}
@@ -405644,6 +405820,27 @@
       null,
       {}
      ]
+    ],
+    "RTCPeerConnection-insertable-streams-audio.https.html": [
+     "aecf671854c3e54f27e9796c29d41bcd78626dab",
+     [
+      null,
+      {}
+     ]
+    ],
+    "RTCPeerConnection-insertable-streams-simulcast.https.html": [
+     "a34f4da5a94704ae02b5329cca87a7773af81ae3",
+     [
+      null,
+      {}
+     ]
+    ],
+    "RTCPeerConnection-insertable-streams.https.html": [
+     "e796057dce17dad74e39e1ccf318f4239938a56d",
+     [
+      null,
+      {}
+     ]
     ]
    },
    "webrtc-priority": {
@@ -426477,7 +426674,7 @@
        ]
       ],
       "pointer_tripleclick.py": [
-       "3dd64ca456fc9090c362905b87391a567835bd54",
+       "81d51be1a7e6cfeba63528f4bea58343c9f7cc48",
        [
         null,
         {}
diff --git a/third_party/blink/web_tests/external/wpt/audio-output/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/audio-output/idlharness.https.window-expected.txt
index dc584f8..4a3b0925 100644
--- a/third_party/blink/web_tests/external/wpt/audio-output/idlharness.https.window-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/audio-output/idlharness.https.window-expected.txt
@@ -14,8 +14,9 @@
 PASS Element includes NonDocumentTypeChildNode: member names are unique
 PASS Element includes ChildNode: member names are unique
 PASS Element includes Slottable: member names are unique
-FAIL MediaDevices interface: operation selectAudioOutput() assert_own_property: interface prototype object missing non-static operation expected property "selectAudioOutput" missing
-FAIL MediaDevices interface: navigator.mediaDevices must inherit property "selectAudioOutput()" with the proper type assert_inherits: property "selectAudioOutput" not found in prototype chain
+FAIL MediaDevices interface: operation selectAudioOutput(optional AudioOutputOptions) assert_own_property: interface prototype object missing non-static operation expected property "selectAudioOutput" missing
+FAIL MediaDevices interface: navigator.mediaDevices must inherit property "selectAudioOutput(optional AudioOutputOptions)" with the proper type assert_inherits: property "selectAudioOutput" not found in prototype chain
+FAIL MediaDevices interface: calling selectAudioOutput(optional AudioOutputOptions) on navigator.mediaDevices with too few arguments must throw TypeError assert_inherits: property "selectAudioOutput" not found in prototype chain
 PASS HTMLMediaElement interface: attribute sinkId
 PASS HTMLMediaElement interface: operation setSinkId(DOMString)
 Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/css-scroll-anchoring/focus-prioritized.html b/third_party/blink/web_tests/external/wpt/css/css-scroll-anchoring/focus-prioritized.html
index 36e3c764..32d90ba 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-scroll-anchoring/focus-prioritized.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-scroll-anchoring/focus-prioritized.html
@@ -21,7 +21,7 @@
 <div class=spacer></div>
 <div id=growing></div>
 <div class=spacer></div>
-<div id=focused tabindex=0></div>
+<div id=focused contenteditable></div>
 <div class=spacer></div>
 <div class=spacer></div>
 
diff --git a/third_party/blink/web_tests/external/wpt/css/cssom/removerule-invalidation-crash.html b/third_party/blink/web_tests/external/wpt/css/cssom/removerule-invalidation-crash.html
new file mode 100644
index 0000000..a83f43d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/cssom/removerule-invalidation-crash.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>CSSOM - removeRule doesn't assert when removing a particular set of rules</title>
+<link rel="help" href="https://drafts.csswg.org/cssom/#cssstylesheet">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1659718">
+<style>
+@media all {
+  * { color: red; }
+
+  #foobar { color: blue }
+}
+</style>
+<script>
+  document.documentElement.getBoundingClientRect();
+  document.styleSheets[0].deleteRule(0);
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/docs/writing-tests/testharness-api.md b/third_party/blink/web_tests/external/wpt/docs/writing-tests/testharness-api.md
index 38997a2..79da92e 100644
--- a/third_party/blink/web_tests/external/wpt/docs/writing-tests/testharness-api.md
+++ b/third_party/blink/web_tests/external/wpt/docs/writing-tests/testharness-api.md
@@ -414,7 +414,7 @@
 }, "");
 ```
 
-`step_wait_func(cond, func, description, timeout=3000, interval=100)` & `step_wait_func(cond, func, description, timeout=3000, interval=100)` are useful inside `async_test`:
+`step_wait_func(cond, func, description, timeout=3000, interval=100)` and `step_wait_func_done(cond, func, description, timeout=3000, interval=100)` are useful inside `async_test`:
 
 ```js
 async_test(t => {
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/openee-accessed_openee-coop-ro.https.html b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/openee-accessed_openee-coop-ro.https.html
index 1deedbd..ef969738 100644
--- a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/openee-accessed_openee-coop-ro.https.html
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/openee-accessed_openee-coop-ro.https.html
@@ -39,11 +39,11 @@
   tryAccess(openee);
 
   // 3. Check a report is sent to the openee.
-  let report = await receiveReport(report_token, "access-to-coop-page")
+  let report =
+    await receiveReport(report_token, "access-to-coop-page-from-opener")
   assert_not_equals(report, "timeout", "Report not received");
   assert_equals(report.type, "coop");
   assert_equals(report.url, openee_url.replace(/"/g, '%22'));
-  assert_equals(report.body.type, "access-to-coop-page");
   assert_equals(report.body.disposition, "reporting");
   assert_equals(report.body.effectivePolicy, "same-origin-plus-coep");
   assert_equals(report.body.property, "blur");
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/openee-accessed_opener-coop-ro.https.html b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/openee-accessed_opener-coop-ro.https.html
index 8b6e7ca..fc7c192 100644
--- a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/openee-accessed_opener-coop-ro.https.html
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/openee-accessed_opener-coop-ro.https.html
@@ -58,11 +58,11 @@
   `);
 
   // 5. Check a report sent to the opener.
-  let report = await receiveReport(opener_report_token, "access-from-coop-page")
+  let report =
+    await receiveReport(opener_report_token, "access-from-coop-page-to-openee")
   assert_not_equals(report, "timeout", "Report not received");
   assert_equals(report.type, "coop");
   assert_equals(report.url, opener_url.replace(/"/g, '%22'));
-  assert_equals(report.body.type, "access-from-coop-page");
   assert_equals(report.body.disposition, "reporting");
   assert_equals(report.body.effectivePolicy, "same-origin-plus-coep");
   assert_equals(report.body.property, "blur");
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_openee-coop-ro.https.html b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_openee-coop-ro.https.html
index 6c576def9..d7384e21 100644
--- a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_openee-coop-ro.https.html
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_openee-coop-ro.https.html
@@ -33,11 +33,11 @@
   `);
 
   // 2. Check a report is sent to the openee.
-  let report = await receiveReport(report_token, "access-from-coop-page")
+  let report =
+    await receiveReport(report_token, "access-from-coop-page-to-opener")
   assert_not_equals(report, "timeout", "Report not received");
   assert_equals(report.type, "coop");
   assert_equals(report.url, openee_url.replace(/"/g, '%22'));
-  assert_equals(report.body.type, "access-from-coop-page");
   assert_equals(report.body.disposition, "reporting");
   assert_equals(report.body.effectivePolicy, "same-origin-plus-coep");
   assert_equals(report.body.property, "blur");
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_opener-coop-ro.https.html b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_opener-coop-ro.https.html
index b6883de..e54d5e3f 100644
--- a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_opener-coop-ro.https.html
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/reporting/access-reporting/opener-accessed_opener-coop-ro.https.html
@@ -52,11 +52,11 @@
   `);
 
   // 4. Check a report sent to the opener.
-  let report = await receiveReport(opener_report_token, "access-to-coop-page")
+  let report =
+    await receiveReport(opener_report_token, "access-to-coop-page-from-openee")
   assert_not_equals(report, "timeout", "Report not received");
   assert_equals(report.type, "coop");
   assert_equals(report.url, opener_url.replace(/"/g, '%22'));
-  assert_equals(report.body.type, "access-to-coop-page");
   assert_equals(report.body.disposition, "reporting");
   assert_equals(report.body.effectivePolicy, "same-origin-plus-coep");
   assert_equals(report.body.property, "blur");
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/coop-coep.py b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/coop-coep.py
index e0a3d90..dd232e6 100644
--- a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/coop-coep.py
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/coop-coep.py
@@ -1,16 +1,16 @@
 def main(request, response):
     coop = request.GET.first(b"coop")
-    coopReportOnly = request.GET.first(b"coop-report-only") if b"coop-report-only" in request.GET else b""
+    coopReportOnly = request.GET.first(b"coop-report-only", None)
     coep = request.GET.first(b"coep")
-    coepReportOnly = request.GET.first(b"coep-report-only") if b"coep-report-only" in request.GET else b""
+    coepReportOnly = request.GET.first(b"coep-report-only", None)
     redirect = request.GET.first(b"redirect", None)
     if coop != b"":
         response.headers.set(b"Cross-Origin-Opener-Policy", coop)
-    if coop != b"":
+    if coopReportOnly is not None:
         response.headers.set(b"Cross-Origin-Opener-Policy-Report-Only", coopReportOnly)
     if coep != b"":
         response.headers.set(b"Cross-Origin-Embedder-Policy", coep)
-    if coep != b"":
+    if coepReportOnly is not None:
         response.headers.set(b"Cross-Origin-Embedder-Policy-Report-Only", coepReportOnly)
     if b'cache' in request.GET:
         response.headers.set(b'Cache-Control', b'max-age=3600')
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/audio-output.idl b/third_party/blink/web_tests/external/wpt/interfaces/audio-output.idl
index 2041e6e..6170f53f 100644
--- a/third_party/blink/web_tests/external/wpt/interfaces/audio-output.idl
+++ b/third_party/blink/web_tests/external/wpt/interfaces/audio-output.idl
@@ -5,9 +5,13 @@
 
 partial interface HTMLMediaElement {
   [SecureContext] readonly attribute DOMString sinkId;
-  [SecureContext] Promise<void> setSinkId (DOMString sinkId);
+  [SecureContext] Promise<undefined> setSinkId (DOMString sinkId);
 };
 
 partial interface MediaDevices {
-  Promise<MediaDeviceInfo> selectAudioOutput();
+  Promise<MediaDeviceInfo> selectAudioOutput(optional AudioOutputOptions options = {});
+};
+
+dictionary AudioOutputOptions {
+  DOMString deviceId = "";
 };
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/cssom.idl b/third_party/blink/web_tests/external/wpt/interfaces/cssom.idl
index b7d9c33..27f5ab6 100644
--- a/third_party/blink/web_tests/external/wpt/interfaces/cssom.idl
+++ b/third_party/blink/web_tests/external/wpt/interfaces/cssom.idl
@@ -17,8 +17,8 @@
   stringifier attribute [LegacyNullToEmptyString] CSSOMString mediaText;
   readonly attribute unsigned long length;
   getter CSSOMString? item(unsigned long index);
-  void appendMedium(CSSOMString medium);
-  void deleteMedium(CSSOMString medium);
+  undefined appendMedium(CSSOMString medium);
+  undefined deleteMedium(CSSOMString medium);
 };
 
 [Exposed=Window]
@@ -37,13 +37,13 @@
   readonly attribute CSSRule? ownerRule;
   [SameObject] readonly attribute CSSRuleList cssRules;
   unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0);
-  void deleteRule(unsigned long index);
+  undefined deleteRule(unsigned long index);
 };
 
 partial interface CSSStyleSheet {
   [SameObject] readonly attribute CSSRuleList rules;
   long addRule(optional DOMString selector = "undefined", optional DOMString style = "undefined", optional unsigned long index);
-  void removeRule(optional unsigned long index = 0);
+  undefined removeRule(optional unsigned long index = 0);
 };
 
 [Exposed=Window]
@@ -102,7 +102,7 @@
 interface CSSGroupingRule : CSSRule {
   [SameObject] readonly attribute CSSRuleList cssRules;
   unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0);
-  void deleteRule(unsigned long index);
+  undefined deleteRule(unsigned long index);
 };
 
 [Exposed=Window]
@@ -130,7 +130,7 @@
   getter CSSOMString item(unsigned long index);
   CSSOMString getPropertyValue(CSSOMString property);
   CSSOMString getPropertyPriority(CSSOMString property);
-  [CEReactions] void setProperty(CSSOMString property, [LegacyNullToEmptyString] CSSOMString value, optional [LegacyNullToEmptyString] CSSOMString priority = "");
+  [CEReactions] undefined setProperty(CSSOMString property, [LegacyNullToEmptyString] CSSOMString value, optional [LegacyNullToEmptyString] CSSOMString priority = "");
   [CEReactions] CSSOMString removeProperty(CSSOMString property);
   readonly attribute CSSRule? parentRule;
   [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString cssFloat;
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/sanitizer-api.tentative.idl b/third_party/blink/web_tests/external/wpt/interfaces/sanitizer-api.tentative.idl
new file mode 100644
index 0000000..331b44c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/interfaces/sanitizer-api.tentative.idl
@@ -0,0 +1,8 @@
+// https://wicg.github.io/sanitizer-api/
+
+[
+  Exposed=Window
+] interface Sanitizer {
+  [RaisesException] constructor();
+  DOMString saneStringFrom(DOMString input);
+};
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/url.idl b/third_party/blink/web_tests/external/wpt/interfaces/url.idl
index b0b237e8..d35ebd4 100644
--- a/third_party/blink/web_tests/external/wpt/interfaces/url.idl
+++ b/third_party/blink/web_tests/external/wpt/interfaces/url.idl
@@ -28,14 +28,14 @@
 interface URLSearchParams {
   constructor(optional (sequence<sequence<USVString>> or record<USVString, USVString> or USVString) init = "");
 
-  void append(USVString name, USVString value);
-  void delete(USVString name);
+  undefined append(USVString name, USVString value);
+  undefined delete(USVString name);
   USVString? get(USVString name);
   sequence<USVString> getAll(USVString name);
   boolean has(USVString name);
-  void set(USVString name, USVString value);
+  undefined set(USVString name, USVString value);
 
-  void sort();
+  undefined sort();
 
   iterable<USVString, USVString>;
   stringifier;
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/user-timing.idl b/third_party/blink/web_tests/external/wpt/interfaces/user-timing.idl
index 8af17fd..081ad989 100644
--- a/third_party/blink/web_tests/external/wpt/interfaces/user-timing.idl
+++ b/third_party/blink/web_tests/external/wpt/interfaces/user-timing.idl
@@ -17,9 +17,9 @@
 
 partial interface Performance {
     PerformanceMark mark(DOMString markName, optional PerformanceMarkOptions markOptions = {});
-    void clearMarks(optional DOMString markName);
+    undefined clearMarks(optional DOMString markName);
     PerformanceMeasure measure(DOMString measureName, optional (DOMString or PerformanceMeasureOptions) startOrMeasureOptions = {}, optional DOMString endMark);
-    void clearMeasures(optional DOMString measureName);
+    undefined clearMeasures(optional DOMString measureName);
 };
 
 [Exposed=(Window,Worker)]
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/video-rvfc.idl b/third_party/blink/web_tests/external/wpt/interfaces/video-rvfc.idl
index a86e2b36..e05051e 100644
--- a/third_party/blink/web_tests/external/wpt/interfaces/video-rvfc.idl
+++ b/third_party/blink/web_tests/external/wpt/interfaces/video-rvfc.idl
@@ -19,9 +19,9 @@
   unsigned long rtpTimestamp;
 };
 
-callback VideoFrameRequestCallback = void(DOMHighResTimeStamp now, VideoFrameMetadata metadata);
+callback VideoFrameRequestCallback = undefined(DOMHighResTimeStamp now, VideoFrameMetadata metadata);
 
 partial interface HTMLVideoElement {
     unsigned long requestVideoFrameCallback(VideoFrameRequestCallback callback);
-    void cancelVideoFrameCallback(unsigned long handle);
+    undefined cancelVideoFrameCallback(unsigned long handle);
 };
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/wake-lock.idl b/third_party/blink/web_tests/external/wpt/interfaces/wake-lock.idl
index 1eb30a0..e6d3a06 100644
--- a/third_party/blink/web_tests/external/wpt/interfaces/wake-lock.idl
+++ b/third_party/blink/web_tests/external/wpt/interfaces/wake-lock.idl
@@ -16,7 +16,7 @@
 [SecureContext, Exposed=(Window)]
 interface WakeLockSentinel : EventTarget {
   readonly attribute WakeLockType type;
-  Promise<void> release();
+  Promise<undefined> release();
   attribute EventHandler onrelease;
 };
 
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/wasm-js-api.idl b/third_party/blink/web_tests/external/wpt/interfaces/wasm-js-api.idl
index cc943610..d3b2720 100644
--- a/third_party/blink/web_tests/external/wpt/interfaces/wasm-js-api.idl
+++ b/third_party/blink/web_tests/external/wpt/interfaces/wasm-js-api.idl
@@ -82,7 +82,7 @@
   constructor(TableDescriptor descriptor);
   unsigned long grow([EnforceRange] unsigned long delta);
   Function? get([EnforceRange] unsigned long index);
-  void set([EnforceRange] unsigned long index, Function? value);
+  undefined set([EnforceRange] unsigned long index, Function? value);
   readonly attribute unsigned long length;
 };
 
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/web-animations.idl b/third_party/blink/web_tests/external/wpt/interfaces/web-animations.idl
index 2f2b086..990973a1c 100644
--- a/third_party/blink/web_tests/external/wpt/interfaces/web-animations.idl
+++ b/third_party/blink/web_tests/external/wpt/interfaces/web-animations.idl
@@ -36,14 +36,14 @@
              attribute EventHandler             onfinish;
              attribute EventHandler             oncancel;
              attribute EventHandler             onremove;
-    void cancel();
-    void finish();
-    void play();
-    void pause();
-    void updatePlaybackRate(double playbackRate);
-    void reverse();
-    void persist();
-    void commitStyles();
+    undefined cancel();
+    undefined finish();
+    undefined play();
+    undefined pause();
+    undefined updatePlaybackRate(double playbackRate);
+    undefined reverse();
+    undefined persist();
+    undefined commitStyles();
 };
 
 enum AnimationPlayState { "idle", "running", "paused", "finished" };
@@ -56,7 +56,7 @@
 interface AnimationEffect {
     EffectTiming         getTiming();
     ComputedEffectTiming getComputedTiming();
-    void                 updateTiming(optional OptionalEffectTiming timing = {});
+    undefined            updateTiming(optional OptionalEffectTiming timing = {});
 };
 
 dictionary EffectTiming {
@@ -103,7 +103,7 @@
     attribute CSSOMString?       pseudoElement;
     attribute CompositeOperation composite;
     sequence<object> getKeyframes();
-    void             setKeyframes(object? keyframes);
+    undefined        setKeyframes(object? keyframes);
 };
 
 dictionary BaseComputedKeyframe {
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl b/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl
index f2e31b73..6643099 100644
--- a/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl
+++ b/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl
@@ -47,7 +47,7 @@
 interface NDEFWriter {
   constructor();
 
-  Promise<void> write(NDEFMessageSource message, optional NDEFWriteOptions options={});
+  Promise<undefined> write(NDEFMessageSource message, optional NDEFWriteOptions options={});
 };
 
 [SecureContext, Exposed=Window]
@@ -57,7 +57,7 @@
   attribute EventHandler onerror;
   attribute EventHandler onreading;
 
-  Promise<void> scan(optional NDEFScanOptions options={});
+  Promise<undefined> scan(optional NDEFScanOptions options={});
 };
 
 [SecureContext, Exposed=Window]
diff --git a/third_party/blink/web_tests/external/wpt/sanitizer-api/META.yml b/third_party/blink/web_tests/external/wpt/sanitizer-api/META.yml
new file mode 100644
index 0000000..7ac3266
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/sanitizer-api/META.yml
@@ -0,0 +1,5 @@
+spec: https://wicg.github.io/sanitizer-api/
+suggested_reviewers:
+  - ivanlish
+  - mozfreddyb
+  - otherdaniel
diff --git a/third_party/blink/web_tests/external/wpt/sanitizer-api/OWNERS b/third_party/blink/web_tests/external/wpt/sanitizer-api/OWNERS
new file mode 100644
index 0000000..c5a21315
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/sanitizer-api/OWNERS
@@ -0,0 +1,4 @@
+# TEAM: security-dev@chromium.org
+# COMPONENT: Blink>SecurityFeature>SanitizerAPI
+# WPT-NOTIFY: true
+file://third_party/blink/renderer/modules/sanitizer_api/OWNERS
diff --git a/third_party/blink/web_tests/external/wpt/sanitizer-api/idlharness.tentative.window.js b/third_party/blink/web_tests/external/wpt/sanitizer-api/idlharness.tentative.window.js
new file mode 100644
index 0000000..f32a0ab
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/sanitizer-api/idlharness.tentative.window.js
@@ -0,0 +1,12 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+idl_test(
+  ['sanitizer-api.tentative'],
+  ['html'],
+  idl_array => {
+    idl_array.add_objects({
+      Sanitizer: ['new Sanitizer()']
+    });
+  }
+);
diff --git a/third_party/blink/web_tests/external/wpt/sanitizer-api/sanitizer.tentative.html b/third_party/blink/web_tests/external/wpt/sanitizer-api/sanitizer.tentative.html
new file mode 100644
index 0000000..78d73edf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/sanitizer-api/sanitizer.tentative.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="support/helper.sub.js"></script>
+</head>
+
+<body>
+<script>
+    test(t => {
+        s = new Sanitizer();
+        assert_equals("test", s.saneStringFrom("test"));
+    }, "SanitizerAPI exists!");
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/tools/ci/azure/safari-technology-preview.rb b/third_party/blink/web_tests/external/wpt/tools/ci/azure/safari-technology-preview.rb
index 9219623..77fc13e5 100644
--- a/third_party/blink/web_tests/external/wpt/tools/ci/azure/safari-technology-preview.rb
+++ b/third_party/blink/web_tests/external/wpt/tools/ci/azure/safari-technology-preview.rb
@@ -1,33 +1,33 @@
-cask 'safari-technology-preview' do
+cask "safari-technology-preview" do
   if MacOS.version <= :catalina
-    version '111,001-32177-20200728-f459b529-99a7-4707-a85c-e693ddb56eee'
-    sha256 'f95f72e8cf6a3160fad71411168c8f0eeb805ca1e7a7eec06b6e92d2a0ab6e85'
+    version "112,001-36858-20200817-24aabed5-4c89-4ed0-a1d9-2a50a6b99771"
+    sha256 "bcf47d0671913cc4e2122a6b54618b620e8c5751c71873e94d2516da065b769e"
   else
-    version '111,001-32479-20200728-12c458d1-e348-4ec5-9d55-9e9bad9c805e'
-    sha256 '6b199cca77be7407f40a62bc1ec576a8751b24da15613dfc0a951ac3d996f45f'
+    version "112,001-37237-20200817-e8f512a3-4939-46ec-9404-6e673db90ab0"
+    sha256 "7729e983a498f45b00bf2e0938085e8b97732b05fb98041960c7ced14082562e"
   end
 
   url "https://secure-appldnld.apple.com/STP/#{version.after_comma}/SafariTechnologyPreview.dmg"
-  appcast 'https://developer.apple.com/safari/download/'
-  name 'Safari Technology Preview'
-  homepage 'https://developer.apple.com/safari/download/'
+  appcast "https://developer.apple.com/safari/download/"
+  name "Safari Technology Preview"
+  homepage "https://developer.apple.com/safari/download/"
 
   auto_updates true
-  depends_on macos: '>= :catalina'
+  depends_on macos: ">= :catalina"
 
-  pkg 'Safari Technology Preview.pkg'
+  pkg "Safari Technology Preview.pkg"
 
-  uninstall delete: '/Applications/Safari Technology Preview.app'
+  uninstall delete: "/Applications/Safari Technology Preview.app"
 
   zap trash: [
-               '~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.apple.safaritechnologypreview.sfl*',
-               '~/Library/Caches/com.apple.SafariTechnologyPreview',
-               '~/Library/Preferences/com.apple.SafariTechnologyPreview.plist',
-               '~/Library/SafariTechnologyPreview',
-               '~/Library/Saved Application State/com.apple.SafariTechnologyPreview.savedState',
-               '~/Library/SyncedPreferences/com.apple.SafariTechnologyPreview-com.apple.Safari.UserRequests.plist',
-               '~/Library/SyncedPreferences/com.apple.SafariTechnologyPreview-com.apple.Safari.WebFeedSubscriptions.plist',
-               '~/Library/SyncedPreferences/com.apple.SafariTechnologyPreview.plist',
-               '~/Library/WebKit/com.apple.SafariTechnologyPreview',
-             ]
+    "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.apple.safaritechnologypreview.sfl*",
+    "~/Library/Caches/com.apple.SafariTechnologyPreview",
+    "~/Library/Preferences/com.apple.SafariTechnologyPreview.plist",
+    "~/Library/SafariTechnologyPreview",
+    "~/Library/Saved Application State/com.apple.SafariTechnologyPreview.savedState",
+    "~/Library/SyncedPreferences/com.apple.SafariTechnologyPreview-com.apple.Safari.UserRequests.plist",
+    "~/Library/SyncedPreferences/com.apple.SafariTechnologyPreview-com.apple.Safari.WebFeedSubscriptions.plist",
+    "~/Library/SyncedPreferences/com.apple.SafariTechnologyPreview.plist",
+    "~/Library/WebKit/com.apple.SafariTechnologyPreview",
+  ]
 end
diff --git a/third_party/blink/web_tests/external/wpt/webcodecs/h264.mp4 b/third_party/blink/web_tests/external/wpt/webcodecs/h264.mp4
new file mode 100644
index 0000000..e21fcba
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/webcodecs/h264.mp4
Binary files differ
diff --git a/third_party/blink/web_tests/external/wpt/webcodecs/video-decoder.html b/third_party/blink/web_tests/external/wpt/webcodecs/video-decoder.html
index 6c64d92..c70366d 100644
--- a/third_party/blink/web_tests/external/wpt/webcodecs/video-decoder.html
+++ b/third_party/blink/web_tests/external/wpt/webcodecs/video-decoder.html
@@ -4,6 +4,46 @@
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
 <script>
+'use strict';
+
+// TODO(sandersd): Move metadata into a helper library.
+// TODO(sandersd): Add H.264 idecode test once there is an API to query for
+// supported codecs.
+let h264 = {
+  buffer: fetch('h264.mp4').then(r => r.arrayBuffer()),
+  codec: "avc1.64000c",
+  description: {offset: 7229, size: 46},
+  frames: [{offset: 48, size: 4007},
+           {offset: 4055, size: 926},
+           {offset: 4981, size: 241},
+           {offset: 5222, size: 97},
+           {offset: 5319, size: 98},
+           {offset: 5417, size: 624},
+           {offset: 6041, size: 185},
+           {offset: 6226, size: 94},
+           {offset: 6320, size: 109},
+           {offset: 6429, size: 281}]
+};
+
+let vp9 = {
+  buffer: fetch('vp9.mp4').then(r => r.arrayBuffer()),
+  // TODO(sandersd): Verify that the file is actually level 1.
+  codec: "vp09.00.10.08",
+  frames: [{offset: 44, size: 3315},
+           {offset: 3359, size: 203},
+           {offset: 3562, size: 245},
+           {offset: 3807, size: 172},
+           {offset: 3979, size: 312},
+           {offset: 4291, size: 170},
+           {offset: 4461, size: 195},
+           {offset: 4656, size: 181},
+           {offset: 4837, size: 356},
+           {offset: 5193, size: 159}]
+};
+
+function view(buffer, {offset, size}) {
+  return new Uint8Array(buffer, offset, size);
+}
 
 // Calls done after giving async output/error callbacks a final chance to run.
 async function asyncDone(test) {
@@ -54,5 +94,133 @@
 
   asyncDone(t);
 }, 'Test VideoDecoder.configure() codec validity');
+
+promise_test(t => vp9.buffer.then(buffer => {
+  let numOutputs = 0;
+  let decoder = new VideoDecoder({
+    output(frame) {
+      t.step(() => {
+        assert_equals(++numOutputs, 1, "outputs");
+        assert_equals(frame.cropWidth, 320, "cropWidth");
+        assert_equals(frame.cropHeight, 240, "cropHeight");
+        assert_equals(frame.timestamp, 0, "timestamp");
+        frame.destroy();
+      });
+    },
+    error(e) {
+      t.step(() => {
+        // TODO(sandersd): Change to 'throw e' once e is defined.
+        throw "decode error";
+      });
+    }
+  });
+
+  decoder.configure({codec: vp9.codec});
+
+  decoder.decode(new EncodedVideoChunk('key', 0, view(buffer, vp9.frames[0])));
+
+  return decoder.flush().then(() => {
+    assert_equals(numOutputs, 1, "outputs");
+  });
+}), 'Decode VP9');
+
+promise_test(t => {
+  let decoder = new VideoDecoder({
+    output(frame) {
+      t.step(() => {
+        throw "unexpected output";
+      });
+    },
+    error(e) {
+      t.step(() => {
+        throw "unexpected error";
+      });
+    }
+  });
+
+  decoder.close();
+
+  let fakeChunk = new EncodedVideoChunk('key', 0, Uint8Array.of(0));
+  assert_throws_dom("InvalidStateError",
+                    () => decoder.configure({codec: vp9.codec}),
+                    "configure");
+  assert_throws_dom("InvalidStateError",
+                    () => decoder.decode(fakeChunk),
+                    "reset");
+  assert_throws_dom("InvalidStateError",
+                    () => decoder.reset(),
+                    "reset");
+  assert_throws_dom("InvalidStateError",
+                    () => decoder.close(),
+                    "close");
+  return promise_rejects_dom(t, 'InvalidStateError', decoder.flush(), 'flush');
+}, 'Closed decoder');
+
+promise_test(t => {
+  let numErrors = 0;
+  let decoder = new VideoDecoder({
+    output(frame) {
+      t.step(() => {
+        throw "unexpected output";
+      });
+    },
+    error(e) {
+      numErrors++;
+    }
+  });
+
+  let fakeChunk = new EncodedVideoChunk('key', 0, Uint8Array.of(0));
+  decoder.decode(fakeChunk);
+
+  return decoder.flush().then(
+      () => { throw "flush succeeded unexpectedly"; },
+      () => { assert_equals(numErrors, 1, "errors"); });
+}, 'Decode without configure');
+
+promise_test(t => {
+  let numErrors = 0;
+  let decoder = new VideoDecoder({
+    output(frame) {
+      t.step(() => {
+        throw "unexpected output";
+      });
+    },
+    error(e) {
+      numErrors++;
+    }
+  });
+
+  decoder.configure({codec: vp9.codec});
+
+  let fakeChunk = new EncodedVideoChunk('key', 0, Uint8Array.of(0));
+  decoder.decode(fakeChunk);
+
+  return decoder.flush().then(
+      () => { throw "flush succeeded unexpectedly"; },
+      () => { assert_equals(numErrors, 1, "errors"); });
+}, 'Decode corrupt VP9 frame');
+
+promise_test(t => {
+  let numErrors = 0;
+  let decoder = new VideoDecoder({
+    output(frame) {
+      t.step(() => {
+        throw "unexpected output";
+      });
+    },
+    error(e) {
+      numErrors++;
+    }
+  });
+
+  decoder.configure({codec: vp9.codec});
+
+  let fakeChunk = new EncodedVideoChunk('key', 0, Uint8Array.of());
+  decoder.decode(fakeChunk);
+
+  return decoder.flush().then(
+      () => { throw "flush succeeded unexpectedly"; },
+      () => { assert_equals(numErrors, 1, "errors"); });
+}, 'Decode empty VP9 frame');
 </script>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/webcodecs/video-encoder.html b/third_party/blink/web_tests/external/wpt/webcodecs/video-encoder.html
index 05f7a1c..b56e7d1 100644
--- a/third_party/blink/web_tests/external/wpt/webcodecs/video-encoder.html
+++ b/third_party/blink/web_tests/external/wpt/webcodecs/video-encoder.html
@@ -31,8 +31,8 @@
 
   // VideoEncoderInit has required fields.
   let encoder = new VideoEncoder({
-    output(chunk) { assert_unreached("Unexpected output");  },
-    error(error) { assert_unreached("Unexpected error:" + error); },
+    output(chunk) { t.unreached_func("Unexpected output").call(); },
+    error(error) { t.unreached_func("Unexpected error:" + error).call(); },
   });
   encoder.close();
 
@@ -41,8 +41,8 @@
 
 async_test(async (t) => {
   let encoder = new VideoEncoder({
-    output(chunk) { assert_unreached("Unexpected output");  },
-    error(error) { assert_unreached("Unexpected error:" + error); },
+    output(chunk) { t.unreached_func("Unexpected output").call(); },
+    error(error) { t.unreached_func("Unexpected error:" + error).call(); },
   });
 
   const requiredConfigPairs = {
@@ -54,7 +54,7 @@
   let incrementalConfig = {};
 
   for (let key in requiredConfigPairs) {
-    // Configure  should fail while required keys are missing.
+    // Configure should fail while required keys are missing.
     assert_throws_js(TypeError, () => { encoder.configure(incrementalConfig); });
     incrementalConfig[key] = requiredConfigPairs[key];
   }
@@ -62,6 +62,27 @@
   // Configure should pass once incrementalConfig meets all requirements.
   encoder.configure(incrementalConfig);
 
+  // We should be able to reconfigure the encoder.
+  encoder.configure(incrementalConfig);
+
+  let config = incrementalConfig;
+
+  // Bogus codec rejected.
+  config.codec = 'bogus';
+  assert_throws_js(TypeError, () => { encoder.configure(config); });
+
+  // Audio codec rejected.
+  config.codec = 'vorbis';
+  assert_throws_js(TypeError, () => { encoder.configure(config); });
+
+  // Ambiguous codec rejected.
+  config.codec = 'vp9';
+  assert_throws_js(TypeError, () => { encoder.configure(config); });
+
+  // Codec with mime type rejected.
+  config.codec = 'video/webm; codecs="vp9"';
+  assert_throws_js(TypeError, () => { encoder.configure(config); });
+
   encoder.close();
 
   asyncDone(t);
@@ -69,8 +90,8 @@
 
 async_test(async (t) => {
   let encoder = new VideoEncoder({
-    output(chunk) { assert_unreached("Unexpected output"); },
-    error(error) { assert_unreached("Unexpected error:" + error); },
+    output(chunk) { t.unreached_func("Unexpected output").call(); },
+    error(error) { t.unreached_func("Unexpected error:" + error).call(); },
   });
 
   let videoFrame = await createVideoFrame(640, 480, 0);
@@ -93,7 +114,7 @@
   let output_chunks = [];
   let encoder = new VideoEncoder({
     output(chunk) { output_chunks.push(chunk); },
-    error(error) { assert_unreached("Unexpected error:" + error); },
+    error(error) { t.unreached_func("Unexpected error:" + error).call(); },
   });
 
   // No encodes yet.
@@ -113,8 +134,8 @@
   let frame1 = await createVideoFrame(640, 480, 0);
   let frame2 = await createVideoFrame(640, 480, 33333);
 
-  encoder.encode(frame1);
-  encoder.encode(frame2);
+  encoder.encode(frame1.clone());
+  encoder.encode(frame2.clone());
 
   // Could be 0, 1, or 2. We can't guarantee this check runs before the UA has
   // processed the encodes.
@@ -133,5 +154,108 @@
 
   asyncDone(t);
 }, 'Test successful configure(), encode(), and flush()');
+
+async_test(async (t) => {
+  let output_chunks = [];
+  let encoder = new VideoEncoder({
+    output(chunk) { output_chunks.push(chunk); },
+    error(error) { t.unreached_func("Unexpected error:" + error).call(); },
+  });
+
+  // No encodes yet.
+  assert_equals(encoder.encodeQueueSize, 0);
+
+  const config = {
+    codec: 'vp8',
+    framerate: 25,
+    width: 640,
+    height: 480
+  };
+  encoder.configure(config);
+
+  let frame1 = await createVideoFrame(640, 480, 0);
+  let frame2 = await createVideoFrame(640, 480, 33333);
+
+  encoder.encode(frame1.clone());
+  encoder.configure(config);
+
+  encoder.encode(frame2.clone());
+
+  await encoder.flush();
+
+  // We can guarantee that all encodes are processed after a flush.
+  assert_equals(encoder.encodeQueueSize, 0);
+
+  // The first frame may have been dropped when reconfiguring.
+  // This shouldn't happen, and should be fixed/called out in the spec, but
+  // this is preptively added to prevent flakiness.
+  // TODO: Remove these checks when implementations handle this correctly.
+  assert_true(output_chunks.length == 1 || output_chunks.length == 2);
+
+  if (output_chunks.length == 1) {
+    // If we only have one chunk frame, make sure we droped the frame that was
+    // in flight when we reconfigured.
+    assert_equals(output_chunks[0].timestamp, frame2.timestamp);
+  } else {
+    assert_equals(output_chunks[0].timestamp, frame1.timestamp);
+    assert_equals(output_chunks[1].timestamp, frame2.timestamp);
+  }
+
+  output_chunks = [];
+
+  let frame3 = await createVideoFrame(640, 480, 66666);
+  let frame4 = await createVideoFrame(640, 480, 100000);
+
+  encoder.encode(frame3.clone());
+
+  // Verify that a failed call to configure does not change the encoder's state.
+  config.codec = 'bogus';
+  assert_throws_js(TypeError, () => encoder.configure(config));
+
+  encoder.encode(frame4.clone());
+
+  await encoder.flush();
+
+  assert_equals(output_chunks[0].timestamp, frame3.timestamp);
+  assert_equals(output_chunks[1].timestamp, frame4.timestamp);
+
+  encoder.close();
+
+  asyncDone(t);
+}, 'Test successful encode() after re-configure().');
+
+async_test(async (t) => {
+  let output_chunks = [];
+  let encoder = new VideoEncoder({
+    output(chunk) { output_chunks.push(chunk); },
+    error(error) { t.unreached_func("Unexpected error:" + error).call(); },
+  });
+
+  let timestamp = 33333;
+  let frame = await createVideoFrame(640, 480, timestamp);
+
+  t.step(() => {
+    // No encodes yet.
+    assert_equals(encoder.encodeQueueSize, 0);
+
+    const config = {
+      codec: 'vp8',
+      framerate: 25,
+      width: 640,
+      height: 480
+    };
+    encoder.configure(config);
+
+    encoder.encode(frame);
+
+    assert_not_equals(frame.timestamp, timestamp);
+    assert_throws_dom("InvalidStateError", () => frame.clone());
+
+    encoder.close();
+  });
+
+  asyncDone(t);
+}, 'Test encoder consumes (destroys) frames.');
+
 </script>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/webcodecs/vp9.mp4 b/third_party/blink/web_tests/external/wpt/webcodecs/vp9.mp4
new file mode 100644
index 0000000..7553e5c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/webcodecs/vp9.mp4
Binary files differ
diff --git a/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams-audio.html b/third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams-audio.https.html
similarity index 96%
rename from third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams-audio.html
rename to third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams-audio.https.html
index 808c240..aecf671 100644
--- a/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams-audio.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams-audio.https.html
@@ -2,9 +2,9 @@
 <html>
 <head>
 <title>RTCPeerConnection Insertable Streams Audio</title>
-<script src="../../resources/testharness.js"></script>
-<script src="../../resources/testharnessreport.js"></script>
-<script src="../../external/wpt/webrtc/RTCPeerConnection-helper.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../webrtc/RTCPeerConnection-helper.js"></script>
 <script src="./RTCPeerConnection-insertable-streams.js"></script>
 </head>
 <body>
@@ -55,7 +55,7 @@
 
           if (numVerifiedFrames == numFramesToSend)
             resolve();
-        })).catch(e=>console.error(e));
+        }));
       }
     });
   });
diff --git a/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams-simulcast.html b/third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams-simulcast.https.html
similarity index 88%
rename from third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams-simulcast.html
rename to third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams-simulcast.https.html
index 44d9894..a34f4da5 100644
--- a/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams-simulcast.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams-simulcast.https.html
@@ -1,11 +1,11 @@
 <!doctype html>
 <meta charset=utf-8>
 <title>RTCPeerConnection Insertable Streams Simulcast</title>
-<script src="../../external/wpt/webrtc/third_party/sdp/sdp.js"></script>
-<script src="../../external/wpt/webrtc/simulcast/simulcast.js"></script>
-<script src="../../external/wpt/webrtc/RTCPeerConnection-helper.js"></script>
-<script src="../../resources/testharness.js"></script>
-<script src="../../resources/testharnessreport.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../webrtc/RTCPeerConnection-helper.js"></script>
+<script src="../webrtc/third_party/sdp/sdp.js"></script>
+<script src="../webrtc/simulcast/simulcast.js"></script>
 <script>
 // Test based on wpt/webrtc/simulcast/basic.https.html
 promise_test(async t => {
diff --git a/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams.html b/third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams.https.html
similarity index 96%
rename from third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams.html
rename to third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams.https.html
index df17e42..e796057 100644
--- a/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams.https.html
@@ -2,9 +2,9 @@
 <html>
 <head>
 <title>RTCPeerConnection Insertable Streams</title>
-<script src="../../resources/testharness.js"></script>
-<script src="../../resources/testharnessreport.js"></script>
-<script src="../../external/wpt/webrtc/RTCPeerConnection-helper.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../webrtc/RTCPeerConnection-helper.js"></script>
 <script src="./RTCPeerConnection-insertable-streams.js"></script>
 </head>
 <body>
@@ -268,11 +268,11 @@
 
 promise_test(t => {
   return testNormalDataFlowWithInsertableStreamsForOtherKind(t, 'audio');
-}, 'Audio flows when insertable streams is enabled for video and disabled for audio.');
+}, 'Legacy: Audio flows when insertable streams is enabled for video and disabled for audio.');
 
 promise_test(t => {
   return testNormalDataFlowWithInsertableStreamsForOtherKind(t, 'video');
-}, 'Video flows when insertable streams is enabled for audio and disabled for audio.');
+}, 'Legacy: Video flows when insertable streams is enabled for audio and disabled for audio.');
 
 promise_test(async t => {
   const caller = new RTCPeerConnection({encodedInsertableStreams:true});
diff --git a/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams.js b/third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams.js
similarity index 100%
rename from third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-insertable-streams.js
rename to third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-insertable-streams.js
diff --git a/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-sender-worker-single-frame.js b/third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-sender-worker-single-frame.js
similarity index 100%
rename from third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-sender-worker-single-frame.js
rename to third_party/blink/web_tests/external/wpt/webrtc-insertable-streams/RTCPeerConnection-sender-worker-single-frame.js
diff --git a/third_party/blink/web_tests/fast/forms/calendar-picker/datetimelocal-picker-open-to-focused-field.html b/third_party/blink/web_tests/fast/forms/calendar-picker/datetimelocal-picker-open-to-focused-field.html
new file mode 100644
index 0000000..5b13e812
--- /dev/null
+++ b/third_party/blink/web_tests/fast/forms/calendar-picker/datetimelocal-picker-open-to-focused-field.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <script src="../../../resources/testharness.js"></script>
+  <script src="../../../resources/testharnessreport.js"></script>
+  <script src="../../../fast/forms/resources/common.js"></script>
+  <script src="../../../fast/forms/resources/picker-common.js"></script>
+</head>
+<body>
+
+<input type="datetime-local" id="datetime" value="2020-08-19T11:34:00" />
+<input type="datetime-local" step="1" id="datetimeWithSeconds" value="2020-08-19T11:34:45" />
+
+<script>
+
+function runDateTimeLocalTest(input, includesSeconds)
+{
+    let seconds = includesSeconds ? 45 : 0;
+    let secondsStr = includesSeconds ? (":" + seconds) : "";
+    // Note: Assuming mm/dd/yyyy format, but it doesn't really matter.
+    // Update date
+    input.focus();
+    assert_equals(internals.pagePopupWindow, null);
+    return openPickerWithPromise(input).then(() => {
+        // Default focus moves the day element.
+        assert_not_equals(internals.pagePopupWindow, null);
+        eventSender.keyDown('ArrowUp');
+        assert_equals(input.value, "2020-08-12T11:34" + secondsStr);
+        eventSender.keyDown('ArrowDown');
+        assert_equals(input.value, "2020-08-19T11:34" + secondsStr);
+    }).then(() => {
+        // Update date when focused on day element
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab"); // To day
+        assert_equals(internals.pagePopupWindow, null);
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            assert_equals(input.value, "2020-08-12T11:34" + secondsStr);
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "2020-08-19T11:34" + secondsStr);
+        });
+    }).then(() => {
+        // Update date when focused on year element
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab"); // To day
+        eventSender.keyDown("Tab"); // To year
+        assert_equals(internals.pagePopupWindow, null);
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            assert_equals(input.value, "2020-08-12T11:34" + secondsStr);
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "2020-08-19T11:34" + secondsStr);
+        });
+    }).then(() => {
+        // Update hours
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab"); // To day
+        eventSender.keyDown("Tab"); // To year
+        eventSender.keyDown("Tab"); // To hour
+        assert_equals(internals.pagePopupWindow, null);
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            assert_equals(input.value, "2020-08-19T10:34" + secondsStr);
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "2020-08-19T11:34" + secondsStr);
+        });
+    }).then(() => {
+        // Update minutes
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab"); // To day
+        eventSender.keyDown("Tab"); // To year
+        eventSender.keyDown("Tab"); // To hour
+        eventSender.keyDown("Tab"); // To minutes
+        assert_equals(internals.pagePopupWindow, null);
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            assert_equals(input.value, "2020-08-19T11:33" + secondsStr);
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "2020-08-19T11:34" + secondsStr);
+        });
+    }).then(() => {
+        if (!includesSeconds)
+            return;
+        // Update seconds
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab"); // To day
+        eventSender.keyDown("Tab"); // To year
+        eventSender.keyDown("Tab"); // To hour
+        eventSender.keyDown("Tab"); // To minutes
+        eventSender.keyDown("Tab"); // To seconds
+        assert_equals(internals.pagePopupWindow, null);
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            seconds--;
+            assert_equals(input.value, "2020-08-19T11:34:" + seconds);
+            eventSender.keyDown('ArrowDown');
+            seconds++;
+            assert_equals(input.value, "2020-08-19T11:34:" + seconds);
+        });
+    }).then(() => {
+        // Update am/pm
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab"); // To day
+        eventSender.keyDown("Tab"); // To year
+        eventSender.keyDown("Tab"); // To hour
+        eventSender.keyDown("Tab"); // To minutes
+        if (includesSeconds)
+            eventSender.keyDown("Tab"); // To seconds
+        eventSender.keyDown("Tab"); // To AM/PM
+        assert_equals(internals.pagePopupWindow, null);
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            assert_equals(input.value, "2020-08-19T23:34" + secondsStr);
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "2020-08-19T11:34" + secondsStr);
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "2020-08-19T23:34" + secondsStr);
+            input.blur();
+        });
+    });
+}
+
+promise_test(() => {
+    var input = document.getElementById("datetime");
+    return runDateTimeLocalTest(input, false);
+}, "Test opening datetime-local picker to focused field.");
+
+promise_test(() => {
+    var input = document.getElementById("datetimeWithSeconds");
+    return runDateTimeLocalTest(input, true);
+}, "Test opening datetime-local picker to focused field with seconds.");
+
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/fast/forms/calendar-picker/time-picker-open-to-focused-field.html b/third_party/blink/web_tests/fast/forms/calendar-picker/time-picker-open-to-focused-field.html
new file mode 100644
index 0000000..b5f8218
--- /dev/null
+++ b/third_party/blink/web_tests/fast/forms/calendar-picker/time-picker-open-to-focused-field.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <script src="../../../resources/testharness.js"></script>
+  <script src="../../../resources/testharnessreport.js"></script>
+  <script src="../../../fast/forms/resources/common.js"></script>
+  <script src="../../../fast/forms/resources/picker-common.js"></script>
+</head>
+<body>
+<script>
+if (window.internals)
+    internals.settings.setLangAttributeAwareFormControlUIEnabled(true);
+else
+    debug('Require testRunner.');
+</script>
+
+<input type="time" id="time" value="11:34:00" />
+<input type="time" step="1" id="timeWithSeconds" value="11:34:34" />
+<input type="time" lang="ko" id="timeAmFirst" value="11:34:00" />
+
+<script>
+
+function runTimeTest(input, includesSeconds)
+{
+    let seconds = includesSeconds ? 34 : 0;
+    let secondsStr = includesSeconds ? (":" + seconds) : "";
+    // Update hours
+    input.focus();
+    assert_equals(internals.pagePopupWindow, null);
+    return openPickerWithPromise(input).then(() => {
+        assert_not_equals(internals.pagePopupWindow, null);
+        eventSender.keyDown('ArrowUp');
+        assert_equals(input.value, "10:34" + secondsStr);
+        eventSender.keyDown('ArrowDown');
+        assert_equals(input.value, "11:34" + secondsStr);
+    }).then(() => {
+        // Update minutes
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab");
+        assert_equals(internals.pagePopupWindow, null);
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            assert_equals(input.value, "11:33" + secondsStr);
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "11:34" + secondsStr);
+        });
+    }).then(() => {
+        if (!includesSeconds)
+            return;
+        // Update seconds
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab"); // To minutes
+        eventSender.keyDown("Tab"); // To seconds
+        assert_equals(internals.pagePopupWindow, null);
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            seconds--;
+            assert_equals(input.value, "11:34:" + seconds);
+            eventSender.keyDown('ArrowDown');
+            seconds++;
+            assert_equals(input.value, "11:34:" + seconds);
+        });
+    }).then(() => {
+        // Update am/pm
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab");
+        if (includesSeconds)
+            eventSender.keyDown("Tab"); // To seconds
+        eventSender.keyDown("Tab");
+        assert_equals(internals.pagePopupWindow, null);
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            assert_equals(input.value, "23:34" + secondsStr);
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "11:34" + secondsStr);
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "23:34" + secondsStr);
+            input.blur();
+        });
+    });
+}
+
+promise_test(() => {
+    var input = document.getElementById("time");
+    return runTimeTest(input, false);
+}, "Test opening time picker to focused field.");
+
+promise_test(() => {
+    var input = document.getElementById("timeWithSeconds");
+    return runTimeTest(input, true);
+}, "Test opening time picker to focused field with seconds.");
+
+promise_test(() => {
+    var input = document.getElementById("timeAmFirst");
+    // Update am/pm
+    input.focus();
+    assert_equals(internals.pagePopupWindow, null);
+    return openPickerWithPromise(input).then(() => {
+        assert_not_equals(internals.pagePopupWindow, null);
+        eventSender.keyDown('ArrowUp');
+        assert_equals(input.value, "23:34");
+        eventSender.keyDown('ArrowDown');
+        assert_equals(input.value, "11:34");
+        eventSender.keyDown('ArrowDown');
+        assert_equals(input.value, "23:34");
+        eventSender.keyDown('ArrowDown');
+        assert_equals(input.value, "11:34");
+    }).then(() => {
+        // Update hours
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab");
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            assert_equals(input.value, "10:34");
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "11:34");
+        });
+      }).then(() => {
+        // Update minutes
+        input.blur();
+        input.focus();
+        eventSender.keyDown("Tab");
+        eventSender.keyDown("Tab");
+        assert_equals(internals.pagePopupWindow, null);
+        return openPickerWithPromise(input).then(() => {
+            assert_not_equals(internals.pagePopupWindow, null);
+            eventSender.keyDown('ArrowUp');
+            assert_equals(input.value, "11:33");
+            eventSender.keyDown('ArrowDown');
+            assert_equals(input.value, "11:34");
+            input.blur();
+        });
+    });
+}, "Test opening time picker to focused field for AM/PM first.");
+
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/http/tests/loading/wbn/wbn-subresource-origin-trial.https.html b/third_party/blink/web_tests/http/tests/loading/wbn/wbn-subresource-origin-trial.https.html
index 214043c2..d74d1535 100644
--- a/third_party/blink/web_tests/http/tests/loading/wbn/wbn-subresource-origin-trial.https.html
+++ b/third_party/blink/web_tests/http/tests/loading/wbn/wbn-subresource-origin-trial.https.html
@@ -26,12 +26,17 @@
   const wbn_url = 'https://127.0.0.1:8443/loading/wbn/resources/wbn/wbn-subresource-origin-trial.wbn';
   const script_url = 'https://localhost:8443/loading/wbn/resources/server/wbn-subresource-origin-trial/script.js';
 
+  const SubresourceWebBundles = 3446;  // From web_feature.mojom
+  assert_false(window.internals.isUseCounted(document, SubresourceWebBundles));
+
   const link = document.createElement('link');
   link.rel = 'webbundle';
   link.href = wbn_url;
   link.resources.add(script_url);
   document.body.appendChild(link);
 
+  assert_true(window.internals.isUseCounted(document, SubresourceWebBundles));
+
   const result_promise = new Promise((resolve) => {
       // This function will be called from script.js
       window.report_result = resolve;
diff --git a/third_party/blink/web_tests/http/tests/loading/wbn/wbn-subresource-third-party-origin-trial.https.html b/third_party/blink/web_tests/http/tests/loading/wbn/wbn-subresource-third-party-origin-trial.https.html
index 2a7eded6..6383af27 100644
--- a/third_party/blink/web_tests/http/tests/loading/wbn/wbn-subresource-third-party-origin-trial.https.html
+++ b/third_party/blink/web_tests/http/tests/loading/wbn/wbn-subresource-third-party-origin-trial.https.html
@@ -28,12 +28,17 @@
   const wbn_url = 'https://127.0.0.1:8443/loading/wbn/resources/wbn/wbn-subresource-third-party-origin-trial.wbn';
   const script_url = 'https://localhost:8443/loading/wbn/resources/server/wbn-subresource-third-party-origin-trial/script.js';
 
+  const SubresourceWebBundles = 3446;  // From web_feature.mojom
+  assert_false(window.internals.isUseCounted(document, SubresourceWebBundles));
+
   const link = document.createElement('link');
   link.rel = 'webbundle';
   link.href = wbn_url;
   link.resources.add(script_url);
   document.body.appendChild(link);
 
+  assert_true(window.internals.isUseCounted(document, SubresourceWebBundles));
+
   const result_promise = new Promise((resolve) => {
       // This function will be called from script.js
       window.report_result = resolve;
diff --git a/third_party/blink/web_tests/media/track/text-track-selection-menu-add-track.html b/third_party/blink/web_tests/media/track/text-track-selection-menu-add-track.html
index 0cbffa29..d1a334d 100644
--- a/third_party/blink/web_tests/media/track/text-track-selection-menu-add-track.html
+++ b/third_party/blink/web_tests/media/track/text-track-selection-menu-add-track.html
@@ -4,18 +4,20 @@
 <script src="../../resources/testharnessreport.js"></script>
 <script src="../media-controls.js"></script>
 <!-- Width should be large enough to display closed captions button. -->
-<video autoplay controls style="width: 500px">
+<video controls style="width: 500px">
     <track src="captions-webvtt/captions.vtt" kind="captions" label="English" srclang="en" default>
 </video>
 <script>
 async_test(function(t) {
     var trackCueText = "Bonjour";
     var video = document.querySelector("video");
+    var track = document.querySelector("track");
     enableTestMode(video);
 
-    video.onplaying = t.step_func(function() {
-        var track = video.addTextTrack("captions", "French", "fr");
-        track.addCue(new VTTCue(0, 1, trackCueText));
+    track.oncuechange = t.step_func(function() {
+        track.oncuechange = null;
+        var new_track = video.addTextTrack("captions", "French", "fr");
+        new_track.addCue(new VTTCue(0, 1, trackCueText));
         assert_true(isClosedCaptionsButtonEnabled(video));
         assert_equals(video.textTracks.length, 2);
         assert_equals(video.textTracks[0].mode, "showing");
@@ -33,5 +35,8 @@
     });
 
     video.src = "../content/test.ogv";
+
+    // Seek to a point in the middle of the first cue
+    video.currentTime = 0.5;
 })
 </script>
diff --git a/third_party/blink/web_tests/media/video-controls-track-selection-menu.html b/third_party/blink/web_tests/media/video-controls-track-selection-menu.html
index 2f2d1cd..c0e44730 100644
--- a/third_party/blink/web_tests/media/video-controls-track-selection-menu.html
+++ b/third_party/blink/web_tests/media/video-controls-track-selection-menu.html
@@ -4,7 +4,7 @@
 <script src="../resources/testharnessreport.js"></script>
 <script src="media-controls.js"></script>
 <!-- Width should be large enough to display closed captions button. -->
-<video autoplay controls style="width: 500px">
+<video controls style="width: 500px">
     <track src="track/captions-webvtt/captions.vtt" kind="captions" label="Track1">
     <track src="track/captions-webvtt/long-word.vtt" kind="captions" label="Track2">
 </video>
@@ -28,7 +28,10 @@
         if (numberOfTracksLoaded != 2)
             return;
 
-        video.onplaying = t.step_func(function() {
+        // Seek to some point within the first second
+        video.currentTime = 0.5;
+
+        video.onseeked = t.step_func(function() {
             assert_true(isClosedCaptionsButtonEnabled(video));
             assert_equals(video.textTracks.length, 2);
             assert_equals(video.textTracks[0].mode, "hidden");
diff --git a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
index 6e5af8b..efa7032 100644
--- a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
@@ -5333,6 +5333,23 @@
     method getRemoteCertificates
     setter onerror
     setter onstatechange
+interface RTCEncodedAudioFrame
+    attribute @@toStringTag
+    getter data
+    getter timestamp
+    method constructor
+    method getMetadata
+    method toString
+    setter data
+interface RTCEncodedVideoFrame
+    attribute @@toStringTag
+    getter data
+    getter timestamp
+    getter type
+    method constructor
+    method getMetadata
+    method toString
+    setter data
 interface RTCError : DOMException
     attribute @@toStringTag
     getter errorDetail
@@ -5462,6 +5479,7 @@
     getter track
     getter transport
     method constructor
+    method createEncodedStreams
     method getContributingSources
     method getParameters
     method getStats
@@ -5475,6 +5493,7 @@
     getter track
     getter transport
     method constructor
+    method createEncodedStreams
     method getParameters
     method getStats
     method replaceTrack
diff --git a/third_party/blink/web_tests/webcodecs/basic_video_encoding.html b/third_party/blink/web_tests/webcodecs/basic_video_encoding.html
index cc18173..c383855 100644
--- a/third_party/blink/web_tests/webcodecs/basic_video_encoding.html
+++ b/third_party/blink/web_tests/webcodecs/basic_video_encoding.html
@@ -27,7 +27,7 @@
   return new VideoFrame(imageBitmap, { timestamp: ts });
 }
 
-async function encode_test(codec, profile, acc) {
+async function encode_test(codec, acc) {
   let w = 640;
   let h = 480;
   let next_ts = 0
@@ -49,7 +49,6 @@
   };
   const params = {
     codec : codec,
-    profile : profile,
     acceleration: acc,
     width : w,
     height : h,
@@ -68,13 +67,13 @@
   assert_equals(frames_processed, frames_to_encode);
 }
 
-promise_test(encode_test.bind(null, "vp9", "vp09.00.10.08", "allow"),
+promise_test(encode_test.bind(null, "vp09.00.10.08", "allow"),
     "encoding vp9 profile0");
 
-promise_test(encode_test.bind(null, "vp9", "vp09.02.10.10", "allow"),
+promise_test(encode_test.bind(null, "vp09.02.10.10", "allow"),
     "encoding vp9 profile2");
 
-promise_test(encode_test.bind(null, "vp8", null, "allow"),
+promise_test(encode_test.bind(null, "vp8", "allow"),
     "encoding vp8");
 
 
diff --git a/third_party/blink/web_tests/webcodecs/videoframe-imagebitmap.html b/third_party/blink/web_tests/webcodecs/videoframe-imagebitmap.html
index 62da817..4c68446 100644
--- a/third_party/blink/web_tests/webcodecs/videoframe-imagebitmap.html
+++ b/third_party/blink/web_tests/webcodecs/videoframe-imagebitmap.html
@@ -164,8 +164,7 @@
         };
 
         const videoEncoderConfig = {
-          codec: "vp9",
-          profile: "vp09.00.10.08",
+          codec: "vp09.00.10.08",
           width: width,
           height: height,
           bitrate: 10e6,
diff --git a/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
index 39bf5e1..ef6e5e4 100644
--- a/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
+++ b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
@@ -7895,6 +7895,10 @@
     getter zoomAndPan
     method constructor
     setter zoomAndPan
+interface Sanitizer
+    attribute @@toStringTag
+    method constructor
+    method saneStringFrom
 interface Scheduler
     attribute @@toStringTag
     getter currentTaskSignal
@@ -8774,6 +8778,7 @@
 interface VideoDecoder
     attribute @@toStringTag
     getter decodeQueueSize
+    method close
     method configure
     method constructor
     method decode
diff --git a/third_party/libaddressinput/chromium/resources/address_input_strings_id.xtb b/third_party/libaddressinput/chromium/resources/address_input_strings_id.xtb
index a3192a0..91b1eb6 100644
--- a/third_party/libaddressinput/chromium/resources/address_input_strings_id.xtb
+++ b/third_party/libaddressinput/chromium/resources/address_input_strings_id.xtb
@@ -30,7 +30,7 @@
 <translation id="6839929833149231406">Wilayah</translation>
 <translation id="684852933191805996">Townland</translation>
 <translation id="6970216967273061347">Distrik</translation>
-<translation id="7087282848513945231">Wilayah</translation>
+<translation id="7087282848513945231">County</translation>
 <translation id="7139724024395191329">Emirat</translation>
 <translation id="7393381084163773901">Alamat</translation>
 <translation id="7602447984296396718">Tampaknya kode pos ini tidak cocok dengan sisa alamat ini.</translation>
diff --git a/third_party/sqlite/README.chromium b/third_party/sqlite/README.chromium
index 40ea434a..cfc1abbf0 100644
--- a/third_party/sqlite/README.chromium
+++ b/third_party/sqlite/README.chromium
@@ -1,7 +1,7 @@
 Name: sqlite
 URL: https://sqlite.org/
-Version: 3.31.2
-CPEPrefix: cpe:/a:sqlite:sqlite:3.31.2
+Version: 3.33.0
+CPEPrefix: cpe:/a:sqlite:sqlite:3.33.0
 Included In Release: Yes
 Security Critical: Yes
 License: Public domain
diff --git a/third_party/sqlite/README.md b/third_party/sqlite/README.md
index 310050b..4e89dbb 100644
--- a/third_party/sqlite/README.md
+++ b/third_party/sqlite/README.md
@@ -25,14 +25,14 @@
 # Upgrade to a new SQLite release.
 
 **Note** SQLite tags all releases `version-<release number>`, e.g.
-`version-3.32.1`. The Chromium project prefixes all tags/branches with
-"chromium-", e.g.  `chromium-version-3.32.1`.
+`version-3.33.0`. The Chromium project prefixes all tags/branches with
+"chromium-", e.g.  `chromium-version-3.33.0`.
 
 1. Create new release branch
 
    Use the SQLite commit ID when creating a branch. For example
    "562fd18b9dc27216191c0a6477bba9b175f7f0d2" corresponds to the
-   3.32.1 release. The commit is used, instead of the tag name, because
+   3.33.0 release. The commit is used, instead of the tag name, because
    we do not mirror the SQLite tags along with the commits. The correct
    commit ID can be found at
    [sqlite/releases](https://github.com/sqlite/sqlite/releases).
@@ -45,7 +45,7 @@
     ```sh
     cd //third_party/sqlite/src
     git fetch origin
-    export VERSION=3.32.1
+    export VERSION=3.33.0
     git checkout -b chromium-version-$VERSION \
         --track origin/chromum-version-$VERSION
     ```
@@ -90,7 +90,7 @@
 1. Checkout the current release branch.
 
     ```sh
-    export VERSION=3.32.1
+    export VERSION=3.33.0
     cd //third_party/sqlite/src
     git checkout -b chromium-version-$VERSION \
       --track origin/chromium-version-$VERSION
diff --git a/third_party/tcmalloc/README.chromium b/third_party/tcmalloc/README.chromium
index f7cfe71..374a638 100644
--- a/third_party/tcmalloc/README.chromium
+++ b/third_party/tcmalloc/README.chromium
@@ -121,3 +121,4 @@
   compiler to optimize away a static constructor
 - Include <atomic> in malloc_extension.h due to std::atomic usage
 - Precompute the pointer mask for doubly linked free lists instead of computing it on each access.
+- Move spinlock to function static variable to fix static initializer check error.
diff --git a/third_party/tcmalloc/chromium/src/system-alloc.cc b/third_party/tcmalloc/chromium/src/system-alloc.cc
index 52dd142..345e6683 100644
--- a/third_party/tcmalloc/chromium/src/system-alloc.cc
+++ b/third_party/tcmalloc/chromium/src/system-alloc.cc
@@ -248,8 +248,6 @@
 COMPILE_ASSERT(kAddressBits <= 8 * sizeof(void*),
                address_bits_larger_than_pointer_size);
 
-static SpinLock spinlock(SpinLock::LINKER_INITIALIZED);
-
 #if defined(HAVE_MMAP) || defined(MADV_FREE)
 #ifdef HAVE_GETPAGESIZE
 static size_t pagesize = 0;
@@ -638,6 +636,7 @@
   // Discard requests that overflow
   if (size + alignment < size) return NULL;
 
+  static SpinLock spinlock(SpinLock::LINKER_INITIALIZED);
   SpinLockHolder lock_holder(&spinlock);
 
   if (!system_alloc_inited) {
diff --git a/third_party/tint/README.chromium b/third_party/tint/README.chromium
index 72595c6..1504806 100644
--- a/third_party/tint/README.chromium
+++ b/third_party/tint/README.chromium
@@ -2,7 +2,7 @@
 Short Name: tint
 URL: https://dawn.googlesource.com/tint
 Version: 0
-Revision: bc80805c4b04d0e8cd9dad12bef32927363b9787
+Revision: b08e25388629f5a8f467b726ace18df529bba3ef
 License: Apache 2.0
 License File: LICENSE
 Security Critical: yes
diff --git a/tools/clang/trace_annotator/CMakeLists.txt b/tools/clang/trace_annotator/CMakeLists.txt
new file mode 100644
index 0000000..6f59011
--- /dev/null
+++ b/tools/clang/trace_annotator/CMakeLists.txt
@@ -0,0 +1,26 @@
+set(LLVM_LINK_COMPONENTS
+  BitReader
+  MCParser
+  Option
+  )
+
+add_llvm_executable(trace_annotator
+  TraceAnnotator.cpp
+  )
+
+target_link_libraries(trace_annotator
+  clangAST
+  clangASTMatchers
+  clangAnalysis
+  clangBasic
+  clangDriver
+  clangEdit
+  clangFrontend
+  clangLex
+  clangParse
+  clangSema
+  clangSerialization
+  clangTooling
+  )
+
+cr_install(TARGETS trace_annotator RUNTIME DESTINATION bin)
diff --git a/tools/clang/trace_annotator/README.md b/tools/clang/trace_annotator/README.md
new file mode 100644
index 0000000..2e2aa4e
--- /dev/null
+++ b/tools/clang/trace_annotator/README.md
@@ -0,0 +1,109 @@
+# Trace Annotator Tool
+
+## Introduction
+
+A tool to annotate functions with ```c++ TRACE_EVENT```. This tool serves two
+workflows:
+
+*  Debugging: bulk add traces to all functions in a directory and after finding
+   the bug remove the traces.
+*  Adding traces to code: bulk add traces to all functions in a directory,
+   review the changes carefully and create a patch.
+
+The goal of this tool is to transfer a function:
+```c++
+int foo(int bar, int baz) {
+  return 42;
+}
+```
+into:
+```c++
+int foo(int bar, int baz) {
+  TRACE_EVENT0("test", "foo");
+  return 42;
+}
+```
+
+In future also argument tracing is to be supported.
+
+This document is based on //docs/clang_tool_refactoring.md
+
+## Building
+
+The following might take approx. 2 hours depending on your computer.
+
+*  Make a new checkout of chromium (suggested, but optional).
+*  From chromium/src:
+*  ```shell cr build all``` To make sure all files have been generated.
+*  ```shell cp -R third_party/llvm-build ~```
+*  ```shell tools/clang/scripts/build.py --bootstrap --without-android
+   --without-fuchsia --extra-tools trace_annotator```
+   *  TODO how to build with plugin 'find-bad-constructs'?
+*  ```shell cp -R ~/llvm-build third_party``` This should enable goma support
+   again.
+
+### Rebuild just the tool:
+
+*  ```shell cd third_party/llvm-build/Release+Asserts```
+*  ```shell ninja trace_annotator```
+
+Beware that running ```shell gclient sync``` might overwrite the build and
+another full build might be necessary. A backup of the binary from
+//third_party/llvm-build/Release+Asserts/bin/trace_annotator might be useful.
+
+## Testing
+
+*  ```shell tools/clang/scripts/test_tool.py --apply-edits trace_annotator```
+
+## Running
+
+*  Chrome plugins are not supported yet, run: ```shell gn args out/Debug/``` and
+   add: ```clang_use_chrome_plugins = false``` option.
+*  Make sure you have up to date compilation database:
+   *  To generate it run: ```shell tools/clang/scripts/generate_compdb.py -p
+      out/Debug/ > out/Debug/compile_commands.json```
+   *  These are the compiler options for individual files (needed to use the
+      right version of C++, right library paths...).
+
+*  ```shell DIR="net"; \
+      git checkout $DIR && tools/clang/scripts/run_tool.py --tool trace_annotator -p out/Debug/ $DIR \
+      | tools/clang/scripts/extract_edits.py \
+      | tools/clang/scripts/apply_edits.py -p out/Debug $DIR \
+      && git cl format $DIR```
+
+*  Consult documentation of ```//tools/clang/scripts/run_tool.py``` for more
+   options.
+
+### Suggestion:
+
+Do not run the tool on //base or anything that has to do with tracing or
+synchronization. Or at least do not submit the resulting patch.
+
+### Debugging workflow suggestion:
+
+*  Do some changes.
+*  ```shell git add . ; git commit```
+*  Run the tool.
+*  ```shell git add . ; git commit```
+*  Do some more changes (including fixing a bug).
+*  ```shell git add . ; git commit```
+*  ```shell git rebase -i``` and follow the help.
+
+### Creating tracing patch suggestion:
+
+*  Run the tool.
+*  Double check all generated code.
+*  Add method annotations for methods that are hidden by compiler options (e.g.,
+   if you are on unix then the code in ```c++ #ifdef OS_WIN``` will not be
+   annotated.
+
+## TODO
+
+*  Add options:
+   *  Whether to add "do not submit" comment (in upper case).
+   *  Function name formatting (without namespace(s) / getQualifiedNameAsString /
+      with namespaces but without template tags).
+   *  Category name.
+   *  Make tracing of function arguments.
+*  Standalone build of the tool (outside of //third_party to avoid overwriting
+   by ```shell gclient sync```).
diff --git a/tools/clang/trace_annotator/TraceAnnotator.cpp b/tools/clang/trace_annotator/TraceAnnotator.cpp
new file mode 100644
index 0000000..c1ef48dc
--- /dev/null
+++ b/tools/clang/trace_annotator/TraceAnnotator.cpp
@@ -0,0 +1,208 @@
+// 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.
+//
+// This implements a Clang tool to annotate methods with tracing. It should be
+// run using the tools/clang/scripts/run_tool.py helper as described in
+// README.md
+
+#include <string>
+#include <vector>
+#include "clang/ASTMatchers/ASTMatchFinder.h"
+#include "clang/ASTMatchers/ASTMatchers.h"
+#include "clang/Basic/SourceManager.h"
+#include "clang/Frontend/FrontendActions.h"
+#include "clang/Tooling/CommonOptionsParser.h"
+#include "clang/Tooling/Refactoring.h"
+#include "clang/Tooling/Tooling.h"
+#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/FormatVariadic.h"
+
+using namespace clang::ast_matchers;
+using clang::tooling::CommonOptionsParser;
+using clang::tooling::Replacement;
+using clang::tooling::Replacements;
+
+namespace {
+
+class FunctionDefCallback : public MatchFinder::MatchCallback {
+ public:
+  explicit FunctionDefCallback(std::vector<Replacement>* replacements)
+      : replacements_(replacements) {}
+
+  void run(const MatchFinder::MatchResult& result) override;
+
+ private:
+  std::vector<Replacement>* const replacements_;
+};
+
+class TraceAnnotator {
+ public:
+  explicit TraceAnnotator(std::vector<Replacement>* replacements)
+      : function_def_callback_(replacements) {}
+
+  void SetupMatchers(MatchFinder* match_finder);
+
+ private:
+  FunctionDefCallback function_def_callback_;
+};
+
+// Given:
+//   template <typename T, typename T2> void foo(T t, T2 t2) {};  // N1 and N4
+//   template <typename T2> void foo<int, T2>(int t, T2 t) {};    // N2
+//   template <> void foo<int, char>(int t, char t2) {};          // N3
+//   void foo() {
+//     // This creates implicit template specialization (N4) out of the
+//     // explicit template definition (N1).
+//     foo<bool, double>(true, 1.23);
+//   }
+// with the following AST nodes:
+//   FunctionTemplateDecl foo
+//   |-FunctionDecl 0x191da68 foo 'void (T, T2)'         // N1
+//   `-FunctionDecl 0x194bf08 foo 'void (bool, double)'  // N4
+//   FunctionTemplateDecl foo
+//   `-FunctionDecl foo 'void (int, T2)'                 // N2
+//   FunctionDecl foo 'void (int, char)'                 // N3
+//
+// Matches AST node N4, but not AST nodes N1, N2 nor N3.
+AST_MATCHER(clang::FunctionDecl, isImplicitFunctionTemplateSpecialization) {
+  switch (Node.getTemplateSpecializationKind()) {
+    case clang::TSK_ImplicitInstantiation:
+      return true;
+    case clang::TSK_Undeclared:
+    case clang::TSK_ExplicitSpecialization:
+    case clang::TSK_ExplicitInstantiationDeclaration:
+    case clang::TSK_ExplicitInstantiationDefinition:
+      return false;
+  }
+}
+
+AST_POLYMORPHIC_MATCHER(isInMacroLocation,
+                        AST_POLYMORPHIC_SUPPORTED_TYPES(clang::Decl,
+                                                        clang::Stmt,
+                                                        clang::TypeLoc)) {
+  return Node.getBeginLoc().isMacroID();
+}
+
+void TraceAnnotator::SetupMatchers(MatchFinder* match_finder) {
+  const clang::ast_matchers::DeclarationMatcher function_call =
+      functionDecl(
+          has(compoundStmt().bind("function body")),
+          /* Avoid matching the following cases: */
+          unless(anyOf(
+              /* Do not match implicit function template specializations to
+                 avoid conflicting edits. */
+              isImplicitFunctionTemplateSpecialization(),
+              /* Do not match constexpr functions. */
+              isConstexpr(), isDefaulted(),
+              /* Do not match ctor/dtor. */
+              cxxConstructorDecl(), cxxDestructorDecl(),
+              /* Tracing macros can be tricky (e.g., QuicUint128Impl comparison
+                 operators). */
+              isInMacroLocation(), has(compoundStmt(isInMacroLocation())),
+              /* Do not trace lambdas (no name, possbly tracking more parameters
+                 than intended because of [&]). */
+              hasParent(cxxRecordDecl(isLambda())))))
+          .bind("function");
+  match_finder->addMatcher(function_call, &function_def_callback_);
+}
+
+// Returns a string containing the qualified name of the function. Does not
+// output template parameters of the function or in case of methods of the
+// associated class (as opposed to |function->getQualifiedNameAsString|).
+std::string getFunctionName(const clang::FunctionDecl* function) {
+  std::string qualified_name;
+  // Add namespace(s) to the name.
+  if (auto* name_space = llvm::dyn_cast<clang::NamespaceDecl>(
+          function->getEnclosingNamespaceContext())) {
+    qualified_name += name_space->getQualifiedNameAsString();
+    qualified_name += "::";
+  }
+  // If the function is a method, add class name (without templates).
+  if (auto* method = llvm::dyn_cast<clang::CXXMethodDecl>(function)) {
+    qualified_name += method->getParent()->getNameAsString();
+    qualified_name += "::";
+  }
+  // Add function name (without templates).
+  qualified_name += function->getNameAsString();
+  return qualified_name;
+}
+
+void FunctionDefCallback::run(const MatchFinder::MatchResult& result) {
+  const clang::FunctionDecl* function =
+      result.Nodes.getNodeAs<clang::FunctionDecl>("function");
+  // Using this instead of |function->getBody| prevents conflicts with parameter
+  // names in headers and implementations.
+  const clang::CompoundStmt* function_body =
+      result.Nodes.getNodeAs<clang::CompoundStmt>("function body");
+  clang::CharSourceRange range =
+      clang::CharSourceRange::getTokenRange(function_body->getBeginLoc());
+
+  const char kReplacementTextTemplate[] = R"( TRACE_EVENT0("test", "{0}"); )";
+  std::string function_name = getFunctionName(function);
+  std::string replacement_text =
+      llvm::formatv(kReplacementTextTemplate, function_name).str();
+
+  const char kAnnotationTemplate[] = " { {0}";
+  std::string annotation =
+      llvm::formatv(kAnnotationTemplate, replacement_text).str();
+
+  replacements_->push_back(
+      Replacement(*result.SourceManager, range, annotation));
+}
+
+}  // namespace
+
+static llvm::cl::extrahelp common_help(CommonOptionsParser::HelpMessage);
+
+int main(int argc, const char* argv[]) {
+  llvm::cl::OptionCategory category("TraceAnnotator Tool");
+  CommonOptionsParser options(argc, argv, category);
+  clang::tooling::ClangTool tool(options.getCompilations(),
+                                 options.getSourcePathList());
+
+  std::vector<Replacement> replacements;
+  TraceAnnotator converter(&replacements);
+  MatchFinder match_finder;
+  converter.SetupMatchers(&match_finder);
+
+  std::unique_ptr<clang::tooling::FrontendActionFactory> frontend_factory =
+      clang::tooling::newFrontendActionFactory(&match_finder);
+  int result = tool.run(frontend_factory.get());
+  if (result != 0)
+    return result;
+
+  if (replacements.empty())
+    return 0;
+
+  // Each replacement line should have the following format:
+  // r:<file path>:<offset>:<length>:<replacement text>
+  // Only the <replacement text> field can contain embedded ":" characters.
+  // TODO(dcheng): Use a more clever serialization. Ideally we'd use the YAML
+  // serialization and then use clang-apply-replacements, but that would require
+  // copying and pasting a larger amount of boilerplate for all Chrome clang
+  // tools.
+
+  // Keep a set of files where we have already added base_tracing include.
+  std::set<std::string> include_added_to;
+
+  llvm::outs() << "==== BEGIN EDITS ====\n";
+  for (const auto& r : replacements) {
+    // Add base_tracing import if necessary.
+    if (include_added_to.find(r.getFilePath().str()) ==
+        include_added_to.end()) {
+      include_added_to.insert(r.getFilePath().str());
+      // Add also copyright so that |test-expected.cc| passes presubmit.
+      llvm::outs() << "include-user-header:::" << r.getFilePath()
+                   << ":::-1:::-1:::base/trace_event/base_tracing.h"
+                   << "\n";
+    }
+    // Add the actual replacement.
+    llvm::outs() << "r:::" << r.getFilePath() << ":::" << r.getOffset()
+                 << ":::" << r.getLength() << ":::" << r.getReplacementText()
+                 << "\n";
+  }
+  llvm::outs() << "==== END EDITS ====\n";
+
+  return 0;
+}
diff --git a/tools/clang/trace_annotator/tests/test-expected.cc b/tools/clang/trace_annotator/tests/test-expected.cc
new file mode 100644
index 0000000..3c379d5a
--- /dev/null
+++ b/tools/clang/trace_annotator/tests/test-expected.cc
@@ -0,0 +1,143 @@
+// 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 <algorithm>
+#include <vector>
+
+#include "base/trace_event/base_tracing.h"
+
+int no_body(int);  // No annotation
+
+int foo(int, char) {
+  TRACE_EVENT0("test", "foo");
+  return 13;
+}
+
+namespace testnamespace {
+
+namespace nestednamespace {
+
+int fo0(int bar, char faz) {
+  TRACE_EVENT0("test", "testnamespace::nestednamespace::fo0");
+  int baz = bar + 10;
+  return baz;
+}
+
+}  // namespace nestednamespace
+
+template <typename T>
+T twice(T x) {
+  TRACE_EVENT0("test", "testnamespace::twice");
+  return 2 * x;
+}
+
+}  // namespace testnamespace
+
+class Aclass {
+ public:
+  Aclass() {}   // Constructor should not be annotated.
+  ~Aclass() {}  // Destructor should not be annotated.
+  int furt(int par1, char par2) {
+    TRACE_EVENT0("test", "Aclass::furt");
+    return par1 + par2;
+  }
+
+  // Should not be annotated (or =default exchanged for a body)
+  bool operator==(const Aclass&) const = default;
+};
+
+template <typename T>
+class TemplatedClass {
+ public:
+  int fun();
+};
+
+template <typename T>
+class Specialized {
+ public:
+  int f() {
+    TRACE_EVENT0("test", "Specialized::f");
+    return 1;
+  }
+};
+
+template <>
+class Specialized<double> {
+ public:
+  int f() {
+    TRACE_EVENT0("test", "Specialized::f");
+    return 1;
+  }
+};
+
+namespace double_fun {
+
+template <typename T, typename S>
+class DoubleTemplate {
+ public:
+  int fun() {
+    TRACE_EVENT0("test", "double_fun::DoubleTemplate::fun");
+    return 0;
+  }
+};
+
+template <typename S>
+class DoubleTemplate<int, S> {
+ public:
+  int fun() {
+    TRACE_EVENT0("test", "double_fun::DoubleTemplate::fun");
+    return 0;
+  }
+};
+
+template <typename T>
+class DoubleTemplate<T, int> {
+ public:
+  int fun() {
+    TRACE_EVENT0("test", "double_fun::DoubleTemplate::fun");
+    return 0;
+  }
+};
+
+template <>
+class DoubleTemplate<int, int> {
+ public:
+  int fun() {
+    TRACE_EVENT0("test", "double_fun::DoubleTemplate::fun");
+    return 0;
+  }
+};
+
+}  // namespace double_fun
+
+int main(int argc, char* argv[]) {
+  TRACE_EVENT0("test", "main");
+  int four = testnamespace::twice<int>(1);
+  double two = testnamespace::twice<double>(1.0);
+
+  TemplatedClass<int> itc;
+  TemplatedClass<double> dtc;
+  int zero = itc.fun() + dtc.fun();
+  foo(1, 'a');
+
+  Specialized<int> si;
+  zero += si.f();
+
+  double_fun::DoubleTemplate<char, char> dtcc;
+  double_fun::DoubleTemplate<char, int> dtci;
+  double_fun::DoubleTemplate<int, char> dtic;
+  double_fun::DoubleTemplate<int, int> dtii;
+  int funny_zero = dtcc.fun() + dtci.fun() + dtic.fun() + dtii.fun();
+
+  std::vector<int> v = {3, 1, 4, 1, 5, 9};
+  std::sort(v.begin(), v.end(), [](int a, int b) { return a < b; });
+
+  return 0;
+}
+
+template <typename T>
+int TemplatedClass<T>::fun() {
+  TRACE_EVENT0("test", "TemplatedClass::fun");
+  return 0;
+}
diff --git a/tools/clang/trace_annotator/tests/test-original.cc b/tools/clang/trace_annotator/tests/test-original.cc
new file mode 100644
index 0000000..0afe65e9
--- /dev/null
+++ b/tools/clang/trace_annotator/tests/test-original.cc
@@ -0,0 +1,115 @@
+// 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 <algorithm>
+#include <vector>
+
+int no_body(int);  // No annotation
+
+int foo(int, char) {
+  return 13;
+}
+
+namespace testnamespace {
+
+namespace nestednamespace {
+
+int fo0(int bar, char faz) {
+  int baz = bar + 10;
+  return baz;
+}
+
+}  // namespace nestednamespace
+
+template <typename T>
+T twice(T x) {
+  return 2 * x;
+}
+
+}  // namespace testnamespace
+
+class Aclass {
+ public:
+  Aclass() {}   // Constructor should not be annotated.
+  ~Aclass() {}  // Destructor should not be annotated.
+  int furt(int par1, char par2) { return par1 + par2; }
+
+  // Should not be annotated (or =default exchanged for a body)
+  bool operator==(const Aclass&) const = default;
+};
+
+template <typename T>
+class TemplatedClass {
+ public:
+  int fun();
+};
+
+template <typename T>
+class Specialized {
+ public:
+  int f() { return 1; }
+};
+
+template <>
+class Specialized<double> {
+ public:
+  int f() { return 1; }
+};
+
+namespace double_fun {
+
+template <typename T, typename S>
+class DoubleTemplate {
+ public:
+  int fun() { return 0; }
+};
+
+template <typename S>
+class DoubleTemplate<int, S> {
+ public:
+  int fun() { return 0; }
+};
+
+template <typename T>
+class DoubleTemplate<T, int> {
+ public:
+  int fun() { return 0; }
+};
+
+template <>
+class DoubleTemplate<int, int> {
+ public:
+  int fun() { return 0; }
+};
+
+}  // namespace double_fun
+
+int main(int argc, char* argv[]) {
+  int four = testnamespace::twice<int>(1);
+  double two = testnamespace::twice<double>(1.0);
+
+  TemplatedClass<int> itc;
+  TemplatedClass<double> dtc;
+  int zero = itc.fun() + dtc.fun();
+  foo(1, 'a');
+
+  Specialized<int> si;
+  zero += si.f();
+
+  double_fun::DoubleTemplate<char, char> dtcc;
+  double_fun::DoubleTemplate<char, int> dtci;
+  double_fun::DoubleTemplate<int, char> dtic;
+  double_fun::DoubleTemplate<int, int> dtii;
+  int funny_zero = dtcc.fun() + dtci.fun() + dtic.fun() + dtii.fun();
+
+  std::vector<int> v = {3, 1, 4, 1, 5, 9};
+  std::sort(v.begin(), v.end(), [](int a, int b) { return a < b; });
+
+  return 0;
+}
+
+template <typename T>
+int TemplatedClass<T>::fun() {
+  return 0;
+}
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
index 5246d82f..16da6ea 100644
--- a/tools/mb/mb_config.pyl
+++ b/tools/mb/mb_config.pyl
@@ -825,7 +825,6 @@
       'linux-chromeos-rel': 'chromeos_with_codecs_release_trybot_code_coverage',
       'linux-chromeos-compile-dbg': 'chromeos_with_codecs_debug_bot',
       'linux-chromeos-dbg': 'chromeos_with_codecs_debug_bot',
-      'linux-lacros-compile-rel': 'lacros_on_linux_release_bot',
       'linux-lacros-rel': 'lacros_on_linux_release_bot',
     },
 
@@ -2413,7 +2412,7 @@
     },
 
     'amd64-lacros': {
-      'gn_args': 'use_ozone=true ozone_platform_wayland=true ozone_platform_x11=false target_os="linux" use_cras=false use_evdev_gestures=false use_vaapi=false use_gtk=false use_glib=false enable_linux_installer=false rtc_use_pipewire=false use_gio=false use_v8_context_snapshot=false use_custom_libcxx=false use_pulseaudio=false use_pangocairo=false chromeos_is_browser_only=true use_system_libsync=false cros_host_sysroot="//build/linux/debian_sid_amd64-sysroot" cros_v8_snapshot_sysroot="//build/linux/debian_sid_amd64-sysroot" use_custom_libcxx_for_host=true'
+      'gn_args': 'use_ozone=true ozone_platform_wayland=true ozone_platform_x11=false target_os="linux" use_evdev_gestures=false use_vaapi=false use_gtk=false use_glib=false enable_linux_installer=false rtc_use_pipewire=false use_gio=false use_v8_context_snapshot=false use_custom_libcxx=false use_pulseaudio=false use_pangocairo=false chromeos_is_browser_only=true use_system_libsync=false cros_host_sysroot="//build/linux/debian_sid_amd64-sysroot" cros_v8_snapshot_sysroot="//build/linux/debian_sid_amd64-sysroot" use_custom_libcxx_for_host=true'
     },
 
     # We build Android with codecs on most bots to ensure maximum test
diff --git a/tools/metrics/common/presubmit_util.py b/tools/metrics/common/presubmit_util.py
index a5d8908..4df9b6fe 100644
--- a/tools/metrics/common/presubmit_util.py
+++ b/tools/metrics/common/presubmit_util.py
@@ -27,7 +27,7 @@
 
   Args:
     argv: command line arguments
-    original_filename: The filename to read from.
+    original_filename: The path to the file to read from.
     backup_filename: When pretty printing, move the old file contents here.
     prettyFn: A function which takes the original xml content and produces
         pretty printed xml.
diff --git a/tools/metrics/histograms/PRESUBMIT.py b/tools/metrics/histograms/PRESUBMIT.py
index 6cf0c11f..60b5821 100644
--- a/tools/metrics/histograms/PRESUBMIT.py
+++ b/tools/metrics/histograms/PRESUBMIT.py
@@ -8,37 +8,112 @@
 """
 
 
-def ValidationNeeded(input_api):
-  """Check if validation of histograms.xml files are required."""
-  for f in input_api.AffectedTextFiles():
-    p = f.AbsoluteLocalPath()
-    if (input_api.basename(p) in {'histograms.xml', 'enums.xml'} and
-        input_api.os_path.dirname(p) == input_api.PresubmitLocalPath()):
-      return True
+def GetPrettyPrintErrors(input_api, output_api, cwd, rel_path, results):
+  """Runs pretty-print command for specified file."""
+  exit_code = input_api.subprocess.call(
+      [input_api.python_executable, 'pretty_print.py', rel_path, '--presubmit'],
+      cwd=cwd)
+
+  if exit_code != 0:
+    error_msg = (
+        '%s is not formatted correctly,  please run pretty_print.py %s to fix.'
+        % (rel_path, rel_path))
+    results.append(output_api.PresubmitError(error_msg))
+
+
+def GetPrefixErrors(input_api, output_api, cwd, rel_path, results):
+  """Validates histogram prefixes in specified file."""
+  exit_code = input_api.subprocess.call(
+      [input_api.python_executable, 'validate_prefix.py', rel_path], cwd=cwd)
+
+  if exit_code != 0:
+    error_msg = ('%s contains histogram(s) with disallowed prefix, please run '
+                 'validate_prefix.py %s to fix.' % (rel_path, rel_path))
+    results.append(output_api.PresubmitError(error_msg))
+
+
+def GetObsoleteXmlErrors(input_api, output_api, cwd, results):
+  """Validates all histograms in the file are obsolete."""
+  exit_code = input_api.subprocess.call(
+      [input_api.python_executable, 'validate_obsolete_histograms.py'], cwd=cwd)
+
+  if exit_code != 0:
+    error_msg = (
+        'histograms_xml/obsolete_histograms.xml contains non-obsolete '
+        'histograms, please run validate_obsolete_histograms.py to fix.')
+    results.append(output_api.PresubmitError(error_msg))
+
+
+def GetValidateFormatErrors(input_api, output_api, cwd, results):
+  """Validates the format of merged histograms and enums."""
+  exit_code = input_api.subprocess.call(
+      [input_api.python_executable, 'validate_format.py'], cwd=cwd)
+
+  if exit_code != 0:
+    error_msg = (
+        'Histograms are not well-formatted; please run %s/validate_format.py '
+        'and fix the reported errors.' % cwd)
+    results.append(output_api.PresubmitError(error_msg))
+
+
+def ValidateSingleFile(input_api, output_api, file_obj, cwd, results):
+  """Does corresponding validations if histograms.xml or enums.xml is changed.
+
+  Args:
+    input_api: An input_api instance that contains information about changes.
+    output_api: An output_api instance to create results of the PRESUBMIT check.
+    file_obj: A file object of one of the changed files.
+    cwd: Path to current working directory.
+    results: The returned variable which is a list of output_api results.
+
+  Returns:
+    A boolean that True if a histograms.xml or enums.xml file is changed.
+  """
+  p = file_obj.AbsoluteLocalPath()
+  # Only do PRESUBMIT checks when |p| is under |cwd|.
+  if input_api.os_path.commonprefix([p, cwd]) != cwd:
+    return False
+  filepath = input_api.os_path.relpath(p, cwd)
+
+  # If the changed file is obsolete_histograms.xml, validate all histograms
+  # inside are obsolete.
+  if 'obsolete_histograms.xml' in filepath:
+    GetObsoleteXmlErrors(input_api, output_api, cwd, results)
+    # Return false here because we don't need to validate format if users only
+    # change obsolete_histograms.xml.
+    return False
+
+  # If the changed file is histograms.xml, pretty-print and validate prefix it.
+  elif 'histograms.xml' in filepath:
+    GetPrettyPrintErrors(input_api, output_api, cwd, filepath, results)
+    GetPrefixErrors(input_api, output_api, cwd, filepath, results)
+    return True
+
+  # If the changed file is enums.xml, pretty-print it.
+  elif 'enums.xml' in filepath:
+    GetPrettyPrintErrors(input_api, output_api, cwd, filepath, results)
+    return True
+
   return False
 
 
 def CheckChange(input_api, output_api):
   """Checks that histograms.xml is pretty-printed and well-formatted."""
   results = []
-  if ValidationNeeded(input_api):
-    cwd = input_api.PresubmitLocalPath()
+  cwd = input_api.PresubmitLocalPath()
+  xml_changed = False
 
-    exit_code = input_api.subprocess.call(
-        [input_api.python_executable, 'pretty_print.py', '--presubmit',
-         '--non-interactive'],
-        cwd=cwd)
-    if exit_code != 0:
-      results.append(output_api.PresubmitError(
-          'histograms.xml is not formatted correctly; please run '
-          'git cl format %s to fix.' % cwd))
+  # Only for changed files, do corresponding checks if the file is
+  # histograms.xml, enums.xml or obsolete_histograms.xml.
+  for file_obj in input_api.AffectedTextFiles():
+    is_changed = ValidateSingleFile(
+        input_api, output_api, file_obj, cwd, results)
+    xml_changed = xml_changed or is_changed
 
-    exit_code = input_api.subprocess.call(
-        [input_api.python_executable, 'validate_format.py'], cwd=cwd)
-    if exit_code != 0:
-      results.append(output_api.PresubmitError(
-          'histograms.xml is not well formatted; run %s/validate_format.py '
-          'and fix the reported errors.' % cwd))
+  # Run validate_format.py which checks for merge errors, if changed
+  # files contain histograms.xml or enums.xml.
+  if xml_changed:
+    GetValidateFormatErrors(input_api, output_api, cwd, results)
 
   return results
 
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 0f403fe..543c99bc 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -16892,6 +16892,7 @@
   <int value="2"
       label="DNS query/response ID mismatches, where response ID is
              unrecognized"/>
+  <int value="3" label="Exhaustion of process-wide UDP socket limit"/>
 </enum>
 
 <enum name="DNSEmptyAddressListAndNoError">
@@ -21511,6 +21512,7 @@
   <int value="779" label="PrintersBulkBlocklist"/>
   <int value="780" label="PrintersBulkAllowlist"/>
   <int value="781" label="CloudPrintWarningsSuppressed"/>
+  <int value="782" label="LookalikeWarningAllowlistDomains"/>
 </enum>
 
 <enum name="EnterprisePolicyDeviceIdValidity">
@@ -28629,7 +28631,7 @@
   <int value="3201" label="OBSOLETE_WrongBaselineOfButtonElement"/>
   <int value="3202" label="V8Document_HasTrustToken_Method"/>
   <int value="3203" label="ForceLoadAtTop"/>
-  <int value="3204" label="LegacyLayoutByButton"/>
+  <int value="3204" label="OBSOLETE_LegacyLayoutByButton"/>
   <int value="3205" label="LegacyLayoutByDeprecatedFlexBox"/>
   <int value="3206" label="LegacyLayoutByDetailsMarker"/>
   <int value="3207" label="LegacyLayoutByEditing"/>
@@ -28865,6 +28867,19 @@
   <int value="3431" label="BluetoothAdvertisingEventAppearance"/>
   <int value="3432" label="BluetoothAdvertisingEventTxPower"/>
   <int value="3433" label="CrossOriginOpenerPolicyReporting"/>
+  <int value="3434" label="GamepadId"/>
+  <int value="3435" label="ElementAttachInternals"/>
+  <int value="3436" label="BluetoothDeviceName"/>
+  <int value="3437" label="RTCIceCandidateAddress"/>
+  <int value="3438" label="RTCIceCandidateCandidate"/>
+  <int value="3439" label="RTCIceCandidatePort"/>
+  <int value="3440" label="RTCIceCandidateRelatedAddress"/>
+  <int value="3441" label="RTCIceCandidateRelatedPort"/>
+  <int value="3442" label="SlotAssignNode"/>
+  <int value="3443" label="PluginName"/>
+  <int value="3444" label="PluginFilename"/>
+  <int value="3445" label="PluginDescription"/>
+  <int value="3446" label="SubresourceWebBundles"/>
 </enum>
 
 <enum name="FeaturePolicyAllowlistType">
@@ -39266,6 +39281,7 @@
   <int value="7" label="Will-change: transform"/>
   <int value="8" label="Pixel or color effect"/>
   <int value="9" label="Transform animation"/>
+  <int value="10" label="No text"/>
 </enum>
 
 <enum name="LevelDBCorruptionRestoreValue">
@@ -40235,6 +40251,8 @@
   <int value="-2013124655" label="EnableEphemeralFlashPermission:disabled"/>
   <int value="-2012990889" label="SpannableInlineAutocomplete:enabled"/>
   <int value="-2012449550" label="OmniboxMostVisitedTiles:enabled"/>
+  <int value="-2012266745"
+      label="OmniboxLocalZeroSuggestFrecencyRanking:disabled"/>
   <int value="-2011532551" label="SignedExchangeSubresourcePrefetch:disabled"/>
   <int value="-2010634516" label="OmniboxLocalEntitySuggestions:disabled"/>
   <int value="-2009622663" label="WebRtcHWH264Encoding:enabled"/>
@@ -40688,6 +40706,7 @@
   <int value="-1553280810" label="PromoBrowserCommands:enabled"/>
   <int value="-1552898031" label="SingleTabMode:enabled"/>
   <int value="-1550760918" label="PipRoundedCorners:disabled"/>
+  <int value="-1550675387" label="CriticalPersistedTabData:enabled"/>
   <int value="-1550541457" label="DisplayIdentification:disabled"/>
   <int value="-1549871007" label="OneGoogleBarOnLocalNtp:disabled"/>
   <int value="-1549356351" label="SyncPseudoUSSExtensionSettings:enabled"/>
@@ -41139,6 +41158,7 @@
   <int value="-1137442543" label="enable-slimming-paint"/>
   <int value="-1136627751" label="ignore-autocomplete-off-autofill"/>
   <int value="-1136509631" label="ssl-interstitial-v1"/>
+  <int value="-1134420065" label="CriticalPersistedTabData:disabled"/>
   <int value="-1134307340" label="stop-loading-in-background:enabled"/>
   <int value="-1132704128" label="AndroidPaymentAppsFilter:disabled"/>
   <int value="-1128912963" label="MediaControlsExpandGesture:disabled"/>
@@ -42499,6 +42519,8 @@
   <int value="342431487" label="VizForWebView:enabled"/>
   <int value="342960463" label="SharingQRCodeGenerator:enabled"/>
   <int value="343445783" label="AllowScrollSettings:enabled"/>
+  <int value="345611669"
+      label="OmniboxLocalZeroSuggestFrecencyRanking:enabled"/>
   <int value="345664265" label="BlinkHeapIncrementalMarking:disabled"/>
   <int value="346711293" label="enable-save-password-bubble"/>
   <int value="347981012" label="TabToGTSAnimation:disabled"/>
@@ -57222,6 +57244,15 @@
   </int>
 </enum>
 
+<enum name="PresentationUrlBySink">
+  <int value="0" label="Unknown"/>
+  <int value="1" label="https:-like URL to Chromecast"/>
+  <int value="2" label="https:-like URL to Extension"/>
+  <int value="3" label="https:-like URL to Wired Display"/>
+  <int value="4" label="cast: URL to Chromecast"/>
+  <int value="5" label="cast-dial: URL to DIAL"/>
+</enum>
+
 <enum name="PresentationUrlType">
   <int value="0" label="Other"/>
   <int value="1" label="Cast"/>
@@ -58900,6 +58931,7 @@
   <int value="8" label="subscribe() storage corrupt"/>
   <int value="9" label="getSubscription() storage corrupt"/>
   <int value="10" label="Service Worker database got wiped"/>
+  <int value="11" label="Subscription has expired"/>
 </enum>
 
 <enum name="PushUnregistrationStatus">
@@ -74972,6 +75004,12 @@
   <int value="5" label="User clicked the 'Sign in' button"/>
 </enum>
 
+<enum name="WellKnownChangePasswordResult">
+  <int value="0" label="Fallback to Origin"/>
+  <int value="1" label="Fallback to Url Override"/>
+  <int value="2" label="Well-Known supported"/>
+</enum>
+
 <enum name="WhitelistedDownloadType">
   <int value="0" label="Does not match any whitelists"/>
   <int value="1" label="URL whitelist"/>
diff --git a/tools/metrics/histograms/histogram_paths.py b/tools/metrics/histograms/histogram_paths.py
index ddc03768..b1daeeca 100644
--- a/tools/metrics/histograms/histogram_paths.py
+++ b/tools/metrics/histograms/histogram_paths.py
@@ -38,6 +38,10 @@
 ALL_XMLS_RELATIVE = [ENUMS_XML_RELATIVE, OBSOLETE_XML_RELATIVE
                      ] + HISTOGRAMS_XMLS_RELATIVE
 
+HISTOGRAMS_PREFIX_LIST = [
+    os.path.basename(os.path.dirname(f)) for f in HISTOGRAMS_XMLS_RELATIVE
+]
+
 ENUMS_XML = path_util.GetInputFile(ENUMS_XML_RELATIVE)
 UKM_XML = path_util.GetInputFile('tools/metrics/ukm/ukm.xml')
 HISTOGRAMS_XMLS = [path_util.GetInputFile(f) for f in HISTOGRAMS_XMLS_RELATIVE]
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 88a1d8b8..3b95967 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -9666,6 +9666,19 @@
   </summary>
 </histogram>
 
+<histogram name="Ash.AmbientMode.Enabled" enum="BooleanEnabled"
+    expires_after="2021-05-01">
+  <owner>cowmoo@google.com</owner>
+  <owner>xiaohuic@chromium.org</owner>
+  <summary>
+    Among eligible users, whether the user has Ambient mode enabled. Recorded
+    once for every UMA upload. The set of eligible users includes all users with
+    profiles that can allow Ambient mode to be enabled. This is limited by
+    profile type, whether the user is primary, if the user has a supported
+    email, etc.
+  </summary>
+</histogram>
+
 <histogram name="Ash.AppList.TimeBetweenTaskSwitches" units="seconds"
     expires_after="2016-10-04">
   <obsolete>
@@ -27588,19 +27601,7 @@
   <owner>tellier@google.com</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
-    The time spent before the web UI vesion of the multiprofile account picker
-    is ready.
-  </summary>
-</histogram>
-
-<histogram name="ChromeOS.UserAddingScreen.LoadTimeViewsBased" units="ms"
-    expires_after="2021-01-07">
-  <owner>tellier@google.com</owner>
-  <owner>rsorokin@chromium.org</owner>
-  <owner>cros-oac@google.com</owner>
-  <summary>
-    The time spent before the views-based version of the multiprofile account
-    picker is ready.
+    The time spent before the multiprofile account picker is ready.
   </summary>
 </histogram>
 
@@ -73548,8 +73549,9 @@
 </histogram>
 
 <histogram name="IOS.Cookies.GetCookiesForURLCallResult"
-    enum="IOSGetCookiesForURLCallResult" expires_after="2020-06-14">
+    enum="IOSGetCookiesForURLCallResult" expires_after="2021-08-01">
   <owner>mrefaat@chromium.org</owner>
+  <owner>bling-team@google.com</owner>
   <summary>
     Recorded to indicate whether the GetCookiesForURL call found cookies or not
     when called on a specific system cookie store implementation. Most of the
@@ -73561,8 +73563,9 @@
 </histogram>
 
 <histogram name="IOS.Cookies.GetCookiesForURLCallStoreType"
-    enum="IOSGetCookiesForURLCallCookieStoreType" expires_after="2020-02-23">
+    enum="IOSGetCookiesForURLCallCookieStoreType" expires_after="2021-08-01">
   <owner>mrefaat@chromium.org</owner>
+  <owner>bling-team@google.com</owner>
   <summary>
     The system cookie store type used when GetCookiesForURL method is called.
     Most of the cookies fetching on iOS Chromium is done by the WKWebView and
@@ -73990,8 +73993,9 @@
 </histogram>
 
 <histogram name="IOS.OpenIn.DownloadResult" enum="IOSOpenInDownloadResult"
-    expires_after="M82">
+    expires_after="2021-08-01">
   <owner>mrefaat@chromium.org</owner>
+  <owner>bling-team@google.com</owner>
   <summary>
     The result of the download operation done when the user taps &quot;open
     in&quot; button to open a file by a different application.
@@ -74083,8 +74087,9 @@
 </histogram>
 
 <histogram name="IOS.RepeatedExternalAppPromptResponse"
-    enum="IOSRepeatedExternalAppPromptResponse" expires_after="2020-07-01">
+    enum="IOSRepeatedExternalAppPromptResponse" expires_after="2021-08-01">
   <owner>mrefaat@chromium.org</owner>
+  <owner>bling-team@google.com</owner>
   <summary>
     The user reaction to the prompt that appears when a website tries to open an
     external application repeatedly.
@@ -74247,8 +74252,9 @@
 </histogram>
 
 <histogram name="IOS.StoreKitLoadedSuccessfully" enum="BooleanSuccess"
-    expires_after="2020-07-01">
+    expires_after="2021-08-01">
   <owner>mrefaat@chromium.org</owner>
+  <owner>bling-team@google.org</owner>
   <summary>
     Whether the StoreKit loaded the required iTunes product successfully or not.
   </summary>
@@ -84598,6 +84604,16 @@
   </summary>
 </histogram>
 
+<histogram name="MediaRouter.PresentationRequest.UrlBySink"
+    enum="PresentationUrlBySink" expires_after="2021-07-01">
+  <owner>mfoltz@chromium.org</owner>
+  <owner>openscreen-eng@google.com</owner>
+  <summary>
+    Logged when the Media Router starts a presentation according to the type of
+    presentation URL and the type of media sink.
+  </summary>
+</histogram>
+
 <histogram name="MediaRouter.Provider.CreateRoute.Result"
     enum="MediaRouteProviderResult" expires_after="2021-02-01">
 <!-- Name completed by histogram_suffixes name="MediaRouteProvider" -->
@@ -117917,6 +117933,27 @@
   </summary>
 </histogram>
 
+<histogram name="Omnibox.PedalShown" enum="SuggestionPedalType"
+    expires_after="2021-06-01">
+  <owner>jdonnelly@chromium.org</owner>
+  <owner>orinj@chromium.org</owner>
+  <owner>chrome-omnibox-team@google.com</owner>
+  <summary>
+    Counts the type (concept ID) of omnibox pedals shown when the user used the
+    omnibox to go somewhere.
+
+    Pedals are a button attached to a search suggestion that either navigate to
+    a chrome:// URL or trigger a Chrome action (for example, opening the page
+    translation dialog or opening a new window in Incognito mode).
+
+    Note that, while it is uncommon, it is possible for multiple pedals to be
+    shown at one time so this can't be used as a count of how many times a pedal
+    or pedals were present.
+
+    This histogram is related to Omnibox.SuggestionUsed.Pedal.
+  </summary>
+</histogram>
+
 <histogram name="Omnibox.PhysicalWebProvider.SuggestionUsedWithoutOmniboxFocus"
     enum="Boolean" expires_after="2018-04-17">
   <obsolete>
@@ -118374,10 +118411,14 @@
   <owner>orinj@chromium.org</owner>
   <owner>chrome-omnibox-team@google.com</owner>
   <summary>
-    Counts how often omnibox pedals are used and records the type of pedal.
+    Counts how often omnibox pedals are used and records the type (concept ID)
+    of the pedal used.
+
     Pedals are a button attached to a search suggestion that either navigate to
-    a chrome://settings page or trigger a Chrome action (for example, opening
-    the page translation dialog or opening a new window in Incognito mode).
+    a chrome:// URL or trigger a Chrome action (for example, opening the page
+    translation dialog or opening a new window in Incognito mode).
+
+    This histogram is related to Omnibox.PedalShown.
   </summary>
 </histogram>
 
@@ -140800,6 +140841,61 @@
   </summary>
 </histogram>
 
+<histogram name="Privacy.AccessContextAudit.CookieDomainCount" units="units"
+    expires_after="M89">
+  <owner>msramek@chromium.org</owner>
+  <owner>sauski@google.com</owner>
+  <summary>
+    The number of unique cookie domains for which accesses has been recorded for
+    in the Access Context Audit database. Logged on initialization of the Access
+    Context Audit DB on 1% of starts.
+  </summary>
+</histogram>
+
+<histogram name="Privacy.AccessContextAudit.DatabaseSize" units="KiB"
+    expires_after="M89">
+  <owner>msramek@chromium.org</owner>
+  <owner>sauski@google.com</owner>
+  <summary>
+    Size of the Access Context Audit database file in KiB. Determined by
+    directly inspecting the database file. Logged on initialization of the
+    Access Context Audit DB on 1% of starts.
+  </summary>
+</histogram>
+
+<histogram name="Privacy.AccessContextAudit.RecordCount" units="units"
+    expires_after="M89">
+  <owner>msramek@chromium.org</owner>
+  <owner>sauski@google.com</owner>
+  <summary>
+    The total number of access records stored in the Access Context Audit
+    database. Logged on initialization of the Acceess Context Audit DB on 1% of
+    starts.
+  </summary>
+</histogram>
+
+<histogram name="Privacy.AccessContextAudit.StorageOriginCount" units="units"
+    expires_after="M89">
+  <owner>msramek@chromium.org</owner>
+  <owner>sauski@google.com</owner>
+  <summary>
+    The number of unique origins associated with origin keyed storage APIs
+    recorded in the Access Context Audit database. Logged on initialization of
+    the Access Context Audit DB on 1% of starts.
+  </summary>
+</histogram>
+
+<histogram name="Privacy.AccessContextAudit.TopFrameOriginCount" units="units"
+    expires_after="M89">
+  <owner>msramek@chromium.org</owner>
+  <owner>sauski@google.com</owner>
+  <summary>
+    The number of unique top frame origins for which access to storage APIs has
+    been recorded in the Access Context Audit database. Logged on initialization
+    of the Acceess Context Audit DB on 1% of starts.
+  </summary>
+</histogram>
+
 <histogram name="Privacy.ConsentAuditor.ConsentGiven.Feature"
     enum="ConsentAuditorFeature" expires_after="M85">
   <owner>markusheintz@google.com</owner>
@@ -149455,6 +149551,17 @@
   </summary>
 </histogram>
 
+<histogram name="SafeBrowsing.RT.AllStoresAvailable" enum="BooleanAvailable"
+    expires_after="2021-08-17">
+  <owner>xinghuilu@chromium.org</owner>
+  <owner>chrome-safebrowsing-alerts@google.com</owner>
+  <summary>
+    Logs whether the local Safe Browsing stores are available. If not, all URLs
+    are marked as safe during real time URL lookup. Logged each time a top frame
+    URL navigation happens for users who have the real time URL lookups enabled.
+  </summary>
+</histogram>
+
 <histogram name="SafeBrowsing.RT.Backoff.State" enum="BooleanEnabled"
     expires_after="2021-02-07">
   <owner>vakh@chromium.org</owner>
@@ -178547,8 +178654,9 @@
 </histogram>
 
 <histogram name="Tab.ExternalApplicationOpened" enum="ExternalLauncherOption"
-    expires_after="2020-07-01">
+    expires_after="2021-08-01">
   <owner>mrefaat@chromium.org</owner>
+  <owner>bling-team@google.com</owner>
   <summary>
     [iOS] Used on External App launcher Prompt to determine if the user clicked
     open or cancel.
@@ -205666,6 +205774,7 @@
       label="Showing cache patterns only for AssistantDetails."/>
   <suffix name="ContextualSuggestions"
       label="Showing cache patterns only for ContextualSuggestions."/>
+  <suffix name="Cryptids" label="Asset fetcher for cryptid rendering."/>
   <suffix name="EduAccountLoginProfileImageFetcher"
       label="Profile image fetcher for EDU account login flow"/>
   <suffix name="EntitySuggestions"
diff --git a/tools/metrics/histograms/pretty_print.py b/tools/metrics/histograms/pretty_print.py
index 26f1c9b..be4718b 100755
--- a/tools/metrics/histograms/pretty_print.py
+++ b/tools/metrics/histograms/pretty_print.py
@@ -14,6 +14,7 @@
 
 from __future__ import with_statement
 
+import argparse
 import logging
 import os
 import shutil
@@ -170,12 +171,47 @@
   return top_level_content + formatted_xml
 
 def main():
-  status1 = presubmit_util.DoPresubmit(
-      sys.argv, 'enums.xml', 'enums.before.pretty-print.xml', PrettyPrintEnums)
-  status2 = presubmit_util.DoPresubmit(sys.argv, 'histograms.xml',
-                                       'histograms.before.pretty-print.xml',
-                                       PrettyPrintHistograms)
-  sys.exit(status1 or status2)
+  """Pretty-prints the histograms or enums xml file at given relative path.
+
+  Args:
+    filepath: The relative path to xml file.
+    --non-interactive: (Optional) Does not print log info messages and does not
+        prompt user to accept the diff.
+    --presubmit: (Optional) Simply prints a message if the input is not
+        formatted correctly instead of modifying the file.
+    --diff: (Optional) Prints diff to stdout rather than modifying the file.
+
+  Example usage:
+    pretty_print.py histograms_xml/Fingerprint/histograms.xml
+    pretty_print.py enums.xml
+  """
+  parser = argparse.ArgumentParser()
+  parser.add_argument('filepath', help="relative path to XML file")
+  # The following optional flags are used by common/presubmit_util.py
+  parser.add_argument('--non-interactive', action="store_true")
+  parser.add_argument('--presubmit', action="store_true")
+  parser.add_argument('--diff', action="store_true")
+  args = parser.parse_args()
+
+  status = 0
+  if 'enums.xml' in args.filepath:
+    status = presubmit_util.DoPresubmit(sys.argv, 'enums.xml',
+                                        'enums.before.pretty-print.xml',
+                                        PrettyPrintEnums)
+
+  elif 'histograms' in args.filepath:
+    # Specify the individual directory of histograms.xml or
+    # obsolete_histograms.xml.
+    status = presubmit_util.DoPresubmit(
+        sys.argv,
+        args.filepath,
+        # The backup filename should be
+        # 'path/to/histograms.before.pretty-print.xml'.
+        '.before.pretty-print.'.join(args.filepath.rsplit('.', 1)),
+        PrettyPrintHistograms)
+
+  sys.exit(status)
+
 
 if __name__ == '__main__':
   main()
diff --git a/tools/metrics/histograms/split_xml.py b/tools/metrics/histograms/split_xml.py
index 0473d2c..bf99344c 100644
--- a/tools/metrics/histograms/split_xml.py
+++ b/tools/metrics/histograms/split_xml.py
@@ -13,6 +13,8 @@
 from xml.dom import minidom
 
 import histogram_configuration_model
+import histogram_paths
+
 
 # The default name of the histograms XML file.
 HISTOGRAMS_XML = 'histograms.xml'
@@ -95,7 +97,7 @@
     output_file.write(pretty_xml_string)
 
 
-def GetCamelName(histogram_node, depth=0):
+def _GetCamelName(histogram_node, depth=0):
   """Returns the first camelcase name part of the histogram node.
 
   Args:
@@ -137,6 +139,16 @@
     return name_part[0:start_index]
 
 
+def GetDirForNode(node):
+  """Returns the correct directory that the given |node| should be placed in."""
+  camel_name = _GetCamelName(node)
+  # Check if the directory of its prefix exists. Return the |camel_name| if the
+  # folder exists. Otherwise, this |node| should be placed in 'others' folder.
+  if camel_name in histogram_paths.HISTOGRAMS_PREFIX_LIST:
+    return camel_name
+  return 'others'
+
+
 def _AddHistogramsToDict(histogram_nodes, depth):
   """Adds histogram nodes to the corresponding keys of a dictionary.
 
@@ -150,7 +162,7 @@
   """
   document_dict = {}
   for histogram in histogram_nodes:
-    name_part = GetCamelName(histogram, depth)
+    name_part = _GetCamelName(histogram, depth)
     if name_part not in document_dict:
       document_dict[name_part] = []
     document_dict[name_part].append(histogram)
diff --git a/tools/metrics/histograms/validate_format.py b/tools/metrics/histograms/validate_format.py
index d2a9906..8934ecb 100755
--- a/tools/metrics/histograms/validate_format.py
+++ b/tools/metrics/histograms/validate_format.py
@@ -8,9 +8,6 @@
 import os
 import sys
 
-sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common'))
-import path_util
-
 import extract_histograms
 import histogram_paths
 import merge_xml
@@ -22,4 +19,3 @@
 
 if __name__ == '__main__':
   main()
-
diff --git a/tools/metrics/histograms/validate_obsolete_histograms.py b/tools/metrics/histograms/validate_obsolete_histograms.py
new file mode 100644
index 0000000..3fc1909
--- /dev/null
+++ b/tools/metrics/histograms/validate_obsolete_histograms.py
@@ -0,0 +1,44 @@
+# 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.
+"""Verifies that all the histograms in obsolete histograms XML are obsolete."""
+
+import logging
+import os
+import sys
+import xml.dom.minidom
+
+import extract_histograms
+import histogram_paths
+import split_xml
+
+
+def ValidateObsoleteXml():
+  """Checks that all the histograms in the obsolete file are obsolete.
+
+  Returns:
+    True if at least a histogram is not obsolete, False otherwise.
+  """
+  has_obsolete_error = False
+  tree = xml.dom.minidom.parse(histogram_paths.OBSOLETE_XML)
+
+  for node in extract_histograms.IterElementsWithTag(tree, 'histogram', 3):
+    obsolete_tag_nodelist = node.getElementsByTagName('obsolete')
+    if len(obsolete_tag_nodelist) > 0:
+      continue
+
+    has_obsolete_error = True
+    # If histogram is not obsolete, find out the directory that it should be
+    # placed in.
+    correct_dir = split_xml.GetDirForNode(node)
+    histogram_name = node.getAttribute('name')
+
+    logging.error(
+        'Histogram of name %s is not obsolete, please move it to the '
+        'histograms_xml/%s directory.', histogram_name, correct_dir)
+
+  return has_obsolete_error
+
+
+if __name__ == '__main__':
+  sys.exit(ValidateObsoleteXml())
diff --git a/tools/metrics/histograms/validate_prefix.py b/tools/metrics/histograms/validate_prefix.py
new file mode 100644
index 0000000..1e6d894
--- /dev/null
+++ b/tools/metrics/histograms/validate_prefix.py
@@ -0,0 +1,74 @@
+# 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.
+"""Checks that the histograms and variants at given xml have correct prefix."""
+
+import logging
+import os
+import sys
+import xml.dom.minidom
+
+import extract_histograms
+import split_xml
+
+
+def ValidatePrefixInFile(xml_path):
+  """Validates that all <histogram> and <variants> are put in the correct file.
+
+  Args:
+    xml_path: The path to the histograms.xml file.
+
+  Returns:
+    A boolean that is True if at least a histogram has incorrect prefix, False
+        otherwise.
+  """
+  prefix = os.path.basename(os.path.dirname(xml_path))
+  has_prefix_error = False
+  tree = xml.dom.minidom.parse(xml_path)
+
+  for node in extract_histograms.IterElementsWithTag(tree, 'variants', 3):
+    correct_dir = split_xml.GetDirForNode(node)
+    if correct_dir != prefix:
+      variants_name = node.getAttribute('name')
+      logging.error(
+          'Variants of name %s is not placed in the correct directory, '
+          'please remove it from the histograms_xml/%s directory '
+          'and place it in the histograms_xml/%s directory.', variants_name,
+          prefix, correct_dir)
+      has_prefix_error = True
+
+  for node in extract_histograms.IterElementsWithTag(tree, 'histogram', 3):
+    correct_dir = split_xml.GetDirForNode(node)
+    if correct_dir != prefix:
+      histogram_name = node.getAttribute('name')
+      logging.error(
+          'Histogram of name %s is not placed in the correct directory, '
+          'please remove it from the histograms_xml/%s directory '
+          'and place it in the histograms_xml/%s directory.', histogram_name,
+          prefix, correct_dir)
+      has_prefix_error = True
+
+  return has_prefix_error
+
+
+def main():
+  """Checks that the histograms at given path have prefix that is the dir name.
+
+  Args:
+    sys.argv[1]: The relative path to xml file.
+
+  Example usage:
+    validate_prefix.py histograms_xml/Fingerprint/histograms.xml
+  """
+  if len(sys.argv) != 2:
+    sys.stderr.write('Usage: %s <rel-path-to-xml>' % sys.argv[0])
+    sys.exit(1)
+
+  xml_path = os.path.join(os.getcwd(), sys.argv[1])
+  prefix_error = ValidatePrefixInFile(xml_path)
+
+  sys.exit(prefix_error)
+
+
+if __name__ == '__main__':
+  main()
diff --git a/tools/metrics/ukm/ukm.xml b/tools/metrics/ukm/ukm.xml
index 28e7316..708cc73 100644
--- a/tools/metrics/ukm/ukm.xml
+++ b/tools/metrics/ukm/ukm.xml
@@ -9621,6 +9621,31 @@
   </metric>
 </event>
 
+<event name="PasswordManager.WellKnownChangePasswordResult">
+  <owner>jdoerrie@chromium.org</owner>
+  <owner>vasilii@chromium.org</owner>
+  <summary>
+    Metrics related to the usage and support of .well-known/change-password. The
+    .well-known/change-password standard is defined to redirect to the sites
+    change password form. We collect whether a site supports the standart or
+    not. https://wicg.github.io/change-password-url/
+  </summary>
+  <metric name="WellKnownChangePasswordResult"
+      enum="WellKnownChangePasswordResult">
+    <summary>
+      Records if a site supports .well-known/change-password and if a url
+      override was used or not.
+    </summary>
+    <aggregation>
+      <history>
+        <statistics>
+          <enumeration/>
+        </statistics>
+      </history>
+    </aggregation>
+  </metric>
+</event>
+
 <event name="PaymentApp.CheckoutEvents">
   <owner>sahel@chromium.org</owner>
   <owner>web-payments-team@google.com</owner>
diff --git a/tools/perf/core/perfetto_binary_roller/binary_deps.json b/tools/perf/core/perfetto_binary_roller/binary_deps.json
index 0b92ec1..3932db2 100644
--- a/tools/perf/core/perfetto_binary_roller/binary_deps.json
+++ b/tools/perf/core/perfetto_binary_roller/binary_deps.json
@@ -5,12 +5,12 @@
             "remote_path": "perfetto_binaries/trace_processor_shell/win/ef0fb4c2707e07b2cdff4186893bceea3ab1153c/trace_processor_shell.exe"
         },
         "mac": {
-            "hash": "93af05757aa9686463df230f259c666710073c3a",
-            "remote_path": "perfetto_binaries/trace_processor_shell/mac/2d613f1e1be9b6917f91cb909ebe4d734c822c99/trace_processor_shell"
+            "hash": "f0b69c3c1cf39cbf11cf5165841e0f3622059c86",
+            "remote_path": "perfetto_binaries/trace_processor_shell/mac/9869f187b5ea50e442a0c865c950bf9dd61a0e21/trace_processor_shell"
         },
         "linux": {
-            "hash": "c415d183799bd062e9bbdfde84b7e95f2fe8c348",
-            "remote_path": "perfetto_binaries/trace_processor_shell/linux/56d9df4fa53f1dff5d128d2e689532ec910ff38a/trace_processor_shell"
+            "hash": "7a1cc67cf45d42904ffb784a9003d5b9c2ce3d66",
+            "remote_path": "perfetto_binaries/trace_processor_shell/linux/9869f187b5ea50e442a0c865c950bf9dd61a0e21/trace_processor_shell"
         }
     },
     "power_profile.sql": {
diff --git a/tools/traffic_annotation/bin/README.md b/tools/traffic_annotation/bin/README.md
index 831ad3f..70f49ba 100644
--- a/tools/traffic_annotation/bin/README.md
+++ b/tools/traffic_annotation/bin/README.md
@@ -59,4 +59,4 @@
 The following line will be updated by the above script, and the modified
 README should be committed along with the updated .sha1 checksums.
 
-LASTCHANGE=ae8f603e9821f418ed34b6e0908e69e350543207-refs/heads/master@{#736938}
+LASTCHANGE=e3aec06168fddef3f2a085fb1f6282b2b9920480-refs/heads/master@{#799083}
diff --git a/tools/traffic_annotation/bin/linux64/traffic_annotation_auditor.sha1 b/tools/traffic_annotation/bin/linux64/traffic_annotation_auditor.sha1
index c62851d..33b0768 100644
--- a/tools/traffic_annotation/bin/linux64/traffic_annotation_auditor.sha1
+++ b/tools/traffic_annotation/bin/linux64/traffic_annotation_auditor.sha1
@@ -1 +1 @@
-1876122e74c5cd895483992c66dffb926993b836
\ No newline at end of file
+a44815de25a30e5d6f3d69a3af2dd7edf4eb892f
\ No newline at end of file
diff --git a/tools/traffic_annotation/bin/win32/traffic_annotation_auditor.exe.sha1 b/tools/traffic_annotation/bin/win32/traffic_annotation_auditor.exe.sha1
index dcb5aada..fed088db 100644
--- a/tools/traffic_annotation/bin/win32/traffic_annotation_auditor.exe.sha1
+++ b/tools/traffic_annotation/bin/win32/traffic_annotation_auditor.exe.sha1
@@ -1 +1 @@
-f983cccf0780bec2aa066a691f50e4c8a3a07153
\ No newline at end of file
+25d618085c40322fa9ef47bae8631b9fe43bfa65
\ No newline at end of file
diff --git a/tools/traffic_annotation/summary/annotations.xml b/tools/traffic_annotation/summary/annotations.xml
index 6ccb72e..4e4326c 100644
--- a/tools/traffic_annotation/summary/annotations.xml
+++ b/tools/traffic_annotation/summary/annotations.xml
@@ -291,7 +291,7 @@
  <item id="safe_browsing_v4_get_hash" hash_code="8561691" type="0" content_hash_code="132435617" os_list="linux,windows" file_path="components/safe_browsing/core/db/v4_get_hash_protocol_manager.cc"/>
  <item id="safe_browsing_v4_update" hash_code="82509217" type="0" content_hash_code="5247849" os_list="linux,windows" file_path="components/safe_browsing/core/db/v4_update_protocol_manager.cc"/>
  <item id="safety_check_update_connectivity" hash_code="137724067" type="0" content_hash_code="30977369" os_list="linux,windows" file_path="components/safety_check/update_check_helper.cc"/>
- <item id="sanitized_image_source" hash_code="82344448" type="0" content_hash_code="39770427" os_list="linux,windows" file_path="chrome/browser/ui/webui/sanitized_image_source.cc"/>
+ <item id="sanitized_image_source" hash_code="36944304" type="0" content_hash_code="39770427" os_list="linux,windows" file_path="chrome/browser/ui/webui/sanitized_image_source.cc"/>
  <item id="save_file_manager" hash_code="56275203" type="0" content_hash_code="56692339" os_list="linux,windows" file_path="content/browser/download/save_file_manager.cc"/>
  <item id="sdch_dictionary_fetch" hash_code="47152935" type="0" deprecated="2017-09-16" content_hash_code="16764294" file_path=""/>
  <item id="search_suggest_service" hash_code="57785193" type="0" content_hash_code="132247652" os_list="linux,windows" file_path="chrome/browser/search/search_suggest/search_suggest_loader_impl.cc"/>
diff --git a/tools/traffic_annotation/summary/grouping.xml b/tools/traffic_annotation/summary/grouping.xml
index 67b51df..d0105ba 100644
--- a/tools/traffic_annotation/summary/grouping.xml
+++ b/tools/traffic_annotation/summary/grouping.xml
@@ -14,6 +14,26 @@
 <groups>
   <group name="Unsorted" hidden="true"> <!--Unsorted annotations go here.-->
     <sender name="Unsorted Sender">
+      <!-- TODO(nicolaso): do a pass through some of the recent ones, and find
+           them a new home -->
+      <traffic_annotation unique_id="isolated_prerender_canary_check"/>
+      <traffic_annotation unique_id="nearby_webrtc_connection"/>
+      <traffic_annotation unique_id="proxy_config_windows_resolver"/>
+      <traffic_annotation unique_id="remoting_directory_delete_host"/>
+      <traffic_annotation unique_id="remoting_directory_get_host_list"/>
+      <traffic_annotation unique_id="remoting_directory_register_host"/>
+      <traffic_annotation unique_id="remoting_telemetry_log_writer"/>
+      <traffic_annotation unique_id="heartbeat_sender"/>
+      <traffic_annotation unique_id="remoting_register_support_host_request"/>
+      <traffic_annotation unique_id="remoting_ice_config_request"/>
+      <traffic_annotation unique_id="ftl_messaging_client_ack_messages"/>
+      <traffic_annotation unique_id="ftl_messaging_client_receive_messages"/>
+      <traffic_annotation unique_id="ftl_messaging_client_send_messages"/>
+      <traffic_annotation unique_id="ftl_registration_manager"/>
+      <traffic_annotation unique_id="remoting_log_to_server"/>
+      <traffic_annotation unique_id="nearby_share_update_device"/>
+      <traffic_annotation unique_id="nearby_share_contacts"/>
+      <traffic_annotation unique_id="nearby_share_list_public_certificates"/>
       <traffic_annotation unique_id="omnibox_result_change"/>
       <traffic_annotation unique_id="browser_switcher_ieem_sitelist"/>
       <traffic_annotation unique_id="adb_client_socket"/>
diff --git a/ui/accessibility/platform/atk_util_auralinux.cc b/ui/accessibility/platform/atk_util_auralinux.cc
index 08f09382..3fd67575 100644
--- a/ui/accessibility/platform/atk_util_auralinux.cc
+++ b/ui/accessibility/platform/atk_util_auralinux.cc
@@ -53,11 +53,32 @@
   return *active_key_snoop_functions;
 }
 
+using AXPlatformNodeSet = std::unordered_set<ui::AXPlatformNodeAuraLinux*>;
+static AXPlatformNodeSet& GetNodesWithPostponedEvents() {
+  static base::NoDestructor<AXPlatformNodeSet> nodes_with_postponed_events_list;
+  return *nodes_with_postponed_events_list;
+}
+
+static void RunPostponedEvents() {
+  for (ui::AXPlatformNodeAuraLinux* entry : GetNodesWithPostponedEvents()) {
+    entry->RunPostponedEvents();
+  }
+  GetNodesWithPostponedEvents().clear();
+}
+
 static guint AtkUtilAuraLinuxAddKeyEventListener(
     AtkKeySnoopFunc key_snoop_function,
     gpointer data) {
   static guint current_key_event_listener_id = 0;
 
+  // AtkUtilAuraLinuxAddKeyEventListener is called by
+  // spi_atk_register_event_listeners in the at-spi2-atk library after it has
+  // initialized all its other listeners. Our internal knowledge of the
+  // internals of the AT-SPI/ATK bridge allows us to use this call as an
+  // indication of AT-SPI being ready, so we can finally run any events that had
+  // been waiting.
+  ui::AtkUtilAuraLinux::GetInstance()->SetAtSpiReady(true);
+
   current_key_event_listener_id++;
   GetActiveKeySnoopFunctions()[current_key_event_listener_id] =
       std::make_pair(key_snoop_function, data);
@@ -147,4 +168,22 @@
   return discard ? DiscardAtkKeyEvent::Discard : DiscardAtkKeyEvent::Retain;
 }
 
+bool AtkUtilAuraLinux::IsAtSpiReady() {
+  return at_spi_ready_;
+}
+
+void AtkUtilAuraLinux::SetAtSpiReady(bool ready) {
+  at_spi_ready_ = ready;
+  if (ready)
+    RunPostponedEvents();
+}
+
+void AtkUtilAuraLinux::PostponeEventsFor(AXPlatformNodeAuraLinux* node) {
+  GetNodesWithPostponedEvents().insert(node);
+}
+
+void AtkUtilAuraLinux::CancelPostponedEventsFor(AXPlatformNodeAuraLinux* node) {
+  GetNodesWithPostponedEvents().erase(node);
+}
+
 }  // namespace ui
diff --git a/ui/accessibility/platform/atk_util_auralinux.h b/ui/accessibility/platform/atk_util_auralinux.h
index c38fb53..e0e8ba6a 100644
--- a/ui/accessibility/platform/atk_util_auralinux.h
+++ b/ui/accessibility/platform/atk_util_auralinux.h
@@ -10,6 +10,7 @@
 #include "base/macros.h"
 #include "base/memory/singleton.h"
 #include "ui/accessibility/ax_export.h"
+#include "ui/accessibility/platform/ax_platform_node_auralinux.h"
 
 namespace ui {
 
@@ -42,6 +43,15 @@
   void InitializeAsync();
   void InitializeForTesting();
 
+  bool IsAtSpiReady();
+  void SetAtSpiReady(bool ready);
+
+  // Nodes with postponed events will get the function RunPostponedEvents()
+  // called as soon as AT-SPI is detected to be ready
+  void PostponeEventsFor(AXPlatformNodeAuraLinux* node);
+
+  void CancelPostponedEventsFor(AXPlatformNodeAuraLinux* node);
+
   static DiscardAtkKeyEvent HandleAtkKeyEvent(AtkKeyEventStruct* key_event);
 
  private:
@@ -51,6 +61,8 @@
 
   void PlatformInitializeAsync();
 
+  bool at_spi_ready_ = false;
+
   DISALLOW_COPY_AND_ASSIGN(AtkUtilAuraLinux);
 };
 
diff --git a/ui/accessibility/platform/atk_util_auralinux_unittest.cc b/ui/accessibility/platform/atk_util_auralinux_unittest.cc
index 3d5f300..11342de 100644
--- a/ui/accessibility/platform/atk_util_auralinux_unittest.cc
+++ b/ui/accessibility/platform/atk_util_auralinux_unittest.cc
@@ -95,4 +95,19 @@
   EXPECT_EQ(keyval_seen, 0);
 }
 
+TEST_F(AtkUtilAuraLinuxTest, AtSpiReady) {
+  AtkUtilAuraLinux* atk_util = AtkUtilAuraLinux::GetInstance();
+
+  EXPECT_FALSE(atk_util->IsAtSpiReady());
+
+  // In a normal browser execution, when a key event listener is added it means
+  // the AT-SPI bridge has done it as part of its initialization, so it is set
+  // as enabled.
+  AtkKeySnoopFunc key_snoop_func =
+      reinterpret_cast<AtkKeySnoopFunc>(+[](AtkKeyEventStruct* key_event) {});
+  atk_add_key_event_listener(key_snoop_func, nullptr);
+
+  EXPECT_TRUE(atk_util->IsAtSpiReady());
+}
+
 }  // namespace ui
diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.cc b/ui/accessibility/platform/ax_platform_node_auralinux.cc
index 04125c6f..b1293b4c 100644
--- a/ui/accessibility/platform/ax_platform_node_auralinux.cc
+++ b/ui/accessibility/platform/ax_platform_node_auralinux.cc
@@ -3276,6 +3276,9 @@
 
   DestroyAtkObjects();
 
+  if (window_activate_event_postponed_)
+    AtkUtilAuraLinux::GetInstance()->CancelPostponedEventsFor(this);
+
   SetWeakGPtrToAtkObject(&document_parent_, nullptr);
 }
 
@@ -3992,6 +3995,13 @@
                                  ATK_STATE_SHOWING, TRUE);
 }
 
+void AXPlatformNodeAuraLinux::RunPostponedEvents() {
+  if (window_activate_event_postponed_) {
+    OnWindowActivated();
+    window_activate_event_postponed_ = false;
+  }
+}
+
 void AXPlatformNodeAuraLinux::NotifyAccessibilityEvent(
     ax::mojom::Event event_type) {
   if (!GetOrCreateAtkObject())
@@ -4043,10 +4053,20 @@
       OnInvalidStatusChanged();
       break;
     case ax::mojom::Event::kWindowActivated:
-      OnWindowActivated();
+      if (AtkUtilAuraLinux::GetInstance()->IsAtSpiReady()) {
+        OnWindowActivated();
+      } else {
+        AtkUtilAuraLinux::GetInstance()->PostponeEventsFor(this);
+        window_activate_event_postponed_ = true;
+      }
       break;
     case ax::mojom::Event::kWindowDeactivated:
-      OnWindowDeactivated();
+      if (AtkUtilAuraLinux::GetInstance()->IsAtSpiReady()) {
+        OnWindowDeactivated();
+      } else {
+        AtkUtilAuraLinux::GetInstance()->CancelPostponedEventsFor(this);
+        window_activate_event_postponed_ = false;
+      }
       break;
     case ax::mojom::Event::kWindowVisibilityChanged:
       OnWindowVisibilityChanged();
diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.h b/ui/accessibility/platform/ax_platform_node_auralinux.h
index 6c63a193..c5600da 100644
--- a/ui/accessibility/platform/ax_platform_node_auralinux.h
+++ b/ui/accessibility/platform/ax_platform_node_auralinux.h
@@ -225,6 +225,7 @@
   void OnWindowVisibilityChanged();
   void OnScrolledToAnchor();
   void OnAlertShown();
+  void RunPostponedEvents();
 
   void ResendFocusSignalsForCurrentlyFocusedNode();
   bool SupportsSelectionWithAtkSelection();
@@ -426,6 +427,8 @@
   // The default ATK text attributes for this node.
   TextAttributeList default_text_attributes_;
 
+  bool window_activate_event_postponed_ = false;
+
   DISALLOW_COPY_AND_ASSIGN(AXPlatformNodeAuraLinux);
 };
 
diff --git a/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc b/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
index 2415e6e..be78f37 100644
--- a/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
+++ b/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
@@ -8,6 +8,7 @@
 #include <vector>
 
 #include "testing/gtest/include/gtest/gtest.h"
+#include "ui/accessibility/platform/atk_util_auralinux.h"
 #include "ui/accessibility/platform/ax_platform_node_auralinux.h"
 #include "ui/accessibility/platform/ax_platform_node_unittest.h"
 #include "ui/accessibility/platform/test_ax_node_wrapper.h"
@@ -1620,6 +1621,10 @@
                    }),
                    &saw_active_focus_state_change);
 
+  // ATK window activated event will be held until AT-SPI bridge is ready. We
+  // work that around by faking its state.
+  ui::AtkUtilAuraLinux::GetInstance()->SetAtSpiReady(true);
+
   {
     ActivationTester tester(root_atk_object);
     EXPECT_FALSE(tester.IsActivatedInStateSet());
@@ -1646,6 +1651,70 @@
   g_object_unref(root_atk_object);
 }
 
+TEST_F(AXPlatformNodeAuraLinuxTest, TestPostponedAtkWindowActive) {
+  AXNodeData root;
+  root.id = 1;
+  root.role = ax::mojom::Role::kWindow;
+  Init(root);
+
+  AtkObject* root_atk_object(GetRootAtkObject());
+  EXPECT_TRUE(ATK_IS_OBJECT(root_atk_object));
+  g_object_ref(root_atk_object);
+  EXPECT_TRUE(ATK_IS_WINDOW(root_atk_object));
+
+  AtkUtilAuraLinux* atk_util = ui::AtkUtilAuraLinux::GetInstance();
+
+  {
+    ActivationTester tester(root_atk_object);
+    EXPECT_FALSE(tester.IsActivatedInStateSet());
+    static_cast<AXPlatformNodeAuraLinux*>(GetRootPlatformNode())
+        ->NotifyAccessibilityEvent(ax::mojom::Event::kWindowActivated);
+
+    // ATK window activated event will be held until AT-SPI bridge is ready.
+    EXPECT_FALSE(tester.saw_activate_);
+    EXPECT_FALSE(tester.saw_deactivate_);
+
+    // We force the AT-SPI ready flag to flush any held events.
+    atk_util->SetAtSpiReady(true);
+    EXPECT_TRUE(tester.saw_activate_);
+    EXPECT_FALSE(tester.saw_deactivate_);
+    EXPECT_TRUE(tester.IsActivatedInStateSet());
+  }
+
+  {
+    ActivationTester tester(root_atk_object);
+
+    static_cast<AXPlatformNodeAuraLinux*>(GetRootPlatformNode())
+        ->NotifyAccessibilityEvent(ax::mojom::Event::kWindowDeactivated);
+
+    EXPECT_FALSE(tester.saw_activate_);
+    EXPECT_TRUE(tester.saw_deactivate_);
+    EXPECT_FALSE(tester.IsActivatedInStateSet());
+  }
+
+  {
+    atk_util->SetAtSpiReady(false);
+
+    ActivationTester tester(root_atk_object);
+
+    static_cast<AXPlatformNodeAuraLinux*>(GetRootPlatformNode())
+        ->NotifyAccessibilityEvent(ax::mojom::Event::kWindowActivated);
+
+    // Window deactivated will cancel the previously held activated event.
+    static_cast<AXPlatformNodeAuraLinux*>(GetRootPlatformNode())
+        ->NotifyAccessibilityEvent(ax::mojom::Event::kWindowDeactivated);
+
+    // We force the AT-SPI ready flag to flush any held events.
+    atk_util->SetAtSpiReady(true);
+
+    // No events seen because they cancelled each other.
+    EXPECT_FALSE(tester.saw_activate_);
+    EXPECT_FALSE(tester.saw_deactivate_);
+  }
+
+  g_object_unref(root_atk_object);
+}
+
 //
 // AtkWindow interface and iconified state
 //
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index 88883f2c..31ab8ea 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -635,6 +635,7 @@
   deps = [
     ":buildflags",
     "//base",
+    "//build:lacros_buildflags",
   ]
 }
 
diff --git a/ui/base/clipboard/clipboard_data_endpoint.h b/ui/base/clipboard/clipboard_data_endpoint.h
index 787c9a0b..d22db203 100644
--- a/ui/base/clipboard/clipboard_data_endpoint.h
+++ b/ui/base/clipboard/clipboard_data_endpoint.h
@@ -15,9 +15,11 @@
 // destination trying to read the clipboard data.
 // Whenever a new format is supported, a new enum should be added.
 enum class EndpointType {
-  kUrl = 0,  // Website URL e.g. www.example.com
-  kVm = 1,   // Virtual machine: ARC++, PluginVM, Crostini.
-  kMaxValue = kVm
+#if defined(OS_CHROMEOS) || (OS_LINUX) || (OS_FUCHSIA)
+  kGuestOs = 0,  // Guest OS: ARC++, PluginVM, Crostini.
+#endif
+  kUrl = 1,  // Website URL e.g. www.example.com
+  kMaxValue = kUrl
 };
 
 // ClipboardDataEndpoint can represent:
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
index a89d5f0..c63bdd1b 100644
--- a/ui/base/ui_base_features.cc
+++ b/ui/base/ui_base_features.cc
@@ -4,6 +4,8 @@
 
 #include "ui/base/ui_base_features.h"
 
+#include "build/lacros_buildflags.h"
+
 #if defined(OS_WIN)
 #include "base/win/windows_version.h"
 #endif
@@ -229,7 +231,7 @@
   // Only allow enabling and disabling the OzonePlatform on USE_X11 && USE_OZONE
   // builds.
   static const bool using_ozone_platform =
-#if defined(USE_X11) && defined(USE_OZONE)
+#if defined(USE_X11) && defined(USE_OZONE) && !BUILDFLAG(IS_LACROS)
       base::FeatureList::IsEnabled(kUseOzonePlatform);
 #elif defined(USE_X11) && !defined(USE_OZONE)
       // This shouldn't be switchable for pure X11 builds.
diff --git a/ui/base/x/x11_gl_egl_utility.cc b/ui/base/x/x11_gl_egl_utility.cc
index 46ad485c..0e5fcf9f 100644
--- a/ui/base/x/x11_gl_egl_utility.cc
+++ b/ui/base/x/x11_gl_egl_utility.cc
@@ -18,6 +18,20 @@
 #define EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE 0x33AE
 #endif /* EGL_ANGLE_platform_angle_null */
 
+#ifndef EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE
+#define EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE 0x348F
+#endif
+
+#ifndef EGL_ANGLE_platform_angle
+#define EGL_ANGLE_platform_angle 1
+#define EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE 0x348F
+#endif /* EGL_ANGLE_platform_angle */
+
+#ifndef EGL_EXT_platform_x11
+#define EGL_EXT_platform_x11 1
+#define EGL_PLATFORM_X11_EXT 0x31D5
+#endif /* EGL_EXT_platform_x11 */
+
 namespace ui {
 
 void GetPlatformExtraDisplayAttribs(EGLenum platform_type,
@@ -30,6 +44,8 @@
         true, &visual_id, nullptr, nullptr, nullptr);
     attributes->push_back(EGL_X11_VISUAL_ID_ANGLE);
     attributes->push_back(static_cast<EGLAttrib>(visual_id));
+    attributes->push_back(EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE);
+    attributes->push_back(EGL_PLATFORM_X11_EXT);
   }
 }
 
diff --git a/ui/chromeos/file_manager_strings.grdp b/ui/chromeos/file_manager_strings.grdp
index c36615b..ff582e79 100644
--- a/ui/chromeos/file_manager_strings.grdp
+++ b/ui/chromeos/file_manager_strings.grdp
@@ -981,6 +981,9 @@
   <message name="IDS_FILE_BROWSER_PASSWORD_DIALOG_CONFIRM_LABEL" desc="Label for the confirm button">
     Unlock
   </message>
+  <message name="IDS_FILE_BROWSER_PASSWORD_DIALOG_INVALID" desc="Error message displayed when the user enters an invalid password.">
+    Invalid password
+  </message>
 
   <message name="IDS_FILE_BROWSER_SUGGEST_DIALOG_TITLE" desc="Title of the suggest app dialog, which shows the list of the apps which supports the selected file.">
     Select an app to open this file
diff --git a/ui/chromeos/file_manager_strings_grdp/IDS_FILE_BROWSER_PASSWORD_DIALOG_INVALID.png.sha1 b/ui/chromeos/file_manager_strings_grdp/IDS_FILE_BROWSER_PASSWORD_DIALOG_INVALID.png.sha1
new file mode 100644
index 0000000..654041e
--- /dev/null
+++ b/ui/chromeos/file_manager_strings_grdp/IDS_FILE_BROWSER_PASSWORD_DIALOG_INVALID.png.sha1
@@ -0,0 +1 @@
+b6d269a2ce516bffd9e4ea4c485b6c2222bc70e9
\ No newline at end of file
diff --git a/ui/chromeos/translations/ui_chromeos_strings_bg.xtb b/ui/chromeos/translations/ui_chromeos_strings_bg.xtb
index ce68899..6c771c1b 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_bg.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_bg.xtb
@@ -516,7 +516,7 @@
 <translation id="6643016212128521049">Изчистване</translation>
 <translation id="6650726141019353908">Розова пеперуда</translation>
 <translation id="6657585470893396449">Парола</translation>
-<translation id="6710213216561001401">Предишна</translation>
+<translation id="6710213216561001401">Предишно</translation>
 <translation id="6718273304615422081">Компресира се...</translation>
 <translation id="6751256176799620176">Избрахте 1 папка</translation>
 <translation id="6760765581316020278">Виетнамска клавиатура (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_bn.xtb b/ui/chromeos/translations/ui_chromeos_strings_bn.xtb
index 386b93a..69e9f91 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_bn.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_bn.xtb
@@ -515,7 +515,7 @@
 <translation id="6643016212128521049">সাফ করুন</translation>
 <translation id="6650726141019353908">গোলাপি প্রজাপতি</translation>
 <translation id="6657585470893396449">পাসওয়ার্ড</translation>
-<translation id="6710213216561001401">পূর্ববর্তী</translation>
+<translation id="6710213216561001401">আগের</translation>
 <translation id="6718273304615422081">জিপ করা হচ্ছে...</translation>
 <translation id="6751256176799620176">১টি ফোল্ডার নির্বাচন করা হয়েছে</translation>
 <translation id="6760765581316020278">ভিয়েতনামি কীবোর্ড (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_de.xtb b/ui/chromeos/translations/ui_chromeos_strings_de.xtb
index cb8d4dcc..de54350 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_de.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_de.xtb
@@ -516,7 +516,7 @@
 <translation id="6643016212128521049">Löschen</translation>
 <translation id="6650726141019353908">Rosa Schmetterling</translation>
 <translation id="6657585470893396449">Passwort</translation>
-<translation id="6710213216561001401">Zurück</translation>
+<translation id="6710213216561001401">Vorherige Einreichung</translation>
 <translation id="6718273304615422081">Wird gezippt...</translation>
 <translation id="6751256176799620176">1 Ordner ausgewählt</translation>
 <translation id="6760765581316020278">Vietnamesische Tastatur (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_fil.xtb b/ui/chromeos/translations/ui_chromeos_strings_fil.xtb
index 3ef905f..e25d475 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_fil.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_fil.xtb
@@ -516,7 +516,7 @@
 <translation id="6643016212128521049">I-clear</translation>
 <translation id="6650726141019353908">Pink na paru-paro</translation>
 <translation id="6657585470893396449">Password</translation>
-<translation id="6710213216561001401">Nakaraan</translation>
+<translation id="6710213216561001401">Nauna</translation>
 <translation id="6718273304615422081">Nagzi-zip...</translation>
 <translation id="6751256176799620176">1 folder ang napili</translation>
 <translation id="6760765581316020278">Vietnamese keyboard (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_it.xtb b/ui/chromeos/translations/ui_chromeos_strings_it.xtb
index 518a973c..679b3d4 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_it.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_it.xtb
@@ -515,7 +515,7 @@
 <translation id="6643016212128521049">Cancella</translation>
 <translation id="6650726141019353908">Farfalla rosa</translation>
 <translation id="6657585470893396449">Password</translation>
-<translation id="6710213216561001401">Indietro</translation>
+<translation id="6710213216561001401">Precedente</translation>
 <translation id="6718273304615422081">Compressione...</translation>
 <translation id="6751256176799620176">1 cartella selezionata</translation>
 <translation id="6760765581316020278">Tastiera Vietnamita (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_kn.xtb b/ui/chromeos/translations/ui_chromeos_strings_kn.xtb
index 8179c0c..19f2708 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_kn.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_kn.xtb
@@ -512,7 +512,7 @@
 <translation id="6643016212128521049">ತೆರವುಗೊಳಿಸಿ</translation>
 <translation id="6650726141019353908">ಗುಲಾಬಿ ಬಣ್ಣದ ಚಿಟ್ಟೆ</translation>
 <translation id="6657585470893396449">ಪಾಸ್‌ವರ್ಡ್</translation>
-<translation id="6710213216561001401">ಹಿಂದೆ</translation>
+<translation id="6710213216561001401">ಹಿಂದಿನದು</translation>
 <translation id="6718273304615422081">ಜಿಪ್ ಮಾಡಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="6751256176799620176">1 ಫೋಲ್ಡರ್ ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ</translation>
 <translation id="6760765581316020278">ವಿಯೆಟ್ನಾಮೀಸ್ ಕೀಬೋರ್ಡ್ (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_lt.xtb b/ui/chromeos/translations/ui_chromeos_strings_lt.xtb
index 1fe4952..6bc8e68 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_lt.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_lt.xtb
@@ -516,7 +516,7 @@
 <translation id="6643016212128521049">Išvalyti</translation>
 <translation id="6650726141019353908">Rožinis drugelis</translation>
 <translation id="6657585470893396449">Slaptažodis</translation>
-<translation id="6710213216561001401">Ankstesnis</translation>
+<translation id="6710213216561001401">Ankstesnė</translation>
 <translation id="6718273304615422081">Glaudinama...</translation>
 <translation id="6751256176799620176">Pasirinktas 1 aplankas</translation>
 <translation id="6760765581316020278">Vietnamietiška klaviatūra (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_pl.xtb b/ui/chromeos/translations/ui_chromeos_strings_pl.xtb
index d128f3f4..ffa0255 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_pl.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_pl.xtb
@@ -516,7 +516,7 @@
 <translation id="6643016212128521049">Wyczyść</translation>
 <translation id="6650726141019353908">Różowy motyl</translation>
 <translation id="6657585470893396449">Hasło</translation>
-<translation id="6710213216561001401">Wstecz</translation>
+<translation id="6710213216561001401">Poprzedni</translation>
 <translation id="6718273304615422081">Pakuję...</translation>
 <translation id="6751256176799620176">Wybrano jeden folder</translation>
 <translation id="6760765581316020278">Klawiatura wietnamska (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sk.xtb b/ui/chromeos/translations/ui_chromeos_strings_sk.xtb
index 02779ea..87da071 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sk.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sk.xtb
@@ -516,7 +516,7 @@
 <translation id="6643016212128521049">Vymazať</translation>
 <translation id="6650726141019353908">Ružový motýľ</translation>
 <translation id="6657585470893396449">Heslo</translation>
-<translation id="6710213216561001401">Dozadu</translation>
+<translation id="6710213216561001401">Späť</translation>
 <translation id="6718273304615422081">Prebieha komprimovanie...</translation>
 <translation id="6751256176799620176">1 vybratý súbor</translation>
 <translation id="6760765581316020278">Vietnamská klávesnica (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sl.xtb b/ui/chromeos/translations/ui_chromeos_strings_sl.xtb
index 02c8aaa..e6d16f9 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sl.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sl.xtb
@@ -516,7 +516,7 @@
 <translation id="6643016212128521049">Izbriši</translation>
 <translation id="6650726141019353908">Rožnat metulj</translation>
 <translation id="6657585470893396449">Geslo</translation>
-<translation id="6710213216561001401">Nazaj</translation>
+<translation id="6710213216561001401">Prejšnji</translation>
 <translation id="6718273304615422081">Stiskanje ...</translation>
 <translation id="6751256176799620176">Izbrana je 1 mapa</translation>
 <translation id="6760765581316020278">Tipkovnica za vietnamščino (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sw.xtb b/ui/chromeos/translations/ui_chromeos_strings_sw.xtb
index 81bcdb9..b9dce4f 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sw.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sw.xtb
@@ -516,7 +516,7 @@
 <translation id="6643016212128521049">Futa</translation>
 <translation id="6650726141019353908">Kipepeo wa waridi</translation>
 <translation id="6657585470893396449">Nenosiri</translation>
-<translation id="6710213216561001401">Iliyotangulia</translation>
+<translation id="6710213216561001401">Iliyopita</translation>
 <translation id="6718273304615422081">Inabanwa...</translation>
 <translation id="6751256176799620176">Folda 1 imechaguliwa</translation>
 <translation id="6760765581316020278">Kibodi ya Kivietnamu (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_uk.xtb b/ui/chromeos/translations/ui_chromeos_strings_uk.xtb
index 1128424..4d87956 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_uk.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_uk.xtb
@@ -516,7 +516,7 @@
 <translation id="6643016212128521049">Очистити</translation>
 <translation id="6650726141019353908">Рожевий метелик</translation>
 <translation id="6657585470893396449">Пароль</translation>
-<translation id="6710213216561001401">Попереднє</translation>
+<translation id="6710213216561001401">Назад</translation>
 <translation id="6718273304615422081">Архівування…</translation>
 <translation id="6751256176799620176">Вибрано 1 папку</translation>
 <translation id="6760765581316020278">В’єтнамська клавіатура (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_vi.xtb b/ui/chromeos/translations/ui_chromeos_strings_vi.xtb
index ddb373c..2d42d1a 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_vi.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_vi.xtb
@@ -516,7 +516,7 @@
 <translation id="6643016212128521049">Xóa</translation>
 <translation id="6650726141019353908">Bướm màu hồng</translation>
 <translation id="6657585470893396449">Mật khẩu</translation>
-<translation id="6710213216561001401">Trước đó</translation>
+<translation id="6710213216561001401">Trước</translation>
 <translation id="6718273304615422081">Đang nén...</translation>
 <translation id="6751256176799620176">Đã chọn 1 thư mục</translation>
 <translation id="6760765581316020278">Bàn phím tiếng Việt (VNI)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_zh-CN.xtb b/ui/chromeos/translations/ui_chromeos_strings_zh-CN.xtb
index 8f0a09c..a19da3e 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_zh-CN.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_zh-CN.xtb
@@ -511,7 +511,7 @@
 <translation id="6643016212128521049">清除</translation>
 <translation id="6650726141019353908">粉蝴蝶</translation>
 <translation id="6657585470893396449">密码</translation>
-<translation id="6710213216561001401">上一个</translation>
+<translation id="6710213216561001401">上一项</translation>
 <translation id="6718273304615422081">正在压缩…</translation>
 <translation id="6751256176799620176">已选择 1 个文件夹</translation>
 <translation id="6760765581316020278">越南语键盘(VNI)</translation>
diff --git a/ui/color/color_id.h b/ui/color/color_id.h
index f71b880..772fd98 100644
--- a/ui/color/color_id.h
+++ b/ui/color/color_id.h
@@ -30,90 +30,90 @@
   E(kColorBubbleFooterBackground, \
     NativeTheme::kColorId_BubbleFooterBackground) \
   E(kColorButtonBackground, NativeTheme::kColorId_ButtonColor) \
-  E(kColorButtonBorder, NativeTheme::kColorId_ButtonBorderColor) \
-  E(kColorButtonDisabledBorder, \
-    NativeTheme::kColorId_DisabledButtonBorderColor) \
-  E(kColorButtonDisabledForeground, NativeTheme::kColorId_ButtonDisabledColor) \
-  E(kColorButtonForeground, NativeTheme::kColorId_ButtonEnabledColor) \
   /* TODO(https://crbug.com/1003612): Map this to old color id. */ \
-  E_CPONLY(kColorButtonPressedBackground) \
-  E(kColorButtonProminentBackground, \
+  E_CPONLY(kColorButtonBackgroundPressed) \
+  E(kColorButtonBackgroundProminent, \
     NativeTheme::kColorId_ProminentButtonColor) \
-  E(kColorButtonProminentDisabledBackground, \
+  E(kColorButtonBackgroundProminentDisabled, \
     NativeTheme::kColorId_ProminentButtonDisabledColor) \
-  E(kColorButtonProminentFocusedBackground, \
+  E(kColorButtonBackgroundProminentFocused, \
     NativeTheme::kColorId_ProminentButtonFocusedColor) \
-  E(kColorButtonProminentForeground, \
+  E(kColorButtonBorder, NativeTheme::kColorId_ButtonBorderColor) \
+  E(kColorButtonBorderDisabled, \
+    NativeTheme::kColorId_DisabledButtonBorderColor) \
+  E(kColorButtonForeground, NativeTheme::kColorId_ButtonEnabledColor) \
+  E(kColorButtonForegroundDisabled, NativeTheme::kColorId_ButtonDisabledColor) \
+  E(kColorButtonForegroundProminent, \
     NativeTheme::kColorId_TextOnProminentButtonColor) \
-  E(kColorButtonUncheckedForeground, \
+  E(kColorButtonForegroundUnchecked, \
     NativeTheme::kColorId_ButtonUncheckedColor) \
   E(kColorDialogBackground, NativeTheme::kColorId_DialogBackground) \
   E(kColorDialogForeground, NativeTheme::kColorId_DialogForeground) \
   E(kColorFocusableBorderFocused, NativeTheme::kColorId_FocusedBorderColor) \
   E(kColorFocusableBorderUnfocused, \
     NativeTheme::kColorId_UnfocusedBorderColor) \
-  E(kColorMenuIcon, NativeTheme::kColorId_MenuIconColor) \
   E(kColorIcon, NativeTheme::kColorId_DefaultIconColor) \
-  E(kColorLabelDisabledForeground, NativeTheme::kColorId_LabelDisabledColor) \
   E(kColorLabelForeground, NativeTheme::kColorId_LabelEnabledColor) \
-  E(kColorLabelSecondaryForeground, NativeTheme::kColorId_LabelSecondaryColor) \
+  E(kColorLabelForegroundDisabled, NativeTheme::kColorId_LabelDisabledColor) \
+  E(kColorLabelForegroundSecondary, NativeTheme::kColorId_LabelSecondaryColor) \
   E(kColorLabelSelectionBackground, \
     NativeTheme::kColorId_LabelTextSelectionBackgroundFocused) \
   E(kColorLabelSelectionForeground, \
     NativeTheme::kColorId_LabelTextSelectionColor) \
-  E(kColorLinkDisabledForeground, NativeTheme::kColorId_LinkDisabled) \
   E(kColorLinkForeground, NativeTheme::kColorId_LinkEnabled) \
-  E(kColorLinkPressedForeground, NativeTheme::kColorId_LinkPressed) \
+  E(kColorLinkForegroundDisabled, NativeTheme::kColorId_LinkDisabled) \
+  E(kColorLinkForegroundPressed, NativeTheme::kColorId_LinkPressed) \
   E(kColorMenuBackground, NativeTheme::kColorId_MenuBackgroundColor) \
   E(kColorMenuBorder, NativeTheme::kColorId_MenuBorderColor) \
+  E(kColorMenuIcon, NativeTheme::kColorId_MenuIconColor) \
   E(kColorMenuItemBackgroundAlertedInitial, \
     NativeTheme::kColorId_MenuItemInitialAlertBackgroundColor) \
   E(kColorMenuItemBackgroundAlertedTarget, \
     NativeTheme::kColorId_MenuItemTargetAlertBackgroundColor) \
-  E(kColorMenuItemDisabledForeground, \
-    NativeTheme::kColorId_DisabledMenuItemForegroundColor) \
+  E(kColorMenuItemBackgroundHighlighted, \
+    NativeTheme::kColorId_HighlightedMenuItemBackgroundColor) \
+  E(kColorMenuItemBackgroundSelected, \
+    NativeTheme::kColorId_FocusedMenuItemBackgroundColor) \
   E(kColorMenuItemForeground, \
     NativeTheme::kColorId_EnabledMenuItemForegroundColor) \
-  E(kColorMenuItemHighlightedBackground, \
-    NativeTheme::kColorId_HighlightedMenuItemBackgroundColor) \
-  E(kColorMenuItemHighlightedForeground, \
+  E(kColorMenuItemForegroundDisabled, \
+    NativeTheme::kColorId_DisabledMenuItemForegroundColor) \
+  E(kColorMenuItemForegroundHighlighted, \
     NativeTheme::kColorId_HighlightedMenuItemForegroundColor) \
-  E(kColorMenuItemSecondaryForeground, \
+  E(kColorMenuItemForegroundSecondary, \
     NativeTheme::kColorId_MenuItemMinorTextColor) \
-  E(kColorMenuItemSelectedBackground, \
-    NativeTheme::kColorId_FocusedMenuItemBackgroundColor) \
-  E(kColorMenuItemSelectedForeground, \
+  E(kColorMenuItemForegroundSelected, \
     NativeTheme::kColorId_SelectedMenuItemForegroundColor) \
   E(kColorMenuSeparator, NativeTheme::kColorId_MenuSeparatorColor) \
+  E(kColorTabBorderSelected, NativeTheme::kColorId_TabSelectedBorderColor) \
   E(kColorTabContentSeparator, NativeTheme::kColorId_TabBottomBorder) \
   E(kColorTabForeground, NativeTheme::kColorId_TabTitleColorInactive) \
-  E(kColorTabSelectedBorder, NativeTheme::kColorId_TabSelectedBorderColor) \
-  E(kColorTabSelectedForeground, \
+  E(kColorTabForegroundSelected, \
     NativeTheme::kColorId_TabTitleColorActive) \
   E(kColorTableBackground, NativeTheme::kColorId_TableBackground) \
+  E(kColorTableBackgroundSelectedFocused, \
+    NativeTheme::kColorId_TableSelectionBackgroundFocused) \
+  E(kColorTableBackgroundSelectedUnfocused, \
+    NativeTheme::kColorId_TableSelectionBackgroundUnfocused) \
   E(kColorTableForeground, NativeTheme::kColorId_TableText) \
+  E(kColorTableForegroundSelectedFocused, \
+    NativeTheme::kColorId_TableSelectedText) \
+  E(kColorTableForegroundSelectedUnfocused, \
+    NativeTheme::kColorId_TableSelectedTextUnfocused) \
   E(kColorTableGroupingIndicator, \
     NativeTheme::kColorId_TableGroupingIndicatorColor) \
   E(kColorTableHeaderBackground, NativeTheme::kColorId_TableHeaderBackground) \
   E(kColorTableHeaderForeground, NativeTheme::kColorId_TableHeaderText) \
   E(kColorTableHeaderSeparator, NativeTheme::kColorId_TableHeaderSeparator) \
-  E(kColorTableSelectedFocusedBackground, \
-    NativeTheme::kColorId_TableSelectionBackgroundFocused) \
-  E(kColorTableSelectedFocusedForeground, \
-    NativeTheme::kColorId_TableSelectedText) \
-  E(kColorTableSelectedUnfocusedBackground, \
-    NativeTheme::kColorId_TableSelectionBackgroundUnfocused) \
-  E(kColorTableSelectedUnfocusedForeground, \
-    NativeTheme::kColorId_TableSelectedTextUnfocused) \
   E(kColorTextfieldBackground, \
     NativeTheme::kColorId_TextfieldDefaultBackground) \
-  E(kColorTextfieldDisabledBackground, \
+  E(kColorTextfieldBackgroundDisabled, \
     NativeTheme::kColorId_TextfieldReadOnlyBackground) \
-  E(kColorTextfieldDisabledForeground, \
-    NativeTheme::kColorId_TextfieldReadOnlyColor) \
-  E(kColorTextfieldPlaceholderForeground, \
-    NativeTheme::kColorId_TextfieldPlaceholderColor) \
   E(kColorTextfieldForeground, NativeTheme::kColorId_TextfieldDefaultColor) \
+  E(kColorTextfieldForegroundDisabled, \
+    NativeTheme::kColorId_TextfieldReadOnlyColor) \
+  E(kColorTextfieldForegroundPlaceholder, \
+    NativeTheme::kColorId_TextfieldPlaceholderColor) \
   E(kColorTextfieldSelectionBackground, \
     NativeTheme::kColorId_TextfieldSelectionBackgroundFocused) \
   E(kColorTextfieldSelectionForeground, \
@@ -122,14 +122,14 @@
   E(kColorTooltipBackground, NativeTheme::kColorId_TooltipBackground) \
   E(kColorTooltipForeground, NativeTheme::kColorId_TooltipText) \
   E(kColorTreeBackground, NativeTheme::kColorId_TreeBackground) \
-  E(kColorTreeNodeForeground, NativeTheme::kColorId_TreeText) \
-  E(kColorTreeNodeSelectedFocusedBackground, \
+  E(kColorTreeNodeBackgroundSelectedFocused, \
     NativeTheme::kColorId_TreeSelectionBackgroundFocused) \
-  E(kColorTreeNodeSelectedFocusedForeground, \
-    NativeTheme::kColorId_TreeSelectedText) \
-  E(kColorTreeNodeSelectedUnfocusedBackground, \
+  E(kColorTreeNodeBackgroundSelectedUnfocused, \
     NativeTheme::kColorId_TreeSelectionBackgroundUnfocused) \
-  E(kColorTreeNodeSelectedUnfocusedForeground, \
+  E(kColorTreeNodeForeground, NativeTheme::kColorId_TreeText) \
+  E(kColorTreeNodeForegroundSelectedFocused, \
+    NativeTheme::kColorId_TreeSelectedText) \
+  E(kColorTreeNodeForegroundSelectedUnfocused, \
     NativeTheme::kColorId_TreeSelectedTextUnfocused) \
   E(kColorWindowBackground, NativeTheme::kColorId_WindowBackground)
 
diff --git a/ui/color/mac/native_color_mixers.mm b/ui/color/mac/native_color_mixers.mm
index c90a86f..4a769515 100644
--- a/ui/color/mac/native_color_mixers.mm
+++ b/ui/color/mac/native_color_mixers.mm
@@ -37,7 +37,7 @@
                             [NSColor keyboardFocusIndicatorColor]),
                         0x66)},
            {kColorMenuBorder, SkColorSetA(SK_ColorBLACK, 0x60)},
-           {kColorMenuItemDisabledForeground,
+           {kColorMenuItemForegroundDisabled,
             skia::NSSystemColorToSkColor([NSColor disabledControlTextColor])},
            {kColorMenuItemForeground,
             skia::NSSystemColorToSkColor([NSColor controlTextColor])},
@@ -46,8 +46,8 @@
                 [NSColor selectedTextBackgroundColor])},
        }});
 
-  mixer[kColorMenuItemHighlightedForeground] = {kColorPrimaryForeground};
-  mixer[kColorMenuItemSelectedForeground] = {kColorPrimaryForeground};
+  mixer[kColorMenuItemForegroundHighlighted] = {kColorPrimaryForeground};
+  mixer[kColorMenuItemForegroundSelected] = {kColorPrimaryForeground};
 
   if (@available(macOS 10.14, *)) {
     mixer[kColorTableBackgroundAlternate] = {skia::NSSystemColorToSkColor(
diff --git a/ui/color/ui_color_mixer.cc b/ui/color/ui_color_mixer.cc
index 427c77e..b7dd2e0 100644
--- a/ui/color/ui_color_mixer.cc
+++ b/ui/color/ui_color_mixer.cc
@@ -21,65 +21,65 @@
   mixer[kColorBubbleFooterBackground] = {kColorSubtleEmphasisBackground};
   mixer[kColorButtonBackground] = {kColorPrimaryBackground};
   mixer[kColorButtonBorder] = {kColorBorderAndSeparatorForeground};
-  mixer[kColorButtonDisabledBorder] = button_disabled_background;
-  mixer[kColorButtonDisabledForeground] = {kColorDisabledForeground};
+  mixer[kColorButtonBorderDisabled] = button_disabled_background;
+  mixer[kColorButtonForegroundDisabled] = {kColorDisabledForeground};
   mixer[kColorButtonForeground] = {kColorAccent};
-  mixer[kColorButtonPressedBackground] = {kColorButtonBackground};
-  mixer[kColorButtonProminentBackground] = {kColorAccent};
-  mixer[kColorButtonProminentDisabledBackground] = button_disabled_background;
-  mixer[kColorButtonProminentFocusedBackground] =
-      BlendForMinContrastWithSelf(kColorButtonProminentBackground, 1.3f);
-  mixer[kColorButtonProminentForeground] =
-      GetColorWithMaxContrast(kColorButtonProminentBackground);
-  mixer[kColorButtonUncheckedForeground] = {kColorSecondaryForeground};
+  mixer[kColorButtonBackgroundPressed] = {kColorButtonBackground};
+  mixer[kColorButtonBackgroundProminent] = {kColorAccent};
+  mixer[kColorButtonBackgroundProminentDisabled] = button_disabled_background;
+  mixer[kColorButtonBackgroundProminentFocused] =
+      BlendForMinContrastWithSelf(kColorButtonBackgroundProminent, 1.3f);
+  mixer[kColorButtonForegroundProminent] =
+      GetColorWithMaxContrast(kColorButtonBackgroundProminent);
+  mixer[kColorButtonForegroundUnchecked] = {kColorSecondaryForeground};
   mixer[kColorDialogBackground] = {kColorPrimaryBackground};
   mixer[kColorDialogForeground] = {kColorSecondaryForeground};
   mixer[kColorFocusableBorderFocused] = SetAlpha(kColorAccent, 0x4D);
   mixer[kColorFocusableBorderUnfocused] = {kColorBorderAndSeparatorForeground};
   mixer[kColorIcon] = {kColorSecondaryForeground};
   mixer[kColorMenuIcon] = {kColorIcon};
-  mixer[kColorLabelDisabledForeground] = {kColorDisabledForeground};
+  mixer[kColorLabelForegroundDisabled] = {kColorDisabledForeground};
   mixer[kColorLabelForeground] = {kColorPrimaryForeground};
-  mixer[kColorLabelSecondaryForeground] = {kColorSecondaryForeground};
+  mixer[kColorLabelForegroundSecondary] = {kColorSecondaryForeground};
   mixer[kColorLabelSelectionBackground] = {kColorTextSelectionBackground};
   mixer[kColorLabelSelectionForeground] = {kColorLabelForeground};
-  mixer[kColorLinkDisabledForeground] = {kColorDisabledForeground};
-  mixer[kColorLinkPressedForeground] = {kColorLinkForeground};
+  mixer[kColorLinkForegroundDisabled] = {kColorDisabledForeground};
+  mixer[kColorLinkForegroundPressed] = {kColorLinkForeground};
   mixer[kColorLinkForeground] = {kColorAccent};
   mixer[kColorMenuBackground] = {kColorPrimaryBackground};
   mixer[kColorMenuBorder] = {kColorBorderAndSeparatorForeground};
   mixer[kColorMenuItemBackgroundAlertedInitial] = SetAlpha(kColorAccent, 0x4D);
   mixer[kColorMenuItemBackgroundAlertedTarget] = SetAlpha(kColorAccent, 0x1A);
-  mixer[kColorMenuItemDisabledForeground] = {kColorDisabledForeground};
+  mixer[kColorMenuItemForegroundDisabled] = {kColorDisabledForeground};
   mixer[kColorMenuItemForeground] = {kColorPrimaryForeground};
-  mixer[kColorMenuItemHighlightedBackground] = {kColorSubtleEmphasisBackground};
-  mixer[kColorMenuItemHighlightedForeground] = {kColorMenuItemForeground};
-  mixer[kColorMenuItemSecondaryForeground] = {kColorSecondaryForeground};
-  mixer[kColorMenuItemSelectedBackground] = {kColorItemSelectionBackground};
-  mixer[kColorMenuItemSelectedForeground] = {kColorMenuItemForeground};
+  mixer[kColorMenuItemBackgroundHighlighted] = {kColorSubtleEmphasisBackground};
+  mixer[kColorMenuItemForegroundHighlighted] = {kColorMenuItemForeground};
+  mixer[kColorMenuItemForegroundSecondary] = {kColorSecondaryForeground};
+  mixer[kColorMenuItemBackgroundSelected] = {kColorItemSelectionBackground};
+  mixer[kColorMenuItemForegroundSelected] = {kColorMenuItemForeground};
   mixer[kColorMenuSeparator] = {kColorBorderAndSeparatorForeground};
   mixer[kColorTabContentSeparator] = {kColorBorderAndSeparatorForeground};
   mixer[kColorTabForeground] = {kColorSecondaryForeground};
-  mixer[kColorTabSelectedBorder] = {kColorAccent};
-  mixer[kColorTabSelectedForeground] = {kColorAccent};
+  mixer[kColorTabBorderSelected] = {kColorAccent};
+  mixer[kColorTabForegroundSelected] = {kColorAccent};
   mixer[kColorTableBackground] = {kColorPrimaryBackground};
   mixer[kColorTableForeground] = {kColorPrimaryForeground};
-  mixer[kColorTableGroupingIndicator] = {kColorTableSelectedFocusedBackground};
+  mixer[kColorTableGroupingIndicator] = {kColorTableBackgroundSelectedFocused};
   mixer[kColorTableHeaderBackground] = {kColorTableBackground};
   mixer[kColorTableHeaderForeground] = {kColorTableForeground};
   mixer[kColorTableHeaderSeparator] = {kColorBorderAndSeparatorForeground};
-  mixer[kColorTableSelectedFocusedBackground] = {kColorItemSelectionBackground};
-  mixer[kColorTableSelectedFocusedForeground] = {kColorTableForeground};
-  mixer[kColorTableSelectedUnfocusedBackground] = {
-      kColorTableSelectedFocusedBackground};
-  mixer[kColorTableSelectedUnfocusedForeground] = {
-      kColorTableSelectedFocusedForeground};
+  mixer[kColorTableBackgroundSelectedFocused] = {kColorItemSelectionBackground};
+  mixer[kColorTableForegroundSelectedFocused] = {kColorTableForeground};
+  mixer[kColorTableBackgroundSelectedUnfocused] = {
+      kColorTableBackgroundSelectedFocused};
+  mixer[kColorTableForegroundSelectedUnfocused] = {
+      kColorTableForegroundSelectedFocused};
   mixer[kColorTextfieldBackground] =
       GetColorWithMaxContrast(kColorTextfieldForeground);
-  mixer[kColorTextfieldDisabledBackground] = {kColorPrimaryBackground};
-  mixer[kColorTextfieldDisabledForeground] = {kColorDisabledForeground};
-  mixer[kColorTextfieldPlaceholderForeground] = {
-      kColorTextfieldDisabledForeground};
+  mixer[kColorTextfieldBackgroundDisabled] = {kColorPrimaryBackground};
+  mixer[kColorTextfieldForegroundDisabled] = {kColorDisabledForeground};
+  mixer[kColorTextfieldForegroundPlaceholder] = {
+      kColorTextfieldForegroundDisabled};
   mixer[kColorTextfieldForeground] = {kColorPrimaryForeground};
   mixer[kColorTextfieldSelectionBackground] = {kColorTextSelectionBackground};
   mixer[kColorTextfieldSelectionForeground] = {kColorTextfieldForeground};
@@ -88,13 +88,13 @@
   mixer[kColorTooltipForeground] = SetAlpha(kColorPrimaryForeground, 0xDE);
   mixer[kColorTreeBackground] = {kColorPrimaryBackground};
   mixer[kColorTreeNodeForeground] = {kColorPrimaryForeground};
-  mixer[kColorTreeNodeSelectedFocusedBackground] = {
+  mixer[kColorTreeNodeBackgroundSelectedFocused] = {
       kColorItemSelectionBackground};
-  mixer[kColorTreeNodeSelectedFocusedForeground] = {kColorTreeNodeForeground};
-  mixer[kColorTreeNodeSelectedUnfocusedBackground] = {
-      kColorTreeNodeSelectedFocusedBackground};
-  mixer[kColorTreeNodeSelectedUnfocusedForeground] = {
-      kColorTreeNodeSelectedFocusedForeground};
+  mixer[kColorTreeNodeForegroundSelectedFocused] = {kColorTreeNodeForeground};
+  mixer[kColorTreeNodeBackgroundSelectedUnfocused] = {
+      kColorTreeNodeBackgroundSelectedFocused};
+  mixer[kColorTreeNodeForegroundSelectedUnfocused] = {
+      kColorTreeNodeForegroundSelectedFocused};
   mixer[kColorWindowBackground] = {kColorPrimaryBackground};
 }
 
diff --git a/ui/events/cocoa/events_mac.mm b/ui/events/cocoa/events_mac.mm
index cfcc7bd..6f098352 100644
--- a/ui/events/cocoa/events_mac.mm
+++ b/ui/events/cocoa/events_mac.mm
@@ -151,6 +151,22 @@
   }
 }
 
+gfx::Vector2d GetMouseWheelTick120ths(const PlatformEvent& event) {
+  CGEventRef cg_event = [event CGEvent];
+
+  if (!cg_event ||
+      CGEventGetIntegerValueField(cg_event, kCGScrollWheelEventIsContinuous)) {
+    // Since the device does continuous scrolling, it has no concept of ticks.
+    return gfx::Vector2d(0, 0);
+  }
+
+  return gfx::Vector2d(
+      CGEventGetIntegerValueField(cg_event, kCGScrollWheelEventDeltaAxis2) *
+          120,
+      CGEventGetIntegerValueField(cg_event, kCGScrollWheelEventDeltaAxis1) *
+          120);
+}
+
 PlatformEvent CopyNativeEvent(const PlatformEvent& event) {
   return [event copy];
 }
diff --git a/ui/events/event.cc b/ui/events/event.cc
index 8def7a5..4ec2e0c 100644
--- a/ui/events/event.cc
+++ b/ui/events/event.cc
@@ -635,7 +635,9 @@
 // MouseWheelEvent
 
 MouseWheelEvent::MouseWheelEvent(const PlatformEvent& native_event)
-    : MouseEvent(native_event), offset_(GetMouseWheelOffset(native_event)) {}
+    : MouseEvent(native_event),
+      offset_(GetMouseWheelOffset(native_event)),
+      tick_120ths_(GetMouseWheelTick120ths(native_event)) {}
 
 MouseWheelEvent::MouseWheelEvent(const ScrollEvent& scroll_event)
     : MouseEvent(scroll_event),
@@ -652,16 +654,20 @@
 }
 
 MouseWheelEvent::MouseWheelEvent(const MouseWheelEvent& mouse_wheel_event)
-    : MouseEvent(mouse_wheel_event), offset_(mouse_wheel_event.offset()) {
+    : MouseEvent(mouse_wheel_event),
+      offset_(mouse_wheel_event.offset()),
+      tick_120ths_(mouse_wheel_event.tick_120ths()) {
   DCHECK_EQ(ET_MOUSEWHEEL, type());
 }
 
-MouseWheelEvent::MouseWheelEvent(const gfx::Vector2d& offset,
-                                 const gfx::PointF& location,
-                                 const gfx::PointF& root_location,
-                                 base::TimeTicks time_stamp,
-                                 int flags,
-                                 int changed_button_flags)
+MouseWheelEvent::MouseWheelEvent(
+    const gfx::Vector2d& offset,
+    const gfx::PointF& location,
+    const gfx::PointF& root_location,
+    base::TimeTicks time_stamp,
+    int flags,
+    int changed_button_flags,
+    const base::Optional<gfx::Vector2d> tick_120ths)
     : MouseEvent(ET_UNKNOWN,
                  location,
                  root_location,
@@ -673,6 +679,16 @@
   // DCHECK for type to enforce that we use MouseWheelEvent() to create
   // a MouseWheelEvent.
   SetType(ET_MOUSEWHEEL);
+
+  if (!tick_120ths) {
+    // Since no wheel ticks have been specified, assume that scrolling is linear
+    // (not accelerated, like it is on Chrome OS).
+    tick_120ths_ =
+        gfx::Vector2d(offset_.x() / MouseWheelEvent::kWheelDelta * 120,
+                      offset_.y() / MouseWheelEvent::kWheelDelta * 120);
+  } else {
+    tick_120ths_ = tick_120ths.value();
+  }
 }
 
 MouseWheelEvent::MouseWheelEvent(const gfx::Vector2d& offset,
diff --git a/ui/events/event.h b/ui/events/event.h
index f7bb613..92ae3f9 100644
--- a/ui/events/event.h
+++ b/ui/events/event.h
@@ -591,15 +591,18 @@
   template <class T>
   MouseWheelEvent(const MouseWheelEvent& model, T* source, T* target)
       : MouseEvent(model, source, target, model.type(), model.flags()),
-        offset_(model.x_offset(), model.y_offset()) {}
+        offset_(model.x_offset(), model.y_offset()),
+        tick_120ths_(model.tick_120ths()) {}
 
   // Used for synthetic events in testing and by the gesture recognizer.
-  MouseWheelEvent(const gfx::Vector2d& offset,
-                  const gfx::PointF& location,
-                  const gfx::PointF& root_location,
-                  base::TimeTicks time_stamp,
-                  int flags,
-                  int changed_button_flags);
+  MouseWheelEvent(
+      const gfx::Vector2d& offset,
+      const gfx::PointF& location,
+      const gfx::PointF& root_location,
+      base::TimeTicks time_stamp,
+      int flags,
+      int changed_button_flags,
+      const base::Optional<gfx::Vector2d> tick_120ths = base::nullopt);
 
   // DEPRECATED: Prefer the constructor that takes gfx::PointF.
   MouseWheelEvent(const gfx::Vector2d& offset,
@@ -609,14 +612,19 @@
                   int flags,
                   int changed_button_flags);
 
-  // The amount to scroll. This is in multiples of kWheelDelta.
+  // The amount to scroll. This is not necessarily linearly related to the
+  // amount that the wheel moved, due to scroll acceleration.
   // Note: x_offset() > 0/y_offset() > 0 means scroll left/up.
   int x_offset() const { return offset_.x(); }
   int y_offset() const { return offset_.y(); }
   const gfx::Vector2d& offset() const { return offset_; }
 
+  // The amount the wheel(s) moved, in 120ths of a tick.
+  const gfx::Vector2d& tick_120ths() const { return tick_120ths_; }
+
  private:
   gfx::Vector2d offset_;
+  gfx::Vector2d tick_120ths_;
 };
 
 // NOTE: Pen (stylus) events use TouchEvent with kPen. They were
diff --git a/ui/events/event_unittest.cc b/ui/events/event_unittest.cc
index cbfc3e9..0ad7f727 100644
--- a/ui/events/event_unittest.cc
+++ b/ui/events/event_unittest.cc
@@ -789,6 +789,16 @@
       ui::INPUT_EVENT_LATENCY_UI_COMPONENT, nullptr));
 }
 
+TEST(EventTest, MouseWheelEventLinearTickCalculation) {
+  const gfx::Point origin;
+  MouseWheelEvent mouse_wheel_ev(
+      gfx::Vector2d(-2 * MouseWheelEvent::kWheelDelta,
+                    MouseWheelEvent::kWheelDelta),
+      origin, origin, EventTimeForNow(), 0, 0);
+  EXPECT_EQ(mouse_wheel_ev.tick_120ths().x(), -240);
+  EXPECT_EQ(mouse_wheel_ev.tick_120ths().y(), 120);
+}
+
 // Checks that Event.Latency.OS.TOUCH_PRESSED, TOUCH_MOVED,
 // and TOUCH_RELEASED histograms are computed properly.
 #if defined(USE_X11)
diff --git a/ui/events/event_utils.h b/ui/events/event_utils.h
index 3924b36..be8c7db 100644
--- a/ui/events/event_utils.h
+++ b/ui/events/event_utils.h
@@ -111,6 +111,11 @@
 EVENTS_EXPORT gfx::Vector2d GetMouseWheelOffset(
     const PlatformEvent& native_event);
 
+// Gets the mouse wheel tick counts from a native event, with a value of 120
+// representing a whole tick.
+EVENTS_EXPORT gfx::Vector2d GetMouseWheelTick120ths(
+    const PlatformEvent& native_event);
+
 // Returns a copy of |native_event|. Depending on the platform, this copy may
 // need to be deleted with ReleaseCopiedNativeEvent().
 PlatformEvent CopyNativeEvent(const PlatformEvent& native_event);
diff --git a/ui/events/events_default.cc b/ui/events/events_default.cc
index 9899f96..59b2e1b 100644
--- a/ui/events/events_default.cc
+++ b/ui/events/events_default.cc
@@ -82,6 +82,13 @@
   return event->offset();
 }
 
+gfx::Vector2d GetMouseWheelTick120ths(const PlatformEvent& native_event) {
+  const ui::MouseWheelEvent* event =
+      static_cast<const ui::MouseWheelEvent*>(native_event);
+  DCHECK_EQ(event->type(), ET_MOUSEWHEEL);
+  return event->tick_120ths();
+}
+
 PlatformEvent CopyNativeEvent(const PlatformEvent& event) {
   return NULL;
 }
diff --git a/ui/events/events_stub.cc b/ui/events/events_stub.cc
index ff5364e..710c384 100644
--- a/ui/events/events_stub.cc
+++ b/ui/events/events_stub.cc
@@ -62,6 +62,11 @@
   return gfx::Vector2d();
 }
 
+gfx::Vector2d GetMouseWheelTick120ths(const PlatformEvent& native_event) {
+  NOTIMPLEMENTED();
+  return gfx::Vector2d();
+}
+
 PlatformEvent CopyNativeEvent(const PlatformEvent& event) {
   NOTIMPLEMENTED() << "Don't know how to copy PlatformEvent for this platform";
   return NULL;
diff --git a/ui/events/mojom/event.mojom b/ui/events/mojom/event.mojom
index d8f206a..48279128 100644
--- a/ui/events/mojom/event.mojom
+++ b/ui/events/mojom/event.mojom
@@ -83,6 +83,7 @@
   PointerDetails pointer_details;
   // Only used for mouse wheel.
   gfx.mojom.Vector2d wheel_offset;
+  gfx.mojom.Vector2d tick_120ths;
 };
 
 // This is used for TouchEvents.
diff --git a/ui/events/mojom/event_mojom_traits.cc b/ui/events/mojom/event_mojom_traits.cc
index 0f6ecab..b347d0b 100644
--- a/ui/events/mojom/event_mojom_traits.cc
+++ b/ui/events/mojom/event_mojom_traits.cc
@@ -283,8 +283,10 @@
   mouse_data->changed_button_flags = mouse_event->changed_button_flags();
   mouse_data->pointer_details = mouse_event->pointer_details();
   mouse_data->location = CreateLocationData(mouse_event);
-  if (mouse_event->IsMouseWheelEvent())
+  if (mouse_event->IsMouseWheelEvent()) {
     mouse_data->wheel_offset = mouse_event->AsMouseWheelEvent()->offset();
+    mouse_data->tick_120ths = mouse_event->AsMouseWheelEvent()->tick_120ths();
+  }
   return mouse_data;
 }
 
@@ -435,7 +437,7 @@
         mouse_event = std::make_unique<ui::MouseWheelEvent>(
             mouse_data->wheel_offset, mouse_data->location->relative_location,
             mouse_data->location->root_location, time_stamp, event.flags(),
-            mouse_data->changed_button_flags);
+            mouse_data->changed_button_flags, mouse_data->tick_120ths);
       } else {
         mouse_event = std::make_unique<ui::MouseEvent>(
             mojo::ConvertTo<ui::EventType>(event.action()),
diff --git a/ui/events/mojom/mojom_traits_unittest.cc b/ui/events/mojom/mojom_traits_unittest.cc
index f378e0d..a9e15a5 100644
--- a/ui/events/mojom/mojom_traits_unittest.cc
+++ b/ui/events/mojom/mojom_traits_unittest.cc
@@ -48,6 +48,7 @@
 void ExpectMouseWheelEventsEqual(const MouseWheelEvent& expected,
                                  const MouseWheelEvent& actual) {
   EXPECT_EQ(expected.offset(), actual.offset());
+  EXPECT_EQ(expected.tick_120ths(), actual.tick_120ths());
 }
 
 void ExpectKeyEventsEqual(const KeyEvent& expected, const KeyEvent& actual) {
@@ -164,16 +165,17 @@
 
 TEST(StructTraitsTest, MouseWheelEvent) {
   const MouseWheelEvent kTestData[] = {
-      {gfx::Vector2d(11, 15), gfx::Point(3, 4), gfx::Point(40, 30),
+      {gfx::Vector2d(11, 15), gfx::PointF(3, 4), gfx::PointF(40, 30),
        base::TimeTicks() + base::TimeDelta::FromMicroseconds(301),
-       EF_LEFT_MOUSE_BUTTON, EF_LEFT_MOUSE_BUTTON},
-      {gfx::Vector2d(-5, 3), gfx::Point(40, 3), gfx::Point(4, 0),
+       EF_LEFT_MOUSE_BUTTON, EF_LEFT_MOUSE_BUTTON, gfx::Vector2d(1320, 1800)},
+      {gfx::Vector2d(-5, 3), gfx::PointF(40, 3), gfx::PointF(4, 0),
        base::TimeTicks() + base::TimeDelta::FromMicroseconds(302),
        EF_MIDDLE_MOUSE_BUTTON | EF_RIGHT_MOUSE_BUTTON,
-       EF_MIDDLE_MOUSE_BUTTON | EF_RIGHT_MOUSE_BUTTON},
-      {gfx::Vector2d(1, 0), gfx::Point(3, 4), gfx::Point(40, 30),
+       EF_MIDDLE_MOUSE_BUTTON | EF_RIGHT_MOUSE_BUTTON,
+       gfx::Vector2d(-600, 360)},
+      {gfx::Vector2d(1, 0), gfx::PointF(3, 4), gfx::PointF(40, 30),
        base::TimeTicks() + base::TimeDelta::FromMicroseconds(303), EF_NONE,
-       EF_NONE},
+       EF_NONE, gfx::Vector2d(120, -15)},
   };
 
   for (size_t i = 0; i < base::size(kTestData); i++) {
diff --git a/ui/events/win/events_win.cc b/ui/events/win/events_win.cc
index c8cd2a8..18a361f 100644
--- a/ui/events/win/events_win.cc
+++ b/ui/events/win/events_win.cc
@@ -52,6 +52,12 @@
   return GetMouseWheelOffsetFromMSG(native_event);
 }
 
+gfx::Vector2d GetMouseWheelTick120ths(const MSG& native_event) {
+  // On Windows, the wheel offset is already in 120ths of a tick
+  // (https://docs.microsoft.com/en-us/windows/win32/inputdev/wm-mousewheel).
+  return GetMouseWheelOffsetFromMSG(native_event);
+}
+
 MSG CopyNativeEvent(const MSG& event) {
   return CopyMSGEvent(event);
 }
diff --git a/ui/file_manager/file_manager/foreground/elements/BUILD.gn b/ui/file_manager/file_manager/foreground/elements/BUILD.gn
index 2562650..600cedb4 100644
--- a/ui/file_manager/file_manager/foreground/elements/BUILD.gn
+++ b/ui/file_manager/file_manager/foreground/elements/BUILD.gn
@@ -85,6 +85,7 @@
     "//ui/webui/resources/cr_elements/cr_button:cr_button",
     "//ui/webui/resources/cr_elements/cr_dialog:cr_dialog",
     "//ui/webui/resources/cr_elements/cr_input:cr_input",
+    "//ui/webui/resources/js:load_time_data",
   ]
 }
 
diff --git a/ui/file_manager/file_manager/foreground/elements/files_password_dialog.js b/ui/file_manager/file_manager/foreground/elements/files_password_dialog.js
index 693b8e0..038c6ae 100644
--- a/ui/file_manager/file_manager/foreground/elements/files_password_dialog.js
+++ b/ui/file_manager/file_manager/foreground/elements/files_password_dialog.js
@@ -130,23 +130,34 @@
     unlockButton.onclick = () => this.unlock_();
 
     this.dialog_.addEventListener('close', () => this.onClose_());
+    this.input_.errorMessage =
+        loadTimeData.getString('PASSWORD_DIALOG_INVALID');
   }
 
   /**
    * Asks the user for a password to open the given file.
-   * @param {string} filename name of the file to mount.
-   * @return {!Promise<!string>} a password string if the user provides a
-   *     password. The returned promise is rejected with
-   * FilesPasswordDialog.USER_CANCELLED if the user presses Cancel.
-   * @public
+   * @param {string} filename Name of the file to open.
+   * @param {?string} password Previously entered password. If not null, it
+   *     indicates that an invalid password was previously tried.
+   * @return {!Promise<!string>} Password provided by the user. The returned
+   *     promise is rejected with FilesPasswordDialog.USER_CANCELLED if the user
+   *     presses Cancel.
    */
-  async askForPassword(filename) {
+  async askForPassword(filename, password = null) {
     const mutexUnlock = await this.mutex.lock();
     try {
       return await new Promise((resolve, reject) => {
         this.success_ = false;
         this.resolve_ = resolve;
         this.reject_ = reject;
+        if (password != null) {
+          this.input_.value = password;
+          // An invalid password has previously been entered for this file.
+          // Display an 'invalid password' error message.
+          this.input_.invalid = true;
+        } else {
+          this.input_.invalid = false;
+        }
         this.showModal_(filename);
         this.input_.focus();
       });
diff --git a/ui/file_manager/file_manager/foreground/elements/files_password_dialog_unittest.js b/ui/file_manager/file_manager/foreground/elements/files_password_dialog_unittest.js
index 261882a..a058190 100644
--- a/ui/file_manager/file_manager/foreground/elements/files_password_dialog_unittest.js
+++ b/ui/file_manager/file_manager/foreground/elements/files_password_dialog_unittest.js
@@ -16,6 +16,20 @@
 let unlock;
 
 /**
+ * Mock LoadTimeData strings.
+ */
+function setUpPage() {
+  window.loadTimeData.getString = id => {
+    switch (id) {
+      case 'PASSWORD_DIALOG_INVALID':
+        return 'Invalid password';
+      default:
+        return id;
+    }
+  };
+}
+
+/**
  * Adds a FilesPasswordDialog element to the page.
  */
 function setUp() {
@@ -123,6 +137,33 @@
 }
 
 /**
+ * Tests opening the password dialog with an 'Invalid password' message. This
+ * message is displayed when a wrong password was previously entered.
+ */
+async function testDialogWithWrongPassword(done) {
+  // Check that the dialog is closed.
+  assertFalse(dialog.open);
+
+  // Open password prompt.
+  const passwordPromise =
+      passwordDialog.askForPassword('encrypted.zip', 'wrongpassword');
+
+  // Wait until the dialog is open.
+  await waitUntil(() => dialog.open);
+
+  // Check that the name of the encrypted zip displays correctly on the dialog.
+  assertEquals('encrypted.zip', name.innerText);
+
+  // Check that the previous erroneous password is prefilled in the dialog.
+  assertEquals('wrongpassword', input.value);
+
+  // Check that the previous erroneous password is prefilled in the dialog.
+  assertEquals('Invalid password', input.errorMessage);
+
+  done();
+}
+
+/**
  * Tests cancel functionality for multiple encrypted archives.
  */
 async function testCancelMultiplePasswordPrompts(done) {
diff --git a/ui/file_manager/file_manager/foreground/js/BUILD.gn b/ui/file_manager/file_manager/foreground/js/BUILD.gn
index 9225f7db..1ad57ae 100644
--- a/ui/file_manager/file_manager/foreground/js/BUILD.gn
+++ b/ui/file_manager/file_manager/foreground/js/BUILD.gn
@@ -443,6 +443,7 @@
     ":task_history",
     "metadata:metadata_model",
     "ui:file_manager_ui",
+    "//ui/file_manager/file_manager/common/js:async_util",
   ]
   externs_list = [
     "//ui/file_manager/externs/background/crostini.js",
diff --git a/ui/file_manager/file_manager/foreground/js/file_tasks.js b/ui/file_manager/file_manager/foreground/js/file_tasks.js
index 349b3030..842d7ce 100644
--- a/ui/file_manager/file_manager/foreground/js/file_tasks.js
+++ b/ui/file_manager/file_manager/foreground/js/file_tasks.js
@@ -64,6 +64,12 @@
 
     /** @private @const {!ProgressCenter} */
     this.progressCenter_ = progressCenter;
+
+    /**
+     * Mutex used to serialize password dialogs.
+     * @private @const {!AsyncUtil.Queue}
+     */
+    this.mutex_ = new AsyncUtil.Queue();
   }
 
   /**
@@ -874,20 +880,39 @@
    */
   async mountArchive_(url) {
     // First time, try without providing a password.
-    let password = undefined;
-    const filename = util.extractFilePath(url).split('/').pop();
-    while (true) {
-      try {
-        return await this.volumeManager_.mountArchive(url, password);
-      } catch (error) {
-        // If error is not about needing a password, propagate it.
-        if (error !== VolumeManagerCommon.VolumeError.NEED_PASSWORD) {
-          throw error;
+    try {
+      return await this.volumeManager_.mountArchive(url);
+    } catch (error) {
+      // If error is not about needing a password, propagate it.
+      if (error !== VolumeManagerCommon.VolumeError.NEED_PASSWORD) {
+        throw error;
+      }
+    }
+
+    // We need a password.
+    const unlock = await this.mutex_.lock();
+    try {
+      /** @type {?string} */ let password = null;
+      const filename = util.extractFilePath(url).split('/').pop();
+      while (true) {
+        // Ask for password.
+        do {
+          password =
+              await this.ui_.passwordDialog.askForPassword(filename, password);
+        } while (!password);
+
+        // Mount archive with password.
+        try {
+          return await this.volumeManager_.mountArchive(url, password);
+        } catch (error) {
+          // If error is not about needing a password, propagate it.
+          if (error !== VolumeManagerCommon.VolumeError.NEED_PASSWORD) {
+            throw error;
+          }
         }
       }
-
-      // Prompt password.
-      password = await this.ui_.passwordDialog.askForPassword(filename);
+    } finally {
+      unlock();
     }
   }
 
diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn
index bc37b3a..306884a 100644
--- a/ui/gl/BUILD.gn
+++ b/ui/gl/BUILD.gn
@@ -263,6 +263,7 @@
     ]
 
     deps += [
+      "//ui/base:features",
       "//ui/base/x",
       "//ui/events/platform/x11:x11",
     ]
diff --git a/ui/gl/DEPS b/ui/gl/DEPS
index 1c7a897..4e741e82 100644
--- a/ui/gl/DEPS
+++ b/ui/gl/DEPS
@@ -24,4 +24,7 @@
   "gl_surface_egl_unittest.cc": [
     "+ui/platform_window",
   ],
+  "gl_image_egl_pixmap.cc": [
+    "+ui/base/ui_base_features.h",
+  ],
 }
diff --git a/ui/gl/gl_image_egl_pixmap.cc b/ui/gl/gl_image_egl_pixmap.cc
index b598ccd..9c638c3 100644
--- a/ui/gl/gl_image_egl_pixmap.cc
+++ b/ui/gl/gl_image_egl_pixmap.cc
@@ -8,6 +8,7 @@
 
 #include "base/logging.h"
 #include "build/build_config.h"
+#include "ui/base/ui_base_features.h"
 #include "ui/gfx/x/x11.h"
 #include "ui/gl/buffer_format_utils.h"
 #include "ui/gl/gl_bindings.h"
@@ -18,8 +19,11 @@
 
 inline EGLDisplay FromXDisplay() {
 #if defined(USE_X11)
-  if (auto* x_display = gfx::GetXDisplay())
-    return eglGetDisplay(x_display);
+  if (!features::IsUsingOzonePlatform()) {
+    if (auto* x_display = gfx::GetXDisplay()) {
+      return eglGetDisplay(reinterpret_cast<EGLNativeDisplayType>(x_display));
+    }
+  }
 #endif
   return EGL_NO_DISPLAY;
 }
diff --git a/ui/gl/gl_utils.cc b/ui/gl/gl_utils.cc
index 2f0832c..f8a494b0 100644
--- a/ui/gl/gl_utils.cc
+++ b/ui/gl/gl_utils.cc
@@ -130,7 +130,7 @@
     if ((brga_flags & kSupportBits) == 0)
       return false;
     return true;
-  };
+  }();
   return should_force;
 }
 #endif  // OS_WIN
diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc
index 432c107..7a9ae49 100644
--- a/ui/native_theme/native_theme.cc
+++ b/ui/native_theme/native_theme.cc
@@ -41,20 +41,20 @@
           kColorBubbleFooterBackground},
         {NTCID::kColorId_ButtonColor, kColorButtonBackground},
         {NTCID::kColorId_ButtonBorderColor, kColorButtonBorder},
-        {NTCID::kColorId_DisabledButtonBorderColor, kColorButtonDisabledBorder},
+        {NTCID::kColorId_DisabledButtonBorderColor, kColorButtonBorderDisabled},
         {NTCID::kColorId_ButtonDisabledColor,
-          kColorButtonDisabledForeground},
+          kColorButtonForegroundDisabled},
         {NTCID::kColorId_ButtonEnabledColor, kColorButtonForeground},
         {NTCID::kColorId_ProminentButtonColor,
-          kColorButtonProminentBackground},
+          kColorButtonBackgroundProminent},
         {NTCID::kColorId_ProminentButtonDisabledColor,
-          kColorButtonProminentDisabledBackground},
+          kColorButtonBackgroundProminentDisabled},
         {NTCID::kColorId_ProminentButtonFocusedColor,
-          kColorButtonProminentFocusedBackground},
+          kColorButtonBackgroundProminentFocused},
         {NTCID::kColorId_TextOnProminentButtonColor,
-          kColorButtonProminentForeground},
+          kColorButtonForegroundProminent},
         {NTCID::kColorId_ButtonUncheckedColor,
-          kColorButtonUncheckedForeground},
+          kColorButtonForegroundUnchecked},
         {NTCID::kColorId_DialogBackground, kColorDialogBackground},
         {NTCID::kColorId_DialogForeground, kColorDialogForeground},
         {NTCID::kColorId_FocusedBorderColor, kColorFocusableBorderFocused},
@@ -62,17 +62,17 @@
           kColorFocusableBorderUnfocused},
         {NTCID::kColorId_MenuIconColor, kColorMenuIcon},
         {NTCID::kColorId_DefaultIconColor, kColorIcon},
-        {NTCID::kColorId_LabelDisabledColor, kColorLabelDisabledForeground},
+        {NTCID::kColorId_LabelDisabledColor, kColorLabelForegroundDisabled},
         {NTCID::kColorId_LabelEnabledColor, kColorLabelForeground},
         {NTCID::kColorId_LabelSecondaryColor,
-          kColorLabelSecondaryForeground},
+          kColorLabelForegroundSecondary},
         {NTCID::kColorId_LabelTextSelectionBackgroundFocused,
           kColorLabelSelectionBackground},
         {NTCID::kColorId_LabelTextSelectionColor,
           kColorLabelSelectionForeground},
-        {NTCID::kColorId_LinkDisabled, kColorLinkDisabledForeground},
+        {NTCID::kColorId_LinkDisabled, kColorLinkForegroundDisabled},
         {NTCID::kColorId_LinkEnabled, kColorLinkForeground},
-        {NTCID::kColorId_LinkPressed, kColorLinkPressedForeground},
+        {NTCID::kColorId_LinkPressed, kColorLinkForegroundPressed},
         {NTCID::kColorId_MenuBackgroundColor, kColorMenuBackground},
         {NTCID::kColorId_MenuBorderColor, kColorMenuBorder},
         {NTCID::kColorId_MenuItemInitialAlertBackgroundColor,
@@ -80,24 +80,24 @@
         {NTCID::kColorId_MenuItemTargetAlertBackgroundColor,
           kColorMenuItemBackgroundAlertedTarget},
         {NTCID::kColorId_DisabledMenuItemForegroundColor,
-          kColorMenuItemDisabledForeground},
+          kColorMenuItemForegroundDisabled},
         {NTCID::kColorId_EnabledMenuItemForegroundColor,
           kColorMenuItemForeground},
         {NTCID::kColorId_HighlightedMenuItemBackgroundColor,
-          kColorMenuItemHighlightedBackground},
+          kColorMenuItemBackgroundHighlighted},
         {NTCID::kColorId_HighlightedMenuItemForegroundColor,
-          kColorMenuItemHighlightedForeground},
+          kColorMenuItemForegroundHighlighted},
         {NTCID::kColorId_MenuItemMinorTextColor,
-          kColorMenuItemSecondaryForeground},
+          kColorMenuItemForegroundSecondary},
         {NTCID::kColorId_FocusedMenuItemBackgroundColor,
-          kColorMenuItemSelectedBackground},
+          kColorMenuItemBackgroundSelected},
         {NTCID::kColorId_SelectedMenuItemForegroundColor,
-          kColorMenuItemSelectedForeground},
+          kColorMenuItemForegroundSelected},
         {NTCID::kColorId_MenuSeparatorColor, kColorMenuSeparator},
         {NTCID::kColorId_TabBottomBorder, kColorTabContentSeparator},
         {NTCID::kColorId_TabTitleColorInactive, kColorTabForeground},
-        {NTCID::kColorId_TabSelectedBorderColor, kColorTabSelectedBorder},
-        {NTCID::kColorId_TabTitleColorActive, kColorTabSelectedForeground},
+        {NTCID::kColorId_TabSelectedBorderColor, kColorTabBorderSelected},
+        {NTCID::kColorId_TabTitleColorActive, kColorTabForegroundSelected},
         {NTCID::kColorId_TableBackground, kColorTableBackground},
 #if defined(OS_APPLE)
         {NTCID::kColorId_TableBackgroundAlternate,
@@ -112,21 +112,21 @@
         // TODO(http://crbug.com/1057754): kColorId_TableHeaderSeparator,
         // which is implemented as a native theme override on Mac.
         {NTCID::kColorId_TableSelectionBackgroundFocused,
-          kColorTableSelectedFocusedBackground},
+          kColorTableBackgroundSelectedFocused},
         {NTCID::kColorId_TableSelectedText,
-          kColorTableSelectedFocusedForeground},
+          kColorTableForegroundSelectedFocused},
         {NTCID::kColorId_TableSelectionBackgroundUnfocused,
-          kColorTableSelectedUnfocusedBackground},
+          kColorTableBackgroundSelectedUnfocused},
         {NTCID::kColorId_TableSelectedTextUnfocused,
-          kColorTableSelectedUnfocusedForeground},
+          kColorTableForegroundSelectedUnfocused},
         {NTCID::kColorId_TextfieldDefaultBackground,
           kColorTextfieldBackground},
         {NTCID::kColorId_TextfieldReadOnlyBackground,
-          kColorTextfieldDisabledBackground},
+          kColorTextfieldBackgroundDisabled},
         {NTCID::kColorId_TextfieldReadOnlyColor,
-          kColorTextfieldDisabledForeground},
+          kColorTextfieldForegroundDisabled},
         {NTCID::kColorId_TextfieldPlaceholderColor,
-          kColorTextfieldPlaceholderForeground},
+          kColorTextfieldForegroundPlaceholder},
         {NTCID::kColorId_TextfieldDefaultColor, kColorTextfieldForeground},
         {NTCID::kColorId_TextfieldSelectionBackgroundFocused,
           kColorTextfieldSelectionBackground},
@@ -138,13 +138,13 @@
         {NTCID::kColorId_TreeBackground, kColorTreeBackground},
         {NTCID::kColorId_TreeText, kColorTreeNodeForeground},
         {NTCID::kColorId_TreeSelectionBackgroundFocused,
-          kColorTreeNodeSelectedFocusedBackground},
+          kColorTreeNodeBackgroundSelectedFocused},
         {NTCID::kColorId_TreeSelectedText,
-          kColorTreeNodeSelectedFocusedForeground},
+          kColorTreeNodeForegroundSelectedFocused},
         {NTCID::kColorId_TreeSelectionBackgroundUnfocused,
-          kColorTreeNodeSelectedUnfocusedBackground},
+          kColorTreeNodeBackgroundSelectedUnfocused},
         {NTCID::kColorId_TreeSelectedTextUnfocused,
-          kColorTreeNodeSelectedUnfocusedForeground},
+          kColorTreeNodeForegroundSelectedUnfocused},
         {NTCID::kColorId_WindowBackground, kColorWindowBackground},
       });
   return *map;
diff --git a/ui/strings/translations/ui_strings_bg.xtb b/ui/strings/translations/ui_strings_bg.xtb
index 41c139c..0ebfae4 100644
--- a/ui/strings/translations/ui_strings_bg.xtb
+++ b/ui/strings/translations/ui_strings_bg.xtb
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">Запазване на файл</translation>
 <translation id="6656912866303152668">Проверете дали синхронизацията в Chrome е включена за <ph name="TARGET_DEVICE_NAME" /> и опитайте да изпратите отново.</translation>
 <translation id="6699343763173986273">Мултимедия, следващият запис</translation>
-<translation id="6710213216561001401">Предишна</translation>
+<translation id="6710213216561001401">Предишно</translation>
 <translation id="6779314412797872738">За да изпратите номер оттук до телефона си с Android, <ph name="TROUBLESHOOT_LINK" /> в настройките и на двете устройства.</translation>
 <translation id="6786750046913594791">Затваряне на папката</translation>
 <translation id="6808150112686056157">Мултимедия, стоп</translation>
diff --git a/ui/strings/translations/ui_strings_bn.xtb b/ui/strings/translations/ui_strings_bn.xtb
index 205de39..e9a3026 100644
--- a/ui/strings/translations/ui_strings_bn.xtb
+++ b/ui/strings/translations/ui_strings_bn.xtb
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">ফাইল সেভ করুন</translation>
 <translation id="6656912866303152668"><ph name="TARGET_DEVICE_NAME" /> Chrome-এ সিঙ্ক করার ফিচার চালু করে রেখেছে কিনা দেখে নিন।</translation>
 <translation id="6699343763173986273">মিডিয়া পরবর্তী ট্র্যাক</translation>
-<translation id="6710213216561001401">পূর্ববর্তী</translation>
+<translation id="6710213216561001401">আগের</translation>
 <translation id="6779314412797872738">এখান থেকে আপনার Android ফোনে কোনও নম্বর পাঠাতে, সেটিংসে গিয়ে দুটি ডিভাইসের জন্য <ph name="TROUBLESHOOT_LINK" />।</translation>
 <translation id="6786750046913594791">ফোল্ডার বন্ধ করুন</translation>
 <translation id="6808150112686056157">মিডিয়া থামান</translation>
diff --git a/ui/strings/translations/ui_strings_de.xtb b/ui/strings/translations/ui_strings_de.xtb
index de25d39..3d1ac7b 100644
--- a/ui/strings/translations/ui_strings_de.xtb
+++ b/ui/strings/translations/ui_strings_de.xtb
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">Datei speichern</translation>
 <translation id="6656912866303152668">Prüfen Sie, ob auf "<ph name="TARGET_DEVICE_NAME" />" die Synchronisierung in Chrome aktiviert ist, und versuchen Sie es dann noch einmal.</translation>
 <translation id="6699343763173986273">Medien – nächster Titel</translation>
-<translation id="6710213216561001401">Zurück</translation>
+<translation id="6710213216561001401">Vorherige Einreichung</translation>
 <translation id="6779314412797872738">Wenn Sie eine Nummer von diesem Gerät an Ihr Android-Smartphone senden möchten, müssen Sie für beide Geräte in den Einstellungen die <ph name="TROUBLESHOOT_LINK" />.</translation>
 <translation id="6786750046913594791">Ordner schließen</translation>
 <translation id="6808150112686056157">Medien – Stopp</translation>
diff --git a/ui/strings/translations/ui_strings_fil.xtb b/ui/strings/translations/ui_strings_fil.xtb
index 0da2836..75869810 100644
--- a/ui/strings/translations/ui_strings_fil.xtb
+++ b/ui/strings/translations/ui_strings_fil.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{sa loob ng 1 taon}one{sa loob ng # taon}other{sa loob ng # na taon}}</translation>
 <translation id="588258955323874662">Fullscreen</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{1 segundo na lang ang natitira}one{# segundo na lang ang natitira}other{# na segundo na lang ang natitira}}</translation>
-<translation id="5941711191222866238">Minimize</translation>
+<translation id="5941711191222866238">I-minimize</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 oras}one{# oras}other{# na oras}}</translation>
 <translation id="6012623610530968780">Page <ph name="SELECTED_PAGE" /> ng <ph name="TOTAL_PAGE_NUM" /></translation>
 <translation id="6022924867608035986">I-clear ang text sa searchbox</translation>
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">I-save ang File</translation>
 <translation id="6656912866303152668">Tiyaking naka-on sa <ph name="TARGET_DEVICE_NAME" /> ang pag-sync sa Chrome, at pagkatapos ay subukang ipadala ulit.</translation>
 <translation id="6699343763173986273">Susunod na Track ng Media</translation>
-<translation id="6710213216561001401">Nakaraan</translation>
+<translation id="6710213216561001401">Nauna</translation>
 <translation id="6779314412797872738">Para magpadala ng numero sa iyong Android phone mula rito, <ph name="TROUBLESHOOT_LINK" /> para sa parehong device sa mga setting.</translation>
 <translation id="6786750046913594791">Isara ang folder</translation>
 <translation id="6808150112686056157">Media Ihinto</translation>
diff --git a/ui/strings/translations/ui_strings_hu.xtb b/ui/strings/translations/ui_strings_hu.xtb
index f5a58492..a430d77 100644
--- a/ui/strings/translations/ui_strings_hu.xtb
+++ b/ui/strings/translations/ui_strings_hu.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{1 év múlva}other{# év múlva}}</translation>
 <translation id="588258955323874662">Teljes képernyő</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{1 másodperc van hátra}other{# másodperc van hátra}}</translation>
-<translation id="5941711191222866238">Kicsinyítés</translation>
+<translation id="5941711191222866238">Kis méret</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 óra}other{# óra}}</translation>
 <translation id="6012623610530968780"><ph name="TOTAL_PAGE_NUM" />/<ph name="SELECTED_PAGE" />. oldal</translation>
 <translation id="6022924867608035986">A keresőmezőben lévő szöveg törlése</translation>
diff --git a/ui/strings/translations/ui_strings_it.xtb b/ui/strings/translations/ui_strings_it.xtb
index 943959d8..87a2b2d7 100644
--- a/ui/strings/translations/ui_strings_it.xtb
+++ b/ui/strings/translations/ui_strings_it.xtb
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">Salva file</translation>
 <translation id="6656912866303152668">Assicurati che in Chrome sia attiva la sincronizzazione di <ph name="TARGET_DEVICE_NAME" />, quindi riprova a inviare.</translation>
 <translation id="6699343763173986273">Traccia successiva contenuti multimediali</translation>
-<translation id="6710213216561001401">Indietro</translation>
+<translation id="6710213216561001401">Precedente</translation>
 <translation id="6779314412797872738">Per inviare un numero da qui al tuo telefono Android, <ph name="TROUBLESHOOT_LINK" /> per entrambi i dispositivi nelle impostazioni.</translation>
 <translation id="6786750046913594791">Chiudi cartella</translation>
 <translation id="6808150112686056157">Interrompi contenuti multimediali</translation>
diff --git a/ui/strings/translations/ui_strings_iw.xtb b/ui/strings/translations/ui_strings_iw.xtb
index aa0c356c..8de9a7a9 100644
--- a/ui/strings/translations/ui_strings_iw.xtb
+++ b/ui/strings/translations/ui_strings_iw.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{עוד שנה אחת}two{עוד 2 שנים}many{עוד # שנים}other{עוד # שנים}}</translation>
 <translation id="588258955323874662">מסך מלא</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{נותרה שנייה אחת}two{נותרו # שניות}many{נותרו # שניות}other{נותרו # שניות}}</translation>
-<translation id="5941711191222866238">מזער</translation>
+<translation id="5941711191222866238">מזעור</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{שעה אחת}two{שעתיים}many{# שעות}other{# שעות}}</translation>
 <translation id="6012623610530968780">דף <ph name="SELECTED_PAGE" /> מתוך <ph name="TOTAL_PAGE_NUM" /></translation>
 <translation id="6022924867608035986">ניקוי הטקסט בתיבת החיפוש</translation>
diff --git a/ui/strings/translations/ui_strings_kn.xtb b/ui/strings/translations/ui_strings_kn.xtb
index 6b29cd54..b5ade60 100644
--- a/ui/strings/translations/ui_strings_kn.xtb
+++ b/ui/strings/translations/ui_strings_kn.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{1ವ. ದಲ್ಲಿ}one{#ವ. ಗಳಲ್ಲಿ}other{#ವ. ಗಳಲ್ಲಿ}}</translation>
 <translation id="588258955323874662">ಪೂರ್ಣಪರದೆ</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{1 ಸೆಕೆಂಡ್ ಬಾಕಿ ಉಳಿದಿದೆ}one{# ಸೆಕೆಂಡುಗಳು ಬಾಕಿ ಉಳಿದಿವೆ}other{# ಸೆಕೆಂಡುಗಳು ಬಾಕಿ ಉಳಿದಿವೆ}}</translation>
-<translation id="5941711191222866238">ಕುಗ್ಗಿಸು</translation>
+<translation id="5941711191222866238">ಕುಗ್ಗಿಸಿ</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 ಗಂಟೆ}one{# ಗಂಟೆಗಳು}other{# ಗಂಟೆಗಳು}}</translation>
 <translation id="6012623610530968780">ಪುಟ <ph name="SELECTED_PAGE" /> ರಲ್ಲಿ <ph name="TOTAL_PAGE_NUM" /></translation>
 <translation id="6022924867608035986">ಹುಡುಕಾಟ ಬಾಕ್ಸ್ ಪಠ್ಯವನ್ನು ತೆರವುಗೊಳಿಸಿ</translation>
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">ಫೈಲ್ ಉಳಿಸು</translation>
 <translation id="6656912866303152668">Chrome ನಲ್ಲಿ <ph name="TARGET_DEVICE_NAME" /> ಸಾಧನದ ಸಿಂಕ್ ಆನ್ ಆಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ, ತದನಂತರ ಮತ್ತೆ ಕಳುಹಿಸಲು ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="6699343763173986273">ಮೀಡಿಯಾದ ಮುಂದಿನ ಟ್ರ್ಯಾಕ್</translation>
-<translation id="6710213216561001401">ಹಿಂದೆ</translation>
+<translation id="6710213216561001401">ಹಿಂದಿನದು</translation>
 <translation id="6779314412797872738">ಇಲ್ಲಿಂದ ನಿಮ್ಮ Android ಫೋನ್‌ಗೆ ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ಕಳುಹಿಸಲು, ಎರಡೂ ಸಾಧನಗಳಿಗಾಗಿ, ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ <ph name="TROUBLESHOOT_LINK" />.</translation>
 <translation id="6786750046913594791">ಫೋಲ್ಡರ್ ಮುಚ್ಚಿರಿ</translation>
 <translation id="6808150112686056157">ಮೀಡಿಯಾ ನಿಲುಗಡೆ</translation>
diff --git a/ui/strings/translations/ui_strings_lt.xtb b/ui/strings/translations/ui_strings_lt.xtb
index 63e14a5..049539bb 100644
--- a/ui/strings/translations/ui_strings_lt.xtb
+++ b/ui/strings/translations/ui_strings_lt.xtb
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">Išsaugoti failą</translation>
 <translation id="6656912866303152668">Įsitikinkite, kad įrenginio „<ph name="TARGET_DEVICE_NAME" />“ naršyklėje „Chrome“ įjungtas sinchronizavimas, tada bandykite siųsti dar kartą.</translation>
 <translation id="6699343763173986273">Kitas medijos takelis</translation>
-<translation id="6710213216561001401">Ankstesnis</translation>
+<translation id="6710213216561001401">Ankstesnė</translation>
 <translation id="6779314412797872738">Jei norite iš čia į „Android“ telefoną išsiųsti numerį, nustatymuose<ph name="TROUBLESHOOT_LINK" /> abiejuose įrenginiuose.</translation>
 <translation id="6786750046913594791">Uždaryti aplanką</translation>
 <translation id="6808150112686056157">Sustabdyti mediją</translation>
diff --git a/ui/strings/translations/ui_strings_ml.xtb b/ui/strings/translations/ui_strings_ml.xtb
index 4ef345ac..ec82866 100644
--- a/ui/strings/translations/ui_strings_ml.xtb
+++ b/ui/strings/translations/ui_strings_ml.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{ഒരു വർഷത്തിൽ}other{# വർഷത്തിൽ}}</translation>
 <translation id="588258955323874662">പൂര്‍‌ണ്ണസ്‌ക്രീന്‍</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{ഒരു സെക്കൻഡ് ശേഷിക്കുന്നു}other{# സെക്കൻഡ് ശേഷിക്കുന്നു}}</translation>
-<translation id="5941711191222866238">ചെറുതാക്കുക‍</translation>
+<translation id="5941711191222866238">ചെറുതാക്കുക</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{ഒരു മണിക്കൂർ}other{# മണിക്കൂർ}}</translation>
 <translation id="6012623610530968780">പേജ് <ph name="SELECTED_PAGE" /> / <ph name="TOTAL_PAGE_NUM" /></translation>
 <translation id="6022924867608035986">തിരയൽ ബോക്‌സ് ടെക്‌സ്‌റ്റ് മായ്‌ക്കുക</translation>
diff --git a/ui/strings/translations/ui_strings_mr.xtb b/ui/strings/translations/ui_strings_mr.xtb
index 68fd064..3f9a0536 100644
--- a/ui/strings/translations/ui_strings_mr.xtb
+++ b/ui/strings/translations/ui_strings_mr.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{१व मध्ये}other{#व मध्ये}}</translation>
 <translation id="588258955323874662">क्षेत्रे</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{1 सेकंद शिल्लक}other{# सेकंद शिल्लक}}</translation>
-<translation id="5941711191222866238">लहान करा</translation>
+<translation id="5941711191222866238">कमी करा</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 तास}other{# तास}}</translation>
 <translation id="6012623610530968780"><ph name="TOTAL_PAGE_NUM" /> पैकी <ph name="SELECTED_PAGE" /> पेज</translation>
 <translation id="6022924867608035986">शोध बॉक्स मजकूर साफ करा</translation>
diff --git a/ui/strings/translations/ui_strings_pl.xtb b/ui/strings/translations/ui_strings_pl.xtb
index 0dbf9e4aa..91cb8075 100644
--- a/ui/strings/translations/ui_strings_pl.xtb
+++ b/ui/strings/translations/ui_strings_pl.xtb
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">Zapisz plik</translation>
 <translation id="6656912866303152668">Upewnij się, że <ph name="TARGET_DEVICE_NAME" /> ma w Chrome włączoną synchronizację, a potem spróbuj wysłać ponownie.</translation>
 <translation id="6699343763173986273">Następny utwór multimedialny</translation>
-<translation id="6710213216561001401">Wstecz</translation>
+<translation id="6710213216561001401">Poprzedni</translation>
 <translation id="6779314412797872738">Aby przesłać stąd numer na swój telefon z Androidem, <ph name="TROUBLESHOOT_LINK" /> obu urządzeń w ustawieniach.</translation>
 <translation id="6786750046913594791">Zamknij folder</translation>
 <translation id="6808150112686056157">Zatrzymaj multimedia</translation>
diff --git a/ui/strings/translations/ui_strings_sk.xtb b/ui/strings/translations/ui_strings_sk.xtb
index 2b916e70..2c661a5 100644
--- a/ui/strings/translations/ui_strings_sk.xtb
+++ b/ui/strings/translations/ui_strings_sk.xtb
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">Uložiť súbor</translation>
 <translation id="6656912866303152668">Skontrolujte, či má <ph name="TARGET_DEVICE_NAME" /> v Chrome zapnutú synchronizáciu, a skúste to odoslať znova.</translation>
 <translation id="6699343763173986273">Média – ďalšia stopa</translation>
-<translation id="6710213216561001401">Dozadu</translation>
+<translation id="6710213216561001401">Späť</translation>
 <translation id="6779314412797872738">Ak chcete odtiaľto odoslať číslo do telefónu s Androidom, <ph name="TROUBLESHOOT_LINK" /> pre obidve zariadenia v nastaveniach.</translation>
 <translation id="6786750046913594791">Zatvoriť priečinok</translation>
 <translation id="6808150112686056157">Médiá – zastaviť</translation>
diff --git a/ui/strings/translations/ui_strings_sl.xtb b/ui/strings/translations/ui_strings_sl.xtb
index 5d99ba3..ca86f3d 100644
--- a/ui/strings/translations/ui_strings_sl.xtb
+++ b/ui/strings/translations/ui_strings_sl.xtb
@@ -153,7 +153,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{čez 1 l}one{čez # l}two{čez # l}few{čez # l}other{čez # l}}</translation>
 <translation id="588258955323874662">Celozaslonsko</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{Še 1 s}one{Še # s}two{Še # s}few{Še # s}other{Še # s}}</translation>
-<translation id="5941711191222866238">Pomanjšaj</translation>
+<translation id="5941711191222866238">Minimiziraj</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 h}one{# h}two{# h}few{# h}other{# h}}</translation>
 <translation id="6012623610530968780"><ph name="SELECTED_PAGE" />. stran od <ph name="TOTAL_PAGE_NUM" /></translation>
 <translation id="6022924867608035986">Izbris besedila v iskalnem polju</translation>
@@ -184,7 +184,7 @@
 <translation id="6620110761915583480">Shrani datoteko</translation>
 <translation id="6656912866303152668">Poskrbite, da ima naprava <ph name="TARGET_DEVICE_NAME" /> vklopljeno sinhronizacijo v Chromu, nato poskusite poslati znova.</translation>
 <translation id="6699343763173986273">Naslednja skladba</translation>
-<translation id="6710213216561001401">Nazaj</translation>
+<translation id="6710213216561001401">Prejšnji</translation>
 <translation id="6779314412797872738">Če želite poslati številko iz te naprave v telefon Android, v nastavitvah obiščite to povezavo za odpravljanje težav za obe napravi: <ph name="TROUBLESHOOT_LINK" />.</translation>
 <translation id="6786750046913594791">Zapri mapo</translation>
 <translation id="6808150112686056157">Ustavitev</translation>
diff --git a/ui/strings/translations/ui_strings_sr-Latn.xtb b/ui/strings/translations/ui_strings_sr-Latn.xtb
index ffa49b9d..8f0ee63 100644
--- a/ui/strings/translations/ui_strings_sr-Latn.xtb
+++ b/ui/strings/translations/ui_strings_sr-Latn.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{za 1 g}one{za # g}few{za # g}other{za # g}}</translation>
 <translation id="588258955323874662">Ceo ekran</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{Još 1 sekunda}one{Još # sekunda}few{Još # sekunde}other{Još # sekundi}}</translation>
-<translation id="5941711191222866238">Smanji</translation>
+<translation id="5941711191222866238">Umanji</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 sat}one{# sat}few{# sata}other{# sati}}</translation>
 <translation id="6012623610530968780"><ph name="SELECTED_PAGE" />. stranica od <ph name="TOTAL_PAGE_NUM" /></translation>
 <translation id="6022924867608035986">Obrišite tekst iz okvira za pretragu</translation>
diff --git a/ui/strings/translations/ui_strings_sr.xtb b/ui/strings/translations/ui_strings_sr.xtb
index e85936ea..2e62f688 100644
--- a/ui/strings/translations/ui_strings_sr.xtb
+++ b/ui/strings/translations/ui_strings_sr.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{за 1 г}one{за # г}few{за # г}other{за # г}}</translation>
 <translation id="588258955323874662">Цеo екран</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{Још 1 секунда}one{Још # секунда}few{Још # секунде}other{Још # секунди}}</translation>
-<translation id="5941711191222866238">Смањи</translation>
+<translation id="5941711191222866238">Умањи</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 сат}one{# сат}few{# сата}other{# сати}}</translation>
 <translation id="6012623610530968780"><ph name="SELECTED_PAGE" />. страница од <ph name="TOTAL_PAGE_NUM" /></translation>
 <translation id="6022924867608035986">Обришите текст из оквира за претрагу</translation>
diff --git a/ui/strings/translations/ui_strings_sw.xtb b/ui/strings/translations/ui_strings_sw.xtb
index dff5155..fbb9b342 100644
--- a/ui/strings/translations/ui_strings_sw.xtb
+++ b/ui/strings/translations/ui_strings_sw.xtb
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">Hifadhi Faili</translation>
 <translation id="6656912866303152668">Hakikisha kwamba umewasha kipengele cha usawazishaji katika <ph name="TARGET_DEVICE_NAME" /> kwenye Chrome kisha ujaribu kutuma tena.</translation>
 <translation id="6699343763173986273">Wimbo Unaofuata kwenye Media</translation>
-<translation id="6710213216561001401">Iliyotangulia</translation>
+<translation id="6710213216561001401">Iliyopita</translation>
 <translation id="6779314412797872738">Ili utume nambari kutoka hapa hadi kwenye simu yako ya Android, <ph name="TROUBLESHOOT_LINK" /> kwenye vifaa vyote viwili katika mipangilio.</translation>
 <translation id="6786750046913594791">Funga Folda</translation>
 <translation id="6808150112686056157">Simamisha Media</translation>
diff --git a/ui/strings/translations/ui_strings_th.xtb b/ui/strings/translations/ui_strings_th.xtb
index 7e27576..34a0fa35 100644
--- a/ui/strings/translations/ui_strings_th.xtb
+++ b/ui/strings/translations/ui_strings_th.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{ใน 1 ปี}other{ใน # ปี}}</translation>
 <translation id="588258955323874662">เต็มหน้าจอ</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{เหลือ 1 วินาที}other{เหลือ # วินาที}}</translation>
-<translation id="5941711191222866238">ย่อ</translation>
+<translation id="5941711191222866238">ย่อเล็กสุด</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 ชั่วโมง}other{# ชั่วโมง}}</translation>
 <translation id="6012623610530968780">หน้า <ph name="SELECTED_PAGE" /> จาก <ph name="TOTAL_PAGE_NUM" /></translation>
 <translation id="6022924867608035986">ล้างข้อความในช่องค้นหา</translation>
diff --git a/ui/strings/translations/ui_strings_tr.xtb b/ui/strings/translations/ui_strings_tr.xtb
index d511b14..69f2499 100644
--- a/ui/strings/translations/ui_strings_tr.xtb
+++ b/ui/strings/translations/ui_strings_tr.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{1 yıl içinde}other{# yıl içinde}}</translation>
 <translation id="588258955323874662">Tam ekran</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{1 saniye kaldı}other{# saniye kaldı}}</translation>
-<translation id="5941711191222866238">Simge durumuna küçült</translation>
+<translation id="5941711191222866238">Küçült</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 saat}other{# saat}}</translation>
 <translation id="6012623610530968780">Sayfa <ph name="SELECTED_PAGE" />/<ph name="TOTAL_PAGE_NUM" /></translation>
 <translation id="6022924867608035986">Arama kutusu metnini temizle</translation>
diff --git a/ui/strings/translations/ui_strings_uk.xtb b/ui/strings/translations/ui_strings_uk.xtb
index db7960c..4df93d2 100644
--- a/ui/strings/translations/ui_strings_uk.xtb
+++ b/ui/strings/translations/ui_strings_uk.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{через 1 р.}one{через # р.}few{через # р.}many{через # р.}other{через # р.}}</translation>
 <translation id="588258955323874662">Повноекранний режим</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{Залишилась 1 секунда}one{Залишилася # секунда}few{Залишилося # секунди}many{Залишилося # секунд}other{Залишилося # секунди}}</translation>
-<translation id="5941711191222866238">Зменшити</translation>
+<translation id="5941711191222866238">Згорнути</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 година}one{# година}few{# години}many{# годин}other{# години}}</translation>
 <translation id="6012623610530968780">Сторінка <ph name="SELECTED_PAGE" /> з <ph name="TOTAL_PAGE_NUM" /></translation>
 <translation id="6022924867608035986">Очистити вікно пошуку</translation>
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">Зберегти файл</translation>
 <translation id="6656912866303152668">Переконайтеся, що на пристрої<ph name="TARGET_DEVICE_NAME" /> увімкнено синхронізацію в Chrome, а потім спробуйте надіслати знову.</translation>
 <translation id="6699343763173986273">Наступна композиція</translation>
-<translation id="6710213216561001401">Попереднє</translation>
+<translation id="6710213216561001401">Назад</translation>
 <translation id="6779314412797872738">Щоб надіслати номер на телефон Android, <ph name="TROUBLESHOOT_LINK" /> для обох пристроїв у налаштуваннях.</translation>
 <translation id="6786750046913594791">Закрити папку</translation>
 <translation id="6808150112686056157">Зупинити</translation>
diff --git a/ui/strings/translations/ui_strings_vi.xtb b/ui/strings/translations/ui_strings_vi.xtb
index 975f446..29ca547 100644
--- a/ui/strings/translations/ui_strings_vi.xtb
+++ b/ui/strings/translations/ui_strings_vi.xtb
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">Lưu Tệp</translation>
 <translation id="6656912866303152668">Đảm bảo bạn đã bật tính năng đồng bộ hóa của <ph name="TARGET_DEVICE_NAME" /> trong Chrome, rồi thử gửi lại.</translation>
 <translation id="6699343763173986273">Bản nhạc tiếp theo của trình phát phương tiện</translation>
-<translation id="6710213216561001401">Trước đó</translation>
+<translation id="6710213216561001401">Trước</translation>
 <translation id="6779314412797872738">Để chuyển một số điện thoại từ đây sang điện thoại Android, hãy <ph name="TROUBLESHOOT_LINK" /> cho cả hai thiết bị trong phần cài đặt.</translation>
 <translation id="6786750046913594791">Đóng thư mục</translation>
 <translation id="6808150112686056157">Dừng trình phát phương tiện</translation>
diff --git a/ui/strings/translations/ui_strings_zh-CN.xtb b/ui/strings/translations/ui_strings_zh-CN.xtb
index 43b9537e..4eea1f1 100644
--- a/ui/strings/translations/ui_strings_zh-CN.xtb
+++ b/ui/strings/translations/ui_strings_zh-CN.xtb
@@ -185,7 +185,7 @@
 <translation id="6620110761915583480">保存文件</translation>
 <translation id="6656912866303152668">请确保 <ph name="TARGET_DEVICE_NAME" /> 已在 Chrome 中开启同步,然后再次尝试发送。</translation>
 <translation id="6699343763173986273">媒体下一曲</translation>
-<translation id="6710213216561001401">上一个</translation>
+<translation id="6710213216561001401">上一项</translation>
 <translation id="6779314412797872738">要在此处向您的 Android 手机发送电话号码,请在这两台设备的设置中<ph name="TROUBLESHOOT_LINK" />。</translation>
 <translation id="6786750046913594791">关闭文件夹</translation>
 <translation id="6808150112686056157">媒体停止</translation>
diff --git a/ui/strings/translations/ui_strings_zh-TW.xtb b/ui/strings/translations/ui_strings_zh-TW.xtb
index 5f56567..c262602 100644
--- a/ui/strings/translations/ui_strings_zh-TW.xtb
+++ b/ui/strings/translations/ui_strings_zh-TW.xtb
@@ -154,7 +154,7 @@
 <translation id="5866104238061687188">{YEARS,plural, =1{1 年內}other{# 年內}}</translation>
 <translation id="588258955323874662">全螢幕</translation>
 <translation id="5906667377645263094">{SECONDS,plural, =1{還剩 1 秒}other{還剩 # 秒}}</translation>
-<translation id="5941711191222866238">縮到最小</translation>
+<translation id="5941711191222866238">最小化</translation>
 <translation id="5943826764092288734">{HOURS,plural, =1{1 小時}other{# 小時}}</translation>
 <translation id="6012623610530968780">第 <ph name="SELECTED_PAGE" /> 頁 (共 <ph name="TOTAL_PAGE_NUM" /> 頁)</translation>
 <translation id="6022924867608035986">清除搜尋框文字</translation>
diff --git a/ui/views/controls/native/native_view_host_aura.cc b/ui/views/controls/native/native_view_host_aura.cc
index 2223f6e3..e559c3a 100644
--- a/ui/views/controls/native/native_view_host_aura.cc
+++ b/ui/views/controls/native/native_view_host_aura.cc
@@ -161,18 +161,12 @@
 }
 
 bool NativeViewHostAura::SetCustomMask(std::unique_ptr<ui::LayerOwner> mask) {
-#if defined(OS_WIN)
-  // TODO(crbug/843250): On Aura, layer masks don't play with HiDPI. Fix this
-  // and enable this on Windows.
-  return false;
-#else
   UninstallMask();
   mask_ = std::move(mask);
   if (mask_)
     mask_->layer()->SetFillsBoundsOpaquely(false);
   InstallMask();
   return true;
-#endif
 }
 
 void NativeViewHostAura::SetHitTestTopInset(int top_inset) {
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_linux_interactive_uitest.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_linux_interactive_uitest.cc
index 1a917b6..dec5e0a6 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_linux_interactive_uitest.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_linux_interactive_uitest.cc
@@ -525,6 +525,9 @@
 // Chrome even if it not possible to deactivate the window wrt to the x server.
 // This behavior is required by several interactive_ui_tests.
 TEST_F(DesktopWindowTreeHostLinuxTest, Deactivate) {
+  // TODO(1109112): enable this test.
+  if (features::IsUsingOzonePlatform())
+    GTEST_SKIP();
   std::unique_ptr<Widget> widget(CreateWidget(gfx::Rect(100, 100, 100, 100)));
 
   ActivationWaiter waiter(static_cast<x11::Window>(
@@ -550,6 +553,9 @@
 // Chrome synchronously switches the window that mouse events are forwarded to
 // when capture is changed.
 TEST_F(DesktopWindowTreeHostLinuxTest, CaptureEventForwarding) {
+  // TODO(1109112): enable this test.
+  if (features::IsUsingOzonePlatform())
+    GTEST_SKIP();
   std::unique_ptr<Widget> widget1(CreateWidget(gfx::Rect(100, 100, 100, 100)));
   aura::Window* window1 = widget1->GetNativeWindow();
   DesktopWindowTreeHostLinux* host1 =
@@ -624,6 +630,9 @@
 }
 
 TEST_F(DesktopWindowTreeHostLinuxTest, InputMethodFocus) {
+  // TODO(1109112): enable this test.
+  if (features::IsUsingOzonePlatform())
+    GTEST_SKIP();
   std::unique_ptr<Widget> widget(CreateWidget(gfx::Rect(100, 100, 100, 100)));
 
   // Waiter should be created as early as possible so that PropertyNotify has
diff --git a/ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc b/ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc
index 55259bd..8f83133 100644
--- a/ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc
+++ b/ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc
@@ -11,28 +11,107 @@
 #include <vector>
 
 #include "base/stl_util.h"
+#include "base/test/task_environment.h"
+#include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/skia/include/core/SkRect.h"
-#include "ui/aura/window.h"
-#include "ui/aura/window_tree_host.h"
+#include "third_party/skia/include/core/SkRegion.h"
 #include "ui/base/x/test/x11_property_change_waiter.h"
 #include "ui/base/x/x11_util.h"
 #include "ui/events/platform/x11/x11_event_source.h"
+#include "ui/events/x/x11_window_event_manager.h"
 #include "ui/gfx/native_widget_types.h"
+#include "ui/gfx/transform.h"
 #include "ui/gfx/x/connection.h"
 #include "ui/gfx/x/event.h"
 #include "ui/gfx/x/shape.h"
 #include "ui/gfx/x/x11.h"
 #include "ui/gfx/x/x11_atom_cache.h"
 #include "ui/gfx/x/x11_path.h"
-#include "ui/views/test/widget_test.h"
-#include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h"
-#include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
-#include "ui/views/widget/widget.h"
+#include "ui/platform_window/x11/x11_window.h"
+#include "ui/platform_window/x11/x11_window_manager.h"
 
 namespace views {
 
 namespace {
 
+// Waits until the |x11_window| is mapped and becomes viewable.
+class X11VisibilityWaiter : public ui::XEventDispatcher {
+ public:
+  X11VisibilityWaiter() = default;
+  X11VisibilityWaiter(const X11VisibilityWaiter&) = delete;
+  X11VisibilityWaiter& operator=(const X11VisibilityWaiter&) = delete;
+  ~X11VisibilityWaiter() override = default;
+
+  void WaitUntilWindowIsVisible(x11::Window x11_window) {
+    if (ui::IsWindowVisible(x11_window))
+      return;
+
+    auto events = std::make_unique<ui::XScopedEventSelector>(
+        x11_window, StructureNotifyMask | SubstructureNotifyMask);
+    x11_window_ = x11_window;
+
+    dispatcher_ =
+        ui::X11EventSource::GetInstance()->OverrideXEventDispatcher(this);
+
+    base::RunLoop run_loop;
+    quit_closure_ = run_loop.QuitClosure();
+    run_loop.Run();
+  }
+
+ private:
+  // XEventDispatcher:
+  bool DispatchXEvent(x11::Event* event) override {
+    auto* map = event->As<x11::MapNotifyEvent>();
+    if (map && map->window == x11_window_) {
+      if (!quit_closure_.is_null())
+        std::move(quit_closure_).Run();
+      dispatcher_.reset();
+      return true;
+    }
+    return false;
+  }
+
+  x11::Window x11_window_;
+  std::unique_ptr<ui::ScopedXEventDispatcher> dispatcher_;
+  // Ends the run loop.
+  base::OnceClosure quit_closure_;
+};
+
+class TestPlatformWindowDelegate : public ui::PlatformWindowDelegate {
+ public:
+  TestPlatformWindowDelegate() = default;
+  TestPlatformWindowDelegate(const TestPlatformWindowDelegate&) = delete;
+  TestPlatformWindowDelegate& operator=(const TestPlatformWindowDelegate&) =
+      delete;
+  ~TestPlatformWindowDelegate() override = default;
+
+  ui::PlatformWindowState state() { return state_; }
+
+  // PlatformWindowDelegate:
+  void OnBoundsChanged(const gfx::Rect& new_bounds) override {}
+  void OnDamageRect(const gfx::Rect& damaged_region) override {}
+  void DispatchEvent(ui::Event* event) override {}
+  void OnCloseRequest() override {}
+  void OnClosed() override {}
+  void OnWindowStateChanged(ui::PlatformWindowState new_state) override {
+    state_ = new_state;
+  }
+  void OnLostCapture() override {}
+  void OnAcceleratedWidgetAvailable(gfx::AcceleratedWidget widget) override {
+    widget_ = widget;
+  }
+  void OnWillDestroyAcceleratedWidget() override {}
+  void OnAcceleratedWidgetDestroyed() override {
+    widget_ = gfx::kNullAcceleratedWidget;
+  }
+  void OnActivationChanged(bool active) override {}
+  void OnMouseEnter() override {}
+
+ private:
+  gfx::AcceleratedWidget widget_ = gfx::kNullAcceleratedWidget;
+  ui::PlatformWindowState state_ = ui::PlatformWindowState::kUnknown;
+};
+
 // Waits till |window| is minimized.
 class MinimizeWaiter : public ui::X11PropertyChangeWaiter {
  public:
@@ -92,36 +171,44 @@
 
 }  // namespace
 
-class X11TopmostWindowFinderTest : public test::DesktopWidgetTestInteractive {
+class X11TopmostWindowFinderTest : public testing::Test {
  public:
-  X11TopmostWindowFinderTest() = default;
+  X11TopmostWindowFinderTest()
+      : task_env_(base::test::TaskEnvironment::MainThreadType::UI) {}
   ~X11TopmostWindowFinderTest() override = default;
 
   // DesktopWidgetTestInteractive
   void SetUp() override {
+    auto* connection = x11::Connection::Get();
+    event_source_ = std::make_unique<ui::X11EventSource>(connection);
+
     // Make X11 synchronous for our display connection. This does not force the
     // window manager to behave synchronously.
     XSynchronize(xdisplay(), x11::True);
-    DesktopWidgetTestInteractive::SetUp();
   }
 
   void TearDown() override {
     XSynchronize(xdisplay(), x11::False);
-    DesktopWidgetTestInteractive::TearDown();
   }
 
-  // Creates and shows a Widget with |bounds|. The caller takes ownership of
-  // the returned widget.
-  std::unique_ptr<Widget> CreateAndShowWidget(const gfx::Rect& bounds) {
-    std::unique_ptr<Widget> toplevel(new Widget);
-    Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_WINDOW);
-    params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
-    params.native_widget = new DesktopNativeWidgetAura(toplevel.get());
-    params.bounds = bounds;
-    params.remove_standard_frame = true;
-    toplevel->Init(std::move(params));
-    toplevel->Show();
-    return toplevel;
+  // Creates and shows an X11Window with |bounds|. The caller takes ownership of
+  // the returned window.
+  std::unique_ptr<ui::X11Window> CreateAndShowX11Window(
+      ui::PlatformWindowDelegate* delegate,
+      const gfx::Rect& bounds) {
+    ui::PlatformWindowInitProperties init_params(bounds);
+    init_params.remove_standard_frame = true;
+    auto window = std::make_unique<ui::X11Window>(delegate);
+    window->Initialize(std::move(init_params));
+    window->Show(false);
+
+    // Wait until the window becomes visible so that window finder doesn't skip
+    // these windows (it's required to wait because mapping and searching for
+    // toplevel window is a subject to races).
+    X11VisibilityWaiter waiter;
+    waiter.WaitUntilWindowIsVisible(
+        static_cast<x11::Window>(window->GetWidget()));
+    return window;
   }
 
   // Creates and shows an X window with |bounds|.
@@ -135,6 +222,11 @@
 
     ui::SetUseOSWindowFrame(window, false);
     ShowAndSetXWindowBounds(window, bounds);
+    // Wait until the window becomes visible so that window finder doesn't skip
+    // these windows (it's required to wait because mapping and searching for
+    // toplevel window is a subject to races).
+    X11VisibilityWaiter waiter;
+    waiter.WaitUntilWindowIsVisible(static_cast<x11::Window>(window));
     return window;
   }
 
@@ -159,38 +251,40 @@
     return finder.FindWindowAt(gfx::Point(screen_x, screen_y));
   }
 
-  // Returns the topmost aura::Window at the passed in screen position. Returns
-  // NULL if the topmost window does not have an associated aura::Window.
-  aura::Window* FindTopmostLocalProcessWindowAt(int screen_x, int screen_y) {
+  // Returns the topmost ui::X11Window at the passed in screen position. Returns
+  // nullptr if the topmost window does not have an associated ui::X11Window.
+  ui::X11Window* FindTopmostLocalProcessWindowAt(int screen_x, int screen_y) {
     ui::X11TopmostWindowFinder finder;
-    auto widget = static_cast<gfx::AcceleratedWidget>(
-        finder.FindLocalProcessWindowAt(gfx::Point(screen_x, screen_y), {}));
-    return widget != gfx::kNullAcceleratedWidget
-               ? DesktopWindowTreeHostPlatform::GetContentWindowForWidget(
-                     widget)
-               : nullptr;
+    auto x11_window =
+        finder.FindLocalProcessWindowAt(gfx::Point(screen_x, screen_y), {});
+    return x11_window == x11::Window::None
+               ? nullptr
+               : ui::X11WindowManager::GetInstance()->GetWindow(
+                     static_cast<gfx::AcceleratedWidget>(x11_window));
   }
 
-  // Returns the topmost aura::Window at the passed in screen position ignoring
-  // |ignore_window|. Returns NULL if the topmost window does not have an
-  // associated aura::Window.
-  aura::Window* FindTopmostLocalProcessWindowWithIgnore(
+  // Returns the topmost ui::X11Window at the passed in screen position ignoring
+  // |ignore_window|. Returns nullptr if the topmost window does not have an
+  // associated ui::X11Window.
+  ui::X11Window* FindTopmostLocalProcessWindowWithIgnore(
       int screen_x,
       int screen_y,
-      aura::Window* ignore_window) {
+      x11::Window ignore_window) {
     std::set<gfx::AcceleratedWidget> ignore;
-    ignore.insert(ignore_window->GetHost()->GetAcceleratedWidget());
+    ignore.insert(static_cast<gfx::AcceleratedWidget>(ignore_window));
     ui::X11TopmostWindowFinder finder;
-    auto widget =
-        static_cast<gfx::AcceleratedWidget>(finder.FindLocalProcessWindowAt(
-            gfx::Point(screen_x, screen_y), ignore));
-    return widget != gfx::kNullAcceleratedWidget
-               ? DesktopWindowTreeHostPlatform::GetContentWindowForWidget(
-                     widget)
-               : nullptr;
+    auto x11_window =
+        finder.FindLocalProcessWindowAt(gfx::Point(screen_x, screen_y), ignore);
+    return x11_window == x11::Window::None
+               ? nullptr
+               : ui::X11WindowManager::GetInstance()->GetWindow(
+                     static_cast<gfx::AcceleratedWidget>(x11_window));
   }
 
  private:
+  base::test::TaskEnvironment task_env_;
+  std::unique_ptr<ui::X11EventSource> event_source_;
+
   DISALLOW_COPY_AND_ASSIGN(X11TopmostWindowFinderTest);
 };
 
@@ -198,19 +292,16 @@
   // Avoid positioning test windows at 0x0 because window managers often have a
   // panel/launcher along one of the screen edges and do not allow windows to
   // position themselves to overlap the panel/launcher.
-  std::unique_ptr<Widget> widget1(
-      CreateAndShowWidget(gfx::Rect(100, 100, 200, 100)));
-  aura::Window* window1 = widget1->GetNativeWindow();
-  x11::Window x11_window1 =
-      static_cast<x11::Window>(window1->GetHost()->GetAcceleratedWidget());
+  TestPlatformWindowDelegate delegate;
+  auto window1 = CreateAndShowX11Window(&delegate, {100, 100, 200, 100});
+  auto x11_window1 = static_cast<x11::Window>(window1->GetWidget());
 
   x11::Window x11_window2 = CreateAndShowXWindow(gfx::Rect(200, 100, 100, 200));
 
-  std::unique_ptr<Widget> widget3(
-      CreateAndShowWidget(gfx::Rect(100, 190, 200, 110)));
-  aura::Window* window3 = widget3->GetNativeWindow();
-  x11::Window x11_window3 =
-      static_cast<x11::Window>(window3->GetHost()->GetAcceleratedWidget());
+  TestPlatformWindowDelegate delegate2;
+  auto window3 = CreateAndShowX11Window(&delegate2, {100, 190, 200, 110});
+  window3->Show(false);
+  auto x11_window3 = static_cast<x11::Window>(window3->GetWidget());
 
   x11::Window windows[] = {x11_window1, x11_window2, x11_window3};
   StackingClientListWaiter waiter(windows, base::size(windows));
@@ -218,42 +309,41 @@
   ui::X11EventSource::GetInstance()->DispatchXEvents();
 
   EXPECT_EQ(x11_window1, FindTopmostXWindowAt(150, 150));
-  EXPECT_EQ(window1, FindTopmostLocalProcessWindowAt(150, 150));
+  EXPECT_EQ(window1.get(), FindTopmostLocalProcessWindowAt(150, 150));
 
   EXPECT_EQ(x11_window2, FindTopmostXWindowAt(250, 150));
   EXPECT_FALSE(FindTopmostLocalProcessWindowAt(250, 150));
 
   EXPECT_EQ(x11_window3, FindTopmostXWindowAt(250, 250));
-  EXPECT_EQ(window3, FindTopmostLocalProcessWindowAt(250, 250));
+  EXPECT_EQ(window3.get(), FindTopmostLocalProcessWindowAt(250, 250));
 
   EXPECT_EQ(x11_window3, FindTopmostXWindowAt(150, 250));
-  EXPECT_EQ(window3, FindTopmostLocalProcessWindowAt(150, 250));
+  EXPECT_EQ(window3.get(), FindTopmostLocalProcessWindowAt(150, 250));
 
   EXPECT_EQ(x11_window3, FindTopmostXWindowAt(150, 195));
-  EXPECT_EQ(window3, FindTopmostLocalProcessWindowAt(150, 195));
+  EXPECT_EQ(window3.get(), FindTopmostLocalProcessWindowAt(150, 195));
 
   EXPECT_NE(x11_window1, FindTopmostXWindowAt(1000, 1000));
   EXPECT_NE(x11_window2, FindTopmostXWindowAt(1000, 1000));
   EXPECT_NE(x11_window3, FindTopmostXWindowAt(1000, 1000));
   EXPECT_FALSE(FindTopmostLocalProcessWindowAt(1000, 1000));
 
-  EXPECT_EQ(window1,
-            FindTopmostLocalProcessWindowWithIgnore(150, 150, window3));
-  EXPECT_FALSE(FindTopmostLocalProcessWindowWithIgnore(250, 250, window3));
-  EXPECT_FALSE(FindTopmostLocalProcessWindowWithIgnore(150, 250, window3));
-  EXPECT_EQ(window1,
-            FindTopmostLocalProcessWindowWithIgnore(150, 195, window3));
+  EXPECT_EQ(window1.get(),
+            FindTopmostLocalProcessWindowWithIgnore(150, 150, x11_window3));
+  EXPECT_FALSE(FindTopmostLocalProcessWindowWithIgnore(250, 250, x11_window3));
+  EXPECT_FALSE(FindTopmostLocalProcessWindowWithIgnore(150, 250, x11_window3));
+  EXPECT_EQ(window1.get(),
+            FindTopmostLocalProcessWindowWithIgnore(150, 195, x11_window3));
 
   XDestroyWindow(xdisplay(), static_cast<uint32_t>(x11_window2));
 }
 
 // Test that the minimized state is properly handled.
 TEST_F(X11TopmostWindowFinderTest, Minimized) {
-  std::unique_ptr<Widget> widget1(
-      CreateAndShowWidget(gfx::Rect(100, 100, 100, 100)));
-  aura::Window* window1 = widget1->GetNativeWindow();
-  x11::Window x11_window1 =
-      static_cast<x11::Window>(window1->GetHost()->GetAcceleratedWidget());
+  TestPlatformWindowDelegate delegate;
+  auto window1 = CreateAndShowX11Window(&delegate, {100, 100, 100, 100});
+  auto x11_window1 = static_cast<x11::Window>(window1->GetWidget());
+
   x11::Window x11_window2 = CreateAndShowXWindow(gfx::Rect(300, 100, 100, 100));
 
   x11::Window windows[] = {x11_window1, x11_window2};
@@ -289,14 +379,16 @@
   if (!ui::IsShapeExtensionAvailable())
     return;
 
-  std::unique_ptr<Widget> widget1(
-      CreateAndShowWidget(gfx::Rect(100, 100, 100, 100)));
-  x11::Window window1 = static_cast<x11::Window>(
-      widget1->GetNativeWindow()->GetHost()->GetAcceleratedWidget());
-  auto shape1 = std::make_unique<Widget::ShapeRects>();
+  TestPlatformWindowDelegate delegate;
+  auto x11_window1 = CreateAndShowX11Window(&delegate, {100, 100, 100, 100});
+  auto window1 = static_cast<x11::Window>(x11_window1->GetWidget());
+
+  auto shape1 = std::make_unique<std::vector<gfx::Rect>>();
   shape1->emplace_back(0, 10, 10, 90);
   shape1->emplace_back(10, 0, 90, 100);
-  widget1->SetShape(std::move(shape1));
+  gfx::Transform transform;
+  transform.Scale(1.0f, 1.0f);
+  x11_window1->SetShape(std::move(shape1), transform);
 
   SkRegion skregion2;
   skregion2.op(SkIRect::MakeXYWH(0, 10, 10, 90), SkRegion::kUnion_Op);
@@ -333,14 +425,15 @@
   if (!ui::IsShapeExtensionAvailable())
     return;
 
-  std::unique_ptr<Widget> widget1(
-      CreateAndShowWidget(gfx::Rect(100, 100, 100, 100)));
-  x11::Window window1 = static_cast<x11::Window>(
-      widget1->GetNativeWindow()->GetHost()->GetAcceleratedWidget());
-  auto shape1 = std::make_unique<Widget::ShapeRects>();
+  TestPlatformWindowDelegate delegate;
+  auto x11_window1 = CreateAndShowX11Window(&delegate, {100, 100, 100, 100});
+  auto window1 = static_cast<x11::Window>(x11_window1->GetWidget());
+
+  auto shape1 = std::make_unique<std::vector<gfx::Rect>>();
   shape1->emplace_back();
-  // Widget takes ownership of |shape1|.
-  widget1->SetShape(std::move(shape1));
+  gfx::Transform transform;
+  transform.Scale(1.0f, 1.0f);
+  x11_window1->SetShape(std::move(shape1), transform);
 
   x11::Window windows[] = {window1};
   StackingClientListWaiter stack_waiter(windows, base::size(windows));
@@ -355,16 +448,18 @@
   if (!ui::IsShapeExtensionAvailable())
     return;
 
-  std::unique_ptr<Widget> widget1(
-      CreateAndShowWidget(gfx::Rect(100, 100, 100, 100)));
-  x11::Window window1 = static_cast<x11::Window>(
-      widget1->GetNativeWindow()->GetHost()->GetAcceleratedWidget());
-  auto shape1 = std::make_unique<Widget::ShapeRects>();
+  TestPlatformWindowDelegate delegate;
+  auto x11_window1 = CreateAndShowX11Window(&delegate, {100, 100, 100, 100});
+  auto window1 = static_cast<x11::Window>(x11_window1->GetWidget());
+
+  auto shape1 = std::make_unique<std::vector<gfx::Rect>>();
   shape1->emplace_back();
-  widget1->SetShape(std::move(shape1));
+  gfx::Transform transform;
+  transform.Scale(1.0f, 1.0f);
+  x11_window1->SetShape(std::move(shape1), transform);
 
   // Remove the shape - this is now just a normal window.
-  widget1->SetShape(nullptr);
+  x11_window1->SetShape(nullptr, transform);
 
   x11::Window windows[] = {window1};
   StackingClientListWaiter stack_waiter(windows, base::size(windows));
diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc
index f025085..39d7acd 100644
--- a/ui/views/widget/widget.cc
+++ b/ui/views/widget/widget.cc
@@ -1599,22 +1599,17 @@
   // a window is restored from maximized state, so we can't more accurately
   // track maximized state independently of sizing information.
 
-  // Restore the window's placement from the controller.
-  if (widget_delegate_->GetSavedWindowPlacement(this, bounds, show_state)) {
-    if (!widget_delegate_->ShouldRestoreWindowSize()) {
-      bounds->set_size(non_client_view_->GetPreferredSize());
-    } else {
-      gfx::Size minimum_size = GetMinimumSize();
-      // Make sure the bounds are at least the minimum size.
-      if (bounds->width() < minimum_size.width())
-        bounds->set_width(minimum_size.width());
+  if (!widget_delegate_->GetSavedWindowPlacement(this, bounds, show_state))
+    return false;
 
-      if (bounds->height() < minimum_size.height())
-        bounds->set_height(minimum_size.height());
-    }
-    return true;
-  }
-  return false;
+  gfx::Size minimum_size = GetMinimumSize();
+  // Make sure the bounds are at least the minimum size.
+  if (bounds->width() < minimum_size.width())
+    bounds->set_width(minimum_size.width());
+
+  if (bounds->height() < minimum_size.height())
+    bounds->set_height(minimum_size.height());
+  return true;
 }
 
 const View::Views& Widget::GetViewsWithLayers() {
diff --git a/ui/views/widget/widget_delegate.cc b/ui/views/widget/widget_delegate.cc
index dc582b8..efc505a 100644
--- a/ui/views/widget/widget_delegate.cc
+++ b/ui/views/widget/widget_delegate.cc
@@ -153,10 +153,6 @@
   return display.bounds().Intersects(*bounds);
 }
 
-bool WidgetDelegate::ShouldRestoreWindowSize() const {
-  return true;
-}
-
 void WidgetDelegate::WidgetInitializing(Widget* widget) {
   widget_ = widget;
   OnWidgetInitializing();
diff --git a/ui/views/widget/widget_delegate.h b/ui/views/widget/widget_delegate.h
index fdf697d..4c36e367 100644
--- a/ui/views/widget/widget_delegate.h
+++ b/ui/views/widget/widget_delegate.h
@@ -178,12 +178,6 @@
                                        gfx::Rect* bounds,
                                        ui::WindowShowState* show_state) const;
 
-  // Returns true if the window's size should be restored. If this is false,
-  // only the window's origin is restored and the window is given its
-  // preferred size.
-  // Default is true.
-  virtual bool ShouldRestoreWindowSize() const;
-
   // Hooks for the end of the Widget/Window lifecycle. As of this writing, these
   // callbacks happen like so:
   //   1. Client code calls Widget::CloseWithReason()
diff --git a/ui/webui/resources/cr_components/chromeos/network/BUILD.gn b/ui/webui/resources/cr_components/chromeos/network/BUILD.gn
index 57abd5f..6d28055 100644
--- a/ui/webui/resources/cr_components/chromeos/network/BUILD.gn
+++ b/ui/webui/resources/cr_components/chromeos/network/BUILD.gn
@@ -83,8 +83,11 @@
     "//ui/webui/resources/js:assert",
     "//ui/webui/resources/js:i18n_behavior",
   ]
-  externs_list = chrome_extension_public_externs +
-                 [ "$externs_path/networking_private.js" ]
+  externs_list = [
+    # TODO(crbug/1081815): Use autogenerated files instead of chrome_extensions
+    "$externs_path/chrome_extensions.js",
+    "$externs_path/networking_private.js",
+  ]
   extra_sources = [ "$interfaces_path/networking_private_interface.js" ]
 }
 
@@ -268,7 +271,7 @@
 
     #  ":network_nameservers.m",
     ":network_password_input.m",
-    #  ":network_property_list_mojo.m",
+    ":network_property_list_mojo.m",
     #  ":network_proxy.m",
     #  ":network_proxy_exclusions.m",
     #  ":network_proxy_input.m",
@@ -439,7 +442,12 @@
 js_library("network_property_list_mojo.m") {
   sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/network/network_property_list_mojo.m.js" ]
   deps = [
-    # TODO: Fill those in.
+    ":cr_policy_network_behavior_mojo.m",
+    ":cr_policy_network_indicator_mojo.m",
+    ":network_shared_css.m",
+    ":onc_mojo.m",
+    "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
+    "//ui/webui/resources/js:assert.m",
   ]
   extra_deps = [ ":network_property_list_mojo_module" ]
 }
@@ -627,6 +635,7 @@
   js_file = "network_property_list_mojo.js"
   html_file = "network_property_list_mojo.html"
   html_type = "dom-module"
+  auto_imports = cr_components_chromeos_auto_imports
 }
 
 polymer_modulizer("network_proxy_exclusions") {
diff --git a/ui/webui/resources/cr_components/chromeos/network/network_property_list_mojo.html b/ui/webui/resources/cr_components/chromeos/network/network_property_list_mojo.html
index a982414f..c90ef7e8 100644
--- a/ui/webui/resources/cr_components/chromeos/network/network_property_list_mojo.html
+++ b/ui/webui/resources/cr_components/chromeos/network/network_property_list_mojo.html
@@ -1,5 +1,6 @@
 <link rel="import" href="../../../html/polymer.html">
 
+<link rel="import" href="chrome://resources/html/assert.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
 <link rel="import" href="../../../cr_elements/cr_input/cr_input.html">
 <link rel="import" href="../../../cr_elements/shared_style_css.html">
@@ -7,6 +8,7 @@
 <link rel="import" href="cr_policy_network_behavior_mojo.html">
 <link rel="import" href="cr_policy_network_indicator_mojo.html">
 <link rel="import" href="network_shared_css.html">
+<link rel="import" href="onc_mojo.html">
 
 <dom-module id="network-property-list-mojo">
   <template>
diff --git a/ui/webui/resources/cr_components/chromeos/network/network_property_list_mojo.js b/ui/webui/resources/cr_components/chromeos/network/network_property_list_mojo.js
index b9f0588..13760bc 100644
--- a/ui/webui/resources/cr_components/chromeos/network/network_property_list_mojo.js
+++ b/ui/webui/resources/cr_components/chromeos/network/network_property_list_mojo.js
@@ -7,9 +7,6 @@
  * in a list. This also supports editing fields inline for fields listed in
  * editFieldTypes.
  */
-(function() {
-'use strict';
-
 Polymer({
   is: 'network-property-list-mojo',
 
@@ -382,4 +379,3 @@
     return '';
   },
 });
-})();
diff --git a/ui/webui/resources/cr_components/cr_components_resources_v3.grdp b/ui/webui/resources/cr_components/cr_components_resources_v3.grdp
index 825e8b3..c118549 100644
--- a/ui/webui/resources/cr_components/cr_components_resources_v3.grdp
+++ b/ui/webui/resources/cr_components/cr_components_resources_v3.grdp
@@ -54,6 +54,10 @@
            file="${root_gen_dir}/ui/webui/resources/cr_components/chromeos/network/network_password_input.m.js"
            use_base_dir="false"
            type="BINDATA" />
+    <include name="IDR_WEBUI_CHROMEOS_NETWORK_PROPRETY_LIST_MOJO_M_JS"
+           file="${root_gen_dir}/ui/webui/resources/cr_components/chromeos/network/network_property_list_mojo.m.js"
+           use_base_dir="false"
+           type="BINDATA" />
     <include name="IDR_WEBUI_CHROMEOS_NETWORK_SHARED_CSS_M_JS"
            file="${root_gen_dir}/ui/webui/resources/cr_components/chromeos/network/network_shared_css.m.js"
            use_base_dir="false"
diff --git a/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/NavigationTest.java b/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/NavigationTest.java
index 828b48f2..5827515 100644
--- a/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/NavigationTest.java
+++ b/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/NavigationTest.java
@@ -316,6 +316,9 @@
             assertEquals(1, navigationController.getNavigationListSize());
         });
 
+        // Verify getter works as expected.
+        assertTrue(params.getShouldReplaceCurrentEntry());
+
         // Verify that a default NavigateParams does not replace.
         final NavigateParams params2 = new NavigateParams();
         navigateAndWaitForCompletion(URL3,
diff --git a/weblayer/browser/default_search_engine.cc b/weblayer/browser/default_search_engine.cc
index 22b632b..4b8ef36 100644
--- a/weblayer/browser/default_search_engine.cc
+++ b/weblayer/browser/default_search_engine.cc
@@ -28,6 +28,9 @@
 }
 
 void ResetDsePermissions(content::BrowserContext* browser_context) {
+  // Incognito should still have to prompt for permissions.
+  if (browser_context->IsOffTheRecord())
+    return;
   GURL url = GetDseOrigin().GetURL();
   HostContentSettingsMapFactory::GetForBrowserContext(browser_context)
       ->SetContentSettingDefaultScope(url, url,
diff --git a/weblayer/browser/default_search_engine_browsertest.cc b/weblayer/browser/default_search_engine_browsertest.cc
new file mode 100644
index 0000000..af3041b0
--- /dev/null
+++ b/weblayer/browser/default_search_engine_browsertest.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 "components/content_settings/core/browser/host_content_settings_map.h"
+#include "content/public/test/browser_test_utils.h"
+#include "weblayer/browser/host_content_settings_map_factory.h"
+#include "weblayer/browser/tab_impl.h"
+#include "weblayer/shell/browser/shell.h"
+#include "weblayer/test/weblayer_browser_test.h"
+#include "weblayer/test/weblayer_browser_test_utils.h"
+
+namespace weblayer {
+namespace {
+constexpr char kDseOrigin[] = "https://www.google.com";
+}
+
+using DefaultSearchEngineBrowserTest = WebLayerBrowserTest;
+
+IN_PROC_BROWSER_TEST_F(DefaultSearchEngineBrowserTest,
+                       HasGeolocationPermission) {
+  auto* settings_map = HostContentSettingsMapFactory::GetForBrowserContext(
+      static_cast<TabImpl*>(shell()->tab())
+          ->web_contents()
+          ->GetBrowserContext());
+  EXPECT_EQ(settings_map->GetContentSetting(GURL(kDseOrigin), GURL(kDseOrigin),
+                                            ContentSettingsType::GEOLOCATION,
+                                            std::string()),
+            CONTENT_SETTING_ALLOW);
+  EXPECT_EQ(settings_map->GetContentSetting(GURL(kDseOrigin), GURL(kDseOrigin),
+                                            ContentSettingsType::NOTIFICATIONS,
+                                            std::string()),
+            CONTENT_SETTING_ASK);
+}
+
+class IncognitoDefaultSearchEngineBrowserTest
+    : public DefaultSearchEngineBrowserTest {
+ public:
+  IncognitoDefaultSearchEngineBrowserTest() { SetShellStartsInIncognitoMode(); }
+};
+
+IN_PROC_BROWSER_TEST_F(IncognitoDefaultSearchEngineBrowserTest,
+                       IncognitoDoesNotHaveGeolocationPermission) {
+  auto* settings_map = HostContentSettingsMapFactory::GetForBrowserContext(
+      static_cast<TabImpl*>(shell()->tab())
+          ->web_contents()
+          ->GetBrowserContext());
+  EXPECT_EQ(settings_map->GetContentSetting(GURL(kDseOrigin), GURL(kDseOrigin),
+                                            ContentSettingsType::GEOLOCATION,
+                                            std::string()),
+            CONTENT_SETTING_ASK);
+  EXPECT_EQ(settings_map->GetContentSetting(GURL(kDseOrigin), GURL(kDseOrigin),
+                                            ContentSettingsType::NOTIFICATIONS,
+                                            std::string()),
+            CONTENT_SETTING_ASK);
+}
+
+}  // namespace weblayer
diff --git a/weblayer/browser/java/org/chromium/weblayer_private/UrlBarControllerImpl.java b/weblayer/browser/java/org/chromium/weblayer_private/UrlBarControllerImpl.java
index 496c520..cf23c27 100644
--- a/weblayer/browser/java/org/chromium/weblayer_private/UrlBarControllerImpl.java
+++ b/weblayer/browser/java/org/chromium/weblayer_private/UrlBarControllerImpl.java
@@ -165,7 +165,7 @@
             mUrlTextView.setTextSize(
                     TypedValue.COMPLEX_UNIT_SP, Math.max(MINIMUM_TEXT_SIZE, mTextSize));
             Context embedderContext = mBrowserImpl.getEmbedderActivityContext();
-            if (mUrlTextColor > 0 && embedderContext != null) {
+            if (mUrlTextColor != 0 && embedderContext != null) {
                 mUrlTextView.setTextColor(ContextCompat.getColor(embedderContext, mUrlTextColor));
             }
 
@@ -175,7 +175,7 @@
                             UrlBarControllerImplJni.get().getConnectionSecurityLevel(
                                     mNativeUrlBarController))));
 
-            if (mUrlIconColor > 0 && embedderContext != null) {
+            if (mUrlIconColor != 0 && embedderContext != null) {
                 ImageViewCompat.setImageTintList(mSecurityButton,
                         ColorStateList.valueOf(
                                 ContextCompat.getColor(embedderContext, mUrlIconColor)));
diff --git a/weblayer/public/java/org/chromium/weblayer/NavigateParams.java b/weblayer/public/java/org/chromium/weblayer/NavigateParams.java
index 970408ce..ef6dc84b 100644
--- a/weblayer/public/java/org/chromium/weblayer/NavigateParams.java
+++ b/weblayer/public/java/org/chromium/weblayer/NavigateParams.java
@@ -50,4 +50,13 @@
     org.chromium.weblayer_private.interfaces.NavigateParams toInterfaceParams() {
         return mInterfaceParams;
     }
+
+    /**
+     * Returns true if the current navigation will be replaced, false otherwise.
+     *
+     * @since 83
+     */
+    public boolean getShouldReplaceCurrentEntry() {
+        return mInterfaceParams.mShouldReplaceCurrentEntry;
+    }
 }
diff --git a/weblayer/test/BUILD.gn b/weblayer/test/BUILD.gn
index 0de403e..a40ddf5 100644
--- a/weblayer/test/BUILD.gn
+++ b/weblayer/test/BUILD.gn
@@ -131,6 +131,7 @@
     "../browser/client_hints_browsertest.cc",
     "../browser/content_settings_browsertest.cc",
     "../browser/cookie_manager_browsertest.cc",
+    "../browser/default_search_engine_browsertest.cc",
     "../browser/download_browsertest.cc",
     "../browser/errorpage_browsertest.cc",
     "../browser/favicon/favicon_fetcher_browsertest.cc",
diff --git a/weblayer/test/weblayer_browser_test.cc b/weblayer/test/weblayer_browser_test.cc
index b40b9dd5..0edc468 100644
--- a/weblayer/test/weblayer_browser_test.cc
+++ b/weblayer/test/weblayer_browser_test.cc
@@ -49,6 +49,9 @@
       static_cast<BrowserContextImpl*>(browser_context);
   browser_context_impl->profile_impl()->SetDownloadDirectory(
       browser_context->GetPath());
+  // Accessing a browser context may involve storage partition initialization.
+  // Wait for the initialization to be completed.
+  base::RunLoop().RunUntilIdle();
 }
 
 void WebLayerBrowserTest::PostRunTestOnMainThread() {